Programme at a Glance
PROGRAMME
Master
SLQF LEVEL
SLQF 10

2.5
Years
Master of Science in Computer Science (MSc in CS)
The University of Colombo School of Computing (UCSC) celebrated 50 years of Computing in the University of Colombo in 2017. The first ever Computer Science Masters programme in Sri Lanka was launched by the University of Colombo in 1990, while Computing was taught at Undergraduate level by the University of Colombo since 1967. The Masters level teaching grew ever since to the current state, and has evolved into three masters programs today. The course is delivered by a highly qualified Academic staff and professionals from the industry.
The UCSC consists of 5 professors, and over 29 PhD holders specialized in several disciplines in Computing domain. As the pioneers of Computing in Sri Lanka, UCSC aims to provide its students a unique experience in both theoretical and practical aspects of Computing.
The programme consists of both the course work and a dissertation spanning into 2 years. The students who excel in the first two semesters of the MCS programme are provided an opportunity to register for the Master of Science in Computer Science which includes an advanced research focused dissertation work.
The programme consists of both the course work and a thesis spanning into 2 1/2 years.
Duration
Two and half academic years, part-time, consists of five semesters (up to 15 weeks per semester)
Lectures and Practicals
Weekends 8.30 am – 5.45 pm. The UCSC has been conducting the semesters online since the onset of the pandemic.
Admission
A student who satisfies the specified minimum academic performance in the first two semesters of the MCS programme are provided an opportunity to register for the Master of Science in Computer Science for the second year of the program (third and fourth semesters)
Credit Requirements
|
Course/Subject Description |
Credit Value |
Direct Staff-Student Contact Hours |
Notional Hours (direct staff-student contact hours and independent learning) |
|
Lecture course |
1 |
15 |
50 |
|
Laboratory course |
1 |
30 |
50 |
|
Individual project |
5 |
variable |
500 |
|
Individual research project |
15 |
variable |
1500 |
One credit is considered equivalent to 50 notional learning hours for a taught course and laboratory course.In the case of project work/ Independent Studies, one credit is considered equivalent to a minimum of 100 notional hours.
Fee Structure:
The fee for MSc in CS is categorized into 3 types as local, foreign SAARC countries, and foreign non-SAARC countries.
Master students must pay 100% of the course fee for the degree at the time of initial registration for the first year degree programme.
Course Fee:
Local Students:
| Full Amount | Rs. 550,000.00 |
| Library Fee | Rs. 15,000.00 |
Foreign SAARC Students:
| Full Amount | US$ 4000 |
Foreign Non-SAARC Students:
| Full Amount | US$ 4550 |

Highlights

Number of students registered for 20/21 intake is 100.

Number of Computer Science students graduated in 2020 is 33.
Useful Links
Course Overview
The programme is a part time course which consists of five semesters that span over a duration of 2 1/2 years. Each semester is 15 weeks long.
Course work includes both theory and practical components which may include continuous assessments. 1st, 2nd ,3rd and 4th semesters have an end semester examination. the individual research project of 15 credits shall be continued in semester 5 of the study programme. Medium of instruction is in English.
Lectures/Tutorials/Practical will be held on Friday evenings and weekends.
The programme has a number of courses and each course will carry a specified number of credits. Module descriptors for each course are available on VLE.
First and second semesters consist of compulsory courses while the third and fourth semesters consist of both compulsory and optional courses.
Semester 1
3 Credits
Asymptotic Analysis of Algorithms: Time Complexity, Order of growth, Tractable and Intractable Problems, Solving Recurrences; String Matching Algorithms: Naïve String Matching, Boyer-Moore String Matching, KMP Algorithms, Rabin-Karp Algorithm; Dynamic Programming and Greedy Strategy, Graph Algorithms: Shortest Path Algorithms, Minimum Vertex Cover Problems, Minimum Spanning Trees; Randomized Algorithms: Monte Carlo Algorithms, Las Vegas Algorithms.
3 Credits
Challenges in Software Engineering, Evolution of Software Development Models, Software Requirement Engineering and Management, Industry Practices in Unified Process Models, Object-Oriented Modelling & Frameworks, Software Architecture and Refactoring, Design Patterns and Application, Software Reuse and Component-based Software Engineering, Code Quality and Code Summarization, Empirical Software Engineering, Open Source Software Engineering, Social Software Engineering, Agile Practices and Culture, Code Analyzer, Code Clone Analyzer, Static and Dynamic Code Analyzer, Emerging Trends.
3 Credits
Database Integrity, Transaction Management and Recovery, Concurrency, Distributed Databases, Query Processing and Optimistic Databases, Emerging Technologies: Data Warehousing, XML and Internet Databases, Object-Relational Databases, Emerging Trends.
2 Credits
Logic, Information Theory Concepts, Zero-Knowledge Interactive Proofs, Game Theory, Social Network Dynamics, Concurrent Process Algebras, Quantum Computing, Geometric Computation, Image Security, Biological Computing, Combinatory, Secure Software Development, Adaptive Gaming, Cryptocurrency, Dark Web, Emerging Trends.
Semester 2
3 Credits
Introduction to Information Security & Cryptography, Hash Algorithms, Secret Key (Symmetric) Encryption Systems, Properties of Arithmetic Operations, Public Key (Asymmetric key) Encryption Systems, Key Management Protocols, Java Cryptography, Network Security, Web Security, Secure Electronic Mail, Operating Systems Security, Database Security, Program Security, Legal Issues, Emerging Trends.
3 Credits
Introduction, Channel Characterization, TCP/IP Stack, IP Addressing, IP Support Protocols; Multi-access Protocols: Static and Dynamic Channel Allocation, CSMA, CSMA/CA, CSMA/CD, FDMA and TDMA; Routing: IPv6, OSPF, RIP, BGP, MPLS, Multicast (DVMRP, etc.), key-based (DHT); End to End Issues: TCP and Congestion Control and QoS; Data Centre Design and Virtualization, SDN Concepts; CDMA, MANETS, IoT, Vehicular Ad Hoc Nets; Network Simulation (NS, Mininet), Emerging Trends.
3 Credits
Data Mining: Introduction to Data Mining, Knowledge Extraction Process, Data Pre-processing, Frequent Itemsets Mining, Association Rule Mining, Classification and Cluster Analysis, BI Tools and Application, Overview of Big Data Analytics; Data Warehousing: Introduction to Data Warehouse, Data Warehouse Architecture, Multidimensional Data Model, Concept Hierarchies, Attributes Generalization and Relevance, Online Analytical Process, Business Intelligence (Tools and Visualization); Machine Learning: Supervised Learning, Unsupervised Learning, Ensemble methods, Overview of Deep learning, Natural Algorithm and Reinforcement Learning, Emerging Trends.
2 Credits
Mathematical Preliminaries, Strings and Languages, Recursive Definition of Sets, Finite Specification of Languages, Regular Sets, Regular Expressions, Deterministic Finite State Automata (DFA), Nondeterministic Finite State Automata (NFA), Construction of Equivalent DFA of a Given NFA, Equivalence of DFA, NFA, and Regular Expressions, Closure Properties of Regular Languages, Myhill – Nerode Theorem as Characterization of Regular Languages, and States Minimization of DFA, Context-Free Grammars (CFG) and Languages Generated, Regular Grammar, and Equivalence of Regular Grammar and Finite State Automata, Ambiguity of CFG and Normal forms of CFG, Pushdown Automata (PDA) and its variations, Turing Machines, Generalized Versions of Turing Machines, Decidability and Recognizability, Decision Problems and the Church – Turing Thesis, Encoding of Turing Machines and the Halting Problem for Turing Machines, Universal Turing Machine, Reducibility, Rice’s Theorem; Decidability of Membership, Emptiness, and Equivalence Problems of Languages.
Semester 3
3 Credits
Philosophy of AI, Search (Heuristic/Adversarial/Informed/Uninformed Search), Knowledge Representation and Reasoning, CommonKADs, Planning, Learning, Introduction to NLP and Linguistics, Intelligent Agents, Semantic Web, Emerging Trends.
3 Credits
Deterministic Systems: Difference and Differential Equation and Their Numerical Solutions, Stochastic Systems: Probability Distributions, Random Variables, Markov Chains, Monte Carlo Simulation, DiscreteTime vs. Discrete Event Simulation, Cellular Automata, and System Simulation Tool.
15 Credits
This course unit aims to enhance the capacity of candidates to advance their knowledge, investigative skills and other skills to explore new knowledge within the field of computer science which in turn form the basis for academic advancement and technological development. A candidate specializes in an area within the field of computer science and hence, should demonstrate a critical awareness of current issues and recent developments within the area of specialization. This course requires a high level of theoretical engagement, critical analysis and evaluation with respect to the research work carry out. The major expectations of this course unit are: conduct a comprehensive research work in the field of computer science with a substantial research contribution; construct hypotheses in the area of specialization and test them in a scientific manner; conduct a relevant background study with a critical analysis of related scientific work and evaluate current research in the area of specialization to clearly demonstrate the awareness of the broader context of the problem; formalize arguments logically and, employ these arguments to make sound judgements and to conclude a research solution scientifically; conduct a critical evaluation of the research which clearly demonstrates the technical quality and research merit; by following proper academic writing standards, submit a dissertation and a research paper based on the research outcome which is evaluated and accepted; demonstrate the work at the oral examination.
*Students are required to initiate the individual project activities by the 9th week of their 2nd semester in order to provide sufficient time for students to prepare a proper project proposal prior to the start of the semester. As per the guidance of the Coordinator of the Individual project, you will be assigned to prepare the draft preliminary project proposal, select a supervisor, and get feedback from the supervisor for the draft proposal during this stage.
5 Credits
The aim of this course unit is to enhance the intellectual capacity of candidates to advance their knowledge and investigative skills, and other abilities relevant to computer science, forming the basis for academic advancement and technological capacity. This includes the development of an innovative software application with a research component. The major expectations of this course unit are: conduct a relevant background study with a critical analysis of similar systems and applications to clearly demonstrate a comprehensive level of knowledge and understandability of the broader context of the problem; critically analyze data, make judgments to evaluate the system to clearly demonstrate the technical quality and innovativeness; demonstrate the findings in a dissertation which will be evaluated and accepted; demonstrate the work at the oral examination.
*Students are required to initiate the individual project activities by the 9th week of their 2nd semester in order to provide sufficient time for students to prepare a proper project proposal prior to the start of the semester. As per the guidance of the Coordinator of the Individual project, you will be assigned to prepare the draft preliminary project proposal, select a supervisor, and get feedback from the supervisor for the draft proposal during this stage.
In the third semester of the Programme, the following optional courses shall be offered:
3 Credits
Fundamental Concepts: Objectives, Evolution, Abstractions, Overview, Coordination, Agreement and Fault Tolerance: Leader Election, Consensus, BFT, Blockchain as Ledger Consensus, Atomic Commit, Time and Broadcast: Logical Clocks, Vector Clocks, Ordering and Reliability, RBCAST, URBCAST, ABCAST, Specialized Middleware: Cassandra, Zookeeper, Spanner, Streaming Pub/Sub, Parallel Computing: SIMD and MIMD architectures, Amdhal’s Law, MPI, OpenMP, GPU Computing, Emerging Trends.
3 Credits
Graphics Rendering Pipeline, CUDA Programming, Graphics Primitives, Fundamentals of Transformations, Quaternions, Bezier Curves and NURBS, Texture Mapping, Rendering Techniques, Introduction to Physically based Modelling, Illumination Models, Introduction to Fundamentals of Game Engines, Game Design Fundamentals, Collision Detection and Response, Game AI.
2 Credits
Introduction to Bioinformatics: Bioinformatics, Applications and Challenges, Types of Biological data – DNA, RNA, Amino Acid and Protein, Molecular Biology: Central Dogma, Archives and Information Retrieval, Genome Organization and Evolution, Sequence Alignment, Phylogeny: Phylogenetics Basics, Multiple Sequence Alignment, Gene Expression and Regulation, Structural Bioinformatics and Drug Discovery, Systems Biology: Metabolic Pathways, Dynamics of Metabolic Pathways.
2 Credits
Science, Scientific Method, and Research; Research Philosophies, e.g. Positivism, Subjectivism, Interpretivism, Pragmatism, Critical Realism; Approaches to Theory Development: Induction, Deduction, Abduction; Types of Research and Selecting/ Defining a Research Problem, Defining Research Aims, Questions and Objectives; Conducting a Literature Review, Referencing & Referencing Styles, Research Onion; Research Strategies: Experiments, Case Studies, Action Research, Survey, Ethnography; Method Choices; Time Horizons; Credibility of Findings; Research Ethics and Integrity; Publishing.
Semester 4
2 Credits
Introduction to Affective, Behavioral, and Cognitive (ABC) Systems; ACT-R Cognitive Architecture: Introduction to Production Systems, ACT-R Theory, ACT-R Programming Environment and Lisp, Selected Examples; Dynamic Field Theory (DFT): Foundations of DFT, Selected Examples; Cognitive Robotics: Biological Foundations and Emergent Behaviors, Representative Architectures and Behavioral Programming, Embodied Robotics; Affective Computing: Emotion and Psychophysiological Signals, Emotion Sensing and Recognition, Emotion Modeling; Brain-Computer Interface (BCI): Signal Acquisition and Processing, Applications, Emerging Trends.
2 Credits
Introduction to Embedded Systems, HDLs and FPGA Design Flow, PIC MCU Programming in Assembly/C, Arduino Programming, Embedded Communication Protocols; Digital Signal Processing (DSP): Introduction to DSP, DSP Filters and Analysis, DSP Controllers and Applications in Embedded Systems; Wireless Sensor Networks (WSN): Introduction to WSN, WSN MAC Layer, WSN Routing Protocols, WSN Operating Systems, WSN Localization; Special Topics: Embedded Systems Modeling, Embedded Systems Verification and Human Factors, Emerging Trends
Following optional course units shall be offered in semester 4.
2 Credits
Image Characterization: Introduction to Image Processing and Computer Vision, Digital Image Representation, Color Theory; Spatial Domain Image Processing: Transformation and Histogram based Techniques, Filter based Techniques; Frequency Domain Image Processing: Frequency Domain Techniques; Special Topics in Image Processing: Image Restoration, Edge and Line Detection; Computer Vision: Image Segmentation, 3D reconstruction, Recognition, Computational Photography.
3 Credits
Introduction, Integration Management, Scope Management, Time Management, Cost Management, Quality Management, Communications Management, Human Resource Management, Procurement Management, Risk Management, Financial Calculations for Project Appraisals, Software Quality Assurance.
2 Credits
Introduction; Sorting, Shortest Path, Travelling Salesman Problem; Evolutionary Computing: Genetic Algorithms (GA), Genetic Programming (GP), Genetic Based Machine Learning (GBML); Swarm Intelligence: Particle Swarm Optimization (PSO); Foraging Algorithms: Ant Colony Optimization (ACO), Bees Algorithm (BA), Cockroach Algorithm (CA); Artificial Immune Systems (AIS), Emerging Trends.
3 Credits
Introduction, Operating Systems for Wireless Mobile Devices, Mobile Development Environment (Android), Anatomy of an Mobile App and the App Lifecycle, Mobile Development, Applications Development for Mobile Devices with Android Studio, Android User Interface, Android Intents & Android Persistence, Android WebView and Web Services, 2D Graphics, Location-based Apps, Sensing and Sensors, Hybrid Mobile App Development (Ionic), Native Mobile App Development (React Native), Mobile Testing, Mobile Security (Bouncy Castle, Spongycastle), Emerging Trends.
2 Credits
Introduction to Enterprise Web Architecture, Scale-Free Networks, Hubs, TCP/IP, HTTP, Request-Response Model, Client-Server model, Peer-to-Peer Computing, Service Oriented Architecture (SOA), XML, SOAP, Web Services, Design Patterns, Web Application Architectures, Web Application Architectural Patterns, Enterprise Integration, Enterprise Application Integration (EAI) Models, Enterprise Integration Patterns, Data/Information Architecture, Data Integration, Migrating Legacy Systems to the Web-Based Model, Software Engineering Methodologies for Enterprise Web Applications, Emerging Technologies in Web Application Architecture.
Semester 5
15 Credits
This course unit aims to enhance the capacity of candidates to advance their knowledge, investigative skills and other skills to explore new knowledge within the field of computer science which in turn form the basis for academic advancement and technological development. A candidate specializes in an area within the field of computer science and hence, should demonstrate a critical awareness of current issues and recent developments within the area of specialization. This course requires a high level of theoretical engagement, critical analysis and evaluation with respect to the research work carried out. The major expectations of this course unit are: conduct a comprehensive research work in the field of computer science with a substantial research contribution; construct hypotheses in the area of specialization and test them in a scientific manner; conduct a relevant background study with a critical analysis of related scientific work and evaluate current research in the area of specialization to clearly demonstrate the awareness of the broader context of the problem; formalize arguments logically and, employ these arguments to make sound judgements and to conclude a research solution scientifically; conduct a critical evaluation of the research which clearly demonstrates the technical quality and research merit; by following proper academic writing standards, submit a dissertation and a research paper based on the research outcome which is evaluated and accepted; demonstrate the work at the oral examination.
The syllabus applicable to each course shall be prescribed by the school from time to time and as approved by the Academic Syndicate.
Disclaimer
It is hereby informed that the above information is only for general information and is not for official purposes. Any information contained herein shall be confirmed by reference to the relevant authority.