Access the detailed curriculum guide here: Download Curriculum Guide (PDF)

Introduction

The Department of Computer Science aims to position itself as a leader in Digital Security and Artificial Intelligence and Data Science. These priority areas are aligned with the national and global development plans and thus expected to impact on the industry, in the short, medium and long term.

Research in the Department of Computer Science

The Department’s teaching and research aims at increasing the capacity with in the department as well as the impact in industry and academia. A student pursuing an PhD in Computer Science will be required to specialize in one of these tracks.

  1. Digital Security
  2. Designing and implementing secure computer systems

  3. Artificial Intelligence and Data Science
  4. Design and development of cutting edge AI-driven solutions and research

Key Knowledge Areas

The revised PhD in Computer Science programme covers the following key knowledge areas:

  • KA1: Theoretical Foundations of Computing: Computer Science Theory, Programming languages.
  • KA2: AI, Machine learning and data Science
  • KA3: Digital and software systems security
  • KA4: Research methods and scholarly knowledge

Programme Objectives

The PhD in computer Science programme builds upon the Department’s Master’s Programme in Computer Science to advance the training and production of world class researchers and innovators in the areas of Digital Security, Artificial Intelligence and Data Science.

The objectives of the PhD (Computer Science) are to:

  • Build human resource capacity in the area of Computer Science in both the public and private sectors as well as in universities.
  • Develop research capacity in the areas of Computer Science so as to improve research and innovations output in the country and region
  • Address the increasing demand for PhD holders in the areas of computer science
  • Provide masters holders with potential for PhD with opportunities to develop skills in formulating, conducting and presenting their own scholarly research through the production of research-based dissertations and publications.
  • Increase the Computer Science knowledge base through scientific publications, innovations and research translation.

Collaboration Partners

  1. University of Groningen
  2. Raudbound University Nijmegen
  3. Eindhoven University of Technology
  4. University of Bergen
  5. London South Bank University

Computing Equipment

The Faculty of Computing and IT has put in place specialized research laboratories i.e. Multimedia Laboratory, Geographical Information Systems Laboratory, Mobile Computing Laboratory, Networking and Systems Laboratory, Software Incubation Laboratory, Computer Engineering Laboratory and E-learning Laboratory and plans are under way to establish more laboratories.

The equipments and software in these specialised laboratories is availed to the PhD students and their supervisors.

Every PhD student at the department is given a laptop and personal computer for the whole duration of the program. Each member of academic staff has a laptop and personal computer in the office.

PhD Programme

The PhD in Computer Science programme is a full-time day programme.

Target Group

The program targets holders of a Masters in Computer Science and related fields interested in pursuing advanced graduate study in Computer Science.

The program targets those with interest in industry, research and academia career prospects at senior levels.

Tuition

Tuition fees for privately sponsored students shall be UGX 7,000,000 (Seven million Uganda Shillings) per academic year for East African students and UGX 10,000,000 (Ten million Uganda Shillings) per academic year for international students. In addition, students shall pay functional fees as determined by the University Council from time-to-time.

Program Duration

The program duration is four academic years including eight semesters. One academic year shall be for coursework and research proposal writing and three years shall be for research and thesis writing.

Programme Regulations

Admission Requirements

To qualify for admission on the program, the candidate should have

  • Master’s degree in Computer Science or a closely related field, with a CGPA of at least 3.0 or equivalent from a recognised chartered university.
  • Candidates from a closely related field should have completed courses, a research thesis and acquired advanced knowledge at master’s level in computer programming, machine learning, cryptology, security, and mathematics.

Pre-requisite

Core courses and electives of the programme require previous knowledge, skills. Therefore, depending on the background, a student may be required to take remedial courses, which shall be specified by the Department and supervisor

Progression

Progression shall be regarded as normal, probationary or discontinuation as per the standard Makerere University Senate guidelines

  1. Normal Progress : When a student passes each course unit taken with a minimum Grade Point (GP) of 3.0.
  2. Probationary : This is a warning stage and occurs if either the Cumulative Grade Point Average (CGPA) is less than 3.0 and/or the student has failed a core course unit. Probation is waved when these conditions cease to hold.
  3. Discontinuation : A student shall be discontinued from the programme if
    • He/she fails to get a grade point of at least 3.0 from any course unit for three consecutive sittings.
    • Overstays on the programme beyond the maximum programme duration stipulated by the University policies.

Certificate of Due Performance

  • A student who fails to submit their assignment on the given deadline without justifiable causes(s) shall receive a score of zero.
  • A student who does not have coursework marks shall be denied Certificate of Due Performance and will not be allowed to sit the University Examinations.
  • Other Makerere University Graduate guidelines concerning certificate of due performance shall apply.

Appeals

Any student or candidate aggrieved by a decision of the Board of the College/ School may appeal to the Senate Examinations for reversal or moderation of the decision of the Board.

Course Assessment

The General Regulations and Statutes of Makerere University shall govern examinations for the programme. Assessment will be in form of writing technical reports, reviewing literature, critiquing papers or any other approach a student can use to demonstrate indepth understanding and synthesis of academic matter. The approach used will depend on the course unit being studied. Specific course assessment are defined per course in this programme.

Grading of Courses

Each course unit shall be graded out of 100% and assigned appropriate letter grade and grade points (GP) as shown in the table below. The pass mark in each course is 60%. The marks obtained out of 100 are assigned an appropriate letter grade and grade point average. The Cumulative Grade Point Average (CGPA) and Grading of the award will be as follows: Grade points will be allocated to the final mark got in every course unit according to the table below:

Marks Letter Grade Grade Point
90-100 A+ 5 Exceptional
80-89 A 5 Excellent
75-79 B+ 4.5 Very Good
70-74 B 4 Good
65-69 C+ 3.5 Fairly Good
60-64 C 3 Pass
55-59 D+ 2.5 Marginal Fail
50-54 D 2 Clear Fail
45-49 E 1.5 Bad Fail
40-44 E- 1 Qualified Fail
0-39 F 0 Qualified Fail

The following additional letters will be used, where appropriate:

  • W - Withdraw from Course
  • I - Incomplete
  • AU - Audited course only
  • P - Pass
  • F - Failure

Calculation of Cumulative Grade Point Average (CGPA)

The CGPA shall be calculated as follows:

CGPA = n i=1 GPi × CUi n i=1 CUi

Where GPi is the Grade Point score of a particular course unit i; CUi is the number of Credit Units of course unit i; and n is the number of course units done so far.

Classification of the Award

In accordance with the standing guidelines and regulations of the Makerere University on Higher Degrees, the PhD degree in Computer Science is not classified.

Semester Load

The normal load for Year one (i.e., the course work year) is 16 credit units per semester. The maximum semester load shall be 28 Credit Units to cater for students who have courses to retake.

Academic Programme Load

Duration No. of core courses No. of electives Remark Total CUs
Year I Semester I: 3 1 3 core
1 elective
16
Semester II: 2 2 2 core
2 elective
16
Year II Semester I: 1 0 1 core 5
Semester II: 1 0 1 core 3
Year III Semester I: 1 0 1 core 2
Semester II: 1 0 1 core 3
Year IV Semester I: 1 0 1 core 3
Semester II: 1 0 1 core 12
TOTAL 11 3 60

Minimum Graduation Load

To qualify for the award of the degree of Doctor of Philosophy in Computer Science, a candidate is required to obtain a minimum of 60 credit units.

Course Weighting System

The weighting unit is the Credit Unit (CU). The Credit Unit is a series of 15 contact hours (CH) in a semester. A contact hour is equal to (i) one lecture hour (LH), (ii) two practical hours (PH) or (iii) two tutorial hours (TH).

PhD Dissertation

Students are required to demonstrate their ability to independently formulate a detailed dissertation proposal, as well as develop and demonstrate their dissertation thoroughly.

  • A candidate shall be allowed to formally start on the dissertation after completion of the coursework part.
  • A candidate shall submit a dissertation proposal to the Faculty of Computing and Information Technology Higher Degrees Committee during the first semester of the first academic year.
  • The candidate shall execute the dissertation after acceptance of the dissertation proposal.
  • The candidate shall be required to submit reports of progress to the Faculty Higher degrees committee every 6 months
  • The candidate shall, in the process of PhD research, publish at least three peer reviewed articles one of which must be in a specialised journal/conference
  • The candidate shall submit a dissertation report before the end of the fourth year (8th semester).

To pass the Dissertation, the candidate shall satisfy the Internal Examiner, External Examiner, and Viva Voce Committee independently.

Programme Structure

Programme Structure

The details of the course structure are shown below: where LH, TH, PH, CH and CU stand for Lecture Hours, Tutorial Hours, Practical Hours, Contact Hours and Credit Units respectively.

Year I, Semester I

Code Course Name LH PH CH CU Remark
PCS 9101 Philosophy of Computing 30 60 60 4 Modified
PSE 9101 Science of Programming 30 60 60 4 Modified
PIT 9102 Advanced Research Methods 30 60 60 4 Old
Electives (Select 1)
PCS 9102 Advances in Digital Security 30 60 60 4 Modified
PCS 9104 Machine Learning Theory and Algorithms 30 60 60 4 New
TOTAL 16

Year I, Semester II

Code Course Name LH PH CH CU Remark
PIS 9203 Presentations, Scientific Writing and Research Ethics 30 60 60 4 Modified
PCS 9202 Analysis and Design of Algorithms 30 60 60 4 New
Electives (Select 2)
PCS 9209 Advances in Computer Vision and Image Processing 30 60 60 4 Modified
PCS 9207 Natural Language Processing 45 30 60 4 New
PSE 9201 Models of Software Systems 30 60 60 4 Modified
PCS 9208 Systems Security and Privacy 30 60 60 4 New
PCS 9206 Responsible Software Systems 30 60 60 4 New
TOTAL 16

Year II, Semester I

Code Course Name LH PH CH CU Remark
PCS 9301 Thesis Proposal - 150 75 5 New
TOTAL 5

Year II, Semester II

Code Course Name LH PH CH CU Remark
PCS 9401 Research Seminar I - 90 45 3 New
TOTAL 3

Year III, Semester I

Code Course Name LH PH CH CU Remark
PCS 9501 Scientific Presentation at a Conference - 60 30 2 New
TOTAL 2

Year III, Semester II

Code Course Name LH PH CH CU Remark
PCS 9601 Scientific Paper Manuscript - 90 45 3 New
TOTAL 3

Year IV, Semester I

Code Course Name LH PH CH CU Remark
PCS 9701 Research Seminar II - 90 45 3 New
TOTAL 3

Year IV, Semester II

Code Course Name LH PH CH CU Remark
PCS 9801 PhD Thesis - 360 180 12 New
TOTAL 12

Key:

  • Modified: This remark means that the course unit has been revised by content.
  • New: Means the course unit has been freshly introduced in the department.
  • Old: Means no change on the course unit’s name, code and content.

Detailed Content Per Course Unit

Detailed Courses

PCS 9101: Philosophy of Computing (4CU)

(a) Description

This course explores the philosophical foundations of computing, covering computational understanding of major parameters supporting the field. It delves into philosophy of machine intelligence, models for real and virtual worlds, language and knowledge representation, philosophy of computer languages, and logic and probability theories. It fosters analytical, critical, and logical rigor for advanced computing research.

(b) Aims and Objectives

The aims are to:

  • Explore philosophical foundations of computing as an academic field.
  • Provide historical foundations of computational thinking and interpretation.
  • Expose students to philosophical perspectives in computing areas.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Explain philosophical foundations of computing.
  • Describe and demonstrate theoretical thinking and interpretations.
  • Apply philosophical perspectives in computing fields.

(d) Teaching and Learning Pattern

Teaching involves lectures, group work, discussions, and presentations in blended mode.

(e) Indicative Content

  • Mind and Artificial Intelligence: Philosophy of AI, computationalism, connectionism, philosophy of mind.
  • Real and virtual worlds: Ontology, virtual reality, physics of information, cybernetics, artificial life.
  • Language and knowledge: Information, content, philosophy of computer languages, hypertext.
  • Logic and probability: Probability in AI, game theory, Nash equilibrium.

(f) Assessment

Assessment includes take-home assignments and presentations (40%) and a final scientific review paper (60%).

(g) Reading List

  1. Angins, Nicola, et al. The Philosophy of Computer Science. Stanford University, 2021.
  2. Rapaport, William J. Philosophy of Computer Science. University at Buffalo, 2020.
  3. Floridi, Luciano. Philosophy and Computing: An Introduction. Routledge, 1999.
  4. Bynum, Terrel Ward; Moor, James H. The Digital Phoenix. Blackwell Publishers, 2000.
  5. Colburn, Timothy R. Philosophy and Computer Science. M.E. Sharpe, 2000.

PSE 9101: Science of Programming (4CU)

(a) Description

This course introduces foundational concepts of programming languages using typed λ-calculi and operational semantics. It applies these models to design, analyze, and implement programming languages, demonstrating a mathematical approach to program correctness, language comparisons, compiler correctness, and more. It focuses on denotational and operational semantics with small "core" languages.

(b) Aims and Objectives

The aims are to:

  • Study formal techniques for describing computation and compilation.
  • Provide understanding of programming languages, specification, logic, mathematics, and proof theory.
  • Apply formal reasoning to nondeterministic and concurrent programs, introducing distributed systems reasoning.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Describe and relate programming paradigms and their mathematical models.
  • Demonstrate techniques for computation and compilation processes.
  • Select methodologies for research and dissertation.
  • Apply formal reasoning to nondeterministic programs.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed journal papers. Students research and present topics, and the lecturer encourages understanding through questions. Discussions align with students’ research topics. Students present review papers for critique in blended mode.

(e) Indicative Content

  • Inductive definitions: Data sets, abstraction, expressions, state, continuation passing, types, modules, objects, sub-typing.
  • Type inference: Unification, denotational/operational semantics, referential transparency.
  • Sequential imperative programs: State transformations, correctness, traces, runtime.
  • Machine language: Jumps, continuations, compiling sequential programs, optimization correctness.
  • Parallel programming: Data flow networks, shared-memory, communicating processes, safety, liveness.
  • Functional programs: Types, polymorphism, call-by-value, continuation-style semantics.

(f) Assessment

Progressive assessment is based on class presentations (40%) and a final scientific review paper (60%).

(g) Reading List

  1. Friedman, Daniel P., et al. Essentials of Programming Languages. MIT Press, 2008.
  2. Reynolds, John C. Theories of Programming Languages. Cambridge University Press, 1999.
  3. Winskel, Glynn. The Formal Semantics of Programming Languages. MIT Press, 1993.
  4. Abelson, Harold, et al. Structure and Interpretation of Computer Programs. MIT Press, 1996.

PIT 9102: Advanced Research Methods (4CU)

(a) Description

This course provides in-depth exploration of research methods, methodologies, theories, concepts, and ethics. It develops students’ ability to critically evaluate computing research articles, covering qualitative, quantitative, and descriptive methodologies. It balances theory and practice, serving as a forum for PhD dissertation preparation.

(b) Aims and Objectives

The aims are to:

  • Structure research problems in computing to generate research questions.
  • Critique scholarly articles, formulate hypotheses, and support with evidence.
  • Apply computing/IT research methods.
  • Communicate peer review results confidently.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Identify research problems and generate research questions.
  • Critique articles, conduct comparative analysis, and formulate hypotheses.
  • Apply computing research methods.
  • Communicate peer review results effectively.

(d) Teaching and Learning Pattern

Classes include seminars, tutorials, blended lectures, team work, and presentations. Reading materials are distributed in advance, and students research and present topics, critiquing literature and developing research questions.

(e) Indicative Content

  • Introduction: Research types, theoretical/conceptual frameworks.
  • Research philosophy: Ontology, epistemology, paradigms (positivism, interpretivism).
  • Problem identification: Gap analysis, objectives, literature review types.
  • Research designs: Basic vs. applied, quantitative vs. qualitative, experimental.
  • Methodologies and methods: Data collection, scientific writing, analysis.
  • Data sources: Operationalization, data management, ethics, referencing.

(f) Assessment

Progressive assessment includes participation, presentations, and review papers (40%). Final assessment comprises a group research paper with presentation and an individual research paper (60%).

(g) Reading List

  1. Azari, R., Rashed-Ali, H. Research Methods in Building Science. Springer, 2021.
  2. Badache, F., et al. International Organizations and Research Methods. University of Michigan Press, 2023.
  3. Bhangu, S., et al. Introduction to Qualitative Research Methods. Perspectives in Clinical Research, 2023.
  4. Creswell, J. W. A Concise Introduction to Mixed Methods Research. SAGE, 2021.
  5. Creswell, J. W., Poth, C. N. Qualitative Inquiry and Research Design. Sage, 2016.

PCS 9102: Advances in Digital Security (4CU)

(a) Description

This course explores advanced digital security concepts, techniques, and methodologies to safeguard digital assets. It provides in-depth knowledge of current practices, challenges, and research gaps, enabling students to critique recent works.

(b) Aims and Objectives

The aims are to:

  • Equip students with knowledge of computer system security challenges.
  • Explore state-of-the-art trends in digital security.
  • Analyze current literature to identify research gaps.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Elaborate security challenges in software, networks, ML, and embedded systems.
  • Explain attack and defense techniques.
  • Understand research trends and emerging technologies.
  • Critique state-of-the-art research in digital security.

(d) Teaching and Learning Pattern

Lecturers provide reading materials, and students write findings and present in class. Teaching is student-centered with discussions, demonstrations, and self-guided research.

(e) Indicative Content

  • Secure software: Coding practices, code analysis, SDLC, DevSecOps.
  • Network security: Intrusion detection, secure routing, SDN, threat intelligence.
  • Blockchain: Consensus, smart contract vulnerabilities, privacy techniques.
  • ML in security: Threat modeling, AI detection, malware analysis.
  • IoT security: Authentication, protocol security, lightweight cryptography.
  • Cloud security: Virtualization, multitenancy, compliance.
  • Cryptography: Homomorphic encryption, post-quantum, key management.
  • Emerging trends: Quantum computing, AI, biometrics, privacy-enhancing tech.

(f) Assessment

Assessment includes a test (10%), two case studies (15% each), a term paper (20%), and a final exam (40%).

(g) Reading List

  1. Singh, Simon. The Code Book. 2000.
  2. Vacca, John R. Cloud Computing Security. CRC Press, 2021.
  3. Pal, Souvik, et al. IoT Security and Privacy Paradigm. CRC Press, 2020.
  4. Bernardini, R. Cryptography - Recent Advances. IntechOpen, 2021.

PCS 9104: Machine Learning Theory and Methods (4CU)

(a) Description

This course covers advanced machine learning theory and methods for PhD research, deepening understanding of algorithms, mathematics, and statistics to prepare students for independent research and publication.

(b) Aims and Objectives

The aims are to:

  • Present statistical, computational, and game-theoretic learning models.
  • Analyze successful machine learning algorithms.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Discuss and contrast learning models.
  • Understand and analyze machine learning algorithms.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed readings. Students research and present topics, and discussions align with research interests. Delivery is blended.

(e) Indicative Content

  • Foundations: Formal learning model, uniform convergence, VC-dimension.
  • ML algorithms: Linear predictors, boosting, SVMs, kernel methods, neural networks.
  • Further models: Online learning, clustering, generative models.
  • Advanced theory: Rademacher complexities, multi-class learnability, PAC-Bayes.

(f) Assessment

Progressive assessment is based on presentations (40%) and a final scientific review paper (60%).

(g) Reading List

  1. Shalev-Shwartz, S., Ben-David, S. Understanding Machine Learning. Cambridge University Press, 2014.
  2. Mohri, M., et al. Foundations of Machine Learning. MIT Press, 2016.
  3. Arora, S., et al. The Multiplicative Weights Update Method. Theory of Computing, 2012.
  4. Kearns, M. J., Vazirani, U. An Introduction to Computational Learning Theory. MIT Press, 1994.

PIS 9203: Presentations, Scientific Writing and Research Ethics (4CU)

(a) Description

This course covers principles of scientific writing, types of papers, publishing processes, critiquing research, and practical writing skills. It emphasizes ethics and targets PhD students in computing, IT, engineering, and natural sciences.

(b) Aims and Objectives

The aims are to:

  • Explain correlations between research aims, methods, and results.
  • Plan clinical research and methods.
  • Analyze and present results verbally and graphically.
  • Write research proposals and journal articles.
  • Appreciate ethics in scholarly writing.
  • Understand publishing venue selection.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Describe the importance of scientific writing.
  • Write scientific papers.
  • Describe prerequisites for top-tier journal publishing.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed readings on writing and ethics. Students research, present, and view recorded seminars by academics.

(e) Indicative Content

  • Science and writing: IMRAD format, scientific journals, publishing decisions.
  • Paper structure: Parts, language, style, publication process.
  • Critical review: Expository writing, grammar, tables/figures, refereeing.
  • Ethics: Honesty, health-related research, Helsinki Declaration, informed consent.

(f) Assessment

Progressive assessment is based on presentations (40%) and a final scientific review paper (60%).

(g) Reading List

  1. Day, Robert A., Gastel, Barbara. How to Write and Publish a Scientific Paper. 9th Edition, 2020.
  2. Belcher, Wendy Laura. Writing Your Journal Article in Twelve Weeks. 2nd Edition, 2019.
  3. Loue, Sana. Textbook of Research Ethics. 2024.
  4. Glasman-deal, Hilary. Science Research Writing. 2nd Edition, 2020.

PSE 9201: Models of Software Systems (4CU)

(a) Description

This course examines precise, abstract models for software engineering, including state machines, algebras, and traces, to reason about system properties like correctness and deadlock freedom. It explores composition, abstraction, invariants, and non-determinism.

(b) Aims and Objectives

The aims are to:

  • Introduce models and logics (state machines, algebraic, trace, temporal).
  • Illustrate formal models for system classes and reason about properties.
  • Provide understanding of modeling techniques (Z, concurrency, Petri Nets, UML).

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Understand model and logic strengths/weaknesses.
  • Select and describe formal models and reason about properties.
  • Relate models and apply methodologies in research.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed readings. Students research, present, and align discussions with research topics. Review papers are critiqued.

(e) Indicative Content

  • Foundations: Modeling, logic, proof, sets, relations, induction.
  • State machines: Variations, FSP, LTSA, reasoning.
  • Z techniques: Applications, refinement, abstraction.
  • Concurrency: Modeling, reasoning, LTL in FSP.
  • Petri Nets and UML: Reasoning and applications.

(f) Assessment

Assessment includes take-home assignments and presentations (40%) and a scientific review paper (60%).

(g) Reading List

  1. Gehlot, V. A Tutorial Introduction to Colored Petri Nets. IEEE, 2021.
  2. Jensen, K. Coloured Petri Nets. Springer-Verlag, 1991.
  3. Peterson, J. L. Software Engineering Mathematics. ACM Computing Surveys, 1977.
  4. Rumbaugh, J., et al. The Unified Modeling Language Reference Manual. Addison Wesley, 1999.
  5. Spivey, J. M. An Introduction to Z and Formal Specification. SW Eng Journal, 1989.

PCS 9207: Natural Language Processing (4CU)

(a) Description

This course covers advanced NLP topics, focusing on deep learning methods like language models and transformers. It emphasizes student-led investigation into applications, including African language translation.

(b) Aims and Objectives

The aims are to:

  • Study deep learning models for NLP problems.
  • Cover bias and ethical issues in NLP.
  • Develop real-world NLP systems.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Understand deep learning for NLP challenges.
  • Discuss bias and ethics in NLP.
  • Develop NLP systems using deep learning.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed readings. Students research, present, and align discussions with research topics. Delivery is blended.

(e) Indicative Content

  • Fundamental algorithms: ML, language modeling, CNNs, RNNs, transformers.
  • Text analysis: Semantics, classification, sentiment, summarization.
  • Large language models: Training, fine-tuning, multilingual adaptation, RAG.
  • Bias and ethics: Embeddings, emergent bias, ethical applications.

(f) Assessment

Progressive assessment is based on presentations (40%) and a final scientific review paper (60%).

(g) Reading List

  1. Tunstall, Lewis, et al. Natural Language Processing with Transformers. O’Reilly, 2022.
  2. Eisenstein, Jacob. Natural Language Processing. 2018.
  3. Jurafsky, D., Martin, J. Speech Language Processing. MIT Press, 2017.
  4. Prabhumoye, S., et al. Principled Frameworks for Ethics in NLP. ACL, 2019.

PCS 9208: Systems Security and Privacy (4CU)

(a) Description

This course covers network security, data privacy, and countermeasures, including cryptographic attacks, intrusion detection, authorization systems, and privacy concerns in digital operations.

(b) Aims and Objectives

The aims are to:

  • Study trends and methods in network/systems security.
  • Cover advanced security areas.
  • Develop skills in data privacy and security techniques.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Articulate trends and methods in security.
  • Explain areas needing attention.
  • Implement advanced privacy/security techniques.

(d) Teaching and Learning Pattern

The course uses interactive lectures, presentations, discussions, and programming tasks/labs.

(e) Indicative Content

  • Topology-level security: Zone model, Ethernet issues, WLAN attacks.
  • Enterprise networking: VLANs, routing protocols, access control.
  • Transport technologies: MPLS, VPNs, multicast security.
  • Data privacy: Anonymization, k-anonymity, differential privacy, ethical issues.

(f) Assessment

Assessment includes assignments (40%) and an examination (60%).

(g) Reading List

  1. Muthukumaran, Divya, et al. Leveraging ‘Choice’ in Authorization. ACM CCS, 2012.
  2. Kizza, Joseph Migga. Guide to Computer Network Security. Springer, 2020.
  3. Sadiqui, Ali. Computer Network Security. Wiley, 2020.
  4. Binjubeir, Mohammed, et al. Comprehensive Survey on Big Data Privacy. IEEE Access, 2019.

PCS 9202: Analysis and Design of Algorithms (4CU)

(a) Description

This course covers advanced techniques for designing efficient algorithms, proving correctness, and analyzing runtime, focusing on graph algorithms, optimization, and recent trends.

(b) Aims and Objectives

The aims are to:

  • Understand elaborate algorithms.
  • Recognize data structures for efficiency.
  • Analyze space/time efficiency.
  • Design/modify algorithms for new applications.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Use various data structures.
  • Understand algorithm efficiency.
  • Conduct time complexity analysis.
  • Discuss intractable/undecidable problems.

(d) Teaching and Learning Pattern

Classes involve group discussions with pre-distributed readings. Students research, present, and align discussions with research topics.

(e) Indicative Content

  • Analysis: Asymptotic notation, amortized analysis.
  • Design: Divide and conquer, greedy, dynamic programming, randomized.
  • Graph algorithms: Traversal, shortest paths, minimum spanning trees.
  • Complexity: P vs. NP, NP-completeness, approximation.
  • Advanced: String, geometric, parallel, quantum algorithms.

(f) Assessment

Assessment includes assignments and presentations (40%) and a scientific review paper (60%).

(g) Reading List

  1. Cormen, Thomas H., et al. Introduction to Algorithms. MIT Press, 2022.
  2. Chakraborty, Soubhik, et al. A Guide to Design and Analysis of Algorithms. Nova Science, 2022.
  3. Kleinberg, Jon, Tardos, Eva. Algorithm Design. Pearson, 2021.

PCS 9206: Responsible Software Systems (4CU)

(a) Description

This course covers designing responsible software systems, focusing on detecting, measuring, and mitigating bias and harms in AI/software systems. It emphasizes fairness, transparency, safety, security, privacy, and accountability.

(b) Aims and Objectives

The aims are to:

  • Introduce benefits and harms of software systems.
  • Discuss data governance and regulatory frameworks.
  • Cover bias, fairness, transparency, and accountability.
  • Illustrate strategies for mitigation.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Explain principles for responsible software.
  • Understand governance and regulatory roles.
  • Analyze bias, fairness, and accountability issues.
  • Implement mitigation strategies.

(d) Teaching and Learning Pattern

The course uses lectures, presentations, discussions, case studies, tutorials, and practical demonstrations.

(e) Indicative Content

  • Introduction: Rationale, harms, societal impacts.
  • Lifecycle issues: Stakeholder perspectives, value tensions.
  • Ethics: Ethical questions, risk assessment.
  • Bias, fairness: Techniques, local context examples.
  • Security, privacy: Monitoring, mitigation.
  • Regulations: Policies, standards, governance.

(f) Assessment

Assessment includes an assignment, two case studies (40%), and a term paper (60%).

(g) Reading List

  1. Voeneky, S., et al. The Cambridge Handbook of Responsible AI. Cambridge University Press, 2022.
  2. Schieferdecker, I. Responsible Software Engineering. Springer, 2020.
  3. Pressman, Roger S., Maxim, Bruce R. Software Engineering. ISBN: 978-0078022128.
  4. Tsui, Frank, et al. Essentials of Software Engineering. ISBN: 978-1284106008.

PCS 9209: Advances in Computer Vision & Image Processing (4CU)

(a) Description

This course covers image processing and computer vision, focusing on methods for machines to analyze images/videos using geometry and statistical learning. It includes image formation, deep learning for recognition, and applications in autonomous vehicles.

(b) Aims and Objectives

The aims are to:

  • Expose students to computer vision tools.
  • Explore image processing importance.
  • Survey image features for analysis.
  • Equip students with ML skills for image processing.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Deploy computer vision tools.
  • Understand methods for image analysis.
  • Conduct advanced research in vision.

(d) Teaching and Learning Pattern

The course uses lectures, presentations, discussions, case studies, tutorials, and practical demonstrations.

(e) Indicative Content

  • Introduction: Goals, image formation.
  • Image preprocessing: Radiometry, geometric transformations, stereo vision.
  • Spatial filtering: Image filtering, segmentation.
  • Thresholding: Texture descriptors, edges, SIFT, SURF.
  • ML for images: Regression, CNNs, autoencoders, motion tracking.

(f) Assessment

Assessment includes a test (10%), two case studies (15% each), a term paper (20%), and a final exam (40%).

(g) Reading List

  1. Forsyth, D., Ponce, J. Computer Vision: A Modern Approach. 2nd Edition, 2015.
  2. Goodfellow, I., et al. Deep Learning: Algorithms and Applications. 2017.
  3. Khan, S., et al. A Guide to Convolutional Neural Networks. 2018.
  4. Szeliski, R. Computer Vision: Algorithms and Applications. 2nd Edition, 2022.

PCS 9301: Thesis Proposal (5CU)

(a) Description

This seminar allows doctoral students to present and discuss their thesis proposal, a synopsis outlining the research problem, theoretical/methodological approaches, and ethical considerations. It sets the direction for the thesis.

(b) Aims and Objectives

The aims are to:

  • Review and discuss the thesis proposal.
  • Provide feedback on theoretical/methodological approaches.
  • Guide on ethical considerations.
  • Suggest areas for improvement.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Describe the research problem and knowledge gap.
  • Explain computer science methods for research.
  • Formulate a coherent proposal with budget and work plan.

(d) Teaching and Learning Pattern

Students present proposals to a panel, coordinated by the Graduate Research Office, with feedback provided in a seminar setting.

(e) Indicative Content

  • Proposal development: Research problem, gap analysis, objectives.
  • Methodology: Theoretical and methodological approaches.
  • Ethics: Ethical considerations in computing research.
  • Planning: Budget, timeline, implementation strategy.

(f) Assessment

Assessment is based on the quality of the thesis proposal presentation and panel feedback (100%).

(g) Reading List

No specific reading list provided in the document; students consult supervisors for relevant materials.

PCS 9401: Research Seminar I (3CU)

(a) Description

This seminar supports doctoral students by allowing them to present their work, receive feedback, and discuss viewpoints to refine research analyses and argumentation.

(b) Aims and Objectives

The aims are to:

  • Review and discuss the student’s work.
  • Provide feedback on theoretical/methodological approaches.
  • Guide on ethical considerations.
  • Suggest improvements.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Organize a public seminar and coordinate logistics.
  • Present research coherently to a diverse audience.
  • Respond to questions from faculty and public.
  • Acknowledge and address gaps in work.
  • Document seminar proceedings comprehensively.

(d) Teaching and Learning Pattern

Students present to a doctoral committee, with documentation provided three weeks in advance. Discussions are initiated by the principal supervisor.

(e) Indicative Content

  • Presentation skills: Structuring research for public presentation.
  • Feedback integration: Addressing theoretical/methodological critiques.
  • Ethical considerations: Applying ethics to research.
  • Documentation: Reporting seminar outcomes.

(f) Assessment

Assessment is based on the quality of the presentation and seminar report (100%).

(g) Reading List

No specific reading list; students use research-specific materials.

PCS 9501: Scientific Presentation at Conference (2CU)

(a) Description

Students submit an article to a conference in their field, building confidence in writing and presenting while networking with researchers.

(b) Aims and Objectives

The aims are to:

  • Present work at a conference.
  • Receive constructive feedback.
  • Expand research networks.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Select credible conferences.
  • Prepare and submit a scientific manuscript.
  • Present to an international audience.
  • Respond to diverse scholarly questions.

(d) Teaching and Learning Pattern

Students work with supervisors to identify submission venues and prepare presentations, with feedback from conference reviewers.

(e) Indicative Content

  • Conference selection: Identifying credible venues.
  • Manuscript preparation: Writing and formatting.
  • Presentation skills: Engaging international audiences.
  • Feedback handling: Responding to reviewer comments.

(f) Assessment

Assessment is based on successful submission and presentation at a conference (100%).

(g) Reading List

No specific reading list; students use field-specific materials.

PCS 9601: Scientific Paper Manuscript (3CU)

(a) Description

Students revise their conference article based on feedback and submit it to a journal, contributing to PhD requirements.

(b) Aims and Objectives

The aims are to:

  • Produce a high-quality scientific manuscript.
  • Select credible journals.
  • Track PhD progress.
  • Meet program requirements.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Understand computer science literature and methods.
  • Produce a manuscript using tools like LaTeX.
  • Outlinesink>Outline and produce a high-quality manuscript.
  • Understand publication processes.

(d) Teaching and Learning Pattern

Students work with supervisors to revise manuscripts and select journals, with guidance on submission processes.

(e) Indicative Content

  • Manuscript revision: Incorporating conference feedback.
  • Journal selection: Identifying credible outlets.
  • Writing tools: Using LaTeX for formatting.
  • Publication process: Submission, peer review, revisions.

(f) Assessment

Assessment is based on the quality of the submitted manuscript (100%).

(g) Reading List

No specific reading list; students use field-specific materials.

PCS 9701: Research Seminar II (3CU)

(a) Description

This seminar allows students to present their work before thesis submission, receiving feedback to refine analyses and argumentation.

(b) Aims and Objectives

The aims are to:

  • Review and discuss the student’s work.
  • Provide feedback on theoretical/methodological approaches.
  • Guide on ethical considerations.
  • Suggest improvements.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Organize a public seminar and coordinate logistics.
  • Present research coherently.
  • Respond to questions from faculty and public.
  • Acknowledge and address gaps.
  • Document seminar proceedings.

(d) Teaching and Learning Pattern

Students present to a doctoral committee, with documentation provided three weeks in advance, initiated by the supervisor.

(e) Indicative Content

  • Presentation skills: Structuring final research.
  • Feedback integration: Addressing critiques.
  • Ethical considerations: Final ethical review.
  • Documentation: Comprehensive reporting.

(f) Assessment

Assessment is based on the presentation and seminar report (100%).

(g) Reading List

No specific reading list; students use research-specific materials.

PCS 9801: PhD Thesis (12CU)

(a) Description

The PhD thesis is an original research piece required for the doctoral degree, explaining contributions and conclusions from the study period.

(b) Aims and Objectives

The aims are to:

  • Examine the student’s work.
  • Provide feedback on theoretical/methodological approaches.
  • Suggest improvements.
  • Determine if the student passes.

(c) Learning Outcomes

By the end of the course, students should be able to:

  • Organize and prepare an academic thesis per standards.
  • Present the thesis and respond to questions.
  • Address examination comments.

(d) Teaching and Learning Pattern

Students work with supervisors to finalize the thesis, presenting it to a panel for examination and discussion.

(e) Indicative Content

  • Thesis structure: Formatting, content, and standards.
  • Presentation skills: Defending research.
  • Feedback handling: Addressing examiner critiques.
  • Final submission: Meeting university requirements.

(f) Assessment

Assessment is based on the thesis quality, presentation, and defense (100%).

(g) Reading List

No specific reading list; students use research-specific materials.

Resources and Infrastructure

Downloadable PhD Curriculum

Access the detailed curriculum guide here:

Download Curriculum Guide (PDF)

E-Learning Platforms

Makerere University has an eLearning platform known as Muele (http://www.muele. mak.ac.ug) and it is expected that courses will be developed as interactive online modules on Muele. Students in the Department of Computer Science have adequate access to computers. Each student will be expected to have a personal computer. This creates a good environment for e-learning blended teaching. All courses in the new curriculum will be taught in a blended way. All course materials will be put on Muele. Staff will, as much as possible, make use of e-learning facilities like discussion forum and drop boxes for assignments. This will increase student activity/participation and reduce staff effort (e.g. staff will not need to dictate notes). This in turn will increase the material covered and taken in by the students.

Library Services

Makerere University library supports the College of Computing and Information Science library, which is located on the first level of Block B. The College Library is stocked with up-to-date information resources. The information resources in the College Library have been acquired through purchases made by Makerere University Library and the College of Computing & Information Sciences. Additionally, the University Library has dedicated space for graduate students and provides access to print books, print journals, electronic journal databases, a well-stocked reference section and connections to many online databases like the Uganda Scholarly Digital Library at http://dspace3.mak. ac.ug. The print collection is beefed up by the broad variety of electronic resources provided by the University Library and accessible online at http://muklib.mak.ac.ug. Through the document delivery service, users who fail to get access to full-text articles from the available databases can make requests for articles, which are delivered, to them at no cost. Library users can also access the Online Public Access Catalogue (OPAC) to get bibliographic information about the collections found in the College Library. Below is a list of all electronic databases that Makerere subscribes to;

  1. Institute of Electrical and Electronic Engineers (IEEE)
  2. Emerald Insight
  3. Springer Verlag
  4. Research4life (ARDI & HINARI)
  5. Sage Publications
  6. E-library (eBook database)
  7. Science Direct
  8. Association of Computing Machinery (ACM) Digital Library