0% found this document useful (0 votes)
39 views39 pages

12 12 2023 PPR MSC CS

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views39 pages

12 12 2023 PPR MSC CS

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

APPENDIX-I

Academic Year 2023-24


Detailed Programme Structure & Syllabus
Year wise Structure of M.Sc. in Computer Science

Year Semester Course Code Paper Title Type of Max. Credits


Course Marks
MCS-101N Discrete Mathematics Theory 100 4
MCS-102N C++ and Object-oriented programming Theory 100 4
1
MCS-103N Data Structures Theory 100 4
MCS-104P Practical Work (Based on 102 & 103) Practical 100 4
First
PGBR-01 Basics in Research Research 100 4
MCS-106N Computer Organization Theory 100 4
MCS-108N Data Communication and Computer Theory 100 4
Networks
2 MCS -109N Database Management System Theory 100 4
MCS -110P Practical Work (Based on 109) Practical 100 4
PGMP-02 Mini Project Mini Project 100 4
MCS-111N Design and Analysis of Algorithm Theory 100 4
MCS-112N Java Programming Theory 100 4
3
MCS-113N Operating System Theory 100 4
MCS-115P Practical Work (Based on 111 & 112) Practical 100 4
Second PGRT-03 Basic Research Tools Research 100 4
Compulsory Core Paper
MCS-117N Soft Computing Theory 100 4
MCS-121D Dissertation with viva voce Research 100 4
Select any one group (GROUP A OR GROUP B)
Group A MCS-116N Computer Graphics Theory 100 4
4 MCS-114N Multimedia Technology Theory 100 4
MCS-119N Information and Network Security Theory 100 4
OR
Group B MCS-104N Software Engineering Theory 100 4
MCS-107N Theory of Computation Theory 100 4
MCS-120N System Software Theory 100 4
Total Credit/Max. Marks 200 80
Syllabus for M.Sc. in Computer Science

Programme: Master of Science Year: First Semester: I


Subject:Computer Science
Course Code: MCS-101N Course Title: Discrete Mathematics
Course Objectives: This course provide students understand discrete objects such as proofs, sets, graphs,
colorings, algebraic structures and algorithms that arise naturally and frequently in many areas of
mathematics and computer science. It develops a sound understanding of these discrete objects to solve
problems arising in computer science.
Course Outcomes:
CO1 Apply mathematical logic to solve problems.
CO2 Use logical notation to define and reason about fundamental mathematical concepts such as sets,
relations, and functions.
CO3 Understand and apply counting techniques to the representation and characterization of relational
concepts.
CO4 Impart foundations of probabilistic theory which is mostly used in varied applications in engineering
and science.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Language of Mathematics and its application
Unit 1 Mathematical Logic: statements, operations, truth values, tautology and quantifiers.
Arguments: Rule of Detachment, Validity of a compound statement by using Truth Table,
Unit 2 Validity using Simplification Methods, Validity using Rules of Inference, Invalidity of an
Argument, Indirect Method of proof and Proof by Counter-Example.
Boolean Algebra: Boolean Algbera, Principle of Duality, Isomorphic Boolean Algebras,
Unit 3 Boolean Algebra as Lattices, Boolean Functions, Disjunctive Normal Form, Conjunctive
Normal Form, Minimization of Boolean Functions (Karnaugh Map)
Switching circuits and logical Circuits: Switching Circuits, Simplification of circuit,
Unit 4
Non-Series Parallel Circuits, Relay Circuits, Logic Circuits
Block 2 Set theory and its application
Set theory: sets, Subsets, Operations on Sets, Complementation, Intersection and Union,
Unit 5
Laws Relating Operations, Distributive Laws and De Morgan’s Laws.
Relation: Relation, binary relations in a Set, Domain and Range of a Relation, Total
number of Distinct Relations, Relations as Sets of Ordered Pairs, Types of Relations,
Unit 6
Composition of Relations, Equivalence relation in a set, Partition of a Set, Equivalence
Class and Quotient set of a set.
Partitions and Distributions: Equivalence Relations, Equivalence Classes, Properties of
Unit 7
Equivalence Classes, Quotient set and Partition.
Function: Functions, Direct and Inverse image, Inverse Functions, Operations on
Unit 8 Functions, Composite of functions, Types of Functions and Connection between
Equivalence relation and mapping.
Block 3 Counting Process
Mathematical Induction: Principle of Mathematical Induction, Second Principle of
Unit 9
Induction and Well ordering property.
Combinatorics: Basic counting principles, Principle of Disjunctive counting, Principle of
Unit 10
Sequential counting and Ordered and Unordered Partitions.
Unit 11 Permutation
Unit 12 Combination
Block 4 Block – 04: Probability theory and application
Binomial theorem: Binomial theorem, General term in a binomial expansion,Middle term
Unit 13
in a binomial expansion and Binomial expansion for rational exponents.
Probability: Definition of Probability, Addition law for counting and Product law for
Unit 14
counting.
Unit 15 General Counting methods: General Counting method is the extension part of counting
process. It discusses Sum and Product Rules and the Pigeonhole Principle.
Unit 16 The Inclusion- Exclusion Principle: inclusion-exclusion principle, Alternative form of
the inclusion-exclusion principle and Onto Functions.
Suggested Readings:
1. C.L.Liu and D.P.Mohapatra, " Elements of Discrete Mathematics: A Computer Oriented Approach",
Mcgraw Hill, Third Edition, 2012.
2. Kenneth H. Rosen, "Discrete Mathematics and Its Applications" Mcgraw Hill, Seventh Edition, 2012
(Indian Adaptation by Kamala Krithivasan, Iit Madras).
Suggested online courses (MOOCs)
1. NOC:Discrete Mathematics, IIT Ropar, Prof. Prabuchandran K.J, Prof. Sudarshan Iyengar;
https://nptel.ac.in/courses/106106183
2. NOC:Discrete Mathematics, IIT Guwahati, Prof. Benny George K, Prof. Sajith Gopalan
https://nptel.ac.in/courses/106103205
This course can be opted as an elective by the students of following subjects: B.Sc. in Computer
Science, B.Sc. in Physics, B.Sc. in Statistics, 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-102N Course Title: C++ and Object-oriented
programming
Course Objectives: This course aims to offer a practical mastery of object-oriented concepts such as
classes, objects, data abstraction, methods, method overloading, inheritance and polymorphism.
Course Outcomes:
CO1 Develops a sound approach to problem solving using a middle level programming language.
CO2 Apply techniques like recursion and iteration are learnt to solve a problem.
CO3 Build programming concepts like pointers, structures.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 BLOCK - 1
Principles of object-oriented programming: Object oricnted programming paradigm,
Unit 1 Comparison with procedural programming, Basic concepts of object-oriented
programming, benefits of O0P, object-oriented Languages, advantage of C++.
Object Orient Programming System: Class, inheritance, abstraction, encapsulation and
Unit 2
information hiding, polymorphism, overloading.
Advanced concept: Dynamism (Dynamic typing., dynamic binding, late binding, dynamic
Unit 3
loading). Structuring programs, reusability, organizing object-oriented project,
Block 2 BIOCK - 2
Overview of C++: Tokens, keywords, identifiers and constants basic data types, user-
Unit 4 defined and derived Data types, type compatibility, reference, variables type Casting,
operator precedence, control structures, structure, function.
Classes and objects: Class specification, class objects, accessing class members, scope
resolution operator, data hiding, empty classes, Pointers within a class, passing objects as
Unit 5
arguments, returning objects from functions, friend Functions and friend classes, constant
parameters and member functions, structures and Classes, static members.
Object initialization and cleanup: Constructors destructor, constructor overloading. order
of construction and destruction, Constructors with default arguments, nameless objects,
dynamic initialization through Constructors, constructors with dynamic operations,
Unit 6
constant objects and constructor, static Data members with constructors and destructors,
nested classes.

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.

Basics of algorithm: Algorithm, Basics of complexity of algorithm


Unit 2
Array: Definition, Representation of array, Single and multi-dimensional array, address
Unit 3
calculation (one dimensional, two dimensional, multidimensional), sparse matrices
Block 2 BIOCK – 2
Stack: Definition, Operations on stacks, Array representation and implementation of stack;
Unit 4 infix, prefix and postfix representation of expression and evaluation multiple stacks,
Application of stacks.
Recursion: Recursive definition and processes, some named problems of recursion,
Unit 5
principle of recursion: designing recursive algorithm, how recursion works, tail recursion.
Queue: Definition, operation on queues, circular queue, dequeue, priority queue,
Unit 6
Application of queue.
Block 3 BLOCK 3
Linked List: Representation and implementation of single linked list, Operations in the
singly linked list, stack and queue as a linked list, circularly linked list, doubly linked list,
Unit 7
circularly doubly linked list, Application of linked list: polynomial representation and
addition, garbage collection
Tree: Basic terminology, binary tree, binary tree representation, complete binary tree,
extended binary tree, array and linked list representations, traversing binary tree, threaded
Unit 8
binary tree, binary search tree, Operations on BST, AVL tree, Operations on AVL tree, B-
tree Insertion and deletion in B tree.
Graph: Basic terminology Graph representation Depth first search, breadth first search,
topological sort, connected components, spanning tree, minimum cost spanning tree,
Unit 9
Kruskal's and prim's algorithm, Shortest path algorithms: Bellman Ford Algorithm,
Dijkstra’s algorithm, Floyd-Warshall algorithm.
Block 4 BLOCK- 4
Searching and sorting: Sequential search, binary search, comparison and analysis,
Unit 10 Selection sort, Bubble sort, Insertion sort, Heap sort, Quick Sort, Merge sort, Shell sort,
radix sort.
Hashing: Hash table, hash function, collision resolution strategies, hash table
Unit 11
implementation.
Unit 12 File Structure: Terminology, File organization, Sequential files, Direct File organization,
Indexed Sequential file organization.
Suggested Readings:
1. E Horowitz and S. Sahni: Fundamentals of Data Structures in C, Second Edition, Universities Press,
Hyderabad.
2. R.L. Kruse: Data Structures & Program Design in C, PHI.
Suggested online courses (MOOCs)
1. Programming and Data Structure, IIT Kharagpur by Dr. P.P.Chakraborty
https://nptel.ac.in/courses/106105085
2. NOC:Programming and Data structures (PDS), IIT Madras by Dr. N S. Narayanaswamy
https://nptel.ac.in/courses/106106130
3. NOC:Programming, Data Structures and Algorithms, IIT Madras by Prof. Hema A Murthy, Dr. N
S. Narayanaswamy, Prof. Shankar Balachandran
https://nptel.ac.in/courses/106106127
4. Data Structures And Algorithms, IIT Delhi by Prof. Naveen Garg
https://nptel.ac.in/courses/106102064
This course can be opted as an elective by the students of following subjects: B.Sc. in computer
science, B.Sc. in Statistics, 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-104P Course Title: Data Structures and C++ Lab
Course Objectives: The aim of this course is to enhance programming skills while improving their practical knowledge of
data structures. It strengthens the practical ability to apply suitable data structures for real-time applications.
Course Outcomes:
CO1 Implement the abstract data type and reusability of a particular data structure.
CO2 Implement linear data structures such as stacks, queues using array and linked list.
CO3 Understand and implements non-linear data structures such as trees, graphs.
CO4 Implement various kinds of searching, sorting and traversal techniques and know when to choose which technique.
Credits: 04 Type of Course: Practical Lab
Max. Marks: 100 Min. Passing Marks: 36
List of Practical in Data Structures Lab with C++:

1. Implementation of Stacks, Queues (using both arrays and linked lists).


2. Implement a program to evaluate a given postfix expression using stacks.
3. Implement the following operations on singly and circular linked list: i) Creation ii) Insertion iii) Deletion iv)
Traversal
4. Implementation of operations on binary tree (delete entire tree, copy entire tree, mirror image, level order, search for
a node etc.)
5. Implementation of the following operations on binary search tree (BST): (a) Minimum key (b) Maximum key (c)
Search for a given key (d) Delete a node with given key
6. Implementation of graph traversals by applying: (a) BFS (b) DFS
7. Implement the following algorithms to find out a minimum spanning tree of a simple connected undirected graph:
(a) Prim‟s algorithm (b) Kruskal‟s algorithm
8. Implement Dijkstra‟s algorithm for solving single source shortest path problem.
9. Implementation of recursive and non-recursive functions to perform the following searching operations for a key
value in a given list of integers: i) Linear search ii) Binary search
10. Implement the following sorting algorithms: a) Bubble sort b) Selection sort c) Insertion sort (d) Merge sort (e)
Quick sort (f) Heap sort
11. Write a C++ program to illustrate the concept of class with method overloading.
12. Write a C++ Program that reads a line of integers, and then displays each integer, and the sum of all the integers
(Use String Tokenizer class of java.util)
13. Write a C++ program to illustrate the concept of Single level and Multi level Inheritance.
14. Write a C++ program to demonstrate the Interfaces & Abstract Classes.
15. Write a C++ program to implement the concept of exception handling.
Suggested Readings:
1. Virtual Lab on Data Structure: https://ds1-iiith.vlabs.ac.in/
Programme: Master of Science Year: First Semester: I
Subject: Computer Science
Course Code: PGBR-01 Course Title: Basics in Research
Course Objectives:
➢ To discuss the Sources of information
➢ To discuss about journal abbreviations
➢ To discuss the monographs, dictionaries, text books etc.
Course Outcomes:
CO1 Able to learn about how to get information of research.
CO2 Learn about journal and article and research manuals
CO3 Able to know the role of primary, secondary and tertiary sources of information.
CO4 Gain knowledge about abstract and citation index.
CO5 Also know about digital web resources
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
(Syllabi should be framed block wise/unit wise; No of blocks and units may change)
Literature Survey
Sources of information, need for reviewing literature, primary-secondary and tertiary sources,
journals, journal abbreviations, abstracts, current titles, reviews, monographs, dictionaries, text
Unit I books, current contents, patents. subject index, substance index, author index, formula index
and other indices with examples. Digital: Web resources, E-journals, journal access, TOC
alerts. Hot articles: Citation index, UGC infonet, E-books, Impact Factors, Search engines-
Google scholar, Wiki-databases, Science Direct, SciFinder, Scopus.
Unit II Ethics and IPR
Regulatory bodies, practices and compliances, Good Laboratory Practices (GLP), Research
Ethics and Misconduct, Patents, Copyrights, Trademarks, Product and process of patenting,
Patent Treaties and Convention, process of filing patent, database of patent, search and
retrieval.
Suggested Text Book Readings:
1. Use different searching engine to get relevant information (Google scholar, chemical
industry, Wiki-databases, chem Spider, Science Direct, SciFinder, Scopus.
2. Access to different online research library and research portal (Web resources, E-
journals, journal access, TOC alerts)
Note:- In this paper, learner itself study the UNITS and prepare a report.
Instructions for submitting the reports
1. 02 copies of Report will be submitted by learner to the study center.
2. The evaluation will be in 100 marks.
3. Internal assessment will be done by the counsellor of the study center under 30 percent marks and upload the marks to
the university portal which is provided by examination department.
4. The coordinator of study center will send a one copy of report along with the print copy of uploaded internal marks (30
marks) to the concerned school for external evaluation. The external evaluation will be in 70 marks within the stipulated
date.
5. The concerned school will send the external marks of evaluated reports to the examination department and also upload it
on university portal.
6. The guideline for preparing report is available at link:
http://14.139.237.190/vc_school_main_page.php?slm=1&contid=206
Programme: Master of Science Year: First Semester: II
Subject: Computer Science
Course Code: MCS-106N Course Title: Computer Organization

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

Max. Marks: 100 Min. Passing Marks: 36

List of Practical in Database Management Systems Lab:


Creation of a database (exercising the commands for creation)
1. Simple to complex condition query creation using SQL Plus.
2. Implementation of DDL commands of SQL with suitable examples: Create table, Alter table and Drop
Table
3. Implementation of DML commands of SQL with suitable examples: Insert, Update and Delete
4. Implementation of different types of function with suitable examples: Number function, Aggregate
Function, Character Function, Conversion Function and Date Function
5. Implementation of different types of operators in SQL: Arithmetic Operators, Logical Operators,
Comparison Operator, Special Operator and Set Operation.
6. Implementation of different types of Joins: Inner Join, Outer Join and Natural Join etc.
7. Study and Implementation of Group By, having clause, Order by clause and Indexing.
8. Implementation of Sub queries and Views.
9. Usage of triggers and stored procedures.
10. Writing PL/SQL procedures for data validation.
Suggested Readings:
1. https://www.cdlsiet.ac.in/wp-content/uploads/2022/03/DBMS-LAB-MANUAL.pdf
2. https://mrcet.com/pdf/Lab%20Manuals/CSE%20II-II%20SEM.pdf
Course prerequisites: To study this course, a student must have qualified graduation with Mathematics.
Programme: M.Sc. Year: I Semester: II
Subject: Computer Science
Course Code: PGMP-02 Course Title: Mini Project
Course Objectives: In the second semester of Masters the main objectives of the exposure of students
towards the project is to elevate their understanding into the applications areas of Mathematics. This
course will develop their analytical ability, will provide them an apt exposure to work in any research
group, and will motivate them to execute research in the area of their interest in Mathematical
sciences.
Course Outcomes:
CO1: Students will be able to plan and strategize a scientific problem, and implement it within a
reasonable time frame.
CO2: It is expected that after completing this project dissertation, students will learn to work
independently and how to keep accurate/readable record of assigned project.
CO3: In addition, students will be able to know the library search and handle the data in a meaningful
way.
CO4: Subsequently, the students should be able to critically examine research articles, and improve
their scientific writing/communication skills and power point presentation.
Credits: 4 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Note: Students shall make mini project on selected topic of their own choice studied so far and
prepare the report.
Instructions
1. 02 copies of Report will be submitted by learner to the study center.
2. The evaluation will be in 100 marks.
3. Internal assessment will be done by the counsellor of the study center under 30 percent marks and upload the
marks to the university portal which is provided by examination department.
4. The coordinator of study center will send a one copy of report along with the print copy of uploaded internal
marks (30 marks) to the concerned school for external evaluation. The external evaluation will be in 70 marks
within the stipulated date.
5. The concerned school will send the external marks of evaluated reports to the examination department and also
upload it on university portal.
6. The guideline for preparing report is available at link:
http://14.139.237.190/vc_school_main_page.php?slm=1&contid=206
Suggested Text Book Readings:
1. Use different searching engine to get relevant information (Google scholar, Wiki-databases,
Science Direct, SciFinder, Scopus, and YouTube.
2. Access to different online research library and research portal (Web resources, E-journals, journal
access, TOC alerts)
Programme: Master of Science Year: Second Semester: III
Subject: Computer Science
Course Code: MCS-111N Course Title: Design And Analysis Of Algorithms

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

Max. Marks: 100 Min. Passing Marks: 36


Application of MS Office/ Latex in research
Unit I Uses and application of MS Office/ Latex Tools with MS-XL, Power point
Presentation.
Unit II Application of Softwares
Uses and application of Softwares such as plagiarism software, Statistical softwares,
R-software, Matlab.
Unit III Reference management tools
Uses and application of Mendeley-software, EndNote, RefWorks and Zotero.
Suggested Text Book Readings:
1. Microsoft office: Microsoft Office Essentials - IT Essentials: a Practical Guide -
Subject Guides at University of York
2. How to Convert an Excel Table to a Latex table: How to Convert an Excel Table
to a Latex table - YouTube
3. SPSS – What Is It: SPSS - Quick Overview & Beginners Introduction (spss-
tutorials.com)
4. Video Processing in MATLAB: Video Processing in MATLAB - Video -
MATLAB & Simulink (mathworks.com)
Note:- In this paper, learner itself study the objectives and prepare a report.
Instructions
1. 02 copies of Report will be submitted by learner to the study center.
2. The evaluation will be in 100 marks.
3. Internal assessment will be done by the counsellor of the study center under 30 percent marks and upload the
marks to the university portal which is provided by examination department.
4. The coordinator of study center will send a one copy of report along with the print copy of uploaded internal
marks (30 marks) to the concerned school for external evaluation. The external evaluation will be in 70 marks
within the stipulated date.
5. The concerned school will send the external marks of evaluated reports to the examination department and
also upload it on university portal.
6. The guideline for preparing report is available at link:
http://14.139.237.190/vc_school_main_page.php?slm=1&contid=206
Programme: Master of Science Year: Second Semester: IV
Subject: Computer Science
Course Code: MSCDS -117N Course Title: Soft Computing
Course Objectives: Expose students to Neural Network, Fuzzy Logic and Genetic Algorithms, which are the major
building blocks of Intelligent Systems.
Course Outcomes:
CO1–Discuss the ideas of fuzzy sets, fuzzy logic and use of heuristics based on human experience.
CO2 –Understand how neural networks learn from available examples and generalize to form appropriate rules for
inference systems.
CO3 –Provide the mathematical background for carrying out the optimization associated with neural network learning.
CO4 –Apply genetic algorithms and other random search procedures for finding global optimum of optimization
problems.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Artificial Intelligence & Soft Computing: Introduction of Artificial Intelligence, Problem domain of AI, AI
techniques, Rule based system, monotonic reasoning, non-monotonic reasoning, Uncertainty reasoning &
Block 1
Inference, Bayesian theory and dependency network, Limitation of AI, Soft computing paradigms, pattern
classification, association and mapping, Pattern recognition techniques.
Fuzzy Set Theory: Introduction to Neuro – Fuzzy and Soft Computing – Fuzzy Sets – Basic Definition and
Terminology – Set-theoretic Operations – Member Function Formulation and Parameterization – Fuzzy Rules
Block 2
and Fuzzy Reasoning – Extension Principle and Fuzzy Relations – Fuzzy If-Then Rules – Fuzzy Reasoning –
Fuzzy Inference Systems.
Neural Network: Structure and Function of a single neuron: Biological neuron, artificial neuron, definition
of ANN, Taxonomy of neural net, Difference between ANN and human brain, characteristics and applications
of ANN, single layer network, Perceptron training algorithm, Linear separability, Widrow & Hebb’s learning
Block 3
rule/Delta rule, ADALINE, MADALINE, AI v/s ANN. Introduction of MLP, different activation functions,
Error back propagation algorithm, derivation of BBPA, momentum, limitation, characteristics and application
of EBPA, Deep Learning: Convolution Neural Network, Recurrent Neural Network.
Genetic Algorithm: Fundamentals, basic concepts, working principle, encoding, fitness function,
reproduction, Genetic modeling: Inheritance operator, cross over, inversion & deletion, mutation operator,
Block 4
Bitwise operator, Generational Cycle, Convergence of GA, Applications &advances in GA, Differences &
similarities between GA & other traditional method.
Suggested Readings:
1. J.S.R.Jang, C.T.Sun and E.Mizutani, “Neuro-Fuzzy and Soft Computing”, PHI, 2004, Pearson Education
2004.
2. S. Rajasekaran and G.A.VijaylakshmiPai.. Neural Networks Fuzzy Logic, and Genetic Algorithms, Prentice
Hall of India.
3. Timothy J.Ross, “Fuzzy Logic with Engineering Applications”, McGraw-Hill, 1997.
4. Davis E.Goldberg, “Genetic Algorithms: Search, Optimization and Machine L earning”, Addison
Wesley,N.Y.,1989.
5. S. Rajasekaran and G.A.V.Pai, “Neural Networks, Fuzzy Logic and Genetic Algorithms”, PHI, 2003.
6. R.Eberhart, P.Simpson and R.Dobbins, “Computational Intelligence - PC Tools”, AP Professional, Boston,
1996.
Suggested online courses (MOOCs)
1. NOC:Introduction to Soft Computing, IIT Kharagpur by Prof. Debasis Samanta
https://nptel.ac.in/courses/106105173
This course can be opted as an elective by the students of following subjects: M.Sc. (Statistics) and M.Sc.
(Mathematics)
Suggested equivalent online courses (MOOCs) for credit transfer: N.A.
Programme: Master of Science Year: Second Semester: IV
Subject: Computer Science
Course Code: MCS-121D Course Title: Dissertation with viva voce
Course Objectives:
➢ To facilitate the learner to independently formulate and solve a social, philosophical, commercial, or
technological problem and present the results in written and oral form.
➢ To render learners to real-life problems.
➢ To provide opportunities for learners to interact with people and present them confidently.
Course Outcomes:
CO1 Investigate and evaluate a research topic relevant to environment and society.
CO2 Learn systematic discovery and critical review of appropriate and relevant information sources.
CO3 Apply qualitative and/or quantitative evaluation processes to original data.
CO4 Communicate research concepts and contexts clearly and effectively both in writing and orally
Credits: 04 Type of Course: Research
Max. Marks: 100 Min. Passing Marks:
Note: Students shall make dissertation on selected topic of their own choice studied so far and prepare the
report.
Instructions
1. 02 copies of Report will be submitted by learner to the study center.
2. The evaluation will be in 100 marks.
3. Internal assessment will be done by the counsellor of the study center under 30 percent marks and upload the marks to
the university portal which is provided by examination department.
4. The coordinator of study center will send a one copy of report along with the print copy of uploaded internal marks (30
marks) to the concerned school for external evaluation and viva voce.
5. The concerned school will send the external marks of evaluated reports to the examination department and also upload it
on university portal.
6. The guideline for preparing report is available at link:
http://14.139.237.190/vc_school_main_page.php?slm=1&contid=206
Programme: Master of Science Year: Second Semester: IV
Subject: Computer Science
Course Code: MCS-116N Course Title: Computer Graphics
Course Objectives: The primary role of computer graphics is to render the digital content (0's and 1's) in a
human-comprehensible form on the computer screen. This course introduces various object representation
techniques along with 2D and 3D transformation, clipping, splines, objects modeling, colour modeling,
lighting, textures and visible surface detection.
Course Outcomes:
CO1 Demonstrate an understanding of contemporary graphics hardware.
CO2 Draw graphics using line & polygon and ability to perform operations on computer graphics.
CO3 Understand and demonstrate geometrical transformations, Segment, Windowing and Clipping,
Interaction.
CO4 Demonstrate Hidden Surfaces & Lines; Light, Colour & Shading; Curves and Fractals
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Raster Graphics and Clipping
Introduction to Computer Graphics: What is Computer Graphics?, Application of
Computer Graphics, Presentation Graphics, Painting and Drawing, Photo
Editing, Scientific Visualization, Image Processing, Digital Art, Education, training,
Unit 1 Entertainment and CAD Simulation, Animation and Games, Graphics Hardware, Input and
Output Devices, Touch Panel, Light Pens, Graphic Tablets, Plotters, Film Recorders,
Display Devices, Refreshing Display Devices: Raster-Scan, Random-Scan, Plasma Panel
and LCD panels
Graphics Primitives: Points and Lines, Line-drawing Algorithms: DDA Algorithm,
Unit 2 Bresenham’s line Algorithm, Circle-generating Algorithm: Properties of Circles, Midpoint
Circle of Algorithm, Polygon Filling Algorithm: Scan-Line
2-D Viewing and Clipping: Point Clipping, Line Clipping: Cohen-Sutherland Line
Unit 3 Clippings, Cyrus-Beck Line Clipping Algorithm, Polygon Clipping: Sutherland Hodgman
Algorithm, Windowing Transformation
Block 2 Transformations
2-D and 3-D Transformations: Basic Transformations: Translation, Rotation, Scaling,
Unit 4 Shear, Composite Transformations: Rotations about a point, Reflection about a
line, Homogeneous Coordinate Systems, 3-D Transformations
Viewing Transformation: Projections: Parallel Projection, Orthographic & Oblique
Unit 5
Projections, Isometric Projections, Perspective Projections
Block 3 Modeling & Rendering
Curves and Surfaces: Polygon Representation Methods: Polygon Surfaces, Polygon
Unit 6 Tables, Plane Equations, Polygon Meshes, Bezier Curves and Surfaces: Bezier Curves,
Properties of Bezier Curves, Bezier Surfaces, Surface of Revolution
Visible – Surface Detection: Depth Buffer Method, Scan-Line Method, Area-Subdivision
Unit 7
Method
Polygon Rendering and Ray Tracing Methods: Illumination Model: Ambient Reflection,
Unit 8 Diffuse Reflection, Specular Reflection, Shading: Gouraud Shading, Phong Shading, Ray
Tracing: Basic Ray-Tracing Algorithm
Suggested Readings:
2. J. D. Foley, A. Van Dam, S. K. Feiner and J. F. Hughes, Computer Graphics - Principles
and Practice, Second Edition in C, Pearson Education, 2003.
3. D. Hearn and M. Pauline Baker, Computer Graphics (C Version), Pearson Education,
2nd Edition, 2004.
4. Edward Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL 5th Edition,
Addison-Wesley, 2008.
5. Prabat K Andleigh and KiranThakrar, "Multimedia Systems and Design", PHI, 2003.

Suggested online courses (MOOCs)


1. Computer Graphics, IIT Madras by Prof. Sukhendu Das
https://nptel.ac.in/courses/106106090
2. Introduction to Computer Graphics, IIT Delhi by Prof. Prem K Kalra
https://nptel.ac.in/courses/106102065
3. NOC:Computer Graphics, IIT Guwahati by Prof. Samit Bhattacharya
https://nptel.ac.in/courses/106103224
This course can be opted as an elective by the students of following subjects: B.Sc. (Computer
Science) and BCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A.

Programme: Master of Science Year: Second Semester: IV


Subject: Computer Science
Course Code: MCS-114N Course Title: Multimedia Technology
Course Objectives: Today, Multimedia and web design technology play an essential role in education,
agriculture, product launch, science and technology, corporate development and enhanced business
opportunities. The increasing variety of hardware and software components in multimedia and website
design has escalated the demand for human resources in these fields. This course is designed to inculcate
required skills for these activities.
Course Outcomes:
CO1 Visualize scopes of multimedia and understand steps in creation of multimedia applications.
CO2 Understand digital audio, Prepare audio required for a multimedia system and Speech synthesis and
recognition concept.
CO3 Analyze representation of video, how video work and different video formats.
CO4 Describe different animation techniques and software used for animation.
CO5 Understand various multimedia development and authoring tools.
CO6 Know the different layers of network along with video conferencing technique.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Introduction to Multimedia and Its Components
Multimedia Technology: Meaning & scope of Multimedia; Elements of Multimedia;
Unit 1 Creating multimedia applications; Multimedia file & I/O functions; Multimedia data
structures; Multimedia file formats; Multimedia Protocols
Multimedia Audio: Digital sound; Audio compression & decompression; Companding:
ADPCM compression; MPEG audio compression; True Speech; Special effects and Digital
Unit 2 Signal Processing: Audio synthesis; FM synthesis: Sound blaster card; Special effect
processors on sound cards; Wave table synthesis; MIDI functions; Speech synthesis &
Recognition
Multimedia Video: Representation of Digital video; Video capture: Frame grabbing; Full
motion video; Live video in a window; Video processor; Video compression &
Unit 3
decompression; Standards for video compression & decompression; Playback acceleration
methods
BLOCK-2 Multimedia Animation, Authoring Tools and Internet
Creating Multimedia Animation: Icon animation; Bit-map animation; Real-time vs
Frame by Frame animation; Object modeling in 3D animation; Motion control in 3D
Unit 4
animation; Transparency; Texture. Shadows, Anti-aliasing; Human modeling &
Animation; Automatic motion control
Multimedia Authoring Tools: Project editor; Topic editor; Hot-spot editor; Developing a
Unit 5
multimedia title; Multimedia text authoring systems; Usage of authoring tools
Multimedia on LANs & Internet: Multimedia on LAN; Fast modems & Digital networks
Unit 6 for multimedia; High speed digital networks; Video conferencing techniques; Multimedia
interactive applications on Internet: Future Directions.
Suggested Readings:
1. “Li, Ze-Nian, Mark S. Drew, and Jiangchuan Liu. Fundamentals of multimedia. Upper Saddle
River (NJ) Pearson Prentice Hall, 2004.
2. Jeffcoate, Judith. Multimedia in practice: technology and applications. Prentice-Hall, Inc., 1995.
3. Vaughan, Tay. Multimedia: Making it work. Tata McGraw-Hill Education, 2006.
4. Melliar-Smith, Peter Michael, and Louise E. Moser. "Multimedia Networking: Technology,
Management and Applications. Hershey, PA Idea Group, 2002.
Suggested online courses (MOOCs)
1. Multimedia processing, IIT Kharagpur by Prof. Somnath Sengupta
https://nptel.ac.in/courses/117105083
2. CIT-003: Web Based Technologies and Multimedia Applications
By Prof. P. V. Suresh | Indira Gandhi National Open University
https://onlinecourses.swayam2.ac.in/nou20_cs05/preview
This course can be opted as an elective by the students of following subjects: B.Sc. (Computer
Science) and BCA
Suggested equivalent online courses (MOOCs) for credit transfer: N.A.
Programme: Master of Science Year: Second Semester: IV
Subject: Computer Science
Course Code: MCS-119N Course Title: Information and Network Security
Course Objectives: This course aims to provide a basic understanding of the existing algorithms used to protect users
online and understand some of the design choices behind these algorithms. The course offers a workable knowledge of the
mathematics used in cryptology. The course emphasizes giving a basic understanding of previous attacks on cryptosystems
to prevent future attacks.
Course Outcomes:
CO1 Identify information security goals, classical encryption techniques and acquire fundamental knowledge on the
concepts of finite fields and number theory.
CO2 Understand, compare and apply different encryption and decryption techniques to solve problems related to
confidentiality and authentication
CO3 Apply the knowledge of cryptographic checksums and evaluate the performance of different message digest
algorithms for verifying the integrity of varying message sizes
CO4 Apply different digital signature algorithms to achieve authentication and create secure applications
CO5 Apply network security basics, analyze different attacks on networks and evaluate the performance of firewalls and
security protocols like SSL, IPSec, and PGP.
CO6 Apply the knowledge of cryptographic utilities and authentication mechanisms to design secure applications.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Information security and Symmetric Ciphers
Introduction: History, what is Information Security; Characteristics of Information; Information
Unit 1 Security Model; Components of an Information Security; Aspects of Information security: Security
attacks, Security Mechanism, and Security Services (X.800), Model for Network Security.
Classical Encryption Techniques: Historical background, symmetric cipher model, Substitution
Unit 2
techniques, Transposition techniques, steganography.
Block ciphers and DES: Block cipher principles, Data encryption standard, strength of DES,
Unit 3
differential and cryptanalysis, block cipher design principles, block cipher mode of operation.
Confidentiality Using Symmetric Ciphers: Placement of encryption function, traffic
Unit 4
confidentiality, key distribution, random number generation.
Block 2 Public key Encryption and Hash Functions
Unit 5 Introduction to Number Theory: Prime numbers, Fermat’s and Euler’s theorem, discrete logarithm
Public Key Cryptography: Public-Key Cryptography Principles, RSA, Key Management: Diffi-
Unit 6
Hellman key exchange.
Message Authentication and Hash Functions: Authentication requirements, Authentication
Unit 7
Functions, Message Authentication codes, Hash Functions, SHA-1, MD5.
Unit 8 Digital Signatures: Digital signatures, Authentication protocols, Digital Signature standard
Block 3 Network Security Applications
Unit 9 Authentication Applications: Kerberos Motivation, X.509 authentication service
Unit 10 Electronic Mail Security: PGP: PGP Notation, PGP Operational Description, S/MIME
Unit 11 IP Security: IP Security Overview, IP Security Architecture, Authentication Header
Web Security: Web Security Threats, Web Traffic Security Approaches, Overview of Secure Socket
Unit 12
Layer and Transport Layer Security, Overview of Secure Electronic Transaction
Block 4 Intruders and Viruses
Intruders: Intruders, Intrusion Techniques, Password Protection, Password Selection Strategies,
Unit 13
Intrusion Detection,
Malicious Programs: Malicious Programs, Nature of Viruses, Types of Viruses, Macro Viruses,
Unit 14
Antivirus Approaches
Unit 15 Firewall: Firewall Characteristics, Types of Firewalls, Firewall Configuration
Suggested Readings:
1. Douglas Stinson, "Cryptography Theory and Practice", 2nd Edition, Chapman & Hall/CRC.
2. B. A. Forouzan, "Cryptography & Network Security", Tata Mc Graw Hill.
3. W. Stallings, "Cryptography and Network Security", Pearson Education.
Suggested online courses (MOOCs)
1. NOC:Cryptography And Network Security, IIT Kharagpur by Prof. Sourav Mukhopadhyay
https://nptel.ac.in/courses/106105162
2. Cryptography and Network Security, IIT Kharagpur by Dr. Debdeep Mukhopadhyay
https://nptel.ac.in/courses/106105031
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: VI
Subject: Computer Science
Course Code: MCS-104N Course Title: Software Engineering
Course Objectives: Provide the current software engineering techniques and examine the software life-
cycle, including software specification, design implementation, testing and maintenance. It presents
software engineering methodologies for the development of Quality, cost-effective, schedule meeting
software.
Course Outcomes:
CO1 Describe software engineering layered technology and process framework.
CO2 Introduces theories, models, and techniques that provide a basis for the software development life
cycle.
CO3 Introduces software testing approaches including verification and validation, static analysis, reviews,
inspections, and audits.
CO4 Understanding of the role of project management including planning, scheduling, risk management,
etc.
CO5 Work as an individual and/or in team to develop and deliver quality software.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Software Engineering Fundamentals: Definition of Software, Software characteristics,
Software Applications. Software Process: Software Process Models - Waterfall model,
Unit 1 prototyping model, spiral model, incremental model, concurrent development model.
Project management Concepts: The Management Spectrum - The People, The Product, The
Process, The Project.
Software Process and Project Metrics : Measures , Metrics and Indicators , Software
measurement Size -Oriented Metrics , Function - Oriented Metrics , Extended Function
point metrics Software Project Planning : Project Planning Objectives , Software Project
Unit 2 Estimation , Decomposition Techniques - Problem Based Estimation Process Based
Estimation ,Empirical Estimation Models- The COCOMO Model Risk Analysis and
Management: Software risks, Risk identification, Risk Projection, Risk Refinement, Risk
Mitigation , Monitoring and Management.
Software Quality Assurance: Basic concepts- Quality, Quality Control, Quality
Assurance, Cost of Quality, Software Quality Assurance (SQA), Formal Technical Review
Software Configuration Management: Baselines, Software Configuration Items, The SCM
Process, Version Control, Change Control, Configuration Audit, Status Reporting.
Unit 3
Analysis Concepts and Principles: Requirements Elicitation for Software, Analysis
Principles. The Information Domain, Modeling, Partitioning, Essential and Implementation
Views, Specification: Specification Principles, Representation, The Software Requirement
Specification (SRS)
Design Concepts and Principles: Design Principles, Design Concepts — Abstraction,
Refinement, Modularity, Software Architecture, Control Hierarchy, Structural Partitioning,
Data Structure. Software Procedure, Structure, Information Hiding, Effective Modular
Unit 4 Design- Cohesion, Coupling Software Testing: Testing Objectives & principles, Unit
Testing, Integration Testing (Top-Down Integration, Bottom. Up Integration, Regression
Testing, Smoke Testing), Validation Testing (Alpha and Beta Testing), System Testing
(Recovery Testing, Security Testing, Stress Testing, Performance Testing).
Reengineering: Software Reengineering, Reverse Engineering, Restructuring, Forward
Engineering CASE Tools: What is CASE, Building Blocks of CASE, A Taxonomy of
Unit 5
CASE Tools, Integrated CASE Environments, The integration Architecture, The CASE
Repository.
Suggested Readings:
1. Mall, Rajib. Fundamentals of software engineering. PHI Learning Pvt. Ltd., 2018.
2. R.S. Pressman, Software Engineering – A Practitioner’s Approach, 6th Edition, TMH, 2013.
3. Ian Sommerville, Software Engineering, 8th Edition, Addison Wesley, 2009.
4. Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishing, 2010.
Suggested online courses (MOOCs)
1. NOC:Software Engineering, IIT Kharagpur by Prof. Rajib Mall
https://nptel.ac.in/courses/106105182
2. Software Engineering, IIT Bombay by Prof. Rushikesh K Joshi, Prof. Umesh Bellur, Prof. N.L. Sarda
https://nptel.ac.in/courses/106101061
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: Second Semester: IV
Subject: Computer Science
Course Code: MCS-107N Course Title: Theory of Computation
Course Objectives: The aim of this course is to introduce students with the mathematical model of
machines. The course familiarize students with the concept of formal language, their relationships and
corresponding automaton. It builds core concepts to design grammars and recognizers for different formal
languages; identify ambiguity in grammar.
Course Outcomes:
CO1 Understand what automata is and what its use are.
CO2 Analyze regular grammar and design finite automata for various regular languages.
CO3 Analyze context free grammar and design pushdown automata for different types of context
free languages.
CO4 Compare and analyze different languages, grammars and machines.
CO5 Design Turing machine for unrestricted grammar (type 0).
CO6 Understand undecidable problems that cannot be solved using computers.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Regular Expression and Finite Automata
Alphabet, Strings and Languages: Set, Relations, Alphabet, Strings, Languages, Finite
Unit 1
Representation of Languages, Chomasky Hierarchy
Finite Automata: Finite State Systems, Basic Definitions Non-Deterministic finite
Unit 2 automata (NDFA), Deterministic finite automata (DFA), Equivalence of DFA and NDFA,
Finite automata with epsilon transitions, Removal of epsilon transitions.
Regular Expressions: Regular Expressions-Definition, Algebraic Laws of RE, Finite
Unit 3 Automata and Regular expressions, Conversion from RE to FA, Conversion from FA to
RE, Arden’s Theorem.
Introduction to Machines: Concept of basic Machine, Properties and limitations of
Unit 4 FSM, Moore and mealy Machines, Equivalence of Moore and Mealy machines.
Minimization of DFA.
Unit 5 Block 2 Context Free Grammar
Properties of Regular Language: The Pumping Lemma for Regular Sets, Applications of
Block 2
the pumping lemma, Closure properties of regular sets.
Context Free Grammar: Context Free Grammar (CFG)-Formal definition, sentential
Unit 6
forms, leftmost and rightmost derivations, the language of CFG.
Normal Forms: Simplifications of CFG’s- Removal of Useless Symbols, Removal of
Unit 7
epsilon and Unit Production, Normal Forms-CNF and GNF.
Context Free Languages (CFL): Closure Properties of CFL, Decision Properties of CFL,
Unit 8
Application of CFG, Pumping Lemma for CFL.
Block 3 Block 3 Pushdown Automata and Turing Machine
Push Down Automata: Formal Definition of Pushdown Automata, Pushdown Automata
Unit 9
accepted by final state and empty state, Equivalence between CFG and PDA.
Turing Machine: Turing Machine (TM) –Formal Definition and behavior, Transition
Unit 10 diagram, Instantaneous Description, Language of a TM, Variants of TM, Universal
Turing Machine, Halting Problem, Church Thesis.
Undecidability: Recursive enumerable, Undecidable Problem About Turing Machines,
Unit 11
Unsolvable Problems.
Suggested Readings:
1. Hopcroft and Ullman, “Introduction to Automata Theory, Languages and Computation”, Pearson
Education, 3rd edition, 2006
2. Linz, Peter, and Susan H. Rodger. An introduction to formal languages and automata. Jones &
Bartlett Learning, 2022.
Suggested online courses (MOOCs)
1. NOC:Introduction to Automata, Languages and Computation, IIT Kharagpur by Prof. Sourav
Mukhopadhyay
https://nptel.ac.in/courses/106105196
2. Formal Languages and Automata Theory, IIT Guwahati by Dr. Diganta Goswami, Dr. K.V. Krishna
https://nptel.ac.in/courses/111103016
3. Theory of Automata, Formal Languages and Computation, IIT Madras by Prof. Kamala Krithivasan
https://nptel.ac.in/courses/106106049
4. NOC:Theory of Computation, IIT Kanpur by Prof. Raghunath Tewari
https://nptel.ac.in/courses/106104148
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: Second Semester: IV
Subject: Computer Science
Course Code: MCS-120N Course Title: System Software
Course Objectives: This course aims to illustrate the working of the various phases of a general-purpose compiler. It
explains the principles involved in compiler design. It will cover all the basic components of a compiler, along with
machine code generation and optimizations.
Course Outcomes:
CO1: Understand design issues of a lexical analyzer and use of Lex tool
CO2: Explain code generation and code optimization schemes
CO3: Understand the working of linkers and loaders and other development utilities.
CO4: Design structure of Assembler and macro processor for a hypothetical simulated computer.
Credits: 04 Type of Course: Core
Max. Marks: 100 Min. Passing Marks: 36
Block 1 Introduction to System Software and software tools
Language Processors: Introduction, Language Processing Activities, Fundamentals of Language
Unit 1
Processing & Language Specification, Language Processor Development Tools.
Unit 2 Data Structures for Language Processing: Search Data structures, Allocation Data Structures.
Software Tools: Software Tools for Program Development, Editors, Debug Monitors,
Unit 3
Programming Environments, and User Interfaces.
Assemblers: Elements of Assembly Language Programming, A Simple Assembly Scheme, Pass
Unit 4
Structure of Assemblers, Design of a Two Pass Assembler, A single pass Assembler for IBM PC.
Macro Processors: Macros and Macro Processors: Macro Definition and Call, Macro Expansion,
Unit 5
Nested Macro Calls, Advanced Macro Facilities, Design of a Macro Preprocessor.
Block 2 Compilers and Interpreters
Lexical Analysis: Introduction to NFA and DFA, Lexical Analysis: Role of a Lexical analyzer,
Unit 6 input buffering, specification and recognition of tokens, Finite Automata, Designing a lexical
analyzer generator, Pattern matching based on NFA’s.
Compiler- Syntax Analysis: Syntax Analysis: Role of Parser, Top-down parsing, recursive descent
and predictive parsers (LL), Bottom-Up parsing, Operator precedence parsing, LR, SLR and LALR
Unit 7 parsers. (First and follow technique for generating a parse table is to be taught), Phases of the
Compiler, Aspects of compilation, Memory allocation. Compilation of expressions and control
structures.
Compiler- Code Generation: Intermediate languages: graphical representations, DAGs, three
Unit 8 address code, types of three address statements, syntax directed translation into three address code,
implementation of three address statements.
Compiler- Optimization Code Optimization: Machine dependent and machine independent code
Unit 9 generation: Sources of optimization-Code Generation-Semantic stacks, evaluation of expressions,
control structures, and procedure calls.
Unit 10 Interpreters: Use and overview of interpreters, pure and impure interpreters
Block 3 Linker, Loaders and device Drivers
Loaders and Linkers: Basic loader functions: Design of an Absolute Loader – A Simple Bootstrap
Loader, Machine dependent loader features Relocation – Program Linking – Algorithm and Data
Unit 11 Structures for Linking Loader. Machine-independent loader features – Automatic Library Search –
Loader Options Loader design options – Linkage Editors – Dynamic Linking – Bootstrap Loaders.
Implementation examples: MSDOS linker.
Device drivers: Design and anatomy of UNIX device driver, Types of device driver, General
Unit 12 design of UNIX character device driver, General design of UNIX block device driver, UNIX device
driver installation.
Suggested Readings:
1. Alfred V. Aho, Jeffrey D Ullman, “Compilers: Principles, Techniques and Tools”, Pearson Education Asia,
2008
2. K.D. Cooper, and L. Torczon,Engineering a Compiler,Elsevier, 2004.
Suggested online courses (MOOCs)
1. Compiler Design, IIT Madras by PROF. RUPESH NASRE
https://nptel.ac.in/courses/106106237
2. Principles of Compiler Design, IISc Bangalore by Prof. Y.N. Srikanth
https://nptel.ac.in/courses/106108113
3. NOC:Compiler Design, IIT Kharagpur by Prof. Santanu Chattopadhyay
https://nptel.ac.in/courses/106105190
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.
APPENDIX-II

Guidelines for Research Project/Dissertation

Guidelines for preparing Research Project/Dissertation is available at link:


http://uprtou.ac.in/upload_pdf/01_02_2023_Guidelines_fo_Project_Lit_Survey_Dissertation.pdf

You might also like