Syllabus MSC Computer Science 201920
Syllabus MSC Computer Science 201920
PEO1: Utilizing strong technical aptitude and domain knowledge to develop smart
software solutions for the upliftment of society.
PEO2: Applying research and entrepreneurial skills augmented with a rich set of
communication, teamwork and leadership skills to excel in their profession.
PEO3: Showing continuous improvement in their professional career through life-long
learning, appreciating human values and ethics.
1. Computational Knowledge:
Apply domain knowledge appropriate for the computing specialization to the abstraction
and conceptualization of computing models from defined problems and requirements.
2. Problem Analysis:
Identify, formulate, research literature, and solve complex computing problems reaching
substantiated conclusions using fundamental principles of computing sciences.
3. Design /Development of Solutions:
Design and evaluate solutions for complex computing problems that meet specified needs
with appropriate consideration for cultural, societal, and environmental considerations.
4. Conduct Investigations of Complex Computing Problems:
Use research-based knowledge and research methods including design of experiments,
analysis and interpretation of data, and synthesis of the information to provide valid
conclusions.
5. Modern Tool Usage:
Create, select, adapt and apply appropriate techniques, resources, and modern computing
tools to complex computing activities, with an understanding of the limitations.
6. Professional Ethics:
Understand and commit to professional ethics and cyber regulations, responsibilities, and
norms of professional computing practice.
7. Life-long Learning:
Recognize the need, and have the ability, to engage in independent learning for continual
development as a computing professional.
8. Project management and finance:
Demonstrate knowledge and understanding of the computing and management principles
and apply these to one’s own work, to manage projects and in multidisciplinary
environments.
9. Communication Efficacy:
Communicate effectively with the computing community, and with society at large, about
complex computing activities by being able to comprehend and write effective reports,
design documentation, make effective presentations, and give and understand clear
instructions.
10. Societal and Environmental Concern:
Understand and assess societal, environmental, health, safety, legal, and cultural issues
within local and global contexts, and the consequential responsibilities relevant to
professional computing practice.
11. Individual and Team Work:
Identify a timely opportunity and using innovation to pursue that opportunity to create
value and wealth for the betterment of the individual and society at large.
PO2: Identify, formulate, research literature, and solve complex computing problem
searching substantiated conclusions using fundamental principles of mathematics,
computing sciences, and relevant domain disciplines.
PO3: Design and evaluate solutions for complex computing problems, and design and
evaluate systems, components, or processes that meet specified needs with
appropriate consideration for public health and safety, cultural, societal, and
environmental considerations.
PO7: Recognize the need, and have the ability, to engage in independent learning for
continual development as a computing professional.
PO9: Communicate effectively with the computing community, and with society at large,
about complex computing activities by being able to comprehend and write
effective reports, design documentation, make effective presentations, and give
and understand clear instructions.
PO10: Understand and assess societal, environmental, health, safety, legal, and cultural
issues within local and global contexts, and the consequential responsibilities
relevant to professional computing practice.
PO12: Identify a timely opportunity and using innovation to pursue that opportunity to
create value and wealth for the betterment of the individual and society at large.
CBCS Revised Syllabus w.e.f AY: 2019-2020
Program: M.Sc.(Computer Science) (Campus) School of Computational Sciences
Sr. Course Course Code Course Title Internal External Total
No category credits credits credits
First Semester
Practical /Lab
Total credits 25
*NCS- Nanded Campus Computer Science
Sr. Course Course Course Title Internal External Total
No category Code credits credits credits
Second Semester
Practical /Lab
Total credits 25
Third Semester
Practical /Lab
Total credits 25
Fourth Semester
Practical /Lab
Total credits 25
Course Objectives:
Student need to be understood by looking inside how computer architecture is build.
Study of various components as building block
Architecture of different configuration for different requirement or problem size
Memory and IO related interfacing
Course Outcome:
Solve problems based on computer arithmetic
Explain processor structure and its function
Understating micro programming
Understand concepts related to memory and IO mapping
Design and analysis of memory and IO system
Text Books:
1. Computer Organization - Carl Hamacher, ZvonkoVranesic and SafwatZaky, 5th Edition
McGraw- Hill, 2002.
Reference Books
1. Computer Organization and Architecture Designing for Performance- William Stallings,
6th Edition, Pearson Education.
2. Computer Organization and Design: The hardware / software interface- David A.
Patterson and John L. Hennessy, 2nd Edition, Morgan Kaufmann Press.
3. Computer Architecture and Organization- John P. Hayes, 3rd Edition, McGraw-Hill
Course NCS-102 Course Name: Introduction to Databases Credits: 4
Code:
Course Objectives:
1. To understand the features of Relational database.
2. To describe data models and schemas in DBMS.
3. To use SQL- the standard language of relational databases for database operations.
4. To understand the functional dependencies and design of the databases.
Course Outcome:
1. To study the basic concepts of relational databases
2. Learn and practice data modelling using the entity-relationship and developing database designs.
3. Understand the use of Structured Query Language (SQL) and learn SQL syntax for writing queries.
4. Apply normalization techniques to normalize the databases.
Unit-1: Introduction
Problems in Traditional file oriented approach, Three level architecture of DBMS, basic database
components like schema, views, instances, General Architecture of DBMS, Roles of DBA, Data
Dictionary, Advantages and Disadvantages of DBMS.
Unit-6: SQL
Introduction to data retrieval languages like QBE, QUEL, SQL Discussions on SQL, Table , View
Definitions ,DDL Statements, DML Statements, DCL Statements , TCL statements , SQL
Functions ,Introduction to PL/SQL , Cursors.
Text Books:
1. Database Management Systems- Raghu Ramakrishnan, Johannes, Gehrke, Tata McGraw
Hill.
2 Database System Concepts- Silber Schatz Korth, Tata McGraw Hill.
Reference Books
1. Fundamental of Database System- Sham Kanth B. Navathe, Pearson Education.
2. Introduction to Database management System- Bipin Desai, Galgotia Publications.
3. Oracle Development Language Oracle PL/SQL Programming, Steven Feuerstein ,
O’Reilly
4. ORACLE documentations on ORACLE PRESS / Internet.
Course NCS-103 Course Name: Mathematical Foundations for Credits: 4
Code: Computer Science
Course Objectives:
Cultivate clear thinking and creative problem solving. Thoroughly train in the construction and
understanding of mathematical proofs. Exercise common mathematical arguments and proof
strategies.
Course Outcome:
At the end of the course student will be able to Understand the notion of mathematical thinking,
mathematical proofs and to apply them in problem solving. Ability to understand use of functions,
graphs and their use in programming applications. Apply discrete structures into computing
problems, formal specification, artificial intelligence, cryptography, Data Analysis.
Unit-1:
Sets, Venn diagrams, Operations on Sets, Laws of set theory, Power set and Products, Partitions of
sets, The Principle of Inclusion and Exclusion.
Unit-2:
Propositions and logical operations, Truth tables , Equivalence, Implications ,Laws of logic, Normal
Forms, Predicates and Quantifiers, Mathematical Induction.
Unit-3:
Relations, Paths and Digraphs, Properties and types of binary relations , Operations on relations,
Closures, Warshall‟s algorithm, Equivalence and partial ordered relations, Poset, Hasse diagram and
Lattice ,Functions: Types of functions - Injective, Surjective and Bijective Composition of functions ,
Identity and Inverse function, Pigeon-hole principle.
Unit-4:
Permutations, Combinations, Elements of Probability, Discrete Probability and Conditional
Probability, Generating Functions and Recurrence Relations, Recursive Functions, Introduction to
Functional Programming.
Unit-5:
Graphs Definitions, Paths and circuits: Eulerian and Hamiltonian, Types of graphs, Sub Graphs
Isomorphism of graphs.
Unit-6:
Algebraic structures with one binary operation: semigroup, monoid and group, Abelian group
Isomorphism, Homomorphism and Automorphism, Cyclic groups, Normal subgroups, Codes and
group codes.
Text Books:
1. Discrete Mathematical Structures- Bernad Kolman, Robert Busby, Pearson Education.
2. Discrete Mathematical Structures- C. L. Liu, Second Edition, McGraw-Hill Book
3. Discrete Mathematics and applications- K. H. Rosen, Tata McGraw Hill publishing
Reference Books
1. Discrete Mathematical Structures- Y N Singh, Wiley-India Press.
2. Discrete Mathematics for Computer Scientists and Mathematicians- J. L. Mott, A.Kandel,
Prentice Hall of India.
3. Discrete Mathematical Structures with Applications to Computer Science- Discrete
Mathematics for Computer Scientists and Mathematicians, Tata Mcgraw-Hill.
Course NCS-104 A Course Name: Programming Language Concepts Credits: 4
Code:
Course Objectives:
1.To help the students understand the fundamental concepts of programming Languages.
2.To prepare students about the need and use of data structures
3.To prepare students to identify and apply data structures for problem solving
Course Outcome:
Understanding the concepts of evolution of programming languages.
Understanding the concepts of object oriented languages, functional and logical programming
languages
Analyzing the methods and tools to define syntax and semantics of a languages
Analyzing the design issues involved in various constructs of programming languages
Apply the concepts and identify the issues involved in other advanced features of programming
languages
Text Books:
1. Programming Languages Concepts and constructs- Ravi Sethi, Pearson Education.
2. Concepts of Programming Languages- Robert .W. Sebesta, Pearson Education.
3. Programming Language Design Concepts- D. A. Watt, Wiley Dream Tech.
Reference Books
1. Programming Languages- A. B. Tucker, R. E. Noonan, 2nd Edition, TMH.
2. Programming Languages- K. C. Louden, 2nd Edition, Thomson Press.
Course NCS-104 B Course Name: Object Oriented Programming Credits: 4
Code:
Course Objectives:
1. To understanding the principles of object oriented programming
2. To introduce the object oriented way of problem solving.
3.To gain familiarity with the syntax, class hierarchy, environment and simple application
construction for an object-oriented programming language
Course Outcome:
1. Acquire a full Object Oriented perspective for analyzing, defining, implementing and
evaluating real world problems.
2.Apply and use the object oriented concepts/ techniques, tools in modeling computer
based/ software system
3. An ability to apply mathematical foundations, algorithmic principles and computer science
theory in the modelling and design of computer-based systems
Unit-1: Introduction
Concept, Benefits and Application of OOP, Structure of C++ Programming, Tokens, expressions and
control structures keywords, identifiers, data types and operators in C++.
Text Books:
1. Object Oriented Programming with C++ - E. Balaguruswamy, Tata McGraw Hills.
2. C++ The Complete Reference– Herbert shield, Tata McGraw Hill Publication.
3. Object Oriented Programming in C++ - Saurav Sahay, Oxford University Press.
Reference Books
1. Serial communication-A C++ developers guide – Nelson, M&T Press.
2. A Treatise on Object Oriented Prog. Using C++ - B. Chandra, Narosa Publishing House.
3. Object Oriented Programming in C++ - R Rajaram New Age International Publishers.
Course NCS-105 Course Name: Lab-1:DBMS Credits: 2
Code:
Course Objectives:
This course aims at giving adequate exposure to students on the Database design and E-R modelling.
The course also facilitates students with hands on training on SQL and programming language
extension to SQL within the RDBMS environment.
Course Outcome:
1: Model Entity Relationship with E-R diagrams
2: Design database schema considering normalization and relationships within database
3: Write SQL queries to user specifications
4: Develop triggers, procedures, user defined functions and design accurate and PLSQL programs in
Oracle and DB2.
5: Use the database from a front end application
6: Prepare technical report on the observations of the experiments
Course Objectives:
Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction,
inheritance, and polymorphism.
Design, implement, test, and debug simple programs in an object oriented programming language.
Describe how the class mechanism supports Inheritance, Polymorphism
Course Outcome:
Develop program to illustrate basic concept of OOP features and C++ concept
Create and implement program using unary and binary operator overloading
Write program to implement concept of inheritance and polymorphism
Create program to implement concept of abstract class and virtual functions
Develop program using console I/O and file I/O
Develop and implement program using exception handling and templates
1. Write a program to enter mark of 6 different subjects and find out the total mark Write a
function using reference variables as arguments to swap the values of pair of integers.
2. Write a inline function to find largest of three numbers.
3. Write a program to find the factorial of a number using recursion.
4. Define a class to represent a bank account which includes the following members as Data
members: a) Name of the depositor b)Account Number c)Withdrawal amount d)Balance
amount in the account Member Functions: a) To assign initial values b)To deposit an amount
c) To withdraw an amount after checking the balance d) To display name and balance.
5. Write the above program for handling n number of account holders using array of objects.
6. Write a C++ program to compute area of right angle triangle, equilateral triangle, isosceles
triangle using function overloading concept.
7. Write a C++ program to swap the values two integer members of different classes using
friend function.
8. Define a class string and overload to compare two strings and + operator for concatenation of
two strings.
9. Write a program for overloading of Unary ++ operator.
10. Define two classes polar and rectangle to represent points in the polar and rectangle systems.
Use conversion routines to convert from one system to the other.
11. Write a C++ program to perform matrix addition using operator overloading concept.
12. Consider an example of declaring the examination result. Design three classes student, exam
and result. The student has data members such as rollno, name. Create the lass exam by
inheriting the student class. The exam class adds data members representing the marks scored
in 5 subjects. Derive the result from exam-class and it has own data members like total, avg.
write the interactive program into model this relationship.
13. Create a base class called shape, Use this class to store two double type values that could be
used to compute the area of figures. Derive two specific classes called triangle and rectangle
from the base shape. Add tp the base class, a member function getdata() to initialize base
class data members and another member function display_area() to compute and display area
of figures. Make display_area() as a virtual function and redefine the function in the derived
class to suit their requirements.
14. Using these three classes, design a program that will acdept dimensions of a triangle or a
rectangle interactively and display area.
15. Write an interactive program to compute square root of a number. The input value must be
tested for validity. If it is negative, the user defined function my_sqrt() should raise an
exception.
Course NCS-107A Course Name: University recognized MOOC Credits: 4
Code: (NPTEL / SWAYAM / others) OR Intra / Inter
Departmental OR
Intra / Inter School
Course Objectives:
Course Outcome:
Course NCS-107 B Course Name: Information Communication Credits: 4
Code: Technology (ICT)
Course Objectives:
The ICT curriculum broadly attempts to equip students with an ability to negotiate a range of devices,
tools, application, information and resources. The course is offered in chunks of three periods in a
week, which include one teacher led session and two hands on sessions. The teacher led session aims
to demonstrate techniques and processes and prevent a context to the learning. Following this,
students engage themselves with activities which are designed to provide adequate hands on
experience.
Course Outcome:
Create digital art and textual materials
Use e-resources for learning of curricular subjects
Interact with ICT devices confidently
Practise safe, legal and ethical means of using ICT
Develop digital literacy skills that will enable them to function as discerning students in an
increasingly digital society
Unit-3: Database
Working with data, tables, and relationships, creating and customising queries, customising forms,
creating reports.
Text Books:
1. Computer Fundamentals, Ms Office and Internet and Web Technology- Dinesh
Maidasani, Firewall Media.
2. Computer Fundamentals- Anita Goel, Person Education.
3. Computer Fundamentals- P. K. Sinha, EduTech Learners.
Reference Books
1. MS Office for Dummies- Wallace Wang, Wiley Publishing, Inc.
2. Ms Office Step by Step- John Lambert, Microsoft Press.
Course NCS-108 Course Name: SK-01 Credits: 1
Code:
Course Objectives:
Course Outcome:
Course NCS-201 Course Name: Operating System Concepts Credits: 4
Code:
Course Objectives:
1. To learn the fundamentals of Operating Systems.
2. To learn the mechanisms of OS to handle processes and threads and their communication
3. To learn the mechanisms involved in memory management in contemporary OS
4. To gain knowledge on distributed operating system concepts that includes architecture, Mutual
exclusion algorithms, deadlock detection algorithms and agreement protocols
5. To know the components and management aspects of concurrency management
6. To learn programmatically to implement simple OS mechanisms
Course Outcome:
Analyse the structure of OS and basic architectural components involved in OS design
Analyse and design the applications to run in parallel either using process or thread models of
different OS
Analyse the various device and resource management techniques for timesharing and
distributed systems
Text Books:
1. Operating Systems Concepts- Silberschatz A., Galvin P., Gagne G, Wiley Publication.
2. Modern Operating Systems, Andrew S. Tanenbaum, III rd Edition, PHI Publication.
Reference Books
1. Operating System-Internal and Design Principles, William Stallings, Pearson Education.
2. Principles of Operating Systems-Naresh Chauhan, First Edition, Oxford University press.
3. Operating Systems in Depth- Thomas W. Doeppner, Wiley Publications..
Course NCS-202 Course Name: Elementary Data Structures and Credits: 4
Code: Algorithms
Course Objectives:
IT will demonstrate familiarity with major algorithms and data structures.
Analyse performance of algorithms.
Choose the appropriate data structure and algorithm design method for a specified
application.
Use various data structures effectively in application programs.
Demonstrate understanding of various sorting algorithms, including bubble sort, insertion
sort, selection sort, merge sort, quick sort and heap sort.
Course Outcome:
Explain the organization and operations of data structures Stack, Queues, Trees, Graphs,
Heaps and Hash tables.
Compare and contrast the functionalities and applications of different data structures
Demonstrate specific search and sort algorithms using data structures given specific user
requirements.
Apply the operations of data structures in designing software procedures based on specific
Text Books:
1. Fundamentals of Computer Algorithms- Ellis Horowitz, Satraj Sahani,
Reference Books
1. Data Structures, Lipschutz , Tata McGraw Hills.
2. How to solve it by Computers- R.G. Dromey , 8th Edition , Pearson Education.
Course NCS-203 Course Name: Programming in Java Credits: 4
Code:
Course Objectives:
The objective of this course is to create Java programs that leverage the object-oriented features of
the Java language, such as encapsulation, inheritance and polymorphism, use data types, arrays and
other data collections, implement error-handling techniques using exception handling, create and
event-driven GUI using Applet.
Course Outcome:
To design, write, compile, test and execute straightforward programs using a high level language.
To implement, compile, test and run Java programs comprising more than one class, to address a
particular software problem
To demonstrate the ability to use simple data structures like arrays in a Java program.
To demonstrate the ability to employ various types of selection constructs in a Java program.
To employ a hierarchy of Java classes to provide a solution to a given set of requirements.
Unit-3: Inheritance
Overriding methods, Final variables, Final methods, Final Classes, Finalizer method, Abstract
methods, Abstract Classes, Visibility Control, Interface, Arrays, Strings, Vectors, Wrapper Classes.
Text Books:
1. Programming with Java A Primer – E.Balaguruswamy, McGraw Hill.
2. Java 7 Programming Black Book -Kogent Learning Solutions Inc,DreamTech press.
Reference Books
1. Java Fundamentals A comprehensive introduction- Herbert Schildt, Dale Skrien,
McGraw Hill Education.
2. The Complete Reference, Java 2 -, Herbert Schild, (Fourth Edition) - TMH.
3. Core Java Volume-I Fundamentals- Horstmannand Cornell, - Pearson Education.
Course NCS-204 A Course Name: System Analysis and Design Credits: 4
Code:
Course Objectives:
System analysis helps in discovering means to design systems where sub-system may have
apparently conflicting objectives. It helps in achieving inter compatibility and unity of purpose of
sub-systems. It offers a means to create understanding of the complex structures
Course Outcome:
After successfully completing this course, students will understand concepts of Analysis and
Designing Information Systems. Students will understand writing system proposals, system
development scheduling, and cost-benefits analysis etc. also dealing with quality assurance.
1: To learn basic things of systems, System development Life cycle, and System Analyst.
2: To determine specific needs of system.
3: Discuss approaches and tasks of system. Planning for developing system
4: Evaluate tools and techniques.
Unit-1: Introduction
System Definition, Characteristics, Elements and Types of system, Need of System Analysis and
design, Role and Qualities of System Analyst, System Development Life Cycle.
Unit-4: Scheduling
System Proposal, Project Scheduling, Information Gathering Tools- Interviews, Questionnaire, JAD,
Prototyping.
Unit-5: Design
System Design, Input/output Design, From Design, Database Design, File organization.
Unit-6: Implementation
System Implementation Plan, Activity Network for Conversion, Combating Resistance to Change,
System Testing, Test Plan AND test data, Types of System Test, Quality Assurance, Documentation.
Text Books:
1. System Analysis and Design- Kendall and Kendall, Pearson Education, Inc.
Reference Books
1. System Analysis and Design- E. M. Awad, Galgotia Publications Pvt. Ltd
2. Modern System Analysis and Design - Jeffrey A. Hoffer, Prentice-Hall, Inc
Course NCS-204 B Course Name: Data Communications Credits: 4
Code:
Course Objectives:
At the end of the course, students will be able to understand basic computer network technology.
Understand and explain various components of computer networks. Identify the different types of
network topologies and protocols. Enumerate the layers of the OSI model and TCP/IP. Explain the
function(s) of each layer. Identify the different types of network devices and their functions within a
network. Understand and build the skills of routing mechanisms.
Course Outcome:
1: Describe the building blocks of Computer Networks
2: Explain the functionalities and protocols of various layers in ISO/OSI Network model.
3: Implement a suitable routing strategies for a given network
4: Use suitable transport/application layer protocol based on application requirements
Unit-1: Introduction
Introduction to Communications Model, Data Communications, Networks, The Internet, An Example
Configuration, The Need for a Protocol Architecture, The TCP/IP Protocol Architecture, The OSI
Model, Standardization Within a Protocol Architecture, Traditional Internet-Based Applications,
Multimedia.
Unit-6: Multiplexing
Frequency Division Multiplexing, Synchronous Time Division Multiplexing, Statistical Time
Division Multiplexing, Asymmetric Digital Subscriber Line,xDS.
Text Books:
1. Data and Computer Communications- William Stallings, 8th Edition Pearson
Reference Books
1. Data Communications and Networking, Behrouz A. Forouzan, 2nd Edition,
McGraw Hill Publication.
Course NCS-205 Course Name: Lab-3: Data Structures Credits: 2
Code:
Course Objectives:
To develop skills to design and analyse simple linear and nonlinear data structures
To strengthen the ability to identify and apply the suitable data structure for the given
real world problem
To gain knowledge in practical applications of data structures
Course Outcome:
To learn elementary data structures such as stacks, queues, linked lists, trees and
graphs
To design and analyze the time and space efficiency of the data structure
Course Objectives:
To enable the students practice the concepts of java programming language and develop solutions for
real world problems.
Course Outcome:
1: Understand the enabling technologies for building internet applications. Understand
2: Write Java programs for techniques and features of the networking and remote method
development to Construct a internet application. Apply
3: Implement packages, access specifiers and interfaces in a program Apply
4: Implement Program for Events and interactivity using Layout Manager. Apply
5: Generate program for network chatting analyse
6: Write technical report on the observations from the experiments
1. Use of Objects
2. Using classes and inheritance
3. JNI concepts
4. Multithread applications
5. Exception handling
6. Implementing packages, access specifiers and interfaces
7. Streams
8. JDBC program using different statements
9. Applet program for Animation text, images and sounds
10. Events and interactivity using Layout Manager.
11. Socket program for network chatting
12. Client server application using RMI techniques
Course NCS-207A Course Name: University recognized MOOC Credits:4
Code: (NPTEL / SWAYAM / others) OR Intra / Inter
Departmental OR
Intra / Inter School
Course Objectives:
Course Outcome:
Course NCS-207 B Course Name: Introduction to Linux Credits: 4
Code:
Course Objectives:
To enable the students practice the concepts of Operating systems and develop solutions for real
world problems.
Course Outcome:
1: Have a good orientation towards concept-based approach and practical-based approach
2: Students will be able to describe the components of a modern operating system
3: Apply operating system concepts practically
4: Apply the concepts of operating systems design to practical problems
Text Books:
1. Fedora 10 and Red Hat Enterprise Linux Bible- Christopher Negus, Wiley
Publishing
2. Linux For Dummies- Dee-Ann LeBlanc, R. K. Blum, Wiley Publishing.
Reference Books
1. Ubuntu for Non-Geeks, 2nd Edition: A Pain-Free, Project-Based, Guide book-
Rickford Grant, Phil Bull, William Pollock Press.