Department of Computer Science and Information Technology
|Department of Computer Science and Information Technology |
B.Sc., Ph.D. (Manchester)
Reader and Head
B.Sc. (Ilorin); M.Sc. (Ibadan)
B.Sc. (OAU); M.Sc. (Ibadan)
B.Tech. (Minna); M.Tech. (Ogbomoso)
A. O. Akinwunmi
B.Sc., M.Sc. (OAU)
B.Tech. (Ogbomoso); M.Sc. (Lagos)
Eunice A. Oladeji
B.Sc. (Bowen); M.Sc (Ibadan)
HND (Warri); PGD (Owerri); M.Tech. (Ogbomoso)
(Bauchi) Technologist I
DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY
B.Sc. Degree Programme in Computer Science
PHILOSOPHY AND OBJECTIVES
The programme is conceived to produce graduates of Computer Science with adequate academic and research background. The training would be geared towards the development of the theory of computing and applications of Information Technology intended to be beneficial to society.
(i) to train students in various aspects of Computer Science through adequate theoretical exposure and applications;
(ii) to train students in applying computing knowledge to research, industry and everyday life;
(iii) to expose students to state-of-the-art technology and industrial practice;
(iv) to inculcate in the graduates of the degree programme a strong desire to achieve an enviable level of professionalism and entrepreneurship while maintaining good academic background germinating into a valuable industry-university relationship.
A. LIST OF COURSES BY LEVELS
Course Code Course Title Credit(s)
CIT 110 Elementary Discrete Structures I 2
CIT 114 Introduction to Computer Science 2
CIT 115 Introduction to Computer Programming I 2
CIT 120 Elementary Discrete Structures II 2
CIT 124 Numerical computation 3
CIT 126 Introduction to Computer Programming II 3
MAT 115 Algebra 3
MAT 125 Vectors and Analytical Geometry 3
PHY 119 Practical Physics I 1
PHY 129 Practical Physics II 1
GST 110 Use of English 2
GST 113 Christian Education 2
GST 122 Introduction to Information and Communication
GST 123 Library and Information Literacy Skills 2
CIT 211 Structured Programming 2
CIT 212 Data Abstraction and Data Structures 3
CIT 213 Digital Computer Networks I 3
CIT 217 Computer Architecture 3
CIT 219 Digital Computer Logic with Lab 3
CIT 220 Principles of Compilers 3
CIT 222 Low Level Languages 2
CIT 223 Digital Computer Networks II 3
CIT 224 Operating Systems 3
CIT 225 Object Oriented Programming 3
MAT 217 Ordinary Differential Equations 3
GST 201 Studies in Entrepreneurship and New Ventures 2
GST 216 History and Philosophy of Science 1
GST 228 Peace Studies and Conflict Resolution 2
CIT 310 Introduction to C ++ 3
CIT 311 Business Computing and File processing3
CIT 313 Web Page Design Fundamentals 3
CIT 314 Computer Hardware Principles 3
CIT 317 Database Development and Management 3
CIT 318 Professional Applications of Computer 2
CIT 319 Programming with Visual Basic 3
CIT 320 Entrepreneurship in Computer Science 2
CIT 323 Industrial Work Experience 6
CIT 324 Commercial Programming Languages 3
CIT 325 Survey of Programming Languages 3
CIT 326 Systems Programming Principles 3
CIT 327 Principles of Graph Theory 3
MAT 312 Mathematical Methods I 3
GST 301 Culture and Civilization in Africa 1
GST 302 Studies in Philosophy and Logic 1
CIT 410 Introductions to Software Engineering 3
CIT 411 Management Information System (MIS) 3
CIT 412 Information Technology Centre Management 2
CIT 413 Introduction to Operations Research 3
CIT 414 Introduction to Micro-Computer Technology 3
CIT 415 Legal Aspect of Information Technology 2
CIT 416 Computer Graphics 3
CIT 417 Programming with JAVA 3
CIT 418 Seminar 2
CIT 420 Micro-Programming 3
CIT 421 Micro-Computer Design Laboratory 2
CIT 422 Linear Programming 3
CIT 423 Computer-Based Distance Learning 2
CIT 424 Information Technology Policy 2
CIT 425 Automata Theory, Computability and
Formal Languages 3
CIT 426 Fundamentals of Artificial Intelligence3
CIT 428 Computer Modelling and Simulation 3
CIT 429 Special Topics in Information Technology3
CIT 498 Design and Analysis of Algorithms 3
CIT 499 Research Project 5
B. SUMMARY OF DEPARTMENTAL GRADUATION REQUIREMENTS
(No. of credits in brackets)
CIT 110(2), CIT 114(2), CIT 115(2), CIT 124(3), CIT 126(3), MAT 115(3), MAT 125(3), PHY 119(1), PHY 129(1), GST 110(2), GST 113(2), GST 123(2), GST 122(2).
Total 28 Credits
Students should register for not less than 2 credits from the following courses: CIT 120(2), PHY 111(3), STA 112(2), STA 122(3), MAT 111(3), MAT 120(2), CHM 121(2), CHM 127(1), PHY 110(2), PHY 121(3) and any other relevant ones with the permission of the Head of Department.
CIT 211(2), CIT 212(3), CIT 213(3), CIT 219(3), CIT 220(3), CIT 223(3), CIT 224(3), MAT 217(3), GST 201(2), GST 216(1), GST 228(2).
Total 28 Credits
Students should register for not less than 2 credits from the following courses: CIT 217(3), CIT 222(2), CIT 225(3), MAT 210(3), MAT 219(3), MAT 228(3), PHY 231(2), PHY 251(2) and any other relevant ones with the permission of the Head of Department.
CIT 310(3), CIT 311(3), CIT 313(3), CIT 314(3), CIT 319(3), CIT 320(2), CIT 323(6), MAT 312(3), GST 301(1), GST 302(1).
Total 28 Credits
Students should register for not less than 2 credits from the following courses: CIT 317(3), CIT 318(2), CIT 324(3), CIT 325(3), CIT 326(3), CIT 327(3), MAT 310(3), MAT 320(2) and any other relevant ones with the permission of the Head of Department.
CIT 410(3), CIT 411(3), CIT 417(3), CIT 418(2), CIT 422(3), CIT 425(3), CIT 426(3), CIT 428(3), CIT 499(5).
Total 28 Credits
Students should register for not less than 2 credits from the following courses: CIT 412(2), CIT 413(3), CIT 414(3), CIT 415(2), CIT 416(3), CIT 420(3), CIT 421(2), CIT 423(2), CIT 424(2), CIT 429(3), CIT 498(3), MAT 222(2), MAT 310(2), MAT 312(3), MAT 313(3), MAT 320(2), MAT 322(3), MAT 412(3) and any other relevant ones with the Permission of the Head of Department.
C. COURSE DESCRIPTIONS
CIT 110 ELEMENTARY DISCRETE STRUCTURES I 2 Credits
Set Theory, Mathematical Induction, Relations; Composition of Relations, Functions and Algorithms, Elementary Graph Theory and Trees; Directed graph, Logic and Propositional Calculus , Truth Tables; Tautologies and Contradictions.
CIT 114 INTRODUCTION TO COMPUTER SCIENCE 2 Credits
History of Computing, Computer Generation, Overview of Computer System, Basic Elements of a Computer, Hardware, Software, Basic Types of Computers, Classification of Computers, Computer Networks, Internet, Computer Virus, Computers and Society, Application Packages.
CIT 115 INTRODUCTION TO COMPUTER PROGRAMMING I 2 Credits
Variables, Numbers and Strings; Symbolic Names, Commands, Statements; input and output statement, Conditional statement, Simple and Controlled Loops, Error Tracking, Algorithm, Flow-charting, Sub-programming Selected , Applications using BASIC Programming language.
CIT 120 ELEMENTARY DISCRETE STRUCTURES II 2 Credits
Combinatorial Analysis; Basic counting principles, Factorial notations, Binomial coefficients, Permutations, Combinations, Algebraic systems; Operations, Semi groups, groups, subgroups, normal subgroups, Homomorphism, Languages, Grammars, Elementary Automata, Finite state machine.
CIT 124 NUMERICAL COMPUTATION 3 Credits
Fundamentals of Computation of Numbers, Functions and Errors, Collocation Methods; Numerical Integration and Differentiation, Theory of Finite Differences, Finite Element Methods A peep into Fractals Theory. Applications of Numerical Computation.
CIT 126 INTRODUCTION TO COMPUTER PROGRAMMING II 3 Credits
Variables, Numbers and Strings; Symbolic Names, Commands, Statements; input and output statement, conditional statement, Simple and Controlled Loops, Error Tracking, Algorithm, Flow-charting, Sub-programming Selected Applications using FORTRAN Programming language. The student is given a variety of fundamental problems to solve and program on the computer, Problem solution translation with flowcharts and program codes.
30h(T);45h(P);C. (Replaces CIT 125).
CIT 211 STRUCTURED PROGRAMMING 2 Credits
Problem solving phases, The Programming process; Data types; Input and Output; Control Structures; Functions, objects and classes; Design, testing debugging and documentation, problem solving using one of C++, PASCAL, JAVA.
CIT 212 DATA ABSTRACTION AND DATA STRUCTURES 3 Credits
Abstraction; Data types; Information hiding; Records; Arrays; Linked list and Pointers, Nodes, Stack; Queues; Binary Trees; Directed graphs, Object Oriented Paradigm; Sorting, Searching and File Management.
CIT 213 DIGITAL COMPUTER NETWORKS I 3 Credits
Net-centric Concepts; Network basics; Front-end controllers; Line connectors; Topologies; ISO-OSI models; Network protocols, LAN, WAN, MAN, Internet; Cables, hubs, routers; brouters, gateway, Grid Computing, Hands-on Practical.
CIT 217 COMPUTER ARCHITECTURE 3 Credits
Introduction to computer Hardware; Computer Systems Organisation; CPU Organisation; Memory Organisation; I/O devices and their characteristics; Logic Circuitry; Organisation and design of Modern computer hardware systems; Comparative Study of known architectures.
CIT 219 DIGITAL COMPUTER LOGIC WITH LAB 3 Credits
Numbers and the Binary System, Data representation; Characters, Logical Variables, Combinatorial Logic (design and manipulation), The Hardware, Code/Logical Conversion; Logic Gates, MSI, LSI, FLIP-FLOPS, State Machine Design Principles. Basic experiments in computer systems design, components identification and assembly; Digital Electronics, Combinational and Sequential Circuits. Troubleshooting, fault diagnosis and rectification.
30h(T);60h(P);C. (Replaces CIT 214).
CIT 220 PRINCIPLES OF COMPILERS 3 Credits
Lexical and Syntax Analysis; Code generation; Single Pass, Multipass, Load and Go; Scanning; Table management, Workspace and dumping. A typical compiler; Simple Scanners and Parsers using C or C++ language.
CIT 222 LOW LEVEL LANGUAGES 2 Credits
Instruction Formats; Addressing Systems ; CPU internal Structure ; Registers, Memory, ALU, CU. Controls - Loops and Switches; Macro Instructions; Interrupts; File Structures; Storage Control; Relocation; Linking/Loading; Editing; Hardware System Programming using simple machine codes. Problem solving using Assembler/ Machine coding. Intel Instruction Set, Address mode.
CIT 223 DIGITAL COMPUTER NETWORKS II 3 Credits
Network interface cards; Mobile / Wireless application protocols (WAP); Satellite; 3-G Technology, Network Operating System; Network Security, Setting up, a Typical networks with PCs. Windows Network infrastructures; Window 2000 server/professional.
CIT 224 OPERATING SYSTEMS 3 Credits
Definition, types, components of an Operating System; Batch Processing; Memory Management Dynamic relocation; Processor scheduling; File Management; Laboratory exercises using two of those most commonly in use (e.g. MS-DOS, UNIX, OS VM etc).
CIT 225 OBJECT ORIENTED PROGRAMMING 3 Credits
Introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. Review of control structures, functions and primitive data types. Object-oriented programming: object-oriented design; encapsualtion and information hiding; separation of behaviour and implementation; classses, subclasses and inheritance; polymorphism; class hierarchies. Fundamental of event-driven programming. Illustrations using JAVA or/and C++
CIT 310 INTRODUCTION TO C++ 3 Credits
Fundamentals of C++; Input and Output statements, Control Structures; Functions, Arrays, Strings and Files; Pointers ; Data types; Lists; Recursion; Trees; Sorting and Searching, Constructor, Destructor, Object oriented features of C++, A course project.
CIT 311 BUSINESS COMPUTING AND FILE PROCESSING 3 Credits
Data Separation and Processing ; File Manipulations and Maintenance; Utilities; Data Collection, Data Reliability, Data Security, Data validation and verification Coding, Cleaning, Consistency and Integrity, Case Studies using SPSS, PSTAT or EXCEL
CIT 313 WEB PAGE DESIGN FUNDAMENTALS 3 Credits
Internet vs. Intranet; System development overview; ‘Development concept; Web application development cycle; Architectures and Environment; Markup Languages; Java Script, Java, VRML, PHP, VB Script, Active-X, CGI, Database Connectivity; Web-authority tools; Scripting Languages; Client/Server technologies and infrastructures; Current issues and trends, A course project.
CIT 314 COMPUTER HARDWARE PRINCIPLES 3 Credits
Basic active Logic circuits; IC families (ECL, MOS, TTL, DRL etc) ; Characteristics; Parameters ( Fan-in/Fan-out, Speed/Power Factor); Noise immunity; Design and analysis of Combinational Logic circuits and networks. Synchronous and Asynchronous operations ; Registers . Digital to Analogue conversion, Operational Amplifier.
CIT 317 DATABASE DEVELOPMENT AND MANAGEMENT 3 Credits
Introduction, Relational Model, Schema Normalization, Database Design; Indexing and Access Methods, Buffer pool Design and Memory Management, Join Algorithms, Query Optimization, Introduction to transaction processing, Recovery, Optimistic concurrency Control, Degrees of locking, Distributed Databases, Replication in Database Systems, Search Engines, Stream Processing, Adaptive Query Processing, Online Query Processing, Sensor Networks, XML and Semantic Web, A course project.
CIT 318 PROFESSIONAL APPLICATION OF COMPUTERS 2 Credits
The student is taken through the use of a state – of – The art application package in a specific area. Three problems are given. Solutions are expected to be submitted to at least two of the problems using a specific package (e.g. in areas such as: Mathematics, Statistics, IT Planning/Development, Accounting, Business, Chemical Processes, Theoretical Physics etc.)
CIT 319 PROGRAMMING WITH VISUAL BASIC 3 Credits
Introduction; The Basic rules; Programming steps; Structured effects; I/O techniques; File Management; Solution of selected problems. Objects, tools, properties and structure of VB application, Web based applications using VB, A course project.
CIT 320 ENTREPRENEURSHIP IN COMPUTER SCIENCE 2 Credits
New business life-cycle; selecting and testing a moneymaking idea, preparing a business plan, raising finance, the exit, Aspects of new business operation; registering a company, setting up your office, understanding financial statements, E- Commerce Strategies, Software tools for entrepreneurs. Business Web Site Design. Group Students Project.
CIT 323 INDUSTRIAL WORK EXPERIENCE 6 Credits
A course of computing practice undertaken in the industry during the whole of the second Semester of the 300-level year. It is an exposure to industrial practice and standards in Information Technology through the attachment of students to locations in the computer industry as may be approved by the Head of Department. Students’ activities are monitored and recorded by approved staff supervisors and a report is submitted by each student at the end of the period for assessment.
CIT 324 COMMERCIAL PROGRAMMING LANGUAGES 3 Credits
Introduction to structured programming concepts in a commercial environment; Overview of SP theory; Well Formed and proper programs; Design components for structured programs; A peep into the COBOL Language input definition, record and file descriptions, record selection, file handling, calculation and storage minimization.
CIT 325 SURVEY OF PROGRAMMING LANGUAGES 3 Credits
Comparative study of basic structures and implementation of some types of programming languages vis-à-vis control structures and data flow, subroutine, interrupts, block structures, scope of variables, information binding, procedures and parameters, data storage and mapping, execution environments etc; Examples from procedure oriented, list processing, Interactive and other types of programming languages.
CIT 326 SYSTEMS PROGRAMMING PRINCIPLES 3 Credits
Process Control and Scheduling; Processes, Threads and Threads Programming; File I/O and Signal Processing; Memory Management Programming; Distributed Systems and Client Server Programming; Unix Socket Programming; Java Systems Programming; SWING, multithreading and Networking.
CIT 327 PRINCIPLES OF GRAPH THEORY 3 Credits
Graph algorithms; depth first search; breadth first Search; connected graphs; topological sorting; shortest Path algorithm; network flow; string searching; parallel Computation; graph partitioning; graph isomorphism. Illustrations using JAVA or/and VISUAL BASIC
45h(T). (Replaces CIT 216).
CIT 410 INTRODUCTION TO SOFTWARE ENGINEERING 3 Credits
Software Life Cycle; Process and Models; Planning and Management; Metrics Risk Analysis; Quality Assurance; Software Design, Testing and Object Orientation; Semantic Analysis; Efficiency of Algorithms. Large and medium scale Software development processes.
CIT 411 MANAGEMENT INFORMATION SYSTEM (MIS) 3 Credits
Steps in Systems Analysis; Techniques of Data Capture; Data Management, Security, Communication; Systems Maintenance; User Driven System Design. Information System Structure, Analysis, Organisation, Storage, Searching and Retrieval; Dictionary Construction and Lookup, Searching and Matching Procedure; Automatic Information Dissemination. MIS maintenance; Case Study.
CIT 412 INFORMATION TECHNOLOGY CENTRE MANAGEMENT 2 Credits
Office Procedure; Organisational Structure; Personnel Development, Project Planning, Control and Development-Strategies; Management, levels of Management, Information, Types of Information, Information and Communication Technology (ICT), Computer based Information Systems. Five year Contingency plan; User involvement.
CIT 413 INTRODUCTION TO OPERATIONS RESEARCH 3 Credits
Operation Research Models, Solving the OR models, Inventory Models, Simulation Modelling, Transportation and Assignment Problems; Network analysis; Critical Path Analysis; Queuing Theory; Programming Application. Solution to specific problems.
CIT 414 INTRODUCTION TO MICRO-COMPUTER TECHNOLOGY 3 Credits
The structure of CPU, The control unit, an introduction to RISC processor, programmed I/O, assembly language programming and the 68000 microprocessor. General features of a typical micro computer; Design requirements for microcomputers; The 8080, 8085, 86800 etc series of architectures; Microprocessors; Functional Specification and application. Understanding a typical Data sheet.
CIT 415 LEGAL ASPECT OF INFORMATION TECHNOLOGY 2 Credits
Consideration is given, with case studies, to the problems of professional ethics, obligations, expectations and limitations of the IT professional; Information Technology Piracy Law. Experts are invited from industry to illuminate this vital course for students. The student is expected to submit a seminar paper of prescribed format and length.
CIT 416 COMPUTER GRAPHICS 3 Credits
Image representation, Scan conversion, Two-dimensional transformation, Two dimensional viewing and clipping, Three dimensional transformation, mathematics of projection, three dimensional viewing and clipping, Geometric representation, Hidden surfaces, color and shading models, Ray tracing, Characteristics of vectors, Industrial Applications, Display Rings; Display Processors; Display Coordinates, Graphics Software Design; Typical Problem solving.
CIT 417 PROGRAMMING WITH JAVA 3 Credits
Basics of JAVA; strings, Selection, Iteration; Classes and Objects, Control Statements, Object-Oriented Programming: Inheritance, Polymorphism, GUI Components, formatted output; Composition, Inheritance; Arrays; Vectors; Graphics. Selected Problems Solving.
CIT 418 SEMINAR 2 Credits
Definition and explanation of terms, Literature review methodology, computing research resources, Research documentation and communication, Time management, managing your supervisor, research regulations and Ethics. Technical Writing and Reporting; Special topics in Information technology; Guest Lecturers from Industry; Simple guided research is to be carried out by the student in an identified area of Information Technology.
CIT 420 MICRO-PROGRAMMING 3 Credits
Flip-flops, Registers, Counters and Simple processor, Fundamentals of PLD (Programmable Logic Device) Circuitry, Addressing modes; Modified Page Zero Addressing; Indexed Register and Implied Addressing; Bit, Stack Pointer, and Subroutine Addressing; Status Indicators; Interrupts; Hands-on examples.
CIT 421 MICRO-COMPUTER DESIGN LABORATORY 2 Credits
Design of counters, interfacing of components and systems, BCD to 7-segment decoder circuit design, Digital Systems design, Design of digital clock; encoder circuit, multiplexer circuit design, Karnaugh mapping simplification Some Basic Experiments in microcomputer Design and Building.
CIT 422 LINEAR PROGRAMMING 3 Credits
Linear programming models, assumptions of linear programming, solving linear programming problems; duality and sensitive analysis, Linear forms; Graphical Solution Technique; Simplex Algorithm; Duality; Practical Problem Solving Using a Procedural Programming Language.
CIT 423 COMPUTER–BASED DISTANCE LEARNING 3 Credits
Computer Assisted Learning (CAL) Principles; The need for distance Learning today; Literature Survey on CAL/DL; Typical Model; CAL/DL Software development; Design of a Virtual Classroom, e-learning, web portals technology / Design, computer Networks.
CIT 424 INFORMATION TECHNOLOGY POLICY 2 Credits
The need for a guided policy; Policy Issues; Comparative Study of International Policies; The Nigerian Situation; Case Studies, Sources of the law, criminal law, computer crime, definition of computer crime, application of existing criminal studies. Specific legislation concerning computer crime,
CIT 425 AUTOMATA THEORY, COMPUTABILITY AND FORMAL LANGUAGES 3 Credits
Words and String, Concatenation, Word length; Language Definition, Regular Expression, Regular Language; Recursive Languages; Finite State Automata (FSA), State Diagrams; Pumping Lemma; Grammars, Applications in computer science and engineering, Compiler specification and design, text editor and implementation. Very large scale integrated (VLSI) circuit specification and design. Natural Language Processing (NLP) and embedded systems.
CIT 426 FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE 3 Credits
What is Artificial Intelligence; Design of an Intelligent Computer System; Man – Machine Orientation; Understanding Language, Learning, Reasoning, Problem Solving, Forward and Backward Chaining; Rules and Predicates.
CIT 428 COMPUTER MODELLING AND SIMULATION 3 Credits
Types of Models; Model development, verification and validation; Steps in a Simulation Study; Discrete and Continuous Probability distributions; Performance of queuing systems; Linear Congruential generation of random numbers; Other techniques. Use of a Simulation Programming Language or Simulation Package to solve a problem.
CIT 429 TOPICS IN INFORMATION TECHNOLOGY 3 Credits
A series of selected advanced topic in Information Technology is given to give the student an in-depth Knowledge of the current state of the art in Information Technology. Experienced practitioners in the field may also be invited to treat some of the topics. At the end of the course the student will be expected to submit a long essay as part of his continuous assessment.
CIT 498 DESIGN AND ANALYSIS OF ALGORITHMS 3 Credits
Basic algorithm analysis: asymptotic analysis of upper and average complexity bounds; identifying differences among best, average and worst case behaviours: big”O” little “o” omega and theta notation: standard complexity classes; empirical measurement of performance; time and space tradeoffs in algorithm; using recurrence relations to analyse recursive algorithm. Algorithm strategies , Brute-force algorithm: greedy algorithmss: divide-and-conquer: backtracking; branch-and-bound: heuristics; pattern matching and string/text algorithms: numerical approximation algorithms. Introduction to tractable and intractable problems. Recursion, Efficiency of algorithm.
CIT 499 RESEARCH PROJECT 5 Credits
A functional guided research is carried out by the student under the supervision of an academic staff and approved by the Head of Department. A bound project report is presented in an approved format for assessment.