Screenshot 2024-12-08 at 1.23.08 pm
Screenshot 2024-12-08 at 1.23.08 pm
Screenshot 2024-12-08 at 1.23.08 pm
INDEX
DEPARTMENT OF COMPUTER SCIENCE
SEMESTER-IV
Sl.No. Subject Page No.
1
INDEX
DEPARTMENT OF COMPUTER SCIENCE
SEMESTER-V
(1) er n e
(2) Advanced Web Programming
(3) Java Based Web App Development
4 BSc. (Prog.) with Computer Science as one of the three
Core Disciplines
2
DEPARTMENT OF COMPUTER SCIENCE
[UG Programme for Bachelor in Computer Science (Honours) ]
Learning Objectives
The course is designed to develop understanding of different algorithm design techniques and
use them for problem solving. The course shall also enable the students to verify correctness
of algorithms and analyze their time complexity.
Learning outcomes
Searching, Sorting, Selection: Linear Search, Binary Search, Insertion Sort, Selection Sort,
Bubble Sort, Heapsort, Linear Time Sorting, Selection Problem, running time analysis and
correctness.
Unit 2 (5 hours)
3
Unit 3 (10 hours)
Divide and Conquer: Introduction to divide and conquer technique, Merge Sort, Quick Sort,
Maximum-subarray problem, Strassen’s algorithm for matrix multiplication.
Unit 4 (5 hours)
Unit 5 (5 hours)
Unit 6 (5 hours)
Unit 7 (5 hours )
Essential/recommended readings
1. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th
edition, Prentice Hall of India, 2022.
2. Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.
Additional references
1. Basse, S., Gelder, A. V., Computer Algorithms: Introduction to Design and Analysis,
3rd edition, Pearson, 1999.
1. i. Write a program to sort the elements of an array using Insertion Sort (The program
should report the number of comparisons).
ii. Write a program to sort the elements of an array using Merge Sort (The program
should report the number of comparisons).
2. Write a program to sort the elements of an array using Heap Sort (The program should
report the number of comparisons).
3. Write a program to multiply two matrices using the Strassen’s algorithm for matrix
multiplication.
4
4. Write a program to sort the elements of an array using Radix Sort.
5. Write a program to sort the elements of an array using Bucket Sort.
6. Display the data stored in a given graph using the Breadth-First Search algorithm.
7. Display the data stored in a given graph using the Depth-First Search algorithm.
8. Write a program to determine a minimum spanning tree of a graph using the Prim’s
algorithm.
9. Write a program to implement Dijkstra's algorithm to find the shortest paths from a
given source node to all other nodes in a graph.
10. Write a program to solve the weighted interval scheduling problem.
11. Write a program to solve the 0-1 knapsack problem.
For the algorithms at S.No 1 and 2, test run the algorithm on 100 different input sizes varying
from 30 to 1000. For each size find the number of comparisons averaged on 10 different input
instances; plot a graph for the average number of comparisons against each input size. Compare
it with a graph of nlogn.
DSC 11 4 3 0 1 DSC01
Database Programming
Manageme using Python /
nt Systems A course in
Python at plus 2
level, DSC08
Learning Objectives
The course introduces the students to the fundamentals of database management system and
its architecture. Emphasis is given on the popular relational database system including data
models and data manipulation. Students will learn about the importance of database structure
and its designing using conceptual approach using Entity Relationship Model and formal
approach using Normalization. The importance of file indexing and controlled execution of
transactions will be taught. The course would give students hands-on practice of structured
query language in a relational database management system and glimpse of basic database
administration commands.
5
Learning outcomes
Use database management system software to create and manipulate the database.
Create conceptual data models using entity relationship diagrams for modeling real-life
situations and designing the database schema.
Use the concept of functional dependencies to remove redundancy and update
anomalies.
SYLLABUS OF DSC11
Unit 1 (5 hours)
Unit 2 (7 hours)
Entity Relationship Modeling: Conceptual data modeling - motivation, entities, entity types,
attributes, relationships, relationship types, constraints on relationship, Entity Relationship
diagram notation.
Unit 3 (7 hours)
Relational Data Model: Update anomalies, Relational Data Model - Concept of relations,
schema-instance distinction, keys, relational integrity constraints, referential integrity and
foreign keys, relational algebra operators and queries.
Structured Query Language (SQL): Querying in SQL, DDL to create database and tables,
table constraints, update database-update behaviors, DML, aggregation functions group by
6
and having clauses, retrieve data from the database, generate and query views. Access and
manipulate databases using ODBC. Basic Database administration SQL commands.
Unit 5 (8 hours)
Unit 6 (8 hours)
File indexing and Transaction Processing: Data Storage and Indexes- Need of file indexes,
file organizations, index structures, single- and multi-level indexing, concurrent execution of
transactions, ACID properties, need of data recovery and log file.
Essential/recommended readings
Additional References
7
SOCIETY SID SocName MentorName TotalSeats
Char(6) Varchar(20) Varchar(15) Unsigned int
8
Society name Mentor name Total Capacity Total Enrolled Unfilled
Seats
Learning Objectives
The course objectives of this paper are to:
• Understand the concepts behind computer networks and data communication.
• Learn the different types of networks, network topologies and their characteristics.
• Learn the working of protocols used at various layers.
• Understand the utility of different networking devices.
Learning outcomes
9
• distinguish between different types of network devices and their functions.
• design/implement data link and network layer protocols in a simulated networking
environment.
SYLLABUS OF DSC06
Unit 1 (8 hours)
Introduction: Types of computer networks, Internet, Intranet, network topologies (bus, star,
ring, mesh, tree, hybrid topologies), network classifications. layered architecture approach,
OSI Reference Model, TCP/IP Reference Model. Transmission Modes: simplex, half duplex
and full duplex.
Unit 2 (9 hours)
Physical Layer: Analog signal, digital signal, the maximum data rate of a channel,
transmission media (guided transmission media, wireless transmission, satellite
communication), multiplexing (frequency division multiplexing, time-division multiplexing,
wavelength division multiplexing). Guided Media (Wired) (Twisted pair, Coaxial Cable,
Fiber Optics. Unguided Media (Radio Waves, Infrared, Micro-wave, Satellite).
Unit 4 (8 hours)
Network layer: Networks and Internetworks, virtual circuits and datagrams, addressing,
subnetting, Dijkstra Routing algorithm, Distance vector routing, Network Layer protocol-
(ARP, IPV4, ICMP).
Essential/recommended readings
1. Tanenbaum, A.S. & Wethrall, D.J.. Computer Networks, 5th edition, Pearson
Education, 2012.
Additional References
1. Comer, D. E.. Computer Networks and Internet, 6th edition, Pearson education, 2015.
2. Stallings, W., Data and Computer Communications, 10th edition, Pearson education
India, 2017.
10
Suggested Practical List :
11
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline Elective
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/ (if any)
Practice
Learning Objectives
This course aims to introduce data mining techniques and their application on real-life datasets.
The students will learn to pre-process the dataset and make it ready for application of data
mining techniques. The course will focus on three main techniques of data mining i.e.
Classification, Clustering and Association Rule Mining. Different algorithms for these
techniques will be discussed along with appropriate evaluation metrics to judge the
performance of the results delivered.
Learning outcomes
SYLLABUS OF DSE
Unit 1 (5 hours)
Introduction to Data Mining: Motivation and challenges for data mining, Types of data
mining tasks, Applications of data mining, Data measurements, Data quality, Supervised vs.
unsupervised techniques
12
Unit 2 (10 hours)
Data Pre-processing: Data aggregation, sampling, dimensionality reduction, feature subset
selection, feature creation, variable transformation.
Unit 3 (10 hours)
Cluster Analysis: Basic concepts of clustering, measure of similarity, types of clusters and
clustering methods, K-means algorithm, measures for cluster validation, determine optimal
number of clusters
Unit 4 (10 hours)
Association Rule mining: Transaction data-set, frequent itemset, support measure, rule
generation, confidence of association rule, Apriori algorithm, Apriori principle
Unit 5 (10 hours)
Classification: Naive Bayes classifier, Nearest Neighbour classifier, decision tree, overfitting,
confusion matrix, evaluation metrics and model evaluation.
Essential/recommended readings
1. Tan P.N., Steinbach M, Karpatne A. and Kumar V. Introduction to Data Mining,2nd
edition, Pearson, 2021.
2. Han J., Kamber M. and Pei J. Data Mining: Concepts and Techniques, 3rd edition,
2011, Morgan Kaufmann Publishers.
3. Zaki M. J. and Meira J. Jr. Data Mining and Machine Learning: Fundamental
Concepts and Algorithms, 2nd edition, Cambridge University Press, 2020.
Additional References
1. Aggarwal C. C. Data Mining: The Textbook, Springer, 2015.
2. Dunham M. Data Mining: Introductory and Advanced Topics, 1st edition, Pearson
Education India, 2006.
All topics covered in theory will be implemented using Python. The operations may be
performed on the datasets loaded through scikit, seaborn libraries or can be downloaded from
from Open Data Portal (https:// data.gov.in/, UCI repository http://archive.ics.uci.edu/ml/ ).
13
1. Apply data cleaning techniques on any dataset (e,g, wine dataset). Techniques may
include handling missing values, outliers, inconsistent values. A set of validation rules
can be prepared based on the dataset and validations can be performed.
2. Apply data pre-processing techniques such as standardization / normalization,
transformation, aggregation, discretization/binarization, sampling etc. on any dataset
3. Run Apriori algorithm to find frequent itemsets and association rules on 2 real datasets
and use appropriate evaluation measures to compute correctness of obtained patterns
a) Use minimum support as 50% and minimum confidence as 75%
b) Use minimum support as 60% and minimum confidence as 60 %
4. Use Naive bayes, K-nearest, and Decision tree classification algorithms and build
classifiers on any two datasets. Divide the data set into training and test set. Compare
the accuracy of the different classifiers under the following situations:
I. a) Training set = 75% Test set = 25% b) Training set = 66.6% (2/3rd of total),
Test set = 33.3%
II. Training set is chosen by i) hold out method ii) Random subsampling iii)
Cross-Validation. Compare the accuracy of the classifiers obtained.
Data is scaled to standard format.
5. Use Simple K-means algorithm for clustering on any dataset. Compare the performance
of clusters by changing the parameters involved in the algorithm. Plot MSE computed
after each iteration using a line plot for any set of parameters.
Learning Objectives
14
This course is designed to introduce the fundamentals of combinatorial optimization to the
students in terms of both theory and applications, so as to equip them to explore the more
advanced areas of convex and non-convex optimizations.
Learning outcomes
On successful completion of the course, students will be able to:
Model problems using linear and integer programs
Apply polyhedral analysis to develop algorithms for optimization problems
Use the concept of duality for design of algorithms
SYLLABUS OF DSE
Unit 1 (9 hours)
Introduction: Introduction to Combinatorial Optimization Problems, Linear and Integer
Programs- LP Formulation, understanding integer programs, computational complexities of
IP vs LP, using LP to find optimal or approximate integral solutions, concept of integrality
gap.
Unit 2 (14 hours)
Theory of Linear Programming and Algorithmic Perspective to Simplex Method:
standard vs. equational form, basic feasible solutions, convexity and convex polyhedra,
correspondence between vertices and basic feasible solutions, geometry of Simplex
algorithm, exception handling (unboundedness, degeneracy, infeasibility), Simplex
algorithm, avoiding cycles.
Unit 3 (12 hours)
Primal-Dual Algorithms: interpretation of dual, optimality conditions for primal and dual,
weak and strong duality, complementary slackness, primal-dual algorithm for the shortest
path problem.
Unit 4 (10 hours)
Network Flows: linear programming formulations for network flows and bipartite matching,
totally unimodular matrices.
Essential/recommended readings
Additional References
(i) Bazaraa, M.S., Jarvis, J.J., & and Sherali, H.D. Linear Programming and Network
Flows, 4th edition, Wiley, 2010.
(ii) Korte, B., & Vygen, J. Combinatorial Optimization, 6th edition, Springer, 2018.
Tutorials
Tutorials based on Theory
15
DISCIPLINE SPECIFIC ELECTIVE COURSE: Network Security
Learning Objectives
This course will provide students with an understanding of the fundamental concepts,
principles, and techniques of network security. Students will learn how to assess, design, and
implement secure networks using various tools and technologies.
Learning outcomes
On successful completion of the course, students will be able to:
Describe the importance of network security and the principles of the CIA
triad (confidentiality, integrity, and availability), types of security threats and
attacks
Describe the basics of cryptography, including symmetric and asymmetric
encryption, hash functions, digital signatures, and public key infrastructure
(PKI).
Apply authentication and access control techniques, including password-
based, token-based, and biometric authentication, as well as authorization
models and single sign-on (SSO).
Design and implement secure networks using network segmentation, security
zones, and VPNs for remote access.
16
Implement and manage firewalls, intrusion detection systems (IDS), and
intrusion prevention systems (IPS) to protect network resources, secure
wireless networks,
Implement endpoint security and malware protection measures, including
antivirus, patch management, and host-based firewalls.
SYLLABUS OF DSE
Unit 4 (8 hours)
Endpoint Security and Malware Protection, Security Monitoring and Incident
Response: Antivirus and antimalware solutions, Patch management and software updates,
Host-based firewalls and intrusion detection, Mobile device management (MDM). Security
Information and Event Management (SIEM) systems, Log management and analysis,
Incident response process and procedures, Forensic analysis and evidence handling.
Unit 5 (3 hours)
Network Security Best Practices and Compliance: Security policies and procedures, Risk
assessment and management, Security awareness training, Regulatory compliance (HIPAA,
GDPR, PCI-DSS, etc.).
Essential/recommended readings
1. Behrouz Forouzan, Cryptography and network security. 3rd edition (2015), McGraw
Hill Education.
17
2. Stallings, W. (2021). Cryptography and Network Security: Principles and Practice (8th
Edition). Pearson.
3. Harris, S. (2018). All-in-One CISSP Exam Guide (8th Edition). McGraw-Hill
Education.
4. Atul Kahate, Cryptography and Network Security, McGraw-Hill; Fourth edition (8
May 2019); McGraw Hill Education (India).
Additional References
i. Conklin, W. A., White, G., Williams, D., Davis, R., & Cothren, C. (2021).
Principles of Computer Security: CompTIA Security+ and Beyond (6th Edition).
McGraw-Hill Education.
ii. Chapple, M., & Seidl, D. (2020). Network Security For Dummies. Wiley.
iii. Gibson, D. (2021). CompTIA Security+ Get Certified Get Ahead: SY0-601 Study
Guide. YCDA Publishing.
18
DISCIPLINE SPECIFIC ELECTIVE COURSE: Introduction to Web Programming
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code Lecture Tutorial Practical/ criteria of the course
Practice (if any)
4 3 0 1 Pass in NIL
Class XII
Learning Objectives
The course aims at introducing the basic concepts and techniques of client side web
programming. The student shall be able to develop simple websites using HTML, CSS
and Javascript.
Learning outcomes
SYLLABUS OF DSE
Unit 1 (5 hours)
Introduction: Introduction to Internet and web design. Basic concepts of web
architecture.
Unit 3 (8 hours)
Cascading style sheet (CSS): Concept of CSS, creating style sheet, Importing style sheets,
CSS properties, CSS styling (background, text format, controlling fonts), CSS rules, Style
Types, CSS Selectors, CSS cascade, working with block elements and objects, working with
lists and tables, CSS id and class, box model (introduction, border properties, padding
19
properties, margin properties).
Essential/recommended readings
1. Nixon, R. Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5,
O'Rielly, 2018.
2. Powell, T.A. HTML & CSS: The Complete Reference, 5th edition, Tata McGrawHill,
2010.
3. Duckett, J. JavaScript and JQuery: Interactive Front-End Web Development, Wiley,
2014.
Additional References
1. Minnick, J. Web Design with HTML5 and CSS3, 8th edition, Cengage Learning,
2015.
2. Boehm, A., & Ruvalcaba, Z. Munarch’s HTML5 and CCS, 4th edition, Mike
Murach & Associates, 2018.
3. J. A. Ramalho Learn Advanced HTML 4.0 with DHTML, BPB Publications,
2007.
4. Ivan Bayross Web Enabled Commercial Application Development Using Html,
Dhtml, Javascript, Perl CGI, BPB Publications, 2009.
HTML
20
I. Text Box
II. Dropdown box
III. Option/radio buttons
IV. Check boxes
V. Reset and Submit button
CSS
Create a webpage for your department with drop down navigation menu for faculty, courses,
activities, etc.. Implement the webpage using styles, rules, selectors, ID, class.
Javascript
1. Change text color and contents using button click events using jQuery
2. Select elements using ID, class, elements name, attribute name
3. Run code on click events in jQuery
4. Handle HTML form, store the data in JSON object, pass them to another page and
display it there using jQuery/Javascript
21
COMMON POOL OF GENERIC ELECTIVES (GE) COURSES
(For all the Generic Elective courses offered by your department, please put it in the
format provided below)
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course aims at developing the ability to use basic data structures like arrays, stacks,
queues, lists, trees to solve problems. C++ is chosen as the language to understand
implementation of these data structures.
Learning outcomes
On successful completion of the course, students will be able to:
SYLLABUS OF GE-4a
Unit 1 (7 hours)
22
Arrays, Linked Lists, Stacks, Queues, Deques: Arrays: array operations, applications,
sorting, two-dimensional arrays, dynamic allocation of arrays; Linked Lists: singly linked lists,
doubly linked lists, circularly linked lists, Stacks: stack as an ADT, implementing stacks using
arrays, implementing stacks using linked lists, applications of stacks; Queues: queue as an
ADT, implementing queues using arrays, implementing queues using linked lists, double-
ended queue as an ADT. Time complexity analysis of operations on all data structures.
Unit 3 (4 hours)
Unit 4 (4 hours)
Trees, Binary Trees: Trees: definition and properties, binary trees: definition and properties,
traversal of binary trees and their time complexity analysis. Binary Search Trees: insert, delete
(by copying), search operations, time complexity analysis of these operation.
Unit 6 (6 hours)
Binary Heap, Priority Queue: Binary Heaps: motivation and introduction, application of
heaps - Priority Queues.
Essential/recommended readings
1. Goodrich, M.T, Tamassia, R., & Mount, D., Data Structures and Algorithms Analysis
in C++, 2nd edition, Wiley, 2011.
2. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C., Introduction to Algorithms. 4th
edition. Prentice Hall of India. 2022.
3. Drozdek, A., Data Structures and Algorithms in C++, 4th edition, Cengage Learning,
2012.
Additional References
1. Sahni, S. Data Structures, Algorithms and applications in C++, 2nd edition.
Universities Press, 2011.
2. Langsam Y., Augenstein, M. J., & Tanenbaum, A. M. Data Structures Using C and
C++, 2nd edition, Pearson, 2009.
23
4. Implement circular linked lists.
5. Implement stack data structure and its operations using arrays.
6. Implement stack data structure and its operations using linked lists.
7. Convert Prefix expression to Infix and Postfix expressions, and evaluate.
8. Implement queue data structure and its operations using arrays.
9. Implement queue data structure and its operations using linked lists.
10. Implement Binary Trees and its traversals.
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course aims at introducing the basic concepts and techniques of client side web
programming. The student shall be able to develop simple websites using HTML, CSS
and Javascript.
Learning outcomes
SYLLABUS OF GE4b
Unit 1 (5 hours)
Introduction: Introduction to Internet and web design. Basic concepts of web
architecture.
24
hyperlinks, tables, web forms, inserting images, frames.
Unit 3 (8 hours)
Cascading style sheet (CSS): Concept of CSS, creating style sheet, Importing style sheets,
CSS properties, CSS styling (background, text format, controlling fonts), CSS rules, Style
Types, CSS Selectors, CSS cascade, working with block elements and objects, working with
lists and tables, CSS id and class, box model (introduction, border properties, padding
properties, margin properties).
Essential/recommended readings
1. Nixon, R. Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5, O'Rielly,
2018.
2. Powell, T.A. HTML & CSS: The Complete Reference, 5th edition, Tata McGrawHill,
2010.
3. Duckett, J. JavaScript and JQuery: Interactive Front-End Web Development, Wiley,
2014.
Additional References
1. Minnick, J. Web Design with HTML5 and CSS3, 8th edition, Cengage Learning, 2015.
2. Boehm, A., & Ruvalcaba, Z. Munarch’s HTML5 and CCS, 4th edition, Mike Murach &
Associates, 2018.
3. J. A. Ramalho Learn Advanced HTML 4.0 with DHTML, BPB Publications, 2007.
4. Ivan Bayross Web Enabled Commercial Application Development Using Html, Dhtml,
Javascript, Perl CGI, BPB Publications, 2009.
HTML
25
your college’s name and logo. Bottom horizontal frame split into two vertical
frames. The left frame with hyperlinks to pages related to faculty, courses, student
activities, etc. The right frame showing corresponding pages based on the link
clicked on the left frame.
5. Create a student registration form using HTML which has the following controls:
I. Text Box
II. Dropdown box
III. Option/radio buttons
IV. Check boxes
V. Reset and Submit button
CSS
Create a webpage for your department with drop down navigation menu for faculty, courses,
activities, etc.. Implement the webpage using styles, rules, selectors, ID, class.
Javascript
1. Change text color and contents using button click events using jQuery
2. Select elements using ID, class, elements name, attribute name
3. Run code on click events in jQuery
26
(Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the three Core Disciplines)
Learning Objectives
This course introduces the students to Operating Systems and its importance in computer
systems. The focus is to explain the common services provided by an operating system like
process management, memory (primary, secondary & virtual) management, I/O management,
file management. The course talks about the various functional components of the operating
and their design.
Learning outcomes
On successful completion of the course, students will be able to
gain knowledge of different concepts of the operating System and its components.
learn about shell scripts and would be able to use the system in an efficient manner.
SYLLABUS OF DSC04
Unit 1 (4 hours)
Introduction: Operating Systems (OS) definition and its purpose, Multiprogrammed and
Time Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as resource
manager.
Unit 2 (10 hours)
Operating System Structures: OS Services, System Calls: Process Control, File
Management, Device Management, and Information Maintenance, Inter-process
Communication, and Protection, System programs, OS structure- Simple, Layered,
Microkernel, and Modular.
Unit 3 (9 hours)
27
Process Management: Process Concept, States. Process Control Block, Context Switch,
Process scheduling, Schedulers, Overview of threads and Scheduling Algorithms: First Come
First Served, Shortest-Job-First, Priority & Round-Robin.
Unit 4 (9 hours)
Memory Management: Physical and Logical address space, Swapping Contiguous memory
allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual memory:
Demand Paging.
Unit 5 (8 hours)
File and Input / Output Device Management: File Concepts, File Attributes, File Access
Methods, Directory Structure: Single-Level, Two-Level, Tree-Structured, and Acyclic-Graph
Directories, Magnetic Disks, Solid-State Disks, Magnetic Tapes.
Unit 6 (5 hours)
Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
Essential/recommended readings
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. G. Nutt, Operating Systems, Pearson, 2009
3. Das, S., Unix: Concepts and Applications, 4th edition, TMH, 2009.
Additional References
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
2. Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs, NJ:
Prentice-Hall, 1984.
3. Stallings, W., Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
4. Tanenbaum, A. S., Modern Operating Systems. 3rd edition, Pearson Education, 2007.
28
2. Execute various LINUX commands for:
i. Process Control: fork, getpid, ps
ii. Communication: Input-output redirection, Pipe
iii. Protection Management: chmod, chown, chgrp
3. Write a program(using fork() and/or exec() commands) where parent and child execute:
i. same program, same code.
ii. same program, different code.
iii. before terminating, the parent waits for the child to finish its task.
4. Write a program to calculate sum of n numbers using Pthreads.
5. Write a program to generate a Fibonacci Series of numbers using Pthreads.
6. Write a program to implement best-fit and worst-fit allocation strategies
7. Write a program to copy files using system calls and using pthreads and compare
timings.
8. Write a program to implement FCFS scheduling algorithm.
9. Write a program to implement SJF scheduling algorithm.
10. Write a program to implement non-preemptive priority based scheduling algorithm.
29
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the two Core Disciplines
(For e.g. courses for B.A. Programmes with Computer Science as Major discipline)
Learning Objectives
This course introduces the students to Operating Systems and its importance in computer
systems. The focus is to explain the common services provided by an operating system like
process management, memory (primary, secondary & virtual) management, I/O management,
file management. The course talks about the various functional components of the operating
and their design.
Learning outcomes
On successful completion of the course, students will be able to
gain knowledge of different concepts of the operating System and its components.
learn about shell scripts and would be able to use the system in an efficient manner.
SYLLABUS OF DSC04
Unit 1 (4 hours)
30
Introduction: Operating Systems (OS) definition and its purpose, Multiprogrammed and
Time Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as resource
manager.
Unit 2 (10 hours)
Operating System Structures: OS Services, System Calls: Process Control, File
Management, Device Management, and Information Maintenance, Inter-process
Communication, and Protection, System programs, OS structure- Simple, Layered,
Microkernel, and Modular.
Unit 3 (9 hours)
Process Management: Process Concept, States. Process Control Block, Context Switch,
Process scheduling, Schedulers, Overview of threads and Scheduling Algorithms: First Come
First Served, Shortest-Job-First, Priority & Round-Robin.
Unit 4 (9 hours)
Memory Management: Physical and Logical address space, Swapping Contiguous memory
allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual memory:
Demand Paging.
Unit 5 (8 hours)
File and Input / Output Device Management: File Concepts, File Attributes, File Access
Methods, Directory Structure: Single-Level, Two-Level, Tree-Structured, and Acyclic-Graph
Directories, Magnetic Disks, Solid-State Disks, Magnetic Tapes.
Unit 6 (5 hours)
Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
Essential/recommended readings
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. G. Nutt, Operating Systems, Pearson, 2009
3. Das, S., Unix: Concepts and Applications, 4th edition, TMH, 2009.
Additional References
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
2. Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs, NJ:
Prentice-Hall, 1984.
3. Stallings, W., Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
4. Tanenbaum, A. S., Modern Operating Systems. 3rd edition, Pearson Education, 2007.
31
Suggested Practical List (If any): (30 Hours)
32
Programming
with Python /
A1
Programming
Fundamentals
using Python
,Data Mining-I
Learning Objectives
The course introduces the students to the supervised and unsupervised learning techniques.
Students will learn about the importance of ensemble methods, cluster analysis, anomaly
detection and their applicability in mining patterns in real applications. At the end students
will be exposed to two advanced topics: text mining and time-series mining. Students will use
the learned topics in solving real applications using open-source software.
Learning outcomes
On successful completion of the course, students will be able to:
Differentiate between partition-based, density-based and hierarchical clustering
Build ensemble models to improve predictive performance of the classifier
Identify anomalies and outliers using supervised and unsupervised techniques
Analyze time-series data and extract patterns from the stamped data
Mine textual data and do topic modeling
SYLLABUS OF A4
Unit 1 (9 hours)
Clustering: Partitioning Methods, Hierarchical Methods, Density-Based Methods,
Comparison of different methods
Unit 2 (8 hours)
Ensemble Methods: Need of ensemble, Random Forests, Bagging and Boosting
Unit 3 (10 hours)
Anomaly Detection: Outliers and Outlier Analysis, Outlier Detection Methods, Statistical
Approaches, Proximity-based and density-based outlier detection, Clustering-based
approaches
Unit 4 (8 hours)
Mining Text Data: Document Preparation and Similarity, Clustering Methods for Text, Topic
Modeling
Unit 5 (10 hours)
Stream Mining: Time series basics, Date Ranges, Frequencies, and Shifting, Resampling and
moving windows functions, Decay function, Clustering stamped data: STREAM and
CluStream
33
Essential/recommended readings
1. Tan P.N., Steinbach M, Karpatne A. and Kumar V. Introduction to Data Mining, 2nd
edition, Pearson, 2019.
2. Zaki M. J. and Meira J. Jr. Data Mining and Machine Learning: Fundamental
Concepts and Algorithms, 2nd edition, Cambridge University Press, 2020.
3. Aggarwal C. C. Data Mining: The Textbook, Springer, 2015.
Additional References
1. Han J. Kamber M. and Pei J. Data Mining: Concepts and Techniques, Morgan
Kaufmann Publishers, 2011.
2. Dunham M. Data Mining: Introductory and Advanced Topics, Pearson, 2006.
Project: Students should be promoted to take up one project covering at least one unit of the
syllabus on any UCI/kaggle/data.gov.in or a dataset verified by the teacher. This will allow the
students to have a practical knowledge of how to apply the various skills learnt in the subject
for a single problem/project.
34
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the two Core Disciplines
(For e.g. courses for B.A. Programmes with Computer Science as Non-major discipline)
Learning Objectives
This course introduces the students to Operating Systems and its importance in computer
systems. The focus is to explain the common services provided by an operating system like
process management, memory (primary, secondary & virtual) management, I/O management,
file management. The course talks about the various functional components of the operating
and their design.
Learning outcomes
On successful completion of the course, students will be able to
gain knowledge of different concepts of the operating System and its components.
learn about shell scripts and would be able to use the system in an efficient manner.
SYLLABUS OF DSC04
Unit 1 (4 hours)
Introduction: Operating Systems (OS) definition and its purpose, Multiprogrammed and
Time Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as resource
manager.
Unit 2 (10 hours)
Operating System Structures: OS Services, System Calls: Process Control, File
Management, Device Management, and Information Maintenance, Inter-process
Communication, and Protection, System programs, OS structure- Simple, Layered,
Microkernel, and Modular.
Unit 3 (9 hours)
35
Process Management: Process Concept, States. Process Control Block, Context Switch,
Process scheduling, Schedulers, Overview of threads and Scheduling Algorithms: First Come
First Served, Shortest-Job-First, Priority & Round-Robin.
Unit 4 (9 hours)
Memory Management: Physical and Logical address space, Swapping Contiguous memory
allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual memory:
Demand Paging.
Unit 5 (8 hours)
File and Input / Output Device Management: File Concepts, File Attributes, File Access
Methods, Directory Structure: Single-Level, Two-Level, Tree-Structured, and Acyclic-Graph
Directories, Magnetic Disks, Solid-State Disks, Magnetic Tapes.
Unit 6 (5 hours)
Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
Essential/recommended readings
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. G. Nutt, Operating Systems, Pearson, 2009
3. Das, S., Unix: Concepts and Applications, 4th edition, TMH, 2009.
Additional References
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
2. Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs, NJ:
Prentice-Hall, 1984.
3. Stallings, W., Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
4. Tanenbaum, A. S., Modern Operating Systems. 3rd edition, Pearson Education, 2007.
36
2. Execute various LINUX commands for:
vii. Process Control: fork, getpid, ps
viii. Communication: Input-output redirection, Pipe
ix. Protection Management: chmod, chown, chgrp
3. Write a program(using fork() and/or exec() commands) where parent and child execute:
vii. same program, same code.
viii. same program, different code.
ix. before terminating, the parent waits for the child to finish its task.
4. Write a program to calculate sum of n numbers using Pthreads.
5. Write a program to generate a Fibonacci Series of numbers using Pthreads.
6. Write a program to implement best-fit and worst-fit allocation strategies
7. Write a program to copy files using system calls and using pthreads and compare
timings.
8. Write a program to implement FCFS scheduling algorithm.
9. Write a program to implement SJF scheduling algorithm.
10. Write a program to implement non-preemptive priority based scheduling algorithm.
37
DEPARTMENT OF COMPUTER SCIENCE
[UG Programme for Bachelor in Computer Science (Honours)]
Learning Objectives
This course is designed to build upon the fundamentals in data structures and algorithm design
and gain exposure to more data structures and algorithms for new problems.
Learning outcomes
Unit 1 (4 hours)
List and Iterator ADTs: Vectors, Lists, Sequences
38
Unit 2 (6 hours)
Hash Tables, Dictionaries: Hash Functions, Collision resolution schemes.
Unit 3 (8 hours)
Strings: String Matching: KMP algorithm; Tries: Standard Tries, Compressed Tries, Suffix
Tries, Search Engines
Unit 4 (8 hours)
More on Trees: 2-4 Trees, B Trees
Unit 5 (8 hours)
More on Graphs: Bellman Ford Algorithm, Union Find Data Structures - application
Kruskal’s algorithm
Unit 6 (6 hours)
Randomization: Randomized Quicksort, Randomized Select, Skip lists
Unit 7 (5 hours)
Network Flows: Ford Fulkerson algorithm for max flow problem.
Essential/recommended readings
1. Goodrich, M.T, Tamassia, R., & Mount, D. Data Structures and Algorithms Analysis
in C++, 2nd edition, Wiley, 2011.
2. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th
edition, Prentice Hall of India, 2022.
3. Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.
4. Drozdek, A. Data Structures and Algorithms in C++, 4th edition, Cengage Learning.
2012.
39
5. Write a program to implement a B-Tree.
6. Write a program to implement the Tree Data structure, which supports the following
operations:
I. Insert
II. Search
7. Write a program to search a pattern in a given text using the KMP algorithm.
8. Write a program to implement a Suffix tree.
Learning Objectives
This course introduces formal models of computation, namely, finite automaton, pushdown
automaton, and Turing machine; and their relationships with formal languages. make students
aware of the notion of computation using abstract computing devices. Students will also learn
about the limitations of computing machines as this course addresses the issue of which
problems can be solved by computational means (decidability vs undecidability
Learning outcomes
40
apply pumping lemma to prove that a language is non-regular/non-context-free.
describe limitations of a computing machines and
recognize what can be solved and what cannot be solved using these machines.
SYLLABUS OF DSC 14
Unit 1 (7 hours)
Finite Automata and Regular: Regular expressions, Deterministic Finite Automata (DFA),
Non-deterministic Finite Automata (NFA), relationship between NFA and DFA, Transition
Graphs (TG), properties of regular languages, the relationship between regular languages and
finite automata, pumping lemma, Kleene’s theorem.
Unit 4 (8 hours)
Essential/recommended readings
1. Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of Computation,
2nd Edition, Prentice Hall of India (PHI), 2002
2. Daniel I.A. Cohen, Introduction to Computer Theory, 2nd Edition, Wiley India Pvt.
Ltd., 2011.
Additional References
41
DISCIPLINE SPECIFIC CORE COURSE– 15 (DSC-15): Software Engineering
Learning Objectives
This course will acquaint the student with different approaches and techniques used to develop
good quality software. The course includes learning of various software development process
frameworks, requirement analysis, design modeling, qualitative and quantitative software
metrics, risk management, and testing techniques.
Learning outcomes
SYLLABUS OF DSC 15
Unit 1 (9 hours)
42
Introduction: Software Engineering - A Layered Approach; Software Process – Process
Framework, Umbrella Activities; Process Models – Waterfall Model, Incremental Model, and
Evolutionary process Model (Prototyping, Spiral Model); Introduction to Agile, Agile Model
– Scrum.
Unit 2 (6 hours)
Unit 3 (8 hours)
Design Modeling: Translating the Requirements model into the Design Model, The Design
Process, Design Concepts - Abstraction, Modularity and Functional Independence; Structure
Charts.
Unit 4 (7 hours)
Software Metrics and Project Estimation: Function based Metrics, Software Measurement,
Metrics for Software Quality; Software Project Estimation (FP based estimations); Project
Scheduling (Timeline charts, tracking the schedule).
Unit 5 (5 hours)
Quality Control and Risk Management: Quality Control and Quality Assurance, Software
Process Assessment and Improvement; Software Risks, Risk Identification, Risk Projection,
Risk Mitigation, Monitoring and Management.
Software Testing: Strategic Approach to Software Testing, Unit Testing, Integration Testing,
Validation Testing, System Testing; Black-Box and White Box Testing, Basis Path Testing.
Essential/recommended readings
Additional References
43
1. Sommerville, I. Software Engineering, 9th edition, Addison Wesley, 2011.
2. The Definitive Guide to Scrum: The Rules of the Game, Ken Schwaber, Jeff Sutherland,
July 2016.
The students document, design and code a module of a Software Project using an appropriate
Software Process model. The Software Project should include the use of software engineering
tools and include.
1. Problem Statement, Process Model
2. Requirement Analysis: Create Data Flow, Data Dictionary, Use Cases, Sequence
Diagram, Software Requirement Specification Document
3. Project Management: Timeline Chart, Compute FP, Effort, Cost, Risk Table.
4. Design Engineering: Architectural Design, Pseudocode of a small module.
5. Coding: Develop at least a single module using any programming Language
6. Testing: Compute Basic path set for at least one module from a project, Generate test
cases.
44
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline Elective
Course title & Credits Credit distribution of the course Eligibility Pre-requisite of the
Code criteria course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course introduces the students to the important supervised and unsupervised learning
techniques. Students will learn about the importance of ensemble methods, cluster analysis,
anomaly detection and their applicability in mining patterns in real applications. At the end
students will be exposed to two advanced topics: text mining and time-series mining. Students
will use the learned topics in solving real applications using Open-source software.
Learning outcomes
SYLLABUS OF DSE
45
Unit 1 (10 hours)
Clustering: Partitioning Methods, Hierarchical Methods, Density-Based Methods,
Comparison of different methods
Unit 2 (8 hours)
Ensemble Methods: Need of ensemble, Random Forests, Bagging and Boosting
Unit 3 (10 hours)
Anomaly Detection: Outliers and Outlier Analysis, Outlier Detection Methods, Statistical
Approaches, Proximity-based and density-based outlier detection, Clustering-based
approaches
Unit 4 (7 hours)
Mining Text Data: Document Preparation and Similarity, Clustering Methods for Text,
Topic Modeling
Unit 5 (10 hours)
Stream Mining: Time series basics, Date Ranges, Frequencies, and Shifting, Resampling and
moving windows functions, Decay function, Clustering stamped data: STREAM and
CluStream
Essential/recommended readings
1. Tan P.N., Steinbach M, Karpatne A. and Kumar V. Introduction to Data Mining, 2nd
edition, Pearson, 2019.
2. Zaki M. J. and Meira J. Jr. Data Mining and Machine Learning: Fundamental
Concepts and Algorithms, 2nd edition, Cambridge University Press, 2020.
3. Aggarwal C. C. Data Mining: The Textbook, Springer, 2015.
Additional References
1. Han J. Kamber M. and Pei J. Data Mining: Concepts and Techniques, Morgan
Kaufmann Publishers, 2011.
2. Dunham M. Data Mining: Introductory and Advanced Topics, Pearson, 2006.
Use a dataset of your choice from Open Data Portal (https:// data.gov.in/, UCI repository or a
dataset verified by the teacher) or load from scikit, seaborn library for the following exercises
to practice the concepts learnt.
46
3. Apply different outlier-detection methods on a noisy dataset and compare their
effectiveness in terms of outliers reported.
4. Compute similarity between two documents after required document preparation.
5. Considering a time-stamped data (sales data/weather data), compare the aggregate
values visually using different moving windows function.
6. Write a program to find the latent topics in a document using any topic modeling
method and display top 5 terms that contribute to each topic along with their strength.
Also, visualize the distribution of terms contributing to the topics.
Project: Students are encouraged to work on a good dataset in consultation with their faculty
and apply the concepts learned in the course.
Learning Objectives
This course aims to provide students with an ability to identify privacy related aspects of data
uses(including attacks on data privacy), evaluate proposed mechanisms for privacy protection
and relate to ethical issues related to data privacy.
Understand the basic principles of data privacy and the implications of data breaches.
Identify and evaluate different methods of protecting sensitive data.
Explain the role of privacy regulations in safeguarding personal information.
Implement basic cryptographic techniques to secure data.
Apply data anonymization techniques to protect personal information.
Analyze the ethical considerations in data privacy
47
SYLLABUS OF DSE
Introduction to Data Privacy and Privacy Regulations: Notion of data privacy, Historical
context of data privacy, Types of sensitive data, Privacy laws and regulations.
Data Privacy Attacks, Cryptography and Data Protection: Type of Attacks/ Data Breaches
on Data Privacy, Impact of Data Breaches / Attacks, Introduction to cryptography, Symmetric
and asymmetric encryption, Hashing and digital signatures.
Data Collection, Use and Reuse: Harms Associated with Data collections, use and reuse,
Introduction to data anonymization, Data Anonymization Techniques for anonymizing data,
Challenges in anonymizing data
Ethical considerations in Data Privacy: Privacy and Surveillance, Ethics of Data Collection
and Use, Bias and discrimination in data analysis
Essential/recommended readings
1. Ronald Leenes, Rosamunde van Brakel, and Serge Gutwirth: Data Protection and
Privacy: The Age of Intelligent Machines, Hart Publishing, 2017.
2. Naavi: Personal Data Protection Act of India (PDPA 2020): Be Aware, Be Ready and
Be Compliant, Notion Press, 2020.
3. Ravinder Kumar Gaurav Goyal, The Right to Privacy in India: Concept and Evolution,
Publisher: Lightning Source, 2016.
Additional References
1. https://onlinecourses.nptel.ac.in/noc22_cs37/preview
2. https://www.coursera.org/learn/northeastern-data-privacy/home/info
1. Data Privacy Audit: Students can conduct a data privacy audit of a company or
organization to identify potential vulnerabilities and risks in their data privacy practices.
48
2. Privacy Impact Assessment: Students can conduct a privacy impact assessment (PIA)
of a new technology or system to identify potential privacy risks and develop strategies
to mitigate them.
3. Regulation Compliance: Students can explore the requirements of the Data Protection
Regulations and develop a plan for ensuring compliance with the regulation.
4. Cryptography: Students can learn about different cryptographic techniques and tools,
such as encryption, hashing, and digital signatures, and implement them in practice.
5. Anonymization Techniques: Students can learn about data anonymization techniques,
such as k-anonymity, differential privacy, and data masking, and apply them to a real-
world dataset.
6. Privacy Policy Analysis: Students can analyze the privacy policies of different
companies and identify gaps or areas for improvement.
7. Privacy-Enhancing Technologies: Students can explore privacy-enhancing
technologies (PETs), such as virtual private networks (VPNs), Tor, and secure
messaging apps, and evaluate their effectiveness in protecting privacy.
8. Privacy Breach Response Plan: Students can develop a privacy breach response plan
for a company or organization, including steps to take in the event of a data breach and
strategies for communicating with affected parties.
9. Ethical Considerations: Students can explore ethical considerations in data privacy,
such as the balance between privacy and security, the impact of data collection and
analysis on marginalized communities, and the role of data ethics in technology
development.
10. Case Studies: Students can analyze case studies of privacy breaches or successful
privacy protection strategies, and identify key lessons and takeaways.
49
Learning Objectives
This course introduces the concepts of Internet protocols, ports used during communication,
Client/Server concepts and various transport protocols used in computer network applications
and services. The objective is to equip the students with technical knowledge of it comprises
of the study of the sockets used with TCP and UDP.
Learning outcomes
Describe and analyze the various Internet Transport layer protocols used in TCP AND
UDP.
Comprehend the concepts and structures of both TCP based connection-oriented and
UDP based connectionless client server applications.
Write various real-life client-server applications using socket programming.
Modify, maintain and extend the present internet client-server applications and write
any new type of internet applications to suit the current needs of Internet users.
SYLLABUS OF DSE
Unit 1 (6 hours)
Introduction Basics of Client Server applications, Example of day time client server,
concurrent servers, protocols, sockets, port numbers.
Unit 4 (7 hours)
Elementary name and Address conversions: Domain Name System, socket functions like
gethostbyname, gethostbyname2, gethostbyaddr function, uname function, gethostname
function, getservbyname and getservbyport functions.
Essential/recommended readings
50
1. W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming,
The sockets Networking API, Vol. 1, 3rd Edition, PHI.
2. B. A. Forouzan: Data Communications and Networking, THM Publishing Company
Ltd
3. R. Stevens, Unix Network Programming, PHI 2nd Edition
51
COMMON POOL OF GENERIC ELECTIVES (GE) COURSES
(For all the Generic Elective courses offered by your department, please put it in the
format provided below)
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course introduces Operating System and its importance in computer systems. The focus
is to explain the common services provided by an operating system like process management,
memory (primary, secondary & virtual) management, I/O management, file management. The
course talks about the various functional components of the operating and their design.
Learning outcomes
On successful completion of the course, students will be able to gain knowledge of different
concepts of the operating System and its components. They would learn about shell scripts and
would be able to use the system in an efficient manner.
SYLLABUS OF GE-5a
Unit 1 (5 hours)
Introduction: Operating Systems (OS) definition and its purpose, Multiprogrammed and
Time-Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as resource
manager.
52
Unit 2 (6 hours)
Operating System Structures: OS Services, System Calls: Process Control, File
Management, Device Management, and Information Maintenance, Inter-process
Communication, and Protection, System programs, OS structure- Simple, Layered,
Microkernel, and Modular.
Unit 3 (10 hours)
Process Management: Process Concept, States. Process Control Block, Context Switch,
Process scheduling, Schedulers, Overview of threads and Scheduling Algorithms: First Come
First Served, Shortest-Job-First, Priority & Round-Robin.
Unit 4 (10 hours)
Memory Management: Physical and Logical address space, Swapping Contiguous memory
allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual memory:
Demand Paging.
Unit 5 (8 hours)
File and Input / Output Device Management: File Concepts, File Attributes, File Access
Methods, Directory Structure: Single-Level, Two-Level, Tree-Structured, and Acyclic-Graph
Directories, Magnetic Disks, Solid-State Disks, Magnetic Tapes.
Unit 6 (6 hours)
Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
Essential/recommended readings
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. G. Nutt, Operating Systems, Pearson, 2009
Additional References
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
2. Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs,
NJ: Prentice-Hall, 1984.
3. Stallings, W., Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
4. Tanenbaum, A. S., Modern Operating Systems. 3rd edition. Pearson Education, 2007.
1. Usage of following commands: ls, pwd, cat, who, rm, mkdir, rmdir,cd.
53
2. Usage of following commands: cal, cat(append), cat(concatenate), mv, cp, man, date.
3. Usage of following commands: chmod, grep, bc.
4. Write a shell script to display date in the mm/dd/yy format.
5. Write a shell script to display the multiplication table any number.
6. Write a shell script to find the factorial of a given number.
7. Program to show the pyramid of special character “*”.
8. Write a shell script to find the sum of digits of a given number.
9. Write a shell script to perform the tasks of basic calculator.
10. Write a shell script to find the power of a given number.
11. Write a shell script to check whether the number is Armstrong or not.
12. Write a shell script to find the GCD (greatest common divisor) of two numbers.
13. Write a shell script to check if the number entered at the command line is prime or not.
14. Write a shell script to display on the screen sorted output of “who” command along
with the total number of users.
15. Write a shell script to accept a login name. If not a valid login name display message –
“Entered login name is invalid”.
16. Write a shell script to compare two files and if found equal asks the user to delete the
duplicate file.
17. Write a shell script to merge the contents of three files, sort the contents and then display
them page by page.
18. Write a shell script to check whether the file have all the permissions or not.
19. Write a shell script to modify “cal” command to display calendars of the specified
months.
20. Write a shell script to modify “cal” command to display calendars of the specified range
of months.
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course aims to familiarize the students with the concepts and techniques of server side web
programming. This will enable the students to create dynamically generated web pages using
HTML, PHP, MySql and JQuery.
54
Learning outcomes
SYLLABUS OF GE-5b
Unit 1 (7 hours)
Introduction to PHP: Basic syntax, defining variables and constants, data types including
arrays, operators and expressions, decision making statements, constructs for iterations.
Unit 2 (5 hours)
String Handling: Creating a string and accessing its content, searching and replacing content
of a string, and other built-in functions.
Handling HTML Form with PHP: Creating a form, submitting data to the server at the
backend using GET and POST methods, GET vs POST methods, PHP global functions.
Database: Connectivity with MySQL: Connectivity with database, database creation, creating
tables, create, retrieve, update, and delete (CRUD) operations
Unit 5 (6 hours)
jQuery and JSON: Introduction to jQuery syntax (selectors, events, AJAX, JSON).
Essential/recommended readings
1. Nixon, R. Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5,
O'Reilly, 2018.
2. Holzner S. PHP: The Complete Reference, McGraw Hill, 2017
3. Murach J, Murach's PHP and MySQL, 2nd edition, Mike Murach & Associates, 2014.
4. Duckett, J. JavaScript and JQuery: Interactive Front-End Web Development, Wiley,
2014.
Additional References
1. https://www.w3schools.com/php/default.asp
55
2. https://www.tutorialspoint.com/php/index.htm
6. Write PHP Code to make connection to MySql database, create database and tables
and perform insertion, deletion, and retrieval of the data (Using SQL operations like
.JOIN, ORDER BY, GROUP BY) Display the messages such as “The record is
added in the database!” when data is inserted into the database, “A record is deleted
from the database” when data is deleted from the database. Use appropriate button
names such as Add Data, Delete Data, and Display Data.
56
4. Handle HTML form, store the data in JSON object, pass them to another page and
display it there using jQuery/Javascript
Course title & Credits Credit distribution of the course Eligibility Pre-requisite of the course
Code criteria
Lectur Tutorial Practical/
e Practice
GE5c: Java 4 3 0 1 Pass in DSC 04 Object Oriented
Based Web Class XII Programming with C++/
App GE 1a Programming
Development using C++ / GE1b
Programming with
Python/ DSC 01
Programming using
Python/ GE 3b: Java
Programming / A
programming course at
class XII level
Learning Objectives
The course aims to familiarize the students with the concepts and techniques of web app
development based on Java. The students will learn about database connectivity, use of HTTP
protocol, client side programming, and use of servlets and JSP for server side programming.
Learning outcomes
SYLLABUS OF GE-5c
Unit 1 (8 hours)
57
Unit 2 (10 hours)
Java Database Connections: Database connectivity, Connection, statement, result set object,
Metadata, Connection pooling, CRUD operations, Prepared and callable statements
Introduction to servlets: Concepts of Streams, events and listener, recap of HTML, CSS,
XML, Servlet package and interface, life cycle of servlet, deployment descriptor, Filters,
HHTP and Generic servlet, request dispatcher, Request Response classes, Dynamic page
designing using servlet.
Introduction to JSP: JSP Life cycle, tags in JSP, custom tags, Expression Language,
Introduction to Struts Framework, Implicit objects, database access using JSP
Essential/recommended readings
1. Herbert Schildt, Java : The Complete Reference, 12th edition, McGraw-Hill Education,
2021.
2. Hans Bergsten, Java Server Pages, 3rd edition, O′Reilly, 2003.
3. Jim Keogh, The Complete Reference J2EE, 1st edition, McGraw-Hill Education, 2017.
1. Setting up the development environment: Install Java Development Kit (JDK), Eclipse
IDE, and Apache Tomcat web server. Create a new web project in Eclipse.
2. Writing and deploying a "Hello World" servlet: Create a simple servlet that prints "Hello
World" on the web page. Deploy the servlet on Tomcat and test it in a web browser.
3. Handling HTTP requests and responses: Write a servlet that reads input from HTTP
requests and sends output as HTTP responses.
4. Creating a JSP page: Create a JSP page that displays dynamic.
5. Write a servlet that handles form submissions and saves the data to a database using
JDBC.
6. Write a servlet that implements user authentication and authorization using a database.
7. Creating a web application using MVC architecture: Create a web application using
Model-View-Controller (MVC) architecture. Use servlets as controllers, JSP pages as
views.
8. Deploying a web application to a server: Configure and deploy a web application to a
server using Apache Tomcat Manager or other deployment tools.
58
(Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the three Core Disciplines)
Learning Objectives
The course introduces the students to the fundamentals of database management system and its
applications. Emphasis is given on the popular relational database system. Students will learn about
the importance of database structure and its designing using Entity Relationship diagram and formal
approach using normalization. Basic concepts of file indexing and transaction processing will be
taught. The course would give students hands-on practice of structured query language to create,
manipulate and implement a relational database.
Learning outcomes
On successful completion of the course, students will be able to:
Use relational database management software to create and manipulate the database.
Create conceptual data models using entity relationship diagrams for modeling real-life
situations and map it to corresponding relational database schema.
Use the concept of functional dependencies to remove redundancy and update
anomalies.
Apply normalization theory to get a normalized database scheme to get anomalies free
database.
Write queries in relational algebra.
Implement relational databases and formulate queries for data retrieval and data update
problems using SQL.
Learn the importance of index structures and concurrent execution of transactions in
database systems.
59
SYLLABUS OF DSC-5
Unit 1 (5 hours)
Introduction to Database: Database, characteristics of database approach, data models,
database management system, three-schema architecture, components of DBMS, data
independence, and file system approach vs database system approach.
Unit 2 (6 hours)
Entity Relationship Modeling: Conceptual data modeling - motivation, entities, entity types,
attributes, relationships, relationship types, constraints on relationship, Entity Relationship
diagram as conceptual data model.
Unit 3 (6 hours)
Unit 4 (8 hours)
Structured Query Language (SQL): DDL to create database and tables, table constraints,
DML, Querying in SQL to retrieve data from the database, aggregation functions group by and
having clauses, generate and query views.
Essential/recommended readings
1. Elmasri, R., Navathe, B. S., Fundamentals of Database Systems, 7th edition, Pearson
Education, 2016.
2. Murach, J., Murach's MySQL, 3th edition, Pearson, 2019.
Additional References
60
1. Connolly, T. M., Begg, C. E., Database Systems: A Practical Approach to Design,
Implementation, and Management, 6th edition, Pearson, 2019.
2. Ramakrishnan, R., Gehrke, J., Database Management Systems, 3rd edition, McGraw-Hill,
2014.
3. Silberschatz, A., Korth, H.F., Sudarshan S., Database System Concepts, 7th edition,
McGraw Hill, 2019.
Here Rollno (ADMISSION) and SID (ADMISSION) are foreign keys. Note that course type
may have two values viz. Fulltime and Parttime and a student may enroll in any number of
courses
61
14. Find names of all students who took admission to any course and course names in which
at least one student has enrolled
15. Find course names such that its teacher-in-charge has a name with ‘Gupta’ in it and
the course is full time.
16. Find the course names in which the number of enrolled students is only 10% of its
total seats.
17. Display the vacant seats for each course
18. Increment Total Seats of each course by 10%
19. Add enrollment fees paid (‘yes’/’No’) field in the enrollment table.
20. Update date of admission of all the courses by 1 year.
21. Create a view to keep track of course names with the total number of students enrolled
in it.
22. Count the number of courses with more than 5 students enrolled for each type of course.
23. Add column Mobile number in student table with default value ‘9999999999’
24. Find the total number of students whose age is > 18 years.
25. Find names of students who are born in 2001 and are admitted to at least one part time
course.
26. Count all courses having ‘science’ in the name and starting with the word ‘BSc’.
Students are also encouraged to implement the database given in the textbook and do the
related queries.
62
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the two Core Disciplines
(For e.g. courses for B.A. Programmes with Computer Science as Major discipline)
DSC05: 4 3 0 1 NIL
Database
Managemen
t System
Learning Objectives
The course will give an overview of categories of data models used by database
management systems and writing queries in relational algebra. The importance of file
indexing and controlled execution of transactions will be taught. The course would give
students hands-on practice to write complex queries, nested queries using aggregate
functions in SQL and to use basic database administration commands.
Learning outcomes
On successful completion of the course, students will be able to:
63
SYLLABUS OF DSC 05
Unit 1 (6 hours)
Data models and Relational Algebra: Categories of data models, types of database users,
Relational Algebra Operations from SET Theory, SELECT, PROJECT, JOIN, DIVISION
Operations.
Unit 2 (8 hours)
Unit 3 (8 hours)
Database Storage and index Structures: Storage of data, file structure, file organization and
its types: Sequential, Heap and Indexed, Hash file, need for file Indexing, single- and multi-
level indexing.
Unit 4 (8 hours)
Unit 5 (8 hours)
Advanced SQL: Nested and complex queries using Inner JOIN, Left JOIN, Right JOIN, Full
JOIN, views, Database Administration Commands: COMMIT, ROLLBACK, drop database,
control permissions etc.
Unit 6 (7 hours)
Essential/recommended readings
64
Additional References
1. Silberschatz, A., Korth, H.F., & Sudarshan, S. Database System Concepts, 8th Edition,
McGraw Hill, 2019.
Create tables with relevant column and integrity constraints and populate the tables with data.
65
15. For each employee, retrieve the employee's name, and the name of his or her immediate
supervisor
16. Retrieve all combinations of Employee Name and Department Name
17. Make a list of all project numbers for projects that involve an employee whose last name
is 'Narayan’ either as a worker or as a manager of the department that controls the project
18. Increase the salary of all employees working on the 'ProductX' project by 15%. Retrieve
employee name and increased salary of these employees
19. Retrieve a list of employees and the project name each works in, ordered by the
employee's department, and within each department ordered alphabetically by employee
first name
20. Select the names of employees whose salary does not match with salary of any employee
in department 10
21. Drop the column “Join_Date” from the employee table
22. Retrieve the name of each employee who has a dependent with the same first name and
same sex as the employee
23. Retrieve the employee numbers of all employees who work on project located in Bellaire,
Houston, or Stafford.
24. Change the name of existing table DEPT_LOCATIONS to DLOCATIONS
25. Find the sum of the salaries of all employees, the maximum salary, the minimum salary
and the average salary for each department. Display with proper headings
26. Find the sum of the salaries and number of employees of the ‘Marketing’ department, as
well as the maximum salary, the minimum salary, and the average salary in this
department
27. Select the names of employees whose salary is greater than the average salary of all
employees in department 10
28. For each department, retrieve the department number, the number of employees in the
department and their average salary
29. For each project, retrieve the project number, the project name, and the number of
employees who work on that project for more than 10 hours
30. Change the location and controlling department number for all projects having more than
5 employees to ‘Bellaire’ and 6 respectively
31. For each department having more than 10 employees, retrieve the department name,
number of employees drawing more than 40,000 as salary
32. Display employee names having no dependent in descending order along with their age
33. For each department, find the number of female and number of male employees along
with name of manager of that department
34. Find the name and age of youngest employee in each department
35. Change the name of MINIT attribute of an employee table to MNAME using alter
command
36. Create a view to keep names of employees and their department names if they are not
working on any project
37. Create a view to keep track of all employee names who are working on same projects as
that of employee ‘Franklin T. Wong’
38. Execute system administrative commands like commit, rollback, granting control
permissions, etc.
66
DISCIPLINE SPECIFIC CORE COURSE (A5): Machine Learning
Course title Credits Credit distribution of the course Eligibility Pre-requisite of the
& Code criteria course
Lecture Tutorial Practical/
Practice
Learning Objectives
The course aims at introducing the basic concepts and techniques of machine learning so
that a student can apply machine learning techniques to a problem at hand.
Learning outcomes
SYLLABUS OF A5
Unit 1 (8 hours)
Introduction: Basic definitions and concepts, key elements, supervised and
unsupervised learning, introduction to reinforcement learning, applications of ML.
67
Essential/recommended readings
1. Mitchell, T.M. Machine Learning, McGraw Hill Education, 2017.
2. James, G., Witten. D., Hastie. T., Tibshirani., R. An Introduction to Statistical Learning
with Applications in R, Springer, 2014.
3. Alpaydin, E. Introduction to Machine Learning, MIT press, 2009.
Additional References
1. Flach, P., Machine Learning: The Art and Science of Algorithms that Make Sense
of Data, Cambridge University Press, 2015.
2. Christopher & Bishop, M., Pattern Recognition and Machine Learning, New
York: Springer-Verlag, 2016.
3. Sebastian Raschka, Python Machine Learning, Packt Publishing Ltd, 2019.
Use Python for practical labs for Machine Learning. Utilize publically available datasets
from online repositories like https://data.gov.in/ and
https://archive.ics.uci.edu/ml/datasets.php
68
Computer Science Courses for Undergraduate Programme of study with Computer
Science discipline as one of the two Core Disciplines
(For e.g. courses for B.A. Programmes with Computer Science as Non-major discipline)
DSC05: 4 3 0 1 Pass in
Database Class XII
Managemen
t System
Learning Objectives
The course will give an overview of categories of data models used by database
management systems and writing queries in relational algebra. The importance of file
indexing and controlled execution of transactions will be taught. The course would give
students hands-on practice to write complex queries, nested queries using aggregate
functions in SQL and to use basic database administration commands.
Learning outcomes
On successful completion of the course, students will be able to:
69
SYLLABUS OF DSC 05
Unit 1 (6 hours)
Data models and Relational Algebra: Categories of data models, types of database users,
Relational Algebra Operations from SET Theory, SELECT, PROJECT, JOIN, DIVISION
Operations.
Unit 2 (8 hours)
Unit 3 (8 hours)
Database Storage and index Structures: Storage of data, file structure, file organization and
its types: Sequential, Heap and Indexed, Hash file, need for file Indexing, single- and multi-
level indexing.
Unit 4 (8 hours)
Unit 5 (8 hours)
Advanced SQL: Nested and complex queries using Inner JOIN, Left JOIN, Right JOIN, Full
JOIN, views, Database Administration Commands: COMMIT, ROLLBACK, drop database,
control permissions etc.
Unit 6 (7 hours)
Essential/recommended readings
Additional References
1. Silberschatz, A., Korth, H.F., & Sudarshan, S. Database System Concepts, 8th Edition,
McGraw Hill, 2019.
70
MySQL might be used for practical purposes.
Create tables with relevant column and integrity constraints and populate the tables with data.
71
20. Select the names of employees whose salary does not match with salary of any
employee in department 10
21. Drop the column “Join_Date” from the employee table
22. Retrieve the name of each employee who has a dependent with the same first name and
same sex as the employee
23. Retrieve the employee numbers of all employees who work on project located in
Bellaire, Houston, or Stafford.
24. Change the name of existing table DEPT_LOCATIONS to DLOCATIONS
25. Find the sum of the salaries of all employees, the maximum salary, the minimum salary
and the average salary for each department. Display with proper headings
26. Find the sum of the salaries and number of employees of the ‘Marketing’ department,
as well as the maximum salary, the minimum salary, and the average salary in this
department
27. Select the names of employees whose salary is greater than the average salary of all
employees in department 10
28. For each department, retrieve the department number, the number of employees in the
department and their average salary
29. For each project, retrieve the project number, the project name, and the number of
employees who work on that project for more than 10 hours
30. Change the location and controlling department number for all projects having more
than 5 employees to ‘Bellaire’ and 6 respectively
31. For each department having more than 10 employees, retrieve the department name,
number of employees drawing more than 40,000 as salary
32. Display employee names having no dependent in descending order along with their age
33. For each department, find the number of female and number of male employees along
with name of manager of that department
34. Find the name and age of youngest employee in each department
35. Change the name of MINIT attribute of an employee table to MNAME using alter
command
36. Create a view to keep names of employees and their department names if they are not
working on any project
37. Create a view to keep track of all employee names who are working on same projects as
that of employee ‘Franklin T. Wong’
38. Execute system administrative commands like commit, rollback, granting control
permissions, etc.
72