The department of Computer Science offers a wide range of modules to students.
This module introduces imperative computer programming, which is a fundamental building block of computer science.
This module introduces concepts and terminology related to the computer science discipline.
This module introduces students to a framework for investigating both computability and complexity of problems.
Data abstraction is a fundamental concept in the design and implementation of correct and efficient software.
This module will introduce the student to netcentric systems by focusing on the development of systems for the web, mobile devices and the cloud.
This module will expose students to the evolution of databases systems.
The main objective of this module is to introduce a selection of topics from artificial intelligence (AI), and to provide the student with the …
The objective of this module is to acquaint the student with the terminology of communication systems and to establish a thorough understanding of …
Programming languages are the backbone for software development. Each language has its own different syntax and semantics, but there are many common …
The aim of this module is to acquire a sound knowledge of the basic theory of interactive computer graphics and basic computer graphics programming …
The focus is on object-oriented (OO) programming. Concepts including inheritance and multiple inheritance, polymorphism, operator overloading, memory …
Fundamental concepts of modern operating systems in terms of their structure and the mechanisms they use are studied in this module.
The module will introduce the concepts of model-driven analysis and design as a mechanism to develop and evaluate complex software systems.
Computer science courses mostly deal with sequential programs. This module looks at the fundamentals of concurrency; what it means, how it can be …
This module provides the foundations on which other modules build by enabling a deeper understanding of how software interacts with hardware.
This module builds on a prior introductory module on database technology and provides more advanced theoretical and practical study material for …
This module develops an appreciation of the fundamentals and design principles for information assurance and security.
This module will introduce the student to the fundamentals of compiler construction.
The module exposes students to problems associated with software development on an industrial scale.
This module focuses on two Computational Intelligence paradigms, namely Evolutionary Computation and Swarm Intelligence.
This module focuses on state-of-the-art security topics that are current and relevant to industry.
This module covers various perspectives of Software Engineering theory and practices.
Model Checking is a technique for automatically verifying whether a software program satisfies correctness requirements such as mutual exclusion, …
This module introduces the concepts of generic programming in order to generate code at compile-time.
This module will teach the basic theoretical concepts of digital forensic investigations.
This module focuses on two Computational Intelligence paradigms, namely Artificial Neural Networks and Deep Learning.
This module focuses on state-of-the-art information security topics that are current and relevant to industry.
This module provides the foundation to evaluate and develop educational software.
Data mining is the extraction of novel knowledge, or hidden patterns, from large data bases.
From time to time, the department presents lectures on special topics within Computer Science.
This module requires the student to conduct independent research under supervision of a staff member on a topic agreed upon by the student and staff …
This is the first and introductory module for the MIT degree in Big Data Science.
In this module students will be exposed to different categories of machine and statistical learning algorithms that can be used to manipulate big …
Students will obtain hands-on experience on the following technologies such as: Python, Spark, Hadoop, R and SAS, Streaming, Data fusion, Distributed …
The focus in this module is on Information Ethics and its place within the disciplines of Ethics and Philosophy.
In this module students will be introduced to Mathematical Optimization through gaining knowledge about the theory and algorithms to solve …
Computer Science in Perspective
ICT Infrastructure Management
Example courses, amongst others, may include: Cyber-security, Digital Forensics, Deep Machine Learning, Image and sound analysis, Feature extraction, …
This module focuses on tools for Big Data processing. The focus is on the 3 V- characteristics of Big Data namely volume, velocity and variety.
Big data management is the governance, administration and organization of large volumes of both structured and unstructured data.
Similar to MIT 862; which has the following description: Research methodologies applicable to the IT field as preparation for the mini-dissertation …
Life-cycle and maturity models for IT
Corporate IT systems
Research methodologies applicable to the IT field as preparation for the mini-dissertation for the A Stream students.
Students may choose a supervisor/co-supervisor from any of the participating departments, which includes, but are not limited to: Electrical, …
This module provides the opportunity to students for demonstrating the application of the theoretical Big Data Science knowledge gained in the core …
Dissertation: Computer science (Masters)
Thesis: Computer science (PhD)