The Bachelor of Science in Computer Science is the oldest undergraduate degree program in Makerere University School of Computing and Informatics Technology. It was launched at the inception of Institute of Computer Science in 2001
The objectives of the program are to:
Target Group
The program targets two categories of people. These are A’ level leavers and diploma holders in relevant disciplines.
Nature of the Program
The program is full time that is conducted both in the day and in the evening.
Duration
The duration of the program is three academic years consisting of six semesters and two recess terms. Each semester lasts seventeen (17) weeks two of which are for examinations. Each recess term is 10 weeks.
Tuition Fees
Tuition fees for privately sponsored students shall be 3,024,000 Uganda Shillings per year for Ugandans and 4,536,000 Uganda Shillings per year for non-Ugandans.
Admission requirements
To be admitted to the B.Sc (Computer Science) program, a candidate must satisfy the general admission requirements for Makerere University. In addition, the following regulations shall hold:
Candidates seeking admission through this avenue must have obtained:
For purposes of computing weighted points, the A’ level subjects shall be grouped and weighted as per the University weighting system.
Group | Weight | Subjects |
---|---|---|
Essential | 3 | Any two best done subjects among: Mathematics, Physics, Chemistry, Biology, Technicial Drawing |
Relevant | 2 | Any other best done subject of all A’ level subjects. |
Desirable | 1 | General Paper, Subsidiary Mathematics, Subsidiary ICT |
Others | 0.5 | All others. |
For a candidate to be admitted via the diploma scheme, he/she must:
Progression
Progression shall be regarded as normal, probationary or discontinuation as per the standard of Makerere University Senate guidelines.
Normal Progress
This occurs when a student passes each course taken with a minimum Grade Point of 2.0
Probationary
This is a warning stage and occurs if either the cumulative grade point average (CGPA) is less than 2.0 and /or the student has failed a core course. Probation is waived when these conditions cease to hold
Discontinuation
When a student accumulates three consecutive probations based on the CGPA or the same core course(s), he /she shall be discontinued
Retaking a Course
A student may re-take any course when it is offered again in order to pass if the student had failed the course. A student may take a substitute elective, where the student does not wish to re-take a failed elective
Weighting System
The weighting unit is the Credit Unit (CU). The Credit Unit is a contact hour per week per semester. A contact hour is equal to:
Semester Load and Minimum Graduation Load
The normal semester load is between 15 and 21 credit units. The minimum graduation load is 120 credit units of which 106 credit units are from core course units. The remaining 14 credit units are to be gotten from elective course units in semesters where elective courses are offered.
Course Assessments
Each course will be assessed on the basis of 100 marks with proportions as follows:- Coursework – 40% and Examination 60%
A minimum of two course assignments/tests shall be required per course
Course work shall consist of individual tests, group assignment and presentations in each semester.
Semester 1 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (5 Cores) | |||||||
CSC 1100 | Computer Literacy | 30 | 60 | - | 60 | 4 | Core |
BIS 1104 | Communication Skills for IT | 45 | 30 | - | 60 | 4 | Core |
CSC 1104 | Computer Organization & Architecture | 60 | - | 30 | 45 | 4 | Core |
CSC 1108 | Individual Project I | 15 | 90 | - | 60 | 4 | Core |
CSC 1107 | Structured Programming | 30 | 30 | - | 45 | 3 | Core |
Total Credit Units | 19 |
Semester 2 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (5 Cores) | |||||||
BIS 1206 | System Analysis and Design | 45 | - | 30 | 60 | 4 | Core |
MTH 1203 | Calculus I | 45 | - | 30 | 45 | 4 | Core |
CSC 1214 | Object Oriented Programming | 30 | 60 | - | 60 | 4 | Core |
MTH 2203 | Numerical Analysis I | 45 | - | 30 | 45 | 3 | Core |
BIS 1204 | Data & Information Management I | 30 | 60 | - | 60 | 4 | Core |
Total Credit Units |
|
Year I Recess term
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
CSC 1304 | Practical Skills Development | 15 | 90 | - | 75 | 5 | Core |
CSC 1303 | Cisco Certified Network Associate | 150 | - | 75 | 5 | Audited | |
Total Credit Units | 5 |
Semester 3 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (4 Cores) | |||||||
CSC 2100 | Data Structures and Algorithms | 45 | - | 30 | 60 | 4 | Core |
CSC 2114 | Artificial Intelligence | 30 | 30 | - | 45 | 3 | Core |
BSE 2103 | Computer Networks | 45 | 30 | - | 60 | 4 | Core |
MTH 3105 | Discrete Mathematics | 30 | - | 30 | 45 | 3 | Core |
Electives:- (1 Elective) | |||||||
BSE 2105 | Formal Methods | 45 | - | 30 | 60 | 4 | Elective |
CSC 2113 | Software Engineering | 45 | - | 30 | 60 | 4 | Elective |
Total Credit Units | 18 |
Semester 4 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (5 Cores) | |||||||
CSC 2200 | Operating Systems | 45 | - | 30 | 60 | 4 | Core |
CSC 1209 | Logic Programming | 30 | 30 | - | 45 | 3 | Core |
CSC 2209 | Systems Programming | 45 | - | 30 | 60 | 4 | Core |
CSC 2210 | Automata, Complexity & Computability | 45 | - | - | 45 | 3 | Core |
BIT 2207 | Research Methodology | 30 | - | 30 | 45 | 3 | Core |
Total Credit Units | 17 |
Year 2 Recess term
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
CSC 2303 | Field Attachment | - | 300 | - | 75 | 5 | Core |
Total Credit Units | 5 |
Semester 5 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (4 Cores) | |||||||
CSC 3110 | User Interface Design | 45 | 30 | - | 60 | 4 | Core |
BAM 2102 | Entrepreneurship Principles | 30 | - | 30 | 45 | 3 | Core |
CSC 3112 | Principles of Programming Languages | 45 | - | - | 45 | 3 | Core |
CSC 3118 | Computer Science Project I | - | - | 150 | 75 | 5 | Core |
Electives :- (1 Elective) | |||||||
BIS 3100 | Modeling and Simulation | 30 | 30 | - | 45 | 3 | Elective |
CSC 3121 | Computer Graphics | 30 | 30 | - | 45 | 3 | Elective |
CSC 3115 | Advanced Programming | 45 | 30 | - | 45 | 3 | Elective |
MTH 3107 | Linear Programming | 30 | - | - | 30 | 3 | Elective |
Total Credit Units | 18 |
Semester 6 (5 Courses)
Code | Name | LH | PH | TH | CH | CU | Type |
---|---|---|---|---|---|---|---|
Cores:- (3 Cores) | |||||||
BSE 2206 | Data Communications | 45 | 30 | - | 60 | 4 | Core |
CSC 3205 | Compiler Design | 45 | 30 | - | 45 | 3 | Core |
CSC 3211 | Computer Science Project II | - | - | 150 | 75 | 5 | Core |
Electives :- (2 Elective) | |||||||
CSC 3207 | Computer Security | 45 | 30 | - | 45 | 3 | Elective |
BIS 3205 | Data Warehousing & Business Intelligence | 45 | 30 | - | 60 | 4 | Elective |
BSE 3202 | Distributed Systems Development | 45 | 30 | - | 60 | 4 | Elective |
CSC 3217 | Emerging Trends in Computer Science | 45 | 45 | - | 45 | 3 | Elective |
Total Credit Units | 19/20 |
(a) Description
In this course, students are to learn about the basic organization, concepts and terminologies in a computerized environment. They are also to get an in depth understanding of common computer applications. The use of related applications in different operating systems will be explored.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
Teaching will be by lectures and laboratory demonstrations/practicals
(e) Indicative content
(f) Assessment method
The assessment will be in form of tests and assignments (40%) and final written exam (60%)
(g) Reading List
(a) Description
This course provides students with skills of effective communication. Emphasis is provided on communications in today’s business environment that has increasingly been shaped by Information technology. Students will be taught how to effectively communicate technical information to lay audiences using oral, written and non-verbal communication.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
This is a very practical course. Students will be required to do real life examples and illustrations to enable them apply knowledge with the business context.
(e) Indicative content
(f) Assessment method
Students should be encouraged to analyse business domain problem and come up with communications to address the needs as part of their coursework assessment (20%). Other assessments include test (20%) and exams (60%).
(g) Reading List
(a) Description
This course introduces the logical architecture and organization of computer systems. It highlights the lower end operations in a typical computer as well as the way computers manage their resources during operation. The course opens up a student to be an informed user of the computer rather than a passive recipient of the computer services.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
Teaching will be in terms of lectures as well as tutorials.
(e) Indicative content
Integer Formats, Binary, Octal and Hexadecimal Systems, Negative integers and 2’s Complement, Floating Point Formats, BCD Formats, Alphanumeric Memory, Memory Management Hardware Codes.
Logic gates, Karnaugh maps, Combinatorial Circuits, Binary Adders, Multiplexers and Demultiplexers, Comparators, Decoders and Encoders, Code Converters, ROMS and PLA’s, Sequential Circuits, Flip Flops and Latches, R-S flip flops, J-K flip flops, T flip Flops, D flip flops, Registers, Shift Registers and Data Transmission, Sequential Network Design.
CPU, Memory, I/O Devices and Interfaces, System Bus, Examples of CPU Structures, The Intel / Pentium CPU, The Z- 80 or Motorolla, Machine Language Instructions, Instruction Formats and Addressing Modes.
Macroinstruction execution, Internal Bus Transfers, Detailed Internal Architecture, Microcontrol, Hardwired Control, Microprogramd Control, Reduced Instruction Set Computers.
programd I/O, Interrupt I/O, Polling, Priority Interrupt System, Direct Memory Access Memory Management: Memory Hierarchy, Main Memory, I/O processors.
(f) Assessment method
Assessment will be in form of tests and assignments (40%) and final examination (60%)
(g) Reading List
(a) Description
This course is to give students an experience of developing simple but complete applications. Focus will be put on programming and program documentations as well as realization of the objectives.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
Learning will be largely by self - study/ research. Students will be given programming Assignments that will be submitted after a specific period of time. The skills which that will be expected in the assignment will be indicated to the student. A member of staff will meet students at the issue of each of the assignment and address any outstanding issues as well as expectations. A minimum of six assignments will be given.
(e) Indicative content
(f) Assessment method
Two assignments (each taking two weeks) and three assignments (each taking 3 weeks) will be given. The first two assignments will constitute the coursework (40%) while the last three assignments will constitute the examination mark (60%).
(g) Reading List
(a) Description
The course is to create a strong base in the principles and practice of functional programming. A high level programming language like C is to be used. Students are to cover both theoretical principles and hands on practical skills. The main concepts to cover include program structure, data structures, syntactical and semantic correctness, planning and segmentation in programming as well as working with files.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
The course will be taught with a big practical component. Students will be expected to have one supervised practical sessions per week. They will so be given several programming assignments some of which will be marked and contribute to the coursework scores.
(e) Indicative content
(f) Assessment method
Assessment will be in form of at least one (practical) assignment and one test (40%), a practical exam - (30%) and a final written examination (30%).
(g) Reading List
(a) Description
The course is to give an in depth understanding of Object Oriented programming. It is to cater for Object Oriented programming practices like inheritance, interfaces, exception handling, action handling, security, software reuse and robustness.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
Students who successfully complete this course of study will be able to:
(d) Teaching and learning pattern
This will include lectures, practicals and lab assignments
(e) Indicative content
(f) Assessment method
The assessment will be done by tests and take home assignments (40%), practical examination (30%) and written examination (30%)
(g) Reading List
(a) Description
The course is to sharpen the students’ skills in using numerical approaches to solving mathematical/real life problems. The focus will be on the ability to correctly formulate numerical problems and schemes that solve them. Emphasis will be put on the precision and robustness of the schemes.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
The course will be taught theoretically. The developed schemes can be implemented and run in any programming language.
(e) Indicative content
(f) Assessment method
At least 2 (1 hour) tests and 1 assignment (40%) 3-hour examination (60%)
(g) Reading List
(a) Description
The course is provide students with a strong foundation in systematic approaches to design and implementation of database applications. Preliminarily operations like requirements gathering and database planning will be covered. The course will also introduce students to developing of application programs that talk to the database. These applications may be online or off line.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
Teaching will be by lectures, take home reading assignments/class presentations and laboratory practicals
(e) Indicative content
(f) Assessment method
Assessment will be in terms of tests and take home assignments (40%), a practical examination (30%) and a final written exam (30%)
(g) Reading List
(a) Description
The course gives the students a strong mathematical base to be able to tackle other computer problems. The course provides techniques that commonly used in the general area of computer science. It builds a foundation for other courses that need special mathematical backgrounds.
(b) Aims
The aims of the course are:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
The teaching will largely involve lectures, together with tutorials and take home assignments.
(e) Indicative content
Functions
(f) Assessment method
The assessment will be by tests (20%), group assignments and presentations (20%) and final examination (60%)
(g) Reading List
(a) Description
This course introduces established and evolving methodologies for the analysis and design of an information system. Great emphasis is placed on system characteristics, managing projects, prototyping, CASE/OOM tools, systems development life cycle phases, the role of the systems analyst, systems selection, definition of systems requirements, feasibility analysis, system design, and system architecture are topics included.
(b) Aims
To introduce software engineering and to explain its importance
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
Teaching and learning is to be implemented through lecture, lab and tutorial sessions. Students are also expected to make presentations of their work.
(e) Indicative content
(f) Assessment method
The assessment will be by tests (20%), group assignments and presentations (20%) and final examination (60%)
(g) Reading List
The course aims at imparting practical skills in areas chosen by the faculty. The students are to be supervised by staff with in the faculty. Areas of practical skills development include;
This can be done within the School of Computing and Informatics Technology or any other unit in Makerere University. Students will write a report at the end of the course.
In this course, students will cover the course content of the CCNA international
(a) Description
The course gives students a firm foundation of data structures and algorithms. The course trains students on systematic development and analysis of algorithms. The importance of algorithm complexity on computer performance is emphasized. Typical computational problems and their solutions/analysis are to be covered.
(b) Aims
The aims of the course are to:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
The teaching pattern is by lecture, practical lab work, group discussion and class presentations.
(e) Indicative content
(f) Assessment method
The assessment will be done by tests/assignment (40%) and final examination (60%)
(g) Reading List
(a) Description
This course examines principles, design, implementation, and performance of computer networks and data communication. The aim is to sharpen student’s understanding and skills in computer networking and data communication. Subjects for discussion include: Internet protocols and routing, local area networks, wide area networking, wireless communications and networking, performance analysis, congestion control, TCP, network address translation, multimedia over IP, switching and routing, mobile IP, peer-to-peer networking, network security, and other current research topics and technologies.
(b) Aims
The aims of the course unit are to:
(c) Learning outcomes
Upon successful completion of this course, the student should be able to:
(d) Teaching and learning pattern
The course will be delivered inform of lectures, tutorials, lab experimentation, and group assignments.
(e) Indicative content
(f) Assessment method
Assessment will be in terms of tests and Assignment (40%) and final examination (60%)
(g) Reading List
(a) Description
The course provides students with skills of solving generic formal problems in science. It covers the intellectual and practical skills necessary for problem formalization.
(b) Aims
The aims of the course are:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and learning pattern
Teaching will be by Lectures and practical demonstrations.
(e) Indicative content
(f) Assessment method
Assessment will be in terms of tests and practical assignments (40%) and final written examination (60%)
(g) Reading List
(a) Description
This course introduces students to the foundations of software engineering as a discipline. Students are introduced to the evolving role of software engineering, especially with emphasis on software engineering process and process models. Key topics covered include Software configuration management, Requirement analysis, Software Specification, Design methods, Software testing, Software project management techniques; Software project planning, Risk management; Software Quality Assurance; Software reuse; and Computer aided software engineering: CASE tools and application.
(b) Aims
Aims and Objectives:
(c) Learning outcomes
On successfully completing of this unit students will be able to:
(d) Teaching and learning pattern
Teaching and learning is to be implemented through lecture, lab and tutorial sessions. Students are also expected to make presentations of their work.
(e) Indicative content
(f) Assessment method
(g) Reading List
(a) Description
The course applies mathematics to finite or discontinuous quantities in order to master the process of problem- solving, communication, reasoning, and modeling. It gives a basic understanding of mathematical structures that are fundamentally discrete. Objects studied in discrete mathematics are largely countable sets such as integers, finite graphs, and formal languages. Applications of such concepts to computer science are to be studied. Concepts and notations from discrete mathematics are useful in studying and describing objects and problems in computer algorithms and programming languages.
(b) Aims
The aim of this course is to provide the student with: -:
(c) Learning outcomes
By the end of the course unit, the student should be able to:
(d) Teaching and learning pattern
Teaching and learning will be by lectures and tutorials
(e) Indicative content
(f) Assessment method
Assessment will be by assignments and/or tests (40%) and written examination (60%)
(g) Reading List
(a) Description
This course examines the concepts, techniques, applications, and theories of Artificial Intelligence. The focus of the course is on the theory and application of artificial intelligence. Topics include logic, search, and reasoning with an emphasis on fundamentals and recent advances in AI. Given the broad range of topics addressed by the AI field, topics for discussion must, necessarily, be limited. Therefore, this course will focus on issues of search, knowledge representation, reasoning, decision making, and learning from the perspective of an intelligent agent.
(b) Aims and Objectives
(c) Learning outcomes
At the end of this course, the student will be able to:
(d) Intellectual, Practical and Transferable skills
This course describes and discusses several algorithms and techniques within the fields of artificial intelligence and machine learning. These are algorithms and techniques that have practical applicability in computer science fields. Theoretical and practical understanding of these areas equips the student with the insights and tools required for solving complex and difficult problems, and for implementing them in software.
(e) Teaching and learning pattern
Teaching and learning is implemented through lecture, lab and tutorial sessions. Students are expected to make presentations of their assignments for discussion in class.
(f) Indicative content
(g) Assessment method
Assessment will be by continuous assessment through practical exercises and Coursework (40%) and final exam (60%)
(h) Reading List
(a) Description
Operating Systems course introduces students to software that controls hardware and makes the hardware usable. Its interaction with other computer devises and how it controls other computer processes is explored.
(b) The aims of the course are:
(c) Learning outcomes
At the end of this course, the student will be able to:
(d) Teaching and Learning Pattern
The teaching pattern is by lectures, lab sessions and group projects.
(e) Indicative content
(g) Assessment method
The assessment will constitute Practical assignments on at least 5 chapters of the course and written course work (40%) and written Exam (60%)
(h) Reading List
(a) Description
This course introduces a paradigm where computation arises from proof search in a logic according to a fixed, predictable strategy. It thereby unifies logical specification and implementation in a way that is quite different from functional or imperative programming. This course provides a thorough, modern introduction to logic programming. It introduces the basic concepts and techniques of logic programming followed by successive refinement towards more efficient implementations or extensions to richer logical concepts. It covers a variety of logics and operational interpretations.
(b) aim:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
The course consists of a traditional lecture component and a project component. The lecture component introduces the basic concepts and techniques of logic programming. The project component will be one or several projects related to logic programming.
(e) Indicative content
(f) Assessment method
Assessment will be by assignments and/or tests (40%) and written examination (60%)
(g) Reading List
(a) Description
Systems programming is aimed at teaching students how to write programs using system level services. The system of instruction is UNIX due to availability of free system tools that have been largely developed by and for the academia
(b) aim:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
The teaching pattern is by lectures, lab sessions and projects.
(e) Indicative content
(g) Assessment method
Assessment will be in form of tests and practical assignment (40%) and final written examination (60%)
(h) Reading List
(a) Description
The course introduces students to the concept of automata and complexity. It sets a background for more advanced studies like compiler construction and principles of programming languages.
(b) aim:
The aims of the course are:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
Teaching will be in form of class lectures and tutorials
(e) Indicative content
(g) Assessment method
Assessment will be in terms of Assignments and tests (40%) and final written examination (60%)
(h) Reading List
(a) Description
The purpose of this course is to acquaint students with types of scientific research relevant for anyone working in the field of computer science. It will enable students to develop capacity to conduct small, simple research projects while at the university.
(b) aims:
The aims of this course unit are to:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Intellectual, Practical and Transferable skills
At the end of the course, students should have the ability to demonstrate:
(e) Teaching and Learning Pattern
Teaching will be in form of formal lectures, tutorials and seminars. Classes will be interactive and students are expected to come to class prepared to participate and contribute regularly to class activities and discussions.
(f) Indicative content
he content of this course will include:
(g) Assessment method
The course will be assessed by course work and tests (40%) and final examination (60%)
(h) Reading List
(a) Description
During Industrial training, students are to go and work in an organization with an IT department. The student is to be under the supervision of one of the workers in the organization. The student is assigned duties in line with the operations of the organization. Staff from Makerere University will make visits to get the students’ view of the organization as well as the organization’s view about the student. The supervisor will be given a form to evaluate the students and the student will make a report about his experience. The two reports will be used to evaluate the student.
(a) Description
The course introduces the principles of user interface development, focusing on design, implementation and evaluation.
(b) aims:
The course aims at providing the skills listed below to students:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
The teaching pattern is by lectures, lab sessions and projects.
(e) Indicative content
The content of this course will include:
(f) Assessment method
Assessment will be in form of assignments and tests (40%), practical Exam (30%) and final written exam (30%)
(g) Reading List
(a) Description
The course introduces the students to the basic concepts in entrepreneurship, identification of business opportunities, business evaluation and analysis. It provides students with the skills needed to effectively identify, organize, develop, and manage own business ventures. This course is based on creativity and professional development foundations that should orient a student to take adventure, a personal journey, and a seize opportunity for business start-up. The course gives students an opportunity to make creative adjustments to meet personal needs and increase self-drive to achieving success.
(b) A student that undertakes this course should be able to:
(c) Learning outcomes
On completion of this course unit, the students will be able to:
(d) Teaching and Learning Pattern
The teaching and learning approaches will combine classroom lectures, discussions and group activities, quizzes and take home assignments. A group project shall form part of the coursework. The material presented in class will overlap that of the text but will contain additions and variations.
(e) Indicative content
(g) Assessment method
Assessment will be in terms of tests and practical exercises (40 %) and a final examination (60%)
(h) Reading List
(a) Description
This course highlights programming practices that are vital in the day today work of a programming Professional. While many systems are described by functionalities, some important aspects like security, robustness, and maintainability are ignored. Students are to get an in depth understanding of these concepts as well as exploring the current trends in the programming environment.
(b) Aim:
The aim of the course is to concretize the student’s past programming experience as well as highlighting critical practices in programming that are necessary for a professional programr
(c) Learning outcomes
By the end of the course, the student should be:
(d) Teaching and Learning Pattern
Teaching will be by lectures and lab demonstrations.
(e) Indicative content
(g) Assessment method
Assessment will be by tests and practical assignments (40%) and final written examination (60%)
(h) Reading List
(a) Description
The course introduces students to the low level organization and operation of programming languages. It covers semantic and syntactic as well as operational issues in programming languages. The building blocks of programming languages are explored.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the course, students will be able to:
(d) Teaching and Learning Pattern
Teaching will be largely by lectures, tutorials and class assignments
(e) Indicative content
(f) Assessment method
Assessment will be by Tests and Assignments (40%) and final written examination (60%)
(g) Reading List
(a) Description
The course gives students theoretical and practical skills in modeling and simulation of dynamic systems with a view of learning their behavior and the sensitivity of that behavior to certain parameters.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
Teaching and Learning will be in form of Lectures and laboratory demonstrations
(e) Indicative content
(g) Assessment method
Assessment will be in form of tests and assignments (40%) and final examination (60%)
(h) Reading List
(a) Description
The course covers general purpose graphics systems and their use. It gives an in depth knowledge of computer graphics and graphical user interfaces.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
Teaching will be in terms of class lectures and tutorials
(e) Indicative content
(f) Assessment method
Assessment will be in terms of assignments and tests (40%) and final exam (60%)
(g) Reading List
(a) Description
The course is to allow students, individually or in groups, to integrate the knowledge acquired over the previous five semesters into solving a non - trivial problem through a computer application. Emphasis will be put on the systematic development methodology, the documentation of the development process. The expected output at this stage will be the concept paper for the third year project in the semester 6.
(b) Aims:
The aim of the course is to give students experience in
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
Students will be under the supervision of a member of staff (at least at a rank of Assistant Lecturer). The supervisor will guide them in the day today progress of the project. When the supervisor feels the students have addressed the problem at hand, (s)he will sign off their concept paper and recommend them to continue with the implementation.
(e) Indicative content
(f) Assessment method
Students will submit the signed Proposal to the department. The department will appoint a supervisor who will work with the students as they come up with their Proposal. Students will be required to present their work and answer any questions from the supervisor.
(a) Description
The course is to introduce students to the broad concepts of Linear Programming. Students will learn how to interprete and analyze LP problems, formulate them as problems and use existing techniques to solve them.
(b) Aims:
The aim of the course is to improve students’ problem solving skills by subjecting them to real life problems and guide them through formulation of their solutions. The choice of the cases chosen depends on their applicability in real life computing environment.
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and Learning Pattern
Teaching will be in form of lectures and Tutorialsh the implementation.
(e) Indicative content
(f) Assessment method
Assessment will be by assignments and tests (40%) and final written exam (60%)
(g) Reading List
(a) Pre-requisites: Computer Networks
(b) Course Description
The course is to introduce students to the broad concepts of Linear Programming. Students will learn how to interprete and analyze LP problems, formulate them as problems and use existing techniques to solve them.This is a theoretical course that covers the fundamentals of data communication Formatting and transmission of digital information over various media
(c) Aims:
The aims of the course are:
(d) Learning outcomes
Upon successful completion of this course, the student should be able to:
(e) Teaching and Learning Pattern
This course will be delivered through class lectures, discussions. Simulations will also be used to explain abstract concepts.
(e) Indicative content
(f) Assessment method
(Assignments, Tests, Group Research course work) 40% Final Examination 60%
(g) Reading List
(a) Description
In this course unit, students shall understand the complete process of translating a program in a high-level language to machine language. The course gives an introduction to the design and implementation of a compiler with emphasis on principles and techniques for program analysis and translation. It also gives an overview of the tools for compiler construction. Lexical analysis, token selection, transition diagrams, and finite automata. The use of context-free grammars to describe syntax, derivations of parse trees, and construction of parsers. Syntax-directed translation schemes; Intermediate code; Symbol table; Code generation; Detection, reporting, recovery and correction of errors.
(b) Aims:
The aim of the course is to allow students to examine how a high-level language program is accepted as input and translated into assembly language or machine language so that the central processing unit receives instructions which it understands and can execute.
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
The course consists of a traditional theoretical component and a project component. The lecture component introduces the basic concepts of compiler writing. The project component will involve students in writing a compiler for a specified programming language.
(e) Indicative content
(f) Assessment method
Assessment will be by assignments and/or tests (40%) and written examination (60%)
(g) Reading List
(a) Description
The course is to allow students, in groups, to integrate the knowledge acquired over the previous five semesters into solving a non - trivial problem through a computer application. Emphasis will be put on the systematic development methodology, the documentation of the development process, and how well the developed systems address the problem to be solved. Non - functional attributes like robustness, usability, security and reliability will also be tested.
(b) Aims:
The aim of the course is to give students experience in:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
Students will be under the supervision of a member of staff (at least at a rank of Assistant lecturer). The supervisor will guide them in the day today progress of the project. When the supervisor feels the students have addressed the problem at hand, (s)he will sign off their report and recommend them for examination.
(e) Indicative content
(f) Assessment method
Students will submit the signed report for examination to the department. The department will appoint an examination panel of at least 5 people who will evaluate the report as well as testing the system. Students will be required to present their work and answer any questions from the panel. Each member of the panel will award a mark depending on his/her view on the worthiness of the developed application.
(a) Description
Computer security is a branch of technology concerned with digital security or information security applied to computers. Since the largest part of the computer that users interact with is software, computer security pays big attention to development of secure software.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning Pattern
The teaching pattern is by lectures, lab sessions and group projects
(e) Indicative content
(f) Assessment method
Assessment will constitute Practical assignments on at least 5 chapters of the course and written course work (20%) and written Exam (60%).
(g) Reading List
(a) Description
This course covers techniques and software tools that can assist management that deals with large amounts of data in management and business decision making. The course covers the fundamental differences between databases and data warehouses, the techniques of developing data warehouses as well as manipulating them to generate business strategic decisions.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching and Learning Pattern
Teaching will be in form of class lectures, tutorials, lab demonstrations as well as class presentations.
(e) Indicative content
(f) Assessment method
Assessment will be in form of tests and practical assignments (40%) and final written examination (60%)
(g) Reading List
(a) Description
This course gives students theoretical and practical skills on development of distributed systems and applications. This includes distributed-system specific challenges like reliability and robustness.
(b) Aims:
The aim of the course is to equip students with skills of developing distributed systems
(c) Learning outcomes
By the end of the course, the student should be able to:
(d) Teaching will be by class lectures and laboratory demonstrations
Teaching will be in form of class lectures, tutorials, lab demonstrations as well as class presentations.
(e) Indicative content
(f) Assessment method
Assessment will be in form of tests and (practical) assignments (40%) and final examination (60%)
(g) Reading List
(a) Description
The course is to expose provide students with an opportunity to search for knowledge in an area of interest. It is to allow a student do lightweight research and explore the current trends in a certain computer science area.
(b) Aims:
The aims of the course are:
(c) Learning outcomes
By the end of the subject, students should be able to:
(d) Teaching and Learning pattern
Students will be grouped in theme areas which will be covered by a set of staff. Staff will guide students on the specific themes/topics in the area as well as where to search for information. Staff will also address experiences and hardships found.
(e) Indicative content
(f) Assessment method
Students will present their findings in a report. The study report will be an outline and explanation of what the student has found out in the state of practice in the area of choice. The write up will be evaluated and the final mark awarded.
(g) Reading List