Admission for the January 2025 academic session is ongoing Apply Now!

School of Computing

BSc. Software Engineering

This programme is designed to prepare you for a career in an exhilarating field of Software engineering. It is a discipline that deals with the development, design, and maintenance of software systems. It involves applying engineering principles and practices to create high-quality software products. Software engineers are responsible for analysing user requirements, designing software solutions, implementing and testing those solutions, and ensuring their proper functioning.

ADMISSION OPTIONS

ADMISSION OPTIONS

Tuition Per Session

$590

Tuition Per Semester

$315

Introduction to Software Engineering

Start your bachelor’s degree in Software Engineering

Our Bachelor of Science in Software Engineering programme is designed to prepare you for a career in an exhilarating field of Software engineering. It is a discipline that deals with the development, design, and maintenance of software systems. It involves applying engineering principles and practices to create high-quality software products. Software engineers are responsible for analysing user requirements, designing software solutions, implementing and testing those solutions, and ensuring their proper functioning.

Our programme is distinguished by the exceptional quality of our faculty members, who are industry experts with a wealth of knowledge and practical experience. They bring real-world insights into the virtual classroom, ensuring that you receive relevant and up-to-date instruction. Our instructors are passionate about software engineering and are dedicated to fostering your understanding and mastery of the subject matter.

If you are interested in a career in software engineering, our Bachelor of Science in software engineering programme is the perfect choice for you. Apply today!

Why you should apply;

Applications for January 2025 admission is ongoing.

Apply before 31st December 2024, to secure your place. Discount applies for full year’s payment.

Programme Summary

Study Level

BSc. Software Engineering

Study Duration

8 Semesters

Mode of study

Blended Learning

Tuition per session

$590

Tuition per semester

$315

Curriculum

Programme Outline

Our curriculum is designed to provide students with a comprehensive understanding of software engineering principles, practices, and methodologies. It aims to develop their technical skills, problem-solving abilities, teamwork, and communication skills necessary for a successful career in software development and engineering.

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 centre, and a variety of student organisations.

1st SemesterUnits
Communication in English I2

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 Trigonometry2

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 – Mechanics2

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 I1

At the end of this 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 ICT2

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 Statistics3

At the end of this 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 used.
  • Compute different types of index number from a given data set and interpret the output.
  • Understand and apply frequency distributions to organize and summarize data.
  • Create and interpret various types of charts and graphs to visualize data effectively.
  • Compute and interpret measures of central tendency to identify the center 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.
  • Analyze continuous probability distributions, such as Uniform, Normal, and Exponential distributions.
Introduction to Computing Sciences3

At the end of this 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 should 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 SemesterUnits
Introduction to Problem Solving3

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 Culture2

At the end of this 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 – Calculus2

At the end of this course, students should 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 & Magnetism2

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.
  • Make calculations using Faraday and Lenz’s laws.
  • Explain the basic physical of Maxwell’s equations in integral form.
  • Evaluate DC circuits to determine the electrical parameters.
  • Characterize ac voltages and currents in resistors, capacitors, and inductors.
General Practical Physics II1

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 Technologies3

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

  • Plan, design, and develop effective web pages with a focus on the practical application of the technologies used in web development.
  • Use tools like HTML5, Cascading Style Sheet (CSS) and Javascript.
  • Host a website on a selected web server.
  • Develop web content development skills.
Communication in English II2

At the end of this course, students should 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 SemesterUnits
Entrepreneurship and Innovation2

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.
  • Analyse 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 I2

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 I3

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 Structures2

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

  • Convert logical statements from informal language to propositional
    and predicate logic expressions.
  • Describe the strengths and limitations of propositional and
    predicate logic and outline the basic structure of each proof
    technique to be described.
  • 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.
  • 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 Design2

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 Engineering2

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.
Software Requirements Engineering3

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

  • Explain requirements engineering (RE).
  • Understanding what a customer wants.
  • Analyse the need and assessing feasibility.
  • Negotiate a reasonable solution, clearly specifying the solution,
    validating the specifications, and managing the requirements as they
    are transformed into a working system are all provided by
    requirement engineering.
  • Examine current techniques, notations, methods, processes, and tools
    for software requirements engineering.
  • Create models for both software engineering processes and products,
    as well as functional and non-functional goals, requirements, and
    specifications.
  • Possess the skills required for software requirements engineering as
    well as a foundation for systematically establishing, defining, and
    managing requirements for large, complex, and changing
    software-intensive systems from technical, organisational, and
    management perspectives.
SIWES I3

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

  • Describe the various assignments carried out and the skills acquired
    during the training period and submit a comprehensive report on the
    knowledge acquired and the experience gained during the exercise.
    SIWES I will take place during long vacations of 200 Level and 300
    Level.

2nd SemesterUnits
Philosophy, Logic and Human Existence2

At the end of this course, students should 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.
Mathematical Methods II2

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

  • Explain the concepts of Sturm-Liouville theory and apply them to
    solve boundary value problems involving ordinary differential
    equations.
  • Analyse functions and determine their Fourier series expansions,
    including handling discontinuities and periodic functions.
  • Solve partial differential equations, including the heat, wave, and
    Laplace equations, by applying the method of separation of
    variables.
  • Use orthogonal polynomials and functions to solve differential
    equations and express functions as series expansions.
  • Expand functions in terms of eigenfunctions and apply this technique
    to solve differential equations with variable coefficients.
  • Use Fourier transforms to solve differential equations and analyse
    signals in the time and frequency domains.
Computer Programming II3

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 Organisation2

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.
Systems Analysis and Design3

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

  • Describe system requirements gathering techniques, data modelling
    technique (entity relationship modelling), process modelling
    technique (data flow diagram), system architectural design, process
    and database design and user interface design.
Sustainable Computing (Elective)3

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

  • Measure computer power consumption.
  • Reduce power consumption.
  • Procure sustainable hardware.
  • Design green data centres.
  • Recycle computer equipment.
  • Configure computers to minimise power consumption.
  • Use virtualization to reduce the number of servers, and other green
    technologies.
  • Integrate sustainable information technology into organisational
    culture and planning in order to foster long-term sustainability.
Software Engineering Process (Elective)3

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

  • Provide the role of software processes in software development and
    will have experienced a variety of processes, ranging from rigid to
    agile.
  • Explain the role of software processes in software development and
    will have experienced a variety of processes, ranging from rigid to
    agile.

1st SemesterUnits
Data Structures3

At the end of this 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.
Object-Oriented Analysis and Design2

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

  • Produce detailed object models and designs from system requirements.
  • Use the modelling concepts provided by UML.
  • Identify use cases and expand into full behavioural designs.
  • Expand the analysis into a design ready for implementation and construct designs that are reliable.
Web Application Development3

At the end of this course, 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 & Network3

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.
Software Defined Networking2

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

  • Build, evaluate and maintain the software defined networks (SDN) that make that possible and how it is changing the way communications networks are managed, maintained, and secured.
  • Explain topics including data and control plane abstraction, network extensibility, automation, security, and scalability.
  • Exhibit hands-on experience gained in SDN, network function virtualisation (NFV) and network application development.
SIWES II3

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

  • Describe the various assignments carried out and the skills acquired during the training period.
  • Submit a comprehensive report on the knowledge acquired and the experience gained during the exercise.

2nd SemesterUnits
Peace and Conflict Resolution2

At the end of this 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 Creation2

At the end of this 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 Systems3

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.
Software Construction2

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

  • Verify the groundwork that has been done before construction. Students will also learn the object-oriented design approach.
  • Write a pseudocode and its conversion into any specific programming language.
  • Perform collaborative development, refactoring and integration techniques.
  • Carry out different formatting and commenting approaches.
Software Engineering Innovation and New Technologies2

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

  • Explain business models, and identify some entrepreneurial opportunities available in Software Engineering.
  • Describe and create business plans and business startup processes.
  • Explain and perform business feasibility and strategy, marketing strategies and discuss business ethics and legal issues.
Software Testing and Quality Assurance2

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

  • Explain the processes, principles, and techniques of software testing and analysis.
  • Explain a full spectrum of topics from basic principles and underlying theory of testing to organisational and process issues in real-world applications.
Mobile Application Development2

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

  • Explain mobile infrastructures, mobile technologies, and design and implementation skills for mobile apps using contemporary development methodologies and environments.
  • Explain mobile systems, mobile operating systems, mobile application development environments, short-range communication technologies (Bluetooth, WiFi), mobile application development methodologies (Android-Java, iOS-Swift), mobile application deployment and distribution, and mobile networks and communication infrastructures (GSM, CDMA, 3G/WCDMA/UMTS).
Data Management I3

At the end of this course, 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.

1st SemesterUnits
Research Methodology and Technical Report Writing3

At the end of this 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.
  • Familiarize themselves with ethical issues in the conduct of research.
Algorithms and Complexity Analysis2

At the end of this 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, for each of the strategies (brute-force, greedy, divide-and-conquer, recursive backtracking, and dynamic programming), identify a practical example to which it would apply.
  • Use pattern matching to analyse substrings.
  • Use numerical approximation to solve mathematical problems, such as finding the roots of a polynomial.
Project Management2

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.
Final Year Project I3

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

  • Identify a researchable project topic in Software Engineering, search and review literature pertinent to identify problem statements and acknowledge and reference sources of information used in the research report.
  • Conceptualize and design a research methodology to address the identified problem.
  • Determine tools for analyzing data collected based on research objectives.
  • Present the written project proposal.
Software Configuration Management and Maintenance2

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

  • Provide the importance of software configuration management.
  • Explain typical processes in software configuration management & maintenance.
  • Provide key issues in software maintenance.
Software Reverse Engineering and Malware Analysis2

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

  • Provide fundamental problems, principles, and techniques in software reverse engineering of binaries including static analysis techniques, disassembly algorithms, dynamic analysis techniques, automated static and dynamic analysis techniques, malware analysis techniques, anti-analysis techniques, and malware obfuscation and packing techniques.
  • Demonstrate and practice many of the techniques using IDA.
  • Analyze new malware samples and firmware samples, and develop new analysis tools.
Artificial Intelligence3

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/behavior and human-like reasoning/behavior.
  • Describe the role of heuristics and the trade-offs among completeness, optimality, time complexity, and space complexity.
  • Analyze 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.
  • Analyze programming languages for AI and expert systems technology, and employ application domains of AI.

2nd SemesterUnits
Ethics and Legal Issues in Software Engineering3

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

  • Explain the state laws and regulations related to ethics.
  • Identify and explain relevant codes of ethics, social and ethical issues in different areas of Software Engineering.
  • Review real-life ethical cases and 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 crisis.
Software Architecture and Design2
At the end of this course, students should be exposed to all elements of architectural design and implementation of software systems; this includes architecture specifications, analysis, patterns, representations, methodologies, tools, and programming environments that are employed.
Human Computer Interaction2
At the end of this course, students should be able to describe and comprehend the fundamentals of the human-computer interface, as well as its concepts, design and development, and the value of user feedback.
Final Year Project II3
At the end of this course, students should be able to demonstrate technical skills in Software Engineering, demonstrate generic transferable skills such as communication and teamwork, produce a technical report in the chosen project, defend the written project report, and appreciate the art of carrying out a full-fledged research.
Compiler Construction3
At the end of this course, students should be able to comprehend and analyze 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 utilize a standard compiler as a practical tool, be capable of detecting and recovering from errors efficiently, be skilled in dealing with grammars and languages, recognizing the parsing problem and employing both top-down and bottom-up language recognizers, have a comprehensive understanding of run-time storage organization, including the use of display in run-time storage allocation, be adept at constructing LR tables, organizing symbol tables, and efficiently allocating storage to run-time variables, possess the ability to generate optimized code and translate programming systems effectively.
Machine Learning3
At the end of this course, students should be able to apply supervised and unsupervised learning techniques, use Decision Trees, linear regression, and logistic regression, implement SVM, clustering, and ensemble methods, understand probabilistic methods and model evaluation, and get an introduction to neural networks and Auto-encoders.
Cloud Computing Security2

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

  • Acquire comprehensive knowledge and understanding of the cloud landscape, including architectural principles, techniques, design patterns, and real-world best practices for both cloud service providers and consumers.
  • Grasp the essentials of delivering secure cloud-based services, encompassing cloud security architecture, guiding security design principles, industry standards, applied technologies, and regulatory compliance requirements.
  • Be equipped to design, implement, deliver, and manage secure cloud-based services, ensuring data protection and maintaining the integrity of cloud environments.
  • Be prepared to navigate the complexities of cloud security, enabling them to contribute effectively to the development and management of secure and resilient cloud infrastructures in various industry settings.

Admission Requirements

100 Level Entry Requirements for BSc. in Software Engineering

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 Registration.

Direct Entry Admission Requirements for BSc. in Software Engineering

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. Software Engineering degree holders

Career Options

The field of software engineering is constantly evolving, so new and exciting career opportunities are always emerging. If you obtain a bachelor’s degree in software, these are possible careers for you:

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.

$590

Tuition Per Semester

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

$315