Curriculum · Master's
Master of Computer Science
The Master of Computer Science curriculum, including its specialist tracks and regulations.
Introduction
The Master of Science in Computer Science aims at equipping students with advanced skills in Computer Science.
The objectives of the program are :
- To provide students with in-depth knowledge of the theoretical and practical aspects of Computer Science so as to satisfy the technological needs in the private and public sector.
- To provide students with advanced knowledge and special skills set in the key areas of computer security, computer programming, data science, and cloud computing.
- To equip students with the knowledge and skills necessary to meet the ever-evolving demands of the Computer Science profession.
- To provide students with skills to deploy and manage Computer infrastructure in organizations so as to improve their effectiveness.
- To provide students with research skills which will help them grow with the technological advancements as well as help them participate in the development of new technologies.
Main Features in the program
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:
- Software and Systems Security
- Artificial Intelligence and Data Science
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:
- Computer/Cyber Security Expert
- Software Engineers/programrs
- Data Scientist
- ICT Project Consultants
- Systems Security Analyst
- Researcher
- Systems Analyst, and Business Intelligence Analyst
- Database, Systems and Network Administrators
The Program
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:
- those interested in pursuing both academic and professional careers requiring advanced Computer Science knowledge.
- professionals interested pursuing careers in the fields of computer security, data science, network security, analytical, programming, software engineering/ software development, and cloud computing, among others.
- those interested in pursuing PhD research in Computer Science.
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.
Regulations
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:
- A minimum of Second Class (lower division) undergraduate degree in Computer Science, Computer Engineering, Software Engineering, or a closely related field from a recognized university/institution.
- A minimum of Second Class (lower division) postgraduate diploma in Computer Science, Computer Engineering, Software Engineering or a closely related field from a recognized university/institution.
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.
- Plan A: Plan A is made up of two semesters of coursework (40 credit units) and two semesters of research and writing of a dissertation (20 credit units) and Seminar Series (2 credit units). The minimum total credit units (graduation load) for Plan A is 62.
- Plan B: Plan B is made up of three semesters of coursework (58 credit units) and one semester of developing a project (10 credit units). The minimum total credit units (graduation load) for Plan B is 68.
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:
- one lecture hour (LH)
- two practical hours (PH)
- two tutorial hours (TH)
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:
- W - Withdraw from Course
- I - Incomplete
- AU - Audited course only
- P - Pass
- F - Failure
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:
- Normal Progress: This occurs when a student passes each course unit taken with a minimum Grade Point of 3.0.
- 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.
- Discontinuation: When a student accumulates three consecutive probations based on the CGPA or the same core course unit(s), s/he shall be discontinued. A student who has failed to obtain at least the pass mark of 60% or Grade Point of 3.0 after the third attempt in the same course unit(s) s/he had retaken shall be discontinued from his/her studies at the University. A student who has overstayed in an academic program by more than two (2) years shall be discontinued from his/her studies at the University.
Retaking a Course Unit
A student will retake all courses where he/she has a grade point less than 3.0.
- A student shall retake a course unit when next offered in order to obtain at least the pass mark (60%) if s/he had failed the course unit during the rst attempt. A student may take a substitute elective course unit where s/he does not wish to retake a failed elective course unit.
- A student who has failed to obtain at least the pass mark of 60% after the second attempt of the same course unit s/he has retaken shall receive a warning.
- Where students miss to sit examinations for justified reasons; they should not be recorded as those who retake when they sit the examinations when next offered.
- A student shall not be allowed to accumulate more than five (5) retake course units at a time. Students are required to register for retake course units first before registering for course units the will be attempting for the first time in that semester and the retake course units should fit into the approved normal load so as to avoid timetable clashes.
- Students who have a course unit or course units to retake and where the total credit load for this course unit or course units is more than the set normal semester load for their program will be required to pay additional tuition for the retake course unit(s). Such students will also be required to pay the re-examination fees per retake course unit and the registration fees for that semester.
Course Outline
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 |
Year 2
Semester 1
(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:-
- Equip students with the ability to search for and internalize scientific academic material.
- Develop the students ability in technical writing.
- Develop the students' presentation skills.
(c) Learning outcomes
At the end of this course students should be able to:
- Read and internalize scientific academic material in their area of specialization.
- Developed appropriate conceptual and methodological approaches to their research.
- Have developed a full research plan for their research-based dissertation.
- Learned how to offer and received constructive comments on their work in progress.
- Competently present scientific findings.
(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:
- Module One: Scientific paper writing (6 hours)
- Module Two: Scientific paper presentation (6 hours)
- Module Three: Presentation of research plan (9 hours)
- Module Four: Presentation and discussion of research progress (9 hours)
(e) Study Materials
- Attendance of weekly research seminars (10%)
- Scientific paper write up and presentation (40%)
- Research proposal presentation (40%)
- Knowledge of subject matter (10%)
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
- J. Zobel Writing for Computer Science Springer, 8, 2014.
- S. Keshav How to Read a Paper ACM SIGCOMM Computer Communication Review, 37(3), 83-84, 2007
- How to Present a Paper in Theoretical Computer Science: A Speaker's Guide for Students. https://larc.unt.edu/ian/pubs/ speaker.pdf
- Giving a Talk: Guidelines for the Preparation and Presentation of Technical Seminars. http://www.comm.toronto.edu/%7Efrank/ guide/guide.pdf
- The Paper Reviewing Process. http://greatresearch.org/2013/ 10/18/the-paper-reviewing-process/
(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:- explore concepts of project management and leadership, steps of the project management framework, the project life cycle, and project charter.
- discuss the roles of the project manager, the project team member and effectively communicate with the project team, clients and customer (sponsor)
- examine the importance and function of project management and apply the project process of initiating, planning, executing, controlling and closing the project.
- equip students with skills and knowledge in theoretical and practical understanding of the different project management areas of scope, integration, quality, cost, time, risk, human resources, communication and procurement.
(c) Learning outcomes
After completing this course the student will be able to:
- demonstrate mastery of concepts of project management and leadership, steps of the project management framework, the project life cycle, and project charter.
- Explain the processes involved in selecting and initiating a project and prepare various critical documents required for these processes.
- Demonstrate Understanding of the importance and function of project management and apply the project process of initiating, planning, executing, controlling and closing the project.
- Apply the knowledge and skills from the different project management areas of scope, integration, quality, cost, time, risk, human resources, communication and procurement. to plan and manage large IT projects
(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:
- Module One: Project planning and Control (15 hours)
Principles of project management and control, the project management process, Work breakdown structure, Project planning, Project scheduling, Project budgeting, Cost Control, Risk management.
- Module Two: Project Management in the IT Context (5 hours)
A systems view of project management, the project life cycle, recent trends in IT project management.
- Module Three: Integrated Project Management. 6 hours)
- Module Four: Project Budgeting and finance (6 hours)
- Module Five: Project risk management (5 hours)
- Module Five: Project Quality Management(5 hours)
- Module Five: Managing and leading the Human Resource (5 hours)
- Module Five: Communication management and Team building (5hours)
- Module Managing the Procurement Process (4 hours)
- Module Five: Project Closure and Reporting (4 hours)
(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:
- A Progressive assessment (40%). This will include in-class quizzes and cross-module projects
- Final examination (60%).
(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.
- Schwalbe, K. Information Technology Project Management. Sixth Edition 2010. Cengage Learning
- Richman, L. Project Management Step - by - Step. 2011. American Management Association.
- Billows, D. Advanced Project Management Techniques. 4th Edition 2009. Gower Publishing, Ltd.
(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:
- equip students with skills needed to identify business processes within an organization.
- equip students with skills necessary to document business processes using different business process modeling techniques.
- be equipped with skills to translate informal requirements into explicit models and model complex business processes in terms of various languages,
- understand the functionality and architecture of a variety of processaware information systems (e.g., workflow management systems like YAWL),
- understand the relation between Service Oriented Architecture (SOA) and BPM architectures,
- understand the workflow patterns and their use to characterize and model processes and to evaluate systems,
- provide an overview of the different analysis techniques (simulation, process mining, verfication, etc.),
(c) Learning outcomes
Upon completion of this course, the student shall be to:
- explain the organizational merits of process thinking and the use of process-aware information systems in particular,
- translate informal requirements into explicit models and model complex business processes in terms of various languages,
- describe the functionality and architecture of a variety of processaware information systems (e.g., work ow management systems like YAWL),
- demonstrate an understanding of the relation between Service Oriented Architecture (SOA) and BPM architectures,
- use the workflow patterns to characterize and model processes and to evaluate systems,
- demonstrate an understanding an overview of the different analysis techniques (simulation, process mining, verfification, etc.),
(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:
- Introduction to Business Process Management Systems. (6 hours)Role of models in the BPM lifecycle.
- Modeling the Controlflow perspective. (10 hours) Focus on the controlflow perspective of business process and model based on Wf-nets. Translate languages coming from a variety of tools ranging from business process modeling tools to workflow management systems to Wf-nets and evaluate systems, to understand concepts such as WF-nets, soundness, etc.
- Modeling the Resource perspective. (6 hours)Discuss modeling of resource perspective of business processes. Consider resource classification and resource management rules used to map work onto resources.
- Workflow Management Systems. (6 hours) Describe the functionality and architecture of a variety of process-aware information systems. Focus on the workflow management system YAWL.
- Workflow Patterns. (6 hours) Discuss the different categories of workflow patterns, i.e., controlflow, resource and data patterns. Use the workflow patterns to characterize and model processes and to evaluate systems
- Business Process Verification. (6 hours) Discuss the analysis of business processes before they are put in production. Explain and recognize semantic problems such as the vicious circle in the presence of OR-joins.
- Process Mining. (10 hours) Discuss process mining techniques in detail. Apply different process discovery techniques, understand and apply conformance checking techniques. Use ProMLite as the process mining tool
- Business Process Configuration and Services. (10 hours) Model a family of processes in terms of a configurable process model, discuss the basic principles of process configuration, and explain how BPM systems can be used to compose new services.
(e) Study Materials
- Lectures, tutorial/practical sessions as well as demonstrations.
- Individual and group-based tutorial.
- Class presentations
- Progressive assessment (40%).
- Final exam (60%).
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.
- Weske, M. An Business Process Management: Concepts, Languages, Architecture. (Second Edition) 2012: Springer.
- van der Aalst, W.M.P Process Mining: Data Science in Action (Second Edition) 2016. Springer
- van der Aalst, W.M.P and and van Hee, K. Workflow Management:Models, Methods and Systems. MIT Press) 2002. MIT Press
- ter Hofstede, A., van der Aalst, W.M.P., Adams, M., and Russell, N. Modern Business Process Automation: YAWL and its Support Environment 2010
(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:
- be able to identify basic concepts and operations of a GIS and Remote Sensing
- be able to describe the nature of geographic phenomena and their representation in the context of geo-informatics
- have gained an understanding of the principal data models for spatial and non-spatial data used in GIS databases;
- be able to describe the physical background of remote sensing and compare the main platforms and sensor systems using examples for Applied Earth Science
- be able to explain the main digital image processing procedures in their fifield of application
- be to apply and demonstrate an understanding of RS/GIS technology, operations, methods and techniques
(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:
- Functionality and applications of a GIS (2D, 3D, or 4D (3D + time). (4 hours)
- Characteristics of spatial data. Models of spatial information. (4 hours)
- Spatial relationships and algorithms. (4 hours)
- Spatial analysis (such as route planning, map overlay, buffer zoning, etc.). (4 hours)
- Database models for spatial data. (4 hours)
- Errors in spatial data. (4 hours)
- Sources of raster spatial data and introduction to remote sensing. (4 hours)
- Sources of vector spatial data. (4 hours)
- Ethical issues and spatial data. (4 hours)
- Cartographic communication the display of spatial data. (4 hours)
- Coordinate systems and map projections. (4 hours)
- Remote sensing. (4 hours)
- Geo-DBMS. (4 hours)
- Mobile GIS (Location based services, combination with positioning e.g. GPS, Galileo,..). (4 hours)
- Laboratory assignments to include: urban & rural planning, water, management, utilities pipelines and cables, etc.. (4 hours)
(e) Study Materials
- Lectures, tutorial/practical sessions as well as demonstrations.
- Individual and group-based tutorial.
- Wide range of computer-based learning and other tools will be used to support the student's learning process.
- Use of real life case studies and individual literature review of current developments in the GIS
- Progressive assessment (40%).
- Final exam (60%).
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.
- Ian Heywood, Sarah Cornelius and Steve Carver. An Introduction to Geographical Information Systems (Fourth Edition) 2012: Pearson.
- James B Campbell and Randolph H. Wynne. Introduction to Remote Sensing (Fifth Edition) 2011. The Guilford Press
- Editors: Klaus Temp i, Norman Kerle, Gerrit C. Huurneman and Lucas L. F. Janssen. Principles of Remote Sensing An introductory textbook. (Fourth Edition) 2009: ITC, Enschede, The Netherlands
- Editors: Otto Huisman and Rolf A. de . Principles of Geographic In- formation Systems An introductory textbook (Fourth Edition) 2009: ITC, Enschede, The Netherlands.
(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:-- to equip students with latest and relevant mobile industry skills
- provide students with advanced knowledge in modern programming languages for mobile platforms such as Swift, Python and Java.
- to provide students with an understanding on integrating cloud services, networking, the OS and hardware into mobile-applications.
- to skill students on Testing methodologies for mobile applications.
- to enable students understand Publishing, deployment, maintenance and management of applications and content
(c) Learning outcomes
The intended learning outcomes for this course are :-
- students will be able to demonstrate an understanding of and ability to develop software for latest mobile platforms.
- students have acquired knowledge in modern programming languages for mobile platforms such as Swift, Python and Java.
- students will have an understanding of integrating cloud services,networking, the OS and hardware into mobile-applications.
- students will be able to publish, deploy, maintain and manage mobile applications, services and content.
- students be competent with understanding enterprise scale requirements of mobile applications as well as the ability to develop mobile applications using one application development framework.
(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;
- Module 1: Review of Mobile Computing fundamentals. (3 hours)
- Module 2: Fundamentals of Mobile Terminal Hardware set-up (6 hours) Radio, DSP, Memory and CPU components. The division into access & application parts. Base Station side radio interface standards.
- Module 3: Review of Mobile Operating System Platforms (OSPs) (6 hours) Android, Linux & Microsoft mobile, iOS.
- Module 4: Advanced Mobile User Interface (6 hours) Menu system, and Applications.
- Module 5: Software set-up in modern Mobile Terminals (6 hours)
- Module 6: Overview of Mobile Multimedia Codecs (6 hours)
- Module 7: Fundamentals of Mobile Content & Mobile web content design. (3 hours)
- Module 8: Widgets & W3C Standards (6 hours) Device Recognition & dotMobi. The .mobi top level domain (TLD) initiative for mobile optimized web-site creation.
- Module 9: Advanced concepts of programming languages (6 hours) Programmable mobile phones.(4 hours)
- Module 10: The mobile applications (4 hours) Services ecosystem.
- Module 11: The Mobile IP stack and mobile web-browsing (4 hours) The WAP-protocol & Location Information.
- Module 12: Principles of Multimedia Messaging (SMS, MMS) and web services (4 hours)
(e) Study Materials
- Lectures and seminars.
- Student mini projects
- Practical sessions
- Progressive assessment including Weekly quizzes, practical projects (40%)
- Final exam - for overall assessment (60%). Part of the final exam may be a practical project.
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.
- Bill, P. and Chris, S. and Brian, H., and Kristin M. Android Program- ming: The Big Nerd Ranch (2nd edition) 2015. LLC.
- Maximiliano, F. Programming the Mobile Web (2nd ed) 2013: OReilly Media, Inc.
- Cristian, C. and Erin, M. Designing Social Interfaces (2nd ed) 2014: OReilly Media, Inc.
- Benjamin, J. E. and Martijn, V. The Well-Grounded Java Developer: Vital Techniques of Java 7 and Polyglot Programming 2013: Manning Publications.
(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:
- introduce students to the concepts of IoT.
- Understand IoT Market perspective.
- explore the interconnection and integration of the physical world and the cyber space.
- design & develop IOT Devices.
- provide Data and Knowledge Management skills with the use of Devices in IoT Technology.
- understand State of the Art IoT Architecture.
- understand the real World IoT Design Constraints, Industrial and Commercial Automation in IoT.
(c) Learning outcomes
By the end of the course, students should be able to:
- demonstrate an understanding of the fundamentals of IoT and Wireless sensor network communications
- Demonstrate an understanding of the basic principles, practices and regulatory objectives to be achieved in licensing services; administering universal service obligations and resources.
- Design, implement and Deploy an IoT solution
- Work with IoT open software and open hardware platforms
- Demonstrate an understanding of the basic principles, practices and regulatory objectives to be achieved in administering competition policy; transparent and efficient interconnection and facilities leasing policy; and tariff and rate regulation.
(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:
- Module: Introduction To IoT (3 hours)
- Module: WSN; MAC, IEEE 802.15.4; WSN Communications (802.15.4, Wifi, Gprs, Bt)(9 hours
- Module: Routing, RPL (6 hours)
- Module: Design and Deployment of IoT solution. Open Software, Open Hardware And Arduino. Introduction To Middleware (6 hours)
- Module: Law, regulation, governance and the institutional framework; Licensing and monitoring; Competition policy and resource management; Internet policy and the Internet in effective regulation (9 hours)
- Module: Universal access, universal service and the digital divide; Net neutrality and the open Internet. (9 hours)
- Module: Interconnection and facilities-leasing; (6 hours)
- Module: Price and tariff regulation (6 hours)
- Module: Quality of service and consumer protection (6 hours)
(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
- Arshdeep, B. and Vijay, M. Internet of Things: A Hands-On Approach 2014. Vijay Madisetti, USA.
- Maciej, K. Building the Internet of Things: Implement New Business Models, Disrupt Competitors, Transform Your Industry. 2016. WILEY Publishing.
- Li, S. and Xu, L. D. Securing the Internet of Things 2017. Syngress, Boston, USA.
- Adria,n M. and Hakim C. Designing the Internet of Things (1st ed.) 2013. WILEY Publishing, Boston, USA.


