The MSc(IT) curriculum consists of 3 semesters of course work followed by a one-semester industrial internship. Courses are periodically revised to reflect the changing needs of the program. At present, following courses form part of the program:
This course introduces the basic mathematical concepts useful in analysing and designing information systems. Topics include: prepositional logic; sets, relations and functions; partial orders; graphs and trees; phrase structure grammars, regular expressions and finite state machines, basic numerical techniques: round-off and truncation errors; solution of a system of linear equations; Newton-Raphson method; numerical integration; curve-fitting.
- Computer Systems and Networks
Computer systems, in their hardware and software components, are key elements of IT. This course brings out the basic hardware architecture of a computer system and of a computer network – processor, main memory, functional units; the I/O subsystem and types of I/O; number systems; basic concepts of combinational and sequential circuits; characteristics of various peripheral devices, types of computer networks and characteristics of associated network devices.
- System and Network Programming
This course brings out the design, structure and functions of operating systems and network software, with examples and case studies taken from systems used widely. Topics such as system architecture, design issues, current technologies, the internet protocol stack, performance issues and applications are discussed, and typical user level and programming interfaces introduced.
- Database Design & Programming
This course covers information systems design and implementation within a database management system environment. Students design and construct a physical system using database software to implement the logical design. Topics include data models and modeling tools/techniques; structured and object design approaches; models for databases: relational and object oriented designs; query languages; CASE tools; client-server planning, testing, and installation.
- Elements of Business Management
This course is an introduction to the various aspects of management of development; marketing; operations management; quality management; personnel management; importance of teamwork, creativity, personal management and communication skills.
- Computer Programming
This course aims to develop proficiency in programming skills, using the programming language C as the vehicle. In addition, students are also expected to learn the basic productivity tools such as word processors, spreadsheets and presentation software.
- Communication Skills
Understanding customer requirements and proposing design solutions is an integral part of an IT professional's work. Therefore, written and oral communication and presentation skills must be acquired by any person working in the field of IT. This practice-oriented course aims to inculcate in students not only these skills but also habits related to modern work culture.
- Object-Oriented Programming
This course introduces the fundamental concepts of programming from an object-oriented perspective. Topics include: the object model; classes, objects, methods and messages, encapsulation and inheritance, interface and implementation, reuse and extension of classes, inheritance and polymorphism. The student develops programming skills, and is introduced to good software engineering principles, in the context of an object-oriented programming language.
- Data Structures & Algorithms
This course introduces the basic concepts and techniques of data structures and algorithms. These include s tacks, queues, arrays, linked lists, trees, graphs, algorithms for manipulating data structures, binary trees, balancing trees and hashing. The course also covers f ile processing environment, file organisation, searching and sorting. Students will implement algorithms using C, C++ or Java.
- Network Economy & Society
This is a sociology/ economics course aimed at analysing the relationships between information technology and the society. Topics discussed include: Technology and society; the Information Technology revolution; the Internet society; the network economy; the network enterprise and transformation of work, management and employment; the digital divide; and the issues of governance and politics. The concluding theme touches on technology and social responsibility.
- Web Applications & Programming
This course focuses on client-server web applications built using different types of Web technologies such as HTTP, ASP, XML, sockets etc; implementation of a database-driven website, and the relevant technologies and performance tradeoffs at each tier of the architecture. Students will implement a distributed system using distributed object frameworks such as CORBA or Web Services. Security issues and strategies in an enterprise-wide web-based application will also be discussed.
- Object-Oriented Analysis & Design
This course introduces the Object Oriented Analysis and Design methods using UML. Topics include: Review of concepts related to the object model; the process and relevant notation of object-oriented requirements specification, analysis and design; case studies and applications using an object oriented design tool and programming language.
- Software Engineering
An IT professional needs to have a good understanding of the principles of software engineering, so that he or she can contribute effectively towards the planning and development of software and software systems. This course teaches the fundamentals of software engineering, the life cycle models, and the software process phases including requirements engineering, design, coding, testing and quality assurance.
Besides these required courses, a selection of elective courses are also offered. Some of these courses are:
Geographical Information Systems