MS Software Engineering

The graduate program in Software Engineering helps to learn advance skill in software engineering and prepare the students to take high level jobs in software industry. The program helps academically oriented students who wish to continue education and pursue advance and highly technological aspects of software engineering.

Road Map MS Software Engineering

Semester 1

Course Code Course Title Credits
SEN-558 Advanced Requirement Engineering 3
SEN-522 Advanced Software System Architecture 3
SEN-546 Software Metrics 3
                                                                                                                 Total 9

Semester 2

Course Code Course Title Credits
SEN-547 Software Testing and Quality Assurance 3
ESC-501 Research Methodology 3
Elective I 3
                                                                                                                 Total 9


Semester 3

Course Code Course Title Credits
Elective II 3
Elective III 3
ESC-500 Thesis I/ Course Work 3
                                                                                                                 Total 9


Semester 4

Course Code Course Title Credits
Elective IV 3
ESC-500 Thesis II/ Course Work 3
                                                                                                                 Total 6


                                                                                                     Total Program Credit Hours: 33


S.No Course Code Course Title Credits



Advanced Requirement Engineering




Advanced Software System Architecture




Software Testing and Quality Assurance




Software Metrics




Research Methodology






Advanced Usability Engineering




Advanced Human Computer Interaction




Automated Software Engineering




Formal Methods and Specifications




Advanced Operating Systems




Advanced Data Mining and Warehousing




Advanced Computer Networks




Advanced Network Security




Distributed Databases




Computer Vision




Advanced Digital Image Processing




Pattern Recognition




Advanced Computer Graphics




Advanced Object Oriented Techniques




Advanced Distributed Systems








Real Time Computer Systems




Parallel Processing


SEN-695 Advanced Requirement Engineering (3+0)

Prerequisite: None

The Requirements Elicitation Process, Joint Application Design, Prototyping, Requirements Inspections, Quality Function Deployment, Scenarios. Organizing and Analysing the problem. Software Behaviour Specification: State-oriented, Function-oriented, Object-oriented. Formal Methods. Documentation for Software Requirements Specification. Specifying Non-behavioural Requirements. Refinement of requirements into preliminary design.

SEN-696 Advanced Software System Architecture (3+0)

Prerequisite: None

Software Design Paradigms & Software Architectures (design paradigms, design framework, problem decomposition, software architecture, components, integration, implementation); Software Architectures(batch-sequential architecture, pipes and filters, layered architecture, client-server architecture, event broadcasting, repositories); Design Patterns (creational patterns, structural patterns, behavioural patterns); Frameworks; Aspect-oriented programming; Architecture evaluation.

SEN-630 Software Metrics (3+0)

Prerequisite: None

Introduction to software metrics, Basic Measurement Theory, Measurement quality, Measurement process, Measurement validation, Software measure classification, Goal-based paradigms: Goal-Question-Metrics (GQM), Goal-Question-Indicator-Metrics (GQIM) and Applications of GQM and GQIM, Design Metrics, Measurements and Models, Measurements Scales, Software engineering investigation, Investigation principles, Investigation techniques, Formal experiments, Internal Metrics, Types of metrics, Software Size, Representing concurrency, and analyzing concurrent designs, Software structural measurement, Control-flow structure, Cyclomatic complexity, Data flow and data structure attributes, Architectural measurement, Software cost model, COCOMO and COCOMO II, Constraint model, Software Lifecycle Management (SLIM), Cost models: advantages and drawbacks, Software quality, Software quality models: Boehm’s model, McCall’s model, ISO 9126 model, Especially account of ISO/ IEC 9126 External Metrics suite etc., Basic software quality metrics, Quality management models, Measuring customer satisfaction, Object-Oriented measurement concepts, Basic metrics for OO systems, CK metrics, OO analysis and design metrics, Metrics for productivity measurement, Metrics for OO software quality, SQA, Test concepts, definitions and techniques, Estimating number of test case, Allocating test times , Decisions based on testing, Test coverage measurement, Software testability measurement, Remaining defects measurement.

SEN-541 Software Testing and Quality Assurance (3+0)

Prerequisite: None

Introduction to software quality assurance; Inspections and reviews; Principles of software validation; Software verification; Software testing; Specification based test construction techniques; White-box and grey-box testing; Control flow oriented test construction techniques; Data flow oriented test construction techniques; Cleanroom approach to quality assurance; Software process improvement and certification, Use of automated testing tools, Testing of a wide variety of software, Application of a wide variety of testing techniques, Inspecting of software in teams; comparison and analysis of results

SEN-562 Research Methodology (3+0)

Prerequisite: None

Introduction to research, Qualitative and Quantitative research, The scientific method of research, Choosing a research problem, Choosing a research advisor, Literature Review – Conducting and writing, Formulating the research question, Identifying variables and generating hypothesis, Research Design/Methodology, Information gathering and data collection, Data representation, analysis and interpretation, Writing a research proposal, Ethics of research – Plagiarism and Intellectual property rights, Organizing and managing conferences and workshops, Writing research papers/Reviewing research papers, Planning and delivering scientific presentations, Writing thesis/dissertations

SEN-620 Usability Engineering (3+0)

Prerequisite: None

Introduction to Usability, The Usability Engineering Life Cycle, Task Analysis, Financial Analysis, Usability Heuristics, Nielson 10 Heuristics, Usability Assessment Methods, Usability Testing, International User Interface, Interface Standards, Designing User Interface, Prototyping user interface, Methodologies for prototyping, Heuristic Evaluation, Heuristic Testing, Future Development in Usability Engineering

SEN-625 Software project Management (3+0)

Prerequisite: None

Software Crisis and Software Engineering, Classic Mistakes, Overview of Project Management, PMI Process Groups, Software project Phases, Project charter, Statement of Work (SOW), Planning Phase: Development lifecycle models, matching lifecycles to projects, Project plans, Work Breakdown Structures (WBS), Estimation of effort and cost (Expert Judgment, FP and Use Case point methods), Scheduling: Project network diagram fundamentals, CPM, PERT, Gantt charts, Critical chain scheduling, Using MS-Project, Assigning Resources, Resource leveling, Team models, Managing conflict and motivating, Project Monitoring and Control: Status reporting, Project metrics, EVM, Communications Techniques, Risk management and Change control Project Recovery, Documentation, Cutover/Migration, Post Project Reviews, Closing.

SEN-615 Human Computer Interaction (3+0)

Prerequisite: None

The human, computer & interaction, an introduction, Usability paradigm, Usability principles, Introduction to design basics, HCI in software process, Design rules: Prototyping, Design rules: Evaluation techniques, Task analysis, Universal design and user support, Universal design and computer supported cooperative work, Introduction to specialized topics: Groupware, Pervasive applications, Ubiquitous applications.

SEN-635 Automated Software Engineering (3+0)

Prerequisite: None

Introduction to Automated Software Engineering, What is Automation, Automation in SE, Why, When and Limitations, When to and when not to automate, Automated Software Project Management, Automated Communication Management, Automated Software Quality Management and Quality Audit, Automated Requirement Management, Automated Requirement Management, Requirement Traceability, Automated Quality Assurance and Testing, Software Quality Assurance and Testing, Automated Test Case Generation, Automated Configuration and Change Management, Examples of CASE TOOL, SPM, SQM, SQA, REM and CCM CASE TOOL.

SEN-710 Formal Methods and Specification (3+0)

Prerequisite: None

Introduction to formal methods and specification, State-Based Formal Methods; Transformational systems, traditional approaches, Z specification, formal development cycle, Refinement, Temporal Specification : reactive systems; syntax and semantics of temporal logic, temporal specification of reactive systems (safety, aliveness, fairness), Model Checking : generating finite models; analysis of a simple model checking algorithm, symbolic model checking, overview of reduction methods, “on the fly” model checking, Spin and Promela, Case study and practical verification of properties.

SEN-640 Web Engineering (3+0)

Prerequisite: None

Introduction to Web Engineering, Categories and characteristics of Web Applications, Modeling Web Applications, Web Application Architectures, Developing Architectures, Categorizing Architectures, Specifics of Web Application Architectures, Components of a Generic Web Application Architecture, Layered Architectures , 2-Layer Architectures, N-Layer Architectures, Database-centric Architectures, Architectures for Web Document Management, Architectures for Multimedia Data, Technologies for Web Applications – Markup, Hypertext and Hypermedia, Client/Server Communication on the, SMTP, RTSP, HTTP, Session Tracking, Client-side Technologies, Helpers and Plug-ins, Java Applets. ActiveX Controls, HTML, SVG, SMIL, XML, XSL Middleware Technologies, Testing Web Applications – Quality Characteristics, Test Objectives, Test Levels, Role of the Tester, Test Specifics in Web Engineering, Test Approaches, Test Scheme, Three Test Dimensions, Test Methods and Techniques.

CSC-510 Advanced Operating System (3+0)

Prerequisite: None

The Virtual Memory Management vs Distributed Shared Memory, Dynamic File systems and information security mechanisms along with distributed coordination principles and mechanisms of distributed file systems supported by case studies of NFS, ANDREW, Google file systems etc are covered in detail with exposure to areas of research. Device Drivers development fundamentals under Linux and Windows NT / XP operating systems and device management with specific reference to multimedia and real time operating systems are discussed. Case studies include: LINUX Kernel and services architecture, Windows XP operating system a study of Kernel features, multi processing, memory management and services architecture and Solaris operating system features. Evaluation of operating system performance, Queuing theory, Markov processes, Bench marking, Simulation and testing methods are discussed.

CSC-660 Data Mining and Warehousing (3+0)

Prerequisite: Database None

Introduction to Data Warehouse, Planning and Requirements, Data Warehouse Architecture, Data Warehouse Infrastructure, Dimensional Modeling, Metadata, Extraction, Transformation and Loading, Online Analytical Processing, Data Preparation Techniques: outlier and missing data analysis, Data Reduction Techniques, Introduction to Data Mining, Modeling and Principal Feature Extraction, Clustering, Hierarchical Clustering, Partitional Clustering, Classification , Decision Tree Classification, Bayesian Classification, Nearest Neighbor Classification.

CSC-620 Advanced Computer Networks (3+0)

Prerequisite: None

Review of basic concepts: The OSI Model, packet and circuit switching, network topology, ISDN. The TCP/IP protocol stack, The Physical Layer: Data Communications Basics, The Data Link Layer: Design Issues, Services Provided to the Network Layer, Framing, Error Control and Flow Control. Error detection and Correction, Elementary DLL Protocols, Sliding Window Protocols, Protocol Specification and Verification, The Medium Access Sub Layer: Channel Allocation Problem, Multiple Access Protocols, Ethernet, Wireless LANs, Broadband Wireless, Bluetooth and Data Link Layer Switching. Network Layer: Design Issues, Routing Algorithms, Congestion Control Algorithms, Quality of Service, Internetworking and The Network Layer in the Internet, Transport Layer: The Transport Service, Elements of Transport Protocols, The Internet Transport Protocols – UDP and TCP, Performance Issues, The Application Layer: Domain Name System, Electronic Mail, World Wide Web, Static and Dynamic Web Pages, HTTP, Multimedia, Digital Audio, Audio Compression, Streaming Audio, Voice Over IP, Video and Video Compression, Multicast Backbone, Introduction to Network Security.

CSC-690 Network Security (3+0)

Prerequisite: None

Security Framework – Trends in incidents and attacks, Access Control, Review of TCP/IP Internetworking, Attack methods: types of attacks, system hacking/penetration attacks, Firewalls: design principles, configuration and placement related issues, VPNs, Elements of Cryptography – Basic encryption, Key ciphers, block and stream ciphers, Advanced Encryption Standard. Confidentiality & Message authentication: Hash functions; Number theory and algorithm complexity, Digital certificates and PKIs, Cryptographic systems, Electronic mail security, Web security, Intruders and viruses, Emerging Internet security standards; SET, SSL and IPsec etc.

CSC-610 Distributed Databases (3+0)

Prerequisite: None

Introduction to Distributed Data Processing and distributed database management; Distributed DBMS Architecture; Distributed Database Design: Issues, Fragmentation and Allocation; Integrity Constraints, Distributed Query Processing; Query Decomposition and Data Localization; Query Optimization; Distributed Transaction Management and Concurrency Control; Distributed DBMS Reliability and Replication Techniques; Multidatabase Systems, Mobile distributed database management.

CSC-750 Computer Vision (3+0)

Prerequisite: None

Background, requirements and issues, human vision, Image formation, geometry and photometry, Geometry, brightness, quantization, camera calibration, photometry (brightness and color), Image Segmentation: Region Segmentation, Edge and Line Finding, Texture: Statistical Approaches, Spectral Techniques, Texture Energy Measure, Smoothing, Segmentation: Region Segmentation, Clustering and Segmentation by K-Means, Mean Shift Segmentation, Background Segmentation, Shot Boundary Detection, Mean Shift Segmentation, Mean Shift based tracking, Non-parametric Density Estimation, Kernel density Estimation, Mean Shift Object Tracking, Line Fitting, M-Estimator, RANSAC, Image Matching, Cross Correlation, Hausdorff Distance based matching, Distance Transform, Enhanced Hausdorff Algorithm, Vision Based Tracking, Optical Flow, Non-Rigid Object Tracking, Mean Shift Object Tracking, Object Recognition, Shape Descriptors, SIFT, SURF.

CSC-630 Digital Image Processing (3+0)

Prerequisite: None

Introduction to Digital Image Processing Computer Vision and Pattern Recognition, Fundamentals Element of visual Perception, Image Sensing and Acquisition Image Sampling and Quantization. Pixel operations, linear & non linear operations, Image Enhancement in spatial Domain: Background, Grey level Transformations, Filtering in spatial domain. Image Enhancing in Frequency Domain: Frequency domain, Fourier Transform, Filtering in frequency domain, Color Image Processing, Fundamentals of Image Compression, Lossless and lossy compression, Image Compression standards, Image Segmentation: Detection of Discontinuities, Edge and Boundary detection, Thresholding, Region Based segmentation, Morphological image processing, Representation schemes: Boundary and region descriptors.

CSC-715 Pattern Recognition (3+0)

Prerequisite: None

Introduction to Pattern recognition and Machine learning, Matrices and vectors: Toeplitz and Vendermonde matrices, classification and regression, Bayesian Decision theory, Normal Density and decision functions for normal distribution, Maximum likelihood estimation, Dimensionality reduction – Component analysis, feature selection, Hidden Markov Models and Artificial neural networks, Non-parametric methods, Unsupervised learning and clustering: Clustering techniques.

CSC-656 Advanced Computer Graphics (3+0)

Prerequisite: None

Introduction to computer graphics, graphics hardware, algorithms and software, Applications of graphics. Interactive graphics programming — graph plotting, windows and clipping, and segmentation. Programming raster display systems, Differential Line Algorithm, panning and zooming. Raster algorithms and software — Scan-Converting lines, characters and circles. 2D and 3D transformations – Scaling, Rotation, Translation, Region filling and clipping. Two and three dimensional imaging geometry (Perspective projection and Orthogonal projection) and transformations. Curve and surface design, rendering, shading, colour and animation. Geometric object representation; multi-resolution modeling, Deformation modeling.

CSC-658 Advanced Object Oriented Techniques (3+0)

Prerequisite: None

Principles of Object Technology, Introduction to OOAD and Object Oriented Methodology, Iterative Development and Rational Unified Process (RUP), Fundamentals of Visual Modeling with UML, Business Modeling, Requirement Analysis, Use Case Modeling, Understanding Domain Modeling, Systems Sequence Diagram, Logical Architecture and UML Package Diagram, UML Interaction Diagrams, UML Communication Diagrams, Class Diagrams and CRC Cards, Design Patterns.

CSC-659 Distributed Computing (3+0)

Prerequisite: None

Introduction to Distributed Systems, Characteristics of Distributed Systems, Resource Sharing and challenges, Distributed System Models: Architectural models and Fundamental models, Inter-process Communication: APIs for the Internet protocols, External data representation and marshalling, Client-server communication, Group communication, Distributed Objects and Remote Invocation: Communication between distributed objects, Java RMI case study, Event and Notifications, Jini Case Study, Name Services and Domain Name Systems: Name Services, Name Services and Domain Name Systems, Directory and discovery Services, Case study of the global Name service, Operating System Support: The operating system layer, Protection and address spaces, Processes and Threads, Communication and invocation, Operating system architecture, Distributed File Systems, Coordination and Agreement, Transaction and Concurrency control, Distributed Shared Memory: Design and implementation issues, Mobile Agent Paradigm, Cloud computing.

CSC-770 Bioinformatics (3+0)

Prerequisite: None

Introduction to Bioinformatics: problems in bioinformatics, basics of molecular biology, exact string matching, , inexact matching, sequence analysis and alignment, editing and publishing alignments, dynamic programming, gene finding and sequence annotation: pattern search, weight matrix and HMM based methods, RNA and protein structure, building Phylogenetic Trees, gene expression analysis: algorithms for class prediction and discovery, biomolecular computing.

CSC-680 Real Time Systems (3+0)

Prerequisite: None

Introduction to Real Time Systems. Taxonomy of Real Time Systems. Soft Real Time verses Hard Real Time etc. Design and analysis of real time systems, real time computing, implementation of real time systems and process Scheduling issues in real time applications (PIP, PCP, Rate Monotonic). Distributed computing support for real time applications (RMI, RPC, CORBA COM, DCOM etc.). Reliability, Fault Tolerance, Check pointing and Load balancing in parallel and distributed systems. Real Time Communication and Control i.e. Sensors, Programmable Logic Controllers, Distributed Control systems and SCADA for Industrial automation and Instrumentation systems. Real Time applications under NT verses LINUX verses Solaris.

CSC-612 Parallel Processing (3+0)

Prerequisite: None

Introduction to parallel processing and applications, Parallel Programming Platforms: Trends in microprocessor architectures, Vector algorithms and architectures, MIMD computers and multiprocessors, distributed memory processors, interconnection networks, data dependence and parallelism, implementing synchronization and data sharing, Principles of parallel algorithm design: Decomposition and mapping techniques, Parallel algorithm models, Message Passing Paradigm: Principles, Send and receive operations, the message passing interface MPI, Shared Address Space Platform: Threads, Search, Sort and Graph Algorithms, Beowulf clustering and applications.