12 12 2023 PPR MSC CS
12 12 2023 PPR MSC CS
Block 3 BLOCK - 3
Operator overloading and type conversion: Defining operator overloading, overloading
Unit 7 unary operators, overloading binary operators, overloading binary operators using friends,
manipulation of strings using Operators, rules for overloading operators. type conversions.
Inheritance: extending classes: Deriving derived classes, single multilevel, multiple,
hierarchical, hybrid inheritance, Constructors & destructors in derived classes, constructors
Unit 8
invocation and data members Initialization, virtual base classes, abstract classes,
delegation.
Block 4 BLOCK- 4
Pointers, virtual functions and polymorphism: Pointers to objects, this pointer. pointers
Unit 9 to derived classes, virtual functions, Implementation of run-time polymorphism, pure
virtual functions.
Working with files: Classes for file stream operations. opening and closing a file, file
Unit 10 pointers and their Manipulations, sequential input and output operations, error handling
during file Operations, command line arguments.
Unit 11 Object Oriented Modeling: Need of object-oriented Modeling, Simulation of real-life
problems using OOP concept: Example, Representation of problem using object and class
diagrams at design level.
Suggested Readings:
1. The C++ Programming Language by Bjarne Stroustrup, 2013.
2. Programming: Principles and Practice Using C++ by Bjarne Stroustrup, 2014
3. The C Programming Language (Ansi C Version) by Brian W. Kernighan and Dennis M. Ritchie,
1990.
4. The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, 2015
5. Oriented Object-Oriented Programming with C++ by Balaguruswamy, TMH
Suggested online courses (MOOCs)
1. NOC:An Introduction To Programming Through C++, IIT Bombay by Prof. Abhiram G Ranade
https://nptel.ac.in/courses/106101208
2. Programming in Modern C++, IIT Kharagpur By Prof. Partha Pratim Das
https://onlinecourses.nptel.ac.in/noc23_cs50/preview
This course can be opted as an elective by the students of following subjects: BCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: First Semester: I
Subject: Computer Science
Course Code: MCS-103N Course Title: Data Structures
Course Objectives: The objective of the course is to familiarize students with basic data structures and
their use in fundamental algorithms.
Course Outcomes:
CO1: Understand basic data structures such as arrays, strings, and linked lists.
CO2: Study linear data structures such as stacks and queues and understand their difference.
CO3: Describe the hash function and concepts of collision and its resolution methods.
CO4: Study tree, heap and graphs along with their basic operations.
CO5: Study different techniques for solving problems like sorting and searching
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 BLOCK - 1
Introduction to data structure: Algorithm, Basic criteria for algorithms, Data type, Data
Unit 1 structure, Data representation, linear and nonlinear data structure.
Course Objectives: The course aim to provide understanding the basic structure of a digital computer and
to study the operations of internal components.
Course Outcomes:
CO1 Assess basics components of computer hardware.
CO2 Understand how Boolean algebra is related to designing computer logic, through simple combinational
and sequential logic circuits.
CO3 Realize a simple computer with hardware design including data format, instruction format, instruction
set, addressing modes, bus structure, input/output, memory, Arithmetic/Logic unit, control unit, and data,
instruction and address flow.
CO4 Design combinational and sequential logic circuits, flip-flops, counters, shift registers, adders,
substractor, multiplexer, demultiplexer, Arithmetic/Logic unit.
CO5 Develop concept of memory unit and input/output architecture.
CO6 Build basics of Instruction Set Architecture (ISA).
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Introduction to Digital Electronics
Introduction to number system: binary, octal, hexadecimal, Inter-conversion to different
Unit 1
number system.
Boolean algebra and Logic Gates: De Morgan's theorem, Boolean Identity. OR, AND
Unit 2
NOT NAND, NOR and Ex OR gates and their Truth Tables, Positive and Negative logic.
Reduction Techniques: Standard representation of Boolean expressions, SOP and POS
Unit 3 forms, Combinational and sequential circuits, Minterm and Maxterm expressions, Map
reduction techniques, K- tap. Code Conversions: Binary to Gray, BCD to decimal etc.
Binary Arithmetic: Half and Full Adder, Substractor, Multiplexer, Demultiplxer,
Unit 4
Decoder, Encoders, Comparators.
Unit 5 Sequential Circuit: Flip Flops: S/R, J/K, D and T Latches, Digital Counters, Registers.
Block 2 Basic building blocks
Unit 6 Building blocks: I/O, Memory, ALU and its components, Control Unit and its functions
Instruction — word, Instruction and Execution cycle, branch, skip, jump and shift
Unit 7
instruction, Operation of control. registers; Controlling of arithmetic operation.
Addressing techniques — Direct, Indirect, Immediate, Relative, Indexed addressing and
paging. Registers —Indexed, General purpose, Special purpose, overflow, carry, shift,
Unit 8
scratch, Memory Buffer register; accumulators; stack pointers; floating point; status
information and buffer registers.
Block 3 Memory & I/O
Memory: Main memory, RAM, static and dynamic, ROM, EPROM, EEPROM, EAROM,
Unit 9
Cache and Virtual memory.
I/O System: Buses, Interfacing buses, Bus formats- address, data and control, Interfacing
Unit 10
keyboard, display, auxiliary storage devices and printers.
Introduction to Microprocessors and microcontrollers; Introduction to 8085
microprocessor, example of few instructions to understand addressing techniques,
Unit 11
differences between microprocessors and microcontrollers. Interlocution to different
processor families.
Suggested Readings:
1. William Stallings, "Computer Organization and Architecture", 9th Edition, PHI,2012
2. M. Morris Mano, Michael D. Ciletti, "Digital Design", 4th Edition, Pearson Education, 2011.
3. Hennessy J. and Patterson D., "Computer Architecture: A Quantitative Approach", 5th Edition,
Morgan Kaufmann, 2011.
Suggested online courses (MOOCs)
1. Digital Computer Organization, IIT Kharagpur by Prof. P.K. Biswas
https://nptel.ac.in/courses/117105078
2. NOC:Computer architecture and organization, IIT Kharagpur by Prof. Indranil Sengupta, Prof.
Kamalika Datta
https://nptel.ac.in/courses/106105163
3. NOC:Computer Organization and Architecture, IIT Madrasby Prof. V. Kamakoti
https://nptel.ac.in/courses/106106166
4. Computer Organisation and Architecture, IIT Kanpurby Prof. Bhaskaran Raman
https://nptel.ac.in/courses/106104073
This course can be opted as an elective by the students of following subjects: B.Sc. in computer
science, BCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: First Semester: II
Subject: Computer Science
Course Code: MCS-108N Course Title: Data Communication and
Computer Networks
Course Objectives: This course offers students an understanding of how machines are connected in a
network and how data communication takes place between machines at various locations. It
provides basic concepts of data communication, layered model, protocols and interworking between
computer networks and switching components in telecommunication systems.
Course Outcomes:
CO1 Explain basics of OSI Reference Model and TCP/IP Model.
CO2 Understand basics of computer networks and various network topologies.
CO3 Understand various protocol of data link layer for flow and error control such as Stop and wait
protocols, One bit sliding window protocol, Using Go-Back N.
CO4 Describe different types of network devices Hub, Bridges, Switch, Gateways, and Routers along with
their working.
CO5 Realize how packet is being transferred from source to destination PC.
CO6 Understand the knowledge of network management and communication switching techniques.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1
Computer Networks Basics
Introduction: Layered network architecture, Review of ISO-OSI Model. Data
Communication techniques: Pulse code Modulation, (PCM), Data modems, Multiplexing
techniques –Frequency-Division, Time-Division, Time-Division Transmission Media-
Wires, Cables, Radio, Links, Fiber-Optic Links.
Asynchronous Transfer Mode (ATM); Cell Format, Layovers in ATM, Class 1,2,3,4
Traffic Random Access Data Networks, Concept of Random Access, Pure ALOHA;
Throughput Characteristics Slotted ALOHA, Throughputs for Finite and Infinite,
Population S- ALOHAS. MARKOV Chain Model for S- ALOHAS. Throughputs for Finite
and Infinite, Population S- ALOHAS. MARKOV Chain Model for S-ALOHA.
Block 2 Data Link layer
Local Area Networks (LANs): IEEE 802.4 and 802.5 Protocols. Performance of Ethernet
and Token ring protocols, FDDI Protocol, Distributed Queues Dual Bus (DQDB) Protocol.
Data Link Protocols: Stop and Wait Protocols: Noise Free and Noisy Channels
Performance and Efficiency, Verification of protocols using Finite State Marching. HDLC
Data Link Protocol.
Block 3 Network & Transport Layer
Network Layer Protocols: Design issue: Virtual circuits and Datagram.
Integrated Services Digital Network: Interfaces, Devices, Channel Structure. Dead Locks
and their avoidance Network Layer in ATM, Internetworking: Bridges, Routers and
Gateways, Internet Architecture and Addressing.
Transport Layer Protocols: Design issues: Quality of Services, Primitives Connection
Management: Addressing, Connection Establishment and Releases, Use of Timers, Flow
Control and Buffering, Multiplexing, Crash Recovery.
Block 2 Upper Layer Protocols
Routing Algorithms: Optimality Principle, Shortest Path Routing- Dijkstra, Bellman – Ford
and Floyd- War shall Algorithm.
Elements of TCP/IP Protocol: User Datagram Protocol Connection Management, Finite
State Machine.
Session Layer Protocols: Dialog Management, Synchronization, OSI Session Primitives
Connection Establishment, Presentation and Application Layer Protocols: Presentation
Concepts NMP- Abstract Syntax Notation-1 (ASN-1), Structure of Management,
Management Information Base.
Suggested Readings:
1. HBehrouz A. Forouzan, Data Communications and Networking, McGraw Hill , 2006
2. A.S. Tanenbaum, Computer Networks, PHI , 2002
Suggested online courses (MOOCs)
1. Data Communication, IIT Kharagpur by Prof. Ajit Pal
https://nptel.ac.in/courses/106105082
2. NOC:Computer Networks and Internet Protocol, IIT Kharagpur by Prof. Soumya Kanti Ghosh, Prof.
Sandip Chakraborty
https://nptel.ac.in/courses/106105183
3. NOC:Advanced Computer Networks, IIT Indore, IIT Gandhi nagar by Prof. Neminath Hubballi, Prof.
Sameer Kulkarni
https://nptel.ac.in/courses/106106243
This course can be opted as an elective by the students of following subjects: BCA, MCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: First Semester: II
Subject: Computer Science
Course Code: MCS-109N Course Title: Data Base Management System
Course Objectives: Today databases form the backbone of all major applications – internet, banking,
product & sales etc. Relational Database Management Systems (DBMS) have long formed the basis for
many leading databases such as Oracle, Microsoft SQL Server and MySQL. This course aim to provide
a common set of models and design paradigms which includes:
➢ Data models, conceptualize and depict a database system using ER diagram.
➢ Internal storage structures in a physical DB design.
➢ Database normalization technique that organizes the data within a database in the most efficient
manner possible.
➢ Fundamental concepts of transaction processing techniques.
Course Outcomes:
CO1 Students can explain the role of a database management system, basic database concepts, including
the structure and operation of the relational data model.
CO2 Apply logical database design principles, including E-R/EE-R diagrams, conversion of ER diagrams
to relations.
CO3 Describe the concepts of integrity constraints, relational algebra, relational domain & tuple calculus,
data normalization.
CO4 Construct simple and moderately advanced database queries using Structured Query Language (SQL).
CO5 Understand and apply Database Normalization to remove the duplicate data and database anomalies
from the relational table
CO6 Understand the concept of a database transaction including concurrency control, backup and recovery.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Basic concepts of DBMS
Introduction: Database Management System, Examples, Characteristics of the Database
Approach, Advantage of using a Database Approach. Database System concepts and
Architecture, Data Models, Schemes and Instances, DBMS Architecture and Data
Unit 1
independence, Database Languages, Procedural and Non-procedural languages and
Interfaces. Database System Environment, Classification of Database Management
Systems.
ER Model: Database Modeling using the ER Model., Using High-Level conceptual Data
Models for Database design, an example Database Application, Entity types, Entity Sets,
Unit 2 Attributes and keys, Relationships, Relationship types, roles and Structural Constraints.,
Week Entity types, Refining the ER Design for the Company Database, ER Diagrams,
naming conventions and design Issues, Conversion of ER Diagram to tables.
Relational Data Model: Basic Relational data model Concepts, Relational Databases and
Unit 3 Relational Database Schemas, Relational Model Constraints, update Operations and
Dealing with Constraint Violations
Block 2 Query Language and Database Design Concepts
Relational Algebra: Relational Model Concepts, Relational concepts and Relational
Unit 4 Database Schemes, Update Operation and Dealing with Constraints Violations, Relational
Database Design, Using ER-to-Relational Mapping.
Structured Query language: Data definition, Constraints and Schema changes in SQL 2,
Basic Quires in SQL, More Complex SQL Quires, Insert, Delete and Update Statements in
Unit 5
SQL, views (Virtual Tables) in SQL, Specifying general constraints as Assertion features
of SQL. Integrity constraints, Triggers, Functional dependencies.
Functional Dependency Theory: Functional Dependencies and Normalization for
Unit 6
Relational Database, Informal Design Guidelines for Schemes, Functional Dependencies.
Normalization: Normal Forms based on Primary keys, General Definitions of Second
and Third Normal forms, Boyce Codd Normal form, Relational Database Design
Unit 7 Algorithms and Further Dependencies, Algorithms for Relational Database Schema
Design, Multi-valued Dependencies and Fourth Normal Form, Join Dependencies and
Fifth Normal Form, Inclusion Dependencies, Other Dependencies and Normal Forms.
Block 3 Transaction Management & Emerging Databases
Transaction Processing Concepts: Introduction to Transaction Processing, Transaction
and System Concept, Desirable properties of Transactions, Scheduling and Recoverability,
Serializability of Scheduling, Transaction Support in SQL, Concurrency control
Unit 8 techniques, Concurrency techniques for concurrency control, concurrency control based on
timestamp based protocol, validation based protocol, deadlock handling, Database
Recovery Techniques based on Immediate Update, Failure classification, Shadow Paging,
Log based recovery, failure with loss of Nonvolatile Storage.
Emerging Trends in DBMS: Emerging Trends in DBMS: Introduction to object-oriented
Unit 9 Database Management System, Introduction to client/Server Database, Introduction to
Distributed Database, Introduction to Knowledge Databases.
Suggested Readings:
1. R Elmasri, S Navathe, Fundamentals of Database Systems, 6th edition, Addison-Wesley, 2010.
2. R Ramakrishnan, J Gehrke, Database Management Systems, 3rd Ed., McGraw-Hill, 2002.
3. A Silberschatz, H Korth and S Sudarshan, Database System Concepts, 6th Ed., McGraw-Hill, 2010.
Suggested online courses (MOOCs)
1. NOC: Data Base Management System, IIT Kharagpur by Prof. Partha Pratim Das Prof. Samiran
Chattopadhyay Prof. Kausik Datta
https://nptel.ac.in/courses/106105175
2. NOC:Introduction to Database Systems, IIT Madras by Prof. P.Sreenivasa Kumar
https://nptel.ac.in/courses/106106220
3. NOC:Fundamentals of Database Systems (Course sponsored by Aricent), IIT Kanpur By Dr. Arnab
Bhattacharya
https://nptel.ac.in/courses/106104135
This course can be opted as an elective by the students of following subjects: B.Sc. in Computer
Science, BCA, MCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: First Semester: II
Subject: Computer Science
Course Code: MCS-110P Course Title: Database Management Systems Lab
Course Objectives:
➢ Provide working on existing database systems, designing of database, creating relational database,
analysis of table design.
➢ Practice various DDL commands in SQL
➢ Write simple and complex queries in SQL
➢ Familiarize PL/SQL
Course Outcomes:
CO1 Design and implement a database schema for a given problem
CO2 Populate and query a database using SQL and PL/SQL
Credits: 04 Type of Course: Practical Lab
Course Objectives: This course provide the common paradigms to design efficient algorithms for real world
problem solving. It gives an understanding of how to analyze the asymptotic performance of algorithm;
write rigorous correctness proofs for algorithms; important algorithmic design paradigms and methods of
analysis; efficient algorithms in common engineering design situations.
Course Outcomes:
CO1 Understand that various problem solving methods exist such as; iterative technique, divide and
conquer, dynamic programming, greedy algorithms.
CO2 Analyze the strengths and weaknesses of an algorithm theoretically as well as practically.
CO3 Identify and apply an appropriate technique to design an efficient algorithm for simple problems.
CO4 Demonstrate correctness and efficiency of the algorithm.
CO5 Apply various searching and sorting algorithms.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Introduction and Design Strategies-I
Introduction: Algorithm, Psuedo code for expressing algorithms, Performance Analysis-
Unit 1 Space complexity, Time complexity, Growth of functions: Asymptotic Notation,
Recurrences: substitution method, master method.
Divide and Conquer: General method, applications-Binary search, Finding the maximum
Unit 2
and minimum, Quick sort, Heapsort, Strassen’s Matrix Multiplication.
Sorting in Linear Time: Lower bounds for sorting, Counting sort, Radix sort, Bucket sort,
Unit 3
Medians and Order Statistics, Minimum and maximum.
Block 2 Algorithm Design Strategies-II
Greedy method: General method, applications- Knapsack problem, Job sequencing with
deadlines, optimal two way merge patterns, Huffman codes, Minimum cost spanning trees:
Unit 4
Prims and Kruskal’s algorithm, Single source shortest paths: The Bellman-Ford algorithm,
Dijkstra's algorithm.
Dynamic Programming: General method, applications, capital budgeting problem,
Unit 5 Multistage graphs, Matrix chain multiplication, 0/1 knapsack problem, All pairs shortest
path problem, Travelling sales person problem.
Block 3 Algorithm design strategies & Completeness
Graph Algorithms: Introduction, representation of graphs, Breadth first search, depth first
Unit 6
search, topological sort, strongly connected component, flow networks, ford-fulkerson method.
Backtracking: General method, applications, 8-queen problem, sum of subsets problem,
Unit 7
graph coloring, Hamiltonian cycles.
Unit 8 Branch-And-Bound: The method, travelling salesperson problem, 15 puzzle problem.
NP-Hard and NP-Complete problems: Basic concepts, non-deterministic algorithms, NP
Unit 9
- Hard and NP Complete classes, satisfiability problem, reducibility.
Suggested Readings:
1. Cormen, Leiserson, Rivest,and Stein, ”Introduction to Algorithms”, MIT Press ,Third Edition, 2009.
2. Dasgupta, Papadimitrou and Vazirani, “Algorithms”, McGraw-Hill Education, 2006. Horowitz,
Sahni, and Rajasekaran, “Computer Algorithms” Silicon Press, 2007
Suggested online courses (MOOCs)
1. NOC:Design and Analysis of Algorithms, Chennai Mathematical Institute By Prof. Madhavan
Mukund
https://nptel.ac.in/courses/106106131
2. NOC:Introduction to algorithms and analysis, IIT Kharagpur by Prof. Sourav Mukhopadhyay
https://nptel.ac.in/courses/106105164
3. Design and Analysis of Algorithms, IIT Bombay By Prof. Abhiram Ranade
https://archive.nptel.ac.in/courses/106/101/106101060/#
This course can be opted as an elective by the students of following subjects: MCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: Second Semester: III
Subject: Computer Science
Course Code: MCS-112N Course Title: Java Programming
Course Objectives: This course aims to cover the essential topics of Java programming so that students can
improve their skills to cope with the current demand of IT industries and solve many problems in their field
of study.
Course Outcomes:
CO1 Use the characteristics of an object-oriented programming language JAVA in a program.
CO2 Apply JAVA features to program design and implementation.
CO3 Design and implementation programs of Java Script, Applets, Event Handling, AWT Programming,
and Interface.
CO4 Implementation of Packages, Swing, and Servlet.
CO5 Design and implementation programs of JSP.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Object Oriented Methodology and Java
Object Oriented Programming: Paradigms of Programming languages, Evolution of
Object-Oriented Methodology, Basic Concepts of OO Approach, Comparison of object
Unit 1 oriented and procedure - oriented Approaches, Benefits of OOPS, Applications of OOPS.
Classes and objects, Abstraction and Encapsulation, Inheritance, Method overriding and
Polymorphism.
Java Language Basics: Introduction to Java, Primitive Data Type and Variables, Java
Unit 2
Operators.
Expressions Statements and Arrays: Expressions, Statements, Control Statements,
Unit 3
Selection Statements, Iterative Statements, Jump statements, Arrays.
Block 2 Object oriented concepts and Exceptions Handling
Class and objects: Class Fundamentals, Introducing Methods, this Keyword, Using
Unit 4
objects as Parameters, Method overloading, Garbage collection, the ffinalize () Method.
Inheritance and Polymorphism: Inheritance Basics, Access, Multilevel, inheritance,
Unit 5
Method overriding Abstract classes, Polymorphism, Final Keyword.
Packages and interfaces: Package, Accessibility of Packages, using Package members,
Unit 6 Interfaces, Implementing interfaces, interface and Abstract classes, Extends and
Implements together.
Exceptions Handling: Exception, Handling of Exception, Types of Exceptions, Throwing,
Unit 7
Exceptions, writing Exception subclasses.
Block 3 Multithreading, I/O, and Strings Handling
Multithreaded Programming: Multithreading, The Main thread, JAVA Thread Model,
Unit 8
Thread Priorities, Synchronization in JAVA, Inter thread Communication.
I/O In Java: I/O Basics, Streams and stream, Classes, the predefined streams, Reading
Unit 9 from and writing to console, reading and writing files, the transient and volatile Modifiers,
using instance of Native Methods.
Strings and Characters: Fundamental of Characters and Strings, the String class, String
Unit 10
operations, Data Conversion using value of () Methods, Strings Buffer and Methods.
Exploring Java I/O: Java I/O classes and interfaces, Stream classes, Text streams, Stream
Unit 11
Tokenizer, Serialization, Buffered stream, print stream, Random Access file.
Block 4 Graphics and user interfaces
Applets: The applet class, Applet architecture, An applet Skeleton: Initialization and
Unit 12
Termination, Handling events, HTML Applet TAG.
Graphics and user interfaces: Graphics contests and Graphics objects, user interface
Unit 13 components, Building user interface with AWT, Swing - Based GUI, Layouts and layouts
and layout Manager, Container.
Networking Features: Socket overview, reserved parts and proxy servers, Internet
Unit 14 Addressing: Domain Naming Services (DNS), Java and The Net: URL, TCP/IP Sockets,
Datagrams.
Suggested Readings:
1. Java: The Complete Reference Hebert Schildt, Mc Graw Hill
2. Object-Oriented Programming with C++ and Java Debasis Samanta, Prentice Hall India.
Suggested online courses (MOOCs)
1. NOC:Programming in Java, IIT Kharagpur by Prof. Debasis Samanta:
https://nptel.ac.in/courses/106105191
This course can be opted as an elective by the students of following subjects: MCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A
Programme: Master of Science Year: Second Semester: III
Subject: Computer Science
Course Code: MCS-113N Course Title: Operating System
Course Objectives: The course will introduce Operating Systems (OS), their design and implementation.
We will discuss the goals of an OS and some successful and not-so-successful OS designs. We will also
discuss the following OS services in detail: thread scheduling, security, process management, memory
management, virtual memory, and disk scheduling.
Course Outcomes:
CO1 Analyze & classify different types of operating system
CO2 Understand the working of Operating system
CO3 Interpret concepts of thread scheduling, process management, memory management, virtual memory,
and disk scheduling.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 An Overview and Process Management
Introduction: Basic definitions, Batch processing, Multi-programming. Time sharing,
Unit 1
multiprocessing; Structure and Functions of Operating System
Process and thread: Process, Process states, State Transitions, Process Control Block,
Unit 2 Context Switching, concept of thread, comparison between process and thread, Thread
model, thread usage, implementing thread in kernel and user space.
Process Scheduling: Scheduler, Scheduling criteria, Preemptive and non-preemptive
Unit 3
scheduling, Process Scheduling, Process scheduling algorithms.
Concurrent Process: Process Interaction, Shared Data and Critical Section, Mutual
Unit 4 Exclusion, Synchronization, Classical Problems of Synchronization, Semaphores,
Monitors.
Block 2 Memory Management and Unix Case Study
UNIT 5: Deadlock: Concept of deadlock, necessary condition for deadlock, resource
Unit 5 allocation graph, deadlock prevention, deadlock avoidance, Banker's algorithm, Deadlock
detection, deadlock recovery.
UNIT 6: Memory management: Address Binding, Dynamic Loading and Linking
Concepts, Logical and Physical Addresses Contiguous and non-contiguous memory
Unit 6
allocation, Paging, Segmentation, Virtual Memory, Demand Paging, Page fault,Page
replacement algorithms, thrashing.
UNIT 7: Secondary memory management: Free Space management, Disk Structure,
Unit 7
Disk Scheduling, Formatting, Swap space Management.
Unit 8 UNIT 8: Case Study of UNIX
Suggested Readings:
1. Silberschatz, Galvin, Gagne, Operating System Concepts, 8th Edition, Wiley,2008
2. Andrew S. Tanenbaum, Albert S. Woodhull, Operating Systems, Design and Implementation, 3rd
Edition, Prentice Hall,2006.
3. William Stallings, Operating Systems: Internals and Design Principles, 6th Edition, Prentice Hall,
2013.
4. Charles Patrick Crowley, Operating Systems-A Design-oriented Approach. 1996
Suggested online courses (MOOCs)
1. NOC:Operating System Fundamentals, IIT Kharagpur by Prof. Santanu Chattopadhyay
https://nptel.ac.in/courses/106105214
2. NOC:Introduction to Operating Systems, IIT Madras by Prof. Chester Rebeiro
https://nptel.ac.in/courses/106106144
3. Operating Systems, IIT Delhi by Prof. Sorav Bansal
https://nptel.ac.in/courses/106102132
This course can be opted as an elective by the students of following subjects: B.Sc. (Computer
Science), BCA and MCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A.
Programme: Master of Science Year: Second Semester: III
Subject: Computer Science
Course Code: MCS-115P Course Title: Java Programming and Algorithm Lab
Course Objectives:
➢ Provide the concept of classes, inheritance and abstract classes.
➢ Prepare students to excel in object oriented programming and to succeed as a Java developer.
➢ Provide students with a solid foundation in OOP fundamentals required to solve programming problems.
➢ Inculcate multidisciplinary approach and an ability to relate java programming issues to broader
application context.
Course Outcomes:
CO1 Understand the necessity for Object Oriented Programming paradigm over structured programming.
CO2 Develop java programs, analyze, and interpret object-oriented data and report results.
CO3 Demonstrate an ability to design an object-oriented system, AWT components.
Credits: 04 Type of Course: Practical Lab
Max. Marks: 100 Min. Passing Marks: 36
List of Practical in Java Programming and Algorithm Lab:
1. Write a java program for Method overloading and Constructor overloading.
2. Write a java program to display the employee details using Scanner class.
3. a) Write a java program to represent Abstract class with example.
b) Write a java program to implement Interface using extends keyword.
4. Write a java program to implement method overloading, method overriding, dynamic method
dispatch.
5. Write a java program to implement single, multilevel, hierarchal, multiple, hybrid inheritances.
6. Write java programs that demonstrate the use of abstract, this, super, static, final keywords.
7. a) Write a java program for creating a package and using a package.
b) Write a java program to demonstrate the use of wrapper classes.
8. a) Write a java program using all five keywords of exception handling mechanism.
b) Write a java program for creating customized (user) exception
9. a) Write a java program to create the following AWT components: Button, Checkbox, Choice, and
List.
b) Write java programs to create AWT application using containers and layouts.
10. a) Write a java program to create a file, write the data and display the data.
b) Write a java program that reads a file name from user and displays its information.
Suggested Readings:
https://mrcet.com/pdf/Lab%20Manuals/Lab%20Manual%20Object%20Oriented%20Programming%20throu
gh%20JAVA.pdf
Programme: Master of Science Year: II Semester: III
Subject: Computer Science
Course Code: PGRT-03 Course Title: Basic Research Tools
Course Objectives:
➢ To discuss the application of MS office
➢ To discuss different research tools for research work.
➢ To discuss application of softwares.
➢ To discuss about reference management tools
Course Outcomes:
CO1 Able to learn about basic computer application of research work.
CO2 Learn about Latex tools with MS-XL
CO3 Able to know the role of Chem-Draw, Origin, SPSS, R-software, Octave, Matlab
CO4 Gain knowledge about application of Mendeley-software.
CO5 Also know about RefWorks and Zotero, etc.
Credits: 04 Type of Course: Core