Master of Science in Computer Science

Master of Science in Computer Science

Offered as a Block-Release
  • 00:00:00Course Duration
  • PostgraduateSkill level
  • $1085.00
    Price
  • 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

  1. Use software development tools to produce effective software systems.
  1. Communicate computer science concepts design and solutions effectively.
  1. Configure, manage and troubleshoot computer systems.
  1. Identify and analyze scholarly literature relating to Computer Science
  1. Publish research in scholarly journals of international repute

 

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.

Need Any help!

Mr Walter Magagula

Mr Walter Magagula

Senior Assistant Registrar