Course Description
This introductory application-oriented course covers the relational database systems RDBS - the predominant system for business, scientific and engineering applications at present. The topics are reinforced using tools such as Oracle or MS SQL Server in labs. The course includes Relational model, Relational algebra, and data access queries as well as an introduction to SQL. It also covers the basic theories behind databases, data models and database analysis and design. The course will tackle different data models but will concentrate mainly on relational databases, being the most commonly used today.
Course Objectives
- To explain to students the fundamental concepts of database systems, functions of DBMS(Database Management System), database systems design and methodology, the current and emerging database system technologies, ability to compare and use different
- To provide students with knowledge and understanding of DBMSs and database connectivity middleware, ability to design and implement (web-based) database systems
- To enable students to learn how to use RMAN to create and manage backup sets and image copies
- To train students on the use Oracle's Flashback technology to recover database,
- To train students on the use of the various Database advisors and views to monitor and improve database Performance, Control database resource usage with the Resource Manager,
- To provide students with knowledge and skills required to customize language-dependent behaviour for the database and individual sessions.
Course Learning Outcomes
By the end of the course the student will be able to:
1. Understand the fundamental concepts of database systems, functions of DBMS (Database Management System), database systems design and methodology, the current and emerging database system technologies, ability to compare and use different
2. Understand DBMSs and database connectivity middleware, ability to design and implement (web-based) database systems
3. Learn how to use RMAN to create and manage backup sets and image copies
4. Use Oracle's Flashback technology to recover database,
5. Use the various Database advisors and views to monitor and improve database Performance, Control database resource usage with the Resource Manager,
6. Customize language-dependent behaviour for the database and individual sessions.
Indicative Content
1. Introduction to Database programming (8 Hours)
i) database system,
ii) database management system (DBMS),
iii) advantages & dis- advantages of DBMS.
2. An Architecture of the Database system (8 Hours)
i) Three levels of architecture,
ii) mappings,
iii) role of database administrator (DBA),
iv) E-R model,
v) three approaches of DBMS- relational,
vi) hierarchical and network.
3. Relational Database Terms and Concepts (8 Hours)
i) conceptual foundation of the relational model,
ii) difference between relations and non-relational tables,
iii) basic relational terminology to include, but not limited to, relation/table, tuple/row, attribute/column, cardinality/multiplicity, the meaning and importance of keys, foreign keys, and related terminology,
iv) Explain how foreign keys and intersection relations represent relationships
v) Explain the purpose and use of surrogate keys,
vi) the meaning of referential integrity.
4. Normalization (8 Hours)
i) Define normalization,
ii) the impetus behind use of Normalization in database design,
iii) the nature and background of normalization theory,
iv) apply the normalization process to produce a relation in 3NF,
v) the meaning of functional dependencies.
5. Relational Algebra and Relational Calculus (8 Hours)
i) Relational operators,
ii) tuple calculus,
iii) well-formed formulae.
6. The SQL Language (8 Hours)
i) Introduction,
ii) Characteristics of SQL,
iii) data definition,
iv) data manipulation,
v) SQL commands, SQL operators,
vi) Queries, aggregate functions.
7. Backup and Recovery (4 Hours)
i) Transaction recovery,
ii) System Recovery Techniques,
iii) SQL support.
iv) Security - General considerations, controls, audit trail, data encryption, SQL support.
v) Integrity - General considerations, integrity rules, SQL support.
8. Design and Development of Database Applications (4 Hours)
Database applications using some standard RDBMS.
9. Overview of SQL and Advanced SQL: (8 Hours)
i) Controlling user Access,
ii) using SET operators,
iii) Data Time Functions,
iv) Enhancements to Group by clause (cube, Rollup and Grouping),
v) Advanced Sub queries (Multiple column sub queries,
vi) Sub queries in FROM clause, Scalar and correlated sub queries),
vii) The use of the WITH Clause and Hierarchical retrieval.
Study Materials
Relevant text books, power point slides, a projector, lap top and teaching aids necessary.
Mode of Delivery
Lectures, Tutorials, Lab sessions, Seminars.
Mode of Assessment:
Test 15%
Assignment 15%
End of semester examination 70%
Total 100%
Reading List:
1. Elmasri, M & Navathe, (2011). Fundamentals of Database Systems, 6th Edition., Addison-Wesley, ISBN: 978-013-608620-8
2. Silberschatz, A., Korth, H. & Sudarshan, S, (1997). Database System Concepts. (Vol 4)
3. Reese, G. (2000). Database Programming with JDBC and Java. “O’Reilly Media, Inc.”
- Usama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth. From Data Mining to Knowledge Discovery in Databases, AI Magazine 17(3): Fall 1996, 37-54.

- Teacher: Emmanuel Eilu
Course Description
The course is designed to introduce students to techniques of web implementation with web programming languages. It covers the basic of HTTP, HTML, coding style, working with text, lists, special characters, links, tables, frame based pages, creating windows, domain hosting, Internet connection, web servers, advanced web technologies, audio and video communication. In this Course Unit, students will learn sound programming constructs that can apply to many languages used in Web Development today, particular syntax and semantics that are native to the languages covered. The course also aims to make students understand how modern programmers go about their work.
Course Objectives
- To introduce students with the essential components that underlie the Internet, learn some current Web technologies.
- To provide students with the knowledge and understanding to do Web authoring, and Web Programming at the introductory to intermediate level.
- To provide students with the knowledge to be able to build robust web deployable software.
Course Learning Outcomes
By the end of this course, the student will be able to:
1. Demonstrate an understanding of the essential components that underlie the Internet, learn some current Web technologies.
2. Focus on how to do Web authoring, and Web Programming at the introductory to intermediate level.
3. Apply knowledge and skills acquired to build robust web deployable software.
Indicative Content
Part 1: Introduction (12 Hours)
i) Overview of Internet Programming,
ii) Basic Terminologies,
iii) WWW Architecture,
iv) Web development process model,
v) General web site types
Part 2: Basic HTML (12 Hours)
i) Text formatting with HTML,
ii) Links to other "pages",
iii) Numbered and unnumbered lists,
iv) Text and background color,
v) Adding images or graphics to Web pages,
vi) Adding sound or music to Web pages, Adding video and animation to Web pages
Part 3: Advanced HTML (12 Hours)
i) Tables, Forms, Frames,
ii) An introduction to Cascading Style Sheets,
iii) An overview of XHTML and XML
Part 4: Server Side "Programming" and Publishing and Maintaining Websites (12 Hours)
i) Active Server Pages (ASP) and the Common Gateway Interface
ii) An introduction to scripting languages
iii) Downloading, installing, and using the Apache Web Server
Part 5: Creating and having Projects in Dynamic Websites (12 Hours)
Study Materials
Relevant text books, power point slides, a projector, lap top and teaching aids necessary.
Mode of Delivery
Lectures, Tutorials, Lab sessions
Mode of Assessment:
Test 15%
Assignment 15%
End of semester examination 70%
Total 100%
Reading List:
1. Hebeler, J., Fisher, M, Blace, R, & Perez-Lopez, A. (2011), Semantic Web Programming. John Willey & Sons.
2. Anderson-Freed, S. (2001). Weaving a Website: Programming in HTML, Java Script, Perl and Java. Printice Hall PTR.
3. Bellinaso, M., & Hoffman, K. (2004). ASP.NET Website Programming: Problem-Design-Solution, VB. John Wiley & Sons
4. Steve, W., Matt, R., Havard, E., & Tood, M. (2008). Advanced PHP for Flash
5. Jeanine Meyer, (2006). Creating Database Web Applications with PHP and ASP: Internet Series

- Teacher: Emmanuel Eilu
Course Description
The course provides an overview of the various platforms, applications, media and technology used to develop digital media products and communications. Participants are introduced to Digital graphics photography, Video, Audio, Networked Multimedia and authorizing. Students are taught Visual Design Skills as a basic for working in Graphic Design and other major areas of Multimedia Production, learning a variety of design techniques using specialists’ software to design and manipulate images. Learn the Art of Multimedia! Authoring tools are combined to provide an effective multimedia system. This course will investigate the sue of several software tools for multimedia production and the ways in which media components can be represented and integrated into final multimedia introduction
Course Objectives
The aim of this course is to provide students:
1. Knowledge and understanding of core concepts, technologies and formats of multimedia;
2. Skills of multimedia capture, authoring, production and compression; and
3. Skills of deploying and serving media contents within web applications
4. Knowledge that supports the television and cinema industries and how they can be efficiently applied.
Course Learning Outcomes
By the end of this course, the student will be able to:
1. Demonstrate knowledge and understanding of core concepts, technologies and formats of multimedia;
2. Use the skills acquired for multimedia capture, authoring, production and compression; and
3. Use the skills acquired for deploying and serving media contents within web applications
4. Apply the knowledge acquired to support the television and cinema industries and how they can be efficiently applied.
Indicative Content
1. Introduction to multimedia systems: (6 Hours)
i) Definition of terms and concepts;
ii) Definition of terms and concepts related to multimedia;
iii) Trends in the development and the use of multimedia.
2. Multimedia capture, authoring and production. (6 Hours)
3. Multimedia management: (6 Hours)
Tools, techniques, and guidelines facilitating the planning, design, production, and implementation of multimedia products. e.g. compression, filtering, tracking.
4. Graphics: (6 Hours)
i) Characteristics and interoperability;
ii) Color, shape;
iii) Practical sessions using application such as Photoshop,
iv) Fireworks to create graphics web content.
5. Usability and User-Centered Design; (6 Hours)
i) Design Principles,
ii) Paper Prototyping,
iii) Constraints and Layouts;
iv) Graphic Design and Computer Prototyping;
v) Heuristic Evaluation;
vi) User Testing;
vii) Experiment Design;
viii) Experiment Analysis
6. Sound, Video and Animation: (6 Hours)
Characteristics and interoperability.
7. Enhancing Web accessibility through using multimodal user interface. (6 Hours)
8. Multimedia systems-requirements social networking, (6 Hours)
i) Operating systems issues in multimedia-real-time OS issues,
ii) synchronization,
iii) interrupt handling,
iv) database issues in multimedia –indexing and storing multimedia data,
9. Disk multimedia – quality –of-service guarantees, (6 Hours)
i) resource reservation,
ii) traffic specification,
iii) shaping, and monitoring, admission control.
iv) Multicasting issues, Session directories,
v) Protocols for controlling sessions.
10. Security issues in multimedia-digital watermarking, (6 Hours)
i) partial encryption schemes for video streams,
ii) multimedia applications-audio and video conferencing,
iii) video on demand,
iv) voice over IP etc.
Study Materials
Relevant text books, power point slides, a projector, lap top and teaching aids necessary.
Mode of Delivery
Lectures will be used to introduce material on the formal aspects of the module whilst the bulk of the tutorial time will be spent in laboratory sessions planned around the acquisition of usable skills in a range of multimedia techniques.
Mode of Assessment:
Test 15%
Assignment 15%
End of semester examination 70%
Total 100%
Reading List
1. Lopuck, L. (1996). Designing Multemedia: A Visual Guide to Multimedia and Online Graphic Design. Peachpit Press.
2. Gordon, B., & Gordon, M. (2002). The Cmplete Guide to Digital Graphic Design. Watson-Guptill Publications, Inc.
3. Austin, T, & Doust, R. (2007). New Media in Graphics Design. Harry N. Abrams, Inc.
4. Gerassimos, B (2005). Distributed Multimedia Retrieval Strategies for Large Scale Networked Systems: Multimedia Systems and Applications. Springer-Verlag.

- Teacher: Emmanuel Eilu
Course Description
This course unit is designed to give the undergraduates a firm understanding of the components required to successfully deploy the Linux Operating system. Students will learn how to configure the Linux operating system for optimal performance with an oracle database. Then they will install and create an Oracle9i Database on Linux. The students will also learn how to tune the Oracle9i Database to take advantage of the Linux operating system and the enterprise level features of the OS. Basic administration OS tasks as they relate to the database will also be covered; file system choices, automated start-up and shutdown scripts, network configuration, customizing the database for Linux, and configuring Oracle Enterprise Manager. Lectures will be reinforced with hands-on practices designed to walk the student through the entire installation, tuning and configuration process
Course Objectives
This course unit aims to:
1. Provide the student with the knowledge to use Linux both as an end user and as an entry-level system administrator.
- Enable students to know how to create short scripts to carry out various repetitive processes, indeed even to be able to understand and modify the system start-up scripts.
- To provide students with the knowledge and skills on the use of the main file operating commands, security, t
- Teacher: Emmanuel Eilu
Course Description
This course provides an introduction to the problems of software development and maintenance and the processes and methods used to address them. Although all phases in the software development life cycle will be introduced, the main focus will be on object-oriented analysis and design. Throughout the course, UML 2.0 will be intensively used as a modeling language for the different views of a software system. This course unit covers the techniques for development of software systems, commonly referred to as software Engineering. It is intended to give the students both knowledge and practical experience in the design and development of quality software production
Course Objectives
1. To introduce to students the concepts and tools for designing software projects.
2. To provide students with knowledge of the principles for the design of software engineering projects using sound, scientific and engineering principles and methods
3. To provide knowledge and understanding on selected areas of software engineering.
4. To provide knowledge and understanding of the practical skills towards the development of computer-based solutions of problems to a software engineering provide.
Course Learning Outcomes
By the end of this course, the student will be able to:
1. To explain the concepts and tools for designing software projects.
2. To demonstrate the knowledge and understanding of the discipline of software engineering, including a sound fundamental understanding of scientific and engineering principles and methods
3. To show knowledge and understanding of selected of software engineering.
4. Use practical skills acquired to develop computer-based solutions to software engineering problems
Indicative Content
1. Software engineering concepts and tools (4 Hours)
2. Phases of software development, (4 Hours)
3. Software Management: (4 Hours)
Planning and controlling a software development project.
4. Requirements analysis: (4 Hours)
i) Requirements specification,
ii) humans as information sources,
iii) tools for documenting the requirements (SADT, PSL/PSA, Ada-based analysis methods).
5. Software design: (4 Hours)
i) Abstraction,
ii) modularity,
iii) information hiding,
iv) design methods,
v) design documentation.
6. Testing, (4 Hours)
i) test objectives,
ii) verification and validation,
iii) manual test techniques,
iv) techniques for functional and structural testing.
7. Software development life cycles; (4 Hours)
8. Software process model; (4 Hours)
9. Software Metrics; (4 Hours)
10. Software project management. (4 Hours)
11. Metrics and measurements engineering, (4 Hours)
12. Software quality assurance, (4 Hours)
13. software reliability models, (4 Hours)
14. Formal verification of programs, (4 Hours)
15. CASE tools and technology, (4 Hours)
Study Materials
Relevant text books, power point slides, a projector, lap top and teaching aids necessary.
Mode of Delivery
Lectures, Tutorials, Seminars.
Mode of Assessment
Test 15%
Assignment 15%
End of semester examination 70%
Total 100%
Reading List
1. Somerville Ian. (2011). Software engineering: 9th edition, Pearson Education Ltd Publishers. ISBN 10: 0-13-703515-2
2. Wohlin, C., Runeson., Host,. M., Ohlsson, M. C. Regnell, B., & Wesslen, A. (2012). Experimentation in Software Engineering. Springer Science and Business Media.
3. Panjak Jalote, (2005), An Integrated Approach to Software Engineering, Fifth Edition, Narosa Publishing House, 1997, 1991, Reprinted 2003, 2004, 2005.
4. Brian Marick, The Craft of Software Testing", Prentice Hall.

- Teacher: Emmanuel Eilu
Course Description
This course covers important, fundamental topics in structured programming and introduces object-oriented programming concepts. The lecturer shall demonstrate the concepts using Java as the programming tool, the course aims at giving a good basic of programming principles and practice. Emphasis will be set on well structure and correctly designed programs. The course also shows syntactic description; Algorithms development using the top-down design approach; Use of programming constructs and data structures like arrays, stacks, queues, heaps, etc;
Course Objectives:
1. To provide students with knowledge about the java programming tool so as to relate it to other tools that will be met in the course of time.
2. To provide students with knowledge and skills required to analyze a given description of a reasonably-sized problem, which may be informal, or in plain English, and translate it into working computer coding.
3. To provide students with the knowledge and skills required to write a stand-alone application using the Java language.
4. To provide knowledge and skills required to accurately implement Object-Oriented concepts using Java features, such as classes, interfaces, and references.
Course Learning Outcomes
By the end of the lecture the student will be able to:
1. To implement a java programming tool.
2. Analyze a given description of a reasonably-sized problem, which may be informal, or in plain English, and translate it into working computer coding.
3. Write a stand-alone application using the Java language.
4. Implement Object-Oriented concepts using Java features, such as classes, interfaces, and references.
Indicative Content
Intensive and hands-on, the Course Unit emphasizes becoming productive quickly as a Java application developer.The Content to cover includes:
Getting Started with J2SE:
1. Introduction to Java, (6 Hours)
i) How to Get Java,
ii) A First Java Program,
iii) Compiling and Interpreting Applications,
iv) The JDK Directory Structure
2. Language Fundamentals: (6 Hours)
i) A Java Program,
ii) If Statements,
iii) Switch Statements, Loop Statements,
iv) Syntax Details, Primitive Data types,
v) Variables,
vi) Expressions in Java, Strings, Arrays,
vii) Enhanced for Loop
3. Objects and Classes: (6 Hours)
i) Defining a Class,
ii) Creating an Object,
iii) Instance Data and Class Data,
iv) Methods, Constructors Access Modifiers,
v) Encapsulation
4. Using Java Objects: (6 Hours)
i) Printing to the Console,
ii) printf Format Strings,
iii) String Builder and String Buffer,
iv) Methods and Messages,
v) Parameter Passing,
vi) Comparing and Identifying Objects,
vii) Destroying Objects,
viii) Using the Primitive-Type Wrapper Classes,
ix) Auto boxing
5. Inheritance in Java: (6 Hours)
i) Inheritance,
ii) Inheritance in Java, Casting,
iii) Method Overriding,
iv) Polymorphism and super,
v) The Object Class
6. Advanced Inheritance and Language Constructs: (6 Hours)
i) Enumerated Types - Pre-Java 5.0, Enumerated Types Today,
ii) More Enumerated Types,
iii) Abstract Classes,
iv) Interfaces, Using Interfaces,
v) Comparable, Collections, Generics
7. Packages: (6 Hours)
i) Packages,
ii) The import Statement,
iii) Static Imports,
iv) CLASSPATH and Import,
v) Defining Packages,
vi) Package Scope
8. Exception Handling: (6 Hours)
i) Exceptions Overview,
ii) Catching Exceptions,
iii) The finally Block,
iv) Exception Methods
v) Declaring Exceptions,
vi) Defining and Throwing Exceptions,
vii) Errors and Runtime Exceptions, Assertions
9. Input/ Output Streams: (6 Hours)
i) Overview of Streams,
ii) Bytes vs. Characters,
iii) Converting Byte Streams to Character Streams,
iv) File Object,
v) Binary Input and Output,
vi) Print Writer Class,
vii) Reading and Writing Objects,
viii) Basic and Filtered Streams
10. Collection Sorting and Tuning: (6 Hours)
i) Using Java 5.0 Features with Collections,
ii) Sorting with Comparable,
iii) Sorting with Comparator Sorting Lists and Arrays,
iv) Collections Utility Methods,
v) Tuning Array List,
vi) Tuning Hash Map and Hash Set
Study Materials
Relevant text books, power point slides, a projector, lap top and teaching aids necessary.
Mode of Delivery
Lectures, Tutorials, Lab sessions
Mode of Assessment:
Test 15%
Assignment 15%
End of semester examination 70%
Total 100%
Reading List:
1. Sedgewick and Wayne, Introduction to Programming in Java: An Interdisciplinary Approach, Java
2. Deitel and Deitel (2007). Java How to Program. 7th ed. Deitel and Associates Inc. Main
3. Brian D. Hahn and Katherine M. Malan, Essential Java for Scientists and Engineers. Publisher Butterworth-Heinemann
4. Quentin Charatan and Aaron Kans, Java in two semesters. Publisher Mc. GRAW-HILL INC
5. Liang, Y. Daniel Liang, Introduction to Java Programming-Comprehensive

- Teacher: Emmanuel Eilu