fbpx

Admission for the May 2024 academic session closes May 6th. Apply Now!

School of Computing

BSc. Computer Science

This programme is designed to prepare you for a career in the ever-growing field of technology. You will learn the fundamentals of computer science, including programming, data structures, algorithms, and operating systems. You will also have the opportunity to specialize in a particular area of computer science, such as artificial intelligence, machine learning, or software engineering.

ADMISSION OPTIONS

ADMISSION OPTIONS

Tuition Per Session

₦350,000

₦320,000

Tuition Per Semester

₦175,000

Introduction to BSc. Computer Science

Start your bachelor’s degree in Computer Science

Learn on your terms with pre-recorded engaging and interactive videos on your educational journey for flexible, convenient, and self-paced study.

Why you should apply;

Applications for May 2024 admission is ongoing.

Apply before 6th May 2024, to secure your place. Discount applies for full year’s payment.

Programme Summary

Study Level

BSc. Computer Science

Study Duration

8 Semesters

Mode of study

Blended Learning

Tuition per session

₦350,000

₦320,000

Tuition per semester

₦175,000

Curriculum

Programme Outline

Our curriculum is designed to provide students with the skills and knowledge they need to succeed in a variety of careers in the tech industry. The programme covers a wide range of topics, including programming, data structures, algorithms, operating systems, and artificial intelligence.

The faculty is available to students through forums, email, and phone calls. Students also have access to a variety of resources, including a state-of-the-art e-library, virtual computer labs, a career center, and a variety of student organisations.

1st Semester Units
Communication in English I 2
At the end of this course, students should be able to:
  • Identify possible sound patterns in English.
  • List notable Language skills, classify word formation processes.
  • Construct simple and fairly complex sentences in English.
  • Apply logical and critical reasoning skills for meaningful presentations.
  • Demonstrate an appreciable level of the art of public speaking and listening.
  • Write simple and technical reports.
Elementary Mathematics I – Algebra and Trigonometry 2
At the end of this course, students should be able to:
  • Understand the basic definitions of Set, Subset, Union, Intersection, Complements, and use of Venn diagrams.
  • Solve quadratic equations.
  • Solve trigonometric functions.
  • Understand various types of numbers.
  • Solve some problems using the Binomial theorem.
General Physics I – Mechanics 2
At the end of this course, students should be able to:
  • Identify and deduce the physical quantities and their units.
  • Differentiate between vectors and scalars.
  • Describe and evaluate the motion of systems based on the fundamental laws of mechanics.
  • Apply Newton’s laws to describe and solve simple problems of motion.
  • Evaluate work, energy, velocity, momentum, acceleration, and torque of moving or rotating objects.
  • Explain and apply the principles of conservation of energy, linear and angular momentum.
  • Describe the laws governing motion under gravity.
  • Quantitatively determine the behavior of objects moving under gravity.
General Practical Physics I 1
At the end of the course, students should be able to:
  • Conduct measurements of some physical quantities.
  • Make observations of events, collect and tabulate data.
  • Identify and evaluate some common experimental errors.
  • Plot and analyze graphs.
  • Draw conclusions from numerical and graphical analysis of data.
Use of Library, Study Skills and ICT 2
At the end of this course, students should be able to:
  • Understand the significance of Information and Communication Technology (ICT) and its application to libraries and Information Services.
  • Acquire essential ICT skills for information professionals.
  • Understand data communication and internet resources in electronic storage systems.
  • Explore web technology resources.
  • Learn the impact of ICT on modern libraries, along with ethical considerations and challenges related to applying ICT in library settings, particularly in the context of Nigerian libraries.
Descriptive Statistics 3
At the end of the course, students should be able to:
  • Explain the basic concepts of descriptive statistics.
  • Present data in graphs and charts.
  • Differentiate between measures of location, dispersion and partition.
  • Describe the basic concepts of Skewness and Kurtosis and their utility function in a given data set.
  • Differentiate rates from ratio and how they are use.
  • Compute the different types of index number from a given data set and interpret the output.
  • Understand and apply frequency distributions to organise and summarise data, create and interpret various types of charts and graphs to visualise data effectively, compute and interpret measures of central tendency to identify the centre of a distribution, calculate and interpret measures of dispersion to understand the spread of data points, compare and contrast different approaches to probability, calculate and interpret conditional probabilities to make informed decisions based on given conditions, identify and work with probability distributions in the discrete case, including Bernoulli, Binomial, Uniform, Poisson, Geometric, and Hypergeometric distributions, analyse continuous probability distributions, such as Uniform, Normal, and Exponential distributions.
Introduction to Computing Sciences 3
At the end of the course, students should be able to:
  • Explain basic components of computers and other computing devices.
  • Describe the various applications of computers.
  • Explain information processing and its roles in society.
  • Describe the Internet, its various applications, and its impact.
  • Explain the different areas of the computing discipline and its specializations.
  • Demonstrate practical skills in using computers and the internet.
Environment and Sustainability (Elective) 2
At the end of this course, students will be able to:
  • Grasp environmental studies’ fundamental principles, human-environment relationships, and the impact of human activities on nature.
  • Examine energy resource usage and its environmental consequences.
  • Investigate chemicals and waste effects on ecosystems and health.
Contemporary Health Issues (Elective) 2
At the end of this course, students should be able to:
  • Outline contemporary health issues and broadly classify them.
  • Discuss some basic concepts related to clinical medicine, disease prevention/management, and population health.
  • Explain the etiology, prevention, and management of key non-communicable diseases.
  • Discuss the epidemiology, personal and public health consequences of selected infectious diseases.
  • Discuss the personal and social determinants of health.
  • Explain the place of disease prevention and health promotion in personal and population health.
  • Explain the connection between contemporary health issues and sustainable development goals.
  • Relate contemporary health issues to global health challenges.
2nd Semester Units
Introduction to Problem Solving 3
At the end of this course, students should be able to:
  • Explain problem-solving processes.
  • Demonstrate problem-solving skills.
  • Describe the concept of algorithms development and properties of algorithms.
  • Discuss the solution techniques of solving problems.
  • Solve computer problems using algorithms, flowcharts, pseudocode, etc.
  • Solve problems using programming languages such as C, PYTHON, etc.
Nigerian People and Culture 2
At the end of the course, students should be able to:
  • Analyze the historical foundation of the Nigerian culture and arts in pre-colonial times.
  • List and identify the major linguistic groups in Nigeria.
  • Explain the gradual evolution of Nigeria as a political unit.
  • Analyze the concepts of Trade, Economic, and Self-reliance status of the Nigerian peoples towards national development.
  • Enumerate the challenges of the Nigerian State towards nation-building.
  • Analyze the role of the Judiciary in upholding people’s fundamental rights.
  • Identify acceptable norms and values of the major ethnic groups in Nigeria.
  • List and suggest possible solutions to identifiable Nigerian environmental, moral, and value problems.
Elementary Mathematics II – Calculus 2
By the end of the course, students will be able to:
  • Differentiate and explain rules in calculus.
  • Analyze real-variable functions and graphs.
  • Grasp limits and continuity.
  • Understand derivatives as the rate of change limits.
  • Gain proficiency in integration techniques and definite integrals for solving area and volume problems.
General Physics II – Electricity & Magnetism 2
At the end of this course, students should be able to:
  • Describe and determine the magnetic field for steady and moving charges.
  • Determine the magnetic properties of simple current distributions using Biot-Savart and Ampere’s law.
  • Describe electromagnetic induction and related concepts and make calculations using Faraday and Lenz’s laws.
  • Explain the basic physical of Maxwell’s equations in integral form and evaluate DC circuits to determine the electrical parameters and the characteristics of ac voltages and currents in resistors, capacitors, and Inductors.
General Practical Physics II 1
At the end of this course, students should be able to:
  • Conduct experiments on the measurements of some physical quantities.
  • Make observations of events.
  • Collect and tabulate data.
  • Identify and evaluate some common experimental errors.
  • Plot and analyze graphs.
  • Draw conclusions from numerical and graphical analysis of data.
Introduction to Web Technologies 2
On completion of this course, students will have:
  • Basic knowledge and skills required for planning, designing, and developing effective web pages with a focus on the practical application of the technologies used in web development.
  • Basic skills in tools like HTML5, Cascading Style Sheet (CSS), and Javascript.
  • Ability to host a website on a selected web server.
  • Skills in web content development.
Communication in English II 2
At the end of this course, the student will be able to:
  • Have a deepened understanding of communication skills both in spoken and written English.
  • Demonstrate an appreciable level of proficiency in the arts of public speaking, listening, and effective communication.
1st Semester Units
Entrepreneurship and Innovation 2

At the end of this course, students should be able to:

  • Explain the concepts, characteristics, and theories of entrepreneurship, intrapreneurship, opportunity seeking, new value creation, and risk-taking.
  • Analyze the importance of micro and small businesses in wealth creation, employment, and financial independence.
  • Engage in entrepreneurial thinking.
  • Identify key elements in innovation and describe the stages in enterprise formation, partnership, and networking, including business planning.
  • State the basic principles of e-commerce.
Mathematical Methods I 2

At the end of this course, students should be able to:

  • Describe the Real-valued functions of a real variable.
  • Solve problems using the Mean value Theorem and Taylor Series Expansion.
  • Evaluate Line Integrals, Surface Integrals and Volume Integrals.
Computer Programming I 3

At the end of this course, students should be able to:

  • Identify different programming paradigms and their approaches to programming.
  • Write programmes in C using basic data types and strings.
  • Design and implement programming problems using selection.
  • Design and implement programming problems using loops and use & implement classes as data abstractions in an object-oriented approach.
  • Implement simple exception handling in programmes, develop programmes with input/output from text files and design and implement programming problems involving arrays.
Discrete Structures 2

At the end of this course, students will have:

  • Skills to convert logical statements from informal language to propositional and predicate logic expressions.
  • Described the strengths and limitations of propositional and predicate logic and outlined the basic structure of each proof technique to be described.
  • Ability to apply each of the proof techniques correctly in the construction of a sound argument, apply the pigeonhole principle in the context of a formal proof and compute permutations and combinations of a set, and interpret the meaning in the context of the particular application.
  • Ability to map real-world applications to appropriate counting formalisms subject to constraints on the seating arrangement and solve a variety of basic recurrence relations.
Digital Logic Design 2

At the end of this course, students should be able to:

  • Explain why everything is data in computers.
  • Describe how numeric and non-numeric data are represented and convert numerical data from one format to another.
  • Describe computations as a system characterised by a known set of configurations with transitions from one unique state to another.
  • Describe the distinction between systems and those with memory/history.
  • Describe a computer as a state machine.
  • Articulate that there are many equivalent representations of computer functionality.
  • Use mathematical expressions to describe the functions of simple combinational and sequential circuits.
  • Design the basic building blocks of a computer: arithmetic-logic unit (gate-level), registers (gate-level), central processing unit (register transfer-level) and memory (register transfer-level).
Introduction to Software Engineering 2

At the end of this course, students should be able to:

  • Describe the concept of the software life cycle.
  • Explain the phases of requirements analysis, design, development, testing and maintenance in a typical software life cycle.
  • Differentiate amongst the various software development models.
  • Utilise Unified Modeling Language for object-oriented analysis and design.
  • Describe different design architectures.
  • Explain the various tasks involved in software project management.
  • Describe the basic legal issues related to Software Engineering.
SIWES I 3

At the end of this training, students should be able to:

  • Explain how a typical computer firm/unit operates.
  • Describe the various assignments carried out and the skills acquired during the SIWES period.
  • Submit a comprehensive report on the knowledge acquired and the experience gained during the exercise.
2nd Semester Units
Philosophy, Logic and Human Existence 2

At the end of this course, students will be able to:

  • Provide a survey of the main branches of Philosophy, Symbolic Logic, and Special symbols in symbolic Logic-conjunction, negation, affirmation, disjunction, equivalent and conditional statements law of thought.
  • Understand the method of deduction using rules of inference and bi-conditionals qualification theory; Types of discourse, Nature of arguments, Validity and soundness; Techniques for evaluating arguments, and Distinction between inductive and deductive inferences.
Elementary Differential Equations 2

At the end of the course, students will be able to:

  • Define the order and degree of a differential equation, demonstrating a solid understanding of its fundamental concepts.
  • Gain the ability to describe various techniques for solving both first and second-order linear and nonlinear equations, showcasing their proficiency in applying these methods to practical problem-solving scenarios.
  • Master the art of solving problems related to geometry and physics, leveraging their knowledge of derivation from primitive sources and applications of finite linear difference equations.
Computer Programming II 3

At the end of this course, students should be able to:

  • Develop solutions for a range of problems using object-oriented programming in C++, use modules/packages/namespaces for programme organisation.
  • Use API in writing applications.
  • Apply divide and conquer strategy to searching and sorting problems using iterative and/or recursive solutions and explain the concept of exceptions in programming and how to handle exceptions in programmes.
  • Write simple multithreaded applications and design and implement simple GUI applications.
Computer Architecture and Organisation 2

At the end of this course, students should be able to:

  • Explain different instruction formats, such as addresses per instruction and variable length vs. fixed length formats.
  • Describe the organisation of the classical von Neumann machine and its major functional units.
  • Explain how subroutine calls are handled at the assembly level.
  • Describe the basic concepts of interrupts and I/O operations.
  • Write simple assembly language programme segments.
  • Show how fundamental high-level programming constructs are implemented at the machine-language level.
  • Compare alternative implementations of data paths.
  • Discuss the concept of control points and the generation of control signals using hardwired or micro-programmed implementations.
Statistical Computing II 3

At the end of the course, the students should be able to:

  • Draw conclusions based on statistical assumptions, models and results.
  • Draw inferences on statistical outcomes, and real-world implications, and how these outcomes are factored into decision-making processes.
  • Demonstrate the various considerations that are applied both for communicating statistical solutions to real problems.
  • Make conclusions based on statistical models and results by applying a broad range of statistical tools and packages.
  • Demonstrate logical, meaningful skills that bothers not just on the relevance of the data that informed the statistical outcomes, but also on the real-world implications of how these outcomes are factored into decision-making processes.
Linear Algebra I (Elective) 2

At the end of the course, students will:

  • Master linear algebra concepts, including solving linear equations, change of basis, eigenvectors, eigenvalues, Caley-Hamilton theorem, symmetric matrices, positive definite matrices, and orthogonal diagonalization.
  • Confidently use similar matrices, linear transformations, singular value decomposition, and orthogonal projections.
  • Apply orthonormal bases and the Gram-Schmidt process effectively, making them adept at handling various mathematical problems and real-world applications.
Introduction to Electric Circuits and Electronics (Elective) 2

By the end of the course, students will be able to:

  • Understand D.C. and A.C. circuits, analyse complex circuits using Kirchhoff’s Laws and circuit theorems.
  • Grasp sinusoidal wave-forms, RMS and peak values, and power calculations in A.C. circuits.
  • Learn about impedance, RLC circuits, resonance, and electronics such as filters and amplifiers, including transistors like bipolar junction and field effect transistors.
  • Understand semiconductor devices like diodes, photodiodes, and LEDs, preparing students for practical engineering and technology applications.
1st Semester Units
Data Structures 3

At the end of the course, students should be able to:

  • Demonstrate a comprehensive understanding of fundamental programming concepts and data structures in C++ such as primitive types, arrays, records, strings, and string processing.
  • Have a solid grasp of data representation in memory and be able to effectively allocate memory on the stack and heap.
  • Be proficient in implementing and applying various data structures including queues and trees, utilising appropriate implementation strategies.
  • Be skilled in managing run-time storage effectively through pointers and references, and adept at working with linked structures.
  • Gain practical experience in writing C++ functions and implementing algorithms for arrays, records, string processing, queues, trees, pointers, and linked structures, further enhancing their proficiency in C++ programming and data structure manipulation.
Artificial Intelligence 3

At the end of this course, students should be able to:

  • Explain AI fundamentals, concepts, goals, types, techniques, branches, applications, AI technology and tools.
  • Discuss intelligent agents, their performance, examples, faculties, environment and architectures, and determine the characteristics of a given problem that an intelligent system must solve.
  • Describe the Turing test and the “Chinese Room” thought experiment, and differentiate between the concepts of optimal reasoning/behaviour and human-like reasoning/behaviour.
  • Describe the role of heuristics and the trade-offs among completeness, optimality, time complexity, and space complexity.
  • Analyse the types of search and their applications in AI and describe the problem of combinatorial explosion of search space and its consequences.
  • Demonstrate knowledge representation, semantic network and frames along with their applicable uses.
  • Practice Natural Language Processing, translate a natural language (e.g., English) sentence into a predicate logic statement, convert a logic statement into clause form, apply resolution to a set of logic statements to answer a query.
  • Analyse programming languages for AI and expert systems technology, and employ application domains of AI.
Introduction to Cyber Security and Strategy 2

At the end of this course, students should be able to:

  • Explain cybersecurity concepts, its methods, elements, and terminologies of cybersecurity -cyber, security, threat, attack, defence, and operations.
  • Describe common cyber-attacks and threats, cybersecurity issues, challenges and proffered solutions, and build an enhanced view of main actors of cyberspace and cyber operations.
  • Apply the techniques for identifying, detecting, and defending against cybersecurity threats, attacks and protecting information assets.
  • Explain the impact of cybersecurity on civil and military institutions, privacy, business and government applications.
  • Identify the methods and motives of cybersecurity incident perpetrators, and the countermeasures employed by organisations and agencies to prevent and detect those incidences and software application vulnerabilities.
  • State the ethical obligations of security professionals, evaluate cybersecurity and national security strategies to the typologies of cyber-attacks that require policy tools and domestic response, and define the cybersecurity requirements and strategies evolving in the face of big risk.
Data Management I 3

At the end of the course, the students should be able to:

  • Describe the components of a database system and give examples of their use.
  • Describe the differences between relational and semi-structured data models.
  • Explain and demonstrate the concepts of entity integrity constraint and referential integrity constraint.
  • Apply queries, query optimisations and functional dependencies in relational databases.
  • Describe properties of normal forms and explain the impact of normalisation on the efficiency of database operations.
  • Describe database security and integrity issues and their importance in database design.
  • Explain the concepts of concurrency control and recovery mechanisms in databases.
Web Application Development 2

At the end of the lecture, the students should be able to:

  • Design and implement simple client-side and server-side web applications.
  • Demonstrate hands-on skills in PHP and Python programming uses open-source software.
  • Compare and contrast web programming with general-purpose programming.
  • Develop a fully functioning website and deploy it on a web server.
Data Communication System and Network 3

At the end of this course, students should able to:

  • Define various terminologies relating to Data communication.
  • Explain the Seven Layer ISO-OSI standard protocols and network architecture.
  • Describe different error-detection methods.
  • Describe Internet Technologies and Protocols.
  • List the features and benefits of Network Operating System.
2nd Semester Units
Peace and Conflict Resolution 2

At the end of the course, students should be able to:

  • Analyse the concepts of peace, conflict and security.
  • List major forms, types and root causes of conflict and violence.
  • Differentiate between conflict and terrorism.
  • Enumerate security and peacebuilding strategies.
  • Describe roles of international organisations, media and traditional institutions in peacebuilding.
Venture Creation 2

At the end of the course, students should be able to:

  • Identify business opportunities in Nigeria through environmental scanning and market research, considering social, climate, and technological factors.
  • Understand entrepreneurial finance options like venture capital, equity finance, microfinance, and small business investment organisations.
  • Grasp the principles of marketing, customer acquisition, and retention, as well as e-commerce models (B2B, C2C, B2C), learning from successful e-commerce companies.
  • Acquire skills in small business management, family business dynamics, negotiation, and modern business communication methods.
  • Demonstrate their ability to generate business ideas and explore emerging technologies for market solutions and digital business strategies.
Operating Systems 3

At the end of this course, students should be able to:

  • Recognise operating system types and structures.
  • Describe OS support for processes and threads.
  • Recognise CPU scheduling, synchronisation, and deadlock.
  • Resolve OS issues related to synchronisation and failure for distributed systems.
  • Explain OS support for virtual memory, disk scheduling, I/O, and file systems.
  • Identify security and protection issues in computer systems.
  • Use C and Unix commands, examine behaviour and performance of Linux, and develop various system programmes under Linux to make use of OS concepts related to process synchronisation, shared memory, mailboxes, file systems, etc.
Computer Science Innovation and New Technologies 2

At the end of this course, students should be able to:

  • Explain business models.
  • Identify some entrepreneurial opportunities available in IT.
  • Describe business plan and business startup process.
  • Explain business feasibility and strategy.
  • Explain marketing strategies.
  • Discuss business ethics and legal issues.
Data Management II 3

At the end of this course, students should be able to:

  • Explain the principles and best practices of managing data with efficiency and effectiveness.
  • Demonstrate knowledge of SQL and NoSQL.
  • Explain data warehouse concepts, methodologies and tools.
  • Explain data mining architecture and applications.
SIWES II 3

At the end of this training, students should be able to:

  • Explain how a typical computer firm/unit operates.
  • Describe the various assignments carried out and the skills acquired during the SIWES period.
  • Submit a comprehensive report on the knowledge acquired and the experience gained during the exercise.
Computational Science & Numerical Methods (Elective) 2

At the end of the course, students should be able to:

  • Apply advanced programming techniques in C++.
  • Create plots with C++ and MatLab.
  • Perform computations with matrices and vectors in MatLab and Python.
  • Understand basic linear algebra operations.
  • Analyse machine arithmetic and numerical stability.
  • Solve linear systems of equations and least squares problem.
  • Use filtering algorithms and Discrete Fourier Transform.
  • Perform data interpolation and fitting in 1-D, and solve ODEs using single-step methods.
Formal Models of Computation (Elective) 2

At the end of the course, students should be able to:

  • Comprehend fundamental mathematical concepts, including sets and their subsets, relations, strings, and languages. Have a strong understanding of Finite Automata.
  • Distinguish between Deterministic Finite Automata (DFA) and Nondeterministic Finite Automata (NFA) while being proficient in Regular Expressions and recognising their equivalence with DFA and NFA.
  • Be well-versed in Regular languages and their closure properties, such as union, intersection, complementation, concatenation, and Kleene star.
  • Be familiar with Non-regular languages and the Pumping Lemma for Regular Languages.
  • Grasp Context-free grammar (CFG) and Context-free languages (CFL), gaining expertise in the usage and understanding of the Pushdown Automata (PDA) and recognising its equivalence with CFG.
  • Be adept in handling the closure properties of Context-free languages and identifying Non Context-free languages using the Pumping Lemma for Context-free languages.
  • Have a comprehensive knowledge of Turing machines, recognising and deciding languages efficiently.
  • Gain insights into the concepts of Diagonalization, Undecidability, unrecognisability, and be well-versed in Time complexity, complexity class P, and class NP, enabling them to analyse and solve complex computational problems effectively.
Image and Video Processing (Elective) 2

At the end of the course, students should be able to:

  • Comprehend Image and Video Processing, Signals and Systems, Fourier Transform and Sampling.
  • Apply motion estimation techniques, understand colour image processing fundamentals, and use Image and Video Enhancement methods like histogram processing and sharpening.
  • Explore Image Recovery, including iterative restoration algorithms and the Wiener restoration filter.
  • Gain insight into Lossless Compression, Image Compression (JPEG, scalar quantization), and Video Compression standards like H.264 and MPEG-4.
  • Learn Image and Video Segmentation methods based on intensity discontinuity and intensity similarity, along with an overview of Sparsity and its applications.
1st Semester Units
Research Methodology and Technical Report Writing 3

At the end of the course, students should be able to:

  • Distinguish qualitative and quantitative research methodologies and their applications.
  • Identify and define a research problem in a given area.
  • Identify different methods of data collection and select the methods appropriate to a given situation.
  • Design and conduct simple research including analysis and interpretation of research results.
  • Document research problem, methodology all the way to research report writing.
  • Defend the written research report.
  • Familiarise themselves with ethical issues in the conduct of research.
Algorithms and Complexity Analysis 2

At the end of the course, students should be able to:

  • Explain the use of big-O, omega, and theta notation to describe the amount of work done by an algorithm.
  • Use big-O, omega, and theta notation to give asymptotic upper, lower, and tight bounds on time and space complexity of algorithms.
  • Determine the time and space complexity of simple algorithms.
  • Deduce recurrence relations that describe the time complexity of recursively defined algorithms.
  • Solve elementary recurrence relations.
  • Identify practical examples to which different strategies (brute-force, greedy, divide-and-conquer, recursive backtracking, and dynamic programming) would apply.
  • Use pattern matching to analyse substrings.
  • Use numerical approximation to solve mathematical problems, such as finding the roots of a polynomial.
Project Management 2

At the end of this course, students should be able to:

  • Acquire comprehensive knowledge and understanding of project management, including planning, scheduling, and resource utilization.
  • Be adept at efficiently managing project resources, making procurement decisions, and effectively monitoring and executing projects with excellent communication and time management skills.
  • Be prepared to successfully lead and oversee projects, ensuring their timely and successful completion.
  • Be equipped with the necessary skills to handle project complexities, adapt to changing circumstances, and make informed decisions to achieve project goals.
  • Be prepared for real-world project management scenarios, enabling them to excel in managing and delivering successful projects.
Distributed Computing 2

At the end of the course, students should have learned to:

  • Summarise and describe general properties, challenges, and characteristics of distributed systems.
  • Describe generally distributed algorithms for synchronisation and concurrency, coordination, transactions, and replication.
  • Exemplify practical issues that need to be considered when designing, implementing, and debugging distributed systems.
  • Compare replication schemes with respect to performance, availability, and consistency concerns.
  • Design, implement, and debug distributed systems.
Organization of Programming Languages 3

At the end of the course, students should be able to:

  • Demonstrate a comprehensive understanding of programming languages, their history, and the various paradigms they encompass, including procedural, object-oriented, functional, declarative (non-algorithmic), and scripting languages.
  • Explain the impact of scale on programming methodology and the structure of language definitions.
  • Have a strong grasp of data types and structures, covering basic data types like lists and trees, control structures, data flow, run-time considerations, interpretative languages, lexical analysis, and parsing.
  • Be proficient in describing language syntax, semantics, and control structures, as well as understanding abstract data types, object-oriented programming, functional programming, logic programming, formal semantics, and parallel programming.
  • Have opportunities to deliver language presentations, further enhancing their communication and presentation skills in the domain of programming languages.
Final Year Project I 3

At the end of this course, students should be able to:

  • Identify a researchable project topic in Computer Science.
  • Search and review literature pertinent to identified problem statement.
  • Acknowledge and reference sources of information used in the research report.
  • Conceptualise and design a research methodology to address an identified problem.
  • Determine tools for analysing data collected based on research objectives.
  • Write a coherent proposal on the research project to be conducted.
  • Orally present the written project proposal.
2nd Semester Units
Ethical and Legal Issues in Computer Science 2

At the end of the course, students should be able to:

  • State laws and regulations related to ethics.
  • Identify and explain relevant codes of ethics for computing practice.
  • Identify social and ethical issues in different areas of computing practice.
  • Review real-life ethical cases and be able to develop ethical resolutions and policies.
  • Explain the consequences of ignoring and non-compliance with ethical provisions.
  • Develop a sound methodology in resolving ethical conflicts and crises.
Machine Learning 3

At the end of the course, students should be able to:

  • Demonstrate a comprehensive understanding of various machine learning algorithms and techniques.
  • Be proficient in applying supervised learning methods, unsupervised learning techniques, and decision trees to solve a wide range of real-world problems.
  • Gain expertise in linear regression, including ordinary least squares (OLS) and regularisation, as well as utilising linear classifiers effectively.
  • Be adept at employing logistic regression and multi-class logistic regression for classification tasks.
  • Be skilled in using ranking algorithms, support vector machines, feature selection, latent factor models like PCA, and clustering methods such as k-means and soft k-means.
  • Have acquired knowledge of ensemble methods like Random Forest and AdaBoost, along with a deep understanding of probabilistic methods from a Bayesian perspective.
  • Understand neural networks, convolutional neural networks, and auto-encoders.
  • Effectively evaluate and select models for different applications.
Human Computer Interaction 2

At the end of this course, students should be able to:

  • Discuss the foundations and concept of human-computer interface.
  • Explain the principles of human-computer interface.
  • Explain the design and development of the human-computer interface.
  • Explain the importance of user feedback.
Final Year Project II 3

At the end of the course, students should be able to:

  • Demonstrate technical skills in Computer Science.
  • Demonstrate generic transferable skills such as communication and teamwork.
  • Produce a technical report in the chosen project.
  • Defend the written project report.
  • Appreciate the art of carrying out full-fledged research.
Compiler Construction 3

At the end of the course, students should be able to:

  • Comprehend and analyse the fundamental concepts and functionalities of compilers, assemblers, and interpreters.
  • Understand the syntax, semantics, and pragmatics of programming languages.
  • Identify the functional relationships between lexical analysis, expression analysis, and code generation.
  • Be familiar with the internal structure of a typical compiler program and proficiently utilise a standard compiler as a practical tool.
  • Be capable of detecting and recovering from errors efficiently.
  • Be skilled in dealing with grammars and languages, recognising the parsing problem and employing both top-down and bottom-up language recognisers.
  • Have a comprehensive understanding of run-time storage organisation, including the use of display in run-time storage allocation.
  • Be adept at constructing LR tables, organising symbol tables, and efficiently allocating storage to run-time variables.
  • Possess the ability to generate optimised code and translate programming systems effectively.
Cloud Computing Security 2

At the end of this course, students should be able to:

  • Review the concept of cloud, cloud computing, and benefits of the cloud and knowledge of cloud-enabling technologies, virtualisation and multi-tenanting.
  • Describe cloud services and service-oriented architectures, and examine the cloud reference model and cloud service models such as IaaS, PaaS and SaaS.
  • State the cloud deployment models of Public, Private, Hybrid and Community clouds and express how to build a cloud, the open standards and open source cloud management tools, architectural best practices and how to design for the cloud.
  • Discuss the security in the cloud and how to efficiently secure your cloud, security for cloud computing.
  • Apply the economics of the cloud, costs and payment models, have knowledge of when to use the cloud, cloud strategy, standards and the future.
  • Analyse data centres, servers, data storage, data centre networking and virtualisation, cloud cube model, cloud threats, threat mitigation, cloud and security risks, real-world issues with cloud computing, and cloud security alliance.
  • Distinguish the National Institute of Standards and Technology, Information Assurance Framework, Cloud Audit, Cloud Management Audit/Assurance Programme, Cloud Business Continuity Planning for secured and effective management of the cloud.

Admission Requirements

100 Level Entry Requirements for BSc. in Computer Science

Here’s what you need to study for a bachelor’s programme at Miva University

A copy of your O’Level result

The result must include a minimum of five credits in the following subjects in not more than two sittings:

Please note that submission of Joint Admissions and Matriculation Board (JAMB) results is  not mandatory at this stage. However, upon admission to the university, the provided results will be thoroughly verified for authenticity and compliance with the stated criteria, including JAMB Regularisation.

Direct Entry Admission Requirements for BSc. in Computer Science

Here’s what you need to study for a bachelor’s programme at Miva Open University

Direct Entry Candidates must meet ‘O’ Level requirements for the programme:

Careers

Potential roles for BSc. Computer Science degree holders

Career Options

Learn on your terms with pre-recorded engaging and interactive videos on your educational journey for flexible, convenient, and self-paced study.

Tuition

Payment Plans

Miva Open University offers a flexible payment plan for its degree programmes. You may choose to pay the year’s fee or per semester.

Tuition Per Session

Pay Per Session. No hidden charges. No additional costs.

₦350,000

₦320,000

Discount applies for full year’s payment.

Tuition Per Semester

Pay Per Semester. No hidden charges. No additional costs.

₦175,000

Discount applies for full year’s payment.