Course CSC 201 | Computer Programming I | 200 Level | 1st Semester
Course Structure Introduction to problem solving methods and algorithm development, designing, coding, debugging and documenting programmes using techniques of a good programming language style, programming language and programming algorithm development. A widely used programming language should be used in teaching the above.
Course CSC 202 | Computer Programming II | 200 Level | 2nd Semester
Course Structure Principles of good programming, structured programming concepts, Debugging and testing, string processing, internal searching and sorting, recursion. Use a programming language different from that in CSC 201, for example, C Language
Course CSC 203 | Digital Design | 200 Level | 1st Semester
Course Structure Binary number systems, number representations, and codes; Boolean algebra and functions; Logic gates and circuits; Logic simplification using Boolean algebra and Karnaugh maps; Combinational logic design and building blocks; Synchronous sequential logic design and state machines; Latches, flip-flops, registers and counters; Programmable logic; Memory basic; hardware description language; Verilog simulation tool
Course CSC 204 | Computer Hardware | 200 Level | 2nd Semester
Course Structure Computer circuits; diode arrays, PIAs etc, Integrated circuits fabrication process. Use of MSI, LSI and VLSI IC hardware Design. Primary and Secondary memories; core memory, etc. Magnetic devices; disks, tapes, video disks etc. Peripheral devices; printers, CRT’s, keyboards, character recognition. Operational amplifiers; Analog-to- digital and Digital-to-analogue converter.
Course CSC 205 | Operating Systems | 200 Level | 1st Semester
Course Structure Evolution of operating systems. Multiprogramming and time-sharing concepts. User and program interfaces. Concurrent processes, CPU scheduling, process synchronisation, critical section problem. Deadlock prevention, avoidance, detection and recovery. Memory management, swapping, multiple partitions. Paging, segmentation, virtual memory, page replacement algorithms. File system structures, allocation methods, directory implementation. I/O interfaces, secondary storage structure. Protection and Security: Access matrix and rights, capabilities, security issues. LINUX as case studies.
Course CSC 206 | Sequential Parallel Programming | 200 Level | 2nd Semester
Course Structure The relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture, assemblers, specification and translation of programming languages, linkers and loaders, block-structured languages, parameter passing mechanisms, and comparison of programming languages. Parallel computation models, message passing and shared memory paradigms, data parallel programming, performance modelling and optimisation, memory system optimisation techniques, fine grained computation models and high-level design tools for programming parallel platforms, communication primitives, stream programming models, emerging heterogeneous computing and programming models.
Course CSC 207 | Assembly Language Programming | 200 Level | 1st Semester
Course Structure Introduction to general machine structure, program counters and instruction register; instruction sets; addressing modes. Assembly language programming – element of assembly language statements (constant operands, instruction operands) basic instructions, branching and looping, procedures, string operations, bit manipulations, the assembly process, floating point arithmetic, decimal arithmetic, input/output. Interfacing assembly language programs to high-level language programs.
Course CSC 208 | Discrete Structures | 200 Level | 2nd Semester
Course Structure Basic data types: Booleans, numbers, and arithmetic, sets: unordered collections, sequences, vectors, and matrices; Logic: propositional logic, predicate logic; Proofs: error-correcting codes, proofs and proof techniques, some examples of proofs, common errors in proofs; Mathematical induction: proofs by mathematical induction, strong induction, recursively defined structures and structural induction; Analysis of algorithms: asymptotics, asymptotic analysis of algorithms, recurrence relations; Number theory: modular arithmetic, primality and relative primality, multiplicative inverses, cryptography; Relations: formal introduction, properties of relations: reflexivity, symmetry, and transitivity, special relations: equivalence relations and partial/total orders; Counting: counting unions and sequences, using functions to count, combinations and permutations; Probability: probability, outcomes, and events, independence and conditional probability, random variables and expectation; Graphs and trees: formal introduction, paths, connectivity, and distances, trees, weighted graphs
Course CSC 209 | Systems Programming | 200 Level | 1st Semester
Course Structure Operating systems command and shell basics; C language syntax, data types, and control flow; C strings, pointers, and structs/unions; C development tools - gcc, gdb, make, version control using git; machine-level representation of data and programs; file I/O unbuffered and buffered file I/O; memory-mapped I/O; process creation and control, using fork exec; pipes, signals ; basic threading using pthread library; Linux network I/O: client/server model, internet protocol, and basic socket programming with TCP UDP; virtualisation; optimising program performance; introduction to concurrency and parallelism
Course CSC 210 | Introduction to Critical Thinking | 200 Level | 2nd Semester
Course Structure Introduction: critical thinking, types of thinking, description of critical thinking, importance of critical thinking; Cognitive thinking: definition of Cognition, how brain works, evolution of human brain, left brain versus right brain, importance of cognition in critical thinking, limitation of cognition; Reasoning: description of reasoning, importance of reasoning in decision making, impact of reasoning in critical thinking, is reasoning always correct?, fallacious reasoning, good and bad reasoning, limitations of reasoning; Logical thinking: what is logic?, importance of thinking logically, inductive reasoning, deductive reasoning, impact of logics in critical thinking, Statements and arguments: what is a statement?, what is the argument?, understanding assumption, conclusion; Thinking hats model: introduction, white, red, black, yellow, blue and green hats, application of hats Tool; Cognitive bias, what is cognitive bias?, myths about cognitive bias, how does it impact critical thinking?, debiasing strategies; Parts of critical thinking, comprehension, identification, evaluation, inference, explanation, self-assessment; Practical application of critical thinking.
Course CSC 211 | Digital Signal Processing | 200 Level | 1st Semester
Course Structure Basic elements of digital signal processing; introduction to discrete Fourier transform; structure of infinite impulse response; symmetric and anti-symmetric finite impulse response filters; finite word length effects in finite impulse response and infinite impulse response digital filters; application of digital signal processing. An introduction to python programming language or software tools for the simulation and design of real-time digital filters.
Course CSC 212 | Data Structures Algorithms | 200 Level | 2nd Semester
Course Structure Fundamentals of data structures and their associated algorithms. Stacks and queues, trees, tables, lists, arrays, strings, sets; files and access methods. B-trees, multi-key organisations. Searching. Sorting. Introduction to algorithm design techniques, such as divide and conquer, the greedy method, balancing, dynamic programming. Algorithms related to set operations, graphs, graph algorithms: depth-first and breadth-first search, minimum spanning tree, shortest path. Empirical and theoretical measures of the efficiency of algorithms.
Course CSC 213 | Introduction to Data Analytics | 200 Level | 1st Semester
Course Structure Data collection, data preparation, data cleansing, data mining, data analysis, big data, relational databases, NoSQL databases, visualisation, decision-making, generating insights, problem-solving, data ethics.
Course Structure Structured programming elements, structured design principles, abstraction modularity, stepwise refinement, structured design techniques. introduction to the Linux environment; introduction to C programming, variables and types; input and output; logical expressions and control flow; loops; arrays
Course GST 223 | Introduction to Entrepreneurship | 200 Level | 1st Semester
Course Structure Introductory entrepreneurial skills: Relevant Concepts: Enterprise, Entrepreneur, Entrepreneurship, Business, Innovation, creativity, Enterprising and Entrepreneurial Attitude and Behaviour. History of Entrepreneurship in Nigeria. Rationale for Entrepreneurship, Creativity and Innovation for Entrepreneurs. Leadership and Entrepreneurial Skills for coping with challenge. Unit Operations and Time Management. Creativity and Innovation for Self-Employment in Nigeria. Overcoming Job Creation Challenges, Opportunities for Entrepreneurship, Forms of Businesses, Staffing, Marketing and the New Enterprise. Feasibility Studies and Starting a New Business. Determining Capital Requirement and Raising Capital. Financial Planning and Management. Legal 1ssues, Insurance and Environmental Considerations.
Course GST 224 | Leadership Studies | 200 Level | 2nd Semester
Course Structure Transformation is a fundamental shift in the deep orientation of a person, organisation or society such that the world is seen in new ways and new actions and results become possible that were impossible prior to the transformation. Transformation happens at the individual level but must be embedded in collective practices and norms for the transformation to be sustained. Leadership Development Programme (LDP) proposes novel approaches to teaching and learning, which emphasises the practical involvement of participants. It is interactive and involves exercises and actual implementation of breakthrough projects by teams that make difference in the lives of the target population. In this course, leadership concepts comprising of listening, conversation, emotional intelligence, breakthrough initiatives, gender and leadership, coaching and leadership, enrolment conversation and forming and leading teams will be taught.
Course MTH 201 | Mathematical Methods | 200 Level | 1st Semester
Course Structure Real-valued functions of a real variable. Review of differentiation and integration and their applications. Mean value theorem. Taylor series. Real-valued functions of two or three variables. Partial derivatives chain rule, extrema, languages multipliers. Increments, differentials and linear approximations. Evaluation of line, integrals. Multiple integrals.
Course MTH 203 | Linear Algebra I | 200 Level | 1st Semester
Course Structure Vector space over the real field. Subspaces, linear independence, basis and dimension. Linear transformations and their representation by matrices–range, null space, rank. Singular and non-singular transformation and matrices. Algebra of matrices.