BSC H Computer Science
BSC H Computer Science
University of Delhi
T
AF
R
D
TABLE-3
Bachelor of (Field of Study/ Discipline) (Hons.)
Semester Core (DSC) Elective (DSE) Generic Ability Skill Internship/ Value addition Total
File 1. File 3 Elective Enhancement Enhancement Apprentice- course (VAC) Credits
(GE) Course (AEC) Course (SEC) ship/Project/
Community
outreach (2)
DSC - 1(4) Choose one Choose one Choose one Choose one 22 credits
T
Programming from a pool from a pool of from a pool of from a pool of
using Python of courses AEC courses courses (2) courses (2)
GE-1 (4) (2)
DSC - 2(4)
Computer
AF
System
Architecture
DSC - 3(4)
Mathematics for
Computing
II DSC- 4(4) Choose one Choose one Choose one Choose one 22 credits
Object Oriented from a pool from a pool of from a pool of from a pool of
Programming
with C++ of courses AEC courses courses (2) courses (2)
GE-2 (4) (2)
RDSC- 5(4)
Discrete
Mathematical
Structures
D
DSC- 6(4)
Probability for
Computing
Students on exit shall be awarded Undergraduate Certificate (in the field of Study/ Discipline) after securing the Total= 44
requisite 44 credits in Semesters I and II
Ill DSC - 7(4) Choose one from pool of Choose one Choose one SEC Choose one
Data Structures courses, DSE- 1 (4) from a pool of OR from a pool of
22 credits
OR AEC courses Internship / Apprenticeship/ courses (2)
Choose one from pool of (2) Project/ Com m unity Outreach (IAPC)
courses, GE -3 (4)** (2) *
DSC- 8(4)
Operating
Systems
Data Analysis and
Visualization (DAV)
DSC-9 (4) OR
Numerical
Optimization Cryptography
T
OR
Microprocessor
IV DSC - 10(4) Choose one from pool of Choose one Choose one SEC Choose one 22 Credits
Design and courses, DSE- 2 (4) from a pool of OR from a pool of
AF
Analysis of OR AEC courses ' Intern ship / Apprenticeship/ courses (2)
Algorithms (2)
in the alternative choose Project/ com m unity outreach
one from pool of courses (IAPC) (2) *
GE-4 (4)**
OR
DSC - 12(4)
RComputer
Networks
Data Privacy
OR
Introduction to Web
Programming
Students on exit shall be awarded Undergraduate Diploma (in the Field of Study/ Discipline) after securing the requisite 88 credits Total= 88
D
on completion of Semester IV
V DSC - 13(4) Data Mining- Choose one Choose one SEC 22 credits
Algorithms II from a pool of OR
and Advanced courses GE-5 Intern ship / Apprenticeship /
Data Project/ Com m unity Outreach
OR (4)
Structures (IAPC) (2) * * *
Unix Network
DSC- 15(4)
Programming
Software
Engineering
T
AF
R
D
VI DSC- 16(4) Choose one Choose one Choose one SEC 22 credits
Artificial from a pool from a pool OR
Intelligence of courses of courses 'Int ern ship / Apprenticeship /
DSE-4 (4) GE-6 (4) " Project / Research / Comm unity
Social Outreach (2) * * *
DSC-17 (4)
Network
T
Machine
Learning Analytics
DSC-18 (4) OR
Introduction to
Parallel Computer
AF
Programming Graphics
OR
Deep
Learning
OR
Ethical
R Hacking
OR
Wireless
Technology
D
and
Standards
OR
Research
Methodology
(RM)
Students on exit shall be awarded Bachelor of (in the Field of Study/Discipline) Honours (3 years) after securing the Total= 132
requisite 132 credits on completion of Semester VI
T
Choose one DSE (4) and two
GE (2x4) courses OR
(total = 12)# Academic
project/
● Digital Image Entrepreneurship
(6)
Processing
AF
● Advanced Algorithms
● Reinforcement
Learning
● Cyber Forensic
● Advanced TCP/IP
● Mobile and Satellite
Communication
● Research Methodology
(RM)
VIII
R
DSC -20 (4)
Information
Security
Choose three DSE (3x4)
courses OR
Choose two DSE- (2x4) and
one GE (4) course OR Choose
Dissertation on
Major (6)
OR
Dissertation on
22 credits
● Natural Language
Processing
● IT Infrastructure
Management
● Critical Infrastructure
Management
● Blockchain and its
applications
● Cloud Computing
● IOT
● Distributed Algorithms
T
Students on exit shall be awarded Bachelor of (in the Field of Study/Discipline) (Honours with Research/Academic Total = I 76
Projects/Entrepreneurship) or (Honours with Research in Discipline- I (Major) with Discipline-2 (Minor) after securing the requisite 176
credits on completion of Semester VIII
AF
R
D
Table of Contents
1. Preamble
2. Discipline Specific Graduate Attributes
3. Table of Core Courses
4. Syllabi of Core Courses
T
Preamble
The new curriculum of the four year undergraduate program under NEP, called as UGCF, for
computer science aims to develop the core competence in computing and problem solving
AF
amongst its graduates. Informally, “Learning to learn” has been the motto of the department
since its inception. The curriculum thus focuses on building theoretical foundations in computer
science to enable its pupils to think critically when challenged with totally different and new
problems. It imbibes the following Student-Centric features of NEP 2020:
Flexibility to Exit: In order to support early exits, the curriculum aims to develop employability
skills early. This has been done so that the outcomes of the 4 yr degree is not compromised as we
believe that all but a few students will go for the full 4 year degree. As programming is at the
R
heart of computing it is proposed to have two programming courses early so that the students can
develop good programming skills in the first year. At the same time students are familiarized
with the hardware of computers early on.
Employability: Industry demand in the IT sector has changed considerably in the past few years.
D
With the humongous amount of data coming from all the domains like medical data, social
networking data, astronomical data, education, etc., automating information extraction and
analysis of data is the only way forward to leverage the available data for the future. The
curriculum aims to equip the students with tools and techniques of Artificial Intelligence,
Machine Learning and a pathway on Data Science if the student so desires.
Having said this, there is no replacement for the foundational courses like programming, data
structures and algorithms. With two courses on programming and three courses on data
structures and algorithms together, a strong foundation will be laid down for problem solving.
Flexibility to Choose: The curriculum provides multiple pathways (discipline specific electives
) for the students to choose their micro-specialization, if any. This includes tracks on
Data-Science, Machine Learning and its application, Security, Networks, Theory and Internet
Technologies. Each pathway provides learning progression in the chosen area of specialization.
The project based pathway on “problem solving with computers” will inculcate the high order
thinking skills in the students. Students will be expected to model real life problems
mathematically and use their programming skills to solve them.
Multidisciplinarity: The curriculum provides two pathways (generic elective), one of computer
science (CS) and the other of information technology (IT), to the students from other disciplines.
Those who want to earn a minor in CS will be required to choose the first pathway whereas those
who simply want to apply IT in the domain of their interest can choose the second pathway.
Research: With the option to obtain specialization in an area of their choice, the curriculum
T
prepares the students to take up research projects in their final year. Strong mathematical
background built up with the help of three papers on “Mathematics for Computing” prepares the
students to choose the path of higher studies.
AF
Discipline Specific Graduate Attributes (DSGA)
T
Architect
ure
II DSC 04
AF
computin
g
y for
Computin
g
T
of
Algorithm
s
DSC05
V DSC 15 Software 3 0 1 4 DSC01,/ DSGA5
Engineeri DSC04,/
ng a course
in
C/C++/P
ython at
plus 2
level/**
T
e DSC 06
DSC 07
DSC 09
DSC10
DSC14
VI DSC 17
AF
Machine
Learning
3 0 1 4 DSC 01
DSC03
DSC 06
DSGA6
DSC 07
DSC 09
DSC10
Design
Note
1. Batch size for Practicals will be (8-10) and Tutorials will be (12-15).
acceptable.
acceptable.
T
Syllabi of Core Courses
This section gives the detailed syllabus of the core courses. Each course describes the course
objective, learning outcomes, the units and the reading material. The reading material has 2 -3
AF
components: main resource(/s), additional text material, and online resources. Main resources
are kept to a minimum possible and no more than 3. Additional resources and the online
material may be used to enhance the knowledge of the subject.
Course Objective
R
The course is designed to introduce programming concepts using Python to students. The
course aims to develop structured as well as object-oriented programming skills using Python.
The course also aims to achieve competence amongst its students to develop correct and
D
3. Write programs in Python using dynamic memory allocation, handling external files,
interrupts and exceptions.
4. Solve real life problems of reasonable complexity using suitable and efficient
programming constructs in Python.
5. Solve real life problems of reasonable complexity using the concepts of object oriented
programming in Python.
Syllabus
T
Unit 2 Creating Python Programs: Identifiers and keywords; Literals, numbers, and strings;
Operators; Expressions; Input/output statements; Defining functions; Control structures
(conditional statements, loop control statements, break, continue and pass, exit function),
default arguments.
AF
Unit 3 Built-in data structures: Mutable and immutable objects; Strings, built-in functions for
string, string traversal, string operators and operations; Lists creation, traversal, slicing and
splitting operations, passing list to a function; Tuples, sets, dictionaries and their operations.
Unit 4 Object Oriented Programming: Introduction to classes, objects and methods; Standard
libraries.
Unit 5 File and exception handling: File handling through libraries; Errors and exception
R
handling.
References
D
1. Taneja, S., Kumar, N. Python Programming- A modular Approach, 1st edition, Pearson
Education India, 2018.
2. Balaguruswamy E. Introduction to Computing and Problem Solving using Python, 2nd
edition, McGraw Hill Education, 2018.
Additional References
(i) Brown, Martin C. Python: The Complete Reference, 2nd edition, McGraw Hill Education,
2018.
(ii) Guttag, J.V. Introduction to computation and programming using Python, 2nd edition, MIT
Press, 2016.
T
3. WAP to create a pyramid of the character ‘*’ and a reverse pyramid
*
***
***** AF
*******
*********
*********
*******
******
***
*
4. WAP that accepts a character and performs the following:
a. print whether the character is a letter or numeric digit or a special character
R
b. if the character is a letter, print whether the letter is uppercase or lowercase
c. if the character is a numeric digit, prints its name in text (e.g., if input is 9, output
is NINE)
D
T
d. Copy even lines of the file to a file named ‘File1’ and odd lines to another file
named ‘File2’.
10. WAP to define a class Point with coordinates x and y as attributes. Create relevant
AF
methods and print the objects. Also define a method distance to calculate the distance
between any two point objects.
11. Write a function that prints a dictionary where the keys are numbers between 1 and 5 and
the values are cubes of the keys.
12. Consider a tuple t1=(1, 2, 5, 7, 9, 2, 4, 6, 8, 10). WAP to perform following operations:
a) Print half the values of the tuple in one line and the other half in the next line.
b) Print another tuple whose values are even numbers in the given tuple.
R
c) Concatenate a tuple t2=(11,13,15) with t1.
d) Return maximum and minimum value from this tuple
13. WAP to accept a name from a user. Raise and handle appropriate exception(s) if the text
D
Course Objective
This course introduces the students to the fundamental concepts of digital computer
organization, design and architecture. It aims to develop a basic understanding of the
building blocks of the computer system and highlights how these blocks are organized
together to architect a digital computer system.
2. Represent data in binary form, convert numeric data between different number systems
and perform arithmetic operations in binary.
3. Explain instruction cycle, pipelining and interrupts.
4. Explain data communication between CPU, memory and I/O devices.
T
5. Simulate the design of a basic computer using a software tool.
Syllabus
AF
Unit 1 Digital Logic Circuits: Logic Gates, Truth Tables, Boolean Algebra, Digital Circuits,
Combinational Circuits, Introduction to Sequential Circuits, Circuit Simplification using
Karnaugh Map, Don’t Care Conditions, Flip-Flops, Characteristic Tables, Excitation Table.
Unit 4 Basic Computer Organization and Design: Bus organization, Micro programmed vs
Hardwired Control , Instruction Codes, Instruction Format, Instruction Cycle, Instruction
D
pipelining, Memory Reference, Register Reference and Input Output Instructions, Program
Interrupt and Interrupt Cycle.
1. David A. Patterson and John L. Hennessy. “Computer Organization and Design : The
Hardware/Software interface”, 5th edition, Elsevier, 2012.
2. Mano, M. Computer System Architecture, 3rd edition, Pearson Education, 1993.
Additional References
(ii) Null, L., & Lobur, J. The Essentials of Computer Organization and Architecture.
T
(iii) Stallings, W. Computer Organization and Architecture Designing for Performance
8th edition, Prentice Hall of India, 2010.
T
AF
R
D
Refer to Chapter-5 of reference 1 for description of instructions.
Design the register set, memory and the instruction set. Use this machine for the assignments of
this section.
2. Create a Fetch routine of the instruction cycle.
3. Write an assembly program to simulate ADD operation on two user-entered numbers.
4. Write an assembly program to simulate SUBTRACT operation on two user-entered
numbers.
5. Write an assembly program to simulate the following logical operations on two user-
entered numbers.
i. AND
T
ii. OR
iii. NOT
iv. XOR
v. NOR
vi. NAND
AF
6. Write an assembly program for simulating following memory-reference instructions.
i. ADD
R
ii. LDA
iii. STA
iv. BUN
D
v. ISZ
7. Write an assembly language program to simulate the machine for following register reference
instructions and determine the contents of AC, E, PC, AR and IR registers in decimal after
the execution:
i. CLA
ii. CMA
iii. CME
iv. HLT
8. Write an assembly language program to simulate the machine for following register
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. INC
ii. SPA
iii. SNA
iv. SZE
9. Write an assembly language program to simulate the machine for following register
T
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. CIR
ii. CIL
AF
10. Write an assembly program that reads in integers and adds them together; until a
negative non-zero number is read in. Then it outputs the sum (not including the last number).
11. Write an assembly program that reads in integers and adds them together; until zero is
read in. Then it outputs the sum.
R
DSC 03: Mathematics for computing
Course Objective
D
This course introduces the students to the fundamental concepts and topics of linear algebra and
vector calculus, whose knowledge is important in other computer science courses. The course
aims to build the foundation for some of the core courses in later semesters.
After successful completion of this course, the student will be able to:
Syllabus
T
Equations: Gauss elimination and Solution of System of Homogeneous Equations: Gauss Jordan
Method.
AF
Unit 2 Vector Space and Linear Transformation: Vector Space, Sub-spaces, Linear
Combinations, Linear Span, Convex Sets, Linear Independence/Dependence, Basis &
Dimension, Linear transformation on finite dimensional vector spaces, Inner Product Space,
Schwarz Inequality, Orthonormal Basis, Gram-Schmidt Orthogonalization Process.
Unit 4 Vector Calculus: Vector Algebra,Laws of Vector Algebra, Dot Product, Cross
Product,Vector and Scalar Fields, Ordinary Derivative of Vectors, Space Curves, Partial
D
References
Additional References
(i) Deisenroth, Marc Peter, Faisal A. Aldo and Ong ChengSoon. Mathematics for Machine
Learning, 1st Edition, Cambridge University Press, 2020.
(ii) Lipschutz Seymour and Lipson Marc. Schaum's Outline of Linear Algebra, 6th Edition,
McGraw Hill, 2017.
T
1. Create and transform vectors and matrices (the transpose vector (matrix) conjugate transpose
of a vector (matrix))
AF
2. Generate the matrix into echelon form and find its rank.
7.Check the linear dependence of vectors. Generate a linear combination of given vectors of Rn/
matrices of the same size and find the transition matrix of given matrix space.
8.Find the orthonormal basis of a given vector space using the Gram-Schmidt orthogonalization
D
process.
9.Check the diagonalizable property of matrices and find the corresponding eigenvalue and
10.Application of Linear algebra: Coding and decoding of messages using nonsingular matrices.
Course Objective
This course is designed to introduce programming concepts using C++ to students. The course
aims to develop structured as well as object-oriented programming skills using C++
T
programming language. The course also aims to achieve competence amongst its students to
develop correct and efficient C++ programs to solve problems spanning multiple domains.
Syllabus
D
Unit 4 Pointers and References: Static and dynamic memory allocation, Pointer and Reference
Variables, Implementing Runtime polymorphism using pointers and references
Unit 5 Exception and File Handling: Using try, catch, throw, throws and finally; Nested try,
creating user defined exceptions, File I/O Basics, File Operations
References
1. Stephen Prata C++ Primer Plus, 6th Edition, Pearson India, 2015
2. E Balaguruswamy Object Oriented Programming with C++, 8th edition, McGraw-Hill
Education, 2020
3. D.S. Malik, C++ Programming: From Problem Analysis to Program Design, 6th edition,
Cengage Learning, 2013
Additional References
T
(i) Herbert Schildt, C++: The Complete Reference, 4th Edition, McGraw Hill, 2003
(ii) A. B. Forouzan, Richard F. Gilberg, Computer Science: A Structured Approach using
C++, 2nd edition, Cengage Learning, 2010
𝑆 = 1 −
AF
Write a program to compute the sum of the first n terms of the following series:
1
2 +
1
3 −
1
4 +
1
5 − ....
2 3 4 5
The number of terms n is to be taken from the user through the command line. If the
command line argument is not found then prompt the user to enter the value of n.
2. Write a program to remove the duplicates from an array.
R
3. Write a program that prints a table indicating the number of occurrences of each
alphabet in the text entered as command line arguments.
4. Write a menu driven program to perform string manipulation (without using inbuilt
string functions):
D
T
9. Define a class Person having name as a data member. Inherit two classes Student and
Employee from Person. Student has additional attributes as course, marks and year and
Employee has department and salary. Write display() method in all the three classes to
display the corresponding attributes. Provide the necessary methods to show runtime
10.
polymorphism.
AF
Create a Triangle class. Add exception handling statements to ensure the following
conditions: all sides are greater than 0 and sum of any two sides are greater than the
third side. The class should also have overloaded functions for calculating the area of
a right angled triangle as well as using Heron's formula to calculate the area of any type
of triangle.
11. Create a class Student containing fields for Roll No., Name, Class, Year and Total
R
Marks. Write a program to store 5 objects of Student class in a file. Retrieve these
records from the file and display them.
12. Copy the contents of one text file to another file, after removing all whitespaces.
D
Course Objective
This course is designed as a foundational course to make students learn about the mathematical
constructs that are used in Computer Science such as Boolean algebra, sets, relations,
functions, principles of counting, and recurrences. In this course, the knowledge of
mathematical notation, ideas and concepts learnt at the pre-college levels is extended to orient
the students towards mathematical thinking required in Computer Science.
Course Learning Outcomes
T
Syllabus
Unit 1 Sets, Functions, Sequences and Summations, Relations: Sets: Set Operations,
Computer Representation of Sets, Countable and Uncountable Sets, Principle of Inclusion and
AF
Exclusion, Multisets; Functions: One-to-one and Onto Functions, Inverse Functions and
Compositions of Functions, Graphs of Functions; Sequences and Summations: Sequences,
Special Integer Sequences, Summations; Relations: Properties of Binary Relations, Equivalence
relations and Partitions, Partial Ordering Relations and Lattices.
Unit 2 Logic and Proofs: Propositional Logic, Propositional Equivalences, Use of first-order
logic to express natural language predicates, Quantifiers, Nested Quantifiers, Rules of Inference,
Introduction to Proofs, Proof Methods and Strategies, Mathematical Induction.
Unit 3 Number Theory: Division and Integers, Primes and Greatest Common Divisors,
R
Representation of Integers, Algorithms for Integer Operations, Modular Exponentiation,
Applications of Number Theory.
and Combinations.
Unit 5 Graphs and Trees: Graphs: Basic Terminology, Multigraphs and Weighted Graphs,
Paths and Circuits, Eulerian Paths and Circuits, Hamiltonian paths and Circuits, Shortest Paths,
Spanning Trees, Graph Isomorphism, Planar Graphs; Trees: Trees, Rooted Trees, Path Lengths in
Rooted Trees.
References
1. Liu, C.L., Mohapatra, D.P. Elements of Discrete Mathematics: A Computer Oriented
Approach, 4th edition, Tata McGraw Hill, 2017.
2. Rosen, K.H.. Discrete Mathematics and Its Applications, 8th edition, Mc Graw Hill, 2018.
Additional References
(i) Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th
edition, Prentice Hall of India. 2022.
(ii) Trembley, J.P., Manohar, R. Discrete Mathematical Structures with Application to
Computer Science, Tata McGraw Hill, 1997.
(iii) Albertson, M. O. and Hutchinson, J. P. Discrete Mathematics with Algorithms, John
T
Wiley and Sons, 1988.
1. Create a class SET. Create member functions to perform the following SET operations:
true/false.
AF
1) ismember: check whether an element belongs to the set or not and return value as
Using these functions check whether the given relation is: Equivalence or Partial Order
relation or None
3. Write a Program that generates all the permutations of a given set of digits, with or
without repetition.
4. For any number n, write a program to list all the solutions of the equation x1 + x2 + x3 +
...+ xn = C, where C is a constant (C<=10) and x1, x2,x3,...,xn are nonnegative integers,
using brute force strategy.
5. Write a Program to evaluate a polynomial function. (For example store f(x) = 4n2 + 2n +
9 in an array and for a given value of n, say n = 5, compute the value of f(n)).
6. Write a Program to check if a given graph is a complete graph. Represent the graph using
the Adjacency Matrix representation.
7. Write a Program to check if a given graph is a complete graph. Represent the graph using
the Adjacency List representation.
8. Write a Program to accept a directed graph G and compute the in-degree and out-degree
of each vertex.
T
This course introduces the students to the fundamental concepts and topics of probability and
statistics, whose knowledge is important in other computer science courses. The course aims to
AF
build the foundation for some of the core courses in later semesters.
After successful completion of this course, the student will be able to:
6. Visualize and model the given problem using mathematical concepts covered in the
course.
Syllabus
Unit 1 Basic Probability: Introduction to the notion of probability, Random experiment, Sample
space and Events, Probability defined on events, Algebra of events. Conditional probabilities,
independent events, Bayes’ theorem.
Unit 2 Random Variables: Introduction to Random Variables, Probability mass/density
functions, Cumulative distribution functions. Discrete Random Variables (Bernoulli, Binomial,
Poisson, Multinomial and Geometric). Continuous Random Variables (Uniform, Exponential and
Normal). Expectation of a Random Variable, Expectation of Function of a Random Variable and
Variance. Markov inequality, Chebyshev’s inequality, Central Limit Theorem, Weak and Strong
Laws of Large Numbers.
Unit 3 Joint Distributions: Jointly distributed Random Variables, Joint distribution functions,
Independent Random Variables, Covariance of Random Variables, Correlation Coefficients,
Conditional Expectation.
T
Unit 4 Markov Chain and Information Theory: Introduction to Stochastic Processes,
Chapman–Kolmogorov equations, Classification of states, Limiting and Stationary Probabilities.
AF
Random Number Generation, Pseudo Random Numbers, Inverse Transformation Method,
Rejection Method, Uncertainty, Information and Entropy, Mutual Information, KL Divergence.
References
Additional References
D
(i) Johnson James L. Probability and Statistics for Computer Science, 6th edition, Wiley, 2004.
(ii) Forsyth David Probability and Statistics for Computer Science, 1st edition, Springer, 2019.
(iii) Freund J.E. Mathematical Statistics with Applications, 8th edition, Pearson
Education, 2013.
(iv) Devore Jay L. Probability and Statistics for Engineering and the Sciences, 9th edition,
Cengage Learning, 2020
Suggested Practical List
The goal of this lab is to develop data interpretation skills. Following exercises are designed to
enable students to understand data characteristics either by visualization or by interpreting
computed measures. All the exercises are to be completed using MS Excel functions and graphs.
At the end of each exercise, the student should be able to draw a conclusion and state in a
concise manner.Teachers are expected to guide students to obtain real data available through the
internet for the following exercises.
T
2. Plotting and fitting of Multinomial distribution and graphical representation of probabilities.
9.Given data from two distributions, find the distance between the distributions.
R
10.Application problems based on the Binomial distribution.
Course Objective
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.
T
On successful completion of the course, students will be able to:
Syllabus
Unit 4 Trees, Binary Trees: Trees: definition and properties, tree traversal algorithms and their
time complexity analysis; binary trees: definition and properties, traversal of binary trees and
their time complexity analysis.
Unit 5 Binary Search Trees, Balanced Search Trees: Binary Search Trees: insert, delete,
search operations, time complexity analysis of these operations; Balanced Search Trees: insert,
search operations, time complexity analysis of these operations. Time complexity analysis.
Unit 6 Binary Heap, Priority Queue: Binary Heaps: heaps, heap operations, implementing
heaps; Priority Queues: priority queue as an ADT. Time complexity analysis.
Unit 7 Graph Representations and Traversal Algorithms: Graph as an ADT, data structures
for graphs, traversal of graphs, directed graphs. Time complexity analysis.
References
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
T
(i) Sahni, S. Data Structures, Algorithms and applications in C++, 2nd edition, Universities
Press, 2011.
(ii) Langsam Y., Augenstein, M. J., & Tanenbaum, A. M. Data Structures Using C and C++,
Pearson, 2009.
2. Write a program to implement singly linked list as an ADT that supports the following
operations:
(i) Insert an element x at the beginning of the singly linked list
R
(ii) Insert an element x at ith position in the singly linked list
(iii)Remove an element from the beginning of the singly linked list
(iv)Remove an element from ith position in the singly linked list.
(v) Search for an element x in the singly linked list and return its pointer
D
3. Write a program to implement doubly linked list as an ADT that supports the following
operations:
(i) Insert an element x at the beginning of the doubly linked list
(ii) Insert an element x at ith position in the doubly linked list
(iii)Insert an element x at the end of the doubly linked list
(iv)Remove an element from the beginning of the doubly linked list
(v) Remove an element from ith position in the doubly linked list.
(vi)Remove an element from the end of the doubly linked list
(vii)Search for an element x in the doubly linked list and return its pointer
(viii)Concatenate two doubly linked lists
4. Write a program to implement circular linked list as an ADT which supports the following
operations:
(i) Insert an element x at the front of the circularly linked list
(ii) Insert an element x after an element y in the circularly linked list
(iii) Insert an element x at the back of the circularly linked list
(iv)Remove an element from the back of the circularly linked list
(v) Remove an element from the front of the circularly linked list
(vi)Remove the element x from the circularly linked list
(vii) Search for an element x in the circularly linked list and return its pointer
(viii) Concatenate two circularly linked lists
T
5. Implement a stack as an ADT using Arrays.
8.
AF
Implement Queue as an ADT using the circular Arrays.
10. Implement Double-ended Queues as an ADT using the Doubly Linked list ADT.
11. Write a program to implement Binary Search Tree as an ADT which supports the following
operations:
R
(i) Insert an element x
(ii) Delete an element x
(iii)Search for an element x in the BST and change its value to y and then place the node
with value y at its appropriate position in the BST
(iv)Display the elements of the BST in preorder, inorder, and postorder traversal
D
13. Write a Program to implement a priority queue as an ADT using heap data structure.
Course Objective
The course provides concepts that underlie all operating systems not tied to any particular
operating system. The emphasis is done to explain the need and structure of an operating system
using its common services such as process management (creation, termination etc.), CPU
Scheduling, Process Synchronization, Handling Deadlocks, main memory management, virtual
memory, secondary memory management. The course also introduces various scheduling
algorithms and structures/techniques used by operating systems to provide these services.
T
2. Implement Process Synchronization service (Critical Section, Semaphores), CPU
scheduling service with various algorithms.
3. Learn Main memory Management (Paging, Segmentation) algorithms, Handling
of Deadlocks
AF
4. Identify and appreciate the File systems Services, Disk Scheduling service
Pre-Requisite
Familiarity with data structures and any of the high-level languages such as C/C++ is required to
do lab assignments.
Syllabus
R
Unit 1 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.
D
Unit 2 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 Process Management : Process Concept, States, Process Control Block, Process
Scheduling, Schedulers, Context Switch, Operation on processes, Threads, Multicore
Programming, Multithreading Models, PThreads, Process Scheduling Algorithms: First Come
First Served, Shortest-Job-First, Priority & Round-Robin, Process Synchronization:The
critical-section problem and Peterson’s Solution, Deadlock characterization, Deadlock handling.
Unit 4 Memory Management : Physical and Logical address space, Swapping, Contiguous
memory allocation strategies - fixed and variable partitions, Segmentation, Paging.
Virtual Memory Management: Demand Paging and Page Replacement algorithms: FIFO Page
Replacement, Optimal Page replacement, LRU page replacement.
Unit 5 File System: File Concepts, File Attributes, File Access Methods, Directory Structure:
Single-Level, Two-Level, Tree-Structured, and Acyclic-Graph Directories.
Mass Storage Structure: Magnetic Disks, Solid-State Disks, Magnetic Tapes, Disk Scheduling
algorithms: FCFS, SSTF, SCAN, C-SCAN, LOOK, and C-LOOk Scheduling.
References
1. Silberschatz, A., Galvin, P. B., Gagne G. Operating System Concepts, 9th edition, John
Wiley Publications, 2016.
T
Additional References
(i) Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
AF
(ii) Kernighan, B. W., Rob Pike, R. The Unix Programming Environment, Englewood
Cliffs, NJ: Prentice-Hall, 1984.
(iii) Stallings, W. Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
(iv) Tanenbaum, A. S. Modern Operating Systems, 3rd edition, Pearson Education, 2007.
T
sublists.
12. Write a program to implement first-fit, best-fit and worst-fit allocation strategies.
AF DSC 09: Numerical Optimization
Course Objective
The course aims to provide students an experience of mathematically formulating a large variety
of optimization/decision problems emerging out of various fields like data science, machine
R
learning, business and finance. The course focuses on learning techniques to optimize the
problems in order to obtain the best possible solution.
Syllabus
Unit 1 Introduction: Mathematical Formulation using example, Continuous versus Discrete
Optimization, Constrained and Unconstrained Optimization, Global and Local Optimization,
Stochastic and Deterministic Optimization, Convexity, Optimization Algorithms
T
Unit 3 Conjugate Gradient Methods: Basic Properties of the Conjugate Gradient Method, A
Practical Form of the Conjugate Gradient Method, Rate of Convergence.
Course Objective
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.
Syllabus
Unit 1 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 Graphs: Review of graph traversals, graph connectivity, testing bipartiteness, Directed
Acyclic Graphs and Topological Ordering.
Unit 3 Divide and Conquer: Introduction to divide and conquer technique, Merge Sort, Quick
T
Sort, Maximum-subarray problem, Strassen’s algorithm for matrix multiplication.
Unit 4 Greedy algorithms: Introduction to the Greedy algorithm design approach, application
to minimum spanning trees, fractional knapsack problem, etc. with correctness, and analysis of
AF
time complexity.
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.
D
Additional References
(i) Basse, S., Gelder, A. V., Computer Algorithms: Introduction to Design and Analysis, 3rd
edition, Pearson, 1999.
T
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
AF
instances; plot a graph for the average number of comparisons against each input size. Compare
it with a graph of nlogn.
Course Objective
The course introduces the students to the fundamentals of database management system and its
R
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
D
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.
T
8. Database administration commands such as creating/removing users, granting/revoking
different privileges to the database users; creating assertions, triggers, and indexes.
9. Learn the importance of index structures and concurrent execution of transactions in
database systems.
Syllabus
AF
Unit 1 Introduction to Database: Purpose of database system, Characteristics of database
approach, data models, database management system, database system architecture,
three-schema architecture, components of DBMS, data independence, and file system approach
R
vs database system approach.
Unit 2 Entity Relationship Modeling: Conceptual data modeling - motivation, entities, entity
types, attributes, relationships, relationship types, constraints on relationship, Entity
Relationship diagram notation.
D
Unit 3 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.
Unit 4 Structured Query Language (SQL): Querying in SQL, DDL to create database and
tables, table constraints, update database-update behaviors, DML, aggregation functions group
by 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 Database Design: Mapping an Entity Relationship model to relational database,
functional dependencies and Normal forms, 1NF, 2NF, 3NF and BCNF decompositions and
desirable properties of them.
Unit 6 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.
References
1. Elmasri, R., Navathe, B. S. Fundamentals of Database Systems, 7th Edition, Pearson
T
Education, 2015.
2. Krogh, J. W. MySQL Connector/Python Revealed: SQL and NoSQL Data Storage Using
MySQL for Python Programmers, Apress, 2018.
AF
3. Murach J. Murach's MySQL, 3rd edition, Pearson, 2019.
Additional References
(i) Ramakrishnan, R., Gehrke J. Database Management Systems, 3rd Edition, McGraw-Hill,
2014.
(ii) Silberschatz, A., Korth, H. F., Sudarshan S. Database System Concepts, 7th Edition,
McGraw Hill, 2019.
(iii) Connolly, T. M., Begg, C. E. Database Systems: A Practical Approach to Design,
R
Implementation, and Management, 6th edition, Pearson, 2019.
T
6. Find society details with more than N TotalSeats where N is to be input by the
user
7. Update society table for mentor name of a specific society
8. Find society names in which more than five students have enrolled
9. Find the name of youngest student enrolled in society ‘NSS’
AF10. Find the name of most popular society (on the basis of enrolled students)
11. Find the name of two least popular societies (on the basis of enrolled students)
12. Find the student names who are not enrolled in any society
13. Find the student names enrolled in at least two societies
14. Find society names in which maximum students are enrolled
15. Find names of all students who have enrolled in any society and society names in
which at least one student has enrolled
16. Find names of students who are enrolled in any of the three societies ‘Debating’,
‘Dancing’ and ‘Sashakt’.
17. Find society names such that its mentor has a name with ‘Gupta’ in it.
R
18. Find the society names in which the number of enrolled students is only 10% of
its capacity.
19. Display the vacant seats for each society.
20. Increment Total Seats of each society by 10%
21. Add enrollment fees paid (‘yes’/’No’) field in the enrollment table.
D
22. Update date of enrollment of society id ‘s1’ to ‘2018-01-15’, ‘s2’ to current date
and ‘s3’ to ‘2018-01-02’.
23. Create a view to keep track of society names with the total number of students
enrolled in it.
24. Find student names enrolled in all the societies.
25. Count number of societies with more than 5 student enrolled in it
26. Add column Mobile number in student table with default value ‘9999999999’
27. Find the total number of students whose age is > 20 years.
28. Find names of students who are born in 2001 and are enrolled in at least one
society.
29. Count all societies whose name starts with ‘S’ and ends with ‘t’ and at least 5
students are enrolled in the society.
30. Display the following information:
Society name Mentor name Total Capacity Total Enrolled Unfilled Seats
Course Objective
T
The course objectives of this course are to:
understand the concepts behind computer networks and data communication. Learn the use of
different layers in standard reference models used for communication. Learn the main features of
protocols used at various layers. Understand the utility of different networking devices..
AF
Course Learning Outcomes
On successful completion of the course, the student will be able to:
1. describe the hardware and software components used in a network.
2. compare OSI and TCP/IP reference models at various layers.
3. describe, analyze and compare different data link, network, transport and application
layer protocols.
4. design/implement data link and network layer protocols in a simulated networking
R
environment.
Syllabus
network classifications. layered architecture approach, OSI Reference Model, TCP/IP Reference
Model.
Unit 2 Physical Layer: Analog signal, digital signal, digital modulation techniques (ASK, PSK,
QAM), encoding techniques, 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).
Unit 3 Data Link MAC Layer: Data link layer services, error detection and correction
techniques, error recovery protocols (stop and wait, go back n, selective repeat), multiple access
protocols with collision detection, MAC addressing, Ethernet, data link layer switching,
point-to-point protocol.
Unit 4 Network layer: Networks and Internetworks, virtual circuits and datagrams, addressing,
subnetting, Routing algorithm (Distance vector and Dijkstra routing), Network Layer protocol-
(ARP, IPV4, ICMP, IPV6).
T
References
AF
1. Tanenbaum, A.S. & Wethrall, D.J, Computer Networks, Pearson Education, 2012.
2. Forouzan, B. A., Data Communication and Networking, McGraw-Hill Education, 2017.
Additional References
(i) Kurose, J. F., & Ross, K. W. Computer Networking: A Top-Down Approach, Pearson
Education India, 2017.
(ii) Stallings, W. Data and Computer Communications, 10th edition, Pearson Education
India, 2017.
R
Suggested Practical List
1. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for the noisy
D
channel.
2. Simulate and implement the Stop and Wait protocol for the noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.
5. Simulate and implement distance vector routing algorithm
6. Simulate and implement the Dijkstra algorithm for shortest-path routing.
Course Objective
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.
T
Syllabus
Unit 5 More on Graphs: Bellman Ford Algorithm, Union Find Data Structures - application
Kruskal’s algorithm
References
D
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.
T
DSC 14: Theory of Computation
AF
Course Objective
This course introduces formal models of computation, namely, finite automaton, pushdown
automaton, and Turing machine; and their relationships with formal languages. 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). The course is aimed to -
1. formalize the notion of problems via formal languages
R
2. make students aware of the notion of computation using "abstract computing devices"
called automata
3. familiarize students with the hierarchy of classes of problems or formal languages
(regular, context-free, context-sensitive, decidable, and undecidable) and the hierarchy of
classes of automata (finite automata, pushdown automata, and Turing machines)
D
Syllabus
Unit II 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.
T
Unit III Context-Free Languages (CFL): Context-Free Grammars (CFG), deterministic and
non-deterministic Pushdown Automata (PDA), relationship between CFG and PDA, parse trees,
leftmost derivation, Ambiguities in grammars, pumping lemma for CFL, properties of CFL,
Chomsky Normal Form.
AF
Unit IV Turing Machines and Models of Computations: Turing machine as a model of
computation, configuration of Turing machine, Recursive and recursively enumerable languages,
Church Turing Thesis, Universal Turing Machine, decidability, Halting problem.
References
1. Michael Sipser, Introduction to the Theory of Computation, Cengage, 2014
R
2. Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of
Computation, 2nd Edition, Prentice Hall of India (PHI), 2002
3. Daniel I.A. Cohen, Introduction to Computer Theory, 2nd Edition, Wiley India Pvt.
Ltd., 2011.
D
Additional References
(i) J.E. Hopcroft, R. Motwani, and J.D. Ullman, Introduction to Automata Theory,
Languages and Computation, 3rd edition, Addison Wesley, 2006.
(ii) Peter Linz, An Introduction to Formal Languages and Automata, 6th edition, Jones &
Bartlett Learning, 2017.
This course will provide fundamental approaches and techniques used to develop good quality
software. This includes learning of various software development process frameworks,
requirement analysis, design modeling, qualitative and quantitative software metrics, risk
management, and testing techniques.
T
3. Estimate and prepare schedule for software projects.
4. Analyze the impact of risks involved in software development.
5. Design and build test cases, and to perform software testing.
Pre-requisites:
AF
A course in programming language
Syllabus
Unit II Software Requirements Analysis and Specification: Use Case Approach, Software
Requirement Specification Document, Flow-oriented Model, Data Flow Model. [6 Hours]
Unit III Design Modeling: Translating the Requirements model into the Design Model, The
Design Process, Design Concepts - Abstraction, Modularity and Functional Independence;
Structure Charts. [8 Hours]
Unit IV 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). [7 Hours]
Unit V 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. [5 Hours]
Unit VI Software Testing: Strategic Approach to Software Testing, Unit Testing, Integration
Testing, Validation Testing, System Testing; Black-Box and White Box Testing, Basis Path
Testing. [10 Hours]
References
T
2. Aggarwal, K.K., Singh, Y. Software Engineering, 3rd edition, New Age International
Publishers, 2007.
Additional References
AF
(i) Jalote, P. An Integrated Approach to Software Engineering, 3rd Edition, Narosa
Publishing House, 2005.
(ii) Sommerville, I. Software Engineering, 9th edition, Addison Wesley, 2011.
(iii)The Definitive Guide to Scrum: The Rules of the Game, Ken Schwaber, Jeff Sutherland,
July 2016.
R
Suggested Practical list
The students document, design and code a module of a Software Project using an appropriate
Software Process model. The Software Project should address the following concepts of
D
Software Engineering.
Some of the Sample Projects are given below though they are not limited to this.
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.
T
4. Patient Appointment and Prescription Management System
5. Organized Retail Shopping Management Software
6. Online Hotel Reservation Service System
AF
7. Examination and Result computation System
8. Automatic Internal Assessment System
9. Parking Allocation System
10. Wholesale Management System
R
DSC 16 : Artificial Intelligence
Course Objective
D
Prerequisite:
Knowledge of any Programming Language, Basics of algorithms, Data Structures, and Theory of
T
Computation.
Syllabus AF
Unit 1 Introduction: Introduction to artificial intelligence, background and applications, Turing
test, Weak AI, Strong AI, Narrow AI, Artificial General Intelligence, Super AI, rational agent
approaches to AI, introduction to intelligent agents, their structure, behavior and task
environment.
Unit 2 Problem Solving and Searching Techniques: Problem characteristics, production
systems, control strategies, breadth-first search, depth-first search, hill climbing and its
variations, heuristics search techniques: best-first search, A* algorithm, constraint satisfaction
problem, means-end analysis, introduction to game playing, min-max and alpha-beta pruning
algorithms.
R
Unit 3 Knowledge Representation: Propositional logic, First-Order Predicate logic, resolution
principle, unification, semantic nets, conceptual dependencies, frames, and scripts, production
rules, Introduction to Programming in Logic (PROLOG).
D
Unit 5 AI The Present and the Future: Symbolic AI, Data-driven AI and Machine Learning,
Bias-Variance tradeoff in Machine Learning, End-to-end Deep Learning based AI, some
applications of symbolic and data driven AI, Interpretable and Explainable AI, Ethics of AI:
benefits and risks of AI.
Text Books
1. Russell, Stuart, J. and Norvig, Peter, Artificial Intelligence - A Modern Approach,
Pearson, 4th edition, 2020.
2. Rich, Elaine and Knight, Kelvin, Artificial Intelligence, 3rd edition, Tata McGraw
Hill, 2010.
3. Bratko, Ivan, Prolog Programming for Artificial Intelligence, Addison-Wesley,
Pearson Education, 4th edition, 2012.
Reference Books
(i) Kaushik, Saroj, Artificial Intelligence, Cengage Learning India, 2011.
(ii) Patterson, DAN,W, Introduction to A.I. and Expert Systems – PHI, 2007.
T
(iii) Clocksin, W., F. and Mellish, Programming in PROLOG, 5th edition, Springer,
2003.
8. Write a prolog program to implement the family tree and demonstrate the family relationship.
11. Write a Prolog program to implement reverse(L, R) where List L is original and List R is
reversed list.
12. Write a PROLOG program to generate a parse tree of a given sentence in English language
assuming the grammar required for parsing.
T
14. Using any sample dataset, implement any classification problem in Python language.
15. In the above classification problem (program 14), generate explanations for the decision
taken using LIME tool.
AF
DSC 17: Machine Learning
Course Prerequisites
Mathematics for Computing (I II and III)
Course Objective
R
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.
D
Syllabus
Unit 1 Introduction: Basic definitions and concepts, key elements, supervised and
unsupervised learning, introduction to reinforcement learning, applications of ML.
Unit 3 Regression: Linear regression with one variable, linear regression with multiple
variables, gradient descent, over-fitting, regularization. Regression evaluation metrics.
Unit 4 Classification: Decision trees, Naive Bayes classifier, logistic regression, k-nearest
neighbor classifier, perceptron, multilayer perceptron, neural networks, back-propagation
algorithm, Support Vector Machine (SVM). Classification evaluation metrics.
T
Unit 5 Clustering: Approaches for clustering, distance metrics, K-means clustering, hierarchical
clustering. AF
References
2. James, G., Witten. D., Hastie. T., Tibshirani., R. An Introduction to Statistical Learning with
Applications in R, Springer, 2014.
(ii) Sebastian Raschka, Python Machine Learning, Packt Publishing Ltd, 2019.
T
4. Lasso and Ridge Regression
5. Logistic regression
6. Artificial Neural Network
7. k-NN classifier
AF
8. Decision tree classification
9. SVM classification
10. K-Means Clustering
11. Hierarchical Clustering
Course Prerequisites
R
Programming in C++, Data Structures, Computer System Architecture, Operating Systems
Course Objective
The course introduces the students to the basic concepts and techniques of parallel programming.
D
It enables them to design and implement parallel algorithms. The course would give the students
hands-on practice to write parallel programs using shared and distributed memory models using
OpenMP and Message Passing Interface (MPI).
Unit II OpenMP programming for shared memory systems: Thread Basics, Controlling
Thread and Synchronization Attributes, Multi-thread and multi-tasking, Context Switching,
Basic OpenMP thread functions, Shared Memory Consistency Models and the Sequential
T
Consistency Model, Race Conditions, Scoping variables, work-sharing constructs, critical
sections, atomic operations, locks, OpenMP tasks, Introduction to tasks, Task queues and task
execution, Accessing variables in tasks, Completion of tasks and scoping variables in tasks,
Recursive task spawning and pitfalls
AF
Unit III MPI programming for distributed memory systems: MPI basic communication
routines (Introduction to MPI and basic calls, MPI calls to send and receive data, MPI call for
broadcasting data, MPI Non-blocking calls, MPI Collectives (MPI Collectives and MPI
broadcast, MPI Gathering and scattering collectives, MPI reduction and Alltoall collectives, MPI
collectives design), Types of interconnects (Characterization of interconnects, Linear arrays, 2D
mesh and torus, cliques)
References
1. Grama, A., Gupta, A., Karypis, G., Kumar, V., Introduction to Parallel Computing, 2nd
D
Course Objective
The basic objective of the compiler design course is to understand the basic principles of
compiler design, its various constituent parts, algorithms and data structures required to be used
in the compiler. It also aims to understand the use of basic compiler building tools.
T
Course Learning Outcomes
On successful completion of the course, the students will be able to:
1. Explain the concepts and different phases of compilation.
2.
3.
AF
Represent language tokens using regular expressions and context free grammars.
Describe the working of lexical analyzers.
4. Understand the working of different types of parsers and parse a particular string.
5. Describe intermediate code representations using syntax trees and DAG’s as well as use
this knowledge to generate intermediate code in the form of three address code
representations.
R
6. Apply optimization techniques to intermediate code and generate machine code for high
level language program.
7. Use Lex and Yacc automated compiler generation tools.
Syllabus
D
References
1. Aho, A., Lam, M., Sethi, R., & Ullman, J. D. Compilers: Principles, Techniques, and
Tools, 2nd edition, Addison Wesley, 2006.
Additional References
T
(i) V Raghvan, Principles of Compiler Design, TMH, 2010.
7. Write a Lex specification program that generates a C program which takes a string
“abcd” and prints the following output
abcd
abc
a
8. Write a Lex program to recognize a valid arithmetic expression.
9. Write a YACC program to find the validity of a given expression (for operators + - *
and /)A program in YACC which recognizes a valid variable which starts with a letter
followed by a digit. The letter should be in lowercase only.
10. Write a program in YACC to evaluate an expression (simple calculator program for
addition and subtraction, multiplication, division).
11. Write a program in YACC to recognize the string „abbb‟, „ab‟ „a‟ of the language (an b n ,
n>=1).
12. Write a program in YACC to recognize the language (an b , n>=10). (output to say
input is valid or not)
1. Write a program to implement DFAs that recognize identifiers, constants, and operators of the
mini language.
T
2. Write a program Design a Lexical analyzer for the above language. The lexical analyzer
should ignore redundant spaces, tabs and newlines. It should also ignore comments.
Identifiers may be of restricted length.
3. Write a program to check the types of expressions in a language.
AF
4. Write a translator to translate a 3-address code into assembly code.
Course Objective
R
The goal of this course is to make a student learn basic principles of information security. Over
the due course of time, the student will be familiarized with cryptography, authentication and
access control methods along with software security. Potential security threats and vulnerabilities
of systems are also discussed along with their impacts and countermeasures. This course also
touches upon the implications of security in cloud and Internet of Things (IoT).
D
Unit 1 Overview: Computer Security Concepts, Threats, Attacks, and Assets, Security
Functional Requirements, Fundamental Security Design Principles, Attack Surfaces and
Attack Trees.
Unit 3 Data Security: User authentication and Access Control, Database and Data Center
T
Security
Unit 4 Software Security: Types of Malicious Software, Threats, Viruses, Worms, SPAM
E-Mail, Trojans, Payload — System Corruption, Payload — Attack Agent — Zombie, Bots,
AF
Payload — Information Theft — Keyloggers, Phishing, Spyware, Payload — Stealthing —
Backdoors, Rootkits, Countermeasures. Overflow Attacks - Stack Overflows, Defending
Against Buffer Overflows, Other Forms of Overflow Attacks. Handling Program Input,
Writing Safe Program Code, Interacting with the Operating System and Other Programs.
References
1. Stallings, W. and Brown L., Computer Security: Principles and Practice, 4th edition,
Pearson Education, 2018.
Additional References
(i) Pfleeger C.P., Pfleeger S.L., Margulies J. Security in Computing, 5th edition, Prentice
Hall, 2015.
(ii) Lin S., Costello D.J., Error Control Coding: Fundamentals and applications, 2nd
edition, Pearson Education, 2004.
(iii) Stallings W. Cryptography and network security, 7th edition, Pearson Education, 2018.
(iv) Berlekamp E. Algebraic Coding Theory, World Scientific Publishing Co., 2015.
(v) Stallings W. Network security essentials Applications and Standards, 6th edition,
Pearson Education, 2018.
(vi) Whitman M.E., Mattord H.J., Principle of Information Security, 6th edition, Cengage
Learning, 2017.
(vii) Bishop M., Computer Security: Art and Science, 2nd Revised Edition, Pearson
Education, 2019.
(viii) Anderson R.J., Security Engineering: A guide to building Dependable Distributed
Systems, 2nd Edition, John Wiley & Sons, 2008.
T
Suggested Practical List
1. Demonstrate the use of Network tools: ping, ipconfig, ifconfig, tracert, arp, netstat,
whois. AF
2. Use of Password cracking tools : John the Ripper, Ophcrack. Verify the strength of
passwords using these tools.
3. Use nmap/zenmap to analyze a remote machine.
4. Use Burp proxy to capture and modify the message.
5. Implement caesar cipher substitution operation.
6. Implement monoalphabetic and polyalphabetic cipher substitution operation.
7. Implement playfair cipher substitution operation.
8. Implement hill cipher substitution operation.
9. Implement rail fence cipher transposition operation.
R
10. Implement row transposition cipher transposition operation.
11. Implement product cipher transposition operation.
12. Illustrate the Ciphertext only and Known plaintext attacks.
13. Implement a stream cipher technique.
D
All DSEs are available as Generic Electives to students of
non-Computer Science stream.
List of Pathways in Discipline Specific Electives (DSEs)
1. Data Science
2. Image Processing
3. Theoretical Computer Science
4. AI and Machine Learning
5. Cyber Security
6. Networks
7. Other DSEs
T
Sem Data Image Theoreti AI and Cyber Network Other
AF Science Processi
ng
cal Machine
Compute Learning
r Science
Security s DSEs
tion Program
of
courses ming
T
courses Mobile
and
Satellite
AF Commun
ication
IoT
n and Its
applicatio
ns
Note:
1. Research Methodology course is to be done exactly once, either in Semester VI or in
Semester VII.
2. For a prerequisite of C++/Python/Java, a course at plus 2 level is acceptable.
3. Batch size for Practicals will be (8-10) and Tutorials will be (12-15).
Table of DSE Courses (Data Science)
T
Algebra
V Data 3 0 1 4 Programmi
Mining-II ng using
Python,
Probability
D
and
Statistics,
Linear
Algebra,
Data
analysis
and
visualizati
on, Data
Mining I
T
Semester DSE -No. Title L T* P* Total Pre-requis
credits ites
AF
VI Computer
Graphics
3 0 1 4 Mathemati
cs for
Computin
g - I,
Object
Oriented
Programmi
ng with
C++
R
VII Digital Image 3 0 1 4 Programmi
Processing ng using
Python,
Mathemati
cs for
D
Computin
g-I
IV Combinatorial 3 1 0 4 None
Optimisation
T
Combinato
rial
Optimizati
AF on
VI 3 0 1 4 Probability
D
and
Statistics,
Deep Learning Linear
Algebra,
Machine
Learning
T
IV Data Privacy 3 0 1 4 None
V Network 3 0 1 4 Computer
AF
VI
Security
Ethical Hacking 3 0 1 4
Networks,
C/C++
Operating
System,
C/C++,
Network
Security
R
VII Cyber 3 0 1 4 Operating
Forensics Systems,
Network
Security,
C/C++
D
VIII IT 3 0 1 4 None
Infrastructure
Management /
Critical
Infrastructure
Management
T
programmi
ng
language.
Computer
Networks
AF
VI Wireless
Technology &
Standards
3 0 1 4 Computer
Networks
Computing
IV Introduction 3 0 1 4 None
to Web
Programming
VI Research
Methodology
T
VII Research
AF Methodology
s, Theory
of
Computati
on
Course Objective
This course is designed to introduce the students to real-world data analysis problems, use of
statistics to get a deterministic view of data and interpret results in the field of exploratory
data science using Python. This course is the first in the “Data Science” pathway and builds
the foundation of three subsequent courses in the pathway.
T
1. Apply descriptive statistics to obtain a deterministic view of data
2. Perform data handling using Numpy arrays
3.
AF Load, clean, transform, merge and reshape data using Pandas
4. Visualize data using Pandas and matplot libraries
5. Solve real world data analysis problems
Syllabus
Unit 2 Array manipulation using Numpy: Numpy array: Creating Numpy arrays; various
data types of Numpy arrays, indexing and slicing, swapping axes, transposing arrays, data
D
1. McKinney W. Python for Data Analysis: Data Wrangling with Pandas, NumPy and
IPython, 2nd edition, O’Reilly Media, 2018.
2. Molin S. Hands-On Data Analysis with Pandas, Packt Publishing, 2019.
3. Gupta S.C., Kapoor V.K. Fundamentals of Mathematical Statistics,12th edition, Sultan
Chand & Sons, 2020.
Additional References
(i) Chen D. Y. Pandas for Everyone: Python Data Analysis, 1st edition, Pearson
T
Education, 2018.
(ii) Miller J.D. Statistics for Data Science, Packt Publishing Limited, 2017.
AF
Suggested Practical List
Use a dataset of your choice from Open Data Portal (https:// data.gov.in/, UCI repository) or
load from scikit, seaborn library for the following exercises to practice the concepts learnt.
1. Load a Pandas dataframe with a selected dataset. Identify and count the missing values
in a dataframe. Clean the data after removing noise as follows
a) Drop duplicate rows.
b) Detect the outliers and remove the rows having outliers
R
c) Identify the most correlated positively correlated attributes and negatively correlated
attributes
2. Import iris data using sklearn library or (Download IRIS data from:
https://archive.ics.uci.edu/ml/datasets/iris or import it from sklearn.datasets)
D
3. Load Titanic data from sklearn library , plot the following with proper legend and axis
labels:
a. Plot bar chart to show the frequency of survivors and non-survivors for male and
female passengers separately
b. Draw a scatter plot for any two selected features
c. Compare density distribution for features age and passenger fare
d. Use a pair plot to show pairwise bivariate distribution
T
Project: Students are encouraged to work on a good dataset in consultation with their faculty
and apply the concepts learned in the course.
AF Pathway: Data Science
DSE: Data Mining-I
Course Prerequisites: Programming using Python, Probability and Statistics, Linear Algebra,
Data analysis and visualization
R
Course Objective
This course aims to introduce data mining techniques and their application on real-life
D
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.
Syllabus
Unit 1 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
T
Unit 2 Data Pre-processing: Data aggregation, sampling, dimensionality reduction, feature
subset selection, feature creation, variable transformation.
Unit 3 Cluster Analysis: Basic concepts of clustering, measure of similarity, types of clusters
and clustering methods, K-means algorithm, measures for cluster validation, determine
AF
optimal number of clusters
Unit 4 Association rule mining: Transaction data-set, frequent itemset, support measure,
rule generation, confidence of association rule, Apriori algorithm, Apriori principle
Unit 5 Classification: Naive Bayes classifier, Nearest Neighbour classifier, decision tree,
overfitting, confusion matrix, evaluation metrics and model evaluation.
R
References
Additional References
1. Apply data cleaning techniques on any dataset (e,g, wine dataset). Techniques may
T
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,
AF 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:
R
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.
D
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.
Course Objective
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.
T
Students will use the learned topics in solving real applications using Open-source
softwares.
AF
Course Learning Outcomes
Unit 2 Ensemble Methods: Need of ensemble, Random Forests, Bagging and Boosting
Unit 3 Anomaly Detection: Outliers and Outlier Analysis, Outlier Detection Methods,
Statistical Approaches, Proximity-based and density-based outlier detection,
Clustering-based approaches
Unit 4 Mining Text Data: Document Preparation and Similarity, Clustering Methods for
Text, Topic Modeling
Unit 5 Stream Mining: Time series basics, Date Ranges, Frequencies, and Shifting,
Resampling and moving windows functions, Decay function, Clustering stamped data:
STREAM and CluStream
References
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
(i) Han J. Kamber M. and Pei J. Data Mining: Concepts and Techniques, Morgan
Kaufmann Publishers, 2011.
(ii) Dunham M. Data Mining: Introductory and Advanced Topics, Pearson, 2006.
T
Suggested Practical List
Project: Students should be promoted to take up one project covering at least one unit of the
D
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.
Course Prerequisites: Programming using Python, Probability and Statistics, Linear Algebra
Course Objective
The course introduces basic graph theory and draws distinction between graph as an abstract
structure and real-life situation modeled as network.This course aims to expose the students
to the strengths and capabilities of network analysis and their applications through the use
of open source softwares.
T
2. Identify and apply quantitative network measures to characterize social networks at the
local and global level
3. Generate synthetic networks that satisfy properties of real world networks
4. Discover, analyze and evaluate the intrinsic community structure of networks
AF
5. Model an information diffusion process for predictive analysis of networks
Syllabus
Unit 1 Introduction to Social Network Analysis: Graph theory, random walk, degree
distribution, mapping of real world situation into networks and applications of social network
analysis, types of networks
Unit 2 Network Measures: Centrality measures, Page Rank, Hubs and Authority,
R
Assortativity, Transitivity and Reciprocity, Similarity and Structural Equivalence
References
1. Chakraborty T. Social Network Analysis, 1st edition, Wiley India Pvt. Ltd., 2021.
2. Zafarani R., Abbasi M. A., Liu H. Social Media Mining: An Introduction, 1st edition,
Cambridge University Press, 2014.
3. Barabási A. L. , Pósfai M. Network Science, 1st edition, Cambridge University Press,
2016.
Additional References
(i) Easley, Kleinberg J. Networks, Crowds, and Markets: Reasoning About a Highly
Connected World, 1st edition, Cambridge University Press, 2012.
Python Packages like igraph, NetworkX, NDlib etc. may be used for programming
1. Plot a weighted directed network such that node size and edge width is
proportional to their degree and edge weight respectively
T
2. Compute and plot degree distribution of a real-world network. Also compute its
local and global properties.
3. Generate three networks of 1000 nodes each using Random Network Model, Small
AF World Network Model, Preferential Attachment Model and compare their
characteristics.
4. Compute different centrality measures to identify top-N nodes and compare their
ranks with those obtained by PageRank method.
5. Apply community detection algorithms on a small real-world network (e.g. Karate
club) and compare modularity using bar plot. Also plot the communities revealed
with different colors.
6. Simulate diffusion trends for different epidemic models and present results using
appropriate visuals.
R
Pathway: Image Processing
D
Course Prerequisites : DSC 03 (Mathematics for Computing - I), DSC 04 (Object Oriented
Programming with C++)
Course Objective
This course introduces fundamental concepts of Computer Graphics with focus on modeling,
rendering and interaction aspects of computer graphics. The course emphasizes the basic
principles needed to design, use and understand computer graphics system.
Course Learning Outcomes
T
Syllabus
Unit 2 Drawing and clipping primitives: Raster scan line, circle and ellipse drawing
algorithms, Polygon filling, line clipping and polygon clipping algorithms
List-priority algorithm and area subdivision algorithm for visible surface determination.
Illumination and shading models, RGB Color model and Basics of Computer Animation.
References
1. Hearn, D & Baker, M.P. Computer Graphics, 2nd edition, Prentice Hall of India, 2009.
2. Foley, J. D., Dam, A.V, Feiner, S. K., & Hughes, J. F. Computer Graphics: Principles
and Practice in C, 2nd edition, Pearson education, 2002.
3. Rogers, D. F. Mathematical Elements for Computer Graphics, 2nd edition, McGraw
Hill Education, 2017.
Additional References
T
6. Write a program to apply various 2D transformations on a 2D object (use
homogeneous Coordinates).
7. Write a program to apply various 3D transformations on a 3D object and then apply
parallel and perspective projection on it.
AF
8. Write a program to draw Hermite /Bezier curve.
Course Objective
D
This course introduces students to the fundamentals of digital image processing, It introduces
image processing in the Spatial and Frequency domains including techniques for various
image transformations, image enhancement/filtering, image restoration, image compression
and segmentation and morphological image processing.
T
Unit 2 Spatial Domain Filtering: Some Basic Intensity Transformation Functions,
Histogram Equalization, Spatial Correlation and Convolution, Smoothening Spatial
Filters-Low pass filters, Order Statistics filters; Sharpening Spatial Filters- Laplacian filter.
AF
Unit 3 Filtering in Frequency Domain: The Discrete Fourier Transformation (DFT),
Frequency Domain Filtering:-Ideal and Butterworth Low pass and High pass filters
References
1. Gonzalez, R. C., & Woods, R. E. Digital Image Processing, 4th edition, Pearson
education, 2017 .
Additional References
T
e. Separate a given color image into three R G & B planes.
f. Create a color image using separate three R, G and B planes.
g. Write given 2-D data in an image file.
AF
2. To write and execute image processing programs using point processing method:
a. Image restoration
b. Remove Salt and Pepper Noise
c. Minimize Gaussian noise
d. Median filter and Weiner filter
T
8. Write and execute programs to remove noise from images using spatial filtering.
10. Write and execute a program for edge detection using different edge detection mask.
11. Write and execute a program for image morphological operations erosion and dilation
R
Pathway: Image Processing
DSE: Information and Image Retrieval
D
Course Objective
This course introduces students to the fundamentals of information retrieval extending into
image retrieval. It lays the theoretical foundation of various essential concepts related to
image searches, together with examples of natural and texture image types. It will provide an
insight to content-based image retrieval, understanding of the technologies, and solutions of
content-based image retrieval.
Syllabus
Unit 1 Introduction to IR: An example information retrieval problem, the extended Boolean
model versus ranked retrieval, The term vocabulary and postings lists: Tokenization, stop
words, Normalization (equivalence classing of terms), Stemming and lemmatization, term
T
weighting model: Inverse document frequency, Tf-idf weighting, Information retrieval
system evaluation.
Unit 2 CBIR and feature extraction: Image Retrieval: Multimedia Information retrieval ,
AF
Text Based Image Retrieval (TBIR), Content Based Image Retrieval (CBIR), Hybrid
systems. Architecture of a typical CBIR system, Low-level features of an image: Color –
color space, color moments, color histogram, color coherence vector (CCV), color
correlogram, invariant color features.
Texture – Tamura features, coarseness, contrast, SAR Model, Wavelet transform feature.
Shape- Moment invariants, turning angles, Fourier descriptors.
Unit 3 Similarity measures and Performance evaluation: Similarity measures used in
content-based image retrieval: Minkowski-form distance, Mahalanobis distance, Canberra
R
distance, Earth Mover distance, Quadratic form distance
Performance evaluation used in content-based image retrieval: user Comparison, precision
and recall, P-R graph, Average Precision, F-measure, Average Normalized Modified
Retrieval Rank (ANMRR)
D
Unit 4 CBIR systems: QBIC: Query by Image Content, VIR, VisualSEEK, WebSEEK,
NeTRA, MARS: Multimedia Analysis and Retrieval System, SIMPLIcity.
Unit 5 Content-Based Image Retrieval-Challenges: Semantic gap: Introduction to
semantic gap. Bridging the semantic gap: Relevance feedback, multi-modal fusion. Semantic
similarity: WordNet.
“Curse of Dimensionality”: Feature Dimensionality reduction, Methods for dimensionality
reduction: Principal Component Analysis (PCA), Fisher Linear Discriminant Analysis
(FLDA), Local Fisher Discriminant Analysis (LFDA), Isometric Mapping (ISOMAP),
Locally Linear Embedding (LLE), and Locality Preserving Projections (LPP).
References
1. C. Manning, P. Raghavan, and H. Schutze Introduction to Information Retrieval
Cambridge University Press, 2009 .
2. Vipin Tyagi Content-Based Image Retrieval: Ideas, Influences, and Current Trends,
Springer, 2018.
To be implemented in Python
1. Write a program to compute the edit distance between strings s1 and s2. (Hint.
Levenshtein Distance)
2. Write a program to Compute Similarity between two text documents.
3. Write a program for Pre-processing of a Text Document: stop word removal.
4. Consider 3 documents as below:-
T
Doc 1: Ben studies about computers in Computer Lab.
Doc 2: Steve teaches at Brown University.
Doc 3: Data Scientists work on large datasets.
Perform search on these documents with the following query: Data Scientists and,
AF
5.
6.
calculate tf * idf for data and Scientists in all the documents.
Write a program to find out the similarity between document d1 and d2 (refer
question#4 ) using cosine similarity method.
Write a program to calculate the color moments, color histogram, color coherence
vector (CCV), color correlogram for an image.
7. Write a program to find out the similarity between two images using:-
a. Minkowski-form distance
b. Mahalanobis distance
R
c. Canberra distance
d. Earth Mover distance
e. Quadratic form distance
8. Given a confusion matrix
D
Write a program to find precision and recall, Average Precision, F-measure, Average
Normalized Modified Retrieval Rank (ANMRR).
Course Objective
T
On successful completion of the course, students will be able to:
1. Model problems using linear and integer programs
2. Apply polyhedral analysis to develop algorithms for optimization problems
3. Use the concept of duality for design of algorithms
AF
Syllabus
and dual, weak and strong duality, complementary slackness, primal-dual algorithm for the
shortest path problem.
Unit 4 Network Flows: linear programming formulations for network flows and bipartite
matching, totally unimodular matrices.
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
T
DSE: Advanced Algorithms
Course Objective
This course is designed to provide exposure to more sophisticated algorithms for some
tractable problems, some advanced topics in algorithms such as NP Completeness and how
to handle NP hard problems in practice.
Syllabus
Unit 2 Network Flows: Ford Fulkerson algorithm for max flow problem.
Unit 2 Backtracking: Constructing All Subsets, Constructing All Permutations,
Constructing all paths in a graph.
Unit 3 Polynomial time reductions via gadgets: SAT and 3-SAT problems; Reducing
3-SAT to Independent set, Clique and Vertex cover.
T
Unit 6 Combinatorial Approximation Algorithms: Set cover, Minimizing makespan,
k-center.
References
Additional References
R
(i) Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th
edition, Prentice Hall of India, 2022.
Tutorials
Tutorials based on Theory
Course Objective
The objective of this course is to introduce students to deep learning algorithms and their
applications in order to solve real problems.
T
3. Implement deep neural networks to solve a problem
4. Analyze performance of deep networks.
5. Use pre-trained models to solve a problem.
AF
Syllabus
Unit 2 Deep neural networks: Difficulty of training DNNs, Greedy layerwise training,
Optimization for training DNN’s, Newer optimization methods for neural
R
networks(AdaGrad, RMSProp, Adam), Regularization methods(dropout, drop connect,
batch normalization).
Deep CNNs - LeNet, AlexNet. Training CNNs, weights initialization, batch normalization,
hyperparameter optimization, Understanding and visualizing CNNs, Using a pre trained
convnet
1. Ian Goodfellow, Yodhua Bengio and Aaron Courville, Deep Learning, MIT Press
Book, 2016.
2. Francois Chollet, Deep Learning with python, 2nd edition, Meaning Publications Co,
2021.
Additional References
(i) Bunduma, N., Fundamentals of Deep Learning, 1st edition, O’reilly Books, 2017.
(ii) Heaton, J., Deep Learning and Neural Networks, 1st edition, Heaton Research Inc.,
2015.
T
The following practicals are to be conducted using Python.
1. Implement a feed-forward neural networks for classifying movie reviews as positive or
AF negative(using IMDB dataset)
2. Implement a deep-neural feed-forward network for estimating the price of house,
given real-estate data(Boston Housing Price)
3. Implement a deep-neural network for classifying news wires by topic (Reuters
dataset).
4. Implement CNN for classifying MNIST dataset
5. Create a model for time-series forecasting using RNN/LSTM
6. Implement an auto-encoder
R
Pathway: AI and Machine Learning
Course Objective
Syllabus
T
assumptions, Elements of RL: polices, value function, reward Functions and Bellman
Equation, different techniques for solving RL problem, Code Standards and Libraries used in
RL using Python/Keras/TensorFlow/MATLAB.
AF
Unit 2 Markov Decision Process (MDP) and Dynamic Programming (DP): Markov
property, Introduction to Markov decision process (MDP), creating MDPs, goals and rewards,
returns and episodes, optimality of value functions and policies, Bellman optimality
equations. Overview of dynamic programming for MDP, principle of optimality, iterative
policy evaluation, Policy Improvement, policy iteration, value iteration, generalized policy
iteration, Asynchronous DP, Efficiency of DP.
Unit 3 Monte Carlo (MC) Methods: Monte Carlo methods (First visit and every visit Monte
R
Carlo), Monte Carlo control, On policy and off policy learning, Importance sampling.
References
Additional References
T
1. Dynamic Programming Policy Evaluation algorithm.
2. Dynamic Programming Policy Iteration algorithm.
3. Dynamic Programming Value Iteration algorithm.
AF
4.
5.
6.
7.
Monte Carlo Prediction
Off-Policy Monte Carlo Control with Importance Sampling
SARSA On policy TD learning algorithm
Q-learning OFF policy TD learning algorithm.
8. Policy Gradient REINFORCE algorithm
9. Policy Gradient Actor-Critic method algorithm
*For exercises 1 to 7, consider the following environments for testing: GridWorld, Blackjack,
R
WindyGridWorld
*For exercises 8 onward, consider the following environments for testing: CartPole,
CartPoleRaw
D
Course Objective
T
Syllabus
Unit 1 Introduction and Basic Text Processing: Knowledge in Speech and Language
AF
Processing, The problem of ambiguity, Typical NL Tasks, Tokenization, Stemming,
Lemmatization, Stop-word removal
Unit 2 Formal Language Modeling: Regular Expressions, Text Normalization, and Edit
Distance, Unigrams, Bigrams, N-grams, N-gram Language Models, Smoothing and Entropy
Unit 3 Sequence Labeling for Parts of Speech Tagging: Part-of-Speech Tagging, Named
Entities and Named Entity Tagging/Recognition, Hidden Markov Model (Forward and
Viterbi algorithms and EM training)
R
Unit 4 Vector Semantics and Embedding: Lexical Semantics, Vector Semantics, Words
and Vectors, TF-IDF: Weighing terms in the vector and its applications, Learning Word
Embeddings - Word2vec and Gensim, Vector Space Models
Unit 6 Deep Learning Models for NLP: Feedforward Neural Networks, Recurrent Neural
Networks, and LSTM
References
Python Packages like Scikit (SKLearn), NLTK, spaCy, gensim, PyTorch, transformers
(HuggingFace) etc. may be used for programming
1. Prepare/Pre-process a text corpus to make it more usable for NLP tasks using
tokenization, filtration of stop words, removal of punctuation, stemming and
T
lemmatization.
2. List the most common words (with their frequency) in a given text excluding
stopwords.
3. Extract the usernames from the email addresses present in a given text. .
AF
4. Perform POS tagging in a given text file. Extract all the nouns present in the text.
Create and print a dictionary with frequency of parts of speech present in the
document. Find the similarity between any two text documents
5. Perform dependency analysis of a text file and print the root word of every sentence.
6. Create the TF-IDF (Term Frequency -Inverse Document Frequency) Matrix for the
given set of text documents
7. Extract all bigrams , trigrams using ngrams of nltk library
8. Identify and print the named entities using Name Entity Recognition (NER) for a
collection of news headlines.
R
9. Find the latent topics in a document using any LDA and display top 5 terms that
contribute to each topic along with their strength. Also visualize the distribution of
terms contributing to the topics.
10. Classify movie reviews as positive or negative from the IMDB movie dataset of
D
Course Objective
This course covers the basic concepts behind blockchain and presents Bitcoin and other
cryptocurrencies as the motivation for blockchain technologies. It provides a substantive
discussion about different technologies behind blockchain and cryptocurrencies.
T
2. learn the practical applications of cryptocurrency such as Bitcoin and Ethereum
3. understand basic technologies like cryptographic hash functions, blocks, merkel trees,
elliptic curve cryptography and digital signatures.
4. to have knowledge of decentralized consensus algorithms like proof of work, proof of
AF stack, proof of capacity etc.
5. to learn how to record transactions in blockchain, computing bitcoin address etc.
6. to learn about smart contracts and their applications
7. to learn about permissioned and permission less blockchain and hyperledgers.
8. to gain knowledge of real world aspects of Bitcoin, such as wallets and mining
techniques. with the Bitcoin network.
Syllabus
R
Unit 1 Introduction: History of money, Digital Currencies, Ledgers, Cryptography,
Centralized and Decentralized systems, peer to peer systems, the purpose of Blockchain, types
of blockchain (public, private and semi-private blockchain), application of blockchain (in
government, healthcare, real estate, voting, insurance, non-fungible tokens, metaverse, Web
D
3.0).
Unit 6 Blockchain and Money Transactions: Satoshi and Bitcoin, Recording of transactions
in blockchain, transaction inputs, outputs and format, Bitcoin address.
Unit 7 Smart contracts (Ethereum and other currencies): Overview of smart contracts,
tokens and Ethereum as a platform for smart contracts, blockchain technology as regulatory
T
authority.
References
Additional Reference
R
(i) Daniel Drescher Blockchain Basics: A Non-Technical Introduction in 25 Steps, 1st
edition, Apress Publication, 2017.
DSE: Microprocessor
Course Prerequisites: DSC02 (Computer System Architecture)
Course Objective
T
Course Learning Outcomes
Syllabus
Unit 3 Interfacing: Bus timings, Memory address decoding, cache memory and cache
D
controllers, I/O interface, keyboard, timer, Interrupt controller, DMA controller, video
controllers, communication interfaces.
Unit 4 Data transfer schemes: Synchronous data transfer, asynchronous data transfer,
interrupt driven data transfer, DMA mode data transfer.
1. Brey, B.B. The Intel Microprocessors: Architecture, Programming and Interfacing, 8th
edition, Pearson education, 2009.
2. Triebel, W.A., & Singh, A. The 8088 and 8086 Microprocessors Programming,
Interfacing, Software, Hardware and Applications, 4th edition, Pearson education,
2002.
Additional References
T
Suggested Practical List
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.
T
1. Build websites using the elements of HTML.
2. Build dynamic websites using the client side programming techniques with CSS,
Javascript and jQuery.
3. Learn to validate client-side data.
AF
Syllabus
Unit 1 Introduction: Introduction to internet and web design. Basic concepts of web
architecture.
Unit 2 HTML: Introduction to hypertext mark-up language (html), creating web pages, lists,
hyperlinks, tables, web forms, inserting images, frames.
R
Unit 3 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
D
Unit 4 Javascript: Document object model, data types and variables, functions, methods
and events, controlling program flow, JavaScript object model, built-in objects and operators,
validations.
Unit 4 jQuery and JSON: Introduction to jQuery, syntax, selectors, events. JSON file
format for storing and transporting data.
References
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
(i) Minnick, J. Web Design with HTML5 and CSS3, 8th edition, Cengage Learning, 2015.
(ii) Boehm, A., & Ruvalcaba, Z. Munarch’s HTML5 and CCS, 4th edition, Mike Murach
& Associates, 2018.
T
(iii) J. A. Ramalho Learn Advanced HTML 4.0 with DHTML, BPB Publications, 2007.
(iv) Ivan Bayross Web Enabled Commercial Application Development Using Html,
Dhtml, Javascript, Perl CGI, BPB Publications, 2009.
AF
Suggested Practical List
HTML
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.
1. 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
T
input and validate all data. Create functions to perform validation of each element,
example:
a. Roll number is a 7-digit numeric value
b. Name should be an alphabetical value(String)
AF c. Non-empty and valid fields like DOB
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
R
4. Handle HTML form, store the data in JSON object, pass them to another page and
display it there using jQuery/Javascript
D
C++, Data Structures and Algorithms-1, Operating Systems, Design and Analysis of
Algorithms, Theory of Computation
Course Objective
The course introduces the students to distributed algorithms in synchronous and asynchronous
network models. The course would give the students hands-on practice to write programs for
distributed algorithms using Remote Procedure Call (RPC) or Message Passing Interface
(MPI)
T
On successful completion of this course, the student will be able to:
1. Describe Network Models for distributed Algorithms
AF
2. Develop elementary synchronous distributed algorithms
3. Develop elementary asynchronous distributed algorithms
Syllabus
and Randomized Version) and distributed consensus with link failures(Stopping failures,
Introduction to Byzantine Failures). More Consensus Problems such as the k-Agreement etc.
References
1. Lynch, N. Distributed Algorithms, Morgan Kaufmann Publishers, Inc.,1996.
Additional References
(i) Garg, V. Elements of Distributed Computing, Wiley, 2014.
T
7. Implement distributed consensus with link failure (Synchronous Network)
8. Implement distributed consensus with Process failure (Synchronous Network)
AF Pathway: (Other DSEs)
Syllabus
Unit 1 Android Systems: Introduction to Mobile devices and applications, Open Handset
R
Alliance (OHA), Overview of Android OS and architecture, installing android studio.
Introduction to Android application components, Intents, Android Manifest File and its
common settings, Using Intent Filter, Permissions Activities and intents: understanding
activity and its life cycle, Types of intents, intent filter, context, data sharing using intent
D
Unit 2 Android User Interface: Basic android UI, layouts, view and view attributes, button,
controls. UI events and event listeners, animations, notifications, progress dialog, Action bar,
toolbar, menus and pop ups, Tab based UI, Fragment, Types of Fragment, Fragment Lifecycle,
communication between fragment and activity
Unit 3 Android Storage and APIs: Android storage: Using Android Data and Storage APIs,
Managing data using SQLite, Sharing Data between Applications with Content Providers
Android APIs: Multimedia, Using Android Networking APIs, Using Android Web APIs,
Using Android Telephony APIs, android location based services
Unit 4 iOS Technology Stack: Introduction to iOS technology stack: iOS architecture,
StoryBoard, features of Xcode, components of iOS SDK. Introduction to swift: data types,
variables, control flow and operators, Collections and functions in swift, classes and
structures, inheritance, closure and. enumerations
Unit 5 User interactions: Controls, gesture organizers, touching views, Core Location and
Mapkit, using Google Maps in iOS. Sensors in iOS. Data persistence: Core Data framework
for storing persistent data, CRUD operations.
References
1. Meier Reto and Ian Lake, Professional Android, 4th edition, Wrox, 2018.
T
2. Craig Grummitt iOS Development with Swift, Manning publications.
3. Rick Boyer Android 9 Development Cookbook, Packt Publishing Limited, 2018.
AF
R
D
Department of Computer Science
University of Delhi
T
Under UGCF 2022
AF
R
D
Approved in
UG Committee meeting held on May17, 2022
Faculty of Mathematical Sciences meeting held on May 25, 2022
To obtain a “Minor in Computer Science”, a student must study GE1a, GE 3a - GE6a
GEs of Semester I, III, V and VII can be taken in any order so long as the prerequisites are
satisfied. Similarly, GEs of Semester II, IV, VI and VIII can be taken in any order so long as
the prerequisites are satisfied.
T
Table of additional GEs
Sem
ester
GE
-No.
AF
Title L T* P* Total
credit
s
Pre-requisites
T
GE5c Java Based 3 0 1 4 A course in C++/Java
Web App
AF
Development
T
GE8c Introduction 3 1 0 4 Knowledge of Computer
to Parallel System Architecture, C++,
Programming Knowledge of Basic Data
AF Structures and Algorithms,
Operating Systems
Note:
1. Wherever C++/Java/Python is a prerequisite, C++/Java/Python of plus 2 level is
acceptable.
2. Batch size for Practicals will be (8-10) and Tutorials will be (12-15).
R
It was recommended to add more electives in Semester VII and VIII in due course of time.
Course Objective
This course is designed to introduce programming concepts using C++ to students. The
course aims to develop structured as well as object-oriented programming skills using C++
programming language. The course also aims to achieve competence amongst its students
to develop correct and efficient C++ programs to solve problems in their respective
domains.
Syllabus
T
Arrays, Keywords, Decision making constructs, Iteration, Type Casting, Input-output
statements, Functions, Command Line Arguments/Parameters
References
1. Stephen Prata, C++ Primer Plus, 6th Edition, Pearson India, 2015.
2. E Balaguruswamy, Object Oriented Programming with C++, 8th edition,
McGraw-Hill Education, 2020.
3. D.S. Malik, C++ Programming: From Problem Analysis to Program Design, 6th
edition, Cengage Learning, 2013.
R
Additional References
(i) Herbert Schildt, C++: The Complete Reference, 4th edition, McGraw Hill, 2003.
D
S=1-2+3-4+…n
The number of terms n is to be taken from the user through the command line. If the
command line argument is not found then prompt the user to enter the value of n.
22
333
4444
55555
T
a. Find the minimum, maximum and average of the array elements
b. Search an element in the array using linear and binary search
5. Write a menu driven program to perform the following operations on a string:
AF
a. Calculate length of the string
b. Check whether the first character of every word in the string is in uppercase or
not
c. Reverse the string
6. Create a class Triangle. Include overloaded functions for calculating the area of a
triangle.
R
7. Create a template class TwoDim which contains x and y coordinates. Define default
constructor, parameterized constructor and void print() function to print the
co-ordinates. Now reuse this class in ThreeDim adding a new dimension as z. Define
D
the constructors and void print() in the subclass. Implement main() to show runtime
polymorphism.
Course Objective
The course is designed to introduce programming concepts using Python to students. The
course aims to develop structured as well as object-oriented programming skills using
Python. The course also aims to achieve competence amongst its students to develop
correct and efficient Python programs to solve problems in their respective domains.
T
3. Solve problems in the respective domain using suitable programming constructs in
Python.
4. Solve problems in the respective domain using the concepts of object oriented
AF
programming in Python.
Syllabus
Unit 2 Creating Python Programs: Identifiers and keywords; Literals, numbers, and
strings; Operators; Expressions; Input/output statements; Defining functions; Control
structures (conditional statements, loop control statements, break, continue and pass, exit
D
Unit 3 Built-in data structures: Mutable and immutable objects; Strings, built-in functions
for string, string traversal, string operators and operations; Lists creation, traversal, slicing
and splitting operations, passing list to a function; Tuples, sets, dictionaries and their
operations.
Unit 4 File and exception handling: File handling through libraries; Errors and exception
handling.
References
1. Taneja, S., Kumar, N., Python Programming- A modular Approach, Pearson
Education India, 2018.
2. Balaguruswamy E., Introduction to Computing and Problem Solving using Python,
2nd edition, McGraw Hill Education, 2018.
Additional References
(i) Brown, Martin C., Python: The Complete Reference, 2nd edition, McGraw Hill
Education, 2018.
(ii) Guttag, J.V. Introduction to computation and programming using Python, 2nd
T
edition, MIT Press, 2016.
*******
*********
*********
*******
******
***
*
4. WAP that accepts a character and performs the following:
a. print whether the character is a letter or numeric digit or a special character
b. if the character is a letter, print whether the letter is uppercase or lowercase
c. if the character is a numeric digit, prints its name in text (e.g., if input is 9,
output is NINE)
5. WAP to perform the following operations on a string
a. Find the frequency of a character in a string.
b. Replace a character by another character in a string.
c. Remove the first occurrence of a character from a string.
d. Remove all occurrences of a character from a string.
T
6. WAP to swap the first n characters of two strings.
7. Write a function that accepts two strings and returns the indices of all the occurrences
of the second string in the first string as a list. If the second string is not present in the
AF
first string then it should return -1.
8. WAP to create a list of the cubes of only the even integers appearing in the input list
(may have elements of other types also) using the following:
a. 'for' loop
b. list comprehension
9. WAP to read a file and
R
a. Print the total number of characters, words and lines in the file.
b. Calculate the frequency of each character in the file. Use a variable of
dictionary type to maintain the count.
D
Course Objective
This course is designed to introduce the students to real-world data analysis problems,
T
their analysis and interpretation of results in the field of exploratory data science using
Python.
AF
Course Learning Outcomes
Unit 2 Array manipulation using Numpy: Numpy array: Creating numpy arrays, various
data types of numpy arrays, indexing and slicing, swapping axes, transposing arrays, data
processing using Numpy arrays
Unit 3 Data Manipulation using Pandas: Data Structures in Pandas: Series, DataFrame,
Index objects, Loading data into Pandas data frame, Working with DataFrames: Arithmetics,
Statistics, Binning, Indexing, Reindexing, Filtering, Handling missing data, Hierarchical
indexing, Data wrangling: Data cleaning, transforming,merging and reshaping
Unit 4 Plotting and Visualization: Using matplotlib to plot data: figures, subplots,
markings, color and line styles, labels and legends, Plotting functions in Pandas: Line,bar,
Scatter plots, histograms, stacked bars, Heatmap
References
1. McKinney W. Python for Data Analysis: Data Wrangling with Pandas, NumPy and
IPython. 2nd edition. O’Reilly Media, 2018..
2. Molin S. Hands-On Data Analysis with Pandas, Packt Publishing, 2019.
T
3. Gupta S.C., Kapoor V.K., Fundamentals of Mathematical Statistics, Sultan Chand &
Sons, 2020.
Additional References
AF
(i) Chen D. Y, Pandas for Everyone: Python Data Analysis, Pearson, 2018.
(ii) Miller J.D. Statistics for Data Science, Packt Publishing, 2017.
1. Load a Pandas dataframe with a selected dataset. Identify and count the missing values
in a dataframe. Clean the data after removing noise as follows
D
T
d. Use a pair plot to show pairwise bivariate distribution
4. Using Titanic dataset, do the following
a. Find total number of passengers with age less than 30
AF
b. Find total fare paid by passengers of first class
c. Compare number of survivors of each passenger class
Project students are encouraged to work on a good dataset in consultation with their faculty
and apply the concepts learned in the course.
This course is designed to inculcate statistical thinking about data to the students who have
studied Mathematics up to Class 10th ONLY. It gently introduces the students to basic
statistics, and builds gradually to cover advanced functionalities for data analysis in
D
spreadsheets. The objective is to enhance the knowledge of statistics and enable students to
make sense of data by analyzing and visualizing it using spreadsheets, interpreting the results
and gaining insights.
T
What–if-analysis: Goal-seek, Data tables, Scenario manager.
Unit 3 Data Analysis: Explore a data model: its content, and its structure, using the Power
Pivot add-in. Learning DAX formula language. Create calculated fields and calculated
measure for each cell, filter context for calculation, and explore several advanced DAX
AF
functions.
Cube formulas to retrieve data from data model.
Unit 4 Data Visualization: Different types of charts including Pivot charts: Column, Line,
Pie, Bar, Scatter charts. Fine tuning of charts: Chart Elements, Chart Styles, Chart Filters,
Box Plot.
References
R
1. Gupta, S.P., Elementary Statistical Methods, Sultan Chand and Sons, New Delhi,
2017.
2. Goldmeier, J., Advanced Excel Essentials, Apress, 2014.
3. Slager, D., Essential Excel 2016: A Step-by-Step Guide, Apress, 2016.
4. Valerie M. Sue and Matthew T. Griffin, Data Visualization and Presentation with
D
4. Create workbook related to sales of Business Company having various product in last
four quarters for 10 sales persons.
i) Make a line graph to show the growth/decline in the sales
ii) Show the graph of each sales person sales
iii) Find the two sales persons done in last 2 quarters
T
iv) Find the sales persons consistent in last four quarters
v) Find the most popular product of the company and the current popular
product of company.
AF
5. Create a Pivot-table showing the Customer Names who placed orders with GSS during
2019-2022. For each customer, also show the total number of orders, Total Sales, and
Total Profit. Add a Slicer or a Filter that can be used to show the information specifically
for each Customer Segment. Use information from the Pivot-table to answer the
following questions (Hint: Filter and sort the data in the Pivot-table to locate the
answer):
i) Which small business customer had the highest sales?
R
ii) Which corporate customer placed the greatest number of orders in
2019-2022? How many orders were placed by the corporate customer?
iii) Which consumer customer was the most profitable one?
iv) What is the sales figure of the least profitable home office customer?
D
1 40%
2 35%
3 30%
T
Net=Gross - PF
i) Find max, min and average salary of employees in respective Grade.
ii) Count no. of people where VA>HRA
AF
iii) Find out most frequently occurring grade.
iv) Extract records where employee name starts with “A” has HRA>10000
v) Print Grade wise report of all employees with subtotals of net salary and
also grand totals.
vi) Use subtotal command.
vii) Extract records where Grade is 1 or 2 and salary is between 10000 and
20000 both inclusive.
R
7. Create workbook related to sales of Business Company having various product in last
ten quarters for 20 sales persons. Perform the following on workbook:
i) Create and modify a Pivot-table
ii) Apply Pivot-table styles and formatting
D
8. Create a PivotTable showing Total Sales breakdown by Region, Product Category, and
Product Sub-Category. Use information from the PivotTable to answer the following
questions:
i) What was the Total Sales figure included in this data set?
ii) Which Product Category had the highest sales?
iii) Which Region had the lowest sales?
iv) What was the Total Sales of Appliances in Delhi?
9. You are required to prepare a payroll statement in the given format making maximum
use of cellreferencing facility:
Is
HRA
to be
Code Name Category Paid Basic DP DA HRA TA CCA Gross
1 Y
2 N
Total
T
Required:
● Basic salary (Allow any Basic salary in the range of Rs.10000-35000)
AF
● DP is 50% of Basic Salary.
● DA (as a Percentage of Basic + DP) is more than 35000 then 40% of basic else 30% of
basic.
● HRA is to be paid @ 40% of (Basic plus DP) to those whom HRA payable is yes.
● TA is to be paid @ Rs. 800 PM if Basic Salary is Less than Rs.12000,
otherwise the TA is Rs. 1000 PM)
● CCA is to be paid @ Rs. 300 PM if Basic Salary is less than Rs.12000/-
otherwise the CCA is Rs. 500 PM)
R
● Gross salary is the sum of Salary and all other allowances
● Deduction: a) GPF 10% of (Basic +DP) subject to a minimum of Rs.2000/- b) IT
10% of Gross Salary
● Net salary is Gross salary minus total deductions.
D
10. Consider the following worksheet for APS 1st year students:
S.No. Name Physics Chem Bio Maths CS Total % Grade
3
4
If % >=90 Grade A
T
Otherwise, students will be declared fail.
i) Calculate Grade using if function
ii) Sort the data according to total marks
AF
iii) Apply filter to display the marks of the students having more than 65%
marks.
iv) Enter the S.No. of a student and find out the Grade of the
student using VLOOKUP.
v) Extract all records where name
a) Begins with “A”
b) Contains “A”
R
c) Ends with “A”
D
Course Objective
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.
Course Learning Outcomes
On successful completion of the course, students will be able to:
1. Use relational database management software to create and manipulate the database.
2. Create conceptual data models using entity relationship diagrams for modeling
real-life situations and map it to corresponding relational database schema.
T
6. Implement relational databases and formulate queries for data retrieval and data
update problems using SQL .
Syllabus
Unit 3 Relational Data Model: Data anomalies, Relational Data Model - Characteristics of
a relation, schema-instance distinction, types of keys, relational integrity constraints.
D
Relational algebra operators like selection, projection, cartesian product, join and write
simple queries using them.
Unit 4 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.
References
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
(i) Connolly T. M., Begg C. E. Database Systems: A Practical Approach to Design,
T
Implementation, and Management, 6th edition, Pearson, 2019.
(ii) Ramakrishnan R., Gehrke J. Database Management Systems, 3rd Edition,
McGraw-Hill, 2014.
AF
(iii) Silberschatz A., Korth H.F., Sudarshan S. Database System Concepts, 7th Edition,
McGraw Hill, 2019.
Create and use the following student-course database schema for a college to answer
the given queries using the standalone SQL editor.
R
STUDENT Roll No StudentName CourseID DOB
Char(6) Varchar(20) Varchar(10) Date
D
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
1. Retrieve names of students enrolled in any course.
2. Retrieve names of students enrolled in at least one part time course.
3. Retrieve students' names starting with letter ‘A’.
4. Retrieve students' details studying in courses ‘computer science’ or ‘chemistry’.
5. Retrieve students’ names whose roll no either starts with ‘X’ or ‘Z’ and ends with ‘9’
6. Find course details with more than N students enrolled where N is to be input by the
user
7. Update student table for modifying a student name.
8. Find course names in which more than five students have enrolled
9. Find the name of youngest student enrolled in course ‘BSc(P)CS’
10. Find the name of most popular society (on the basis of enrolled students)
11. Find the name of two popular part time courses (on the basis of enrolled students)
12. Find the student names who are admitted to full time courses only.
T
13. Find course names in which more than 30 students took admission
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
AF
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
R
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.
D
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.
Course Objective
T
4. Handle input/output through files.
Syllabus
AF
Unit I Introductory Concepts: program, identifiers, variables, constants, primitive data
types, expressions, Naming Conventions, Type casting, operators, control statements,
structured data types, arrays, functions.
Unit III Multithreading: Creating Threads, Thread Priority, Blocked States, Extending
Thread Class, Runnable Interface, Starting Threads, Thread Synchronization, Sync Code
Block, Overriding Synced Methods, Thread Communication, wait, notify and notify all.
D
Unit IV Introduction to Exception handling: Exception and Error, Throw, try and catch
Blocks, Exception handlers, java.lang Exceptions, Built-InExceptions.
Unit V Introduction to File Handling: Byte Stream, Character Stream, File I/O Basics, File
Operations, Serialization.
References
1. James Gosling, Bill Joy, Guy L. Steele Jr, Gilad Bracha, Alex Buckley, The Java
Language Specification, Java SE 7th edition, Addison-Wesley, 2013.
2. Herbert Schildt, Java: The Complete Reference, 10th edition, McGraw-Hill Education,
2018.
3. Cay S. Horstmann, Core Java - Vol. I – Fundamentals, 10th edition, Pearson, 2017.
5. Kathy Sierra and Bert Bates, Head First Java, 3rd edition, O’Reilly, 2022.
T
1. Create a java program to implement stack and queue concept.
Course Objective
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.
Course Learning Outcomes
Syllabus
T
Unit 1 Growth of Functions, Recurrence Relations: Functions used in analysis, asymptotic
notations, asymptotic analysis, solving recurrences using recursion tree, Master Theorem.
Unit 2 Arrays, Linked Lists, Stacks, Queues, Deques: Arrays: array operations,
AF
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 Sorting: Insertion Sort, Count Sort and their complexity analysis.
R
Unit 4 Recursion: Recursive functions, linear recursion, binary recursion.
Unit 5 Trees, Binary Trees: Trees: definition and properties, binary trees: definition and
properties, traversal of binary trees and their time complexity analysis.
Unit 6 Binary Search Trees, Balanced Search Trees: Binary Search Trees: insert, delete
D
(by copying), search operations, time complexity analysis of these operations; Balanced
Search Trees and (2,4) Trees: motivation and introduction.
Unit 7 Binary Heap, Priority Queue: Binary Heaps: motivation and introduction,
application of heaps - Priority Queues.
References
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. 4 th
edition. Prentice Hall of India. 2022.
3. Drozdek, A., Data Structures and Algorithms in C++, 4th edition, Cengage Learning,
2012.
Additional References
(i) Sahni, S. Data Structures, Algorithms and applications in C++, 2nd edition.
Universities Press, 2011.
(ii) Langsam Y., Augenstein, M. J., & Tanenbaum, A. M. Data Structures Using C and
C++, 2nd edition, Pearson, 2009.
T
2. Implement following recursive functions:
a. Factorialof a number
b. Nth fibonacci number
c. Power function: xy
AF
3. Implement singly linked lists.
3. Implement doubly linked lists.
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.
R
10. Implement Binary Trees and its traversals.
D
Course Objective
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.
2. Build dynamic websites using the client side programming techniques with CSS and
Javascript.
Syllabus
Unit 1 Introduction: Introduction to internet and web design. Basic concepts of web
architecture.
T
Unit 2 HTML: Introduction to hypertext mark-up language (html), creating web pages, lists,
hyperlinks, tables, web forms, inserting images, frames.
Unit 3 Cascading style sheet (CSS): Concept of CSS, creating style sheet, Importing style
AF
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).
Unit 4 Javascript: Document object model, data types and variables, functions, methods
and events, controlling program flow, JavaScript object model, built-in objects and operators,
R
validations.
References
1. Powell, T.A., HTML & CSS: The Complete Reference, 5th edition, Tata
D
McGrawHill, 2010.
2. Minnick, J. ,Web Design with HTML5 and CSS3, 8th edition, Cengage Learning,
2015.
3. J. A. Ramalho , Learn Advanced HTML 4.0 with DHTML, BPB Publications, 2007.
Additional References
(i) Boehm, A., & Ruvalcaba, Z. Murach’s, HTML5 and CCS, 4th edition, Mike
Murach & Associates, 2018.
(ii) Ivan Bayross , Web Enabled Commercial Application Development Using Html,
Dhtml, Javascript, Perl CGI , BPB Publications, 2009.
HTML
T
Images, Internal and External linking
3. Create an HTML displaying this semester’s time table.
4. Create a website with horizontal and vertical frames. Top horizontal frame showing your
AF
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:
a. Text Box
b. Dropdown box
R
c. Option/radio buttons
d. Check boxes
e. Reset and Submit button
D
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.
Javacript
2. Create a student registration form using text, radio button, check box, drop down box,
text field and all other required HTML elements. Customize the CSS and javascript to
input and validate all data. Create functions to perform validation of each element,
example:
T
b. Name should be an alphabetical value(String)
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
D
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.
At the successful completion of the course, students will also 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
Unit 1 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 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 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.
T
Unit 4 Memory Management: Physical and Logical address space, Swapping Contiguous
memory allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual
memory: Demand Paging.
AF
Unit 5 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 Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
R
References
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. Das, S., Unix: Concepts and Applications, 4th Edition, TMH, 2009.
D
Additional References
(i) Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
(ii) Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs,
NJ: Prentice-Hall, 1984.
(iii) Stallings, W., Operating Systems: Internals and Design Principles, 9th edition,
Pearson
Education, 2018.
(iv) Tanenbaum, A. S., Modern Operating Systems. 3rd edition. Pearson Education, 2007.
1. Usage of following commands: ls, pwd, cat, who, rm, mkdir, rmdir,cd.
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 “*”.
T
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.
AF
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
R
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.
D
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 Objective
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.
Course Learning Outcomes
On successful completion of this course, the student will be able to:
1. develop interactive and dynamic websites.
2. write programs to communicate with the server using GET and POST methods
3. learn to connect and manipulate databases using MySql
4. validate server-side/backend data
Syllabus
Unit 1 Introduction to PHP: Basic Syntax, defining variables and constants, data types,
operators and expressions, decision making statements, constructs for iterations.
T
Unit 2 String: Handling: Creating a string and accessing its content, searching and replacing
content of a string, and other built-in functions.
AF
Unit 3 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.
Unit 4 Database: Connectivity with MySQL: Connectivity with database, database creation,
creating tables, insertion and retrieval of the data from the database.
Unit 5 jQuery and JSON: Introduction to jQuery, syntax, selectors, events. JSON file
format for storing and transporting data.
R
References
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
D
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.
T
c. Replace text within a string
d. Remove whitespace and other predefined characters from both sides of a string.
e. Check if a value is a string
f. Convert the first character of each word in a string into uppercase.
AF
6. Design a Login form and validate that form using PHP code. Display error message box
when data is not valid otherwise redirect to the next page and display “Welcome
username!”.
7. Design a student registration form, using appropriate input fields consisting of following:
a. First Name
b. Last Name
c. Gender
R
d. Roll Number
e. Phone Number
f. Course
Submit and retrieve the form data using $_POST, $_GET variable.
D
8. Write PHP Code to make connection to MySql database, create database and tables
and perform insertion, deletion, and retrieval of the data from the database. 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.
Course Objective
Under Preparation
T
Syllabus
Unit 3 Introduction to servlets: Concepts of Streams, events and listener, recap of HTML,
CSS, XML, Servlet package and interface, life cycle of servlet, deployment descriptor,
R
Filters, HHTP and Generic servlet, request dispatcher, Request Response classes, Dynamic
page designing using servlet.
Unit 4 Introduction to JSP: JSP Life cycle, tags in JSP, custom tags, Expression Language,
D
References
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.
Course Objective
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.
T
Upon successful completion of the course, students will be able to:
1. differentiate between various types of computer networks and their topologies.
2. understand the difference between the OSI and TCP/IP protocol suit.
AF
3. distinguish between different types of network devices and their functions.
4. design/implement data link and network layer protocols in a simulated networking
environment.
Syllabus
Unit 1 Introduction: Types of computer networks, Internet, Intranet, network topologies
(bus, star, ring, mesh, tree, hybrid topologies), network classifications. layered architecture
R
approach, OSI Reference Model, TCP/IP Reference Model. Transmission Modes: simplex,
half duplex and full duplex.
Unit 2 Physical Layer: Analog signal, digital signal, the maximum data rate of a channel,
transmission media (guided transmission media, wireless transmission, satellite
D
Unit 3 Data Link and MAC Layer: Data link layer services, error detection and
correction techniques, error recovery protocols (stop and wait, go back n, selective repeat),
multiple access protocols with collision detection, MAC addressing, Ethernet, data link
layer switching, point-to-point protocol.
Unit 4 Network layer: Networks and Internetworks, virtual circuits and datagrams,
addressing, subnetting, Dijkstra Routing algorithm, Distance vector routing, Introduction
to Network Layer protocol- (ARP, IPV4, ICMP).
References
T
1. Tanenbaum, A.S. & Wethrall, D.J., Computer Networks, 5th edition, Pearson Education,
2012.
AF
2. Forouzan, B. A., Data Communication and Networking, 4th edition, McGraw-Hill
Education, , 2017.
Additional References
(i) Comer, D. E., Computer Networks and Internet, 6th edition, Pearson Publication, 2015.
(ii) Stallings, W., Data and Computer Communications, 10th edition, Pearson education
R
India, 2017.
2. Simulate and implement stop and wait protocol for noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.
5. Simulate and implement distance vector routing algorithm.
6. Simulate and implement the Dijkstra algorithm for shortest-path routing.
Course Objective
T
3. Develop a RESTful web services.
Unit 1 Introduction to React: Definition of React, React library, React Developer tools,
Introduction to ES6, Declaring variables, Arrow Functions, Objects and Arrays, modules,
Introduction to AJAX, Functions in AJAX Pure React: Page setup, virtual DOM, React
Element, React DOM, Constructing Elements with Data, React Components, DOM
R
Rendering, First React Application using Create React App, React with JSX, React Element
as JSX Props, State and Component Tree: Property Validation, Validating Props with
createClass, Default Props, ES6 Classes and stateless functional components, React state
management, State within the component tree, state vs props, Forms in React
D
Unit 2 Rest APIs: JSON: Introduction, Syntax, Data Types, Objects, Schema. REST API:
Introduction, WRML, REST API Design, Identifier Design with URIs, Interaction Design
with HTTP, Representation Design, Caching, Security.
References
1. D. Brad, B. Dayley and C. Dayley, Node. js, MongoDB and Angularjs Web
Development: The definitive guide to using the MEAN stack to build web applications,
2nd edition, Addison-Wesley, 2018.
2. D. Herron, Node.js Web Development, 5th edition, Packt Publishing, 2020.
3. A. Banks and E. Porcello, Learning React: Functional Web Development with React and
Redux, 1st edition, O’Reilly, 2017.
4. M. Masse, REST API – Design Rulebook, 1st edition, O’Reilly, 2011.
Suggested Practical List
Under Preparation
Course Objective
T
This course introduces the basic concepts and techniques of Artificial Intelligence (AI) along
with the foundations of AI. Artificial Intelligence is the branch of computer science devoted
to the study and development of methods that enable computers to do things that would
require intelligence if done by humans. The focus of this course is to impart knowledge about
AF
the use of core AI techniques having applicability to a wide range of real-world problems.
Topics covered comprise an introduction to AI and intelligent agents, concepts of learning
and reasoning, search techniques, game playing, knowledge representation and understanding
of natural languages.
Syllabus
Unit 5 AI- The Present and Future: Weak AI, Strong AI, Human-level AI Models,
Data-driven Models and Machine Learning End-to-end Deep Learning AI Models.
T
Text Books
1. Russell, Stuart, J. and Norvig, Peter, Artificial Intelligence - A Modern Approach,
Pearson, 4th edition, 2020.
AF
2. Rich, Elaine and Knight, Kelvin, Artificial Intelligence, 3rd edition, Tata McGraw
Hill, 2010.
3. Bratko, Ivan, Prolog Programming for Artificial Intelligence, Addison-Wesley,
Pearson Education, 4th edition, 2012.
Reference Books
(i) Kaushik, Saroj, Artificial Intelligence, Cengage Learning India, 2011.
R
(ii) Patterson, DAN,W, Introduction to A.I. and Expert Systems – PHI, 2007.
(iii) Clocksin, W., F. and Mellish, Programming in PROLOG, 5th edition, Springer,
2003.
D
1. Write a program to implement two agents to communicate with each other with message
passing in Python/Prolog.
2. Write a program to implement the Hill climbing search algorithm in Python/Prolog.
3. Write a program to implement the Best first search algorithm in Python/Prolog.
4. Write a program to implement A* search algorithm in Python/Prolog.
5. Write a program to implement the min-max search algorithm in Python/Prolog.
6. Write a program to solve the Water-Jug Problem in Python/Prolog.
7. Implement sudoku problem (minimum 9×9 size) using constraint satisfaction in
Python/Prolog.
8. Write a prolog program to implement the family tree and demonstrate the family
relationship.
9. Write a prolog program to implement knowledge representation using frames with
appropriate examples.
10. Write a Prolog program to implement conc(L1, L2, L3) where L2 is the list to be
appended with L1 to get the resulted list L3.
11. Write a Prolog program to implement reverse(L, R) where List L is original and List R
is reversed list.
12. Write a PROLOG program to generate a parse tree of a given sentence in English
T
language assuming the grammar required for parsing.
13. Write a prolog program to recognize context free grammar anbn.
AF
GE7a: Information Security
Course Objective
The goal of this course is to make a student learn basic principles of information security.
Over the due course of time, the student will be familiarized with cryptography,
authentication and access control methods along with software security. Potential security
R
threats and vulnerabilities of systems are also discussed along with their impacts and
countermeasures. This course also touches upon the implications of security in cloud and
Internet of Things (IoT).
Unit 3 Data Security: User authentication and Access Control, Database and Data Center
Security
Unit 4 Software Security: Types of Malicious Software, Threats, Viruses, Worms, SPAM
T
E-Mail, Trojans, Payload — System Corruption, Payload — Attack Agent — Zombie, Bots,
Payload — Information Theft — Keyloggers, Phishing, Spyware, Payload — Stealthing —
Backdoors, Rootkits, Countermeasures. Overflow Attacks - Stack Overflows, Defending
Against Buffer Overflows, Other Forms of Overflow Attacks. Handling Program Input,
AF
Writing Safe Program Code, Interacting with the Operating System and Other Programs.
Unit 6 Wireless, Cloud and IoT Security: Cloud Computing, Cloud Security Concepts,
R
Cloud Security Approaches, The Internet of Things, IoT Security. Wireless Security
Overview, Mobile Device Security, IEEE 802.11 Wireless LAN.
References
D
1. Stallings, W. and Brown L., Computer Security: Principles and Practice, 4th edition,
Pearson education, 2018.
Additional References
1. Pfleeger C.P., Pfleeger S.L., Margulies J. Security in Computing, 5th edition, Prentice
Hall, 2015.
2. Lin S., Costello D.J., Error Control Coding: Fundamentals and applications, 2nd
edition, Pearson Education, 2004.
3. Stallings W. Cryptography and network security, 7th edition, Pearson Education,
2018.
4. Berlekamp E. Algebraic Coding Theory, World Scientific Publishing Co., 2015.
5. Stallings W. Network security essentials Applications and Standards, 6th edition,
Pearson Education, 2018.
6. Whitman M.E., Mattord H.J., Principle of Information Security, 6th edition, Cengage
Learning, 2017.
7. Bishop M., Computer Security: Art and Science, 2nd Revised Edition, Pearson
Education, 2019.
8. Anderson R.J., Security Engineering: A guide to building Dependable Distributed
Systems, 2nd Edition, John Wiley & Sons, 2008.
T
passwords using these tools.
3. Use nmap/zenmap to analyse a remote machine.
4. Use Burp proxy to capture and modify the message.
5. Implement caeser cipher substitution operation.
AF
6. Implement monoalphabetic and polyalphabetic cipher substitution operation.
7. Implement playfair cipher substitution operation.
8. Implement hill cipher substitution operation.
9. Implement rail fence cipher transposition operation.
10. Implement row transposition cipher transposition operation.
11. Implement product cipher transposition operation.
R
GE7b: Design and Analysis of Algorithms
Course Objective
The course is designed to develop understanding of different algorithm design techniques and
D
use them for problem solving. The course shall also enable the students to verify correctness
of algorithms and analyze their time complexity.
Syllabus
Unit 1 Sorting, Selection: Insertion Sort, Linear Time Sorting - Count Sort, Radix Sort,
Selection Problem. Analysis of time complexity of all algorithms.
Unit 3 Divide and Conquer: Introduction to divide and conquer technique, Merge Sort,
Quick Sort with analysis of time complexity.
T
complexity.
References
AF
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
R
(i) Basse, S., Gelder, A. V. Computer Algorithms: Introduction to Design and Analysis.
3rd edition, Pearson, 1999.
1. Implement Insertion Sort, Selection sort, Bubble Sort (The program should report
the number of comparisons).
2. Implement Merge Sort (The program should report the number of comparisons).
3. Implement Quick sort (The program should report the number of comparisons).
4. Implement Radix Sort.
5. Implement Count Sort.
6. Implement Searching Techniques: Linear and binary.
7. Implement BFS traversal on a graph.
8. Implement DFS traversal on a graph.
9. Implement 0-1 knapsack problem using DP
GE7c: Internet Technologies - Mobile App Design and Development
Course Objective
Under Preparation
Syllabus
Unit 1 Android Systems: Introduction to Mobile devices and applications, Open Handset
Alliance (OHA), Overview of Android OS and architecture, installing android studio.
T
Introduction to Android application components, Intents, Android Manifest File and its
common settings, Using Intent Filter, Permissions Activities and intents: understanding
activity and its life cycle, Types of intents, intent filter, context, data sharing using intent
AF
Unit 2 Android User Interface: Basic android UI, layouts, view and view attributes, button,
controls. UI events and event listeners, animations, notifications, progress dialog, Action bar,
toolbar, menus and pop ups, Tab based UI, Fragment, Types of Fragment, Fragment
Lifecycle, communication between fragment and activity
Unit 3 Android Storage and APIs: Android storage: Using Android Data and Storage APIs,
Managing data using SQLite, Sharing Data between Applications with Content Providers
Android APIs: Multimedia, Using Android Networking APIs, Using Android Web APIs,
R
Using Android Telephony APIs, android location based services
Unit 4 iOS Technology Stack: Introduction to iOS technology stack: iOS architecture,
StoryBoard, features of Xcode, components of iOS SDK. Introduction to swift: data types,
D
variables, control flow and operators, Collections and functions in swift, classes and
structures, inheritance, closure and. enumerations
Unit 5 User interactions: Controls, gesture organizers, touching views, Core Location and
Mapkit, using Google Maps in iOS. Sensors in iOS. Data persistence: Core Data framework
for storing persistent data, CRUD operations.
References
1. Meier Reto and Ian Lake, Professional Android, 4th edition, Wrox, 2018.
2. Craig Grummitt, iOS Development with Swift, Manning publications.
3. Rick Boyer, Android 9 Development Cookbook, Packt Publishing Limited, 2018.
Course Prerequisites
A course in probability, statistics, linear algebra and multivariate analysis
Course Objective
T
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.
Course Learning Outcomes
AF
On successful completion of this course, the student will be able to:
1. Differentiate between supervised and unsupervised learning tasks.
Syllabus
D
Unit 1 Introduction: Basic definitions and concepts, key elements, supervised and
unsupervised learning, introduction to reinforcement learning, applications of ML.
Unit 3 Regression: Linear regression with one variable, linear regression with multiple
variables, gradient descent, over-fitting, regularization. Regression evaluation metrics.
Unit 4 Classification: Decision trees, Naive Bayes classifier, logistic regression, k-nearest
neighbor classifier, perceptron, multilayer perceptron, neural networks, back-propagation
algorithm, Support Vector Machine (SVM). Classification evaluation metrics.
References
2. James, G., Witten. D., Hastie. T., Tibshirani., R. An Introduction to Statistical Learning
with Applications in R, Springer, 2014.
T
3. Alpaydin, E. Introduction to Machine Learning, MIT press, 2009.
Additional References AF
(i) Flach, P. Machine Learning: The Art and Science of Algorithms that Make Sense of
Data, Cambridge University Press, 2015.
(ii) Christopher & Bishop, M. Pattern Recognition and Machine Learning, New York:
Springer-Verlag, 2016.
(iii) Sebastian Raschka, Python Machine Learning, Packt Publishing Ltd., 2019.
T
GE8b: Digital Marketing and Social Media Analytics
Under Preparation
AF
GE8c: Introduction to Parallel Programming
Course Prerequisites
R
Programming in C++, Data Structures, Computer System Architecture, Operating Systems
Course Objective
D
The course introduces the students to the basic concepts and techniques of parallel
programming. It enables them to design and implement parallel algorithms. The course
would give the students hands-on practice to write parallel programs using shared and
distributed memory models using OpenMP and Message Passing Interface (MPI).
Unit 2 OpenMP programming for shared memory systems: Thread Basics, Controlling
Thread and Synchronization Attributes, Multi-thread and multi-tasking, Context Switching,
Basic OpenMP thread functions, Shared Memory Consistency Models and the Sequential
Consistency Model, Race Conditions, Scoping variables, work-sharing constructs, critical
T
sections, atomic operations, locks, OpenMP tasks, Introduction to tasks, Task queues and
task execution, Accessing variables in tasks, Completion of tasks and scoping variables in
tasks.
AF
Unit 3 MPI programming for distributed memory systems: MPI basic communication
routines (Introduction to MPI and basic calls, MPI calls to send and receive data, MPI call for
broadcasting data, MPI Non-blocking calls, Introduction to MPI Collectives, Types of
interconnects (Characterization of interconnects, Linear arrays, 2D mesh and torus, cliques)
McGraw-Hill, 2017.
3. Revdikar, L., Mittal, A., Sharma, A., Gupta, S., A Naïve Breadth First Search
Approach Incorporating Parallel Processing Technique For Optimal Network
Traversal, International Journal of Advanced Research in Computer and
Communication Engineering Vol. 5, Issue 5, May 2016
T
AF
R
D
Department of Computer Science
University of Delhi
T
Under UGCF 2022
AF
R
D
Approved in
UG Committee meeting held on May17, 2022
Faculty of Mathematical Sciences meeting held on May 25, 2022
1. List of SECs
Table of SECs
Office Nil
T
SEC01B Automation 1 0 1 2
Tools
I/III/V/V
II App Basic knowledge
AF SEC01C Development 1 0 1 2 of programming
for Android
Introduction to Basic
SEC2D Object Oriented 1 0 1 2 knowledge of
Programming Python
using Python
Note:
Course Objective
The course aims at introducing the basic concepts and techniques of client side web
T
programming. The student shall be able to develop simple, interactive and stylish websites
using HTML, CSS and Javascript.
Syllabus
D
Unit 1 Introduction: Introduction to internet and web design. Basic concepts of web
architecture.
Unit 2 HTML: Introduction to hypertext mark-up language (html), creating web pages, lists,
hyperlinks, tables, web forms, inserting images, frames.
Unit 3 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).
Unit 4 Basics of Javascript: Document object model, data types and variables, functions,
methods and events, controlling program flow, built-in objects and operators, validations.
References
1. Nixon, R., Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5, O'Reilly,
2018.
2. Powell, T.A. HTML & CSS: The Complete Reference, 5th edition, Tata
McGrawHill, 2017.
T
3. Duckett, J., JavaScript and JQuery: Interactive Front-End Web Development,
Wiley, 2014.
Additional References
AF
(i) Boehm, A., & Ruvalcaba, Z., Murach’s HTML5 and CCS, 4th edition, Mike Murach &
Associates, 2018.
(ii) Ivan Bayross, Web Enabled Commercial Application Development Using Html, Dhtml,
Javascript, Perl CGI, BPB Publications, 2010.
R
Suggested Practical List
HTML
1. Create an HTML document with following formatting – Bold, Italics, Underline, Colors,
D
Headings, Title, Font and Font Width, Background, Paragraph, Line Brakes, Horizontal
Line, Blinking text as well as marquee text.
2. Create an HTML document with Ordered and Unordered lists, Inserting
Images, Internal and External linking
3. Create an HTML document for displaying the current semester’s time table.
4. Create a website with horizontal and vertical frames. Top horizontal frame needs to show
your college’s name and logo. Bottom horizontal frame is to split into two vertical
frames. The left frame has hyperlinks to pages related to faculty, courses, student
activities, etc. The right frame shows the corresponding webpage based on the link
clicked on the left frame.
5. Create a student registration form using HTML which has the following controls and
make interactive content presentation using CSS.:
I. Text Box II. Dropdown box III. Option/radio buttons
IV. Check boxes V. Reset and Submit button
6. Create a webpage for your department with a drop down navigation menu for faculty,
courses, activities, etc.. Implement the webpage using styles, rules, selectors etc. learnt in
CSS
7. Write event driven programs in JavaScript for the following:
T
1. Enter a number and on click of a button print its multiplication table.
4. Enter a list of positive numbers using the prompt terminated by a zero. Find the
sum and average of these numbers.
8. Create a student registration form using text, radio button, check box, drop down box,
text field and all other required HTML elements. Customize the CSS and javascript to
input and validate all data. Create functions to perform validation of each element,
example:
R
a. Roll number is a 7-digit numeric value
The course introduces the students to document processing, presentation software and data
handling. The basic features and skills of creating, editing, inserting tables, graphics as well as
presentation tools along with spreadsheet data handling are covered.
Course Learning Outcomes
T
Unit 1 Document Processing Basics: Creating, opening and saving a document, text formatting,
header and footer, creating and editing of tables, importing graphics, insert picture, using word
processor's drawing features, text in drawing.
AF
Unit 2 Advanced Features: Creating macros, watermarks, templates, reviewing documents,
comparing and combining documents, protection of documents-using passwords. Mail merge
concept, main document, data sources, merging data source and main document.
Unit 3 Presentation Tools: Creating presentations, using blank presentation option, using design
template option, adding slides, deleting a slide, importing images from the outside world,
deleting a slide, numbering a slide, saving presentation transition and animations, adding notes to
slides, customize slideshow.
R
Unit 4 Data Handling using spreadsheets: Relative, absolute and mixed referencing,
mathematical and statistical functions, nested functions
D
References
1. Mali, L., Libre office 5.1 Impress, Draw. Base book- Vol 2, Notion Press, 2017..
2. Libreoffice Documentation Team, Getting Started with LibreOffice 6.0. Friends of
OpenDocument, Inc., 2018.
3. Libreoffice Documentation Team, LibreOffice 6.0 Writer Guide. Friends of
OpenDocument, Inc., 2018.
Course Objective
This course is designed as the first course for developing simple mobile applications that can
run on Android mobiles and tablets. The students will learn the fundamentals of Android OS.
They will be able to write applications which can work with databases and store the data locally.
T
On successful completion of the course, students will be able to:
Syllabus
Unit 1 Android Systems: Introduction to Mobile devices and applications, Open Handset
Alliance (OHA), Overview of Android OS and architecture, installing android studio.
R
Introduction to Android application components, Intents, Android Manifest File and its common
settings, Using Intent Filter, Permissions Activities and intents: understanding activity and its life
cycle, Types of intents, intent filter, context, data sharing using intent
Unit 2 Android User Interface: Basic android UI, layouts, view and view attributes, button,
D
controls. UI events and event listeners, animations, notifications, progress dialog, Action bar,
toolbar, menus and pop ups, Tab based UI, Fragment, Types of Fragment, Fragment Lifecycle,
communication between fragment and activity
Unit 3 Android Storage and APIs: Android storage: Using Android Data and Storage APIs,
Managing data using SQLite, Sharing Data between Applications with Content Providers
Android APIs: Multimedia, Using Android Networking APIs, Using Android Web APIs, Using
Android Telephony APIs, android location based services.
1. Meier Reto and Ian Lake, Professional Android, 4th edition, Wrox, 2018.
2. Rick Boyer, Android 9 Development Cookbook, Packt Publishing Limited, 2018.
Course Objective
This course is designed as the first course that introduces programming concepts using Python.
The course focuses on the development of Python programming to simple solve problems of
T
different domains.
Syllabus
R
Unit 1 Introduction to Programming: Problem solving strategies; Structure of a Python
program; Syntax and semantics; Executing simple programs in Python.
D
Unit 2 Creating Python Programs: Identifiers and keywords; Literals, numbers, and strings;
Operators; Expressions; Input/output statements; Defining functions; Control structures
(conditional statements, loop control statements, break, continue and pass, exit function),
default arguments.
Unit 3 Built-in data structures: Mutable and immutable objects; Strings, built-in functions for
string, string traversal, string operators and operations; Lists creation, traversal, slicing and
splitting operations.
References
1. Taneja, S., Kumar, N. Python Programming- A modular Approach, Pearson Education
India, 2018.
2. Balaguruswamy E., Introduction to Computing and Problem Solving using Python, 2nd
edition, McGraw Hill Education, 2018.
Additional References
1. Brown, Martin C., Python: The Complete Reference, 2nd edition, McGraw Hill Education,
2018.
2. Guttag, J.V., Introduction to computation and programming using Python, 2nd edition,
MIT Press, 2016.
T
Suggested Practical ListAF
1. WAP to find the roots of a quadratic equation
2. WAP to accept a number ‘n’ and
a. Check if ’n’ is prime
b. Generate all prime numbers till ‘n’
c. Generate first ‘n’ prime numbers
d. This program may be done using functions
R
3. WAP to create a pyramid of the character ‘*’ and a reverse pyramid
*
***
*****
*******
D
*********
*******
*****
***
*
4. WAP that accepts a character and performs the following:
a. print whether the character is a letter or numeric digit or a special character
b. if the character is a letter, print whether the letter is uppercase or lowercase
c. if the character is a numeric digit, prints its name in text (e.g., if input is 9, output
is NINE)
5. WAP to perform the following operations on a string
a. Find the frequency of a character in a string.
b. Replace a character by another character in a string.
c. Remove the first occurrence of a character from a string.
d. Remove all occurrences of a character from a string.
6. WAP to swap the first n characters of two strings.
7. Write a function that accepts two strings and returns the indices of all the occurrences of
the second string in the first string as a list. If the second string is not present in the first
string then it should return -1.
8. WAP to create a list of the cubes of only the even integers appearing in the input list (may
have elements of other types also) using the following:
a. 'for' loop
T
b. list comprehension
Course Objective
The course aims at introducing the basic concepts and techniques of server side web
programming. The student shall be able to develop interactive and dynamic websites using
R
HTML, PHP and MySql.
Unit 1 Introduction to PHP: Basic Syntax, defining variables and constants, data types,
operators and expression, decision making statements, loop making constructs, mixing
decisions and looping with HTML
Unit 2 String Handling: Creating a string and accessing its content, searching and replacing
content of a string, formatting a string, string built-in-functions
Unit 3 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, create a student’ registration
form
Unit 4 Database Connectivity with MySQL: Connectivity with database, database creation,
creating tables, insertion and retrieval of the data from the database, data manipulation.
T
References
1. Nixon, R., Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5, O'Reilly,
2018.
AF
2. Murach J, Murach's, PHP and MySQL, 2nd Edition, Mike Murach & Associates, 2014.
3. Holzner S., PHP: The Complete Reference, McGraw Hill, 2017.
**
***
****
*****
5. Write a PHP script to perform following string operations using in-built functions and
built an interactive web page having buttons for each of the following operation:
a. Find the length of a string
b. Find a substring from a string
c. Replace text within a string
d. Remove whitespace and other predefined characters from both sides of a string.
e. Check if a value is a string
f. Reverse a given string
g. Convert the first character of each word in a string into uppercase.
6. Design a Login form and validate that form using PHP code (Server side validation).
Display message box when data is empty otherwise redirect to next page and display
“Welcome username!”.
7. Design a student registration form, using appropriate input fields consisting of following:
a. First Name
b. Last Name
c. Gender
d. Roll Number
T
e. Department
f. Societies
Submit and retrieve the form data using $_POST, $_GET variable.
AF
8. Write PHP Code to make connection to MySql database, create database and tables and
access their contents.
9. Write PHP code to insert, delete, and select the data from the database. Create proper
forms for performing the above operations. 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.
R
SEC02B: Data Analysis using Spreadsheet
Course Objective
D
The course will help students to learn how to analyze data with spreadsheets. They will
learn about referencing, charts, functions and various utilities.
Unit 3 Utilities: What-if scenarios, goal-seek, solver, data validation, creating a dropdown list
from a range of cells, data filtering and sorting, calculations using linked sheets, detective tools.
T
References
1. Mali, L., Libre Office 5.1Writer, Calc: Math Formula Book - Vol 1. Notion Press,
2017.
2. Libre Office 7.0 Calc Guide.
AF
3. Libre Office 4.1 Calc Guide The Document Foundation.
Course Objective
D
This course is designed to enable a student to learn basics about iOS app development for
iPhones/ iPads/ iPods. The course provides an overview of Swift programming language, which
is used to design iOS apps. The students will be able to design apps with simple user interface.
They will also be able to handle sensors like camera, microphones and GPS through these apps.
Syllabus
Unit 1 iOS Technology Stack: Introduction to iOS technology stack: iOS architecture,
StoryBoard, features of Xcode, components of iOS SDK. Introduction to swift: data types,
variables, control flow and operators, Collections and functions in swift, classes and structures,
inheritance, closure and. enumerations
T
Unit 2 User interactions: Controls, gesture organizers, touching views, Core Location and
Mapkit, using Google Maps in iOS. Sensors in iOS. Data persistence: Core Data framework for
storing persistent data, CRUD operations.
AF
References
This course is designed for advanced programming concepts using Python. The course focuses
on the development of Python programming using built-in data structures like lists, sets, tuples
D
and dictionaries to solve problems of different domains. It also introduces the concept of object-
oriented programming and file handling.
Syllabus
Unit 1 Built-in data structures: List operations, tuples, sets, dictionaries and their operations,
passing data structures to a user-defined function.
Unit 2 Object Oriented Programming: Introduction to classes, objects and methods; Standard
libraries.
Unit 3 File and exception handling: File handling through libraries; Errors and exception
handling.
T
References
Additional References
R
1. Brown, Martin C. Python: The Complete Reference, 2nd edition, McGraw Hill Education,
2018.
2. Guttag, J.V. Introduction to computation and programming using Python, 2nd edition.
MIT Press, 2016.
D
T
c. Concatenate a tuple t2=(11,13,15) with t1.
d. Return maximum and minimum value from this tuple
6. WAP to accept a name from a user. Raise and handle appropriate exception(s) if the text
AF
entered by the user contains digits and/or special characters.
R
D
Digital
Empowerment
VAC- Value Addition Course
(Undergraduate Courses)
University of Delhi
Credit distribution, Eligibility and Pre-requisites of the Course
1 0 1
Learning Objectives
The Learning Objectives of this course are as follows:
• Understand the digital world and need for digital
empowerment
• Create awareness about Digital India.
• Explore, communicate and collaborate in cyberspace.
• Imparting awareness on cyber safety and security.
Learning Outcomes
The Learning Outcomes of this course are as follows:
• Use ICT and digital services in daily life.
• Develop skills to communicate and collaborate in cyberspace
using social platforms, teaching/learning tools.
• Understand the significance of security and privacy in the digital
world.
• Recognizing ethical issues in the cyber world.
Digital Empowerment Syllabus
Unit Unit name Topic
Needs and challenges, Vision of Digital India
DigiLocker, E-Hospitals, e-Pathshala, BHIM, e-Kranti (Electronic Delivery of
Digital inclusion and
I Services), e-Health Campaigns
Digital Empowerment
Public utility portals of Govt. of India such as RTI, Health, Finance, Income Tax
filing, Education
Electronic Communication: electronic mail, blogs, social media
Communication and
Collaborative Digital platforms
II Collaboration in the
Cyberspace Tools/platforms for online learning, Collaboration using file sharing, messaging,
video conferencing
Online security and privacy
Towards Safe and Secure Threats in the digital world: Data breach and Cyber Attacks
III
Cyberspace Blockchain Technology
Security Initiatives by the Govt of India
Ethical Issues in Digital Netiquettes
IV
World Ethics in digital communication, Ethics in Cyberspace
Practicals / Activities Component
• The course should be conducted in an interactive mode through demonstration,
using appropriate tools.
• Conduct workshops on-services initiated under Digital India.
• Spread digital literacy/awareness amongst the vulnerable groups and marginalized
sections of the society like street vendors, domestic help, security guards, senior
citizens.
• Students will take up team activities/ projects exploring digital services in the areas
such as education, health, planning, farming, security, cyber security, financial
inclusion, and justice, e-Kranti.
• Any other Practical/Practice as decided from time to time.
Operational Guidelines
• At least 5 Value Addition Courses from the pool of VACs may be offered
in the College
https://www.csoonline.com/article/3541148/the-
biggest-data-breaches-in-india.html
Threats in the digital
https://www.secureworld.io/industry-news/top-10-data-
11 world: Data breach and
breaches-of-all-time
Cyber Attacks
https://onlinedegrees.und.edu/blog/types-of-cyber-
Towards Safe and security-threats/
III Secure https://blockchain.gov.in/
Cyberspace https://blockchain.gov.in/assets/docs/blockchain_infor
12 Blockchain Technology matics.pdf
https://blockchain.gov.in/assets/docs/Whitepaper_30ja
n.pdf
https://safety.google/
https://www.aicte-india.org/CyberSecurity
Security Initiatives by the
13 https://www.niti.gov.in/sites/default/files/2019-
Govt of India
07/CyberSecurityConclaveAtVigyanBhavanDelhi_1.pd
f
Unit-3: Towards Safe and Secure Cyberspace
Online Security Online Privacy
Protect Your Phone, Personal Information and Data Protect Your Privacy on Apps
From Hackers
Recover Your Hacked Email or Social Media Secure Your Voice Assistant and Protect Your
Account Privacy
Remove Your Personal Information Before You Get Stalking Apps: What To Know
Rid of Your Phone and/or Computer
Secure Your Home Wi-Fi Network and Safely Use What To Do if You’re the Target of Revenge Porn
Public Wi-Fi Networks
Use Two-factor Authentication to Protect Your What To Do if You’re the Target of Revenge Porn
Accounts
Threats in the digital world
▪ Data breach: A data breach is a theft of data by a malicious actor.
Motives for data breaches include crime (i.e. identity theft), a
desire to embarrass an institution (e.g. Edward Snowden or the
DNC hack), and espionage.
• cert-in.org.in
• https://www.csk.gov.in/
• https://infosecawareness.in/
https://infosecawareness.in/
https://infosecawareness.in/ https://infosecawareness.in/
Unit-4: Ethical Issues in Digital World
Unit Unit name Week No Topic Teaching Resources
https://www.kaspersky.com/resource-
14 Netiquettes center/preemptive-safety/what-is-netiquette
https://www.britannica.com/topic/netiquette
https://onlinelibrary.wiley.com/doi/book/10.1002/9
Ethical Issues in 781118968888
IV
Digital World Ethics in digital https://iccopr.com/wp-
15 communication, Ethics in content/uploads/2017/10/Ethics-in-Digital-
Cyberspace Communications-Guidelines.pdf
https://link.springer.com/chapter/10.1007/978-90-
481-2370-4_1
Unit-4: Ethical Issues in Digital World
Ethics in digital communication
1. Contribute to society and human being
2. Avoid harm to others
3. Be honest and trustworthy
4. Be fair and take action not to discriminate
5. Honor property rights including copyrights and patents
6. Give proper credit for intellectual property
7. Respect the privacy of others
8. Honor confidentiality
Ethics in Cyberspace
• Do not use a computer to harm other people.
• Do not interfere with other people's computer work.
• Do not snoop around in other people's files.
• Do not use a computer to steal.
• Do not use a computer to bear false witness.
• Do not use or copy software for which you have not paid.
• Do not use other people's computer resources without authorization.
• Do not appropriate other people's intellectual output.
• Do think about the social consequences of the program you write.
• Do use a computer in ways that show consideration and respect.
Suggestive list of Practicals / Activities
1. Identify few people of different age groups among family members, domestic help,
neighborhood etc. Find out digital literacy among these groups. For example Usage
of Smart phones, Internet, computer systems, and awareness of accessing an app.
2. Access your Digi Locker account. Fetch and use any three important documents from
the Digi Locker such as class 10th certificate, 12th certificate, Aadhaar card, Driving
License and vaccination certificate etc.
3. Students will explore digital services in the areas such as e-Kranti: education, health,
planning, farming, security, financial inclusion, and justice. (any one site)
4. Explore the Digital India website (https://www.digitalindia.gov.in). List down any
four achievements of the government towards the realization of the Digital India
vision.
5. Prepare 2-3 page report on 9-pillars of Digital India.
Suggestive list of Practicals / Activities (Cont.)
6. Create an email account, if you don’t have one and explore it. Perform the following
activities on your existing / new email account:
• Create a group of your friends and post a welcome message on it.
• Share a google document with your friends and give edit rights to a few of them.
• Make changes to the account settings such that every outgoing email has your
name, designation (if any) and your contact number.
• Draft a mail and schedule it to be sent to some acquaintance the next day at
11am.
• If you cannot attend to the emails for some days due to some urgent work, then
change the settings such that an automatic reply mail is sent to the sender during
those days.
7. Create an account on Twitter, if you don’t have one and explore it. Perform the
following activities on your existing / new Twitter account:
• Follow the official handles of your college (@ your_college), University of
Delhi (@UnivofDelhi), or any other relevant entity
• Send a message to someone you are following
• Retweet a message
Suggestive list of Practicals / Activities (Cont.)
8. Create an account on Facebook, if you don’t have one and explore it. Perform the
following activities on your existing / new Facebook account:
• Follow the official page of your college, University of Delhi, or any other
relevant authority.
• Manage your privacy to limit who can interact with you and what you share.
• Control who can see what you share on Meta.
9. Write a blog about your experience on your first day in the college.
10. Identify at least three collaborative digital platforms that can be used for group
study. List their advantages and disadvantages, if any. Out of these platforms,
which one you would like to use and why? Prepare 2-3 slides and present them.
11. Schedule a video meeting with your friend in the digital platform of your choice.
After joining the meeting, send message, chat, and share a file.
Suggestive list of Practicals / Activities (Cont.)
12. Students need to explore various blogs/ social media. Students may
share their experiences through 10-15 minutes audio-visual presentation.
13. Students need to explore any one of the digital platform related to
financial or banking or education sector.
14. Create your account in the NPTEL/ SWAYAM education portal. Enroll
in any course of your choice.