BITS Pilani

  • Last updated on Wednesday, November 29, 2017

    • Face Book
    • tweeter
    • you tube

Master’s Degree in Software Systems

Geared for All-Round Growth

Master’s Degree in Software Systems

The curriculum of the programme incorporates core & elective courses along with Practice School (PS) / Dissertation that equip students to cater to the dynamic needs of the software industry. The core and the elective courses enable students to acquire strong foundation on the recent trends and technologies in the field of computer science like Machine Learning, Data Analytics, Cyber Security among others.The Practice School is a formal method of bringing the reality of professional environment into the educational process. We believe that with a well formed curriculum and persistent mentoring from diligent faculty our students will be innovative thinkers, problem solvers and entrepreneurs. The indicative courses are listed by semester as follows 

  • Semester wise pattern






    o   Software Engineering & Management

    o   Object Oriented Analysis & Design

    o   Software Architectures

    o   Data Mining

    o   Data Warehousing

    o   Elective 2

    o   Elective1

    o   Elective 3



    o   Research Practice

    o   Practice School (PS) / Dissertation

    o   Elective 4

    o   Elective 5

    o   Elective 6


  •      Software Engineering & Management

    5 credit unit course.


    This course introduces software engineering and covers methods, techniques, and tools of the software engineering process; software process models; process definition and assessment; software measurement and metrics; project planning, estimation and control; requirements analysis and specification, design methods; quality assurance and testing; configuration management; process improvement; case studies and project work

  •      Software Architectures

    5 credit unit course.

    This course provides an introduction to systems engineering and details different software architectures; architecture flow diagrams; requirements engineering and software architecture; architectural design processes; design post-processing; real-time architectures; architectural design patterns; software architecture and maintenance management; object oriented architectures; client-server architectures; forward engineering for object oriented and client-server architectures; emerging software architectures.

  •      Data Warehousing

    5 credit unit course.

    This course introduces data warehousing and explores concepts on evolution of data warehousing; decision support systems; goals, benefit, and challenges of data warehousing; architecture; data warehouse information flows; software and hardware requirements; approaches to data warehouse design; creating and maintaining a data warehouse; Online Analytical Processing (OLAP) and multi-dimensional data, multidimensional modeling; view materialization; data marts; data warehouse metadata; data mining

  •      Object Oriented Analysis & Design

    4 credit unit course.

    This course will focus on Object orientation concepts, theories and principles; fundamental concepts of the object model: classes, objects, methods and messages, encapsulation and inheritance, interface and implementation, reuse and extension of classes, inheritance and polymorphism; process of object-oriented requirements specification, analysis and design; notations for object-oriented analysis and design; case studies and applications using some object oriented programming languages.

  •      Data Mining

    3 credit unit course.

    This course intends to introduce the fundamental concepts of Data Mining through applications. It also covers role of data warehousing in data mining; challenges and issues in data mining; Knowledge Discovery in Databases (KDD); role of data mining in KDD; algorithms for data mining; tasks like decision-tree construction, finding association rules, sequencing, classification, and clustering; applications of neural networks and machine learning for tasks of classification and clustering.

  •      Research Practice

    4 credit unit course.

    This course is designed to train the students towards acquiring competence in research methodologies. The course will be conducted in terms of actual participation in Research and Development Work. Each student will be assigned to a faculty member to work on specified projects. The student will be required to present a number of seminars in his research area in a structured manner.

  •      PS / Dissertation

    The student education in PS is in terms of the direct involvement of the student in problem solving efforts of specific interest to a host organization. The assignments are identified by the PS faculty well in advance in consultation with experts from the host organization. Students have to undergo a Practice School of at least 5½ months duration and 20 credit units.

    Dissertation is a 16 credit unit course for a duration of 1 semester in which the student takes up a research topic under the supervision of a faculty. Pursuit of research through this course must end up in a written report at the end of the semester. Dissertation can also be done at collaborating organizations, industries under joint supervision.

  • ELECTIVE COURSES: Students can choose electives from a Pool of Electives listed for the programme as follows

  •      Machine Learning

    3 credit unit course.


    This course covers Neural networks; neuro-computing theory and applications, knowledge representation; computational learning theory; statistical/probabilistic methods, genetic algorithms; inductive/analytic/reinforcement learning and bayesian networks; selected topics such as alpha-beta pruning in game trees, computer models of mathematical reasoning, natural language understanding and philosophical implications.

  •      Cloud Computing

    5 credit unit course.


    This course covers the following topics: Review of Distributed computing - Concurrency, message passing, connectivity and failure models, replication. Computing Infrastructure - Processing Power, Storage aggregation, I/O & Communication, Clusters and Data Centers. Resource modeling and virtualization -  CPU virtualization, memory and storage virtualization, virtualized networks. Services - Service models and service contracts; Programming on the cloud. Cloud Applications - Software on the Cloud and Infrastructure Services. Cloud infrastructure - Private vs. Public Clouds, Resource scaling and Resource provisioning. Quality of Service - Performance models, scalability, Performance measurement and enhancement techniques. Security issues - Data/ Storage Security, Resource Access Control, Process Isolation and Control, Service Policies and Privacy Issues.

  •      Network Security

    Ø4 credit unit course.


    This course examines issues related to network and information security. Topics include security concepts, security attacks and risks, security architectures, security policy management, security mechanisms, cryptography algorithms, security standards, security system interoperation and case studies of the current major security systems

  •      Advanced Data Mining

    4 credit unit course.


    This course covers topics beyond conventional record data mining. Mining complex data structures. Tree/graph mining, sequence mining, web/text data mining, stream data mining, spatiotemporal data mining, mining multi-variate time series data, high-dimensional data clustering, and mining social networking sites. Mining data from multiple relations (Multi-relational Data Mining). Privacy preserving Data Mining. Distributed computing solutions for data intensive data mining

  •      Real-Time Systems

    4 credit unit course.


    This course deals about Real time software, Real time operating systems, scheduling, virtual memory issues and file systems, real time data bases, fault tolerance and exception handling techniques, reliability evaluation, data structures and algorithms for real time/embedded systems, programming languages, compilers and run time environment.

  •      Multimedia Computing

    3 credit unit course.


    This course gives an introduction to multimedia, media & data streams, image, video & audio file format, image & video processing, synthesis of sound signal; image coding & compression, video & audio codecs, low bit rate video telephony; audio-visual integration, lip reading, face animation; augmented reality; multimedia search services, content based image & video indexing; access to multimedia, human-machine interfaces, spoken language interface; algorithm vs. architecture based approaches, multimedia processors, performance quantification; case studies, vision 2010.

  •      Artificial Intelligence

    3 credit unit course.


    The objective of this course is to give an introduction to the problems and techniques of A.I. along with the applications of A.I. techniques to the fields like natural language understanding, image processing, game theory and problem solving. 

    The course also aims at understanding its implementation using LISP and PROLOG languages.

  •      Internetworking Technologies

    3 credit unit course.


    This course intends to deal with advanced topics in internetworking such as  the internet architecture; goals and key issues related to internetworking technologies; design aspects; HTTP and other relevant protocols; agent technology and tools relevant to the internet; techniques of data compression; voice, video, and interactive video-on-demand over the internet; multimedia operating systems and their impact; multimedia networking; mobile computing; internet security; case studies.

  •      Parallel Computing

    3 credit unit course.


    This course provides an introduction to parallel computing and covers the following:  Models of parallel computers; Interconnection networks, basic communication operations; Introduction to parallel algorithms; Parallel programming paradigms; issues in implementing algorithms on parallel computers; Parallel programming with message passing interface; Performance analysis; Scalability analysis; Basic design techniques for parallel algorithms; Parallel algorithms for selected topics like sorting, searching and merging, matrix algebra, graphs, discrete optimization problems and computational geometry.

  •      Data Storage & Networks

    3 credit unit course.

    This course is about Storage Media and Technologies like Magnetic, Optical and Semiconductor media. It briefs about techniques for read/write operations their issues and limitations. It also covers the following: Usage and Access – Positioning in the memory hierarchy, Hardware and Software Design for access, Performance issues. Large Storages – Hard Disks, Networked Attached Storage, Scalability issues, Networking issues. Storage Architecture. - Storage Partitioning, Storage System Design, Caching, Legacy Systems. Storage Area Networks – Hardware and Software Components, Storage Clusters/Grids. Storage QoS – Performance, Reliability, and Security issues.

  •      Information Retrieval

    3 credit unit course.


    This course covers the following topics with respect to information retrieval: Organization, representation, and access to information; categorization, indexing, and content analysis; data structures for unstructured data; design and maintenance of such data structures, indexing and indexes, retrieval and classification schemes; use of codes, formats, and standards; analysis, construction and evaluation of search and navigation techniques; search engines and how they relate to the above. Multimedia data and their representation and search.

  •      Software for Embedded Systems

    5 credit unit course.


    This course covers the following topics: Real-time and embedded system; software issues in embedded system; software development process; requirements analysis: use Cases, identification and analysis of use cases, use case diagrams; design: architectural design, design patterns and detailed design; implementation: languages, compilers, runtime environments and operating systems for embedded software; testing: methodologies, tests cases.

  •      Advanced Computer Architecture

    5 credit unit course.


    This course covers the following topics: Basics of Parallelism, Instruction Level Parallelism, Simultaneous Multi-Threading, Design and Optimization Techniques for Cache and DRAM; Pipelining and Super-Scalar Techniques, Multiprocessor and Multicore architecture, Shared Memory and Cache Coherence Issues; Multi-vector and SIMD computers, Performance evaluation methods, Interconnect Design Techniques.

  •      Advanced Computer Networks

    5 credit unit course.


    This course covers the following topics: advanced networking – Quality of Service in IP networks, IPv6, Wireless and Mobile Networks, Carrier Technologies (Frame Relay, FDDI, ISDN, ATM), Peer-to-Peer Networks and Overlays, Routing and QoS Issues in Optical Networks

  •      Advanced Algorithms and Complexity

    5 credit unit course.


    This course covers Advanced Algorithm Design Strategies such as Randomization, Approximation and Game-Theoretic Techniques. Design of Parallel and Distributed Algorithms. Design of algorithms for application domains such as Internet / Web, and Computational Biology

  •      Pervasive Computing

    4 credit unit course.


    This course covers the following topics: Select application architectures; hardware aspects; human-machine interfacing; device technology: hardware, operating system issues; software aspects, java; device connectivity issues and protocols; security issues; device management issues and mechanisms; role of web; wap devices and architectures; voice enabling techniques; PDAs and their operating systems; web application architectures; architectural issues and choices; smart card-based authentication mechanisms; applications; issues and mechanisms in WAP-enabling; access architectures; wearable computing architectures.

  •      Reconfigurable Computing

    5 credit unit course.


    This course covers the following topics: Overview of Programmable Logics. FPGA fabric architectures. Logic Elements and Switch Networks. Design and Synthesis of Combinational and Sequential Elements. Placement and Routing. Pipelining and other Design Methodologies. Fine-grained and Coarse Grained FPGAs. Static and Dynamic Reconfiguration. Partitioning. Hardware/Software Portioning and Partial Evaluation. Systolic Architectures.

  •      Network Security Project

    3 credit unit course.


    This course covers the following topics: Network Intrusion and Intrusion Detection Techniques and Tools; Denial-of-Service attacks and Techniques/Tools for handling them; Network Firewalls and Firewall policies/mechanisms; Network-wide authentication schemes for users/clients/servers; Network wide storage and storage security models and implementations.

  •      Fault Tolerant System Design

    5 credit unit course.


    This course covers the following topics: Principles of fault tolerant systems, redundancy, parallel and shared resources, spatial systems, configurations, design aspects etc

  •      Advanced Operating Systems

    5 credit unit course.


    This course covers the following topics: Overview of advanced operating systems: motivation for their design, and various types of advanced operating systems; Distributed operating systems: architecture of distributed systems, theoretical foundation of distributed systems, deadlock detection/resolution, agreement protocols, file systems, distributed shared memory, scheduling, fault tolerance and recovery; Multiprocessor operating systems: multiprocessor system architectures, multiprocessor operating system design issues, threads, process synchronization, process scheduling and memory management; Data base operating systems: introduction, concurrency control: theoretical and algorithmic aspects; Case Study: Amoeba and Mach

  •      Network Programming

    3 credit unit course.


    This course covers the following topics: Overview of computer networks; inter-process communication; network programming; socket interface; client-server computing model: design issues, concurrency in server and clients; external data representation; remote procedure calls; network file systems; distributed systems design

  •      Advance Compilation Techniques

    5 credit unit course.


    This course covers the following topics: Generic Code Optimization Techniques - loop optimization, inlining, and other transformations. Impact of architectures on code generation and optimization: RISC architectures, VLIW architectures, special purpose architectures. Architecture-specific code optimizations – register allocation, instruction scheduling.  Code Optimizations under real-time / embedded constraints – cache-less / diskless memory models, bounded time responses. Garbage Collection Techniques. Virtual Machines and Just-in-Time Compilation techniques – Hot Spot-like optimizations. Implementation of exception handling, concurrency, and generic jumps (like call/cc).

  •      Software Testing Methodologies

    4 credit unit course.


    This course details Concepts and principles of software testing and quality assurance; software testing tools; functional, structural, integration and system testing techniques; software testing process and its management; evaluation of test effectiveness; testing specialized systems and applications; automated software testing; case studies

  •      Distributed Data Systems

    5 credit unit course.


    This course covers the following topics: Distributed File Systems - File System Models; Replication and Synchronization - Caching; Failure & Recovery; File System Security. Distributed Databases - Distributed Data Sources and Updates; Database Connectivity; Concurrency Control and Distribution mechanism; Distributed indexing schemes. Database security. Data on the Web - Web as a distributed data repository. Data Collection and Use Crawlers, Search Engines, and Indexing Schemes. Information Retrieval Techniques. 

    Data Exchange - Hierarchical Data Models, XML, and query languages. Semi-structured / Unstructured data -querying and synchronization. 

    Pervasive Data - Data distribution and access for non-computing devices, small computing devices, embedded computing devices and sensory devices


    Research is an important academic activity at BITS. Strong emphasis is laid on interdisciplinary, mission-oriented and relevant research. The participation of students and the faculty members in research ensures a team effort towards problem solving activities. Students are encouraged to pursue research in the emerging areas of computer and software engineering. Our faculty members are presently working in the following research areas:

    • Cloud Computing
    • Big Data Analytics
    • Machine Learning
    • Web Services
    • Internet of Things (IoT)
    • Computer Networks
    • Distributed Systems
    • Database Systems
    • Software Engineering
    • Information Retrieval
    • Cybersecurity
    To know more about the faculty members and their area of research kindly click here

  • LABs

    Cisco networking Lab This lab provides resources for hands-on experience on advance concepts of computer network, network security and operating systems.

    Computer Programming Lab This lab provides resources for practicing various programming languages, compiler constructions and other advance level computer science concepts.

    Software Systems Lab This lab aims to facilitate learning about parallel computing, operating systems and digital design.

    Microprocessor Lab Here students can learn about the concepts of microprocessor, computer architecture and digital design.

    Creative Labs This is a common facility available to various department. It is a multidisciplinary facility. It is equipped with high performance computers and remains open 24*7.

  • FAQ

    Q. What kind of research opportunities are available to students?

    A. We have expert faculties in domain of Cloud Computing, AI, Computer Networks, Analytics, Image Processing and Network Security. You can find out more by visiting the faculty page.

    Q. Is the thesis compulsory for a masters?

    A. No. We provide the flexibility for the students to opt for either thesis or practice school.

    Q. Is the program for working professionals a part time program?

    A. No. It is a full time 2-year classroom program designed for working professionals. Classes are conducted in the evening for 3 days of the week from 7PM to 10PM. In addition, classes are held on Friday from 2PM to 10PM.

    Q. What are my chances of placement?

    A. Our placement division actively works with the students and help them in getting placed. Our alumni are working in respected companies of Computer Science domain.

    Q. What is practice school?

    A. Under practice school, students are encouraged and helped in pursuing internships and projects in the real-life work settings in the industry. It helps in bridging the gap between theory and practice. BPDC particularly emphasizes on this industry-academia interface.

An Institution Deemed to be University estd. vide Sec.3 of the UGC Act,1956 under notification # F.12-23/63.U-2 of Jun 18,1964

© 2023 BITS Pilani | Contact us :

Designed and developed by fractal | ink design studios