100 Level
First Semester
Courses | Title | Units |
GNS 111 | French/Arabic for Beginners I | 1 |
GNS 112 | Use of English | 1 |
GNS 113 | Elements of Civic Education | 1 |
GNS 115 | Use of Library I | 1 |
CSC 111 | Introduction to Computer Science (PR OL Math) | 1 |
MAT 111 | General Mathematics I | 3 |
MAT 112 | General Mathematics II | 3 |
PHY 111 | General Physics I | 3 |
PHY 112 | Experimental Physics I | 1 |
CHM 111 | General Chemistry I | 3 |
CHM 112 | Experimental Chemistry I | 1 |
BIO 111 | General Biology I | 3 |
BIO 112 | Experimental Biology I | 1 |
TOTAL | 24 |
Second Semester
GNS 121 | French/Arabic for Beginners II | 1 |
GNS 122 | Use of English (Listening and Skills) II | 2 |
GNS 123 | Elements of Civic Education II | 1 |
CHM 121 | General Chemistry II | 2 |
CHM 123 | Experimental Chemistry II | 1 |
CSC 121 | Introduction to Computing | 1 |
CSC 122 | Problem Solving (BASIC) | 3 |
PHY 121 | General Physics II | 3 |
PHY 122 | Experimental Physics II | 1 |
MAT 121 | General Mathematics III | 3 |
BIO 121 | General Biology II | 3 |
BIO 122 | Experimental Biology II | 1 |
TOTAL | 22 |
200 Level
First Semester
Courses | Title | Units |
GNS 211 | French/Arabic for Beginners III | 1 |
GNS 212 | Use of English III (Writing Skills) | 2 |
GNS 213 | Sociology of Nigerian People & Culture I | 1 |
GNS 214 | International/Current Affairs | 1 |
CSC 211 | Foundations of Sequential Programming | 3 |
CSC 212 | Scientific Programming (FORTRAN) | 3 |
MAT 212 | Sets, Logic and Algebra | 3 |
MAT 213 | Linear Algebra I | 3 |
MAT 214 | Mathematics Methods I | 3 |
PHY 211 | Elementary modern Physics | 2 |
TOTAL | 22 |
Second Semester
GNS 221 | French /Arabic for Beginners IV | 1 |
GNS 222 | Use of English IV (Reading & Skills) | 2 |
GNS 223 | Sociology of Nigerian People and Culture II | 1 |
GNS 224 | Introduction to Philosophy and Logic | 1 |
CSC 221 | Computer Hardware | 3 |
CSC 222 | Structured Programming (C++) | 3 |
CSC 223 | Discrete Structures | 3 |
PHY 222 | Electronics | 3 |
MAT 222 | Linear Algebra II | 3 |
TOTAL | 20 |
300 Level
First Semester
Courses | Title | Units |
GNS 312 | General Psychology | 1 |
GNS 313 | Economics and Management Science I | 1 |
GNS 315 | Use of English VI | 2 |
CSC 311 | System Analysis & Design | 3 |
CSC 312 | Computer Architecture | 3 |
CSC 313 | Object Oriented Programming (Java) | 3 |
CSC 314 | Fundamentals of Data Structures | 3 |
CSC 315 | Software Engineering | 2 |
Electives 3 CU from |
||
CSC 316 | Theory of Computing | 3 |
MAT 316 | Numerical Analysis I | 3 |
TOTAL | 22 |
Second Semester
GNS 322 | Psychology of the Military | 1 |
GNS 323 | Economics and Management Science II | 1 |
GNS 325 | Use of English V | 2 |
CSC 321 | Data Communications | 3 |
CSC 322 | Operating Systems | 3 |
CSC 323 | Formal Method of Software Development | 3 |
CSC 324 | Data Based Management System | 2 |
FSR 321 | Research Methods | 2 |
CSC 398 |
Cadets Ind. Work Experience Scheme(CIWES) /(Field Trip)I |
3 |
Electives 3 CU from |
||
MAT 326 | Operations Research I | 3 |
CSC 325 | Statistical Computing | 3 |
TOTAL | 23 | |
400 Level
First Semester
Courses | Title | Units |
CSC 411 | Net-Centric Computing | 3 |
CSC 412 | Design and Analysis of Algorithms | 3 |
CSC 413 | Computer Networking | 3 |
CSC 414 | Human - Computer Interface | 3 |
CSC 415 | Compiler Construction | 3 |
Electives 3 CU from |
||
CSC 415 | Compiler Construction | 3 |
CSC 416 | Computer Graphics & Visualisation | 3 |
CSC 417 | Queuing Systems Performance Evaluation | 2 |
CSC 418 | Special Topics on Software Engineering | 3 |
CSC 419 | Special Topics in Computer Science | 3 |
TOTAL | 18 |
Second Semester
CSC 421 | Artificial Intelligence | 3 |
CSC 422 | Survey of Programming Languages | 3 |
CSC 423 | Computational Science & Numerical Methods | 3 |
CSC 498 | Cadets Ind. Work Experience Scheme (CIWES)II | 3 |
CSC 499 | Project | 6 |
Electives 6 CU from |
||
CSC 424 | Modelling and Simulation | 3 |
CSC 425 | Distributed Systems | 3 |
CSC 426 | Project Management | 3 |
CSC 427 | Optimization Techniques | 3 |
CSC 428 | Computer System Performance Evaluation | 3 |
CSC 429 | Formal Method of Computation | 3 |
CSC 441 | Information Technology Laws | 3 |
TOTAL | 24 |
Course Description for the Computer Science Programme
CSC 111 INTRODUCTION TO COMPUTER SCIENCE: (1 Unit) (L 45: P 0 : T 0)
The discipline of computer science, history of computer science, Data representation in digital computers. Basic computer organization, Basic computer algorithms in pseudo-code. Introduction to computer network, and the internet. Overview of computer application.
CSC 121 INTRODUCTION TO COMPUTING: (1 Unit) (L 30: P 0: T 0)
Pre-requisite CSC 111
General introduction to the Computer. Computer and Applications; Word Processors, Spreadsheet, Presentation Software, the Internet, using the internet.
CSC 122 PROBLEM SOLVING (BASIC) 2: (1 Unit) Pre-requisite CSC 111
Computer Programming Statements, Symbolic Names, Arrays, Subscripts, Expressions and Control Statements using Basic Programming Language.
CSC 211 FOUNDATIONS OF SEQUENTIAL PROGRAMMING: (3units) (L45: P0)
The relationships between H/L languages and the Computer Architecture that underlies their implementation: basic machine architecture, assembles specification and translation of P/L Block Structured Languages, parameter passing mechanisms.
CSC 212 SCIENTIFIC PROGRAMMING (FORTRAN) (3units)
Control and operation of the computer, statements, constants, variables, operations, formats. Transfer of control, loops, subscripted variables, multidimensional arrays, input-output operations, functions and subroutines,
CSC 221 COMPUTER HARDWARE: (3 Units) (L 45: P 0)
Pre-requisite CSC 111
Computer circuit diode arrays, PLAS etc, integrated circuit fabrication process. Use of MSL, LSI and VLSIIC hardware design, Primary and Secondary Memories; core memory, etc. Magnetic Device: Disks, Tapes, Video Disks etc. peripheral devices: Printers, CRTs, Keyboards, Character Recognition, Operational Amplifies: Analogue to Digital and digital Converter.
CSC 222 STRUCTURED PROGRAMMING: (3 Units) (L 45: P 0 )
Pre-requisite CSC 122
Structured Programming elements, structured design principles, abstraction modularity, stepwise refinement, structured design techniques. Teaching of a structured programming language etc.
CSC 223 DISCRETE STRUCTURES: (3 Units) (L 45: P 0 : T 0)
Pre-requisite MAT 201
Basic set theory: Basic definitions, relations, Equivalence Relations partitions, Ordered sets. Boolean Algebra & Lattices, Logic Theory: Directed and Undirected graphs, Isomorphism, Basic Graph Theorems, Matrices, Integer and Real Matrices, Boolean Matrices, Matrices Med, Path matrices. Adjacent vectors/Matrices: Path adjancy matrix, Numerical & Boolean Adjacency Matrices. Application to counting, Discrete Probability generating Function.
CSC 311 SYSTEMS ANALYSIS AND DESIGN: (3 Units) (L 30: P 45) Pre-requisite MAT 111
General systems concept, Information System Components; Types of Information System; Information System Department. System Development Life Cycle (SDLC): Steps; examples linear/waterfall, prototyping, spiral etc. Preliminary Investigation: Feasibility; activities, System analysis, determining requirements – Facts Finding Techniques e.g. Interview, Questionnaire, Observation etc. Analyzing requirements – Structured Analysis, DFD, Process description tools e.g. Decision Table/tree, Structured/tight English etc. Introduction to object oriented systems analysis: Overview of object modelling, UML. System Design General Guidelines; output design e.g. printed reports, screen output, tapes etc; Input design e.g. data entry screen design, help screen design. Real – life case studies to provide experience in applying the principles and techniques presented.
CSC 312 COMPUTER ARCHITECTURE: (3 Unit) (L 45: P 0 : T 0)
Pre-requisite PHY 111
Levels of machine design, gates, register and processor levels. Number systems and computer arithmetic: CPU design; Instruction sets, Von Neumann architecture, parallelism, multiprocessors, pipelining etc. Control unit design, Hardware and Micro Programmed Control. Memory design; hierarchical memory design; Cache, Associative and interleaved memory system organization, fault tolerance. RISC Machine.
CSC 313 OBJECT-ORIENTED PROGRAMMING (C++): (3 Unit) (L 45: P 0 : T 0) Pre-requisite CSC 212
Basic concept: Classes, object, inheritance, polymorphism, data abstraction, tools for developing, compiling, interpreting and debugging, java programs, java syntax and data objects, operators. Central flow constructs, objects and classes programming, arrays, methods. Exceptions, applets and abstract, ole, persistence, window tool kit, laboratory exercises in an OOP Language.
CSC 314 FUNDAMENTALS OF DATA STRUCTURES: (3 Unit) (L 45: P 0 : T 0)
Pre-requisite 211
Recursion, Basic data types, linear structure, Stacks, queues, linked lists, operations and application constructs for specifying and manipulating data, heaps, trees binary, Binary Search Tree, AVL Trees, red Black Trees, B-Trees (of order m); Graph traversal algorithms; example applications of (each) data structures. Programming exercises involving the implementation and use of data structures, possibly using libraries.
CSC 315 SOFTWARE ENGINEERING (3 Units) (L 45: P 45)
Pre-requisite CSC 222
Introduction, Software process, Project Planning, Requirement Engineering, Systems Models; DFDS, States – transition, State charts UML, Data models; ER models; Object oriented modelling Using Software verification and validation, Software Testing.
CSC 316 THEORY OF COMPUTING (3 UNITS) (L 30: P 45)
Pre-requisite CSC 325
Automata theory: Roles of models in computation Finite state Automata, Push-down Automat, Formal Grammars, Parsing, Relative powers of formal models. Basic computability: Turing machines, Universal Turing Machines, Church’s thesis, solvability and Decidability.
CSC 321 DATA COMMUNICATIONS (3 Units) (L 30 P 45)
Pre-requisite CSC 122
Historical Evolution of Computer communication, Standards, reference models’, protocol architecture and implementation, Basic Communication theories and terminologies, transmission media, signal types, interface standards. Protocol basics, error control method, flow control, link management. Data and signals; transmission media; making connections; multiplexing; error detection and error control.
CSC 322 OPERATING SYSTEMS (3 Units) (L 30 P 45)
Pre-requisite CSC 212
Introduction: definition of operating systems, history of operating systems, operating systems concepts-processes, files, system calls, shell-, operating system structure – monolithic systems, layered systems virtual machines, client-server model processes: The process model, process states, process state transitions, process control block, operations on processes, suspend and resume, interrupt processing, nucleus, implementation of processes. Inter-Process Communication: Race conditions, critical sections, mutual exclusion with busy waiting, sleep and wakeup, semaphores, event counters, monitors, message passing, equivalence of primitives, producer-consumer relationship, readers and writers problems, dining philosopher’s problems, sleeping barber problem. Process scheduling: scheduling objectives, scheduling criteria, primitive versus non-primitive, interval timer or interrupting clock, Deadline, FIFO, Round Robin, priorities, multiple queues, shortest job first, shortest remaining time, highest response ratio next, fair share, policy versus mechanism, process management: Job scheduling versus process scheduling, process scheduling algorithms, interrupts, deadlock, starvation Real Memory Management early systems: single-user contagious scheme, fixed partition, dynamic partition, relocatable dynamic partitions Virtual Memory management, recent systems: Paged memory allocation, demand paging, page replacement policies.
CSC 323 FORMAL METHODS OF SOFTWARE DEVELOPMENT (2 Units)
(L 30: P 45) Pre-requisite CSC 212
Constructive specification, data invariant, formal specification, logic operators, object constraint language, operations, pre- and post conditions, schemes, set operators, states, z-language.
CSC 324 DATA BASE MANAGEMENT SYSTEMS (3 Units) (L 30 P 45)
Pre-requisite CSC 211
DBMS terminology and concepts, Transaction Management, Concurrency and recovery, Building. On line Transaction systems using forms and triggers, Programming using SQL cursors, Physical design issues, the use of database and transaction analysis and optimizer plan information to check/improve performance, the effective use of views to achieve data independence, Design and implementation of distributed systems, Object-oriented and object-relational systems, Data Warehouse and data mining concepts.
CSC 325 STATISTICAL COMPUTING: (3 Units) (L 45: P 0 : T 0)
Pre-requisite MAT 201
Introduction to statistics: Definition of statistics, the role of statistics, Nature of statistical data, Method of data collection, Tabular and graphical presentation of data, Numerical methods of data presentation, Measures of location, Measures of dispersion, Moments of a distribution, skewness of distribution, Kirtosis Theory of probability, Correlation and regression analysis, Test of hypothesis, basic concept, Element of statistical test, Level of significance , Testing of hypothesis about a population mean, Testing of hypothesis about two population means and proportions.
CSC 398 INDUSTRIAL TRAINING I (CIWES I) (3 Units) (3 months)
Student’s Industrial work experience of 3 months duration. Students reports will be presented in a seminar.
CSC 411 NET-CENTRIC COMPUTING (3 Units) (45: P 0)
Distributed Computing, Mobile & Wireless computing, Network Security; Client/Server Computing (using the web), Building Web Applications.
CSC 412 DESIGN AND ANALYSIS OF ALGORITHMS: (3 Unit) (L 30: P 45)
Pre-requisite CSC 212
Asymptotic, Best-case, worse-case, average –case analysis of algorithms. Algorithm Design techniques: Divide-and-conquer, Dynamic Programming, Greedy techniques, Amortized analysis, Complexity classes P and NP, NP-completeness, Approximation Algorithms. One special topic from parallel Algorithms, Cryptographic Algorithms, Distributed Algorithms etc.
CSC 413 COMPUTER NETWORKING (3 Units) (L 30 P 45)
Pre-requisite CSC 122
LAN; MAN; WAN; The Internet; Telecommunication systems; Network security; Network design and management.
CSC 414 HUMAN-COMPUTER INTERFACE (HCI) (3 Units) (L30: P0)
Foundations of HCI, Principles of GUI, GUI toolkits; Human-centred software evaluation and development; GUI design and programming.
CSC 415 COMPILER CONSTRUCTION: (3 Units) (L 30: P 45)
Pre-requisite CSC 212
Introduction to compiling; Overview of the compilation process, Source code, Target code, Translators, Phases of Compilation, Pass, Compiler Construction tools, Lexical Analysis, syntax Analysis, Simple Precedence, Operator Precedence, LR (K) parsers; semantics. Run time storage Allocation, Code generation and code optimization. Compiler-compiler laboratory exercise.
CSC 416 COMPUTER GRAPHICS AND VISUALIZATION (3 Units) (L30: P 45)
Hardware aspect, plotters microfilm, plotters display, graphic tablets, light pens, other graphical input aids Facsimile and its problems Refresh display refresh huggers, changing images, light pen interaction. Two and three dimensional transformation, perspective Clipping algorithms. Hidden line removal bolded surface removal. Warmock’s method, shading, data reduction for graphical input. Introduction to had writing and character recognition. Curve synthesis and fitting. Contouring. Ring structures versus doubly linked lists. Elerarchical structures. Data structure: Organization for intersotive graphics.
CSC 417 QUEUING SYSTEMS PERFORMANCE EVALUATION: (2 Units) (L 30: P0: T 0)
Introduction; Birth-death queuing systems; Markovian queues, the queue M/GI bounds, inequalities and approximations.
CSC 418 SPECIAL TOPICS IN SOFTWARE ENGINEERING (3 Units) (L 30: P 45)
Topics from process improvement; software re-engineering configuration management; Formal specification, software cost – estimation, Software Architecture, Software patterns, Software Reuse and Open source development.
CSC 419 SPECIAL TOPICS IN COMPUTER SCIENCE (3 Units) (L 30: P 45)
Special topics from any area of computer science considered relevant at given time. Topics are expected to change from year to year. Apart from seminars to be given by lecturers and guests, students are expected to do substantial readings on their own.
CSC 421 ARTIFICIAL INTELLIGENCE (3 Units) (L 30: P45)
Pre-requisite CSC 222
Intelligent agents; Problem solving as Search strategies: Breadth first, Dept-first, uniform cost, depth constraint Satisfaction Problems, Backtracking Search for CSP, Constraint Propagation, Local Search for CSPs. Logic-based knowledge representation.
CSC 422 SURVEY OF PROGRAMMING LANGUAGES: (3 Units) (L 45)
Pre-requisite CSC 122
Overview of programming languages: History of programming Languages, Brief Survey of Programming Paradigms (Procedural Languages, Object-oriented, Functional Language, declarative-non-algorithmic language; Scripting languages), the effects of scale on programming methodology, Languages Description: Syntactic Structure (Expression notations, abstract Syntax Tree, Lexical Syntax, Grammars for Expressions, Variants of Grammars)., Language Semantics (Informal Semantics): Overview of Formal Semantics, Denotation semantics, Axiomatic semantics, Operational semantics): Declarations and types: The Concepts of types, Declaration models (binding, visibility, scope, and lifetime). Overview of type-checking, Garbage collection; Abstraction mechanisms, Parameterization mechanisms (reference vs – parameterized types. Modules in programming languages. Object-oriented language paradigm; Functional and logic languages paradigms.
CSC 423 COMPUTATIONAL SCIENCE & NUMERICAL METHODS (3 Units) (L 30: P 45)
Operations research, Numerical Computation, Graphical computation, Modelling and simulation, High performance computation.
CSC 424 MODELLING AND SIMULATIONS (3 Units) (L 30: P
45) Pre-requisite BIO 122
Basic definitions and uses. Simulation process, some basic statistical distribution theory, model and simulation. Queues; basic components. Kendall notaion, Queuing rules. Little’s law, Queuing networks, special/types of queues. Stochastic processes; discrete state and continuous state process. Markov processes, birth-death processes, poisson processes. Random numbers, types of random number exercises.
CSC 425 DISTRIBUTED SYSTEMS (3 Units) (L 30: P 45)
Introduction: Definitions, Motivation; Communication Mechanisms: Communication Protocols, RPC, RMI, Stream Oriented Communication; Synchronization: Global State, Election, Distributed Mutual Exclusion, Distributed Transactions; Naming: Generic Schemes, DNS, Naming and Localization; Replication and Coherence: Consistency Models And Protocols; Fault Tolerance: Group Communication, Two-And Three-Phase Commit, Check pointing; Security: Access Control, Key Management, Cryptography; Distributed File Systems: NFS, Coda etc.
CSC 426 PROJECT MANAGEMENT (3 Units) (L 30: P 45)
Pre-requisite CSC 323
Team management, project scheduling, software measurement and estimation techniques, risk analysis, software quality assurance, software configuration management, and project management tools.
CSC 427 OPTIMIZATION TECHNIQUES 3 (Units)
Introduction to Modelling and Optimization. Types of problems and methods, examples. Extremum of a function of one variable Fibbonacci and Golden Mean method, Secant method, Newton method. Unconstrained optimization. Gradient search, Newton method and its modifications, Conjugate Gradient method, flip-flop type methods. Example: Mean Square approximation and its modifications. Constrained optimization. Lagrangians and Augmented Lagrangian Methods. Linear Programming. Quadratic programming. Nonlinear programming. Duality. Review of various methods. Stochastic search. Genetic algorithms. Discrete methods. Game approach.
CSC 428 COMPUTER SYSTEM PERFORMANCE EVALUATION
Measurement techniques, simulation techniques; techniques, workload characterization, performance evaluation in selection problems, performance evaluation in design problems, evaluation of programme performance.
CSC 429 FORMAL MOTHODS OF COMPUTATION (3 Units) (L 30: P 45)
Automata theory: Roles of models in computation Finite state Automata, Push-down Automata, Formal Grammars, Parsing, Relative powers of formal models. Basic computability: Turing machines, Universal Turing Machines, Church’s thesis, solvability and Decidability.
CSC 441 INFORMATION TECHNOLOGY LAWS (3 Units)
Software Licensing Issues Data Privacy and Security Electronic Signature Laws Computer Professionals for Social Responsibility
CSC 498 INDUSTRIAL TRAINING II (CIWES II) (3 Units) (3 months)
Student’s Industrial work experience of 3 months duration. Students reports will be presented in a seminar.
CSC 499 PROJECTS (6 UNITS)