Computer-Science NEP Detailed Syllabus
Computer-Science NEP Detailed Syllabus
Syllabus for
B.Sc. Computer Science
Major,
Minor
and
Interdisciplinary
CORE COURSES (MAJOR / HONOURS IN COMPUTER SCIENCE)
CMSDSC101T/CMSMIN101T/CMSCOR101T:
Computer Fundamentals and programming with C Theory: 45 Lectures
1. Overview of C (5 Lectures)
History, Basic Structure, Algorithms, Structured programming constructs. Character sets, Tokens,
Keywords, Constants, Variables, Data Types, Declaration of storage classes.
Text Books
1. Let Us C, Kanetkar, BPB Publication.
2. Programming in ANSI C, Balaguruswamy, McGraw Hill.
Reference Books
1. Programming with C, Byron S. Gottfried, McGraw Hill.
2. The C Programming Language, Kernighan and Dennis Ritchie, PHI.
3. The Complete reference C, Herbert Schildt, McGraw Hill.
4. Programming Languages, Allen B. Tucker, Tata McGraw Hill.
CMSDSC101P/CMSMIN101P/CMSCOR101P:
Computer Fundamentals and programming with C Practical: 60 Lectures
1. Write a program (WAP) to print the sum and product of digits of an integer.
2. WAP to reverse a non-negative integer.
3. WAP to compute the sum of the first n terms of the following series,
S =1-2+3- 4+5…………….
4. Write a function to find whether a given no. is prime or not. Use the same to generate the
prime numbers less than 100.
5. Write a function that checks whether a given string is Palindrome or not. Use this function
to find whether the string entered by the user is Palindrome or not.
6. WAP to compute the factors of a given number.
7. WAP to swap two numbers using macro.
8. WAP to print a triangle of stars as follows (take number of lines from user):
*
***
*****
*******
*********
10. WAP to perform following actions on an array entered by the user :
a. Print the even-valued elements
b. Print the odd-valued elements
c. Calculate and print the sum and average of the elements of array
d. Print the maximum and minimum element of array
e. Remove the duplicates from the array
f. Print the array in reverse order
(The program should present a menu to the user and ask for one of the options. The menu
should also include options to re-enter the array and to quit the program.)
11. WAP that prints a table indicating the number of occurrences of each alphabet in the text
entered as command line arguments.
12. Write a program that swaps two numbers using pointers.
13. Write a program in which a function passes the address of two variables and then alter its
contents.
14. Write a program which takes the radius of a circle as input from the user, passes it to another
function that computes the area and the circumference of the circle and displays the value of area
and circumference from the main() function.
15. Write a program to find the sum of n elements entered by the user. To write this program,
allocate memory dynamically using malloc() / calloc() functions or new operators.
16. Write a menu driven program to perform following operations on strings:
a. Show address of each character in string
b. Concatenate two strings without using strcat function.
c. Concatenate two strings using strcat function.
d. Compare two strings
e. Calculate length of the string (use pointers)
f. Convert all lowercase characters to uppercase
g. Convert all uppercase characters to lowercase
h. Calculate number of vowels
i. Reverse the string
17. Given two ordered arrays of integers, write a program to merge the two-arrays to get an ordered
array.
18. WAP to display Fibonacci series (i) using recursion, (ii) using iteration.
19. WAP to calculate Factorial of a number (i) using recursion, (ii) using iteration.
20. WAP to calculate GCD of two numbers (i) with recursion (ii) without recursion.
21. Write a menu-driven program to perform following Matrix operations (2-D array
implementation): a) Sum b) Difference c) Product d) Transpose
22. Copy the contents of one text file to another file, after removing all whitespaces.
23. Write a function that reverses the elements of an array in place. The function must accept only
one pointer value and return void.
24. Write a program that will read 10 integers from the user and store them in an array. Implement an
array using pointers. The program will print the array elements in ascending and descending
order.
25. Add two distances in a meter kilometer system using structure.
26. Add two complex numbers using structures.
27. Calculate the difference between two time periods using structures.
CMSDSC202T/CMSMIN202T/CMSCOR202T:
Data Structures using C++ Theory: 45 Lectures
1. Introduction (5 Lectures)
Data Object, Abstract Data Type, Data Structures and Data Types. Types of Data Structures – Linear and
non-linear Data Structures. Single and Multi-dimensional Arrays, Address Calculations, Sparse Matrices
(Array Representation).
4. Recursion (5 lectures)
Developing Recursive Definition of Simple Problems and their implementation; Advantages and
Limitations of Recursion; Understanding what goes behind Recursion (Internal Stack Implementation)
Text Books
1. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using C and
C++:, Second edition, PHI, 2009.
2. Sartaj Sahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
Reference Books
1. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson,1999.
2. D. S. Malik, Data Structure using C++, Second edition, Cengage Learning, 2010.
3. Mark Allen Weiss, "Data Structures and Algorithms Analysis in Java", Pearson Education, 3rd
edition, 2011
4. Aaron M. Tenenbaum, Moshe J. Augenstein, Yedidyah Langsam, "Data Structures Using Java”,
2003.
5. Samanta, D. "Classic data structures.", PHI, Terminology 2 (2001): 1.
6. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning, 2012.
CMSDSC202P/CMSMIN202P/CMSCOR202P:
Data Structures using C++ Practical: 60 Lectures
1. Write a program to search an element from a list. Give users the option to perform Linear or
Binary search.
2. WAP to sort a list of elements. Give users the option to perform sorting using Insertion sort,
Bubble sort or Selection sort.
3. Implement Linked List. Include functions for insertion, deletion and search of a number,
reverse the list and concatenate two linked lists (include a function and also overload
operator +).
4. Implement Doubly Linked List. Include functions for insertion, deletion and search of a
number, reverse the list.
5. Implement Circular Linked List. Include functions for insertion, deletion and search of a
number, reverse the list.
6. Perform Stack operations using Linked List implementation.
7. Perform Stack operations using Array implementation.
8. Perform Queues operations using Circular Array implementation.
9. Create and perform different operations on Double-ended Queues using Linked List
implementation.
10. WAP to scan a polynomial using a linked list and add two polynomials.
11. WAP to calculate factorial and to compute the factors of a given no. (i) using recursion,
(ii) using iteration
12. WAP to display Fibonacci series (i) using recursion, (ii) using iteration
13. WAP to calculate GCD of two numbers (i) with recursion (ii) without recursion
14. WAP to create a Binary Search Tree and include following operations in tree:
i. Insertion (Recursive and Iterative Implementation)
ii. Deletion by copying
iii. Deletion by Merging
iv. Search a no. in BST
v. Display its preorder, postorder and inorder traversals Recursively
vi. Display its preorder, postorder and inorder traversals Iteratively
vii. Display its level-by-level traversals
viii. Count the non-leaf nodes and leaf nodes
ix. Display height of tree
x. Create a mirror image of tree
xi. Check whether two BSTs are equal or not
15. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
16. WAP to reverse the order of the elements in the stack using additional stack.
17. WAP to reverse the order of the elements in the stack using additional Queue.
18. WAP to implement Diagonal Matrix using a one-dimensional array.
19. WAP to implement Lower Triangular Matrix using a one-dimensional array.
20. WAP to implement the Upper Triangular Matrix using a one-dimensional array.
21. WAP to implement Symmetric Matrix using a one-dimensional array.
Text Books
1. Introduction to Computer Science by P. K. Sinha, PHI
2. Electronics Fundamentals and Applications by D. Chattopadhay and P. C. Rakshit, 6th Edition,
New Age International (P)
Reference Books
1. Digital Systems Principles and Applications by Ronal J. Tocci and Neal S. Widmer, 8th
Edition, PHI
2. Digital Fundamentals by Floyd, Pearson Education
3. Electronics Devices and Circuit Theory by Boylestad, Nashelsky, PHI
4. Digital Circuits and Design by S. Salivahanan, 5th Edition, Oxford University Press
5. Digital Logic and Computer Design by Morris Mano, PHI
6. Digital Principle and Applications by Malvino & Leach, TMH
7. Computer System Architecture by M. Morris Mano
1. Implement Half Adder/Half Subtractor/Full Adder/Full Subtractor using Logic Gates. Realize a
logic function using basic/universal gates in SOP and POS form. Study the functionalities of
7483 and design a BCD adder using 7483 or equivalent.
2. Design of two level AND – OR, NAND –NAND, NOR-NOR circuits to realize any truth table.
Realize XOR in two level and multilevel.
3. Design a 4 bit 2’s complement adder – subtractor unit using 7483 or equivalent and XOR gates.
4. Design a circuit to convert BCD numbers to corresponding gray codes.
5. Design a 4:1 MUX using NAND gates. Study of 74153 and 74151. Design Full Adder/Subtractor
using MUX.
6. Design a 2:4 decoder using NAND gates. Study of 74155 and 74138. Design Full
Adder/Subtractor using decoders.
7. Design a parity generator/checker using basic gates.
8. Design magnitude comparator using basic/universal gates. Study of 7485.
9. Design a seven segment display unit.
10. Realize S-R, D, J-K and T flip-flops using basic gates. (Study the undefined state in S-R
flip-flop).
11. Design a shift register (shift left and shift right) using flip-flops. (Study the functional
characteristics of IC74194 with emphasis on timing diagram).
12. Design Asynchronous and Synchronous counters. Study of IC 74193.
Manipulating Strings, String Immutability & Equality, Passing Strings To & From Methods, String
Buffer Classes. Simple I/O using System. out and the Scanner class, Byte and Character streams,
Reading/Writing from console and files.
Text Books
1. Ken Arnold, James Gosling, David Homes, "The Java Programming Language", 4th Edition,
2005.
2. James Gosling, Bill Joy, Guy L Steele Jr, GiladBracha, Alex Buckley"The Java Language
Specification, Java SE 8 Edition (Java Series)", Published by Addison Wesley, 2014.
Reference Books
1. Joshua Bloch, "Effective Java" 2nd Edition, Publisher: Addison-Wesley, 2008.
2. Cay S. Horstmann, GaryCornell, "Core Java 2 Volume 19th Edition, Printice Hall.2012
3. Cay S. Horstmann, Gary Cornell, "Core Java 2 Volume 2 - Advanced Features", 9th Edition,
Printice Hall.2013
4. Bruce Eckel, "Thinking in Java", 3rd Edition, PHI, 2002.
5. E. Balaguruswamy, "Programming with Java", 4th Edition, McGraw Hill.2009.
6. Paul Deitel, Harvey Deitel, "Java: How to Program", 10th Edition, Prentice Hall, 2011.
7. "Head First Java '', Orielly Media Inc. 2nd Edition, 2005.
8. David J. Eck, "Introduction to Programming Using Java", Published by CreateSpace Independent
Publishing Platform, 2009.
9. John R. Hubbard, "Programming with JAVA", Schaum's Series, 2nd Edition, 2004.
1. To find the sum of any number of integers entered as command line arguments
2. To find the factorial of a given number
3. To learn use of a single dimensional array by defining the array dynamically.
4. To learn use of .lenth in case of a two dimensional array
5. To convert a decimal to binary number
6. To check if a number is prime or not, by taking the number as input from the keyboard
7. To find the sum of any number of integers interactively, i.e., entering every number from the
keyboard, whereas the total number of integers is given as a command line argument Write a
program that show working of different functions of String and StringBuffer classes like
setCharAt, setLength(), append(), insert(), concat()and equals().
8. Write a program to create a ―distance‖ class with methods where distance is computed in terms of
feet and inches, how to create objects of a class and to see the use of this pointer
9. Modify the ―distance‖ class by creating constructor for assigning values (feet and inches) to the
distance object. Create another object and assign a second object as reference variable to another
object reference variable. Further create a third object which is a clone of the first object.
10. Write a program to show that during function overloading, if no matching argument
is found, then java will apply automatic type conversions(from lower to higher data
type)
11. Write a program to show the difference between public and private access specifiers. The
program should also show that primitive data types are passed by value and objects are passed by
reference and to learn use of final keyword
12. Write a program to show the use of static functions and to pass variable length arguments in a
function.
13. Write a program to demonstrate the concept of boxing and unboxing.
14. Create a multi-file program where in one file a string message is taken as input from the user and
the function to display the message on the screen is given in another file (make use of Scanner
package in this program).
15. Write a program to create a multilevel package and also creates a reusable class to generate
Fibonacci series, where the function to generate Fibonacci series is given in a different file
belonging to the same package.
16. Write a program that creates illustrates different levels of protection in classes/subclasses
belonging to same package or different packages
17. Write a program ―Divide By Zero that takes two numbers a and b as input, computes a/b, and
invokes Arithmetic Exception to generate a message when the denominator is zero.
18. Write a program to show the use of nested try statements that emphasizes the sequence of
checking for catch handler statements.
19. Write a program to create your own exception types to handle situations specific to your application
(Hint: Define a subclass of Exception which itself is a subclass of Throwable).
20. Write a program to demonstrate priorities among multiple threads.
21. Write a program to demonstrate multithread communication by implementing synchronization
among threads (Hint: you can implement a simple producer and consumer problem).
CMSDSC405T/CMSMIN303T/CMSCOR303T:
Operating Systems Theory: 45 Lectures
1. Introduction (7 Lectures)
Basic OS functions, resource abstraction, types of operating systems–multiprogramming
systems, batch systems , time sharing systems; operating systems for personal computers &
workstations, process control & real time systems.
2. Operating System Organization (6 Lectures)
Processor and user modes, kernels, system calls and system programs.
3. Process Management (16 Lectures)
System view of the process and resources, process abstraction, process hierarchy, threads,
threading issues, thread libraries; Process Scheduling, non-pre-emptive and pre-emptive
scheduling algorithms; concurrent and processes, critical section, semaphores, methods
for inter-process communication; deadlocks.
4. Memory Management (8 Lectures)
Physical and virtual address space; memory allocation strategies –fixed and variable
partitions, paging, segmentation, virtual memory
5. File and I/O Management (8 Lectures)
Directory structure, file operations, file allocation methods, device management.
Text Books
1. Silberschatz, P.B. Galvin, G. Gagne, Operating Systems Concepts, 8th Edition,
John Wiley Publications 2008.
2. A. S. Tanenbaum, Modern Operating Systems, 3rd Edition, Pearson Education 2007.
Reference Books
1. G. Nutt, Operating Systems: A Modern Perspective, 2nd Edition Pearson Education 1997.
2. W. Stallings, Operating Systems, Internals & Design Principles, 5th Edition, Prentice Hall of
India. 2008.
3. M. Milenkovic, Operating Systems- Concepts and design, Tata McGraw Hill 1992.
CMSDSC405P/CMSMIN303P/CMSCOR303P:
Operating Systems Practical: 60 Lectures
Note: In Practical Examination 60% weighted in Group I and rest in Group II are allotted.
1. WRITE A PROGRAM (using fork() and/or exec() commands) where parent and
child execute:
a. Same program, same code.
b. Same program, different code.
c. Before terminating, the parent waits for the child to finish its task.
2. WRITE A PROGRAM to report behavior of Linux kernel including kernel
version, CPU type and model. (CPU information)
3. WRITE A PROGRAM to report behavior of Linux kernel including information
on configured memory, amount of free and used memory. (memory information)
4. WRITE A PROGRAM to print file details including owner access permissions,
file access time, where file name is given as argument.
5. WRITE A PROGRAM to copy files using system calls.
6. Write a program to implement FCFS scheduling algorithm.
7. Write a program to implement the Round Robin scheduling algorithm.
8. Write a program to implement the SJF scheduling algorithm.
9. Write a program to implement a non-preemptive priority based scheduling algorithm.
10. Write a program to implement a preemptive priority based scheduling algorithm.
1. Write a Shell Script to determine all prime numbers between two positive integers a and b. a and
b are supplied as command line arguments.
2. Write a Shell Script that counts the number of words in a line of text. The line text will be
provided as command line arguments.
3. Write a Shell Script/Program to check whether a given string is a Palindrome or not.
4. Write a Shell Script/Program to print the command line arguments in reverse order.
5. Write a Shell Script/Program to modify the cal command of UNIX to include the following.
i) Print the current month and current year when called without parameter.
ii) Print the calendar of the month of the current year if only one argument between 1 and 12.
CMSDSC406T: Computational Mathematics Theory: 60 Lectures
Additional Tutorial: 15 lectures
Text Books
1. C. L. Liu and D. P. Mohapatra, Elements of Discrete Mathematics, Third Edition, Tata McGraw Hill , 2008.
2. K. Rosen, Discrete Mathematics and Its Applications, Eighth Edition, McGraw Hill, 2021.
Recommended Books:
1. T. H. Cormen, C.E. Leiserson, R. L. Rivest, Introduction to algorithms, 4th Edition The MIT Press, 2022
2. N. Chandrasekaran and M. Umaparvathi, Discrete Mathematics, Third Edition, PHI Learning Pvt. Ltd.,
2022.
3. S. Lipschutz and M. Lipson, Discrete Mathematics (Schaum’s Outlines), Fourth Edition, McGraw Hill,
2021.
4. S. Lipschutz and M. Lipson, Probability (Schaum’s Outlines), Second Edition, McGraw Hill, 2011.
5. M. Spiegel, J. Schiller, R. A. Srinivasan, and D. Goswami, Probability and Statistics (Schaum’s Outlines),
Third Edition, McGraw Hill, 2017.
6. N. G. Das, Statistical Methods (Vol 1 & 2), Tata McGraw Hill, New Delhi, 2010
7. P. K. Giri and J. Banerjee, Statistical tools and techniques, Seventh Edition, Academic Publishers, Kolkata,
2017
CMSDSC407T/CMSCOR505T:
Computer System Architecture Theory: 60 Lectures
Additional Tutorial: 15 lectures
Recommended Books:
1. Digital Circuits and Design, S. Salivahanan and S. Arivazhagan, 5 ed., Oxford
Text Books
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction
to Algorithms, PHI, 3rd Edition 2009
2. Sara Basse & A.V. Gelder Computer Algorithm – Introduction to Design and
Analysis, Publisher – Pearson 3rd Edition 1999
Reference Books
1. Fundamentals of Computer Algorithms, E.Horowitz and Sahani, Galgoti
2. Algorithm Design, Jon Kleiberg and Eva Tardos, Pearson Education
3. Data Structures and Algorithms - K.Mehlhorn , EATCS, Vol. I & Vol. 2
Instruction: Use an open source C++ compiler. The program should report the number of
comparisons.
1. Write a program to implement Linear Search.
2. Write a program to implement Binary Search.
3. Write a program to implement Insertion Sort.
4. Write a program to implement Bubble Sort.
5. Write a program to implement Selection Sort.
6. Write a program to implement Merge Sort.
7. Write a program to implement Heap Sort.
8. Write a program to implement Quick Sort .
9. Create a Red-Black Tree and perform following operations on it:
i. Insert a node
ii. Delete a node
iii. Search for a number & also report the color of the node containing this number
10. Write a program to implement the Knapsack problem.
11. Write a program to implement the 4-Queen problem.
12. Write a program to implement Breadth-First Search in a graph
13. Write a program to implement Depth-First Search in a graph.
14. Write a program to implement Prim’s Algorithm in a graph.
15. Write a program to implement Kruskal Algorithm in a graph.
CMSDSC509T/CMSMIN707T/CMSCOR404T:
Database Management Systems Theory: 45 Lectures
1. Introduction (4 Lectures)
Characteristics of database approach, data models, database system architecture and data
independence.
Text Books
1. R. Elmasri, S.B. Navathe, Fundamentals of Database Systems 6th Edition, Pearson Education, 2010.
2. R. Ramakrishanan, J. Gehrke, Database Management Systems 3rd Edition, McGraw-Hill, 2002.
Books Recommended:
1. A. Silberschatz, H.F. Korth, S. Sudarshan, Database System Concepts 6th Edition, McGraw Hill,
2010.
2. R. Elmasri, S.B. Navathe Database Systems Models, Languages, Design and application
Programming, 6th Edition, Pearson Education, 2013.
CMSDSC509P/CMSMIN707P/CMSCOR404P:
Database Management Systems Practical: 60 Lectures
Instruction: Use an open source MySQL compiler.
Create and use the following database schema to answer the given queries.
EMPLOYEE Schema
Field Type NULL KEY
DEFAULT
Eno Char(3) NO PRI NIL
Ename Varchar(50) NO NIL
Job_type Varchar(50) NO NIL
Manager Char(3) Yes FK NIL
Hire_date Date NO NIL
Dno Integer YES FK NIL
Commission Decimal(10,2) YES NIL
Salary Decimal(7,2) NO NIL
DEPARTMENT Schema
Text Books
1. R.S. Pressman, Software Engineering: A Practitioner‘ s Approach (7th Edition), McGraw-Hill,
2009.
2. P. Jalote, An Integrated Approach to Software Engineering (2nd Edition), Narosa P. Jalote, An
Integrated Approach to Software Engineering (2nd Edition), Narosa Publishing House, 2003.
Recommended Books:
1. K.K. Aggarwal and Y. Singh, Software Engineering (2nd Edition), New Age International
Publishers, 2008.
2. I. Sommerville, Software Engineering (8th edition), Addison Wesley, 2006.
3. D. Bell, Software Engineering for Students (4th Edition), Addison-Wesley, 2005.
4. R. Mall, Fundamentals of Software Engineering (2nd Edition), Prentice-Hall of India,2004
Sample Projects:
1. Criminal Record Management: Implement a criminal record management
system for jailers, police officers and CBI officers
2. DTC Route Information: Online information about the bus routes and their
frequency and fares
3. Car Pooling: To maintain a web based intranet application that enables the
corporate employees within an organization to avail the facility of carpooling
effectively.
4. Patient Appointment and Prescription Management System
5. Organized Retail Shopping Management Software
6. Online Hotel Reservation Service System
7. Examination and Result computation system
8. Automatic Internal Assessment System
9. Parking Allocation System
10. Wholesale Management System
Projects (Mini Projects) will be assigned to a group of students (maximum 3) under a Faculty
member. Students will prepare a presentation and present it in the practical examination.
Text Books
Text Books
1. J.D.Foley, A.Van Dan, Feiner, Hughes Computer Graphics Principles & Practice, 2nd
edition Publication Addison Wesley 1990.
2. D.Hearn, Baker: Computer Graphics, Prentice Hall of India 2008.
Books Recommended:
1. D.F.Rogers Procedural Elements for Computer Graphics, McGraw Hill 1997.
2. D.F.Rogers, Adams Mathematical Elements for Computer Graphics, McGraw Hill, 2nd
edition 1989.
Text Books
1. DAN.W. Patterson, Introduction to A.I and Expert Systems – PHI, 2007.
2. Russell &Norvig, Artificial Intelligence-A Modern Approach, LPE, Pearson Prentice Hall,
2nd edition, 2005.
Recommended Books:
1. Rich & Knight, Artificial Intelligence – Tata McGraw Hill, 2nd edition, 1991.
2. W.F. Clocksin and Mellish, Programming in PROLOG, Narosa Publishing House, 3rd
edition, 2001.
3. Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley, Pearson
Education, 3rd edition, 2000.
Text Books
1. Daniel I.A.Cohen, Introduction to computer theory, John Wiley,1996
2. Lewis & Papadimitriou, Elements of the theory of computation, PHI 1997.
Recommended Books:
Text Books
10. Write a program for edge detection using different edge detection mask
11. Write and execute a program for image morphological operations erosion and dilation.
12. To write and execute a program for wavelet transform on a given image and perform inverse wavelet
transform to reconstruct the image.
Text Book:
1. Aho, Compilers: Principals, Techniques and Tools, Pearson Education.
2. Muneeswaran, Compiler Design,Oxford
References:
1. Sudha Sadasivam, Compiler Design - 2nd Edn., SCITECH
2. Niklaus Wirth, Theory and Techniques of Compiler Construction, Addison-Wesley
CMSDSC818T: Machine Learning Theory: 45 Lectures
Motivation and role of machine learning in computer science and problem solving, Data and Features
representation, Feature reduction/Dimensionality reduction and PCA (Eigen values, Eigen vectors,
Orthogonality), Introduction to paradigms of Learning (supervised, unsupervised, and reinforcement
learning). Cross Validation, Two-Class Evaluation Measures, The ROC Curve, Minimum Description
Length & Exploratory Analysis.
Notion of Training, Validation and Testing; Connect to generalization and overfitting. Linear
Regression, Multivariate Regression, Logistic Regression. Decision trees, Naive Bayes, Bayesian
Networks, Support Vector Machine (SVM), Nearest Neighbours and KNN. Introduction Artificial
Neural Network, Early model, Role of Loss Functions and Optimization, Gradient Descent and
Perceptron/Delta Learning, Multilayer Perceptron (MLP), Backpropagation.
Partitional Clustering- K-means, Hierarchical Clustering- Agglomerative and Divisive, Density Based
Clustering - DBSCAN, Expectation Maximization - Frequent itemset generation, Association rule
mining (Apriori Algorithm).
Generating diverse learners, model combination schemes, voting, error-correcting output codes, Random
forest, bagging, boosting, bootstrapping, mixture of experts revisited, stacked generalization, fine-tuning
an ensemble, cascading
Convolution neural network (CNN), Layers in CNN, CNN architectures, brief introduction to other deep
learning models.
Text Books:
1. Introduction to Machine learning, Ethem Alpaydin, Third Edition, MIT Press, 2009.
2. Machine learning for dummies, John Paul Muller, Luca Massaron, Weily, 2 nd Edition, 2021.
Reference:
1. Introduction to Machine Learning with Python A guide for data scientists, Andreas, C. Muller Sarah
Guido, O'Reilly
CMSDSC818P: Machine Learning Practical: 60 Lectures
List of Exercises for Machine Learning Lab:
1. Implement and demonstrate the FIND-S algorithm for finding the most specific hypothesis based on a
given set of training data samples. Read the training data from a .CSV le
2. For a given set of training data examples stored in a .CSV file, implement and demonstrate the
Candidate-Elimination algorithm. Output a description of the set of all hypotheses consistent with the
training examples.
3. Write a program to demonstrate the working of the decision tree based ID3 algorithm. Use an
appropriate data set for building the decision tree and apply this knowledge to classify a new sample
4. Build an Artificial Neural Network by implementing the Back propagation algorithm and test the
same using appropriate data sets
5. Write a program to implement the naïve Bayesian classifier for a sample training data set stored as a
.CSV file. Compute the accuracy of the classifier, considering few test data sets.
6. Assuming a set of documents that need to be classified, use the naïve Bayesian Classifier model to
perform this task. Built-in Java classes/API can be used to write the program. Calculate the accuracy,
precision, and recall for your data set.
7. Write a program to construct a Bayesian network considering medical data. Use this model to
demonstrate the diagnosis of heart patients using standard Heart Disease Data Set. You can use
Java/Python ML library lasses/API.
8. Apply EM algorithm to cluster a set of data stored in a .CSV file. Use the same data set for clustering
using the k-Means algorithm. Compare the results of these two algorithms and comment on the quality
of clustering. You can add Java/Python ML library classes/API in the program.
9. Write a program to implement k-Nearest Neighbor algorithm to classify the iris data set.
10. Print both correct and wrong predictions. Java/Python ML library classes can be used for this
problem.
11. Implement the non-parametric Locally Weighted Regression algorithm in order to fit data points.
12. Select appropriate data set for your experiment and draw graphs
CMSDSC819T: Cyber Security and IoT Theory: 60 Lectures
Additional Tutorial: 15 lectures
1. Introduction to Cyber Security (8 Lectures)
Cyber Security definition and Concepts, OSI Security Architecture, Security Objectives and Challenges,
Security Attacks- active and Passive attack, Security Services, Security Mechanisms, Fundamental
Security Design Principles, Cyber Security model.
Text Books
1. Cryptography and Network Security-Principles and Practice, William Stallings, Pearson/Prentice Hall
2. Introduction to Cryptography and Network Security, Behrouz A. Forouzan, McGraw Hill.
Reference Books
1. Introduction to Cyber Security Guide to the World of Cyber Security, Anand Shinde, Notion Press.
Text Books
1. Tom White, "Hadoop: The Definitive Guide", Third Edition, O'Reilley, 2012.
2. Eric Sammer, "Hadoop Operations", O'Reilley, 2012.
Reference Books:
1. Vignesh Prajapati, Big data analytics with R and Hadoop, SPD 2013.
2. E. Capriolo, D. Wampler, and J. Rutherglen, "Programming Hive", O'Reilley, 2012.
3. Lars George, "HBase: The Definitive Guide", O'Reilley, 2011.
4. Alan Gates, "Programming Pig", O'Reilley, 2011
CMSHMD101T/CMSGMD101T CMSHMD201T/CMSGMD201T
CMSHMD301T/CMSGMD301T (Credits:3) : Computer Fundamentals 45
Classes
Introduction to Computer: 11 classes
Networking: 12Classes
Artificial Intelligence, Robotics, Internet of Things (IoT), Sensors, Smart cities, Cloud
Computing and Cloud Services (SaaS, IaaS, PaaS); Blockchain technology.
Text Books:
CMSHSE101M/CMSGSE101M: (Credits:3):
R Programming 45 Classes
2. Data Structures in R
● Vectors: creation, indexing, and basic functions (length, class, typeof, etc.).
● Lists: creation, indexing, and subsetting.
● Matrices: creation, indexing, and operations.
● Data frames: creation, importing/exporting data, indexing, and subsetting.
● Factors: creation, levels, and usage in categorical data.
3. Interactive Visualizations
○ Introduction to interactive plots using plotly and shiny.
○ Creating basic interactive plots and dashboards.
● Descriptive Statistics
○ Calculating measures of central tendency (mean, median, mode).
○ Calculating measures of dispersion (range, variance, standard deviation).
1. Control Structures
○ Conditional statements (if, else, switch).
○ Looping constructs (for, while, repeat).
○ Vectorized operations and the apply family of functions (apply, lapply, sapply,
tapply, mapply).
1. Write a R program to take input from the user (name and age) and display the values. Also print
the version of R installation.
2. Write a R program to create a sequence of numbers from 20 to 50 and find the mean of numbers
from 20 to 60 and sum of numbers from 51 to 91.
3. Write a R program to multiply two vectors of integers type and length 3.
4. Write a R program to find Sum, Mean and Product of a Vector, ignore elements like NA or
NaN.
5. Write a R program to list containing a vector, a matrix and a list and give names to the elements
in the list.
6. Write an R program to extract 3rd and 5th rows with 1st and 3rd columns from a given data frame.
7. Write a R program to sort a given data frame by multiple column(s).
8. Write a R program to compare two data frames to find the row(s) in the first data frame that are
not present in the second data frame.
9. Write a program to read a csv file and find min, max and range the data in the file in R
10. Write a program to find Mean, Median and Mode
Text Books:
1.William N. Venables and David M. Smith, An Introduction to R. 2nd Edition. Network Theory
Limited.2009
2. Norman Matloff, The Art of R Programming - A Tour of Statistical Software Design, No Starch
Press.2011
Reference Books:
1.The Book of R,Tilman M. Davies,No Starch Press,1st edition
2.Discovering Statistics Using R,Andy Field,SAGE Publications Ltd,1st edition
CMSHSE202M/CMSGSE202M: (Credits:3)
Concept of problem solving, Problem definition, Program design, Debugging, Types of errors in
programming, Documentation.
Python Interpreter, Using Python as calculator, Python shell, Indentation. Atoms, Identifiers and
keywords, Literals, Strings, Operators(Arithmetic operator, Relational operator, Logical or Boolean
operator, Assignment, Operator, Ternary operator, Bit wise operator, Increment or Decrement
operator).
5. Creating Python Programs 10 Classes
Input and Output Statements, Control statements(Branching, Looping, Conditional Statement, Exit
function, Difference between break, continue and pass.), Defining Functions, default arguments.
1. Write a menu driven program to convert the given temperature from Fahrenheit to Celsius and
vice versa depending upon users choice.
2. WAP to calculate total marks, percentage and grade of a student. Marks obtained in each of the
three subjects are to be input by the user. Assign grades according to the following criteria :
Grade A:
Percentage >=80
Grade B:
Percentage>=70
and <80
Grade C:
Percentage>=60
and
<70
Grade D:
Percentage>=40
and <60
Grade E:
Percentage<40
3. Write a menu-driven program, using user-defined functions to find the area of rectangle, square,
circle and triangle by accepting suitable input parameters from the user.
4. WAP to display the first n terms of Fibonacci series.
Text Books :
1.John V. Guttag, “Introduction to Computation and Programming Using Python”, MIT Press
2. Allen Downey, “Think Python: How to Think Like a Computer Scientist”, O’Reilly
3. Mark Lutz, “Learning Python, 5th Edition”, O’Reilly
Reference Books:
1.. Python Programming for the Absolute Beginner, Michael Dawson, Cengage Learning.
2.. Learning to Program in Python 2017, P. M. Heathcote, PG Online Limited
3. Python Programming Fundamentals: Lee and Kent D.