MS Software Engineering

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

Road Map MS Software Engineering

Semester 1

Course Code Course Title Credits
SEN 522 Advanced Software System Architecture 3
SEN 558 Advanced Requirement Engineering 3
ESC 701 Research Methodology 3
                                                                                                                 Total 9

Semester 2

Course Code Course Title Credits
SEN-547 Software Testing and Quality Assurance 3
Elective I 3
Elective II 3
                                                                                                                 Total 9

 

Semester 3

Course Code Course Title Credits
Elective II 3
Elective III 3
ESC 600 Thesis I / (Elective V) 3
                                                                                                                 Total 9

 

Semester 4

Course Code Course Title Credits
ESC 600 Thesis II / (Elective VI) 3
                                                                                                                 Total 3

Total Program Credit Hours: 33

 

 

CORE COURSES

 

S.No Course Code Course Title Credits

1

SEN 522

Advanced Software System Architecture

3

2

SEN 547

Software Testing and Quality Assurance

3

3

SEN 558

Advanced Requirement Engineering

3

4

ESC 701

Research Methodology

3

 

DOMAIN ELECTIVE COURSES

 

5

SEN 523

Automated Software Engineering

3

6

SEN 546

Software Metrics

3

7

SEN 601

Advanced Software Project Management

3

8

SEN 602

Agile Software Development Methods

3

9

SEN 603

Complex Networks

3

10

SEN 720

Advanced Human-Computer Interaction

3

11

SEN 723

Formal Methods and Specifications

3

12

SEN 754

Advanced Web Computing System and
Application

3

13

SEN 755

Service-Oriented Computing

3

14

SEN 756

Advanced Usability Engineering

3

15

SEN 758

Component-based Software Engineering

3

16

SEN 759

Software Re-Engineering

3

17

SEN 760

Complex Adaptive Systems

3

18

SEN 762

Advanced Big Data Analytics

3

19

SEN 763

Advanced Software Engineering

3

20

SEN 764

Ontology Engineering

3

21

SEN 774

IoTs Architecture, Protocols & Applications

3

GENERAL ELECTIVE COURSES

22

CSC 504

Ubiquitous Computing

3

23

CSC 521

Advanced Design and Analysis of Algorithm

3

24

CSC 704

Advanced Cryptography

3

25

CSC 708

Advanced Simulation and Modeling

3

26

CSC 711

Advanced Artificial Intelligence

3

27

CSC 719

Machine Learning

3

28

CSC 720

Advanced Operating Systems

3

29

CSC 741

Advanced Natural Language Processing

3

30

CSC 744

Advanced Computer Graphics

3

31

CSC 746

Advanced-Data Mining

3

32

CSC 750

Advanced Neural Networks

3

33

CSC 751

Pattern Recognition

3

34

CSC 753

Distributed Databases

3

35

CSC 759

Agent-based Modeling

3

36

CSC 760

Advanced-Data Warehousing

3

37

CSC 764

Computer Vision

3

38

CSC 765

BioMedical Image Analysis

3

39

CSC 781

Cloud Computing

3

40

SEN 604

Blockchain Technologies

3

41

DSC 707

Deep Learning

3

42

CEN 707

Advanced Distributed Systems

3

43

CEN 720

Advanced Computer Architecture

3

44

CEN 745

Advanced Digital Image Processing

3

45

GSC 700

Advanced Engineering Mathematics

3

45

EET 702

Advanced Network Security

3

 

SEN-695 Advanced Requirement Engineering (3+0)

Prerequisite: None

The Requirements Elicitation Process, Joint Application Design, Prototyping, Requirements Inspections, Quality Function Deployment, and 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, behavioral 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, an 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, multiprocessing, memory management and services architecture, and Solaris operating system features. Evaluation of operating system performance, Queuing theory, Markov processes, Benchmarking, 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, and 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 the spatial domain. Image Enhancing in Frequency Domain: Frequency domain, Fourier Transform, Filtering in the 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, software, and 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, color 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, Checkpointing, 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 versus 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.