Course Structure
M.Tech. Software Engineering course is divided into four semesters out of which the first two semesters are a combination of theory classes and practical classes. The third semester is about comprehensive viva and submission of project work.
The mode of teaching in the third semester is only through seminars. The last semester is also based on seminar type mode of teaching and students are required to submit a project work in this semester.
Syllabus
An overview of the syllabus is as follows:
Name of the course |
Topics covered |
Description |
---|---|---|
Advanced Data Structures and Algorithms |
Algorithms, Stack and Queue ADTs, Searching–Linear and binary search methods, Trees- Ordinary and Binary trees terminology, Search trees- Binary search tree-Binary search tree ADT. |
The major focus of the paper is on the fundamental design, analysis, and implementation of basic data structures. |
Web Technologies and Services |
Client Side Technologies, Introduction to Java Servlets, Introduction to JSP, Introduction to Struts Framework, Service Oriented Architecture and Web Services. |
The paper deals with the knowledge of programming with java and students are able to develop web based solutions using multi-tier architecture. |
Software Requirements and Estimation |
Software Requirements: What and Why, Software Requirements Engineering, Software Requirements Management, Software Requirements Modeling, Software Estimation, Size Estimation, Effort, Schedule and Cost Estimation, Tools for Requirements Management and Estimation. |
The paper focuses on the knowledge of the distinction between critical and non- critical systems. |
Software Development Methodologies |
Introduction to Software Engineering, A Generic view of process, Process models, Software Requirements, Design Engineering, Creating an architectural design, Modeling component-level design, Testing Strategies, Product metrics, Metrics for Process and Products, Risk management, Quality Management, Configuration Management. |
The paper is a broad and critical understanding of all the processes for engineering high quality software and the principles, concepts and techniques associated with software development. |
Software Architecture and Design Patterns |
Envisioning Architecture, Creating an Architecture, Analyzing Architectures, Moving from one system to many, Patterns, Creational and Structural patterns, Behavioral patterns, Case Studies. |
The paper focuses on the understanding of the concept of patterns and the Catalog. |
Software Process and Project Management |
Software Process Maturity, Process Reference Models, Software Project Management Renaissance, Life-Cycle Phases and Process artifacts, Workflows and Checkpoints of process, Process Planning, Project Organizations, Project Control and process instrumentation, CCPDS-R Case Study and Future Software Project Management Practices. |
The paper deals with the topic of how to describe and determine the purpose and importance of project management from the perspectives of planning, tracking and completion of project. |
Software Quality Assurance and Testing |
Software Quality Assurance and Standards, Quality Standards, Software Testing Strategy and Environment, Building Software Testing Process, Software Testing Techniques, Software Testing Tools, Testing Process- Seven Step Testing Process, Specialized Testing Responsibilities. |
The paper aims to make the student understand software testing and quality assurance as a fundamental component of software life cycle. |
Component Based Software Engineering |
Component definition, Planning Team Roles for CBD, The Design of Software Component Infrastructures - Software Components and the UML, The Management of Component-Based Software Systems, Component Technologies. |
The paper deals with concepts which help students understand the essentials of component-based software engineering. |