The Master of Science in Computer Science aims at equipping students with advanced skills in Computer Science.
The objectives of the program are :
Areas of Specialization
The MSc in Computer Science program is an evening program that is completely privately sponsored. The curriculum has two areas of specialization:
A student pursuing a MSc in Computer Science will be required to specialize in one of these tracks. The choice of the areas of specialization was dictated by the current trends and needs in the Computing fifield in the region and internationally.
Software and Systems Security
Uganda and the rest of the African continent have witnessed a tremendous increase in the adoption and use of automated computing systems. The region has also seen increase in the usage of the Internet and online IT systems. Computerization increases precision, speed, reliability, availability and reduces cost. Computerization has been applied in sensitive/critical areas like finance (e.g., mobile money and online banking), records keeping, monitoring and tracking.
Design and implementing secure computer systems is an ever increasing challenge worldwide. Unfortunately, most organizations put emphasis on the functionality of the computerized systems but pay less attention on the susceptibility of the systems to malicious attack by intruders. Without proper implementation of security, organizations could suffer from high security risks including fifinancial losses. In some cases, businesses can be thrown several years back and rendered uncompetitive.
There is shortage of computer security professionals in Uganda and internationally. The Software and Systems Security track therefore aims at producing computer security experts who will be able to design, develop, implement and manage secure computing systems and networks. The graduates will also be able to critically evaluate threats and vulnerabilities and integrate appropriate security strategies in computing systems and networks.
Artificial Intelligence and Data Science
The Artificial Intelligence and Data Science option aims at producing graduates equipped with skills to process, analyse and extract insight from huge amounts of data. It draws upon our world-leading expertise in the areas of machine learning, computer vision and image processing, visual analytics, high-performance computing, data mining and information retrieval.
There is a growing demand of professionals with this skills set because individuals and organizations are continuously producing vast amounts of real-time heterogeneous data (known as Big Data). Big Data challenge in areas such as health, business, security,intelligent transport, energy efficiency, education, retail and the creative industries.
This option will equip students with advanced knowledge and hands-on experience in algorithms, tools, and techniques for managing and processing big data.
Emphasis on Research, Problem Solving and Transdisciplinarity
The MSc in Computer Science program puts strong emphasis on research, transdisciplinarity and problem solving using advanced computational thinking skills.
This is because Computer Science is a highly ever-evolving field that demands keeping up with the most up-to-date research and trending advancements not only in Computer Science but also in other fields. Most graduates of Computer Science work in fast changing and technically challenging environments that require continuous research and learning.
In order to produce graduates who can work successful in the field of Computer Science, the curriculum ensures that the two offered options have a heavy component of research and problem solving. The modes of delivery and research problems are designed to equip students with skills to tackle inter and trans-disciplinary research abilities
Career Options Arising from the MSc in Computer Science program
The graduates from the MSc. in Computer Science find themselves in different kinds of environments for example, academia, research, industry, government, private and business organizations. The list below provides some of the possible career options for a graduate of the MSc. in Computer Science:
Target Group
The program is designed for graduates from computing (Computer Science, Computer Engineering, and Software Engineering) and closely related fields, who wish to gain advanced knowledge in Computer Science. The broad target groups include but not limited to:
Program Duration
The duration of the program is four semesters spread in two years. Each semester has fifteen weeks of studying and two weeks of examinations
Tuition Fees
Tuition fees for privately sponsored students is 5,000,000 Uganda Shillings per academic year for Ugandans and 12,780,000 Uganda Shillings for international students.
Admission requirements
To qualify for admission to the MSc. in Computer Science, a candidate must fulfill the general Makerere University entry requirements for Masters Degrees, and in addition, the candidate must be a holder of either:
Candidates from closely related fields should have taken core computer science courses in undergraduate or postgraduate diploma studies including: compiler design, automata and complexity, object-oriented programming languages, data structures and algorithms, computer architecture, mathematics particularly in linear algebra, statistics and calculus.
Upgrading from Postgraduate Diploma
If a candidate holds a Postgraduate Diploma in Computer Science of Makerere University of at least a Lower Second class, he/she may apply to join in the second year of the Master of Science in Computer Science provided they have followed equivalent courses in the post graduate Diploma. In such a case, the applicant is expected to undertake research in the second year and any remaining course units to meet the minimum requirement for the award of the MSc. in Computer Science Degree.
The upgrade of the PGD Computer Science to the MSc. Computer Science described above must be supported by relevant academic documents attained for the PGD Computer Science of Makerere University. This must be done for purposes of analyzing the relevant academic courses that must have been attempted as per the current MSc. in Computer Science curriculum. Any courses that were not attempted by the applicant as per the first years course load of the current MSc. in Computer Science curriculum must be taken. When a student graduates with a Postgraduate Diploma of Computer Science of Makerere University with a classification of Pass, s/he can apply for the Master of Science in Computer Science but is admitted to the first year of the MSc. in Computer Science program.
Plans
The curriculum is made up of two plans - Plan A and Plan B.
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
The normal load for Year one is 20 credit units per semester. The normal semester load for Year Two Semesters One is 22 credit units for Plan A while that for Year two Semester one is 18 credit units for Plan B. The minimum semester load for Year two Semester two is 20 for Plan A while that for Year two Semester two for Plan B is 10 credit units.
Minimum Graduation Load
The minimum graduation load for Plan A is 62 credit units while the minimum graduation load for Plan B is 68.
Evaluation and Grading
Every course unit will be graded within and at the end of the semester in which it is covered. The progressive assessment will constitute 40% of the overall mark and the final examination will constitute 60%. The form of progressive assessment and final examination (e.g., project-based/research-based or written) may vary depending on the course unit. Grade points will be allocated to the nal mark got in every course unit according to the table below:
Marks | Letter Grade | Grade Point (GP) | Interpretation |
---|---|---|---|
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 - 45 | E- | 1 | Qualified fail |
Below 45 | F | 0 | Qualified fail |
The following additional letters are used where appropriate:
Calculation of Cumulative Grade Point Average (CGPA)
The CGPA is calculated as follows:
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.
Progression
Progression is regarded as normal, probationary or discontinuation as per the standard Makerere University senate guidelines:
Retaking a Course Unit
A student will retake all courses where he/she has a grade point less than 3.0.
Year I Semester I
Mandatory for all students
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 7101 | Cloud Technologies and Architectures | 30 | 60 | 60 | 4 |
MCS 7102 | Data Security and Privacy | 30 | 60 | 60 | 4 |
MCS 7103 | Machine Learning | 60 | 30 | 45 | 4 |
MCN 7105 | Structure and Interpretation of Computer Programs | 30 | 60 | 60 | 4 |
MCS 7106 | Advanced Topics in Computer Program Science | 30 | 60 | 60 | 4 |
Total Credit Units | 20 |
Semester 1 (5 Courses)
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 7101 | Cloud Technologies and Architectures | 30 | 60 | 60 | 4 |
MCS 7102 | Data Security and Privacy | 30 | 60 | 60 | 4 |
MCS 7103 | Machine Learning | 60 | 30 | 45 | 4 |
MCN 7105 | Structure and Interpretation of Computer Programs | 30 | 60 | 60 | 4 |
MCS 7106 | Advanced Topics in Computer Program Science | 30 | 60 | 60 | 4 |
Total Credit Units | 20 |
Year I Semester II
Software and Systems Security Option
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 7201 | Computer Systems Security | 30 | 60 | 60 | 4 |
MCS 7202 | Network Security | 30 | 60 | 60 | 4 |
MCS 7227 | Data Analytics and Visualization | 60 | 30 | 45 | 4 |
MIT 7116 | Research Methodology | 45 | 30 | 60 | 4 |
Electives (Select 1) | |||||
MCS 7203 | Cloud and Web Security | 30 | 60 | 60 | 4 |
MCS 7203 | Cloud and Web Security | 30 | 60 | 60 | 4 |
MCS 7204 | Deep Learning | 30 | 60 | 60 | 4 |
MCS 7205 | Digital Forensics | 30 | 60 | 60 | 4 |
Total Credit Units | 20 |
Artificial Intelligence and Data Science Option
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 7224 | Computer Vision | 30 | 60 | 60 | 4 |
MCS 7208 | Data Mining | 30 | 60 | 60 | 4 |
MCS 7227 | Data Analytics and Visualization | 60 | 60 | 30 | 4 |
MIT 7116 | Research Methodology | 45 | 30 | 60 | 4 |
Electives (Select 1) | |||||
MCS 7203 | Cloud and Web Security | 30 | 60 | 60 | 4 |
MCS 7203 | Cloud and Web Security | 30 | 60 | 60 | 4 |
MCS 7204 | Deep Learning | 30 | 60 | 60 | 4 |
MCS 7205 | Digital Forensics | 30 | 60 | 60 | 4 |
Total Credit Units | 20 |
plan A
Year II Semester I and II
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 7226 | Seminar Series (Semester I) | 60 | 30 | 2 | |
MCS 8113 | Master's Dissertation (Semester I & II) | 20 | |||
Total Credit Units | 22 |
Plan B
Year II Semester I
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MIT 7117 | Advanced IT Project Management | 30 | 60 | 60 | 4 |
MCS 7102 | Seminar Series | 60 | 30 | 2 | |
Electives (Select 3) | |||||
MIS 8117 | Business Process Modelling & Analysis | 30 | 60 | 60 | 4 |
MIS 8110 | Geographical Information & Remote Sensing | 30 | 60 | 60 | 4 |
MCN 7106 | Mobile Software & Content Development | 30 | 60 | 60 | 4 |
MCN 7110 | Internet of Things | 30 | 60 | 60 | 4 |
Total Credit Units | 18 |
Year II Semester II and II
Code | Name | LH | PH | CH | CU |
---|---|---|---|---|---|
MCS 8200 | Master's Dissertation (Semester I & II) | 10 | |||
Total Credit Units | 10 |
Minimum Graduation Load Plan A:62 credit units
Minimum Graduation Load Plan B:68 credit units
(a) Description
This course enables the students to explore concepts and research trends in fundamental areas of computer science not specifically handled in this program. Specifically students will explore the fundamentals and trends in algorithm design and complexity, computational logic, fundamentals of computer languages and computational modeling. Students are expected to do a deeper reading and analyze the research trends in each of the area.
(b) Course Objectives:
The objectives of the course are:
(c) Learning outcomes
By the end of the course, students shall be able to:
(d) Detailed Course Content:
Teaching of this course will be in four modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
Module 1: Algorithms and Complexity (15 hours)
Review of algorithms, Greedy algorithms, Scheduling algorithms, divide and conquer, dynamic programming, network ow applications, matching, matching and NP Completeness and algorithm approximation.
Module 2: Computational logic (15 hours)
Review of Logic, formalization within the logic, system descriptions using logic, proving theorems using logic, selected applications of logic in Computer Science.
Module 3: Optimization (15 hours)
Review of linear optimization and scheduling techniques
Module 4: Linear Algebra (15 hours)
Vector Spaces, Sub spaces, linear combinations, linear dependence, linear independence, bases and dimensions, linear transformations, null spaces and ranges. Invertibility and isomoprhism, dual spaces. Eigine values and Eigine vectors, diagonilizability.
(e) Study Materials
This class covers a great deal of information about advanced topics in omputer Science, so no single textbook can cover it all. Class notes willbe provided for all topics covered.
(f) Mode of Assessment
Assessment shall be by progressive assessment (40%) and final examination (60%). Progressive assessment shall be by doing a self paced literature search and report on/critique scientific arguments in each module. The final examination shall be set by the lecturer identifying one area per module focusing on the practicals and applications in real life. The student shall be given the problem description and required to do the investigations and experiments and write a position paper in the last three weeks of the semester. The paper up will be evaluated and the final mark awarded.
(g) Reading List
The reference books for the course are:
(a) Description
Cloud Computing technologies are emerging as a common way of provisioning infrastructure services, applications and general computing and storage resources on-demand. Cloud computing enables new possibilities for highly elastic and potentially infinite computing power with scalability, big data analytics, and support for delivery of mission-critical secure enterprise applications and services. During this course student will gain hands-on experience with various types of cloud models and explore areas such as programming models and application development for cloud systems, cloud management technologies, the underlying system architectures, data centers, virtualization, and cloud storage. The course prepares graduates to enter a range of professional positions related to cloud systems, including developing cloud-based applications, managing cloud systems and designing cloud infrastructures.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
At the end of this course, students will have:
(d) Detailed Course Content:
Teaching of this course will be in four modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
This module will provide a broad overview of cloud computing, its history, technology overview, benefits, risks and the economic motivation for it. The module will also cover cloud computing types: Infrastructure as a service (IaaS), Software as a service (SaaS), Platform as a service (PaaS) - Architectures and Models: local/distributed, private/public, hybrid. The modules will involve experimentation through case studies using popular cloud systems like Amazon S3, EC2, Force.com, MS Azure, Google App Engine, etc.
Topic will include Virtualisation - Multi-tenancy - Data management - Elastic and resilient environments - Cloud and Load Balancing. Students will learn how virtualization can allow software and hardware images (e.g., virtual machines) to run side-by-side on a single cloud data center yet provided security, resource and failure isolations. They will understand how virtualization enables clouds to offer software, computation, and storage as services as well as attain agility and elasticity properties. We will discuss resource virtualization in detail and present multiple examples from Xen and VMware. Finally, we will present real use cases such as Google App Engines and Amazon EC2.
Students will be given an overview on a variety of cloud-applicable programming models. Students will understand the benefits and limitations of each so that they can assess applicability based on the problem domain. Students will gain working experience in one (or two) of these programming models. Upon completion of this module students will be able to: Explain the fundamental aspects of parallel and distributed programming model, demonstrate an understanding of the different cloud programming models (Dryad, MapReduce, Spark, GraphLab, Pregel).
This module will cover Data and Information Integration - Security/ Trust Management and Governance - Legislative and economic environment - Cloud computing future trends.
(e) Study Materials
The materials shall include textbooks, journal/conference papers, cloud platforms, and several freely available online resources.
(f) Mode of study
The teaching will be highly student centered. It will involve teaching, online/class room discussions, demonstrations, group/individual projects and self guided research. A student will be expected to do self paced research in each of the module.
(g) Mode of Assessment
(h) Reading List
The reference books for the course are:
(a) Description
The digitalization of information and the Internet have dramatically changed the today's society. New business models and technologies have been deployed to provide users with new services (e.g., eBusiness, eHealth, eGoverment). However, this new trend increasingly faces the risk of unauthorized access and misuse of personal information. This course focuses on data protection technologies designed to prevent dissemination of sensitive information of individuals. The course will provide a solid introduction to most important access control models (e.g., DAC, MAC, RBAC) and their extensions for distributed systems (e.g., RT) and usage control (e.g., UCON). The course will also introduce privacy principles and provide insights on how access control models can be extended to address privacy issues. The last part of the course will focus on industry standards in the area of access control and privacy (e.g., XACML and EPAL).
(b) Course Objectives:
The main objectives of this course are to:(c) Learning outcomes
After completing this course the student will:
(d) Detailed Course Content:
Teaching of this course will be in five modules. Each module will be a complete unit of teaching and will be assessed independently using continuous assessments. The content of the modules will include:
This module will provide an introduction to the changing landscape in security brought about by digitalization of information. We will discuss the privacy, data security and how the law affects security principles.
This module will discuss the three main access control policies. These include Discretionary access control, Mandatory access control and Role-based Access Control. Under discretionary access control, we will discuss access matrix, HRU model and safety problems. Mandatory access control will cover sever security classification models like Bell-LaPadula Model, Biba Model, Chinese Wall Model. Role-based Access Control will deal with roles, role hierarchy and separation of duties.
This module discusses usage control which covers the UCON usage control model. This model will cover authorizations, obligations, conditions, continuity and mutability. This module will also introduce the Role-based trust management and policy languages for representing policies and credentials in distributed authorization. This will focus on the strengths of role-based access control and trust management systems and is especially suitable for attribute based access control.
This module discusses the concepts of data privacy and database security. We discuss privacy-aware access control techniques, which include: Hippocratic Databases, Purpose-based Access Control. This module will also discuss how to balance privacy in statistical databases, k-anonymity and related techniques.
This module covers the Industry standards for access control and the privacy languages. These include Enterprise Privacy Authorization Language (EPAL), eXtensible Access Control Markup Language (XACML), RBAC Profile of XACML, Privacy Profile of XACML and Reduction of Access Control decisions.
(e) Study Materials
Thus course will be offered using several application areas that will be used to master concepts of access control, usage control and privacy. The eXtensible Access Control Markup Language (XACML) language which is used for representing authorization and entitlement policies will be used in this course.
(f) Mode of study
The course will be broken up into modules. The mode of study will be the lectures. After each module students will be given a hands-on mini project which will cover the concepts discussed in each module.
(g) Mode of Assessment
After each module, students will have to present findings from research papers that are related to the topics covered in the module. Students will also be expected to carry out-group projects. The assessment will be categorized as:
Progressive assessment (40%). This will include in-class quizzes and cross-module projects
Final examination (60%). Part of the final exam may be a practical project.
(h) Reading List
Each of the modules will have a pointer to a list of published research papers that will be relevant for the topics covered in each module. However, some of the relevant materials for this course are listed below.
(a) Description
Machine learning is the study of algorithms that take in specific data and process it in such a way that they can predict the outcome or generate some unique understanding of new data based on what was learned from the initial data introduced to the machine learning algorithm.Machine learning is a branch of Artificial Intelligence that is presently used in several diverse fields in finance - to predict stocks to trade, in medicine - to do effective diagnoses, in business - e.g. in fraud detection, it is also used in the email spam filter you use for your email.
(b) Course Objectives:
Upon completion of this course a student should be able to:-(c) Learning outcomes
The intended learning outcomes for this course are :-
(d) Detailed Course Content:
Teaching of this course will be in 6 modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
This module introduces the students to the major concepts of machine learning. It introduces why learning from examples is a powerful way of learning and generalizing. It introduces the broad kinds of learning; supervised, unsupervised and reinforcement learning. It introduces the concept of learning a function and selecting suitable hypotheses. It also introduces the ideas of bias and variance and generalization of a machine learning algorithm.
Uncertainty is a big concept in learning. Because learning is inherently uncertain, we introduce probabilistic reasoning to try and understand learning under uncertainty. Here the concepts of conditional probability are reiterated, Bayes rule and Bayesian reasoning. The Naive Bayes algorithm is introduced as well.
Supervised learning is the biggest branch of machine learning. It deals with learning from labeled data. Here we introduce the concepts of Classification. We look at two kinds of algorithms here; Support Vector Machines and Decision Trees. We explain the different parameters required to build these algorithms to generalize well given some data. We also introduce the K-Nearest Neighbour algorithm and discuss distance measures.
Here we introduce the other type of Supervised learning; regression. We discuss the concepts behind logistic regression. We derive analytically as well as simulate learning using gradient descent. We also introduce the concept of regularization to curb overfitting.
Here we introduce the other type of Supervised learning; regression. We discuss the concepts behind logistic regression. We derive analytically as well as simulate learning using gradient descent. We also introduce the concept of regularization to curb overfitting.
This last module we discuss some aspects of data manipulation, feature selection, feature engineering as well as dealing with outliers. We also discuss the different evaluation metrics in broader depth. We discuss the implication of the Receiver Operator Characteristics (ROC) curve, the F-measure, the AUC, precision and recall.
(e) Study Materials
This course will mainly be offered using the Python programming language. Students are particularly encouraged to get up to speed with Python programming by the start of the course. This course will have as its pre-requisite proficiency in programming complex systems in Python. Students should possess a laptop computer for doing in-class programming assessments. The course will work around open source Machine Learning toolkits. Students should install some of the trending machine learning packages particularly scikit-learn (http://scikit-learn.org/stable/), Numpy, SciPy and Matplotlib. A useful package that installs all these is the Anaconda package (https://www.continuum.io/downloads).
(f) Mode of study
The only way to learn Machine Learning suffciently is through handson experience programming these algorithms and applying them to real problems. The course is broken up into modules to facilitate learning of the different concepts. The mode of study will be inclusive of a variety of methods;
Lectures - these will be the chief mode of study. Lectures will take up 3 hours every week for 15 weeks.
Hands-on practice sessions - these will be for each topic. Small quizzes that require students to get hands-on practice with Machine Learning will be given out every week to cover content for that particular week.
Student mini projects - longer projects will be spaced out during the course and given after every module.
In-class practice sessions - each lecture will include some in-class practice sessions. Students will have to attend class with a reliably powered laptop to benefit from this mode of study.
(g) Mode of Assessment
Assessment will include:
(h) Reading List
Several reference books are available for this course - some of them are free books and downloadable.
(a) Description
Effective software engineers need to know efficient techniques that serve as building blocks in the design and implementation of software systems. This course covers a series of techniques for controlling complexity in large software systems. We control complexity by building abstractions that hide details when appropriate. We control complexity by establishing conventional interfaces that enable us to construct systems by combining standard, well-understood pieces in a \mix and match" way. As we confront increasingly complex problems, we find that existing programming languages are not sufficient for our needs and thus we must control complexity by establishing new programming languages in order to express our ideas more effectively. These techniques will be illustrated using a highly expressive language such as Scheme, Python or Clojure. However, the course is not about teaching a particular programming language but rather examines fundamental issues underlying the design decisions of programming languages. This course will forever change the way you think about programming and programming languages i.e., from a language user's view to a designer's view.
(b) Course Objectives:
The objectives of this course are:
(c) Learning outcomes
Upon completion of the course, students should be able to:
(d) Detailed Course Content:
Introduction to Procedure abstraction; procedures as black-box ab- straction; computational processes; formulating abstractions with higher- order procedures
Introduction to data abstraction; compound data; hierarchical data and the closure property; symbolic data; multiple representations of abstract data.
generic operations; self-describing data; message passing; streams and infinite data structures; and object-oriented programming without object-oriented programming language constructs; assignment and state; concurrency.
interpretation of programming languages; meta-circular evaluator; evaluation models; machine model; compilation; and embedded languages.
(e) Study Materials
The course is based on the famous \Structure and Interpretation of Com- puter Programs" (SICP) textbook that has been used since the 1980s at the Massachusetts Institute of Technology (MIT). The textbook, recorded videos and other supporting materials are freely available online.
(f) Mode of study
The course will be taught on fast pace. It assumes that students already know how to program in a mainstream imperative language such as Python, C, C++, Java or C#, or, that the students are learning such a language in parallel at the postgraduate level on their own or in other courses.
The course will employ blended learning approaches, combining class and online lectures. Videos will be uploaded on the University learning platform and students are expected to watch the videos on their own schedule and pace. Class lectures will be used for introducing and motivating new materials. Problem sets will also be uploaded on the e-learning platform. In addition to the problem sets there will be several substantial programming projects, each involving extensive programming.
(g) Mode of Assessment
Assessment will include:
(h) Reading List
(a) Description
The course covers computational techniques and algorithms for analyzing and mining patterns in large-scale datasets. Techniques studied address data analysis and visualisation issues related to data volume (scalable and distributed analysis), data velocity (high-speed data streams), data variety (complex, heterogeneous, or unstructured data), and data veracity (data uncertainty). The course will focus on teaching students the principles and techniques for analytics and creating visual representation from raw data. The course will be based on real-world applications and public available datasets as well as freely available tools. Students are expected to engage in hands-on projects using one or more of these technologies.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
By the end of this course, students will have gained:
(d) Detailed Course Content:
Teaching of this course will be in 4 modules. Each module will be a complete unit of teaching and will be assessed at independently during continous assessments. The course is broken up into the following modules;
This module covers principles, theory and techniques. Data Quality/ Data Capture, Functions of Visualisations, Graphic Integrity, Data-Ink Ratio, Tables & Graphs, Multiple Datasets, Interactive Graphs.
TThis module will cover the coves analytics and visualisation tools like D3.JS
High dimensional data, network data, geographic data and text data.
This module covers Scientific visualisation (isosurface, volume rendering, and introduction to VisIt). Basic and Advanced Statistical Tests, Linear and Logistic Regression, Clustering Techniques, Decision Trees, Time Series Analysis, Text Analysis, Survival Analysis.
(e) Study Materials
The materials shall include textbooks, journal/conference papers, data visualisation tools and platforms, and several freely available online resources
(f) Mode of study
The teaching will be highly student centered. It will involve teaching, online/class room discussions, demonstrations, group/individual projects and self guided research. A student will be expected to do self paced research in each module.
(g) Mode of Assessment
The mode of assessment will consist of:
(h) Reading List
(a) Description
In this course, guidance will be given to students on how to identify a research problem. Instructions will be provided which will enable students to perform effective literature review. Students will be presented with various research paradigms and models of methodology and assist with designing an appropriate method for their research. Students will be trained in the analysis and presentation of results, exposition of processes and methods used and conclusions drawn. Guidelines outlining the preparation and writing of a research dissertation will be provide at the conclusion of the course.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
By the end of this course, students will have gained:
(d) Detailed Course Content:
The course will cover the following content:
(f) Mode of study
This course can be delivered in different forms including but not limited to these: Guest Speakers/Lectures, seminar series and presentations, lectures and discussion groups.
(g) Mode of Assessment
For the modes of delivery above, the following table shows the corresponding modes of assessment.
(h) Reading List
Several reference books are available for this course - some of them are free books and downloadable.
(a) Description
This course covers the aspects of attacking and securing computer Systems. The course covers aspects of ways typical computer systems can be exposed to attacks, the techniques of attacking them and techniques of defending them. The course also covers recent research in the said techniques.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
By the end of the course, students should be able to:
(d) Detailed Course Content:
Teaching of this course will be in five modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
(e)Study Materials
This class covers a great deal of information about Computer Systems security, so no single textbook can cover it all. The materials shall include textbooks, journal/conference papers, and several freely available open online educational resources.
(f) Mode of study
Teaching will be by lectures, demonstrations, and guided self-paced studies learning.
(g) Mode of Assessment
Assessment will be by assignments that will enable students explore recent research in the specific modules (40%) and final examination (60%). Part of the final exam may be a practical project.
(h) Reading List
(a) Description
In this age of universal electronic connectivity, of viruses and hackers, of electronic eavesdropping and electronic fraud, there is indeed no time at which security does not matter. Two trends have come together to make the topics of this course of vital interest. First, the explosive growth in computer systems and their interconnections via networks has increased the dependence of both organizations and individuals on the information stored and communicated using these systems. This, in turn, has led to a heightened awareness of the need to protect data and resources from disclosure, to guarantee the authenticity of data and messages, and to protect systems from network-based attacks. Second, the disciplines of cryptography and network security have matured, leading to the development of practical, readily available applications to enforce network security. This course introduces a concise survey of the cryptographic algorithms and protocols underlying network security applications, including encryption, hash functions, digital signatures, and key exchange. It also Covers important network security tools and applications, including Kerberos, X.509v3 certificates, PGP, S/MIME, IP Security, SSL/TLS, SET, and SNMPv3 and Finally the course looks at system-level security issues, including the threat of and countermeasures for intruders and viruses and the use of rewalls and trusted systems.
(b) Course Objectives:
The objectives of the course are:
(c) Learning outcomes
Upon completion of this course, the student shall:
(d) Detailed Course Content:
Teaching of this course will done in modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
Computer Security Concepts, The OSI Security Architecture, Security Attacks, Security Services, Security Mechanisms, A Model for Network Security.
Symmetric Encryption Principles, Symmetric Block Encryption Algorithms, Random and Pseudorandom Numbers Stream Ciphers and RC4, Cipher Block Modes of Operation
Approaches to Message Authentication, Secure Hash Functions, Message Authentication Codes, Public-Key Cryptography Principles, Public- Key Cryptography Algorithms. Digital Signatures,
Symmetric Key Distribution Using Symmetric Encryption, Kerberos Key Distribution Using Asymmetric Encryption, X.509 Certificates, Public-Key Infrastructure, Federated Identity Management,
Web Security Considerations, Secure Socket Layer and Transport Layer Security Transport Layer Security HTTPS Secure Shell (SSH)
IEEE 802.11 Wireless LAN Overview, IEEE 802.11i Wireless LAN Security, Wireless Application Protocol Overview, Wireless Transport Layer Security, WAP End-to-End Security
Pretty Good Privacy, S/MIME, Domain Keys Identified Mail
IP Security Overview, IP Security Policy, Encapsulating Security Payload, Combining Security Associations, Internet Key Exchange, Cryptographic Suites
Intrusion Detection, PasswordManagement, Malicious Software, Types of Malicious Software, Viruses, Virus Countermeasures, Worms, Distributed Denial of Service Attacks
(e)Study Materials
Materials shall include textbooks, Journal/conference papers and simulators
(f) Mode of study
Teaching delivery shall be based on conventional in-class interaction between lecturers and students. The teaching shall follow the content of the suggested text book in addition to other teaching materials such as papers where possible. Students are expected to learn through lectures and different assessment exercises which shall include quizzes, research coursework, and project. Research course work will be based on identifying a security problem that a student or a group of students will independently research on and present at the class. A project on the other hand may require some programming skills where students to implement various security mechanisms such as firewalls in real systems.
(g) Mode of Assessment
Assessment shall be by course work - that will largely constitute take home research assignments (40%) and final examination (60%). Part of the final exam may be a practical project.
(h) Reading List
(a) Description
Computer Vision is a branch of Artificial Intelligence that deals with extracting and interpreting images (and videos) to obtain some knowledge or information from the scene or image. This course provides an introduction to computer vision including fundamentals of image formation, image processing, feature detection and matching, motion estimation and tracking, and classification. We will develop basic methods for applications that include finding known models in images, image processing, feature extraction, tracking, and recognition.
(b) Course Objectives:
The main objectives of this course are:-(c) Learning outcomes
The intended learning outcomes for this course are :-
(d) Detailed Course Content:
Teaching of this course will be in 5 modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
A precusor for computer vision is image processing. This module will mainly deal with techniques of transforming an image to an amenable form that can be used for apply computer vision techniques to derive information. Particularly this module will deal with point operators, linear fifiltering, neighborhood operators, convolutions and other topics related to image processing.
In order to derive information from images, we need to extract representative features. This module will deal with feature extraction from images. We will investigate extraction of corners, SIFT features, SURF features, color features, ORB features. This module will also look at feature matching.
Segmentation is an important technique that aids computer vision. This module will look at image segmentation, particularly deriving contours from images, mean shift, graph cuts and normalized cuts.
Tracking of objects in video is an important computer vision technique. This module will focus on processing of videos and identifying and tracking objects in the videos.
Classification and recognition are very important computer vision techniques. This module will deal with object detection and face recognition using HAAR cascade classifiers and other techniques.
(e)Study Materials
This course will mainly be offered using the Python programming language. Students are particularly encouraged to get up to speed with Python programming by the start of the course. This course will have as its pre-requite proficiency in programming complex systems in Python. Students should possess a laptop computer for doing in-class programming assessments.The course will work around open source Computer Vision toolkits. Students should install some of the trending computer vision packages particularly OpenCV (http://opencv.org), Numpy, SciPy and Matplotlib. Several other computer vision packages are available, however for this course we will use OpenCV.
(f) Mode of study
The only way to learn Computer Vision sufficiently is through handson experience programming these algorithms and applying them to real problems. The course is broken up into modules to facilitate learning of the different concepts. The mode of study will be inclusive of a variety of methods;
(g) Mode of Assessment
Assessment will consist of:
(h) Reading List
Several reference books are available for this course - some of them free books and downloadable.
(a) Description
Big Data is now transforming the world. In this course, students will learn data mining techniques to process large datasets and extract valuable knowledge from them. Students will be introduced to modern distributed le systems for creating parallel algorithms that process very large amounts of data. The course will also cover algorithms for extracting models and information from large datasets.
(b) Course Objectives:
The main objectives of this course are:(c) Learning outcomes
At the end of this course unit students should be able to:
(d) Detailed Course Content:
Teaching of this course will be in six modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
This module provides an introduction to data mining. This module will also cover the tools that will used for the data mining tasks that will covered in the rest of the modules. To gain hands on experience working with data mining tasks, two main platforms will be used,that is, R and Map-Reduce/Hadoop environments. The module will provide pointers to several papers and tutorials that are intended to teach students on how to use the tools as an environment for mining big data.
This module will cover fundamental data mining problem of examining data for "similar" items. This module will cover the problem of similarity as one of finding sets with a relatively large intersection. Topics to be covered include shingling, minhashing, and Locality Sensitive Hashing.
This module will discuss a model for recommender systems. Recommendation systems use a number of different technologies. These will be classified into two broad groups, i.e., content-based systems and collaborative filtering systems. Under content-based systems, this module will examine properties of the items recommended while collaborative filtering systems will cover recommendation techniques based on similarity measures between users and/or items.
One of the biggest changes in our lives in the decade following the turn of the century was the availability of efficient and accurate Web search, through search engines such as Google. This module will discuss several techniques on which search engines are based. The focus will be on topics such as PageRank is and how it is computed efficiently. The module will also cover techniques like TrustRank and other approaches used to detect link spam.
There is much information to be gained by analyzing the large-scale data that is derived from social networks. This module will cover techniques for analyzing social networks. The topics that will be covered in this module will include: community detection in graphs and fifinding overlaps in social networks, detecting communities with AGM, analysis of large Graphs and Social Networks.
This module will shift away from mining a database and will cover techniques that are useful for mining data that arrives in a stream, e.g., sensor data, image data, Internet and Web traffic data. This module will discuss algorithms for processing streams which involve summarization of the stream in some way.
(e) Study Materials
Thus course will be odered using MapReduce/Hadoop environment which is an open source implementation of MapReduce distributed data processing environment for mining large data sets across clusters of computers (http://wiki.apache.org/lucene-hadoop/HadoopMapReduce). This course will also use R project which is a freely downloadable language and environment for statistical computing and graphics (http: //www.rproject.org/).
(f) Mode of study
The course is broken up into modules to facilitate learning of the different data mining concepts. The mode of study will be inclusive of a variety of methods. These will include class lecturers, student projects and several class practice sessions.
(g) Mode of Assessment
The mode of assessment will consist of:
(h) Reading List
(a) Description
This course provides the ground-up coverage on the high-level concepts of cloud landscape, architectural principles, techniques, design patterns and real-world best practices applied to Cloud service providers and consumers for delivering secure Cloud based services. The course will describe the Cloud security architecture and explore the guiding security design principles, design patterns, industry standards, applied technologies and addressing regulatory compliance requirements critical to design, implement, deliver and manage secure cloud based services. The course delves deep into the secure cloud architectural aspects with regards to identifying and mitigating risks, protection and isolation of physical & logical infrastructures including compute, network and storage, comprehensive data protection at all OSI layers, end-to-end identity management and access control, monitoring and auditing processes and meeting compliance with industry and regulatory mandates. The course will leverage cloud computing security guidelines set forth by ISO, NIST, ENISA and Cloud Security Alliance (CSA).
(b) Course Objectives:
The objectives of this course are to:
(c) Learning outcomes
At the end of this courses students should be able to have gained the following:
(d) Detailed Course Content:
Teaching of this course will be in 5 modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
At the end of this module students will be able to: investigate the Security Fundamentals (i.e. CIA Security Triad, Defence in Depth, AAAs of Security, Non-repudiation, Least Privilege, Separation of Duties, Due Diligence, etc.). Identify and investigate Top Security Risks (i.e. Loss of Governance, Lock-In, Isolation Failure, Compliance Risks, Management Interface Compromise, Data Protection, Insecure or Incomplete Data Deletion, Malicious insider, etc.). Explore various security architectures (i.e. TOGAF, SSE-CMM, etc.) and reference models (i.e. CSA TCI, Cloud Cube Model, etc.). Compare and contrast various threat models (i.e. STRIDE, DREAD, etc.). Investigate security assurance (i.e. CSA STAR initiative, ENISA Information Assurance Framework, etc.)
At the end of this module students will be able to: Assess IaaS, PaaS, and SaaS Security Concerns. Assess the challenges associated with protecting data in IaaS, PaaS, and SaaS (i.e. Information Architectures for IaaS/SaaS/PaaS, IaaS/SaaS/PaaS Encryption). Investigate portability and interoperability in IaaS/SaaS/PaaS (i.e. Lock-In). Appraise security in cloud environments with multi-tenancy at an Infrastructure level and testing in IaaS/PaaS/SaaS. Assess the challenges associated with protecting applications in IaaS/SaaS/PaaS. Explore how applications can be monitored in IaaS/SaaS/PaaS. Investigate and assess the impact of client-side vulnerabilities and mobile devices on cloud application security (XSS and CSRF).
Assess identity federation and claims-based security services with respect to cloud based systems (e.g., SAML, OpenID and OAuth). Evaluation of IAM provider types (e.g., Silo-based Identity Providers, Replicated Identity Providers). Investigate risk-based authentication strategies for cloud applications (e.g., authentication based on geolocation, device identifier etc.)
Assess the challenges associated with establishing security perimeters within cloud computing environments (e.g. the impact of mobile devices on extending the attack surface of cloud based systems) Investigate and assess a range of attack vectors that may be encountered on cloud based environments (e.g. Cryptanalysis, Impersonation, Social Engineering, DNS Mis-directions, DDoS, Brute Force). Assess the challenges associated with monitoring and logging within cloud computing systems. Determine how to identify security breaches, detect intrusions (e.g. honey pots) and recommend responses to such incidents (e.g. containment)
Students will be able to: Analyse and assess data dispersion in cloud environments. Compare and contrast the Data Security Lifecycle and Information Lifecycle Management. Analyse and assess information security governance processes. Assess the challenges associated with protecting data in a cloud (i.e. Detecting and Preventing Data Migrations to the Cloud, Protecting Data Moving To and within the Cloud, Content Discovery, Data Loss Prevention, Database and File Activity Monitoring, Privacy Preserving Storage, Digital Rights Management)
(e) Study Materials
This class covers a great deal of information about Cloud security technologies, so no single textbook can cover it all. The materials shall include textbooks, journal/conference papers, cloud platforms, and several freely available online resources. The course material will follow the Cloud security guidelines prescribed reputable bodies such as Cloud Security Alliance.
(f) Mode of study
The teaching will be highly student centered. It will involve teaching, online/class room discussions, demonstrations, group/individual projects and self guided research. A student will be expected to do self paced research in each of the module.
(g) Mode of Assessment
(h) Reading List
(a) Description
This course involves studying of investigative methods for fifinding evidence in a wide scope of digital devices such as computers, laptops, networks, mobile devices phones, tablets, digital audio and video players, and any device or appliance that carries an electronic circuit board which could potentially store data or information. It also examines the science, the evidence, and the legal aspects associated to digital forensics, the validation of fifindings, and determination of acceptable evidence. It also evaluates various digital forensics models for data identification, preservation, collection, examination, analysis, preparation, and presentation.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
TBy the end of the course, the students shall be able to:
(d) Detailed Course Content:
Teaching of this course will be in seven modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
The Investigative Process, Forensic Analysis Methodologies, Setting up investigative software, Forensic techniques and tools such as ProDiscover, Encase, Helix, FTK, Autopsy, Sleuth kit Forensic Browser, FIRE, Found stone Forensic ToolKit, WinHex, Linux dd and other open source tools.
File Systems, Allocation Tables, Master File Table and MFT entries, Directory Entries, Bitmaps, identifying hidden files, recovering deleted files and unallocated space, FAT32 and NTFS analysis, Linux and MacOS file systems analysis, encryption/Decryption, and Steganography.
Collecting and analyzing network-based evidence, OS registry changes, intrusion detection, tracking offenders, etc.
Acquisition procedures for mobile network technology and devices, remote network acquisition tools, mobile device forensic tools, Collecting Evidence, Interpretation of Digital Evidence on Mobile Network and mobile devices.
Web cache, history, bookmarks, Mail header analysis; E-mail server analysis; Building timeline; network e-mail logs; and tracking e-mail messages.
Live analysis of systems, Collecting volatile data, Analyzing Log Files
Dumping physical memory, Analyzing physical memory
(e) Study Materials
The materials shall include textbooks, journal/conference papers, software and testing kits.
(f) Mode of study
The teaching will be highly student centered. It will involve teaching, class room discussion, demonstrations, laboratory experiments and self guided research. A student will be expected to do self paced research in each of the modules
(g) Mode of Assessment
Assessment will be by progressive assessment and fifinal written examination. The progressive assessment will be by the self paced research work done in each module and constitute 40% of the fifinal mark. The examination shall be done at the end of the semester and constitute 60% of the final mark.
(h) Reading List
(a) Description
With the advent of more powerful computing equipment and better methodology, deep learning has became a reality. Deep learning presently represents the bleeding edge of Machine Learning. Deep learning attempts to model the high-level abstractions in data without explicitly specifying features in the data. Well develop basic methods for applications that include fifinding known models in images, image processing, feature extraction, tracking, and recognition.
(b) Course Objectives:
Upon completion of this course a student should be able to:-(c) Learning outcomes
The intended learning outcomes for this course are :-
(d) Detailed Course Content:
Teaching of this course will be in 4 modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
This module shall deal with the transition from machine learning to deep learning. Topics will include the motivation for deep learning (from machine learning), basics of machine learning algorithms and optimization using gradient descent and SGD.
This module will focus on neural networks, training a basic deep network, regularization of a deep network and model exploration and hyperparameter tuning.
Convolutional neural networks have been used very successfully in practice for doing computer vision tasks. This module will concentrate in introducing convolutional neural networks and applying them for computer vision tasks.
This module will focus on getting up and running with the different deep learning platforms. In this module students will investigate the different platforms and perform simple tasks on each to understand the relative differences and advantages.
(e) Study Materials
This course will mainly be offered using the Python programming language. Students are particularly encouraged to get up to speed with Python programming by the start of the course. This course will have as its pre-requisite proficiency in programming complex systems in Python. Students should possess a laptop computer for doing in-class programming assessments.The course will work around open source deep learning toolboxes. Students should install some of the trending deep learning packages particularly Cafe (http://caffe.berkeleyvision.org), Theano (http://deeplearning.net/software/theano/), Nolearn (https://pythonhosted.org/nolearn/) and Tensorflow (https://www.tensorflow.org).
(f) Mode of study
The only way to learn deep learning sufficiently is through hands-on experience programming these algorithms and applying them to real problems. The course is broken up into modules to facilitate learning of the different concepts. The mode of study will be inclusive of a variety of methods;
(g) Mode of Assessment
Assessment will be three fold;
Progressive assessment (40%). This will include in-class quizzes and cross-module projects
Final exam (60%). Part of the fifinal exam may be a practical project.
(h) Reading List
Several reference books are available for this course - some of them free books and downloadable.
(a) Description
This course will help students to strengthen their ability to do guided research. Through class presentations, students will provide progress on their masters research plans. This course will also help students to be equipped with scholarly writing and presentation skills. However, what is expected out of the students will be explicitly given to them and examined.
(b) Course Objectives:
The main objectives of this course are:-
(c) Learning outcomes
At the end of this course students should be able to:
(d) Detailed Course Content:
Teaching of this course will be in four modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. The content of the modules will include:
(e) Study Materials
Journal articles, conference proceedings, projector and laptop.
(f) Mode of study
Students will be given broad areas of study together with research questions to address by the beginning of the second semester. Each student will be given a senior staff who will be their supervisor and from whom they will get advice and guidance. The student will then be required to address one research problem and make a write up on it. The student will then be required to present their research proposal to the staff members in the department. As part of the course, the student will also be obliged to attend all (weekly) research talks in the school for the entire semester.
(g) Mode of Assessment
Students are expected to attend class every week, participate in discussions, and prepare and deliver presentation(s) during the semester. The method of assessment will be categorized as:
(h) Reading List
(a) Description
This course is designed to build and expand the foundation of knowledge needed by successful and effective I.T managers through its coverage of concepts, techniques, and technologies relevant to IT projects management. The course design provides learners with broad knowledge of project management. It also provides both a theoretical and practical overview of the processes involved in managing large projects, with emphasis on those common to the information technology industry. Focus is on the various knowledge areas of project management organization namely: scope management, time management, cost management, risk management, quality management, change management, and integration management
(b) Course Objectives:
The main objectives of this course are to:(c) Learning outcomes
After completing this course the student will be able to:
(d) Detailed Course Content:
Teaching of this course will be in ten modules. Each module will be a complete unit of teaching and will be assessed independently using continuous assessments. The content of the modules will include:
Principles of project management and control, the project management process, Work breakdown structure, Project planning, Project scheduling, Project budgeting, Cost Control, Risk management.
A systems view of project management, the project life cycle, recent trends in IT project management.
(e) Study Materials
Samples of project reports, Case studies
(f) Mode of study
Lectures, class presentations, class discussions, independent study, case studies, class demonstrations/presentations.
(g) Mode of Assessment
After each module, students will have to present fifindings from research papers that are related to the topics covered in the module. Students will also be expected to carry out-group projects. The assessment will be categorized as:
(h) Reading List
Each of the modules will have a pointer to a list of published research papers that will be relevant for the topics covered in each module. However, some of the relevant materials for this course are listed below.
(a) Description
This course focuses on enterprise information systems that are driven by models. Of particular interest are so-called \process-aware" information systems. Typical examples are Workflow Management (WFM) systems,Business Process Management (BPM) systems, and the process engines of ERP, CRM, PDM and other enterprise information systems. The first part of the course focuses on the modeling and implementation of workflows. Different languages and systems are presented. Emphasis is on the controlflow and resource perspective. The second part of the course focuses on the analysis of workflows and business processes. This will cover techniques like workflow verification and process mining.
(b) Course Objectives:
The objectives of this course are to:
(c) Learning outcomes
Upon completion of this course, the student shall be to:
(d) Detailed Course Content:
content Teaching of this course will done in modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
(e) Study Materials
This course will mainly be offered using WoPed (Workflow Petrinet Designer) and YAWL which is an open source workflow management system. Students will be required to come up with a practical workflow management systems using YAWL. Students are encouraged to get up to speed with modelling using Petri nets and also be conversant with modelling using Business Process Modelling Notation (BPMN).
(f) Mode of study
(g) Mode of Assessment
Assessment will include:
(h) Reading List
Several reference books are available for this course - some of them are free books and downloadable.
(a) Description
Geographical information systems (GIS) are powerful tools for handling geographically referenced data. This course introduces students to the fundamental principles, concepts and techniques of geographic information systems (GIS) and remote sensing (RS). Students will also be introduced to theoretical, practical and application-oriented aspects of GIS and RS. Students will be able to learn how to independently design and carry out sequential data processing chains in the application fields of geo-information science. The course will cover: Characteristics of spatial data; Models of spatial information; Spatial relationships and algorithms; Spatial analysis (such as route planning, map overlay, buffer zoning, etc.); Database models for spatial data; Errors in spatial data; Sources of raster spatial data and introduction to remote sensing; Sources of vector spatial data; Ethical issues and spatial data; Cartographic communication the display of spatial data; Coordinate systems and map projections. REMOTE sensing, Geo-DBMS (spatial ADT's, spatial indexing, etc), Mobile GIS" (location based services, combination with positioning, e.g. GPS, Galileo, etc). Students will do Laboratory assignments that can include the following aspects: urban & rural planning, water, management, utilities pipelines and cables, etc.
(b) Course Objectives:
The objective of this course is to equip students with skills and knowledge of how to generate information about the Earth from remote sensing and data stored in Geographic Information Systems.(c) Learning outcomes
Upon completion of this course, the student shall:
(d) Detailed Course Content:
content Teaching of this course will done in modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
(e) Study Materials
The materials shall include textbooks, journal/conference papers, remote sensing/GIS and data visualisation tools and platforms, and several freely available online resources
(f) Mode of study
(g) Mode of Assessment
Assessment will include:
(h) Reading List
Several reference books are available for this course - some of them are free books and downloadable.
(a) Description
This course prepares students to develop advanced applications and services for mobile devices, equipping them to become highly skilled professionals for the Mobile Industry with the latest and relevant skills set. Students are expected to already have basic mobile development and programming experience
(b) Course Objectives:
The main objectives of this course are:-(c) Learning outcomes
The intended learning outcomes for this course are :-
(d) Detailed Course Content:
Teaching of this course will be in 12 modules. Each module will be a complete unit of teaching and will be assessed at independently during continuous assessments. This course is broken up into the following modules;
(e) Study Materials
This course will mainly be offered using the mobile platforms and mobile programming languages such as Java, Swift and Python. Students are particularly encouraged to get up to speed with mobile programming and platforms by the start of the course. This course will have as its prerequite proficiency in programming and mobile platforms. Students should possess a laptop computer for doing in-class programming assessments
(f) Mode of study
(g) Mode of Assessment
Assessment will consist of:
(h) Reading List
Several reference books are available for this course - some of them free books and downloadable.
(a) Description
This course covers the applications of the Internet of Things (IoT) and their relevance to developing countries, with a focus on low-cost, open and sustainable solutions as well as Policy and regulation that apply. Exponentially developing technologies that spawn new services and applications, coupled with regulatory reform, changing legal frameworks and the emergence of new markets, have given rise to increased demands for training and skills development. Further, the impact of convergence and globalization has intensified the ongoing challenge to people in these sectors to remain informed of local developments and international trends and practices. The IoT technology has the potential to change the world, just as the Internet did. This is very much starting to happen, as the continual decrease in size, cost, and energy consumption of wireless devices is dramatically boosting the number of mobile objects. The number of mobile objects composing the IoT will significantly grow: in 2020, between 12 and 50 billion devices are expected to be connected with each other, a 12 to 50-fold increase from 2012. This implies that the traffic generated will explode. The huge amount of traffic will require standardized interfaces and IP address utilization, such as IPv6. The course will cover Introduction to Internet of Things and ICT Standards and Regulation. Stake holders & echo system in communications Technology & Services. QoS regulation in Communications Networks. Enabling policies for Sustainable Communications and Information Technology services.
(b) Course Objectives:
The objectives of the course are to:
(c) Learning outcomes
By the end of the course, students should be able to:
(d) Detailed Course Content:
Teaching of this course will be in nine modules. Each module will be a complete unit of teaching and will be assessed independently during continuous assessments. The content of the modules will include:
(e) Study Materials
The materials shall include textbooks, journal/conference papers, and several freely available open online educational resources.
(f) Mode of study
Teaching will be by lectures, presentations, demonstrations, discussions, and guided self-paced studies learning
(g) Mode of Assessment
Coursework (Assignments and projects) (40%) and fifinal examination (60%).
(h) Reading List