Program Manual Computer Science 2021
Program Manual Computer Science 2021
The overall intention is to nurture individuals who are technically skilled, creative,
innovative, professionally competent, enterprising, and zealous for the common
good, with the ability to make free and morally upright decisions, and who can thus
impart positive values in service to society. The programme will provide intensive
practical and theoretical courses, which are designed to prepare the students to
work in modern day industries as pure and applied Computer Scientists. Career
prospects for graduates of this course include computer software design and
programming as applied to various fields. The programme will emphasize
particularly the need for high ethical standards in the exercise of professional work,
training, teaching, and obligations. Hence, the curriculum will be suffused with
courses that deal with human values, analytical and critical thinking and the
appropriate design and use of computing systems. The programme is largely driven
by the need to facilitate, through adequate theoretical and practical training, the
emergence of competent professionals in the area of pure and applied computer
science. The programme aims to build new generation of computer scientists that
can favourably compete with peers from any reputable institutions in the world. As
a fundamental principle, the programme emphasizes interactions between the
industry players, lecturers and students, with the goal of ensuring relevance to the
industry as well as driving the innovation needs of the industry. Together with the
technical skills and competencies, the programme also places emphasis on a holistic
development of the positive character traits of the students. Such traits could be
critical success factors in the team work required for professional success in the
workplace.
The following basic points are the guiding principles for the programme:
a) The programme will impart an education that is relevant to the needs of the
nation and of international standard. The relevance of the programme's
content will be ensured by fostering a strong relationship with the industry.
b) The programme will give particular emphasis to teaching and research. The
academic staff will be encouraged to engage in research and attend
conferences of relevance across the world. This is expected to ensure a
continuous improvement in their teaching and maintain its relevance to the
needs of the nation.
c) The programme will be concerned with the integral formation of the
individual and will lay special emphasis on the development of values and
ideals. Professional ethics will permeate all teaching activities in the
programme.
2
4.0 GOALS OF THE PROGRAMME
The aims and objectives of the programme include but are not limited to the
following:
a) Create in students the awareness of and enthusiasm for computer science
and its capabilities.
b) Involve the students in an intellectually stimulating and satisfying experience
of learning and studying
c) Provide a broad and balanced foundation in computer science knowledge and
practical skills.
d) Develop in students through an education in computer science a range of
transferable applicable skills of information technology to all aspects of
human endeavours.
e) Generate in students an appreciation of the importance of computer in an
industrial, economic, technological and social context.
f) Provide students with knowledge and skills base for further studies in
computer science or multi-disciplinary studies involving computer science.
g) To offer an integral formation with emphasis on the development of values
and ideals that will help prepare the students to play leadership roles in such
industries.
The entry requirements shall be at least credit level passes in five subjects including
English Language, Mathematics, and Physics to form the core subjects with credit in
any other two relevant science subjects, at the Senior Secondary School Certificate
or its equivalent in not more than two sittings. In addition, an acceptable pass
(currently 220) in the Unified Tertiary Matriculation Examination (UTME), with
relevant subject combination is required for Admission into 100 Level.
Candidates with two A level passes (graded A-E) at the GCE/IJMB Advanced Level in
relevant subjects (Chemistry, Mathematics and Physics) may be admitted into 200-
level. This is in addition to fulfilling the requirement of a minimum of credit level
passes in five relevant subjects at SSCE or WASCE/GCE ‘O’ Level as indicated above.
Other tertiary level qualifications such as OND, HND may be considered for direct
entry as well.
An evaluation of the courses will be carried out in terms of course units. For this
purpose, one course unit is defined as one lecture/seminar/tutorial hour or three
hours of practical class per week, for the duration of a semester. Ordinarily, students
3
shall be expected to register for a prescribed number of units in each academic year.
This number will be determined by Senate from time to time, based on the
recommendation of the School Board.
There shall be four levels of courses in line with the years of study. The levels shall
be numbered respectively as 101-199, 201-299, 301-399 and 401-499. Each of these
numbers shall be prefixed by a two or three letter subject code.
Students will be required to complete their registration for the courses within the
period stipulated by the School. Amendment of this registration will be allowed
through the addition or deletion of courses but it must take place within three weeks
of the commencement of lectures.
Direct entry and transfer students that enter into the second year of the programme
will have to take some compulsory courses from the first year prior to their
graduation from the University. However, if the Faculty Board assesses that a
student has done any of the courses elsewhere, such a student will be exempted
from taking the course.
At the end of each semester, students will be examined on all the courses they have
registered for and been taught during that period. They shall subsequently be
credited with the number of course units assigned to the courses that they pass.
Failure to take the examination in a course for which one has registered will attract
a score of 0.0, which will have the consequent effect of lowering the student’s Grade
Point Average.
4
Percent Score Grade point Letter Grade
70 -100 5.0 A
60 – 69 4.0 B
50 – 59 3.0 C
45 - 49 2.0 D
0 – 44 0.0 F
For the purpose of description, a score below 2.0 Grade Point (from letter grade
D) constitutes a failure. The following qualifications shall be applied to the
grades:
A Excellent
B Good
C Fair
D Pass
F Failed
To obtain the Cumulative Grade Point Average (CGPA) of the student, the grade
point assigned to the mark obtained in each course is multiplied by the units of that
course. The total from all the courses is added up to give the total weighted grade
point. This total is then divided by the total number of units taken by the student to
give the grade point average.
To remain in the School, students will be required to ensure that their CGPA does
not fall below 1.5. If a student's CGPA falls below 1.5, the student will be placed on
probation. If the student fails to improve and, after one semester of probation,
his/her CGPA remains below 1.5, that student will be asked to withdraw. A student
on probation will not be permitted to register for more than 18 units.
5
5.5. Period of Study and Requirements for the Award of a Degree
The normal period of study for an honours degree shall be eight semesters for 100
level entrants and six semesters for direct level entrants. In order to be eligible for
graduation, the student must pass all the compulsory courses, the minimum number
of which is 75 credit units. Additional number of credit units required for graduation
will be as stipulated by the Senate of the University. The determination of the class
of degree shall be based on the weighted grade points of all the courses taken,
including the courses that are repeated. The award of the degree with honours shall
be dependent on the student having obtained a Cumulative Grade Point Average of
at least 2.0 in addition to fulfilling other minimum requirements for an honours
degree. The following classes of degree are approved for the CGPA indicated:
The maximum number of semesters for the award of an honours degree shall be ten
semesters. A student who spends more time than this to complete the degree
programme will ordinarily not be eligible for an honours classification.
E = Elective Course – A course that students take within or outside the faculty
(school). Students may graduate without passing the course provided the
minimum credit unit for the course had been attained.
R = Required Course – A course that you take at a level of study and must be
passed before graduation
TOTAL UNITS 23
Course Course Title 100 Level Second Semester Units Status PREQ LH PH
Code
CSC 102 Introduction to Problem Solving 3 C - 30 45
TOTAL UNITS 19
7
SECOND YEAR COURSES
Course Course Title 200 Level First Semester Units Status PREQ LH PH
Code
CSC 201 Computer Programming I 3 C CSC 102 30 45
Course Course Title 200 Level Second Semester Unit Status PREQ LH PH
Code
CSC 202 Computer Programming II 3 C - 30 45
CSC 204 Fundamentals of Data Structure 3 R - 30 45
TOTAL UNITS 28
8
THIRD YEAR COURSES
Course Course Title 300 Level First Semester Units Status PREQ LH PH
Code
CSC 301 Structured Programming 3 C CSC 201 45 -
TOTAL UNITS 22
Course Course Title 300 Level Second Semester Units Status PREQ LH PH
Code
CSC 302 Object-Oriented Programming 3 R CSC 202 45 -
TOTAL UNITS 24
9
FOURTH YEAR COURSES
Course Course Title 400 Level First Semester Units Status PREQ LH PH
Code
CSC 401 Organization of programming Languages 3 R CSC 304 45 -
CSC 403 Database Management II 3 C CSC 303 30 45
CSC 405 Special Topics in Software Engineering 3 C - 30 45
CSC 407 Computer Networks/Communications 3 C - 30 45
CSC 409 Human Computer Interface 2 R - 30 -
Additional Electives (2) 6 E
TOTAL UNITS 20
Additional Electives (Minimum 2
Courses)
CSC 411 Information Technology Law 2 E 30 -
CSC 413 Distributed Computing System 3 E 30 45
CSC 415 Optimization Techniques 3 E 30 45
CSC 417 Computer System Performance Evaluation 3 E 45 -
CSC 419 Advances in Web and Mobile 3 E 30 45
Programming
CSC 421 Computer Graphics and Visualisation 3 E 30 45
CSC 423 Queuing Systems Performance Evaluation 3 E 45 -
Course Course Title 400 Level Second Semester Units Status PREQ LH PH
Code
CSC 402 Software Engineering 4 C - 45 45
CSC 404 Artificial Intelligence/ Machine Learning 3 R - 45 -
CSC 406 Net-Centric Computing 3 R - 45 -
CSC 499 Project 6 C - - 270
Additional Electives (2) 6 E
TOTAL UNITS 22
Additional Electives (Minimum 2
Courses)
CSC 412 Project Management 3 E 30 45
CSC 414 Formal Models of Computation 3 E 30 45
CSC 416 Advances in Data Sciences 3 E 30 45
CSC 418 Special Topics in Computer Science 3 E 30 45
CSC 420 Modelling and Simulation 3 E 30 45
CSC 422 Compiler Construction II 3 E 45 -
10
COURSE DESCRIPTION
11
PHY 101: General Physics I (3 Units, LH 45)
(Mechanics & Properties of Matter)
Space and Time, Units and dimension, Kinematics; Fundamental Laws of Mechanics,
statics and dynamics; work and energy; Conservation laws. Moments and energy of
rotation; simple harmonic motion; motion of simple systems. Elasticity; Hooke´s law,
Young´s shear and bulk moduli. Hydrostatics; Pressure; buoyance, Archimedes’
principle; Surface tension: adhesion, cohesion, capillarity, drops and bubbles;
Temperature; heat; gas laws; laws of thermodynamics; kinetic theory of gases; Sound:
Types and properties of Waves as applied to sound and light energies; Superposition of
waves. Propagation of sound in gases, solids and liquids and their properties.
GST 103: Use of Library, Study Skills and ICT (2 Units: LH 30)
Brief history of libraries; Library and education; University libraries and other types of
libraries; Study skills (reference services); reading and comprehension; listening and
comprehension; note-taking and note-making; word processing. The use of dictionaries,
encyclopaedia and other reference materials; the library and learning; organization of
the library system; finding information in a library; Types of library materials, using
library resources including e-learning, e-materials, etc.; Understanding library
catalogues (card, OPAC, etc.) and classification; Copyright and its implications; Database
resources; Bibliographic citations and referencing. Development of modern ICT;
Hardware technology; Software technology; Input devices; Storage devices; Output
devices; Communication and internet services; Identification of PC parts and peripheral
devices: functions, applications, and how to use them. Safety precautions. Procedure for
booting a PC. Filing system: directory, sub-directory, file, path, and how to locate them.
Word processing skills (typing, etc.), Spreadsheet, Database management, Presentation
software. Exercises.
12
GST 108: Introduction to Quantitative Reasoning (Statistics) (2 Units, LH 30)
Thinking Critically: Propositions and Truth Tables; Approaches to Problem Solving:
Working with Units; Numbers in the Real World – Putting Numbers in Perspective;
Managing Money: -Taking control of your finances; Putting Statistics to Work;
Probability; Exponential Growth; Modelling Our World: The Building Blocks of
Mathematical Models.
13
GST 104: Logic, Philosophy and Human Existence (2 Units: LH 30)
A brief survey of the main branches of Philosophy; Rudiments and dynamics of critical
thinking as a major component of knowledge production. Such forms of knowledge as
good and bad arguments, the capacity to think clearly and rationally, to engage in
reflective and independent thinking and to reason logically, coherently and purposefully
towards a particular end. Topics include: logic and logical reasoning: the nature of
reasoning: deduction and induction; the structure of argumentation; forms of fallacies;
types of discourse; techniques for evaluating arguments; symbolic logic; Special
symbols in Symbolic logic-conjunction, negation, affirmation, disjunction, equivalent
and conditional statements, law of tort. The method of deduction using rules of
interference and bi-conditional, qualification theory. Types of discourse, nature or
arguments, validity and soundness, techniques for evaluating arguments, distinction
between inductive and deductive inferences; etc. (Illustrations will be taken from
familiar texts, including literature materials, novels, law reports and newspaper
publications.
14
CSC 205: Operating System I (3 Units: LH 30, PH 45)
Overview of O/S: Role & Purpose, Functionality Mechanisms to Support Client- server
models, hand-held devices, Design Issues influences of Security, networking,
multimedia, Windows. O/S Principles: Structuring methods, Abstraction, processes of
resources, Concept of APIS Device organization interrupts.
STA 205: Statistics for Physical Science and Engineering (3 Units: LH 45)
This course is aimed at presenting examples of application of time series analysis and
control in various fields such as engineering, earth science, medical science, biology, and
economics.
15
Introduction to the various areas of science and technology. Elements of environmental
studies.
Electives
16
keyboards, character recognition. Operational amplifiers; analog-to- digital and digital-
to-analog converter.
17
300 LEVEL FIRST SEMESTER
CSC 301: Structured Programming (3 Units: LH 45)
Structured Programming elements, structured design principles, abstraction
modularity, stepwise refinement, structured design techniques. Teaching of a
structured programming language etc. (Use C/C++ for illustrations)
CSC 303: Data Management I (3 Units: LH 45)
Information storage & retrieval, Information management applications, Information
capture and representation, analysis & indexing, search, retrieval, information privacy;
integrity, security; scalability, efficiency and effectiveness. Introduction to database
systems: Components of database systems DBMS functions, Database architecture and
data independence use of database query language.
CSC 305: Operating System II (3 Units: LH 45)
Concurrency: States & State diagrams Structures, Dispatching and Context Switching;
interrupts; Concurrent execution; Mutual exclusion problem and some solutions
Deadlock; Models and mechanisms (Semaphores, monitors etc.) Producer – Consumer
Problems & Synchronization. Multiprocessor issues. Scheduling & Despatching Memory
Management: Overlays, Swapping and Partitions, Paging & Segmentations Placement &
replacement policies, working sets and Trashing, Caching.
CSC 307: Systems Analysis and Design (3 Units: LH 30; PH 45)
System Concept; System Development Life Cycle Analysis: Fact gathering Techniques,
data flow diagrams, Process description data modelling. System Design: Structure
Charts, form designs, security, automated Tools for design.
CSC 309: Computer Architecture and Organization I (3 Units: LH 45)
Fundamental building blocks, logic expressive immunization, sum of product forms.
Register transfer notation, Physical considerations. Data representation, and number
bases, Fixed and Floating point systems, representation memory systems organization
and architecture.
CSC 311: Compiler Construction I (3 Units: LH 45)
Review of compilers assemblers and interpreters, structure and functional aspects of a
typical compiler, syntax semantics and, functional relationship between lexical analysis,
expression analysis and code generation. Internal form of course programme. Use of a
standard compiler as a working vehicles. Error detection and recovery. Grammars and
Languages: the parsing problem. The scanner.
GST 303: Nigerian Peoples and Culture (2 Units, LH 30)
Study of Nigerian history, culture and arts in pre-colonial times. Cultural areas and their
characteristics. Evolution of Nigeria as a political unit. Culture is a way of life and
persons are defined by the cultures within which they live. An understanding of persons
thus requires a knowledge of their culture. The course studies the ways of life of people
in Nigeria. It examines the customs, traditions, beliefs, and values of various groups.
While particular emphasis shall be placed on the various cultures found within Nigeria,
a survey of the history and culture of people of the great empires of ancient and pre-
18
colonial Africa will be made together with a study of Africa today and the African image
in the contemporary world.
CSC 313: Professional Ethics for Computer Scientists (2 Units, LH 30)
Computer scientists create systems and tools that are used as mission critical
applications and more. Besides, through their created programs, computer scientists
can be exposed to sensitive data about organizations or persons. These responsibilities
and positioning naturally call for ethical considerations. It is thus important for a
computer scientist to have a good understanding of the principles of ethics and in
particular, its applicability to data privacy issues.
In this course, students will learn about business and professional ethics especially as
they relate to data handling, systems design and manipulation.
19
CSC 308: Formal Methods and Software Development (3 Units: LH 45)
Formal methods: Mathematical approaches to solving software (and hardware)
problems at the requirements, specification, and design levels.
20
CSC 407: Computer Networks/Communication (3 Units: LH 30; PH 45)
Introduction, wares, Fourier analysis, measure of communication, channel
characteristics, transmission media, noise and distortion, modulation and
demodulation, multiplexing, TDM FDM and FCM Parallel and serial transmission
(synchronous vs asynchronous). Bus structures and loop systems, computer network
Examples and design consideration, data switching principles broadcast techniques,
network structure for packet switching, protocols, description of net-work e.g.
ARPANET, etc.
CSC 409: Human-Computer Interface (HCI) (2 Units: LH 30)
Foundations of HCI, Principles of GUI, GUI toolkits; Human-centred software evaluation
and development; GUI design and programming.
Electives
CSC 413: Distributed Computing Systems (3 Units: LH 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 417: Computer System Performance Evaluation (3 Units: LH 45)
Measurement techniques, simulation techniques; techniques, workload
characterization, performance evaluation in selection problems, performance
evaluation in design problems, evaluation of programme performance.
CSC 421: Computer Graphics and Visualization (3 Units: LH 30; 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. Warnock
method/ algorithm, shading, data reduction for graphical input. Introduction to hand
writing and character recognition. Curve synthesis and fitting. Contouring. Ring
structures versus doubly linked lists. Hierarchical structures. Data structure:
Organization for interceptive graphics.
CSC 423: Queuing Systems: (3 Units: LH 45)
Introduction; Birth-death queuing systems; Markovian queues, the queue M/GI bounds,
inequalities and approximations.
21
based computing. Software tools and Environment: Requirements analysis and design
modelling Tools, Testing tools, Tool integration mech.
CSC 404: Artificial Intelligence/Machine learning (3 Units: LH 45)
Introduction to artificial intelligence, understanding natural languages, knowledge
representation, expert systems, pattern recognition, the language LISP. The students
will also be exposed to both supervised and non-supervised machine learning
algorithms, with practical examples and hands-on activities.
CSC 406: Net-Centric Computing (3 Units: LH 45)
Distributed Computing, Mobile & Wireless computing, Network Security; Client/Server
Computing (using the web), Building Web Applications.
CSC 499: Project (6 Units: PH 270)
Students should embark on work that will lead to substantial software development
under the supervision of a member of staff. CSC 493: Advances in Web and Mobile
programming highly scalable Web applications backend, Progressive Web, WebGL,
WebXR, etc. Native mobile applications development. Building Web and mobile
applications frameworks, API development, and other advances in Web and Mobile
applications development. CSC 494: Advances in Data sciences/ML Intermediate to
advanced concepts in Data Sciences and Machine Learning. Data science application in
various fields.
Electives
CSC 412: Project Management (3 Units: LH 30; PH 45)
Team Management, Project Scheduling, Software measurement and estimation
techniques, Risk analysis, Software quality assurance, Software Configuration
Management, Project Management tools.
CSC 414: Formal Models of Computation (3 Units: LH 30; PH 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 416: Advances in Data Science (3 Units: LH 30; PH 45)
This course begins with an overview of the field, covering the vocabulary, skills, jobs,
tools, and techniques of data science and analytics.
Students will learn to identify the relationship between data science and other data-
driven fields such as machine learning and artificial intelligence.
With practical examples, they will review the primary practices: gathering and
analyzing data, formulating rules for classification and decision-making, and drawing
actionable insights.
By the end, students would have learnt how data science can help them make better
decisions, gain deeper insights, and make their work more effective and efficient.
22
CSC 418: Special Topics in Computer Science (3 Units: LH 30; PH 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 422: Compiler Construction II (3 units: LH 45)
Grammars and languages, recognizers, Top-down and bottom-up language Run-time
storage Organization, The use of display in run-time storage Organization. The use of
display in run time storage allocation. LR grammars and analysers. Construction of LR
table. Organisation of symbol tablets. Allocation of storage to run-time variables. Code
generation. Optimisation/Translator with systems.
23
24