Course image Computer Architecture
Trimester 1

Modern computer technology requires an understanding of both hardware and software, since the interaction between the two offers a framework for mastering the fundamentals of computing. The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. In this course, you will study the history of modern computing technology before learning about modern computer architecture and a number of its essential features, including instruction sets, processor arithmetic and control, the Von Neumann architecture, pipelining, memory management, storage, and other input/output topics. The course will conclude with a look at the recent switch from sequential processing to parallel processing by looking at the parallel computing models and their programming implications.

Computer architecture course builds on the introduction to hardware and to simple processors in the Digital Systems course. The Computer Architecture course aims to describe a broad range of architectural designs and to contrast them, highlighting the design decisions they incorporate, and how these design decisions impact program performance.

Course image CSC 2161 Advanced computer programming in C++
Trimester 1

This course is intended to provide latest approaches in algorithm development and computer programming using C++ language. Students are highly motivated by the fact that they are learning a leading-edge language (C++) and leading-edge programming paradigm (Object Oriented Programming) that will be immediately useful to them as they leave the university to join industry.

The unit includes coverage of the various programming tools available to a typical programming language. The course also includes introducing to the latest trends in programming, e.g.; Classes and effective use of Pointers.

Course image CSC 2164: Database Management System
Trimester 1

1.COURSE SUMMARY

The task of organizing large volumes of information of potentially different kinds is a daunting one. Typically, resolution of the associated problems depends on the use of an underlying database technology, often involving networking. This course addresses both the technical and social issues involved.

2. LEARNING OUTCOMES :

A. KNOWLEDGE &UNDERSTANDING :

Students who complete this course should be able to perform the following tasks:

1. Describe the different business and other imperatives (including legal and ethical) that influence the development of information systems, and this includes the requirements of remote access.
2. Apply the basic principles of database technology

B. COGNITIVE/ INTELLECTUAL SKILLS/ APPLICATION OF KNOWLEDGE :

1. Explain the potential of distributed information management systems and the problems such systems entail.
2.Identify common security and control mechanisms associated with information management and be able to apply these mechanisms effectively.
3. Justify the need for codes of conduct and a legal framework for computer use.
4. Give examples of several computing applications that raise sensitive legal and ethical concerns
5. Compare and contrast information with data and knowledge

C. COMMUNICATION/ ICT/ NUMERACY/ ANALYTIC TECHNIQUES/ PRACTICAL SKILLS :

1. Summarize the evolution of information systems from early visions up through modern offerings, distinguishing their respective capabilities and future potential.
2. Critique/defend a small- to medium-size information application with regard to its satisfying real user information needs.
3. Describe several technical solutions to the problems related to information privacy, integrity, security, and preservation.
4. Explain measures of efficiency (throughput, response time) and effectiveness (recall, precision).
5. Describe approaches to ensure that information systems can scale from the individual to the global.
6. Explain the characteristics that distinguish the database approach from the traditional approach of programming with data files.
7. Cite the basic goals, functions, models, components, applications, and social impact of database systems

D. GENERAL TRANSFERABLE SKILLS :

1. Describe the components of a database system and give examples of their use.
2. Identify major DBMS functions and describe their role in a database system.
3. Explain the concept of data independence and its importance in a database system

3. INDICATIVE CONTENT :

  • Overview of information management: History and motivation for information systems; common problems of information management; the business perspective
  • Introduction to database systems: History and motivation for database systems; components of database systems; DBMS functions; database architecture and data independence; use of a database query language; the relational model
  •  Database systems: History and motivation for database systems; components of database systems; DBMS functions; database architecture and data independence
  • Security and control issues: Overview of problems and standard solutions; database integrity; transactions; the role of encryption
  •  Information models and systems: History and motivation for information systems; information storage and retrieval; information management applications; information capture and representation; analysis and indexing; search, retrieval, linking, navigation; information privacy, integrity, security, and preservation; scalability, efficiency, and effectiveness
  • ·Data modeling: Data modeling; conceptual models; object-oriented model; relational data model
  • Relational databases: Mapping conceptual schema to a relational schema; entity and referential integrity; relational algebra and relational calculus
  •  Transaction processing: Transactions; failure and recovery; concurrency control
  • Distributed databases: Distributed data storage; distributed query processing; distributed transaction model; concurrency control; homogeneous and heterogeneous solutions; client-server
  • Physical database design: Storage and file structure; indexed files; hashed files; signature files; b-trees; files with dense index; files with variable length records; database efficiency and tuning

4. LEARNING &TEACHING STRATEGY :

Theory: Formal lectures will be presented to cover the material of the course, with tutorials.
Practical: Practical exercises, examples and seminar practices will be given to workout individually/groups.
Self-study: Students are also expected to undertake at least 100 hours private study including preparation of worked solutions for tutorial classes

5. ASSESSMENT STRATEGY :

Formative assessment is by means of regular tutorial exercises. Feedback to students on their solutions and their progress towards learning outcomes is provided during lectures and tutorial classes. The major component of summative assessment is the written examination at the end of the module. This gives students the opportunity to demonstrate their overall achievement of learning outcomes. It also allows them to give evidence of the higher levels of knowledge and understanding required for above average marks.

6. STRATEGY FOR FEEDBACK AND STUDENT SUPPORT DURING MODULE :

  •  Consultation hours to see the students in the office.
  • ·Two meeting with the students during the semester to discuss their problems (if any).

Analyzing the results of the tests and seminars to reach possible problems and take measures to solve them

7. INDICATIVE RESOURCES :

  • Patrick O'Neil and Elizabeth O'Neil. (2010). Database: Principles, Programming, and Performance, Second Edition (The Morgan Kaufmann Series in Data Management...
  • Michael J. Hernandez. (2013). Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition)
  •  Andy Oppel. (2010). Databases DeMYSTiFieD, 2nd Edition
  •  Martin Holzke and Tom Stachowitz. (2014). SQL Database for Beginners
  • Online materials uploaded on the Learning Portal
  • Background Texts (include number in library or URL)
  • Journals
  •  Key websites and on-line resources
  •  Teaching/Technical Assistance
  •  Laboratory space and equipment
  •  Computer requirements
  • Others

8. TEACHING TEAM :

MRS.ALPHONSINE MUKABUNANI

Course image INTERACTIVE WEB DEVELOPEMENT
Trimester 1

This course offers an introduction to the most common methods of adding useful, interactive and dynamic elements to a web site.

Course image CSC2163: COMPUTER ARCHITECTURE
Trimester 1

This module introduces the basic concepts of Computer Architecture. It starts with the structure of subsystems and covers the organization of the overall system. The unit outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor. This is followed by an appreciation of low-level programming leading to a clear understanding of the key points of machine performance.


Course image CSC2162: Operating Systems
Trimester 1

Course Summary

The main aim of this module is to introduce students to the fundamental concepts of Operating System Structures, Memory management and protection, virtual memory, Process scheduling, Process synchronization, and deadlock. General understanding of modern computing devices, Purpose, structure, and functions of operating systems, an illustration of key OS aspects by providing examples   This course also gives the basics of Operating Systems and Networks, Operating Systems and Security, LINUX or MS Windows operating Systems and Management.

Course image SYSTEM ANALYSIS AND DESIGN
Trimester 1

In this course, students will explore and become familiar with various concepts, principles, and stages of computer-based information systems analysis and design. Students will be exposed to and learn about the groups of people involved in systems development and the different methods, tools, and techniques used in systems analysis and design. Feasibility study, requirements definition and design and development documentation will be covered. The system development life cycle, prototyping, data modeling, and user involvement will also be covered.