Makerere University
College of Computing and Information Sciences
School of Computing and Informatics Technology
Department of Computer Science
CSC 3118 Computer Project 1
Credits: 5 Semester: 1
Prerequisite: BIT 2207 Desirable: Other credits of Computer Science.
Assessment: Coursework: 40% Examination(Oral presentation): 60%
Course Description
The purpose of the Computer Science Project is for the student to combine knowledge
and skills acquired in year one and year Computer Science modules in the production of
a suitable project. Project work consists of independent private study, guided by regular
short meetings with a member of staff(supervisor) who will advise the student on how to
proceed with the year’s work.
The students will select a project topic from an area of computer Science that interest
them, and the conduct a two semester worth of individual study of that topic, result-
ing into a substantial written proposal and requirements document for semester 1 and
a well written dissertation for semester 2. The project should be of a problem solving
nature, typically provide a software solution or a model to a practical computing problem.
The project should also produce an end product for users. Further, theoretical essay,
literature search, or a descriptive evaluation would not be suitable.
Aims
A Subject Knowledge
a To allow students to conduct a substantial piece of research into unfamiliar area of
computing.
b To introduce the research methods and skills relevant for conducting such a project.
1
c To provide an opportunity for the students to synthesize what they have learned
from other modules.
B Skills
a To teach students planning, scientific writing and problem solving skills.
b To give students experience of working independently.
c To give students experience in writing up and presenting work in a scholarly fashion.
Content
a Students are expected to choose a project from the list offered by the potential super-
visor or to propose their own project and find suitable supervisor.
b The projects are inevitably and deliberately varied in the topic they address and in the
type of research approach required.
c The projects may be practically or theoretically based but many of the projects will
consist of a combination.
d All projects allow opportunity for initiative by the student, and are open-ended in that
they offer the potential for considerable more work that achieved in the available time.
e Project work start at the beginning of 3rd year (semester 1).
f One of the significant out-come project is the academic-report.
g Successful completion requires good organization, communication skills and manage-
ment.
h The management of the project is the responsibility of the student(s), in regular con-
sultation with their supervisor.
Learning Outcomes
A Subject-specific Knowledge
a An understanding of the state of the art in the student’s chosen research area of
specialization.
b An in-depth knowledge and understanding of the student’s chosen area of special-
ization.
c An understanding of the research methods required in conducting a research based
project.
B Subject-specific Skills
a Able to plan and carry out research appropriated to a project.
b Able to demonstrate project planning, scientific writing and problem solving skills.
2 of 5
c Able to manage personal learning and exercise critical self-evaluation.
d Able to have effective communication of general and specialized Computing Science
concepts
Methods
Group research and meetings with the supervisor.
Assessment
The project will be assessed by oral presentation; project proposal, requirement specifi-
cation document, effort, participation and organization and final report.
Research Areas
The list below provides a set of research areas where potential Computer Science projects
could be derived.
A Algorithms and Complexity
Theoretical computer science aims at understanding the mathematical structure of
computational problems in order to derive efficient and scalable solutions to those
problems. Research topics in field my include.
a Graph algorithms and graph drawing (computing with systems of pairwise interac-
tions between objects such as web page links, protein interactions, or social networks)
b String and tree algorithms for indexing and processing large textual and XML doc-
uments.
c Data compression such as finding computationally efficient methods for removing
redundancy from stored information.
d Online algorithms used for automated decision making in the face of uncertainty.
B Artificial Intelligence and machine learning
Research in artificial intelligence and machine learning addresses some of the most
exciting and challenging problems in computer science today. Research in Artificial
Intelligence and machine learning try to seek answers to questions such as:
How can computers interpret large sets of images without any human supervision?
How can algorithms intelligently search the Web and make sense of millions of text
documents? What are the fundamental principles that govern systems that perform
automated reasoning?
Researchers in Artificial Intelligence and machine learning are at the forefront of build-
ing the next generation of intelligent systems. Their projects span a broad range of
3 of 5
open research problems, combining basic theoretical principles from algorithms, prob-
ability, and applied mathematics, with highly visible and interdisciplinary applications
in areas such as.
a Computer vision
b Bio-informatics
c Constraint-based problem solving
d Text understanding,
e Data mining
f Smart sensor networks.
C Databases and Data Mining
Research in databases and data mining addresses exciting research challenges related
to architectures, index structures, algorithms, models, and performance evaluation of
a variety of next-generation databases and information systems and technologies for
data mining.
Topics of interest in this area include database systems, data analysis and data cleans-
ing, data warehousing systems, information integration tools, search techniques, scal-
able data-intensive computing, data sharing, data dissemination, and statistical data
mining.
Projects in this are could aim at exploring challenges in the realization of such systems
stemming from data volume, complexity, diversity, and heterogeneity, and emerging
application needs including privacy and security, mobility, quality of data, quality of
service, and reliability and robustness in extreme situations.
D Security, Privacy and Cryptography
Research in this area includes anonymity and authentication in network security, key
agreement and digital signatures in cryptography, and security issues in electronic
commerce. Research on designing high-performance algorithms and data structures
for solving large-scale problems motivated from information assurance and security,
the Internet and information visualization.
E Computer vision
Research in computer vision lies at the intersection of vision science, artificial intelli-
gence, computer graphics, and image processing. The research focuses on both theory
and applications.
Digital media content is widespread in today’s society; digital cameras and camcorders
are now everywhere. Medical and biological experimentation also produce immense
quantities of visual data that cannot be manually processed. A major challenge that
lies ahead is the creation of systems that process, search and manipulate this visual
data and the applications include image search, video surveillance, and biological image
analysis.
4 of 5
F Medical Informatics
This topic concerns the development and application of information systems to health-
care. Information systems have a critical role to play in contemporary health and
wellness programs. This includes technology in hospital settings but also persuasive
technologies for healthy living, health care in the home and in the community, and in
the interactions between partners in the health care system.
G Operating Systems
This would include topics related to theory and practice of computer systems software.
Researchers here aim at building systems for reliable and efficient big data processing,
mobile I/O virtualization, program analyses and various other applications.
H Multimedia computing
Multimedia computing started receiving attention more than a decade ago. Naturally,
early systems dealt with very limited aspect of multimedia. With progress in technol-
ogy, several computing addresses important issues in creation, communication, storage,
access, and presentation of information and experiences. Research in this area aims at
addressing research issues in fundamentals of multimedia systems and their advanced
applications.
I Embedded Systems
Embedded Systems are ubiquitous and range from small devices (e.g., motion sensors
or smart phones) to large systems-of-systems (e.g., airplanes or hybrid cars). The con-
vergence of multiple trends – including rapid miniaturization of computer electronics
and advances in software development and connectivity – enable embedded software
and hardware to monitor, compute and control a wide array of physically engineered
systems. Numerous examples of such products exist in the automotive, telecom, bio-
medical, avionics, consumer electronics, and other industries.
Embedded systems must often deliver functionality within tight constraints (e.g., real-
time, power, and reliability). Additionally, safety-critical embedded systems must
deliver provably correct behavior when interfacing with physical sensors and actuators
that interact with the environment. Thus research in embedded systems is highly inter-
disciplinary in nature, requiring a tight integration of core CS principles with domain
specific knowledge of the end application/environment.
Embedded systems research topics could include topics such as embedded software,
architectures for embedded computer systems, design automation, embedded systems
methodologies, validation and verification, formal methods, and cyber-physical sys-
tems.
End
5 of 5