null
B.Sc. Software Engineering

Course Synopsis for Software Engineering (B.Sc.)

PART 1


CSE 102: Introduction to Software Engineering

3 Credit Units
Two lecture hours. Three Lab hours


Introduction to software engineering techniques, methodologies and process models, specification modelling, requirements analysis and definition, agile software development, software design, quality assurance, testing, development tools and environments and software engineering ethics; introduction to software management; dependability and security assurance. Software engineering concepts and principles; design, development and testing of software systems. Introduction to software life cycle. Requirements, design and testing. Review of principles of object orientation. Object oriented analysis using UML. Frameworks and APIs. Introduction to the client-server architecture. Analysis, design and programming of a team-project including user interface considerations.

CSE 104: Introduction to Web Technologies

2 Credit Units
One lecture hour. Three Lab hours


Broadly examines the key technologies and programming models of the web and its underlying Internet infrastructure including client-side technologies such as HTML, CSS and Javascript, content formats and server-side technologies such as web and application servers, database back ends, client-server programming model, communication protocols such as http and TCP/IP. Students should also be introduced to content creation with client-side technologies and time permitting, some basic database driven application using a familiar application framework.

CSE 215: Logic and its Applications in Computer Science

3 Credit Units
Two lecture hours. Three Lab hours


Topics include: valid & invalid arguments; translating from English to th0 language of propositional and predicate logic; formal deduction and its role in proving the validity of an argument; logic & computer science – how to build circuits from logic gates and how to minimize circuits using propositional logic; introduction to Prolog – a Programming language based on logic; and, the applications of logic in computer science – AI, automated theorem-provers, expert systems, and so on.

Prerequisite: CSC 215

CSE 205: Software Requirements and Design

3 Credit Units
Two lecture hours. Three Lab hours


Definition of a software requirement, product and process requirements, functional and non–functional requirements, emergent properties, quantifiable requirements, and system requirements; Requirements process – process models and actors, process support and management, and process quality and improvement; Requirements elicitation – requirements sources and elicitation techniques

CSE 206: Software Construction

2 Credit Units
One lecture hours. Three Lab hours


Topics include specifications, abstraction techniques including typing, access control, inheritance, polymorphism, genericity and design patterns, frameworks and architectures.  Students will also learn the proper engineering use of techniques such as information hiding, classes, objects, inheritance, design by contract, exception handling, event-based systems, and concurrency. Special emphasis should be placed on suitable and appropriate object-oriented software development such as software quality and corresponding concepts, principles and best practices for addressing both functional and non-functional requirements of the software system in its architecture.

CSE 208: Design and Analysis of Computer Algorithms

2 Credit Units
One lecture hours. Three Lab hours


Introduction to algorithms and its importance, mathematical foundations: growth functions, complexity analysis of algorithms, summations, recurrences, sorting algorithms. Algorithm design: divide-and-conquer approach, greedy approach. Graph algorithms: graph searching, topological sort, minimum spanning tree, shortest paths, backtracking and its applications in games. String matching. Dynamic programming and longest common subsequence. Theory of NP-completeness. Turing machines and the halting problem.

CSE 212: Software Engineering Process

2 Credit Units
One lecture hours. Three Lab hours


Software process definition – software process management and infrastructure, Software life cycles – categories of software processes, software life cycle models, software process adaptation, practical considerations; Software process assessment and improvement – software process assessment methods, software process improvement models, and continuous and staged software process rating; Software measurement – software process and product measurement, quality of measurement results, and software process measurement techniques; Software engineering process tools

CSE 301: Object-Oriented Analysis and Design

3 Credit Units
Two lecture hours. Three Lab hours


Object–oriented approach to information system development, particularly in reference to the earlier stages of analysis and design. Importance of modelling, principles of modelling, object–oriented modelling, conceptual model of the Unified Modelling Language (UML), architecture, software development life cycle. The principles and basic concepts of object orientation and the different aspects of object–oriented modelling as represented by the UML technique. Case study of a typical UML–based CASE tool

CSE 303: Software Testing &Quality Assurance

3 Credit Units
Two lecture hours. Three Lab hours


How to assure it and verify it, and the need for a culture of quality. Avoidance of errors and other quality problems. Inspections and reviews. Testing, verification and validation techniques. Process assurance vs. Product assurance. Quality process standards. Product and process assurance. Problem analysis and reporting. Statistical approaches to quality control

CSE 305: Web Application Development

3 Credit Units
Two lecture hours. Three Lab hours


Covers client-server model for web applications and associated client-side and server side technologies, MVC development guideline and development of a complete web application using a framework such as Ruby of rails of Django.

Pre-requisite CSE 104

CSE 307: Database Systems

3 Credit Units
Two lecture hours. Three Lab hours


The course will cover the concept, principles, components, development and application of database systems. The conceptual models and structures necessary to designing and implementing a relational database system will be taught. Topics to be covered: entity-relationship, relational data models, relational algebra, SQL, normalization, file organization, indexing, hashing, and enterprise-wide web-based applications that employ databases.

CSE 309: Concepts of Programming Languages

2 Credit Units
One lecture hour. Three Lab hours


Preliminaries, evolution of programming languages, paradigms, language design considerations, language processing including syntax and semantic analysis, naming, binding, type checking, expression and assignment statement, statement-level control structures, subprograms, abstract data types, support for object-oriented languages, concurrency, exception handling, functional and logic programming.

CSE 311: Special Topics in Software Engineering

2 Credit Units
Two lecture hours. Three Lab hours


Software Design: Software architecture, Design Patterns, Object Oriented Analysis & Design, and Design for re-use. Using APIS: API programming Class browsers and related tools, Component based computing. Software tools and Environment: Requirements analysis and design modelling Tools, Testing tools, Tool integration mechanics. Recent topics and developments in software engineering are expected to be introduced from year to year. Students are also expected to do substantial readings on their own.

CSE 399: Students Industrial Work Experience Scheme

12 Credit Units


Student’s Industrial work experience of 6 months’ duration. Students’ reports will be presented in a seminar. Students are attached to private and public organisations for a period of six months with a view to making them acquire practical experience and to the extent possible, develop skills in all areas of computing. Students are supervised during the training period and shall be expected to keep records designed for the purpose of monitoring their performance. They are also expected to submit a report on the experience gained and defend their reports.

CSE 401: Software Configuration Management and Maintenance

2 Credit Units
One lecture hour. Three Lab hours


Management of the software configuration management process – organisation context for software configuration management, constraints and guidance for software configuration management process, planning for software configuration management, software configuration management plan, and surveillance of software configuration management; Software configuration identification and software library; Software configuration control – requesting, evaluating and approving software changes, implementing software changes, and deviations and waivers; Software configuration status accounting – software configuration status information and reporting; Software configuration auditing. Key issues in software maintenance – technical issues, management issues, maintenance cost estimation, and software maintenance measurement; Maintenance process – maintenance processes and activities; Techniques for maintenance – program comprehension, reengineering, reverse engineering, migration, and retirement.

CSE 402: Software Engineering Economics

2 Credit Units
Two lecture hours.


Software engineering economics fundamentals; lifecycle economics; Risk and uncertainty – goals, estimates and plans, estimation techniques, addressing uncertainty, prioritisation, decisions under risk and uncertainty; Economic analysis methods – for–profit decision analysis, minimum acceptable rate of return, return on investment and capital employed, cost–benefit analysis, cost–effectiveness analysis, break–even analysis, business case, multiple attribute evaluation, and optimisation analysis; Practical considerations – the “good enough” principle, friction – free economy, ecosystems, and offshoring and outsourcing

CSE 403: Software Engineering Project Management

2 Credit Units
One lecture hour. Three lab hours


Determination and negotiation of requirements, feasibility analysis, and process for the review and revision of requirements; Software project planning – process planning, determine deliverables, effort, schedule and cost estimation, resource allocation, risk management, quality management, and plan management; Software project enactment – implementation of plans, software acquisition and supplier contract management, implementation of measurement process, monitor process, control process, and reporting; Review and evaluation – determining satisfaction of requirements, and reviewing and evaluating performance; Closure – determining closure and closure activities; Software engineering measurement – establish and sustain measurement commitment, plan the measurement process, preform the measurement process; and evaluate measurement; Software engineering management tools.

CSE 404: Human Computer Interaction

3 Credit Units
Two lecture hours. Three lab hours


Introduces the principles of user interface development, focusing on three key areas: (1). Design: How to design good user interfaces, starting with human capabilities and using those capabilities to drive design techniques: task analysis, user-centered design, iterative design, usability guidelines, interaction styles, and graphic design principles. (2). Implementation: Techniques for building user interfaces, including low-fidelity prototypes, Wizard of Oz, and other prototyping tools; input models, output models, model-view-controller, layout, constraints, and toolkits. (3). Evaluation: Techniques for evaluating and measuring interface usability, including heuristic evaluation, predictive evaluation, and user testing

CSE 405: Research Methodology in Software Engineering

3 Credit Units
Two lecture hours.


Foundations of research; problem identification and formulation; research design; qualitative and quantitative research; measurement; sampling; data analysis; Interpretation of data and paper writing; use of encyclopaedias, research guides, handbook etc., academic databases for computer science discipline; use of tools/techniques for research: reference management software, software for detection of plagiarism.

CSE 406: Open-Source Software Development and Applications

2 Credit Units
One lecture hour. Three lab hours


Introduces concepts, principles and applications of open source software.  Discusses about open source software development process.  Covers economy, business, societal and intellectual property aspects of open source software.  Obtain hands‐on experiences on open source software and related tools through developing various open source software applications such as mobile applications and Web applications building on existing open-source frameworks and application development platforms.

CSE 407: Software Engineering Professional Practice

2 Credit Units
One lecture hour. One tutorial hour


Accreditation, certification and licensing, codes of ethics and professional conduct, nature and role of professional societies and software engineering standards, economic impact of software, employment contracts, legal issues, documentation, and trade–off analysis; Group dynamics and psychology – dynamics of working in teams/groups, individual cognition, dealing with problem complexity, interacting with stakeholders, dealing with uncertainty and ambiguity, and dealing with multicultural environments; Communication skills – reading, understanding and summarising, writing, teams and group communication, and presentation skills

CSE 408: Distributed, Parallel and Cloud Computing

2 Credit Units
One lecture hour. Three lab hours


Analysis and Design of Parallel and Distributed Algorithms; Languages/Operating Systems for parallel processing; GPGPU computing; Architecture of parallel/distributed systems, Tools for parallel computing, Parallel (distributed) database systems, Networking aspects of parallel/distributed computing, Parallel/distributed scientific computing Applications; High-performance computing Applications in molecular sciences; Multimedia applications for parallel/distributed systems; Grid networks, services and applications; Distributed File Systems; Hyper Scale/Hyper Converged Distributed Storage Design, Storage I/O Protocols; Cloud as a Service, Cloud Infrastructure, Management and operations, Performance, Scalability, Reliability, Virtualisation, loud Provisioning Orchestration, Architecture support, Development Tools, Platforms and Applications, Legal aspects and Service Level Agreement, Mobile computing advances in the Cloud, Performance optimisation

CSE 409: Software Engineering Security

2 Credit Units
One lecture hour. Three lab hours


History and terminology, security mindset, design principles, system/security life–cycle, security implementation mechanisms, information assurance analysis model, disaster recovery, and forensics; Security mechanisms–cryptography, authentication, redundancy, and intrusion detection; Operational issues–trends, auditing, cost/benefit analysis, asset management, standards, enforcement, legal issues, and disaster recovery; Policy–creation of policies, maintenance of policies, prevention, avoidance, incident response (forensics), and domain integration (physical, network, internet, etc.); Attacks – social engineering, denial of service, protocol attacks, active and passive attacks, buffer overflow attacks, and malware; Security domains–security awareness and possible domains; Forensics–legal systems, digital forensics and its relationship to other forensic disciplines, rules of evidence, search and seizure, digital evidence, and media analysis; Security services; Threat analysis model; Vulnerabilities

CSE 412: Special Topics in Software Engineering

2 Credit Units
Two lecture hours. Three lab hours


Recent topics and developments in software engineering are expected to be introduced from year to year. Apart from seminars to be delivered by lecturers or guests, students are expected to do substantial readings on their own.

CSE 413: Engineering Mobile Applications

2 Credit Units
One lecture hour. Three lab hours


Introduction to developing mobile applications, beginning with mobile operating systems capabilities and application architecture and extending to major components, such as activities, services, broadcast receivers, etc. Development of interactive applications using widget libraries, web-based services, animation, an SQL database engine, and multithreading.

CSE 414: Fault–Tolerant Computing

2 Credit Units


Introduction and overview of fault tolerant schemes; fault and error modelling; test generation and fault simulation; concepts in fault-tolerance; reliability/availability modelling; system level diagnosis; low level fault-tolerance – coding techniques (basic principles, parity bit codes, hamming codes, error detection and retransmission codes, burst error correction codes, Reed-Solomon codes, etc.); high-level fault tolerant techniques in systems: rollback, check pointing, reconfiguration; software fault-tolerance; fault tolerant routing; integrated hardware/software fault-tolerance; redundancy, spares and repairs – apportionment, system versus component redundancy, parallel redundancy, RAID system reliability, N-modular redundancy; software reliability and recovery techniques, network system reliability, reliability optimisation.

CSE 415: Embedded Systems

2 Credit Units
Two lecture hours. Three lab hours


Introduction to embedded computing and embedded systems; typical embedded systems – core of the embedded system, memory, communication interface; embedded firmware; embedded real–time operating systems; real–time operating systems–based embedded system design; task communications and synchronisation.

CSE 416: Game Design and Development

2 Credit Units
Two lecture hours. Three lab hours


The course covers game development history, platforms, goals and genres, player elements, story and character development, gameplay, levels, interface, audio, development team roles, game development process, and marketing and maintenance. Students will play games, analyze them, and complete portions of game designs with appropriate documentation.

CSE 418: Modelling and Computer Simulation

2 Credit Units
One lecture hour. Three lab hours


Introduction to simulation concepts, introduction to models, problem formulation, project planning, system definition, input data collection and analysis, modelling translation, verification, validation, experimental design, analysis, project reports and presentations, training simulators.

CSE 499: Student’s Individual Project

6 Credit Units


An independent or group investigation of appropriate software, hardware, communication and networks or IT related problems in Software Engineering carried out under the supervision of a lecturer. Before registering, the student must submit a written proposal to the supervisor to review. The proposal should give a brief outline of the project, estimated schedule of completion, and computer resources needed. A formal written report is essential and an oral presentation may also be required.

.

GENERAL COURSES


GST 001: Communication in English I

2 credit units


Effective communication and writing in English Language skills, essay writing skills (organization and logical presentation of ideas, grammar and style), comprehension, sentence construction, outlines and paragraphs.

GST 002: Communication in English II

2 Credit Units


Logical presentation of papers; Phonetics; Instruction on lexis; Art of public speaking and oral communication; Figures of speech; Précis; Report writing.

GST 003: Use of Library, Study Skills and ICT

2 Credit Units


Brief history of libraries; Library and education; University libraries and other types of libraries; Study skills (reference services); 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; Word processing skills (typing, etc.).

GST 004: Nigerian Peoples and Culture

2 Credit Units


Study of Nigerian history, culture and arts in pre-colonial times; Nigerian’s perception of his world; Culture areas of Nigeria and their characteristics; Evolution of Nigeria as a political unit; Indigene/settler phenomenon; Concepts of trade; Economic self-reliance; Social justice; Individual and national development; Norms and values; Negative attitudes and conducts (cultism and related vices); Re-orientation of moral; Environmental problems.

GST 005: Environment & Sustainable Development

2 Credit Units


Man – his origin and nature; Man and his cosmic environment; Scientific methodology, Science and technology in the society and service of man. Renewable and non-renewable resources – man and his energy resources. Environmental effects of chemical plastics, Textiles, Wastes and other materials, Chemical and radiochemical hazards, Introduction to the various areas of science and technology. Elements of environmental studies.

GST 006: Introduction to Entrepreneurship

2 Credit Units


Introductory Entrepreneurial skills: Relevant Concepts: Enterprise, Entrepreneur, Entrepreneurship, Business, Innovation, Creativity, Enterprising and Entrepreneurial Attitude and Behaviour. History of Entrepreneurship in Nigeria. Rationale for Entrepreneurship, Creativity and Innovation for Entrepreneurs. Leadership and Entrepreneurial Skills for coping with challenge. Unit Operations and Time Management, Creativity and Innovation for Self-Employment in Nigeria. Overcoming Job Creation Challenges. Opportunities for Entrepreneurship, Forms of Businesses, Staffing, Marketing and the New Enterprise. Feasibility Studies and Starting a New Business. Determining Capital Requirement and Raising Capital. Financial Planning and Management. Legal Issues, Insurance and Environmental Considerations. Also to be incorporated, on the other side of the spectrum, are employability skills – interview techniques, Oral Presentation Skills.

FRE 101: Basic Communication in French Lang. I

0 Credit Unit


Introduction to French, Alphabets and numeracy for effective communication (written and oral), Conjugation and simple sentence construction based on communication approach, Sentence construction, Comprehension and reading of simple texts.

FRE 102: Basic Communication in French Lang. II

0 Credit Unit


Furtherance to FRE 101

EVS 111: Introduction to Entrepreneurship

0 Credit Unit


Introductory Entrepreneurial skills: Relevant Concepts: Enterprise, Entrepreneur, Entrepreneurship, Business, Innovation, Creativity, Enterprising and Entrepreneurial Attitude and Behaviour. History of Entrepreneurship in Nigeria.

EVS 112: Entrepreneur Skills, Attitudes & Behaviour

0 Credit Unit


Developing entrepreneurships, building attitudes and enhancing required behaviour.

EVS 211: Entrepreneurship Opportunity Recognition

0 Credit Unit


Creativity and Innovation for Entrepreneurs. Leadership and Entrepreneurial Skills for coping with challenge. Unit Operations and Time Management. Creativity and Innovation for Self-Employment in Nigeria. Overcoming Job Creation.

EVS 212: Entrepreneurship & Self-employment Processes

0 Credit Unit


Selection and getting involved in one major Entrepreneurship skill. Why self-employment?

FRE 201: French Lang. I

0 Credit Unit


Writing composition in French language with emphasis on formal communication in French Language

FRE 202: French Lang. II

0 Credit Unit


Emersion programme in French Language I.

Visiting French village

EVS 311: Business Start Up Principle & Practice I

0 Credit Unit


Profiles of business ventures in the various business sectors such as: Soap/Detergent, Tooth brush and Tooth paste making; Photography; Brick making; Rope making; Brewing; Glassware production/ Ceramic production, Paper production; Water treatment/conditioning/packaging; Food processing / preservation / packaging; Metal fabrication; Tanning industry; Vegetable oil extraction; Farming; Fisheries/aquaculture; Plastic making; Refrigeration/Air-conditioning; Carving, Weaving; Bakery; Tailoring; Printing; Carpentry; Interior Decoration; Animal husbandry etc. Case Study Methodology applied to the development and administration of Cases that bring out key issues of business environment, start-up, pains and gains of growth of businesses, etc. with particular reference to Nigerian businesses. Experience sharing by business actors in the economy with students during Case presentations.

EVS 312: Managing & Growing Business

0 Credit Unit


Continuation of EVS 311

FRE 301: French Language III

0 Credit Unit


The course involves the study of basic elements of French language as applied to professional courses (business, engineering and environmental sciences). At the end of the end of the course, students are expected to be able to introduce themselves and greet in French sentences, write out simple sentences in French and acquire basic words that are related to their disciplines. Introduction to French sounds and spelling, Greetings, Classroom objects, Articles, prepositions, Numbers,Colours, Conjugation of verbs, Adjectives, Days, months, years, Time and weather, Tenses and simple sentence formation.

FRE 302: French Language IV

0 Credit Unit


The course involves the study of basic elements of French language as applied to professional courses (business, engineering and environmental sciences). At the end of the end of the course, students are expected to be able to introduce themselves and greet in French sentences, write out simple sentences in French and acquire basic words that are related to their disciplines. Introduction to French sounds and spelling, Greetings, Classroom objects, Articles, prepositions, Numbers,Colours, Conjugation of verbs, Adjectives, Days, months, years, Time and weather, Tenses and simple sentence formation.

EVS 411: Practical internship & exhibition

0 Credit Unit


Dispaly of real products and internship on marketing and marketing startegies

FRE 401: French language V

0 Credit Unit


Adavanced French Language immersion. Traveling on short term visit to any neighboring Francophone countries