The Master of Science (Information Technology) is an intensive two year post-graduate program (4 semesters) designed for students who wish to pursue a professional career in Information Technology. The courses are carefully designed to guide the students through basic concepts to the current practices in industry. Hands-on Laboratory experience is emphasized at every stage of the Program. In the last semester, the students are required to carry out an industry internship. At the end of the program, it is expected that the students attain a sound theoretical foundation; an ability to analyze, conceptualize and design systems; and competence in modern software design and development tools. A typical graduate in IT at DA-IICT can expect to build a career as a software engineer, an analyst or a system designer.
Programme Outcomes (POs)
|PO No.||Program Outcomes|
|PO1||Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization to the solution of complex engineering problems.|
|PO2||Problem analysis: Identify, formulate, review research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences|
|PO3||Design/development of solutions: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.|
|PO4||Conduct investigations of complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.|
|PO5||Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.|
|PO6||The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.|
|PO7||Environment and sustainability: Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.|
|PO8||Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.|
|PO9||Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.|
|PO10||Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.|
|PO11||Project management and finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.|
|PO12||Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change.|
Programme Specific Outcomes (PSOs)
After successful completion of the M.Sc. (IT) program students will have:
|PSO No.||Program Specific Outcomes (PSOs)|
|PSO1||To apply the theoretical concepts of information technology and practical knowledge in analysis, design and development of computing systems and interdisciplinary applications.|
|PSO2||To work as a socially responsible professional by applying IT principles in real-world problems.|
The M. Sc. (IT) Program follows a full time four-semester pattern and the curriculum consists of three semesters of course work followed by a one-semester project work on a specified topic. There is also a summer internship of duration of four weeks that students need to take up after the second semester and before the start of third semester. The curriculum consists of 3 semesters of course work (Core and Electives) 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 basic concepts of computer programming and phases of program development, deployment and testing to solve computational problems. Topics include: problem solving techniques, flow charts, decision tables and C programming. At the end of the course, the student will be able to develop logical analytical ability to perceive and solve computational problems; to write and test computer programs developed with C programming language; and to work effectively with various computer software tools like editors, compilers, office automation, imaging, etc.
Asymptotic analysis: Big O, little o, omega, and theta notation, worst case and average case analysis, and solving recurrences. Algorithm Design Techniques: Brute-force algorithms, Divide-and-conquer, Dynamic programming, Greedy algorithms, Backtracking and Heuristics. ADTs that covered are Lists, Stacks, Queues, Trees, and Graphs. Sorting and Searching, Binary search trees, Hashing, Graph representations, Graph Algorithms (DFS, BFS, Shortest- path (Dijkstra’s and Floyd’s algorithms), Minimum spanning tree (Prim’s and Kruskal’s algorithms) and Topological sort.
This course is intended to give a solid background in database design and implementation with the focus on relational model. The course covers data modeling, theory of relational model, Functional Dependencies, and Normalization, Querying relational databases using Relational Algebra and SQL. Students also learn and practice creating stored procedures, accessing databases in host programming languages. The course also teaches Storage and Indexing structures, Query Execution and Transaction Processing concept.
The objective of the course is to build mathematical background needed for better understanding of computing techniques studied in various courses of the program. This course begins with quick revision of Logic, Sets, Relations and Functions, and provides a detailed discussion of Basics of counting (Permutations, Combinations, Recurrence relations, Solving Linear recurrence relations), Discrete Probability (Basic probability theory, Bayes theorem, expected value and variance), and Graph theory (Graph and graph models, graph representations, basic graph problems like traversals, shortest path and Euler paths).
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.
The objective of this course is to discuss object oriented programming paradigms and implementation of common data structures using OOP language like C++ or Java. Topics include: Objects and Classes, Attributes, Methods, Visibility; Class Relationships, Association, Aggregation, Composition; OOP principles (Abstraction, Information Hiding, Encapsulation, Inheritance, Polymorphism). This course is about programming in Java. Java is the most widely used language for developing open source software systems. With Java, there comes huge library support which reduces the development time and enhances software reuse for faster development.
The objective of the course is to teach good software design practices at architectural level as well as component level. The prime focus is on designing software systems using object oriented principles. The scope of the course ranges from any given software requirements to producing a detailed design in the software development life cycle. The emphasis would be on learning Unified Modeling Language from the ground; students should be able draw UML diagrams using very basic tools like Dia. Students are encouraged to take a mid-size software design projects, submit detailed design and take up to the implementation. Students also learn and attempt to apply common design patterns.
Objective of the course is to learn whole array of java technologies for building enterprise applications. The course intends to provide lots of hands, and students are engaged in developing mid-size projects drawn from real world, using J2EE technologies. Technologies that are to be included are Core Java with Collections, Swing, and JDBC API; HTML, XML, JSP/Servlet. Use of MVC frameworks like Apache Struts for building java based web applications. Students are also exposed to various J2EE patterns.
The purpose of this course is to provide the students with an introduction to system-level programming in a UNIX environment. The students will be introduced to the standard Linux commands, memory management, interacting with the operating system by making system calls for file management, file execution, process control, and interprocess communication, shell scripting, Sockets and using TCP/IP, Shell principles, exec family of functions, naming conventions, and so on. A primary goal of the course then is to train the students in a systems programming context to develop a code that is robust.
The course intends to teach complete life cycle of software development. The course covers Software Processes and SDLCs; Requirements Engineering; Software Testing, Verification and Validation; Software Evolution; CASE Tools; Introduction to Software Project Management, Appreciate Software Reliability and Risk Assessment; Software Quality Standards and Quality Assurance.
This course will cover the fundamental principles of wired networks with focus on layered architecture, protocols, implementation and issues specific to the Internet. The objective is to provide an understanding of how the Internet works. We will discuss real examples the Internet based systems such as Facebook, Google and understand how fundamentals of computer networks are applied on such systems.
Besides these required courses, selections of elective courses are also offered. Some of these courses are:
- Information Systems Security
- Cloud Computing
- Software Project Management
- Principles of Management
- Data Warehousing and Mining
- Coding Theory
- Internships: Internships should play a major role in accomplishing the objective of project based re-enforcement of concepts learned in various courses. Students of this program are to take following two internships typically taken in industry:
- Summer Internship in first summer semester for about eight weeks.
- Project Internship – Full time in Final Semester
Details on the application process, admission criteria, fee structure and financial assistance can be found here