MSc CS Course Descriptions


Core Courses (7 core modules)

Advanced Networking 

This course focuses on computer networking concepts and technologies; architectures and protocols, LANS, Internet working, and applications.

Engineering of Advanced Web Applications

The Internet has emerged as one of the leading platforms for IT development. The ever expanding range of Web based applications has meant that the Internet and its associated technologies are rapidly growing, and require in-depth knowledge as well as a wide range of ever changing skills. While vendor based technologies such as .NET play a role as development tools for a number of Web applications, “Open Source” projects and technologies such as MySQL, power some of the largest Web based applications in the world. In addition to the technologies, usability and the user experience are critical determinants of the success of a web application and the aim of this course is to develop the necessary knowledge and skills to effectively use modern, Open Source Web technologies to create database driven web applications, within the context of the user experience.

Advanced Database Systems

This course aims to introduce students to advanced database concepts of relational databases including transaction processing, concurrency control, recovery systems, file organization, indexing & hashing, query processing, distributed databases, and object-oriented databases.

Distributed Systems

The class covers advanced topics in operating systems design and implementation such as parallel and distributed operating systems. Important topics include structuring, multithreading, naming, security, remote procedure call, networks, concurrency, transactions, parallel computing, shared memory, message passing, and scale.

Advanced Topics in Software Engineering 

This course presents modern software engineering techniques and examines the software life cycle, including software specification, design, implementation, testing, and maintenance. Object-oriented design methods and practices, their application to the development of computer-based systems, CAD systems.

Strategic Management 

This course focuses on strategy and management issues with the obvious application to IT industry as a whole. Topics strategic aspects of information systems and technology, impact of IT on organizations, project management, team management.

Research Methodology 

This course introduces the student to the research methods used in Computer Science. Topics include techniques and conventions in research methods, pointers towards paper writing, evaluation, and presentation of results.

Specialization Courses (3 out of 4 courses)

Database Management Concentration 

Database Tools 

This course deals with the various commonly used database packages namely Oracle, SQL Server and MySQL. Apart from providing an overview to these tools, this course also explores the use of SQL and PL/SQL within database packages.

Data Warehousing 

This course examines the technical and management aspects of building a data warehouse. This course explores the architecture, infrastructure, processes, data quality, database design, and data analysis involved in building the data warehouse for business analysis. Management issues include business goals, tool selection, project management, personnel skills, training, and user requirements. Topics include dimensional data modeling, extraction/transformation/load processes, data quality problems, data marts, operational data stores (ODS), staging databases, and online analytic processing (OLAP).

Business Intelligence and Data Mining 

This course provides a comprehensive introduction to data mining, various data mining techniques, and some successful applications. This course will emphasize on modern approaches such as OLAP, decision tree learning, Bayesian learning, clustering, and association learning. This course will also examine real world applications with data mining algorithms and tools.

Database Administration 

This course is intended for those who are responsible for managing, maintaining and supporting Oracle database. This course covers concepts including creating and managing database users, implementing a security system to control activities, defining a backup strategy and performing recovery in the event of a system failure and tuning the database to optimize performance.

Networking & Security Concentration

Network Security & Cryptography 

This course focuses on principles and practice of network security. Topics include authentication services, e-mail security, IP security, Web security, security systems and threats, wireless security, and security applications. Typical topics include encryption mechanisms, data compression algorithms, caching, online algorithms, number theoretical algorithms relevant in cryptology.

System Administration

This course offers an in-depth exposition of the Client Server Technology, different types of Server based operating systems, technical and management aspects of the operating system Installation and configuration, Directory Services, User management, Group policies, DNS, DHCP, Exchange Server, the students are trained and better equipped for future need of IT industry or enabling them to kick start their career as a well-groomed system administrators.

Network Management 

This course explores principles and practices of network management including architectures, protocols and tools. Communications systems and media (including people); bandwidth limitations; channel sharing and grouping; data formatting; error detection and correction; protocols; networks.

Wireless Communication 

This course explores principles and practices of wireless networks and mobile communications. Wireless transmission and media access technologies, study of a typical cellular system, satellite networks, wireless LANs, wireless ATM, mobile IP, mobility and TCP, and the wireless application protocol (WAP).

Software Engineering Concentration

Mobile Application Development

The technologies for building software applications that make use of mobile computing devices have entered the mainstream of software development. Software developers entering this field need to understand how the characteristics of mobile devices and applications affect decisions about software design and be able to select and use appropriate standards, APIs and toolkits to build mobile applications. This course aims to prepare students to work in the area of mobile software development by introducing them to the relevant technologies and equip them with skills in the design and development of mobile applications using up-to-date software development tools and APIs.

Enterprise Applications 

This course focuses on the design of scalable n-tier enterprise applications using Java EE technology. It provides detailed coverage of Web Tier (Servlets, JSP), Business Tier (Enterprise Java Beans, Web Services) and the interface with Information Tier.

Enterprise Architectures 

This course aims to build on Enterprise Applications course while focusing this time on the architectural issues of enterprise systems. The students will evaluate different technologies with the final purpose of identifying the best combination for their applications. Emphasis will be put on distributed systems and advanced concepts such as application servers, scalability, reliability, security, distributed transactions etc.

.NET Technologies This graduate course aims to cover basics of the .NET frame work apart from providing an introduction to the three commonly used languages of the .NET family of languages namely VB.NET, C#.NET and ASP.NET. This course would also explore consuming and deploying of XML Web Services using Microsoft Visual Studio .NET.