Master of Science in Computer Science
- 00:00:00Course Duration
- PostgraduateSkill level
-
$1085.00
- 30 November -0001Admission Deadline
ENTRY REQUIREMENTS
- An honours degree (2.2 or better) in Computer Science
- Good command of the English language.
DURATION OF PROGRAMME AND MODE OF STUDY
The MSc Programme shall be offered on: Full time for a period of 18 months. Block Release over 24 months.
PURPOSE OF THE PROGRAMME
To develop knowledge, skills and competences in the field of Computing Technology. To provide a foundation for advanced research in Computer Science.
Areas of Study:
Software Engineering, Network Management, Data Science, Computer Security, Database Management, Artificial Intelligence, Image Processing.
Specialist Focus:
Programming, Application Development, System Design and Implementation, Network Administration, Artificial Intelligence
Orientation:
Research and innovation-oriented
Distinctive Features:
Network administration, ICT management
Teaching and Learning:
Lectures, tutorials, laboratory classes, seminars, group work, research project, individual /independent study
Assessment Methods:
Written and oral examinations, tests, seminar, Presentations, mini-research projects, final year research project report, continuous assessments
REGULATIONS
These regulations should be read in conjunction with the Faculty of Applied Science and the General Academic Regulations.
ENTRY QUALIFICATION
A student must have passed an (Hons) Degree (2.2 or better) in Computer Science.
Duration |
18 Months |
Minimum Credit Load |
293 |
Maximum Credit Load |
360 |
Maximum MBK/S Credit Load |
234 |
ZNQF Level |
9 |
Entry requirements |
Tick |
An Honours degree with a degree class of at least 2.2 in Computing (Computer Engineering, Informatics, Information Systems, Computer Science, Software Engineering) or Electronic Engineering. |
√ |
LEARNING OUTCOMES Graduates should be able to |
|
|
|
|
|
Programme Assessment (Describe and indicate percentage [%]) |
|
Coursework |
40 (Test 10%, Assignments 5%, Practicals 15%, Term Paper 10%) |
Written Examinations |
60 |
Module Name |
Credits |
Level One |
|
Pattern Recognition & Image Processing |
18 |
Advanced Enterprise Architecture Programming |
18 |
Advanced Database and Data Mining |
18 |
Computational Discrete Mathematics |
18 |
Software Methodology |
18 |
Research Methods |
18 |
Evolutionary Computing & Parallel Distributed Processing |
18 |
Simulation & Modelling |
18 |
Automated Reasoning |
18 |
Large-scale data processing and optimisation |
18 |
Level Two |
|
Dissertation |
90 |
Total Credits |
270 |
MODULE SYNOPSES |
Pattern Recognition & Image Processing Introduction to pattern recognition. Fundamental problems in pattern recognition. Foundations of pattern recognition algorithms and machines, including statistical and structural methods. Data structures for pattern representation, feature discovery and selection, classification vs. description, parametric and non-parametric classification,supervised and unsupervised learning, use of contextual evidence, clustering, recognition with strings, and small sample-size problems biological object recognition, Bayesian decision theory
|
Advanced Enterprise Architecture Programming Introduction to application server programming and business logic programming. Transaction processing, concurrency control, Event-driven programming, asynchronous method invocation, job scheduling, Inter process communication. Deployment of software components in an application server. Business Interface development and deployment. |
Advanced Database and Data Mining Data Models; The Enhanced Entity Relationship (EER) Model, EER Models to Relational Databases, Database Design and Implementation; design methodologies, implementation methodologies, Physical Database design and Tuning, Query processing and Optimization. Algorithms for Query Processing and Optimization, Transaction Processing, Concurrency Control Techniques. Database Security and Distribution, Distributed Databases, Mobile Databases Machine Learning and Pattern Recognition, Data Mining
|
Computational Discrete Mathematics Discrete models. Foundations. Basic concepts of sets and functions. Finite series. Logic. Propositional logic. Predicate logic. Combinational circuits. Induction. Finite probability space, events. Conditional probability, Bayes’ theorem. Integer random variables. Expectations. Variance Analysis and verification. Searching algorithms. Recursive algorithms. Relations. Basic concepts. Properties of relations. Operations on relations. Undirected graph, Directed graph, weighted graph, Euler circuits and Hamiltonian cycles. Graph isomorphism and representations. Planar graphs. Trees. Different state machines. Input, Output, Initial state. Transition table.
|
Research Methods Research, research types, Research planning and design, Project Proposal, Data collection techniques, Literature review, Research techniques, Methodology and Methods, Sampling techniques, Validity and reliability, Research report writing, Ethical issues in Information Systems Research. |
Evolutionary Computing and Parallel Distributed Processing Fundamentals of genetic algorithms, genetic programming. Conceptual simplicity and broad applicability of genetic algorithms. Features of evolutionary computation, evolutionary strategies, evolutionary programming. Hybridization and Optimization techniques. Heuristic level: knowledge representation, inference strategies. Man-machine interfaces. Fuzzy set theory. Decision: Classical, nonstandard and fuzzy logic. Data representation. Network configurations: single layer non-recurrent networks. Multilayer non-recurrent networks. Recurrent networks. Application for artificial neural networks: character and speech recognition, image analysis Parallel distributed processing. General framework. Distributed representation. Basic mechanisms and formal analysis. |
Simulation and Modelling Advances in simulation and modelling methodology. All students are expected to have completed an introductory module in simulation. Modelling complexities and decision-making simulation using system dynamics. Applied statistical functions, Experimentation, Applied statistical methods for analysis and modelling. Approaches to structuring simulations. Contrasting discrete, continuous and agent-based simulation
|
Software Methodology Overview of Software Engineering, the Software Development Process; requirements analysis and specification phase Design phase; implementation phase, maintenance; Engineering with a Programming Language; Software Engineering Paradigms; Engineering with existing software. Software Engineering Project presents engineering information in a manner that can be easily understood as well as capturing and analysing the experimental outcomes of one’s project activity. In addition to the dissertation the student will be expected to present to the panel of examiners the actual project and explain the findings and the performance as well as the engineering and technical benefits gained. The dissertation will be evaluated in terms of its technological value and the national problem that it solves or its contribution to the solution of a given situational challenge.
|
Automated Reasoning Logical Reasoning: logic, satisfiability, transformations; SAT solvers Practical Applications of SAT/SMT, SAT competitions; Tractable fragments, 2-SAT, random walks; Random 3SAT, Phase transitions, connections with statistical analysis (Survey Propagation).
Probabilistic Reasoning: Constraint networks and factor graphs; Probabilistic inference, counting problems and complexity classes; Reductions: MPE to weighted maxSAT, probabilistic inference to weighted model counting Sampling and counting self-reducibility; MCMC sampling: Markov Chain analysis, connections with stochastic local search (Simulated Annealing, etc); Sampling and Counting with an NP-Oracle (SAT solver); Planning and bounded model checking with SAT.
|
Large-scale data processing and optimisation Principles of large-scale data processing and optimisation. Data flow programming: Map/Reduce to TensorFlow. Large-scale graph data processing: storage, processing model and parallel processing. Map/Reduce and Deep Neural Network using TensorFlow. Practical tutorial for Stream data processing and data/query model. Machine Learning for optimisation of computer systems. Task scheduling optimisation and Auto-tuning. Individual Project Study. |