Annexure I - B.Tech CSE (AI-DS) Syllabus 2023-24 - New
Annexure I - B.Tech CSE (AI-DS) Syllabus 2023-24 - New
" # $
! %& ' ( ()
Department of Computer Science and Engineering
National Institute of Technology Delhi
1.1 About the Department
The Computer Science and Engineering Department was started in 2010 along with the foundation
of NIT Delhi. Initially, only the Bachelor of Technology Programme was offered with the intake
30 which presently has been increased to 60. Now, apart from B. Tech., the department also offers
Master of Technology (CSE & Analytics), and Ph.D. program which cover a number of important
areas of Computer Science and Engineering. The department provides the students with a broad
undergraduate and graduate curriculum, based on the application and theoretical foundations of
computer science. The departmental faculties and students participate in interdisciplinary
research. The department envisions producing quality graduates, capable of leading the world in
the technical realm. The department is equipped with the latest configuration and high computing
system with hi-speed Internet facilities. The Computer Science Program at this institute are
dedicated to educate students and to advance research in computer and information technology.
The department has all the facilities to carry out the related teaching and research work.
1.2 Vision
1.3 Mission
To impart value-based technical knowledge and skill relevant to Computer Science and
Engineering through effective pedagogies and hands-on experience on the latest tools
and technologies to maximize employability.
To strengthen multifaceted competence in allied areas of Computer Science in order to
nurture creativity and innovations to adapt the ever-changing technological scenario
requiring communally cognizant solutions.
To create an appetite for research that leads to pursuing a research career or higher
education in contemporary and emerging areas of computer science.
To inculcate the moral, ethical, and social ideals essential for prosperous nation building.
2. B. Tech Artificial Intelligence and Data Science
PEO-1 Graduates will be capable of applying advanced tools and techniques to innovate ideas
and create intelligent systems for a wide range of real-world problems while
maintaining strong ethical standards.
PEO-2 Graduates will be prepared to pursue higher studies and continue to develop their
professional knowledge.
PEO-3 Graduates will recognize the importance of research and professional development in
the rapidly evolving fields of AI and Data Science. .
PEO-4 Graduates will be prepared with an entrepreneurial mindset, enabling them to identify
business opportunities, create startups, exhibit leadership qualities with demonstrable
attributes in lifelong learning
PSO-1 Ability to analyze, build, and design new techniques and tools to produce innovative
industrial solutions using mathematical and theoretical concepts of Artificial
Intelligence and Data Science.
PSO-2 Ability to carry out research and education in trans-disciplinary fields to solve real
world problems using state-of-art algorithms and techniques of Artificial Intelligence
and Data Science.
Year First Semester Second Semester
Sub. Code Subject Name L T P C Sub. Code Subject Name L T P C
ADLB 101 # * ADLB 151 + , , $
"
Seventh Semester Eighth Semester
6 444 $, $ + ( + 3 " -<
2 ;
. 2 )
6 444 + ! ' + - 6 444 $; #..
6 444 ! ' -
IV
+ 444 -
!
444 + ! '
444 + ! '
+ 444 -
Year Program Elective-I
Sub. Code Subject Name L T P C Sub. Code Subject Name L T P C
6 444 1 6 444 2
6 444 ' 2 8 6 444 8 $
III 6 444 * = , 6 444 2 8
6 444 $ 6 444 $
6 444 # 6 444 =
6 444 # , 6 444 = '
Program Elective-II
6 444 * //$ 6 - 6 444 0 -
6 444 * $ $ - 6 444 * -
6 444 - 6 444 & -
6 444 1 + - 6 444 # -
IV
6 444 & $ - 6 444 & # -
6 444 $ - 6 444 # $ -
Program Elective-III
444 9 $ 444
444 + # 444 : $
444 # + = , 444 ' . /
IV 444
444 #
444
=
$
444
444 * $ 444 $
COURSE CONTENT
Course no: ADLB 101 BSC ESC HSC PC (YES/ PE (YES/ IN-IS-SP-MP
(YES/ (YES/ (YES/ NO) NO) (YES/ NO)
NO) NO) NO)
NO NO NO YES NO NO
Type of course Program Core
Course Title MATHEMATICAL FOUNDATION OF DATA SCIENCE
Course objectives: The purpose of this course is to introduce the concepts of mathematics as the basic
building blocks for data science; extend the concept of linear systems of
equations, matrices and determinants, and vector spaces for data science; gain
insights about probability and optimization theory for modern day computing
applications; and promote research activities to uphold in the theory and practice.
POs
Semester Autumn: Yes Spring:
I Lecture Tutorial Practical Credits Total teaching hours
Contact Hours 3 0 0 3 36
Prerequisite course code as NIL
per proposed course numbers
Prerequisite credits NIL
Unit-2 (8 Hours)
Vectors; Matrices and their properties (determinants, traces, rank, nullity, etc.); Addition
and Multiplication; Eigenvalues and eigenvectors; Matrix factorizations; Distances and
Nearest Neighbors; Similarities; Projections; Notion of hyperplanes; half-planes.
Unit – 3 (9 Hours)
Probability theory and axioms; Random variables; Probability distributions and density
functions (univariate and multivariate); Conditional Probability, Bayes’ Theorem,
Continuous and discrete distributions, Transformation of random variables, estimating
mean, variance, covariance, Expectations and moments; Covariance and correlation;
Statistics and sampling distributions; Hypothesis testing; Confidence (statistical) intervals;
Correlation functions; White-noise process; Exponential family of distributions (Bernoulli,
Beta, Binomial, Dirichlet, Gamma, & Gaussian)
Unit – 4 (8 Hours)
Unconstrained optimization; Necessary and sufficiency conditions for optima; Gradient
descent methods; Constrained optimization, KKT conditions; Introduction to non-gradient
techniques; Introduction to least squares optimization; Optimization view of machine
learning.
Unit – 5 (6 Hours)
Linear regression as an exemplar function approximation problem; Linear classification
problems.
Course
Outcomes Represents the rudiments of Data Science (L2)
Extend the use of linear systems of equations, matrices and determinants, and
vector spaces in the science of data (L2)
Demonstrate the rules of probability and statistics for understanding the nature of
data (L3)
Articulate the use of different optimization techniques for data analysis (L3)
Illustrate analytical models for real-word scenarios (L4)
Unit – 3 (7 Hours)
Graph Theory; elements of graph theory, Euler graph, Hamiltonian path, trees, tree
traversals, spanning trees.
Unit – 4 (7 Hours)
Functions; mappings; injection and surjections; composition of functions; inverse
functions; special functions; Peono postulates; pigeonhole principle; recursive function
theory.
Unit – 5 (7 Hours)
Definition and elementary properties of groups, semigroups, monoids, rings, fields,
vector spaces and lattices. Elementary combinatorics; counting techniques; recurrence
relation; generating functions.
Course Illustrate the basics of discrete mathematics and predicate calculus (L2).
Outcomes Explain set theory and relations (L2).
Demonstrate the concepts of graph theory and experiment with trees to solve
problems like minimum spanning tree and tree traversals (L3).
Develop the concept of functions and recursive function theory (L3).
Illustrate different algebraic structures (L2).
Course Continuous Evaluation 25%
Assessment Mid Semester 25%
End Semester 50%
Course no: ADBB BSC ESC HSC PC (YES/ PE (YES/ IN-IS-SP-MP (YES/ NO)
103 (YES/ (YES/ (YES/ NO) NO)
NO) NO) NO)
NO NO NO YES NO NO
Type of course Program Core
Course Title COMPUTER PROGRAMMING-I
Course objectives: This course aims to provide the students with a foundation in computer
programming. The goals of the course are to develop the basic programming skills
in students, and to improve their proficiency in applying the basic knowledge of
programming to solve problems related to their field of engineering.
POs
Semester Autumn: Yes Spring:
I Lecture Tutorial Practical Credits Total teaching
hours
Contact Hours 3 0 2 4 36
Prerequisite course code as NIL
per proposed course
numbers
Prerequisite credits NIL
Unit – 2 (9 Hours)
Introduction to programming language, Basics of C, Basic Data types – int, float, double,
char, Bool, Void. Arithmetic and logical operators: precedence and associativity. Flow of
Control- Conditional statements- If-else, Switch-case constructs, Loops- While, do-while,
for.
Unit – 3 (7 Hours)
Function – User defined functions, library functions, Parameter passing – call by value,
call by reference, recursion.
Unit – 4 (7 Hours)
Arrays- Advantages and drawbacks, One dimensional, Multi-Dimensional Arrays and
strings: Declaration, Initialization, Accessing, Passing arrays and strings as parameters to
functions. Pointers, Dynamic memory allocation, Dynamic arrays – One dimensional,
Multidimensional dynamic arrays.
Unit – 5 (8 Hours)
Structure: Declaration, Initialisation, passing structure to function, Use of pointers in
structure. Preprocessors, Macros, File management in C I/O – Opening, closing and editing
files. Correctness & Efficiency Issues in Programming, Time & Space measures.
Course Illustrate the steps involved in compiling, linking, and debugging any code written
Outcomes: in a specific language (L2).
Explain the basic concepts such as keyword, identifiers, header files, and the
methods of iteration or looping and branching, etc (L2).
Apply the concepts of functions to understand modular programming (L3).
Utilise the concept of pointers and arrays to structure data in a computer program
(L3).
Develop the basic applications in C programming using structures, union and file
handling (L6).
Course Continuous Evaluation 25%
Assessment Mid Semester 25%
End Semester 50%
Lab Experiments:
Unit – 4 (6 Hours)
Operating Systems and System Software: What is Operating System–Evolution of OS,
Types of Operating System batch system, multiprogramming, multiprocessing, multi user,
time sharing, personal system, parallel system, real time system, Single User System, Multi
User Systems, Booting, Approaches to OS design and implementation: Microkernel,
Layered, Kernel Approach, Introduction to Development tools: Editors, Translators,
Compiler, Debugger, Assembler.
Unit – 5 (5 Hours)
Data communication, Computer network and Internet Basics: Concepts and Terminology,
Analog and Digital Data Transmission, Transmission Impairments, Guided Transmission
Media, Wireless Transmission, Introduction to Computer Network, Types of Networks:
Broadcast and Point-to-point- LAN-MAN-WAN- Wireless networks.
Course
Outcomes To illustrate the binary system and its importance in computer architecture (L2)
To identify where, when and how enhancements of computer hardware and
software have taken place (L3)
To develop skills for problem solving approaches (L3)
To analyse different types of operating systems, network types and topologies (L4)
Lab Experiments:
2. Familiarisation with operating system along with file management commands like create,
copy, move, delete and rename files and folders.
3. Study of Motherboard.
4. Calculation of Total mark, grade based on boundary conditions for n number of students
using Spread sheet.
7. Basic of programming
9. Largest of 3 numbers, Check whether even or odd, Roots of quadratic equation, Character
name of the day.
10. Print natural numbers, Factorial value, Multiplication table, Sum of digits, Sum of a set of
numbers, calculation of grade based on boundary conditions
Unit – 2 (7 Hours)
Random variables, Joint and marginal distributions. Expectation and variance. Discrete
distributions: Bernoulli, Binomial, Geometric, and Poisson.
Unit – 3 (7 Hours)
Continuous distributions and densities: Uniform, Exponential, Gamma, Normal
Central Limit Theorem and Normal approximations, Law of Large Numbers.
Unit – 4 (7 Hours)
Statistical Inference: Introduction of sampling, Sampling distributions of mean and
variance, Point and interval estimation.
Unit – 5 (8 Hours)
Stochastic processes: concepts and classifications. Bernoulli process. Poisson process.
Markov chains. Transition probabilities. Steady-state distribution
Course Illustrate the principal concepts about probability (L2).
Outcomes Explain the concept of a random variable and the discrete probability distributions
(L2).
Explain continuous distributions and solve the distribution-related problems (L3).
Apply the fundamentals of statistics to experiment with statistical inferences (L3).
Utilise stochastic processes and Markov chains to solve real life problems (L3).
Course Continuous Evaluation 25%
Assessment Mid Semester 25%
Unit -2 (7 Hours)
Representation of Instructions Representation of Instructions: Machine instructions,
Operands, Addressing : Machine instructions, Operands, Addressing modes, Instruction
formats, Instruction sets, Instruction set architectures - CISC and RISC architectures.
Unit - 3 (7 Hours)
Processing Unit: Organization of a processor - Registers, ALU and Control unit, Data
path in a CPU, Instruction cycle, Organization of a control unit - Operations of a control
unit, Hardwired control unit, Microprogrammed control unit.
Unit – 4 (9 Hours)
Memory Subsystem: Semiconductor memories, Memory cells - SRAM and DRAM
cells, Internal Organization of a memory chip, Organization of a memory unit, Error
correction memories, Interleaved memories, Cache memory unit - Concept of cache
memory, Mapping methods, Organization of a cache memory unit, Fetch and write
mechanisms, Memory management unit - Concept of virtual memory, Hardware support
for memory management.
Unit – 5 (8 Hours)
Input/Output Subsystem: Access of I/O devices, I/O ports, I/O control mechanisms -
Program controlled I/O Interrupt controlled I/O and DMA controlled I/O I/O interfaces
Program controlled I/O, Interrupt controlled I/O, and DMA controlled I/O, I/O interfaces
- Serial port, Parallel port, PCI bus, SCSI bus, USB bus, I/O peripherals - Input devices,
Output devices, Secondary storage devices.
Course Understand the fundamentals of computer organization and its relevance to
Outcomes: classical and modern problems of computer design (K2).
Apply knowledge of combinational and sequential logic circuits to mimic simple
computer architecture to solve the given problem (K3).
Analyze performance of various instruction set architecture, control unit,
memories and various processor architectures (K4).
Explain the basic concept of interrupts and their usage to implement I/O control
and data transfers (K2).
Course Continuous Evaluation 25%
Assessment Mid Semester 25%
POs
Semester Autumn: Spring: Yes
II Lecture Tutorial Practical Credits Total teaching
hours
Contact Hours 3 0 2 4 36
Prerequisite course code as per NIL
proposed course numbers
Prerequisite credits NIL
Unit – 2 (7 Hours)
Arrays: Dynamic memory allocation, one-dimensional arrays, multidimensional arrays,
operations on arrays, storage – Row major order, Column major order. Linked lists:
types of linked lists – singly, doubly and circularly linked lists, operations on linked lists.
Unit – 3 (8 Hours)
Stacks: Implementation of stacks– array and linked list, operations on stacks,
Applications of Stacks, Notations – infix, prefix and postfix, Conversion and evaluation
of arithmetic expressions using Stacks. Queues: Implementation of queues– array and
linked list, operations on queues, Types of queues – queue, double ended queue and
priority queue.
Unit – 4 (8 Hours)
Trees: Binary tree, Binary search tree, Threaded binary tree, Height balanced trees,
Tries, Heaps, Hash tables. Graph traversals: Breadth First Search, Depth First Search,
Shortest path: Depth first search in directed and undirected graphs. Union-find data
structure and applications. Directed acyclic graphs; topological sort.
Unit – 5 (8 Hours)
Searching: Linear search, Binary search and Hashing. Algorithms and data structures for
sorting: Insertion Sort, Bubble sort, Selection Sort, Merge sort, Quick Sort, Heap sort,
Radix sort, Bucket sort. Algorithm design techniques: Divide and conquer, Greedy
approach, dynamic programming.
Course Recognize the need of different data structures and understand its characteristics
Outcomes: (L2).
Demonstrate the operations for maintaining common data structures and recognize
the associated algorithms’ complexity (L2).
Apply different data structures including stacks, queues, hash tables, binary and
general tree structures, search trees, and graphs for given problems (L3).
Design, analyse and compare different algorithms for sorting and searching
techniques (L5).
Unit – 2 (7 Hours)
Data types; variables, assignments; immutable variables; numerical types;
arithmetic operators and expressions; comments; understanding error messages;
Conditions, Boolean logic, logical operators; ranges; Control statements: if-else,
loops (for, while); short-circuit (lazy) evaluation
Unit – 3 (8 Hours)
Strings and text files; manipulating files and directories, OS and SYS modules;
text files: reading/writing text and numbers from/to a file; creating and reading a
formatted file (csv or tab-separated). String manipulations: subscript operator,
indexing, slicing a string; strings and number system: converting strings to
numbers and vice versa. Binary, octal, hexadecimal numbers
Unit – 4 (8 Hours)
Lists, tuples, and dictionaries; basic list operators, replacing, inserting, removing
an element; searching and sorting lists; dictionary literals, adding and removing
keys, accessing and replacing values; traversing dictionaries.
Unit – 5 (8 Hours)
Design with functions: hiding redundancy, complexity; arguments and return
values; formal vs actual arguments, named arguments- Program structure and
design- Recursive functions – Introduction to classes and OOP. Applications:
Sample problems in engineering, data pre- processing, and plotting tools.
Course Outcomes
Explain the problem solving fundamentals (L2)
Illustrate the syntax and semantics and looping structures in Python
programming language (L2)
Utilise string handling mechanisms for data handling (L3)
Make use of lists, tuples and dictionaries in Python programming
language (L3)
Develop applications using file handling mechanisms, modules and
packages of python language (L6)
Unit – 2 (7 Hours)
Assemblers: Design of Assembler. Table Processing: searching and sorting. Macro
Language and the Macro Processor : Macro Instructions, Features of Macro facility,
Implementation.
Unit – 3 (8 Hours)
Loaders: Loader Schemes, Design of an Absolute Loader, Design of a Direct-Linking
Loader.
Unit – 4 (8 Hours)
Compilers: Statement of problem, Phases of the compiler, Data Structures,
Recursion, Call and Return statements, Storage Classes – Use, Implementation, Block
Structure, Nonlocal Go To’s, Interrupts, Pointers.
Unit – 5 (8 Hours)
Operating Systems: I/O Programming, Memory Management, Processor
Management, Device Management, Information Management.
Course outcomes
Apply the knowledge of assembler and macro processors to convert assembly
language into machine code (L3).
Analyse working phases of Compiler to undertake meaningful language
translation (L3).
Evaluate Linkers, Loaders, interpreters and debugging methods to manages
system memory and provide a portable runtime environment (L4).
Analyze the working of an operating system and its components (L3).
Course Objectives:
Course Outcomes CO1: Gain a comprehensive understanding of the Environmental Science aspects.
CO2: Develop awareness of environment related issues.
CO3: Learn about the ethical and moral responsibilities of the engineers towards
environment.
CO4: Learn remedial measures to solve environmental issues.
Semester Autumn: Yes Spring:
I Lecture Tutorial Practical Credits Total teaching
hours
Contact Hours 0 0 2 1 24
Prerequisite course code as
per proposed course
numbers
Prerequisite credits