CSE R20 Curriculum
CSE R20 Curriculum
1|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Contents
About the Department of CSE ............................................................................................................. 3
Vision of the Department of CSE: ....................................................................................................... 3
Mission of the Department of CSE: ..................................................................................................... 3
Programme Educational Objectives (PEOs) for the B.Tech. (CSE) Programme:........................... 4
Programme Articulation Matrix (PEO vs. Mission) for the B.Tech. (CSE) Programme: ................. 4
Programme Outcomes (POs) for the B.Tech. (CSE) Programme: .................................................. 5
Programme Specific Outcomes (PSO) for the B.Tech. (CSE) Programme: ................................... 6
Degree Requirements for B.Tech. (CSE) Programme ...................................................................... 7
I Year B.Tech. Course Structure ......................................................................................................... 8
II Year B.Tech. CSE Course Structure ............................................................................................. 10
III Year B.Tech. CSE Course Structure ............................................................................................ 11
IV Year B.Tech. CSE Course Structure ............................................................................................ 12
List of Electives ................................................................................................................................... 13
III Year – II semester .................................................................................................................. 13
IV Year – I Semester .................................................................................................................. 13
IV Year – II Semester ................................................................................................................. 14
Minor in Software Engineering: Course Structure ........................................................................... 15
Honors in Data Science: Course Structure ...................................................................................... 15
I Year B.Tech. Course Structure ....................................................................................................... 16
II Year B.Tech. (CSE) Courses offered by CSED............................................................................ 42
III Year B.Tech. (CSE) Courses offered by CSED........................................................................... 71
IV Year B.Tech. (CSE) Courses offered by CSED .......................................................................... 90
Elective Courses offered by CSED ................................................................................................... 96
Service Courses offered by CSED to Other Departments ............................................................ 167
Open Elective Courses offered by CSED* ..................................................................................... 169
Courses for Minor in Software Engineering .................................................................................... 170
Courses for Honors in Data Science ............................................................................................... 184
2|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
The Department of Computer Science and Engineering at NIT Andhra Pradesh, offers a
B.Tech. Undergraduate programme in Computer Science and Engineering, M.Tech. in
Computer Science and Data Analytics, M.S. (by research) and Ph.D. programmes. The
department was incepted in the year 2015, the current sanctioned intake is 150 students
for the B.Tech. (CSE) programme.
To strive for excellence in academics, research and technological service to the society,
with an intent to nurture the stakeholders and produce Computer Scientists, technologists
and Engineers who are globally competent and nationally relevant.
3|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Within few years after the end of the B.Tech. in Computer Science and Engineering
programme, graduates will be able to:
Effectively and efficiently function as Software Engineers and Technologists
PEO1 in organizations that deliver Computing or Information Technology based
innovations, products and solutions.
Enhance academic and research credentials by pursuing specialized
postgraduate and / or doctoral education in institutes of higher learning in the
PEO2 niche sub-domains of theoretical Computer Science, Systems, Technology
and Applications in the sub-disciplines including but not limited to AI, Data
Analytics, Machine Learning, Security and Distributed Computing.
Engage in continuous learning and skill enhancement to adapt and contribute
to the global and national needs in terms of computing or IT based innovative
PEO3
solutions with a sincere practice of professional ethics and technical quality to
meet or surpass the requirements of the stakeholders.
Programme Articulation Matrix (PEO vs. Mission) for the B.Tech. (CSE) Programme:
PEO\Mission M1 M2 M3
PEO1 S M S
PEO2 S S M
PEO3 M S S
S: Strong correlation, M: Medium correlation, L: Low correlation
4|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
5|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Life-long learning: Recognize the need for and have the preparation and
PO12 ability to engage in independent and life-long learning in the broadest context
of technological change.
At the end of the B.Tech. in Computer Science and Engineering programme, graduates
will be able to:
Design, analyze, implement, verify and validate efficient solutions to complex
PSO1 engineering problems related to the ideation, development, testing and
maintenance of computing systems.
Construct or leverage contemporary tools, techniques, and frameworks in
PSO2
developing or refactoring a computing system or its component.
Apply research-based methods to construct, implement, verify and validate
analytical and simulation models for addressing generative, predictive,
PSO3
diagnostic and prescriptive tasks related to Natural Language Processing,
Computer Vision, Automation and Security.
6|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Proposed Credits
(New regulation)
Basic Science Core (BSC) 19 (11.72%)
Engineering Science Core (ESC) 22 (13.58%)
Humanities and Social Science Core (HSC) 06 (3.7%)
Program Core Courses (PCC) 63 (38.88%)
Departmental Elective Courses (DEC) 15 (9.25%)
Open Elective Courses (OPC) 09 (5.55%)
Program Major Project (PRC)/Skill Development
22 (13.58%)
(SD)/Foreign Languages
EAA: Games and Sports (MSC) 2 (1.23%)
MOOCs (MOE) 4 (2.46%)
Total 162
7|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Physics Cycle
S. Course Cat.
Course Title L T P Credits
No. Code Code
Differential and Integral
MA101/
1 Calculus / Matrices and 3 0 0 03 BSC
MA151
Differential Equations
English for Technical
2 HS101 2 0 2 03 HSC
Communication
3 PH101 Engineering Physics 3 0 0 03 BSC
4 EC101 Basic Electronics Engineering 2 0 0 02 ESC
Environmental Science and
5 CE102 2 0 0 02 ESC
Engineering
Introduction to Algorithmic
6 CS101 3 0 0 03 SD
Thinking and Programming
Introduction to Algorithmic
7 CS102 0 1 2 02 SD
Thinking and Programming Lab
8 PH102 Engineering Physics Lab 0 1 2 02 BSC
EA101/ Physical Education/Health
9 0 0 3 01 MSC
EA151 Education
TOTAL 15 2 9 21
8|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Chemistry Cycle
S. Course Cat.
Course Title L T P Credits
No Code Code
Differential and Integral
MA101/
1 Calculus / Matrices and 3 0 0 03 BSC
MA151
Differential Equations
Engineering Graphics with
2 ME102 0 1 2 02 ESC
Computer Aided Drafting
3 CY101 Engineering Chemistry 3 0 0 03 BSC
Elements of Electrical
4 EE101 2 0 0 02 ESC
Engineering
5 BT101 Biology for Engineers 2 0 0 02 ESC
Basics of Mechanical
6 ME101 2 0 0 02 ESC
Engineering
7 CE101 Engineering Mechanics 2 0 0 02 ESC
8 ME103 Workshop Practice 0 1 2 02 SD
9 CY102 Engineering Chemistry Lab 0 1 2 02 BSC
EA101/ Physical Education/Health
10 0 0 3 01 MSC
EA151 Education
TOTAL 14 3 9 21
Note:
BSC: Basic Science Core ESC: Engineering Science Core
HSC: Humanities and Social Science PCC: Program Core Courses
Core
DEC: Departmental Elective Courses OPC: Open Elective Courses
9|P a ge
Scheme and Syllabi
Department of Computer Science and Engineering
Semester-III
S. Course Cat.
Course Title L T P Credits
No Code Code
Probability, Statistics and
1 MA204 2 1 0 03 BSC
Stochastic Processes
2 EC237 Digital Logic Design 3 0 2 04 ESC
3 CS201 Data Structures and Algorithms 3 0 0 03 PCC
4 CS202 Operating Systems 3 0 0 03 PCC
5 CS203 Discrete Mathematics 2 1 0 03 PCC
Data Structures and Algorithms
6 CS204 0 1 2 02 PCC
Lab
7 CS205 Operating Systems Lab 0 1 2 02 PCC
TOTAL 13 4 6 20
Semester-IV
S. Course Cat.
Course Title L T P Credits
No Code Code
1 CS251 Object Oriented Programming 2 1 2 04 PCC
Design and Analysis of
2 CS252 3 0 0 03 PCC
Algorithms
Computer Organization and
3 CS253 3 0 0 03 PCC
Architecture
4 CS254 Theory of Computation 3 0 0 03 PCC
Database Management
5 CS255 3 0 0 03 PCC
Systems
Unix Tools and Shell Scripting
6 CS256 0 1 2 02 PCC
Lab
7 CS257 DBMS Lab 0 1 2 02 PCC
8 CS299 Mini Project – I (EPICS based) 0 1 2 02 SD
TOTAL 14 4 8 22
10 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Semester-V
S. Course Cat.
Course Title L T P Credits
No. Code Code
1 CS301 Language Processors 3 0 0 03 PCC
Theory and Design of
2 CS302 3 0 2 04 PCC
Programming Languages
3 EC337 Microprocessors 3 0 2 04 ESC
4 CS303Artificial Intelligence 3 0 0 03 PCC
5 CS304Artificial Intelligence Lab 0 1 2 02 PCC
Open Elective – 1/ Foreign
6 3 0 0 03 OPC/SD
language
7 MCS3YY MOOCS-1 2 0 0 02 MOE
TOTAL 17 1 6 21
Semester-VI
S. Course Cat.
Course Title L T P Credits
No. Code Code
1 Department Elective –1 3 0 0 03 DEC
2 Department Elective –2 3 0 0 03 DEC
3 CS351 Software Engineering 2 0 2 03 PCC
4 CS352 Computer Networks 3 0 0 03 PCC
5 CS353 Web Application Development 2 0 2 03 PCC
6 CS354 Network Programming Lab 0 1 2 02 PCC
Open Elective – 2/ Foreign
7 3 0 0 03 OPC/SD
language
8 CS399 Mini Project – II 0 0 6 03 SD
TOTAL 16 1 12 23
#: The student can do Summer Internship with duration of minimum 45 days at Institutes /
Organizations / Industries and produce the certificate of completion and copy of internship report
to the department.
# It is optional only, Not Mandatory.
11 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Semester-VII
S. Course Cat.
Course Title L T P Credits
No. Code Code
HSC
1 SM430 Entrepreneurship for Engineers 3 0 0 03
2 Department Elective –3 3 0 0 03 DEC
3 Department Elective – 4 3 0 0 03 DEC
Cryptography and Engineering
4 CS401 3 0 0 03 PCC
Secure Systems**
5 CS402 Big Data Engineering 2 1 2 04 PCC
6 CS449 Project-Work Part - A 0 0 8 04 PRC
TOTAL 14 1 10 20
**: The PCC Subject may be offered with the support of Industry.
Semester-VIII
S. Course Cat.
Course Title L T P Credits
No. Code Code
1 Department Elective – 5* 3 0 0 03 DEC
2 Open Elective – 3* 3 0 0 03 OPC
3 MCS4YY MOOCS-2 2 0 0 02 MOE
Project-Work Part – B (with
4 CS499 option of Industrial Training 0 0 12 06 PRC
/Internship)
TOTAL 8 0 12 14
*If the students are in Industrial training, the electives may be conducted online.
12 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
List of Electives
Classification of Electives:
1: Artificial Intelligence
2: Data Engineering
3: Networks & Security
4: Software Engineering
5: Theoretical Computer Science
6: Miscellaneous Computer Science
III Year – II semester
Course Elective name credits Elective
Code class
CS361 Optimization Techniques 3-0-0 1
CS362 Design and Analysis of Parallel Algorithms 3-0-0 5
CS363 Graph Algorithms 3-0-0 5
CS364 Advanced Data Structures 3-0-0 5
CS371 Business Intelligence and Data Warehousing 3-0-0 2
CS372 Advanced Data Mining 3-0-0 2
CS373 Applied Machine Learning 3-0-0 1
CS374 Natural Language Processing 3-0-0 1
CS375 Advanced Computational Statistics 3-0-0 1,2
CS381 Agile Methodologies 3-0-0 4
CS382 Software Testing 3-0-0 4
CS383 Design Patterns 3-0-0 4
CS384 Internet of Things and Edge Computing 3-0-0 3
IV Year – I Semester
Course Elective name credits Elective
Code class
CS411 Randomized Algorithms 3-0-0 3,5
CS412 Performance Modeling of Computer Systems 3-0-0 3,5
CS413 Foundations of Data Science 3-0-0 1,2
CS421 Distributed Computing 3-0-0 2
CS422 Reinforcement Learning 3-0-0 1
CS423 Soft Computing 3-0-0 1
CS424 Probabilistic Graphical Models 3-0-0 1
CS425 Deep Learning for Vision 3-0-0 1
CS426 Advanced Database Systems 3-0-0 2
13 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
IV Year – II Semester
Course Elective name credits Elective
Code class
CS461 Deep Learning for NLP 3-0-0 1
CS462 Social Network Analytics 3-0-0 1,2
CS463 Information Retrieval 3-0-0 2
CS471 Security and Privacy 3-0-0 3
CS472 Cyber Laws and IPR 3-0-0 6
14 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
* Any PG Level course related to Data Science with the approval of DAC PG&R
Note:
1. A student is permitted to do either Minor or Honors only, but not both
15 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Vector Calculus: Scalar and vector fields; vector differentiation; level surfaces;
directional derivative; gradient of a scalar field; divergence and curl of a vector field;
Laplacian; Line and Surface integrals; Green’s theorem in a plane; Stokes’ theorem;
Gauss Divergence theorem. (14)
Text Reference:
1. Joel R. Hass, Maurice D. Weir, George B. Thomas, Thomas' Calculus, 12th
edition, Pearson , 2010.
2. Erwin Kreyszig, "Advanced Engineering Mathematics", Eighth Edition, John
Wiley and Sons, 2015
3. B. S. Grewal, "Higher Engineering Mathematics", Khanna Publications, 2015
4. R. K. Jain and S. R. K. Iyengar, "Advanced Engineering Mathematics", Fifth
Edition, Narosa Publishing House, 2016.
5. T. M. Apostol, Calculus, Volumes 1 and 2 (2nd Edition), Wiley Eastern, 1980.
16 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Text Reference:
1. E. Kreyszig, Advanced Engineering Mathematics, Eighth Edition, John Wiley and
Sons, 2015.
2. B. S. Grewal, Higher Engineering Mathematics, Khanna Publications, 2015.
3. R. K. Jain and S. R. K. Iyengar, Advanced Engineering Mathematics, Fifth Edition,
Narosa Publishing House, 2016.
4. G. Strang, Linear Algebra and Its Applications, 4th Edition, Brooks/Cole India,
2006.
5. T. M. Apostol, Calculus, Volume 2 (2nd Edition), Wiley Eastern, 1980.
17 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Language Laboratory
Introduction to basic phonetics: Vowels, Consonants, Diphthongs, phonetic symbols
Listening: Challenges in listening, enhancing listening skills, listening activities
Speaking:JAM using cue cards-role play-Group presentation-presentation with
emphasis on body language- public speaking-extempore speech
Group discussion: Dos and don’ts, intensive practice
Mock interview:Interview etiquette, common interview questions
Text Books:
Emden, Joan van. Effective Communication for Science and Technology. Macmillan
Education UK, 2001.
Mohan, Krishna and Meera Banerji. Developing Communication Skills. Macmillan
India Limited, 2000.
18 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reference:
Aarts, Bas. Oxford Modern English Grammar. Oxford University Press, 2011.
Anderson, Marilyn, Pramod K. Nayar, and Madhucchanda Sen. Critical Thinking,
Academic Writing and Presentation Skills. Pearson Education, 2008.
19 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
approaches.
Photovoltaic Materials: Solar spectrum, photovoltaic effect, materials, structure and
working principle, I-V characteristics, power conversion efficiency, quantum efficiency,
emerging PV technologies, and applications.
NDT: Methods of non-destructive testing
References:
1. A Textbook of Engineering Physics, M. N. Avadhanulu, P. G. Kshirsagar, S. Chand
and Company (2015).
2. Concepts of Modern Physics, Beiser A., Mc. Graw Hill Publishers (2003).
3. Optics, Ajoy Ghatak, Tata Mc Graw Hill (2012).
4. Materials Science and Engineering: An Introduction (Tenth edition), William D.
Callister, John Wiley & Sons (2018).
5. Introduction to Solid State Physics, Charles Kittel, Wiley Publishers (2011).
21 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction to electronics systems, diode circuit models and applications, Zener diode as
regulator, photodiode.
Transistor and applications: Introduction to transistors, BJT Characteristics, biasing and
applications. FET and MOSFET characteristics and applications.
Feedback in Electronic Systems: open loop and closed loop systems, Negative and
positive Feedback, Principles of LC and RC oscillators.
Integrated Circuits: Operational amplifiers Characteristics and applications, linear
operations using Op-amps.
Digital Circuits: Number systems and logic gates, Combinational Logic circuits,
Sequential Circuits, Analog to Digital and Digital to Analog converters (ADC/DAC).
Laboratory measuring instruments: principles of digital multi-meters, Cathode ray
oscilloscopes (CRO).
Reading:
1. Bhargava N. N., D C Kulshreshtha and S C Gupta, Basic Electronics & Linear
Circuits, 2nd Edition, Tata McGraw Hill, 2013.
2. S. Sedra and K. C. Smith, Microelectronic Circuits, Oxford University Press ,
6th Edition
3. Leach , Malvino, Saha, Digital Principles and Applications, McGraw Hill
Education , 8th Edition
4. Boylestad, Robert L., Louis Nashelsky, Electronic Devices and Circuit,
Pearson , 11th Edition
5. Helfrick and Cooper, ― Modern Electronic Instrumentation and Measurement
Techniques‖ PHI, 2011
6. Neil Storey, Electronics A Systems Approach, 4th Edition, Pearson Education
Publishing Company Pvt Ltd.
22 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction to Environmental Science: Environment and Societal Problems, Major
Environmental Issues, Global Climate Change Agreements, Montreal, Kyoto Protocol &
Paris Agreement, Basics of Environmental Impact Assessment, Principles of
Sustainability, and related indices, Population Dynamics, Urbanization. Identification and
Evaluation of Emerging Environmental Issues with Air, Water, Wastewater and Solid
Wastes, Introduction to Environmental Forensics.
Water & Wastewater Treatment: W ater Sources, constituents, potable water
quality requirements (IS 10500), overview of water treatment, sources and types of
pollutants, their effects, self-purification capacity of water bodies, principles of
wastewater treatment, 5R Concept.
Air & Noise Pollution: Sources, classification and their effects, national ambient air
quality standards (NAAQS), air quality index, dispersion of pollutants, control of air
pollution, understanding and improving indoor air quality, sources of noise pollution,
effects, quantification of noise pollution.
Solid Waste Management: Sources and characteristics of solid waste, effects, 3R
concept, sustainable practices in waste management, CPHEEO guidelines for solid
waste management, transition to zero waste lifestyle.
Reading:
1. G.B. Masters, Introduction to Environmental Engineering and Science, Pearson
Education, 2013.
2. Gerard Kiely, Environmental Engineering, McGraw Hill Education Pvt Ltd, Special
Indian Edition, 2007.
3. Benny Joseph, Environmental Science and Engineering, Tata McGraw-Hill, New
Delhi, 2006.
References:
1. Peavy, H.S, Rowe, D.R., and G. Tchobanoglous (1985), Environmental
Engineering, McGraw Hill Inc., New York
2. W P Cunningham, M A Cunningham, Principles of Environmental Science, Inquiry
and Applications, Tata McGraw Hill, Eighth Edition, 2016.
23 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites: None
Course Outcomes: At the end of the course, the student will be able to:
Construct algorithms for solving problems that requires solutions involving
CO1 searching, sorting, selection and / or a numerical method as a sub-routine.
Analyze the suitability of different algorithmic design paradigms for solving
CO2 problems with an understanding of the time and space complexities incurred.
Construct algorithms for solving problems with an understanding of the
CO3 internals of a computing system and its components like processor, memory
and I/O sub-systems.
Construct efficient modular programs for implementing algorithms by
CO4 leveraging suitable control structures.
Construct efficient programs by selecting and using suitable in-built Data
CO5 Structures and programming language features available.
24 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Fundamentals of Computers, Historical perspective, Early computers, Modern
Computers, Hardware Components of a Computer, Data Representation in Computers,
Introduction to Operating Systems, Software and Firmware, Problems, Flowcharts,
Memory, Variables, Values, Instructions, Programs.
Problem solving techniques – Algorithmic approach, characteristics of algorithms,
Problem solving strategies: Top-down approach, Bottom-up approach, Time and space
complexities of algorithms, Algorithm Analysis.
Basic Syntax in Python, Data Types, Variables, Assignments, immutable variables, Types
of Operators, Expressions, Comments, Boolean Logic, Logical Operators in Python.
Conditional statements - If-else, Loops - while, for, Lazy Evaluation
Inbuilt Data Structures and their operations in Python: List, Tuples and Dictionaries.
Fundamental Algorithms: Swapping variables, Problems involving summation of a series,
Sine function computation, Base Conversion, generation of sequences like Fibonacci,
Reversing the digits of an integer, Character to number conversion.
Factoring Methods: Finding the square root, Finding the smallest divisor of an integer,
finding the greatest common divisor using Euclid’s algorithm, Computing the prime factors
of an integer, generating prime numbers, Raising a number to a large power, Computation
of the nth Fibonacci number.
Functions – Modular programming and benefits, user defined functions, library functions,
parameter passing, Formal and Actual arguments, named arguments return values,
Recursion.
Sorting algorithms: Bubble, Selection and Insertion sorts, Search algorithms: Linear and
binary search
String processing: Algorithms for implementing String functions like Strlen, Strcpy,
StrRev, Strcmp, Searching for a keyword or pattern in a text.
File and Directory Handling: Reading and Writing to/from a file, Formatted File creation
and operations.
Simple 2D Graphics, drawing 2D objects using Turtle Graphics.
Reading List:
1. Kenneth Lambert, Fundamentals of Python: First Programs, Cengage Learning, 2019
2. R.G. Dromey, how to solve it by Computer, Pearson, 2008.
25 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites: None
Course Outcomes: At the end of the course, the student will be able to:
Construct, debug, test and run efficient programs by leveraging suitable flow of
CO1 control constructs and syntactic units of the programming language.
Construct efficient programs by constructing and translating algorithms for
CO2 solving problems using sorting, searching, selection and / or arithmetic
computations.
Implement, refactor, test and debug functional programs in a shell-based run
CO3 time environment.
Construct efficient programs by demonstrating problem-solving skills and out-
CO4 of-the-box algorithmic thinking.
CO2 S M L S M L
CO3 S M L S M L
CO4 S M L S M L
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
List of Experiments:
1. Familiarization with Python installation, basic syntax and running scripts in the shell.
2. Programs on conditional control constructs.
3. Programs on iterative constructs. (While, do-while, for).
4. Programs using user defined functions and in-built function calls.
5. Programs related to Recursion.
6. Programs involving in-built data structures like List, Tuples and Dictionaries.
26 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Kenneth Lambert, Fundamentals of Python: First Programs, Cengage Learning,
2019.
2. R.G. Dromey, how to solve it by Computer, Pearson, 2008.
3. The Python Tutorial, Available at: https://docs.python.org/3/tutorial/.
27 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
28 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Micro project:
This can be implemented in the subsequent semesters based on the facilities available.
In the case of implementation, three or four experiments from the above listed eight
experiments will be replaced with the project (~40 % of the experiments will be relaxed).
References:
29 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
I. Introduction to Physical Education & EAA = Sports and Games
Meaning & Definition of Physical Education, Aims & Objectives of Physical Education,
Importance of Physical Education
II. Physical Fitness & Wellness Lifestyle
Meaning & Importance of Physical Fitness, Components of Physical Fitness
(Cardiovascular Endurance, Strength Endurance Muscular Endurance, Flexibility, Body
Composition), Components of Motor Fitness (Agility, Balance, Power, Speed,
Coordination), Development of Fitness Components
III. Training Methods in Physical Education
Circuit Training (Circuit Training), Continues Training (Endurance), Interval Training
(Speed & Endurance), Fartlek Training (Speed Endurance), Weight Training (Maximum
Strength), Plyometric Training (Power), Flexibility Training
IV. Test & Measurements
Measurements: Height, Weight, Age, Calculation of BMI, Motor Fitness and Physical
Fitness Tests (Pre - Test & Post-Test), Cardiovascular Endurance - 9/12 Minute Run or
Walk, Muscular Endurance – Sit Ups for abdominal strength, Strength Endurance –
Flexed arm hang for girls / Pull ups for boys, (Speed – 50m Dash or 30mts Fly Start,
Strength – Broad Jump, Vertical Jump for Lower Body, Medicine Ball Put for Shoulder
Strength, Endurance - 800mts, Flexibility - Bend and Reach, Agility (Coordination)) –
Shuttle Run and Box Run
V. Formal Activities
Calisthenics (free hand exercises), Dumbbells, Woops, Wands, Laziums (Rhythmic
activities), Aerobic Dance and Marching
30 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
31 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Note: 50% of the Practice through manual drawing and 50% of the Practice
through a Computer Aided Drafting Package.
Detailed Syllabus:
Introduction: Overview of the course, Lines Lettering and Dimensioning: Types of lines,
Lettering, Dimensioning, Geometrical Construction of Polygons, Scales. Introduction to
Computer Aided Drafting (CAD), DRAW tools, MODIFY tools, TEXT, DIMENSION,
PROPERTIES, etc.
Orthographic Projection: Principles, of Orthographic projection, Four Systems of
Orthographic Projections.
Projection of Points: Projections of points when they are situated in different quadrants.
Projections of Lines: Projections of a line parallel to one of the reference planes and
inclined to the other, line inclined to both the reference planes, Traces.
Projections of Planes: Projections of a plane perpendicular to one of the reference
planes and inclined to the other, Oblique planes.
Projections of Solids: Projections of solids whose axis is parallel to one of the reference
planes and inclined to the other, axis inclined to both the planes.
Sections of Solids: Sectional planes, Sectional views - Prism, pyramid, cylinder and
cone, true shape of the section.
Isometric Views: Isometric axis, Isometric Planes, Isometric View, Isometric projection,
Isometric views - simple objects.
Reading:
1. N.D. Bhatt and V.M. Panchal, Engineering Graphics, Charotar Publishers, 2013.
2. Sham Tickoo, AutoCAD 2017 for Engineers & Designers, Dreamtech Press,
23 rd Edition, 2016.
32 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
33 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reference books:
34 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus
Basic Concepts
Electric Charge, Current and Electromotive force, Potential and Potential Difference;
Electrical Power and Energy; Ohm’s Law, Resistance, Capacitance and Inductance,
Series and Parallel Connection of Resistances and Capacitances, Kirchoff’s Laws and
Their Applications
AC Fundamentals:
Concept of Alternating Voltage and Current, RMS and Average Values, Single Phase and
Three Phase Supply; 3-ph Star-Delta connections, Alternating Voltage applied to Pure
Resistance, Inductance, Capacitance and their combinations, Concept of Power and
Power Factor in AC Circuit.
Measuring Instruments:
Principle and Construction of Instruments used for Measuring Current, Voltage, Power
and Energy, Methods and precautions in use of these.
Electromagnetic Induction:
Concept of Magnetic Field, Magnetic Flux, Reluctance, Magneto Motive Force (MMF),
Permeability; Self and Mutual Induction, Basic Electromagnetic laws, various losses in
magnetic circuits;
Electrical Machines:
Elementary concepts of an electrical machine, Basic principle of a motor and a generator,
Classification of Electrical machines; Principles, Construction and Working of a machine;
Starters: Need, Construction and Operation; Transformer: Classification, Principles,
Construction and Working of a Transformer, Applications of Transformers;
Utilization of Electricity:
Utilization concepts of Electricity for electrolysis process, Electrochemical Cells &
Batteries; Application of Electricity, Energy Conversation and Efficiency
Basic Troubleshooting:
Basic Testing and faults diagnosis in electrical systems, various tools and their
applications, replacement of different passive components.
Electrical Safety:
Electrical Shock and Precautions against it, Treatment of Electric Shock; Concept of
Fuses and Their Classification, Selection and Application; Concept of Earthing.
35 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading:
1. Edward Hughes, Electrical & Electronic Technology, Pearson, 12 th Edition, 2016.
2. Vincent Del Toro, Electrical Engineering Fundamentals, Pearson, 2 nd Edition, 2015.
3. V N Mittle and Arvind Mittal, Basic Electrical Engineering, Tata McGraw Hill, 2 nd Edition,
2005.
4. E. Openshaw Taylor, Utilization of Electrical Energy, Orient Longman, 2010.
5. B.L.Theraja , Fundamentals of Electrical Engineering and Electronics volume -I,
S Chand & Company 2005.
6. Ashfaq Husain, Fundamentals of Electrical Engineering, Dhanpat Rai &
Sons 4 th edition, 2010.
7. H.Partab: Art & Science of Utilization of Electric Energy, Dhanpat Rai &
Sons, 1998.
8. Fundamentals of Electrical Circuits by Charles k.Alexander, Mattew N.O.Saidiku,
Tata McGraw Hill company.
36 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites: None
Detailed Syllabus:
Importance of biology to engineers, Molecules of life: Water and Carbon, Evolution and
origin of life, Darwins theory, Diversity of life, Chemical basis of life, Nucleic acids, Amino
acids and Proteins, Carbohydrates, Lipids and Membranes.
Cell structure and function:
Prokaryotic, Eukaryotic cell and Virus, Sub cellular organelles and their functions,
Regulation of cellular metabolism: Cellular respiration and Fermentation, Photosynthesis,
Cell division (differences between mitosis and meiosis), Mendel’s Law and Patterns of
inheritance.
Gene structure and expression
Genetic engineering (microbe, plant and animal cells for improvement), Industrial
Biotechnology (Primary and Secondary metabolites), Environmental engineering,
Biopharmaceuticals, Tissue engineering, Biomaterials, Stem cell engineering,
Biosensors, Bioinformatics.
Reading:
1. Quillin, Allison Scott Freeman, Kim Quillin and Lizabeth Allison, Biological Science,
Pearson Education India, 2016.
2. Reinhard Renneberg, Viola Berkling and Vanya Loroch, Biotechnology for
Beginners, Academic Press, 2017.
37 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Evolution of Mechanical Engineering: Introduction, Definition and scope of Mechanical
Engineering, relation of Mechanical Engineering with other Engineering Disciplines,
Revolutionary Inventions in wheels, tools, windmills, steam engine, CNC machines, Rapid
Prototyping, Air-conditioning and Refrigeration, History of Mechanics, Thermodynamics
and Heat Transfer, Production and Industrial Engineering, Mechatronics.
Engineering Materials: Introduction to Engineering Materials, Classification and
Properties, Alloys. Composites, Micro and Nano Materials.
Manufacturing Processes: Castings - Patterns & Moulding, Metal forming, Hot Working
and Cold Working Extrusion, Drawing, Rolling, Forging. Welding - Arc Welding & Gas
Welding, Soldering, Brazing. Introduction to Machining processes – Lathe, Milling,
Shaping, Drilling, Grinding, Introduction to NC/CNC Machines, 3D Printing.
Power Transmission: Transmission of Power, Belt Drives, Gears and Gear Trains -
Simple Problems, Fasteners and Bearings: Fasteners - Types and Applications,
Bearings - Types and Selection,
Thermodynamics: Introduction to Energy Sources - Thermodynamics - System,
State, Properties, Thermodynamic Equilibrium, Process & Cycle, Zeroth law of
Thermodynamics, Work & Heat, First law - Cyclic process, Change of State, Cp, Cv,
Limitations of First law, Thermal Reservoirs, Heat Engine, Heat Pump/Refrigerator,
Efficiency/COP, Second law, PMM2, Carnot Cycle, Entropy - T-S and P-V diagrams.
Introduction to Steam Turbines and I.C. Engines: I.C. Engines: 2-Stroke & 4-Stroke
Engines, P-v Diagram; S.I. Engine, C.I. Engine, Differences.
Introduction to Heat Transfer and Refrigeration: Vapor Compression Refrigeration
Cycle - Refrigerants, Desirable Properties of Refrigerants. Modes of Heat Transfer,
Thermal Resistance Concept, Composite Walls & Cylinders, and Overall Heat Transfer
Coefficient – problems.
Reading:
1. Dixit, U.S., Hazarika, M. and Davim, J.P, A Brief History of Mechanical Engineering,
Springer, 2017.
2. M.L. Mathur, F.S. Mehta and R.P. Tiwari, R.S. Vaishwnar, Elements of Mechanical
Engineering, Jain Brothers, New Delhi, 2008.
3. Praveen Kumar, Basic Mechanical Engineering, Pearson Education, India, 2013.
4. P.N. Gupta, M.P. Poonia, Elements of Mechanical Engineering, Standard Publishers,
2004.
5. C.P. Gupta, Rajendra Prakash, Engineering Heat Transfer, NemChand Brothers, New
Delhi, 1994.
38 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
6. B.S. Raghuvanshi, Workshop Technology, Vol. 1&2, Dhanpath Rai & Sons, New
Delhi, 1989.
Prerequisites: None
Detailed syllabus:
Introduction - Specification of force vector, Formation of Force Vectors, Moment of Force
– Cross product – Problems, Resultant of a general force system in space,
Equillibrium of force system- Degrees of freedom - Equilibrium Equations, Degree of
Constraints – Free body diagrams.
Coplanar Force Systems - Introduction – Equilibrium equations – All systems, Problems
Coplanar Concurrent force system, Coplanar Parallel force system, Coplanar General
force system – Point of action, Method of joints, Method of sections, Method of members.
Friction in rigid bodies- Friction – Coulombs laws of dry friction – Limiting friction,
Problems on Wedge friction, Belt Friction-problems.
Centroid & Moment of Inertia - Centroid and M.I – Arial – Radius of Gyration, Parallel
axis– Perpendicular axis theorem – Simple Problems.
Dynamics of Particles – Introduction to kinematics- Equations of rectilinear motion,
D’Alembert’s principle -Simple problems- Introduction to kinetics- Work and Energy.
Reading:
1. J.L.Meriam, L.G. Kraige, Engineering Mechanics, Statics, John Wiley &Sons,7 th
Edition, 2012.
2. A.K. Tayal, Engineering Mechanics, Umesh Publications, 14th Edition, 2010.
3. S S Bhavikatti and K G Rajashekarappa, Engineering Mechanics, New Age
International Publication, 4th Edition.
Reference:
1. Dietmar Gross, Werner Hauger, Jorg Schroder, Wolfgang A. Wall, Nimal
Rajapakse, Engineering Mechanics 1, Statics, Springer, 2nd Edition, 2013.
S. Timoshenko, D.H. Young, Pati Sukumar, J V Rao, Engineering Mechanics, Mc-
Graw Hill, 5th Edition.
39 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Fitting Shop: Preparation of T-Shape Work piece as per the given specifications,
Preparation of U-Shape Work piece which contains: Filing, Sawing, Drilling, Grinding, and
Practice marking operations.
Machine shop: Study of machine tools in particular Lathe machine (different parts,
different operations, study of cutting tools), Demonstration of different operations on Lathe
machine, Practice of Facing, Plane Turning, step turning, taper turning, knurling and
parting and Study of Quick return mechanism of Shaping operation. Demonstration of the
working of CNC and 3D Printing Machines.
Power Tools: Study of different hand operated power tools, uses and their demonstration
and Practice of Power tools.
Carpentry: Study of Carpentry Tools, Equipment and different joints, Practice of Cross
Half lap joint, half lap Dovetail joint and Mortise Tenon Joint.
Welding: Study of welding tools and welding equipment, Arc Welding Practice (Lap and
Butt joint).
40 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Virtual labs
1. Determination of unknown concentration of analyte by using the Beer-
Lambert’s law.
2. Identification of unknown components using spectroscopic techniques.
3. Nuclear magnetic resonance spectroscopy and evolution of simple 1H
NMR spectra of organic compounds
4. Study of kinetics of a reaction by using spectrophotometric methods.
Reference books:
1. Charles Corwin, Introductory Chemistry laboratory manual: Concepts and
Critical Thinking, Pearson Education, 2012.
2. David Collins, Investigating Chemistry: Laboratory Manual, Freeman &
Co., 1st Edition, 2006.
41 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
Construct Abstract Data Types for modelling entities using appropriate data
CO1 constructs and methods. (Apply)
Construct list-based data structures namely Stacks, Queues, Circular Queues
CO2 and Linked Lists. (Apply)
Construct non-linear data structures namely Trees & graphs and set-based
CO3 structures like disjoint sets. (Apply)
Construct suitable data structures and algorithms to facilitate searching,
CO4 sorting and selection. (Apply)
Construct efficient algorithms for performing operations on data structures
CO5 within a given time and /or space complexity. (Apply)
Assess the suitability of various data structures for solving a given problem
CO6 with a comprehension of trade-offs in time and space complexities. (Analyze)
42 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Abstract Data Types (ADT), Arrays and Records, Memory Layout and implementation of
Stack, Queue, Linked List (Single, Double and Circular), Applications of Stack, Queue
and Linked Lists. Implementation of variants of the Stack, Queue and Linked List such as
Two-way Stack, Circular Queue and Doubly Circular Linked Lists. Implementation of
Stack and Queue using Linked List.
Memory Layout and Implementation of operations on Trees: Binary Trees, Binary Search
Trees, AVL trees, B-Trees, Splay Trees and Tries.
Hashing: Open and Closed addressed tables, Design of good hash functions, Analysis of
the efficiency of search operations, Bloom Filters.
Priority Queues: Memory layout, implementation and applications of Heap and its variants
namely Skew Heaps, Leftist Heaps, Fibonacci Heaps and Binomial Queues.
Miscellaneous Data Structures: Skip Lists, Disjoint sets and k-d Trees.
Graphs: Memory representations, Depth First and Breadth First Traversals and
representative applications like Topological Sorting, Finding Connected Components and
Social Network Analysis.
Sorting: Representative Internal Sorting Algorithms like Merge Sort, Quick Sort, Counting
Sort, Radix and Bucket Sorts. Analysis of efficiency of sorting, Notion of Stability in
Sorting, External Sorting Algorithms.
Amortized Analysis of Data Structures: Accounting and Potential methods.
Reading List:
1. Data structures and Algorithms in C++, Michael T. Goodrich, R. Tamassia, and
Mount, John Wiley and Sons, Second Edition, 2011.
2. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson
Education. Ltd., Fourth Edition, 2014.
3. Data structures and algorithms in C++, Fourth Edition, Adam Drozdek, Thomson,
Cengage, 2013.
4. Data Structures: A Pseudocode Approach with C++, Richard F. Gilberg, Behrouz A.
Forouzan, Second Edition, Thomson Learning, 2004.
5. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein,
Introduction to Algorithms, Third Edition, PHI, 2009.
43 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
None
Course Outcomes: At the end of this course, students will be able to:
Construct process manager with a comprehension of scheduling policies,
CO1
deadlocks, synchronization and the associated kernel data structures. (Apply)
Construct memory manager with a comprehension of the issues involved in
CO2 memory management and management strategies especially for Virtual
memory environments. (Apply)
CO3 Design and develop System Call Interface for a given File System. (Apply)
CO4 Design and develop Device Driver for disk access in the xv6. (Apply)
Analyze the design of Operating System Sub-Components of xv6 (x86 version)
CO5 with an understanding of the sub-components like Process, Memory, and I/O
managers and the interplay among these sub-components. (Analyze)
Detailed Syllabus:
Processes:
Introduction to operating systems: Process abstraction, Process states, CPU Data
Structures for process control. System calls for process management: fork, exec, exit,
44 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
wait, open, read, write, close. Process Execution, Execution of function call, kernel/user
modes, trap instruction, mechanism of context switch.
Scheduling policies: Criteria Considered for CPU Scheduling, scheduling using FIFO,
SJF, STCF, RR, MLFQ methods.
Inter Process Communication: IPC, Shared Memory, Signals, Sockets, Pipes and
Message Queues. Introduction to XV6.
Process Control in XV6: Process abstraction, Process state transition example. Process
management system calls: Fork, Exec, Exit, Wait. Trap handling in XV6, Scheduling and
Context switching in XV6, User process creation in XV6.
Memory Management:
Introduction to virtual memory: Goals of memory virtualization, Memory allocation system
calls. Mechanism of address translation: Role of OS in translation, Segmentation. Paging:
Page table, Multiple page tables. Demand paging: Page faults, Page replacement polices.
Memory allocation and free space management algorithms: Variable size allocations and
Fixed size allocations.
Virtual Memory and Paging in XV6, Memory management and User processes in XV6.
Concurrency:
Introduction to threads and concurrency: Single threaded process, multiple threaded
process, scheduling threads, Race condition and Synchronization. Locks: Building a lock,
different types of locking mechanisms. Condition Variables: producer-consumer problem.
Semaphores. Concurrency bugs: non-deadlock bugs, deadlock bugs, conditions for
deadlock, prevention mechanisms, deadlock avoidance, deadlock detection, recovery
from deadlock. Locking in XV6: spin locks, disabling interrupts. Sleep/wakeup
functionality in XV6.
I/O and file systems:
Communication with I/O devices: Introduction to input/output devices, Interrupts, Direct
Memory Access, Device driver. Files and Directories: File abstraction, Directory tree,
Hard links and soft links, mounting a file system, Memory mapping a file. File system
implementations: File system, I-node table, File Allocation Table (FAT), Virtual file
system. Hard disk internals: Disk scheduling, SSTF, SCAN Algorithm, SPTF.
Device drivers and block I/O in XV6: File system and I/O in XV6, Disk blocks and buffers,
Logging layer. File system in XV6: Disk layout, in memory data structure, I-node function,
creating a file, system calls: open, link, file read.
Security in Operating System: Goals of Protection, Domain of Protection, Access
Matrix, Implementation of Access Matrix, Revocation of Access Rights, Language-Based
Protection, Capability-Based Systems, The Security Problem, User Authentication,
Program Threats, System Threats, Securing Systems and Facilities, Intrusion Detection,
Cryptography, Computer-Security Classifications.
45 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau Andrea C. Arpaci-
Dusseau, Arpaci-Dusseau Books, Amazon Digital Services, 2015.
2. xv6 a simple, Unix-like teaching operating system, Russ Cox Frans Kaashoek Robert
Morris, Available From: https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf,
Accessed on: August 2021.
3. Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin and Greg
Gagne, Wiley, 10th edition, 2008.
46 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
None.
Course Outcomes: At the end of this course, students will be able to:
CO1 Construct mathematical proofs using mathematical logic and induction. (Apply)
Apply logical notations to define and reason mathematically about the constructs
CO2 used in computing. (Apply)
Detailed Syllabus:
Sets and Relations: Sets, Operations on Sets, Venn Diagrams, Multi Sets, Binary
Relations, Equivalence Relations, Ordering Relations, Operations on Relations, Partial
Orders.
Functions: Definition and Introduction, Composition of Functions, Inverse Functions,
Binary and n-ary Operations.
47 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Discrete Mathematics and its Applications, Kenneth H. Rosen, 7 th Edition, Tata
McGraw Hill Publishers, 2007.
2. Discrete Mathematics for Computer Scientists and Mathematicians, Joe L. Mott,
Abraham Kandel, Theodore P. Baker, Second Edition, PHI, 2001.
3. Discrete Mathematics, Norman L Biggs, 2nd Edition, Indian Edition published by
Oxford University Press.
4. Discrete Mathematical Structures, Tremblay J. P. and Manohar R., MGH, 1997.
48 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
Implement Abstract Data Types for modeling entities using appropriate data
CO1 constructs and methods. (Apply)
Implement list-based data structures namely Stacks, Queues, Circular Queues
CO2 and Linked Lists. (Apply)
Implement non-linear data structures namely Trees & graphs and set-based
CO3 structures like disjoint sets. (Apply)
Implement suitable efficient data structures and algorithms to facilitate
CO4 searching, sorting and selection. (Apply)
Implement efficient algorithms for performing operations on data structures
CO5 within a given time and/or space complexity. (Apply)
Implement solutions after assessing the suitability of different data structures
for solving a given problem with a comprehension of trade-offs in time and
CO6 space complexities by demonstrating problem-solving and programming skills.
(Analyze)
PO/ P P P
P P P P P P P P P P P P S S S
PSO
O O O O O O O O O O O O O O O
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
CO
CO1 S M M S M L S S M
CO2 S M M S S M L S S M
CO3 S M M S S M L S S M
CO4 S M M S S M L S S M
CO5 S M M S S M L S S M
CO6 S S S M L S M L S S S
S: Strong correlation, M: Medium correlation, L: Low correlation
49 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
List of Experiments:
1. Implementation of Stack and Queue using Arrays.
2. Implementation of Stack-based applications like postfix expression evaluation and infix
to postfix conversion.
3. Implementation of Queue and Circular Queue.
4. Implementation of Single Linked List, Doubly Linked List and Circular Linked List.
5. Implementation of Stack and Queue using Linked List.
6. Representative problems with solutions involving Stack, Queue and Linked List.
7. Implementation of Binary Search Tree.
8. Implementation of BST traversals in recursive and non-recursive ways.
9. Implementation of AVL Tree.
10. Implementation of Priority Queue.
11. Implementation of Dictionaries using open and closed addressing schemes.
12. Implementation of Trie for fast text matching.
13. Implementation of Quick, Merge, Counting, Radix and Bucket sorts.
14. Implementation of Graphs and Depth First & Breadth First Traversals.
15. Mini project involving design, memory organization, implementation and complexity
analysis of data structures and their associated operations.
Reading List:
1. Data structures and Algorithms in C++, Michael T.Goodrich, R.Tamassia, and Mount,
John Wiley and Sons, Second Edition, 2011.
2. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson
Education. Ltd., Fourth Edition, 2014.
3. Data structures and algorithms in C++, Fourth Edition, Adam Drozdek, Thomson,
Cengage, 2013.
4. Data Structures: A Pseudocode Approach with C++, Richard F. Gilberg, Behrouz A.
Forouzan, Second Edition, Thomson Learning, 2004.
5. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein,
Introduction to Algorithms, Third Edition, PHI, 2009.
50 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
CO1 Implement elementary UNIX system commands. (Apply)
CO2 Develop programs to test synchronization problems. (Apply)
CO3 Design and develop user level thread library. (Apply)
CO4 Design and implement a file system. (Apply)
CO5 Design and implement a memory manager module. (Apply)
CO6 Design and implement a process manager module. (Apply)
51 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Advanced Programming in the UNIX Environment, Richard Stevens, Stephen Rago,
Addison Wesley, Third edition, 2013.
2. Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau Andrea C. Arpaci-
Dusseau, Arpaci-Dusseau Books, Amazon Digital Services, 2015.
3. xv6 a simple, Unix-like teaching operating system, Russ Cox Frans Kaashoek Robert
Morris, Available From: https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf,
Accessed on: August 2021.
4. Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin and Greg
Gagne, Wiley, 10th edition, 2008.
52 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CO1 Provides a solid foundation about the concept of probability and its features
CO2 Provide the idea of important results used in statistical Inference
CO3 Find the coefficient of correlation and lines of regression
CO4 Understand the concept of stochastic process
Mapping of course outcomes with program outcomes
PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO
CO1
CO2
CO3
CO4 `
Testing of Hypothesis:
Testing of Hypothesis, Null and alternative hypothesis, level of significance, one-tailed and two-
tailed tests, tests for large samples (tests for single mean, difference of means, single proportion,
difference of proportions), tests for small samples (t-test for single mean and difference of means,
F-test for comparison of variances), Chi-square test for goodness of fit, analysis of variance (one
way classification with the samples of equal and unequal sizes), correlation and regression.
Multiple and partial correlation, rank correlation and Karl Pearson coefficient of correlation, lines
of regression. (12)
Stochastic Process:
Definition and classification of general stochastic processes. Markov Chains: definition, transition
probability matrices, classification of states, limiting properties, Discrete Time Markov Chains: Chapman-
Kolmogorov equations, Ergodicity, Reducibility/Irreducibility, Time reversible chains, Applications of
Markov chains in Queuing models, Continuous Time Markov Chains: Birth-Death processes, Poisson
processes, M/M/1 Queuing Models. (14)
53 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Text Books:
1 . R.A. Johnson, Miller and Freund’s , Probability and Statistic for Engineers, Pearson
Publishers, 9th Edition, 2017.
2. Freund, Modern elementary statistics, PHI, 2006.
3. S.C.Gupta and V.K.Kapoor, Fundamentals of Mathematical Statistics, 2006.
Reference Books:
1. Kantiswarup, P.K.Gupta and Manmohan Singh, Operations Research, S.Chand
& Co, 2010.
2. B. Prabhakara Rao (Author), T.S.R. Murthy, Probability Theory and Stochastic
Processes Kindle Edition , 2019.
3. U.N. Bhat and Gregory K. Miller, Elements of Applied Stochastic Processes, John
Wiley and Sons, 2002.
4. K.S. Trivedi, Probability and Statistics with Reliability, Queuing, and Computer
Science Applications, Prentice Hall of India, 2008
54 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
iii. Data Structures and Algorithms (CS201)
iv. Data Structures and Algorithms Lab (CS204)
Course Outcomes: At the end of this course, students will be able to:
Construct programs using Object Oriented Design principles like
CO1 encapsulation, abstraction, polymorphism, inheritance and typing. (Apply)
Develop applications with handlers for user-defined exceptions, according to
CO2 the given requirements. (Apply)
Construct efficient multi-threaded programs with synchronization constructs.
CO3 (Apply)
Develop interactive GUI applications with event handling that provide rich user
CO4 experience. (Apply)
Construct programs using the suitable Collection classes and interfaces for
CO5 efficient modelling of the objects and entities of the program. (Apply)
CO6 Develop applications that use file input and output. (Apply)
55 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Overview of Object-Oriented Programming and its need, Java Programming Elements:
Classes and Objects, Data types, Constructors, Input-Output Handling, Control
structures, Method overloading and overriding, Abstraction and Inheritance, Interfaces,
understanding final and static: classes, blocks and methods, Packages.
Exception Handling: Types of Exceptions, Exception classes, try, catch, throw, throws
and finally, Exception Handling with Method Overriding, Custom Exceptions, finalize.
Multithreaded Programming: Introduction to multitasking through processes and threads,
creating threads, thread life cycle, thread scheduling, thread priorities, daemon thread,
synchronization.
Garbage Collection, Runtime class and Memory management in Java.
String handling: String, String Buffer, StringBuilder and tokenization.
Generics, Lambda expressions.
The Collections framework: List, Set and Map interfaces and the corresponding
implementation classes, Enumerator and iterators.
Event handling: Event, Listeners and adapter classes, anonymous inner classes.
Abstract Windowing Toolkit (AWT): Button, Label, Checkbox, Checkbox Group, Text
Field, Text Area, Choice, List, Menu, Panel, Scrollbar and Swing components, Layout
managers, Complex Components.
MVC and introduction to creational, structural design patterns and behavioural patterns.
File I/O: Streams, Readers and Writers, Pipes and Filters, Random Access, Scanner.
List of Experiments:
1. Develop programs to familiarize with Object Oriented Design concepts.
2. Implement programs to illustrate overloading and overriding.
3. Implement programs to familiarize with the Testing and Debugging facilities.
4. Implement abstract classes and Interfaces.
5. Implement programs using Static classes, blocks and methods.
6. Implement programs to compare shallow and deep copy.
7. Develop programs using Exception Handling.
8. Develop programs using multi-threading and synchronization.
9. Implement programs using Generics.
10. Implement programs using Linked data structures, Heaps, priority queues, binary
search trees and the interfaces List, Set and Map.
11. Implement programs using String processing facilities offered by String, String Buffer
and StringBuilder classes.
56 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
12. Develop Event-driven programs for GUI applications that are interactive, responding
to events originating from keyboard and mouse.
13. Implement programs using Streams and File I/O for reading and writing the contents
in sequential and random order.
14. Given two words of equal length that are in a dictionary, implement an efficient
program to transform one word into another word by changing only one letter at a
time.
15. Numbers are randomly generated and passed to a method, implement an efficient
program to find and maintain the median value as new values are generated.
16. Given an N x N matrix of positive and negative integers, implement an efficient
program to find the sub-matrix with the largest possible sum.
Reading List:
1. Java: The Complete Reference, Herbert Schildt, 11th edition, Mc Graw Hill, 2019.
2. Head First Java, Kathy Sierra & Bert Bates, 3 rd edition, O’Reilly, 2005.
3. Clean Code, Robert C Martin, Pearson, 2012.
4. Timothy Budd, Object Oriented Programming with Java, Pearson Education, 2009.
5. Object Oriented Programming with Java, Debasis Samanta, IIT Kharagpur, accessed
through: https://cse.iitkgp.ac.in/~dsamanta/java/index.htm, Accessed on: August
2021.
6. Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides,
Addison-Wesley, 1994.
57 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
iii. Data Structures and Algorithms (CS201)
iv. Data Structures and Algorithms Lab (CS204)
v. Discrete Mathematics (CS203)
Course Outcomes: At the end of this course, students will be able to:
Infer which algorithm design paradigm is suitable for solving a given problem.
CO1 (Analyze)
Construct algorithms for a given complex engineering problem using an
CO2 appropriate design paradigm such as divide and conquer, dynamic
programming, greedy, backtracking and branch-and-bound. (Apply)
CO4 Infer the asymptotic time and space complexities of algorithms. (Apply)
Assess the impact of the choice of data structure on the performance of
CO5 algorithms. (Apply)
Construct algorithms for graph-based problems by modeling entities as graphs
CO6 and reducing the solution to standard graph theoretic algorithms. (Apply)
Construct reductions between problems with a comprehension of the
CO7 complexity classes namely P, NP, NP-Complete & NP-Hard and their
relationships. (Apply)
58 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction to Algorithm Design and Analysis, Asymptotics, Correctness Proofs for
Algorithms.
Divide and Conquer Algorithms: Solving Recurrences, Recurrence Trees, Substitution
method, Master’s Theorem, Merge Sort, Quick Sort and Randomized Quicksort with their
analyses, Maximum sub-array problem, Linear time Selection, Strassen’s Matrix
Multiplication, Multiplication of Large integers.
Greedy Algorithms: Design scenarios calling for a greedy design, Making Change
problem, Activity Selection Problem, Fractional Knapsack problem, Prim’s and Kruskal’s
algorithms for Minimum Spanning Tree construction, Dijkstra’s algorithm for finding single
source shortest paths.
Dynamic Programming: Design scenarios calling for a dynamic programming design,
Chained Matrix Multiplication problem, 0/1 Knapsack problem, Travelling Salesperson
Problem, Optimal Binary Search Tree, Floyd Warshall’s Algorithm, Vertex Cover of a
Tree.
Backtracking: N-Queen’s problem, Enumeration of Independent Sets of a problem, Graph
Coloring problem, Robotic path finding problem in an unknown terrain.
Branch and Bound: TSP. Set Cover and 0/1 Knapsack problem.
String algorithms: KMP Algorithm, Boyer Moore Algorithm and Rabin-Karp Algorithm.
Flow-based Algorithms: Max-flow Min-cut theorem, augmenting paths and finding min-
cuts.
Complexity classes: P, NP, NP-Complete and NP-Hard, Standard reductions.
Reading List:
1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein,
Introduction to Algorithms, Third Edition, PHI, 2009.
2. Michael T. Goodrich and Roberto Tamassia, Algorithm Design: Foundations,
Analysis and Internet Examples, Second Edition, Wiley-India, 2006.
3. Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, Fundamentals of
Computer Algorithms, Second Edition, Universities Press, 2011.
4. Gilles Brassard and Paul Bratley, Fundamentals of Algorithmics, First Edition, PHI,
2000.
5. S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, First Edition,
McGraw Hill Education, 2006.
6. Sara Baase, Computer algorithms: Introduction to Design and Analysis, Second
Edition, Addison Wesley publication, 1998.
59 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Digital Logic Design (EC237)
Course Outcomes: At the end of the course, students will be able to:
Construct assembly language programs to perform the specified task with a
CO1 comprehension of addressing modes. (Apply)
Analyze the speed and cost of memory access based on availability of data in
CO2 cache memory, main memory and secondary memory. (Apply)
Assess the performance of data transfer to and from the peripherals and
CO3 identify the suitable mode of transfer. (Apply)
Design Arithmetic Logic Unit components and microprogrammed control units
CO4 satisfying the specified constraints. (Apply)
Design pipelines for high performance considering possible hazards, data
CO5 paths and control paths. (Apply)
Detailed Syllabus:
Basic Structures of Computers: Computer Types, Functional Units, Basic Operational
Concepts, Bus Structures, Software, Performance, Multiprocessors and Multi-computers,
Historical Perspective.
60 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Computer Organization, Carl Hamacher, 5th Edition, McGraw Hill Publishers, 2002.
2. Computer Organization and Architecture Designing for Performance, William
Stallings, 8th Edition, Pearson Education, 2010.
3. Computer Architecture: A Quantitative Approach, J.L. Hennessy and D.A. Patterson,
5th Edition, Morgan Kauffmann Publishers, 2012.
4. Computer System Architecture, Morris Mano, 3rd Edition, PHI, 2017.
5. Computer Architecture: A Quantitative Approach, Hennessy, J. L., and D. A.
Patterson. 3rd ed. San Mateo, CA: Morgan Kaufman, 2002.
61 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
None
Course Outcomes: At the end of this course, students will be able to:
Construct, compare and analyze computational machine models for solving
CO1 problems and recognizing languages. (Analyze)
Infer the properties of languages, automata and grammars with the help of
CO2 rigorous proofs. (Analyze)
Infer the limitations of the computational models and prove the existence of
CO3 such limitations. (Analyze)
Construct algorithms for solving problems and show the correctness of
CO4 algorithms using different computational machine models. (Analyze)
Identify the dependency of application domains like Compiler Design on the
CO5 computational models. (Analyze)
Detailed Syllabus:
Finite State Automata (FSA): Alphabets, Strings, Languages, Deterministic FSA
(DFSA), non-deterministic FSA (NFSA) with Epsilon-Transitions, Uses of ∈ Transitions.
Regular expressions, Finite Automata and Regular Expressions, Conversion among
Regular Expressions, DFSA and NFSA, Applications of Regular Expressions,
Applications of Regular Expressions in UNIX and Lexical Analysis, Algebraic Laws for
Regular Expressions, Laws Involving Closures, Subset Construction Algorithm, FSA
62 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. John E. Hopcroft, Rajeev Motwani, Jeffrey D Ullman, Introduction to Automata
Theory, Languages and Computation, Second Edition, Pearson, 2001.
2. Michael Sipser, Introduction to Theory of Computation, Third Edition, Course
Technology, 2012.
3. Automata and Computability, Dexter C. Kozen, First Edition, Springer Publishers,
2007.
4. Elements of the Theory of Computation, H. R. Lewis and C.H. Papadimitriou, First
Edition, Prentice Hall Publishers, 1981.
5. J. Martin, Introduction to Languages and the Theory of computation, Third Edition,
Tata Mc Graw Hill, 2007.
6. Peter Linz, An Introduction to Formal Languages and Automata, Sixth Edition, Jones
& Bartlett Learning, 2017.
63 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and Algorithms (CS201)
ii. Data Structures and Algorithms Lab (CS204)
iii. Operating Systems (CS202)
iv. Operating Systems Lab (CS205)
v. Discrete Mathematics (CS203)
Course Outcomes: At the end of this course, students will be able to:
Construct database schema using Database models at conceptual level
CO1 identifying entities and relationships among entities using E-R and relational
models. (Apply)
Construct database and implement queries using SQL constructs for a given
CO2 requirement specification. (Apply)
Construct database design using Normalization and Functional
CO3 Dependencies to store information without redundancy. (Analyze)
Design Data Storage Structures and Indexing at physical level to build fast
CO4 and reliable storage systems and enable quick access to data. (Analyze)
Apply concurrency control mechanisms with the help of locking, stamping
CO5 and optimistic methods, and recovery mechanisms to maintain database
integrity. (Apply)
Apply strategies for transaction management with a comprehension of the
CO6 ACID properties to be maintained. (Apply)
PO/ P P P
P P P P P P P P P P P P
PSO S S S
O O O O O O O O O O O O
O O O
1 2 3 4 5 6 7 8 9 10 11 12
CO 1 2 3
CO1 S M L L S M L S S L
CO2 S M L L S M L S S L
CO3 S M S L S M L S S M
CO4 S M S L S M L S S M
CO5 S M S L S M L S S M
CO6 S M S L S M L S S M
S: Strong correlation, M: Medium correlation, L: Low correlation
64 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction: Basic concepts of database systems, Database System Applications,
Purpose of Database Systems, Data View, Database Languages, Characteristics of a
database approach, Advantages of DBMS over file system, Database Design, Database
Engine, Database and Application Architecture, Database Users and Administrators,
History of Database systems
Database models: ER-model: Features of the E-R model, Database design using the E-
R model, Relational model: Relational Database Schemas, Keys, Integrity constraints
over relations, E-R model to relational schema, relational algebra, relational calculus.
SQL: Form of a basic SQL Query, Insert, Delete and Update database, Set Operations,
Nested queries, Aggregate Functions, Null Values, Integrity Constraints, Join
Expressions – Natural join, Equi-join, Inner join, Outer join, Views, Triggers.
Database design: Functional-Dependency, Soundness and completeness of
Armstrong’s axioms, Normal Forms, Loss-less decomposition, Dependency preservation,
Decomposition Using Functional Dependencies, Multivalued Dependencies and 4NF,
Join dependencies and 5NF, Decomposition Algorithms.
Data Storage Structure and Indexing: Memory hierarchy, Redundant Arrays of
Independent Disks, File organization and indexing, Index Data Structures: Hash-based
indexing and Tree-based Indexing (B+ trees and B-trees), Introduction to Query
optimization and execution.
Transactions, concurrency control and recovery: ACID properties, Transactions and
Schedules, Concurrent execution of transactions, Lock-Based Protocols, Deadlock
Handling, Concurrency control without locking, Introduction to crash recovery, ARIES,
Write-Ahead log protocol, checkpointing, recovery from a system crash, security,
authorization and access control.
Reading List:
1. A Silberschatz, H Korth and S Sudarshan, Database System Concepts, 7th edition,
McGraw-Hill, 2010.
2. R Elmasri, S Navathe, Fundamentals of Database Systems, 7th edition, Pearson,
2016.
3. R Ramakrishnan, J Gehrke, Database Management Systems, 3rd edition, McGraw-
Hill, 2003.
4. C J Date, An Introduction to Database Systems, Pearson/Addison Wesley, 2003.
65 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CS256 Unix Tools and Shell Scripting Lab PCC 0–1–2 2 Credits
Pre-requisites:
i. Operating Systems (CS202)
ii. Operating Systems Lab (CS205)
Course Outcomes: At the end of this course, students will be able to:
Develop text data processing applications using Unix commands and
CO1 filters. (Apply)
66 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
2. Write shell script for Pattern matching using wild cards, escaping, quoting,
iterations, and if then else constructs.
3. Write shell script for searching for various patterns using grep, pr, head, tail, cut,
paste, sort, uniq, and tr.
4. Write shell script for pattern matching using awk, and sed utilities.
5. Write shell script for backup using tar and cpio.
6. Write a make script with dependencies for compiling a static link library/dynamic
link library and building an executable to link to such libraries.
7. Automate make script creation for bigger projects.
8. Create a project under CVS/git repository and record multiple versions/branches
and practice merging of branches.
9. Debug a C program using gdb to understand core dump of a failed execution.
10. Install requisite packages using rpm/deb/apt.
11. Write scripts for Simple Distribution of tasks using ssh.
12. Write scripts for installation of software in multiple machines.
13. Write scripts for obtaining usage stats memory usage and CPU usage for multiple
machines.
14. A capstone mini project to unify the comprehension of the tools and utilities learnt
in this course.
Reading List:
1. Sumitabha Das, Unix Concepts and Applications, TMH, 4th edition, 2008.
2. John R Levine, Tony Mason, Doug Brown, Lex and Yacc, Orielly, 2nd edition, 2009.
67 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and Algorithms (CS201)
ii. Data Structures and Algorithms Lab (CS204)
iii. Operating Systems (CS202)
iv. Operating Systems Lab (CS205)
v. Discrete Mathematics (CS203)
Course Outcomes: At the end of this course, students will be able to:
Design database schema and Implement SQL queries for a given requirement
CO1 specification. (Apply)
Assess the impact of different query execution plans and access paths on
CO2 query performance. (Analyze)
Implement database maintenance and control using authorization access
CO3 control, transaction and concurrency management and recover constructs.
(Apply)
Design and develop an application using stored procedures for a given
CO4 requirement specification. (Apply)
Design and develop an application with database connectivity for a given
CO5 requirement specification. (Apply)
68 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
69 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
8. JDBC,accessed throughgh:
https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html, Accessed on August
2021.
70 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Theory of Computation (CS254)
Course Outcomes: At the end of the course the student will be able to:
CO2 S M L S
CO3 S M L S
CO4 S M L S
CO5 S S M S
CO6 S M L S
S: Strong correlation, M: Medium correlation, L: Low correlation
71 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed syllabus:
Introduction to System Software: Macro processors, One pass and two pass
assemblers, Linkers, Loaders, Types of Loaders, Interpreters, Debuggers, Compilers.
Phases of Compilers - Compiler Construction Tools - Bootstrapping
Lexical analyzer - The Role of the Lexical Analyzer, Input Buffering, Specification of
Tokens, Recognition of Tokens, A Language for Specifying Lexical Analyzers.
Parsing - The Role of the Parser, Context-Free Grammars, Top-Down Parsing, Bottom-
Up Parsing, Operator-Precedence Parsing, LR Parsers, Using Ambiguous Grammars,
Parser Generators.
Syntax-Directed Translation- Syntax-Directed Definitions, Construction of Syntax Trees,
Bottom- Up Evaluation of S-Attributed Definitions, L-Attributed Definitions, Top-Down
Translation, Bottom-Up Evaluation of Inherited Attributes, Recursive Evaluators, Space
for Attribute Values at Compile Time, Assigning Spaces at Compiler-Construction Time,
Analysis of Syntax-Directed Definitions.
Type Checking- Type Systems, Specification of a Simple Type Checker, Equivalence of
Type Expressions, Type Conversions, Overloading of Functions and Operators,
Polymorphic Functions, An algorithm for Unification.
Run-Time Environments - Source Language Issues, Storage Organization, Storage-
Allocation Strategies, Access to Nonlocal Names, Parameter Passing, Symbol Tables,
Language Facilities for Dynamic Storage Allocation, Dynamic Storage Allocation
Techniques, Storage Allocation in Fortran.
Intermediate Code Generation - Intermediate Languages, Declarations, Assignment
Statements, Boolean Expressions, Case Statements, Backpatching, Procedure Calls.
Code Generation - Issues in the Design of a Code Generator, The Target Machine, Run-
Time Storage Management, Basic Blocks and Flow Graphs, Next-Use Information, A
Simple Code Generator, Register Allocation and Assignment, The Dag Representation
of Basic Blocks, Peephole Optimization, Generating Code from DAGs, Dynamic
Programming Code-Generation Algorithm, Code-Generator Generators.
Reading List:
1. Alfred V. Aho, Monical S.Lam, Ravi Sethi, and Jeffrey D. Ullman Compilers -
Principles, Techniques and Tools, 2nd Edition, Pearson, 2007.
2. Randy Allen, Ken Kennedy, Optimizing Compilers for Modern Architectures, Morgan
Kauffmann, 2001.
72 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
This course aims to establish a broad framework in which to formulate and analyze the
design aspects of programming languages. Students of this course will be exposed to
multiple programming language design paradigms, their underlying principles,
representative programming languages, their constructs and programming techniques.
Pre-requisites:
None.
Course Outcomes: At the end of the course, the student will be able to:
Demonstrate a comprehension of the concepts found across different
CO1 programming languages using a precise single math framework. (Apply)
Construct precise math formalisms for specifying the type-system and the runtime
CO3 behaviour of a program. (Analyze)
Detailed Syllabus:
Syntactic Objects: Abstract Syntax Trees, Abstract Binding Trees.
Inductive definitions, Hypothetical and general judgements: Derivability, admissibility.
Church’s Lambda calculus.
Static and dynamic semantics, type safety, Binding.
73 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
List of Experiments:
1. Familiarization with the syntactic constructs of Modernized Algol.
2. Exercises involving imperative programming languages like Modernized Algol.
3. Familiarization with Concurrent programming constructs.
4. Case Studies in Concurrent programming.
5. Familiarization with the syntactic constructs of Haskell.
6. Case Studies in Haskell.
7. Familiarization with ML constructs.
8. Case Studies in ML.
9. Familiarization with Prolog constructs.
10. Case Studies in Prolog.
Reading List:
1. Robert Harper, Practical Foundations for Programming Languages, Cambridge
University Press, Second Edition, 2016.
2. Michael L. Scott, “Programming Language Pragmatics”, Fourth Edition, Morgan
Kaufmann, 2016.
74 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Discrete Mathematics (CS203)
ii. Data Structures and Algorithms (CS201)
iii. Probability, Statistics and Stochastic Processes (MA239)
iv. Design and Analysis of Algorithms (CS252)
Course Outcomes: At the end of the course, the students will be able to:
Solve single agent and multi agent problems by applying the appropriate search
CO1 techniques. (apply)
CO4 Build a ML model from the data and evaluate its performance. (apply)
Construct an agent that can learn with complete data and learn with hidden
CO5 variables. (apply)
Detailed Syllabus:
Introduction and Scope, Agents and Environments, Concept of Rationality.
Solving problems by Search: Uninformed Search Strategies, Breadth-first search, Depth-
first search, Searching with Partial Information, Informed (Heuristic) Search Strategies,
Greedy best-first search.
A* Search: Minimizing the total estimated solution cost, Heuristic Functions, Local Search
Algorithms, and Optimization Problems, Online Search Agents, and Unknown
Environments.
75 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Stuart Russell, Peter Norvig, “Artificial Intelligence -A Modern Approach”, 3/e,
Pearson, 2003.
2. Trevor Hastie, Robert Tibshirani, Jerome Friedman, “The Elements of Statistical
Learning: Data Mining, Inference, And Prediction”, 2nd Edition, Springer, 2017.
3. Christopher M. Bishop, “Pattern Recognition and Machine Learning”, Springer, 2010.
4. https://github.com/emredjan/ISL-python
76 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming Lab (CS102)
ii. Data Structures and Algorithms (CS201)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Implement an efficient search technique for the given problem (Apply)
CO2 Implement an optimized multiplayer game (Apply)
CO3 Implement inference in probabilistic models (Apply)
Detailed Syllabus:
Tutorial and Laboratory Exercises:
1. Implement uninformed search techniques such as DFS, BFS, and IDS.
2. Implement informed search technique A* with suitable heuristic functions.
3. Implement local search techniques such as Hill Climbing, GA, and SA.
4. Implement multiplayer games using minimax, ∝-β pruning, and expecti minimax. (e.g:
tic tac toe, Nim, a problem involving dice).
5. Solve Constraint Satisfaction Problems (e.g: Map coloring).
6. Implement first-order logic inference.
7. Implement Inference in Bayesian Networks.
8. Implement a Decision Tree.
9. Implement Regression (Linear, Logistic)
77 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Stuart Russell, Peter Norvig, “Artificial Intelligence -A Modern Approach”, 3/e,
Pearson, 2003.
2. Trevor Hastie, Robert Tibshirani, Jerome Friedman, “The Elements of Statistical
Learning: Data Mining, Inference, And Prediction”, 2nd Edition, Springer, 2017.
3. Christopher M. Bishop, “Pattern Recognition and Machine Learning”, Springer, 2010.
4. Introduction to Statistical Learning in Python: https://github.com/emredjan/ISL-
python
5. Representations and Inference for Logic: http://aima.cs.berkeley.edu/python/logic.html
78 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-Requisites:
None
Course Outcomes: At the end of the course the student will be able to:
Analyze various software engineering models for software project design and
CO1 choose the most appropriate one for the problem. (Analyze)
CO2 Design and validate SRS documents to develop a quality project. (Create)
Evaluate the effectiveness of an organization’s software development/
CO3 implementation practices, suggest improvements, and define a process
improvement strategy. (Apply)
Draw UML diagrams in order to forward and reverse engineer the complex
CO4 software projects. (Create)
Apply manual and automated testing methods to verify and validate the
CO5 software. (Apply)
CO1 M L M L M L M M M S S
CO2 M L M M M M M L S S
CO3 M L M M M L M S S
CO4 M L M M M M M M L S S
CO5 M L M M M M M M L S S
Detailed Syllabus:
Introduction to Software Engineering, Software Process, Software life cycle models:
Waterfall Model and its Extensions, Rapid Application Development (RAD), Spiral Model,
Introduction to Agility, Agile process, Extreme programming, XP Process. Storyboarding.
79 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
List of Experiments:
Choose a real-life application and incrementally build the application using the SE
practices as a case study. You are advised to simulate the distributed environment for the
product development. Students are encouraged to use pair programming for the
development of the product.
1. Identify the requirements from the problem statement. Conduct feasibility study and
validate the requirements.
2. Prepare the SRS document.
3. Estimate the project cost using project estimation techniques and complexity metrics.
80 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
4. Model use case diagrams and by capturing the use case scenarios from the problem
statement. Model Class diagrams and Sequence diagrams. Apply forward Engineering.
5. Estimate the Cyclomatic complexity. Write Junit test cases. Perform test driven
development for every function.
6. Perform automatic testing of the application.
Reading List:
81 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Operating Systems (CS202)
Course Outcomes: At the end of the course the student will be able to:
PO/
P P P
PSO P P P P P P P P P P P P
S S S
O O O O O O O O O O O O
O O O
1 2 3 4 5 6 7 8 9 10 11 12
CO 1 2 3
CO1 S S S M S S M
CO2 S M L S S M
CO3 S M L S S M
CO4 S M L S S M
CO5 S S S M S S S
Detailed syllabus:
Introduction – network architecture - protocol implementation issues - network design.
Reference models - The OSI Reference Model - the TCP/IP Model - A Comparison of the
OSI and TCP/IP Models
Datalink Layer- framing and error detection and correction - sliding window protocol -
media access control - ethernet - CSMA - token ring - switching - spanning tree protocol
- LANs.
Network layer – network layer design issues - internet protocol (IP) – addressing and
forwarding – ARP protocols – network address translation (NAT) - routing algorithms -
congestion control algorithms – Internetworking.
82 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Transport layer – user datagram protocol (UDP) - transmission control protocol (TCP) –
TCP connection management - TCP congestion control – TCP versions – sliding window
implantation in TCP.
Application layer - domain name service (DNS) – simple mail transfer protocol – file
transfer protocol - world wide web - hypertext transfer protocol – peer to peer to
networking.
Reading List:
1. Larry L Peterson, Bruce S Davis, Computer Networks, 5th Edition, Elsevier, 2012.
2. Andrew S. Tanenbaum, David J Wetherall, Computer Networks, 5th Edition, Pearson
Edu.
83 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Database Management Systems (CS255)
Course Outcomes: At the end of this course, students will be able to:
CO1 Analyze the basic web components and development environment. (Analyze)
CO2 Analyze a standard way to organize the data using XML/JSON. (Analyze)
Construct a simple interactive web application using both client side and server-
CO3 side scripting. (Apply)
CO4 Build a simple web application using RESTful web service. (Apply)
Detailed Syllabus:
Deconstructing the web from URL to website - Different types of web applications, HTML5
– Static vs Dynamic sites, HTML5: headers, Linking, Images, Image map, meta elements,
frameset, HTML forms, cascading style sheet, DHTML: object model, Event model, two
tier and Three tier architecture, tools to analyze HTTP requests.
UI design for web applications using CSS3.
Developer Tools: Introduction - Git, IDE/ Editors, Deployment, Console
Frameworks: Mean / Mern / Django
XML Basics- Structure- Elements and attributes- Namespaces- Working with DTD
Schema- Grouping elements- writing and Parsing XML Document. JSON - Introduction.
84 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
List of Experiments:
Choose a real-life application and incrementally build the full stack application as a case
study.
1. Construct a static website using basic HTML5 and CSS3
2. Design XML document for formatting, styling, and schema
3. Construct a RESTful service by utilizing Back-end application
4. Develop a full stack application and deploy using Github/Heroku
5. Simulate SQL injection
Reading List:
1. Jeffrey C. Jackson, “Web Technologies – A Computer Science Perspective”, Pearson
Education, Fourth Edition, 2012.
2. Paul Deitel, Harvey Deitel, Abbey Deitel, “Internet and World Wide Web How to
Program”, Pearson, Fifth Edition, 2011.
3. Leonard Richardson & Sam Ruby, “RESTful Web Services”, O’Reilly, 2007
4. Anthony, Accomazzo, Murray Nathaniel, Lerner Ari, “Fullstack React: The Complete
Guide to React JS and Friends”, Fullstack.io, 2017.
5. Brown, Ethan, “Web Development with Node and Express: Leveraging the JavaScript
Stack”, O'Reilly Media, 2019.
6. Dayley B., “Node.js, MongoDB, and AngularJS Web Development”, Addison-Wesley
Professional, 2014.
7. Laura Lernay, Rafe Colburn, Jennifer Kyrnir, “Mastering HTML, CSS &Javascript
Web”, BPB Publications, 2016.
85 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Operating Systems Lab (CS205)
Course Outcomes: At the end of the course the student will be able to:
Detailed Syllabus:
Assignment-1: Programs to implement error detection and correction
Task: Propose a few approaches for error correction and implement the same.
Assignment-2: Client-Server applications using inter process communication
mechanisms
a) FIFO b) Message queues c) Shared memory
Assignment-3: Implementation of routing algorithms
Task 1: Implement Distance Vector Routing and Link State Routing algorithms.
Task 2: Find MST (minimum spanning tree) and SPT (shortest path tree) for the
following graph.
G (V1, V2, W) where G is a connected undirected nonnegative weighted graph with V
as vertices, E as edges, Was Weight.
Graph
86 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
(a,c,6)
(a,b,6)
(a,d,6)
(b,d,2)
(c,d,2)
Assignment 4. Generate a forwarding table with following details
a. Number of subnets
b. Subnet mask
c. Broadcast address (Target)
d. Number of hosts per subnet
e. First Host ID
f. Last Host ID
g. Subnet address
Assignment-5: Implement ARP and RARP
Task: Assume a network of n processes, where each process is a node in the network.
Let one process maintain a table of MAC id and IP addresses of each node. Each node
knows its MAC id. Now simulate ARP through broadcast and targeted messages. Use
IPC for the communication (which one do you prefer and why?). Which Data Structure
will you use and why? Include simulation of assigning IP addresses, ARP query, and
ARP response packets. Use the standard packet structure as far as possible.
Assignment-6: Installation of Wireshark.
Task 1: Perform packet sniffing that includes basic packet capturing, filtering and
analyzing.
Task 2: Prepare a report on "observation of DHCP invocation through Wireshark"
Assignment-7: Implementation of application layer protocols
Task 1: Implement a relay-based Peer-to-Peer System using Client-Server socket
programming. In this application, you require implementing three programs, namely
Peer Client, and Relay Server and Peer Nodes, and they communicate with each other
based on TCP sockets.
Task 2: Write a client-server programming: Client has a list of words (at least 20 words)
and server has a dictionary (at least 15 entries). Client picks up a random word from its
list and sends it to server. Server responds with its meaning, if found else adds this entry
to its dictionary with its meaning.
Assignment-8: Connectionless Client-Server applications
Task: Write a client server socket programming: write a client-server hamming code
check program steps to follow:
87 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. W. Richard Stevens, UNIX Network Programming, Volume 1, Second Edition:
Networking APIs: Sockets and XTI, Prentice Hall, 1998.
88 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
89 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Operating Systems (CS202)
ii. Computer Networks (CS352)
Course Outcomes: At the end of the course, student will be able to:
Assess and exploit vulnerabilities in software and hardware platforms.
CO1 (Analyze)
CO2 Assess the systems for certain form of vulnerabilities. (Analyze)
Construct software and hardware for security evaluation of well-known
CO3 attacks. (Apply)
Construct and apply software validation and verification techniques to test
CO4 security vulnerabilities. (Apply)
Construct case studies to think like an attacker in order to expose security
CO5 vulnerabilities in software systems. (Apply)
Detailed syllabus:
Cryptography: Introduction to Security - Classifications of Attacks; Security Services;
Security Mechanisms - Mathematics of Cryptography – Stream and Block Ciphers –
Public and Private Key Cryptosystems.
Hardware Security: Hardware Trojans and Detection; PUFs - Power Analysis Attacks and
Countermeasures -Fault Attacks - Implementation Aspects of Crypto Algorithms (AES
90 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
and ECC). Micro Architectural Security Timing attacks and Covert Channels - RAM based
attacks - Cold boot.
Operating System Security: Stack Smashing Attacks - Dynamic Memory Allocation
Attacks - Format String Vulnerabilities - ROP attacks - Side Channel Attacks in Operating
Systems; Countermeasures - Non-executable stacks - Capability based Systems -
Canaries - Malware Analysis Techniques.
Reading List:
1. A. Menezes, P. Van Oorschot, S. Vanstone, Handbook of Applied Cryptography,
CRCPress, 2004.
2. Swarup Bhunia and Mark Tehranipoor, Hardware Security: A Hands-on Learning
Approach, Elsevier, 2019.
3. William Stallings and Lawrie Brown, Computer Security: Principles and Practice,
Pearson, 2017.
4. Trent Jaeger, Operating System Security, Morgan & Claypool Publishers, 2009.
91 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and Algorithms (CS201)
ii. Database Management Systems (CS255)
iii. Probability, Statistics and Stochastic Processes (MA239)
Course Outcomes: At the end of the course, the students will be able to:
Analyze Map-Reduce programming model for data-intensive applications
CO1 (Analyze)
CO2 Build a Big Data computing platform with distributed file system. (Apply)
Detailed Syllabus:
Big Data – An Introduction: Big Data - Definition, an overview of Big Data; HPC & Big
Data, Big Data Characteristics, Issues, and challenges of Big Data, Big data
Technological approaches and Potential use cases for Big Data.
92 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
MapReduce and the New Software Stack: Hadoop Framework, Hadoop echo system,
Distributed File Systems (HDFS and YARN), MapReduce, Algorithms Using MapReduce:
Matrix-vector multiplication, Matrix multiplication, Relational Algebra operations, Join
operations: optimization for join operations, theta join, skew aware join, Extensions to
MapReduce, The Communication-Cost Model, Complexity Theory for MapReduce.
Exploratory Data Analysis: Visual data analysis techniques, interaction, techniques-
Systems and applications.
In memory processing: Apache Spark, RDD programming, Spark SQL, Datasets and
Dataframes, SparkML.
Machine Learning for Big Data: Selecting, Extracting and Transforming features, Basic
statistics, ML pipelines, Supervised and Unsupervised models, Model selection and
tuning.
NoSQL: CAP Theorem, Birth of NoSQL, Key-value databases, Document databases,
Graph Databases, Column Databases, Distributed Data bases: Mango DB, Hive,
Cassandra.
Stream processing: Introduction to Streams Concepts, Stream Data Model and
Architecture, Sampling Data in a Stream, Filtering Streams, Algorithms for streams such
as Counting Distinct Elements in a Stream, Estimating Moments, Counting Ones in a
Window, Decaying Window.
List of Experiments:
1. Install Hadoop as single node and multi node cluster.
2. Implement Map Reduce algorithm Word Count to be executed on the cluster with
voluminous input data.
3. Implement Page Rank on a large web graph. (Map Reduce or Spark)
4. Implement optimized join operations on Spark (multi way and skew-aware joins)
5. Perform exploratory data analysis and visualization using Spark and MLlib.
6. Build supervised models using Spark and MLlib.
7. Build unsupervised models using Spark and MLlib.
8. Count triangles in a given graph using Neo4j.
9. Find a minimum spanning tree of a given graph using Neo4j.
10. Estimate moments of a data stream using Apache Kafka and Spark streaming.
11. Count distinct elements of a data stream Apache Kafka and Spark streaming.
Reading List:
1. Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman, “Mining of Massive Datasets”,
Cambridge Universities Press, 3rd ed, 2020.
2. David Loshin, “Big Data Analytics: From Strategic Planning to Enterprise Integration
with Tools, Techniques, NoSQL, and Graph”, Elsevier, August 23, 2013.
93 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
3. Tom White, “Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale”,
Orielly, 4th Edition, 2015.
4. Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills, “Advanced Analytics with Spark:
Patterns for Learning from Data at Scale”, Orielly, 2015.
5. Dan Sullivan, “NoSQL for Mere Mortals”, Addison-Wesley, 2015
6. https://spark.apache.org/docs/latest/api/python/pyspark.html
7. https://github.com/adamjshook/mapreducepatterns
8. https://spark.apache.org/mllib/
94 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Course outcomes: At the end of the course, the student will be able to:
CO1 Acquaint themselves with starting new ventures and introducing new
products and service ideas
CO2 Explore the processes of establishing a start-up
CO3 Develop strategies and methods to mobilize resources
CO4 Create venture capitalists, consultants to new firms or new business
development units of larger corporates
Detailed syllabus:
95 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn how to model problems as
linear/quadratic constrained optimization objectives and to solve the problems using
efficient algorithms. Students will also learn notions of convexity and its impact in realizing
efficient solutions. Further students shall be learning the concepts of solving constrained
non-linear optimization objectives.
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
Course Outcomes: At the end of the course, the student will be able to:
Formulate a given optimization scenario as a suitable linear/non-linear
CO1 constrained objective. (Analyze)
Construct efficient algorithms for solving linear programming for engineering
CO2 application scenarios. (Apply)
Construct efficient algorithms for solving quadratic optimization objectives
CO3 (Apply)
Analyze the properties of convexity and duality gap of optimization objectives.
CO4 (Analyze)
CO5 Construct efficient algorithms for constrained non-linear objectives (Analyze)
Detailed Syllabus:
Introduction: Linear and Integer Programs: Formulating real world problems as linear
and integer linear programs, formulating combinatorial optimization problems as integer
linear programs, recap of important concepts in linear algebra. Geometry of Polyhedra:
Feasible region of LPs and polyhedra
96 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
97 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn design and analysis principles for
constructing scalable parallel algorithms across various Flynn’s taxonomy of parallel
computers. The course deals with problems from both numerical and non-numerical
natures such as linear algebraic problems, graph theoretic problems, discrete
optimization search related problems, and dynamic programming algorithms.
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
Course Outcomes: At the end of the course, the student will be able to:
Analyze the resource requirements of parallel algorithms with a comprehension
CO1 of the parallel computer features and the underlying type of interconnection
network. (Analyze)
Infer the most suitable parallel algorithm among a set of candidate algorithms to
CO2 solve a given problem based on metrics such as cost, speed-up, efficiency and
scalability. (Analyze)
Construct parallel algorithms for solving numerical problems from domains like
Linear Algebra having representative problems such as matrix multiplication,
CO3
transpose, and direct and iterative methods for solving systems of linear
equations. (Apply)
Construct parallel algorithms for solving problems from non-numerical domains
CO4 like graph theory, search in discrete optimization, and monadic and polyadic
dynamic programming problems. (Apply)
Construct implementations of parallel algorithms on top of message-passing
CO5 based parallel programming frameworks like Message Passing Interface.
(Apply).
98 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction: The need for parallel computers, Models of computation (SISD, MISD,
SIMD, MIMD), Analyzing algorithms, Expressing Algorithms.
Selection and Merging: Introduction – Selection and Merging, the problem and a lower
bound, A Sequential algorithm, Desirable properties for parallel algorithms, broadcasting
a datum, Computing All Sums, An algorithm for parallel selection, A network for merging,
Merging on CREW model, Merging on the EREW model.
Sorting: Introduction, A network for sorting, Sorting on a linear array, Sorting on the
CRCW model, Sorting on CREW model, Sorting on the EREW model.
Searching: Introduction, searching a sorted sequence, EREW, CREW, CRCW
searching, searching a random sequence, Searching on SM SIMD computers, searching
on a Tree, Searching on a Mesh.
Performance Analysis: Amdahl's Law, Gustafson Barsis's law- Karp Flatt metric- Iso
efficiency metric.
Numerical problems and implementation: Matrix operations, Transposition, Mesh
Transpose, Shuffle Transpose, EREW Transpose, Matrix by Matrix multiplication, Mesh
multiplication, Cube multiplication, CRCW multiplication, Matrix by Vector multiplication,
Linear Array multiplication, Tree multiplication, Convolution, solving systems of linear
equations (SIMD/MIMD), Finding roots of non-linear equations.
Graph Theory: connectivity matrix computation, finding connected components,
computing all-pair shortest paths, minimum spanning trees, Traversals: Parallelizing
breadth first and depth first searches.
Optimization problems: Job sequencing with deadlines, Knapsack problem.
MPI primitives with case-studies on implementation of parallel algorithms.
Reading List:
1. S.G. Akl, “The design and analysis of parallel algorithms”, Prentice Hall of India, 1989.
2. Michael Jay Quinn, “Parallel programming in C with MPI and OpenMP”, McGraw-Hill
Higher Education, 2004.
3. S. Lakshmivarahan and S.K. Dhall, “Analysis and design of parallel algorithms –
Arithmetic and Matrix problems”, McGraw Hill, 1990.
99 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn how to model problems as graph-based
problems and to solve the problem. Students will also learn standard graph algorithms
and notions in this course across a spectrum of problems from the conventional spanning
trees, network flows to the contemporary social network analytics.
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Formulate a given problem as a suitable graph-theoretic problem. (Analyze)
Construct efficient algorithms for standard graph-theoretic problems with an
CO2 analysis of their time and space requirements. (Apply)
Construct an algorithm to solve a given graph-theoretic problem by applying a
CO3 standard graph theoretic algorithm in isolation or by combining multiple
standard algorithms in a pipeline. (Analyze)
Analyze the properties of a given social network using standard graph-
CO4 theoretic notions and algorithms. (Analyze)
Construct and analyze algorithms for solving network-flow-based problems
CO5 with a comprehension of the relationship between cuts and flows. (Analyze)
Detailed Syllabus:
Basic definitions and notions in Graph theory, Representation of graphs – a review,
Motivational examples for graphs: Web search engines and page rank algorithm, Web
crawlers and social networks.
100 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Douglas B. West, Introduction to Graph Theory, Second Edition, Pearson, 2000.
2. M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, First Edition,
Academic Press, 1997.
3. R. J. Wilson and J. J. Watkins, Graphs: An Introductory Approach, First Edition,
Wiley, 1990.
101 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and Algorithms (CS201)
Course Outcomes: At the end of the course, the student will be able to:
Construct Double Ended Heap structures and Heaps of optimal Complexity.
CO1
(Apply)
CO2 Construct a suitable hashing method to facilitate efficient searching. (Apply)
Construct a suitable data structure for computational Geometry problems.
CO3
(Apply)
Construct a suitable data structure for representing sets of Intervals namely
CO4
Segment Trees, Orthogonal Range Trees. (Apply)
Construct suitable data structures for representing strings for efficient search
CO5
and retrieval operations. (Apply)
Construct suitable persistent and dynamic data structures for solving a given
CO6
complex engineering problem. (Apply)
CO1 S M L S S
CO2 S M L S S
CO3 S M L S S
CO4 S M L S S
CO5 S M L S S
CO6 S M L S S
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
102 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
103 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
ii. Database Management Systems (CS255)
iii. Database Management Systems Lab (CS257)
Course Outcomes: At the end of the course, the student will be able to:
Detailed Syllabus:
Introduction:
Business Intelligence, Analytics, and Decision support: Business Environments and
Computerized Decision Support, Managerial Decision Making, Information Systems
Support for Decision Making, Framework for Computerized Decision Support, Decision
Support Systems, Framework for Business Intelligence, Business Analytics
104 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Foundations and technologies for Decision Making: Decision Making, Phases of the
Decision-Making Process, Decision Making: Phases, Support for Decision Making,
Decision Support Systems: Capabilities, Classifications, Components.
Data Warehousing: Definitions and Concepts, Process Overview, Architectures, Data
Integration and the Extraction, Transformation, and Load (ETL) Processes, Data
Warehouse Development, Data Warehousing Implementation, Real-Time Data
Warehousing, Data Warehouse Administration, Security Issues, and Future Trends
Business Reporting, Visual Analytics, and Business Performance Management:
Business Reporting Definitions and Concepts, Data and Information Visualization,
Different Types of Charts and Graphs, Visual Analytics, High-Powered Visual Analytics
Environments, Performance Dashboards, Business Performance Management,
Performance Measurement, Balanced Scorecards, Six Sigma as a Performance
Measurement System.
Business Analytics: Emerging trends and Future Impacts
Location-Based Analytics for Organizations, Analytics Applications for Consumers,
Recommendation Engines, Web 2.0 and Online Social Networking, Cloud Computing and
BI, Impacts of Analytics in Organizations, Issues of Legality, Privacy, and Ethics, Analytics
Ecosystem
Reading List:
1. Ramesh Sharda, Dursun Delen, Efraim Turban, Business Intelligence and Analytics
Systems for Decision Support, 10th Edition, Pearson Education, 2014
2. Howson, C, Successful Business Intelligence: Secrets to Making BI" a Killer app.
McGraw - Hill, 2007.
3. David Loshin, Business Intelligence - The Savy Manager's Guide Getting Onboard
with Emerging IT, Morgan Kaufmann Publishers, 2009
105 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
ii. Database Management Systems (CS255)
iii. Database Management Systems Lab (CS257)
Course Outcomes: At the end of the course, the student will be able to:
CO3 Summarize effectively which patterns of the graph stand out. (Apply)
CO4 Analyze the large-scale data that is derived from social networks (Analyze)
Detailed Syllabus:
Sequential Pattern Mining concepts: Frequent and Closed Sequence Patterns:
Sequential Patterns, GSP: An Apriori-like Method, PrefixSpan: A Pattern-growth, Depth-
first Search Method, Mining Sequential Patterns with Constraints, Mining Closed
Sequential Patterns;
Classification, Clustering, Features and Distances of Sequence Data: Three Tasks
on Sequence Classification/Clustering, Sequence Features, Distance Functions over
Sequences, Classification of Sequence Data, Clustering Sequence Data.
Mining Data Streams: The Stream Data Model, Sampling Data in a Stream, Filtering
Streams, Counting Distinct Elements in a Stream, Estimating Moments, Counting Ones
in a Window, Decaying Windows
106 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. 1 G Dong and J Pei, Sequence Data Mining, Springer, 2007
2. Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman “Mining of Massive Datasets”,
Cambridge University Press, 2014
3. Dunham, Margaret H., Data Mining: Introductory and Advanced Topics, Prentice
Hall PTR, USA, 2002.
4. Deepayan Chakrabarti, Christos Faloutsos, Graph mining laws tools and case
studies, Morgan and Claypool, 2012.
107 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Artificial Intelligence (CS303)
Course Outcomes: At the end of the course, the student will be able to:
Constructing learning objectives and associated algorithms for Regression and
CO1 Classification using Probabilistic Approaches (Apply)
Detailed Syllabus:
Review: Basics of Linear Algebra, Probability Theory and Optimization: Vectors,
Inner product, Outer product, Inverse of a matrix, Eigenanalysis, Singular value
decomposition, Probability distributions – Discrete distributions and Continuous
distributions; Independence of events, Conditional probability distribution and Joint
probability distribution, Bayes theorem, Unconstrained optimization, Constrained
optimization – Lagrangian multiplier method.
Dimensionality Reduction Techniques: Principal component analysis, Fisher
discriminant analysis, Multiple discriminant analysis, Probabilistic PCA, Feature
Reduction: case study
108 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. C.M.Bishop, Pattern Recognition and Machine Learning, Springer, 2006
2. R.O.Duda, P.E.Hart and D.G.Stork, Pattern Classification, John Wiley, 2001
3. S. Theodoridis and K. Koutroumbas, Pattern Recognition, Academic Press, 2009
4. E. Alpaydin, Introduction to Machine Learning, Prentice-Hall of India, 2010
5. G. James, D. Witten, T. Hastie and R. Tibshirani, Introduction to Statistical
Learning, Springer, 2013.
6. Charles Sutton and Andrew McCallum. 2012. An Introduction to Conditional
Random Fields. Found. Trends Mach. Learn. 4, 4 (April 2012), 267–373.
7. L. R. Rabiner, "A tutorial on hidden Markov models and selected applications in
speech recognition," in Proceedings of the IEEE, vol. 77, no. 2, pp. 257-286, Feb.
1989, doi: 10.1109/5.18626.
109 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and Algorithms (CS201)
ii. Probability, Statistics and Stochastic Processes (MA239)
Course Outcomes: At the end of the course, the students will be able to:
CO1 Perform language modelling with n-grams (apply)
CO2 Build a text classification model and evaluate its performance (apply)
CO3 Use word vectors and neural models to build text-based applications (apply)
CO4 Apply sequence labelling to perform POS and NER tagging (apply)
Detailed Syllabus:
Introduction, Regular Expressions, Text Normalization, and Edit Distance.
N-Gram Language Models, Evaluating Language Models, Generalization and Zeros,
Smoothing, Perplexity’s Relation to Entropy.
Spelling Correction and the Noisy Channel.
Naive Bayes and Sentiment Classification: Naive Bayes Classifiers: training, example,
Optimizing for Sentiment Analysis, Naive Bayes for other text classification tasks, Naive
Bayes as a Language Model, Evaluation: Precision, Recall, F-measure, Statistical
Significance Testing.
Vector Semantics and Embeddings, Lexical Semantics, Vector Semantics, Words, and
Vectors: Cosine similarity, TF-IDF, Pointwise Mutual Information (PMI), Applications,
110 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Daniel Jurafsky and James H. Martin, “Speech and Language Processing”, 3rd ed,
2021, https://web.stanford.edu/~jurafsky/slp3/
2. James Allen “Natural Language Understanding”, Pearson Education, 2003
3. Christopher D.Manning and Hinrich Schutze, “ Foundations of Statistical Natural
Language Processing “, MIT Press, 1999.
4. Daniel Jurafsky and James H. Martin, “Speech and Language Processing”, Pearson,
2008.
5. Charniack, Eugene, “Statistical Language Learning”, MIT Press, 1993.
111 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will gain a broad comprehension of the
importance of computation in statistics and machine learning. Focus of this course will be
on the mathematical and statistical underpinnings of why and how seminal modern
statistical methods and inference works.
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
ii. Differential and Integral Calculus (MA101)
iii. Matrices and Differential Equations (MA151)
Course Outcomes: At the end of the course, the student will be able to:
Apply theorems and probability axioms in constructing statistical models and
CO1 inferring their parameters. (Apply)
112 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CO6 M M L M M M
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Probability:
Review: Probability (Sample spaces, Conditional probability, independent events, Bayes’
theorem).
Review: Random variables (Distribution and probability functions, Discrete and
continuous random variables, Bivariate, Marginal and conditional distributions,
Multivariate distributions and IID samples, Expectation, Variance, Covariance,
Conditional expectation, Moment generating functions).
Probability Inequalities, Convergence types of Random variables, Law of large numbers,
Central limit theorem, The Delta method, L1 Convergence.
Statistical Inference:
Parametric and non-parametric models, Point estimation, Confidence sets, Hypothesis
testing a review.
CDF estimation, Statistical functionals, Bootstrap: Simulation, Variance estimation,
Confidence intervals, Percentile intervals.
Parametric inference: Method of moments, Maximum likelihood estimators: Properties,
Consistency and Equivariance, Asymptotic normality, Optimality, Multiparameter models,
Parametric bootstrap, Sufficiency, Exponential families and Conditional maximum
likelihood estimators. Case study on Noise Contrastive Estimation.
Hypothesis testing and p-values: Wald test, Chi-square distribution, Pearson’s Chi-
square test for multinomial data, Permutation test, Likelihood ratio test, Multiple testing,
Goodness-of-fit tests.
Bayesian Inference: Functions of parameters, Simulation, Large sample properties of
Bayes’ procedures, Flat priors, improper priors and non-informative priors,
Multiparameter problems, Bayesian testing, Strengths and weaknesses of Bayesian
inference.
Statistical Processes and Methods:
Stochastic Processes: Markov processes, Poisson processes.
Stochastic optimization: Robbins-Monro and Kiefer-Wolfowitz algorithms, simulated
annealing, stochastic gradient methods.
Simulation methods:
Monte Carlo methods: Rejection sampling, importance sampling, variance reduction
methods (Rao-Blackwellization, stratified sampling).
Reading List:
1. Larry Wasserman, All of Statistics, First Edition, Springer-Verlag, 2004.
113 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
114 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Software Engineering (CS351)
Course Outcomes: At the end of the course the student will be able to:
Apply agile methodology and agile process to create high quality software.
CO1 (Apply)
PO/ P P P
PSO P P P P P P P P P P P P S S S
O O O O O O O O O O O O O O O
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
CO
CO1 M M L M M L L L M M M L S M
CO2 M M M S M L L L M M M L S M
CO3 M M M S M L L L M M M L S M
CO4 M M L S S L L L M M M L M M
CO5 M M L M L L L L M M M L S M
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Agile Methodology: Theories for Agile Management, Agile Software Development – Traditional
Model vs. Agile Model, Classification of Agile Methods, Agile Manifesto and Principles, Agile Project
Management, Agile Team Interactions, Ethics in Agile Teams, Agility in Design, Testing, Agile
Documentations, Agile Drivers, Capabilities and Values.
Agile Process: Lean Production - SCRUM, Crystal, Feature Driven Development- Adaptive
Software Development - Extreme Programming: Method Overview – Lifecycle – Work Products,
Roles and Practices.
Agile Knowledge Sharing – Role of Story-Cards – Story-Card Maturity Model (SMM).
Agility and Requirements Engineering: Impact of Agile Processes in RE, Current Agile Practices,
Variance, Overview of RE Using Agile, Managing Unstable Requirements, Requirements
Elicitation, Agile Requirements Abstraction Model, Requirements Management in Agile
115 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. David J. Anderson and Eli Schragenheim, Agile Management for Software
Engineering: Applying the Theory of Constraints for Business Results, Pearson,
2003.
2. Hazza and Dubinsky, Agile Software Engineering, Springer, 2009 th edition, 2008.
3. Craig Larman, ―Agile and Iterative Development, Addison-Wesley, First Edition,
2003.
116 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Software Engineering (CS351)
Course Outcomes: At the end of the course the student will be able to:
CO1 Analyze various test processes and continuous quality improvement. (Analyze)
Classify and analyze types of bugs, errors and faults based on severity levels.
CO2 (Analyze)
CO3 Model the behaviour of the software application using FSM. (Apply)
Apply software testing techniques suitable to the environment used for building
CO4 the software. (Apply)
Identify the suitable testing tools for an application to generate reports using
CO5 that tool. (Analyze)
White Box Approach to Test design: testing, Test Adequacy Criteria, static testing vs.
structural adequacy criteria based on control flow, principles of mutation testing,
equivalent mutants, fault detection using mutation, Test assessment using mutation.
Test Management: People and organizational issues in testing, Organization structures
for testing teams, testing services, Test Planning, Test Plan Components, Test Plan
Attachments, Locating Test Items, test management, test process, Reporting Test
Results, Introducing the test specialist Test Automation Skills needed by a test specialist,
Building a Testing Group.
Software Test Automation: Software test automation, skill needed for automation,
scope of automation, design and architecture for automation, requirements for a test tool,
challenges in automation, Test metrics and measurements, project, progress and
productivity metrics.
Reading List:
1. Aditya P. Mathur “Foundations of Software Testing”, Second Edition, Pearson 2014.
2. Srinivasan Desikan, Gopalaswamy Ramesh, “Software testing Education, principles
and practices”, First Edition, Pearson Education, 2009
3. Naresh Chauhan, Software Testing, Principles and practices, Oxford Press, Second
Edition, 2016.
118 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Object Oriented Programming (CS251)
Course Outcomes: At the end of this course, students will be able to:
Analyze common design patterns in the context of incremental/iterative
CO1
development (Analyze)
CO2 Evaluate software source code using patterns (Evaluate)
CO3 Analyze software design practices through design patterns (Analyze)
CO4 Implement the design patterns in an object-oriented language (Apply)
Apply various design pattern strategies to design an appropriate solution for the
CO5
problem (Apply)
Detailed Syllabus:
Design Pattern, Architectural Design Patterns, Describing Design Patterns, The Catalog
of Design patterns, selecting a Design Pattern, Using Design Patterns for Design
problems
Architectural Patterns -- Layered architecture, Pipers and Filters, Blackboard, Broker,
MVC, MVVM, Micro-Kernel, Master-Slave, PAC, others.
Creational Patterns: Singleton, Abstract Factory, Builder, Factory Method, Prototype,
Implementation in various languages like Python, Java.
Structural Pattern Part – I: Adaptor, Bridge, and Composite.
Structural Pattern Part – II: Decorator, Arcade, Flyweight, Proxy.
Behaviour Patterns Part – I: Chain of Responsibility, Command, Interpreter, and Iterator.
119 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates “Head First Design
Patterns”, O'Reilly, 2020.
2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides “Design Patterns:
Elements of Reusable Objectoriented Software” Addison-Wesley.
3. Mark Grand, “Patterns in JAVA Vol-I”, Wiley Dream Tech.
4. Mark Grand, “Patterns in JAVA Vol – II”, Wiley Dream Tech.
5. Mark Grand, “JAVA Enterprise Design Patterns Vol – III”, Wiley Dream Tech.
6. Rahul Verma, Chetan Giridhar, “Design patterns in Python”,Testing Perspective,
2011.
7. Martin Fowler, with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and
Randy Stafford, “Patterns of Enterprise Application Architecture”, 1st Edition,
Addison-Wesley
120 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Computer Networks (CS352)
ii. Introduction to algorithmic thinking and programming (CS101)
Course Outcomes: At the end of the course the student will be able to:
Analyze the protocol Stack for Internet of Things to address the heterogeneity in
CO1 devices and networks. (Analyze)
Construct smart IoT Applications using smart sensor devices and cloud systems.
CO2 (Apply)
PO/ P P P P P P P P P P P P P P P
PSO O O O O O O O O O O O O S S S
1 2 3 4 5 6 7 8 9 10 11 12 O O O
CO 1 2 3
CO1 S S S M S S S
CO2 S M L S S M
CO3 S M L S S M
CO4 S M L S S M
Detailed syllabus:
Introduction to IoT - Sensing, Actuation, Basics of Networking - Communication Protocols
Sensor Networks - Machine-to-Machine Communications - Interoperability in IoT,
Introduction to Arduino Programming - Integration of Sensors and Actuators with Arduino
-Introduction to Raspberry Pi, Implementation of IoT with Raspberry Pi - Introduction to
SDN, SDN for IoT - Data Handling and Analytics - Security of IoT; Cloud Computing -
Cloud databases and services - Introduction to Edge Computing - Edge Architectures and
Deployment Modes – Edge Computing Applications.
Reading List:
1. Arshdeeep Bahga, Vijay Madisetti, Internet of Things: A Hands-on
Approach, Universities Press, 2015
121 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
122 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
This course introduces the need for randomized algorithms and the different design
paradigms for constructing randomized algorithms. The Course will also emphasize on
analyzing the expected time complexity and the nature and bounds on the error
probabilities of the randomized algorithms.
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
ii. Discrete Mathematics (CS203)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Construct and Analyze algorithms using a probabilistic framework. (Analyze)
Assess the computational hardness of a problem with a comprehension of the
CO2 randomized complexity classes. (Analyze)
Construct Las Vegas algorithms for a given problem and compute the
CO3 expected running time. (Analyze)
Construct Monte-Carlo algorithms for a given problem and compute the
CO4 probability of getting an incorrect output. (Analyze)
Design and analyze solutions for complex problems using randomization
design paradigms like Foiling the Adversary, Abundance of Witnesses,
CO5 Fingerprinting, Random Sampling, Amplification and Random Rounding.
(Analyze)
Detailed Syllabus:
Introduction to Randomized Algorithms: Review on Algebra, Number theory,
Combinatorics and Probability theory, Probabilistic analysis of Algorithms, Randomized
Complexity classes and hardness of problems, Randomness as a source of efficiency-
123 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Juraj Hromkovic– Design and Analysis of Randomized Algorithms, First edition,
Springer, 2005.
2. Randomized Algorithms – Rajeev Motwani, Prabhakar Raghavan, Cambridge
University Press, 1995.
3. Introduction to Algorithms –Charles E. Leiserson, Thomas H.
Cormen, Ronald L. Rivest and Clifford Stein, third edition, PHI, 2010.
124 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
This course introduces the techniques of analytical modeling such as Markov chains, and
queuing models, experimental designs, and discrete event simulations for modeling a
computing system or its component and to analyze its performance with respect to well-
defined metrics.
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
Course Outcomes: At the end of the course, the student will be able to:
Formulate performance models for a given computer and a communication
CO1 system by applying modeling techniques like Markov Chains, Queuing theory
and Queue networks. (Apply)
Design experiments to measure the performance of a computer system with
CO2 an understanding of the appropriate performance metrics to be used. (Apply)
CO3 Model, characterize and reproduce workloads to a computer system. (Apply)
Construct discrete event simulation models for a computer system and
CO4 analyze the simulation results. (Analyze)
Analyze, present, and interpret the experimental results to evaluate alternative
CO5 system implementations. (Analyze)
CO2 S M M S M
CO3 S M M S M
CO4 S S M S M
CO5 S S M S M
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Overview of Performance Modeling: introduction, Avoiding common mistakes,
Selection of techniques and metrics.
125 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Raj Jain, "The Art of Computer Systems Performance Analysis: Techniques for
Experimental Design, Measurement, Simulation, and Modeling", Wiley, 2015.
2. Mor Harchol-Balter, Performance Modeling and Design of Computer
Systems: Queueing Theory in Action, Cambridge University Press, 2013.
126 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn how to solve standard distributed
computing problems. Students will also learn consensus algorithms. Further students
shall also learn designing widely used algorithms for map-reduce/spark paradigms of
distributed computing.
Pre-requisites:
i. Artificial Intelligence (CS303)
Course Outcomes: At the end of the course, the student will be able to:
Construction, analysis and evaluation of learning objectives for Regression
CO1 (Analyze)
Analyze efficiency large scale matrix factorizations for different data science
CO2 scenarios (Analyze)
Apply basic machine learning algorithms (Linear Regression, k-Nearest
CO3 Neighbors (k-NN), k-means, Naive Bayes) for predictive modeling (Apply)
Detailed Syllabus:
Basics of Optimization in Data Science: Linear Programming Objectives, Primal-Dual
Methods, Quadratic Programming, Convex Optimization, Gradient Descent, Adaptive
Learning Rate, Quasi Newton’s method, Constrained Optimization, KKT Conditions for
Optimization Problems
127 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Avrim Blum, John Hopcroft, and Ravindran Kannan: Foundations of Data Science
Cambridge University Press, 2020
2. Jianqing Fan, Runze Li, Cun-Hui Zhang, Hui Zou Statistical Foundations of Data
Science, CRC Press 2020
3. Jure Leskovec, Anand Rajaraman, Jeff Ullman: Mining of Massive Datasets,
Cambridge University Press, 2016
4. G. Strang. Introduction to Linear Algebra, Wellesley-Cambridge Press, Fifth edition,
USA, 2016
5. Relevant Research articles shared by the instructor
128 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn how to solve standard distributed
computing problems. Students will also learn consensus algorithms. Further algorithms
for global knowledge, recording distributed snapshots, distributed mutual exclusion with
an emphasis to reduce communication cost are also studied.
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
Course Outcomes: At the end of the course, the student will be able to:
Construct efficient distributed algorithms for standard graph-theoretic problems
CO1
with an analysis of their time, space and communication requirements (Apply)
Constructing efficient distributed algorithms for achieving stable properties
CO2
(Apply)
Analyze the properties of various algorithms for fault tolerance/ consenses
CO3
(Analyze)
Construct and analyze algorithms for solving distributed mutual exclusion.
CO4
(Apply)
Analyze the properties of distributed transaction processing/ concurrency
CO5
algorithms (Apply)
Detailed Syllabus:
Taxonomy of distributed systems, Failure Detection, Clocks and Time, Logical Time,
Distributed Consistency Models,
Leader election in rings. Basic computational tasks in general synchronous networks:
leader election. Breadth-first search. Shortest Path Algorithms, Floyd-Warshal’s
Algorithm, Minimal Spanning Trees, Maximal Independent Sets,
129 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Fault-tolerant consensus, Link failures: the two generals’ problem. Process failures
(stopping, Byzantine). Algorithms for agreement with stopping and Byzantine failures.
PBFT, Paxos, zookeeper, RAFT, A case study of Bitcoin consensus
Reading List:
1. A. Kshemkalyani and M. Singhal, Distributed Computing:Principles, Algorithms, and
Systems Cambridge University Press 2008 ISBN: 978-0-521-87634-6
2. Lynch, Nancy. Distributed Algorithms. Burlington, MA: Morgan Kaufmann, 1996.
ISBN:9781558603486.
3. Michel Raynal Distributed Algorithms for Message-Passing Systems ISBN 978-3-
642-38122-5 © Springer-Verlag Berlin Heidelberg 2013
4. A Guided Tour on the Theory and Practice of State Machine Replication, Alysson
Neves Bessani and Eduardo Alchieri Book Chapter
5. Relevant Research articles shared by the instructor.
130 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
ii. Artificial Intelligence (CS303)
Course Outcomes: At the end of the course, the students will be able to:
CO1 Formulate a given problem as a reinforcement learning problem (Apply)
CO2 Evaluate feedback of RL in a non-associative setting (Apply)
Apply basic RL algorithms for simple sequential decision-making problems in
CO3
uncertain conditions (Apply)
Construct RL systems for Planning through the use of Dynamic Programming
CO4
and Monte Carlo (Apply)
CO5 Construct RL agents using TD learning and Function approximation. (Apply)
Detailed Syllabus:
Introduction and Scope. Elements of Reinforcement Learning, RL comparison to other
Machine Learning approaches, Examples of modeling through RL. Review of Probability.
Multi-armed Bandits. A k -armed Bandit Problem, Action-value Methods, the 10-armed
Testbed, Incremental Implementation, Tracking a Nonstationary Problem, Optimistic
Initial Values, Upper-Confidence-Bound Action Selection, Gradient Bandit Algorithms,
Associative Search (Contextual Bandits).
131 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning: An Introduction",
2nd Edition, MIT Press, 2020, http://incompleteideas.net/book/RLbook2020.pdf
2. Kevin P. Murphy, "Machine Learning: A Probabilistic Perspective", MIT Press, 2012,
https://probml.github.io/pml-book/book0.html
132 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Artificial Intelligence (CS303)
ii. Artificial Intelligence Lab (CS304)
Course Outcomes: At the end of the course, the student will be able to:
Develop a model for the system using fuzzy modeling and analyze few
CO1 paradigms for making decisions within a fuzzy environment. (Analyze)
Detailed Syllabus:
Fuzzy systems: Introduction
Automated Methods for Fuzzy Systems:
Definitions, Batch Least Squares Algorithm, Recursive Least Squares Algorithm,
Gradient Method, Clustering Method, Learning from Examples
Decision Making with Fuzzy Information: Fuzzy Synthetic Evaluation, Fuzzy Ordering,
Nontransitive Ranking, Preference and Consensus, Multi-objective Decision Making,
Fuzzy Bayesian Decision Method, Decision Making Under Fuzzy States and Fuzzy
Actions
Fuzzy Classification: Classification by Equivalence Relations, Cluster Analysis, Cluster
Validity, c-Means Clustering, Hard c-Means, Fuzzy c-Means, Classification Metric,
Hardening the Fuzzy c-Partition, Similarity Relations from Clustering
133 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Fuzzy Pattern Recognition: Feature Analysis, Partitions of the Feature Space, Single-
Sample Identification, Multi-feature Pattern Recognition, Image Processing
Introduction to Optimization: Finding the Best Solution, Minimum-Seeking Algorithms,
Natural Optimization Methods, Biological Optimization: Natural Selection, The Genetic
Algorithm, Binary Genetic Algorithm, Continuous Genetic Algorithm
Natural Optimization Algorithms: Simulated Annealing, Particle Swarm Optimization
(PSO), Ant Colony Optimization (ACO), Genetic Programming (GP), Cultural Algorithms,
Evolutionary Strategies
Reading List:
1. Timothy J. Ross, Fuzzy Logic with Engineering Applications, 3 rd Edition, Willey,
2010.
2. S. Haykin, Neural Networks and Learning Machines, 3 rd Edition, Pearson Education,
2009.
3. Practical Genetic Algorithms, Randy L. Haupt and sue Ellen Haupt, John Willey &
Sons, 2002.
134 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CO3 Construct algorithms for learning the structure and parameters of probabilistic
graphical models. (Apply)
Detailed Syllabus:
Introduction and Motivation: Probabilistic Graphical Models, Representation, Inference
and Learning.
Representation:
135 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
136 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Applied Machine Learning (CS373)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Formulate basic knowledge, theories and methods in image processing and
computer vision (Apply)
Apply appropriate image processing methods for image filtering, image
CO2 restoration, image reconstruction, segmentation, classification and
representation (Apply)
CO3 Assess Recurrent Neural Networks working for solving problems in image
processing. (Evaluate)
CO4 Analyze existing practical Attention models (Analyze)
CO5 Develop Deep Generative Models solve real-world problems (Create)
CO2 S M M L S M L
CO3 S S M L S M L
CO4 S S M L S M L
CO5 S S S M S S S
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Introduction and Overview:
Introduction to Image Formation, Capture and Representation; Linear Filtering,
Correlation, Convolution, Visual Features and Representations: Edge, Blobs, Corner
Detection, Scale Space and Scale Selection; SIFT, SURF, HoG, LBP, etc. Visual
Matching: Bag-of-words, VLAD. (Introductory level)
Deep Learning:
137 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
138 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Database Technology has evolved over past four decades bringing immense value
among practitioners. The objective of this course is familiarizing the students with internal
details of Database System implementation to make them realize the importance of
design choices in the evolution of the architectures of DBMS. Further this course aims at
understanding storage formats suitable for big-data/In-Memory database platforms for
hybrid query workloads.
Pre-requisites:
i. Database Management Systems (CS255)
ii. Operating Systems (CS202)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Analyse the tradeoffs in the design of Database Management Systems (Apply)
CO2 Designing efficient indexing schemes for In-Memory DBMS(Apply)
CO3 Analysing storage models for varying data processing workloads (Apply)
Designing Efficient Query Optimization strategies for large-scale parallel joins
CO4
(Apply)
Analysing Multi-Version Concurrency in large-scale in-memory database
CO5
systems (Apply)
Detailed Syllabus:
Introduction and History of Databases,
In-Memory Databases: Concurrency in large parallel databases, Multi-Version
Concurrency Control: Design Tradeoffs, Garbage Collection, Design of Protocols,
Scheduling
Indexing Structures in DBMS: Concurrency in B+ Tree, Bw-Tree, Radix Trees, Hash
Tables, Trie, Multi-Dimensional Indexing.
139 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Storage Models: Data Layout, Optimal Column layout for hybrid workloads, Row-Storage
vs Columnar Storage, Compression, Integration of compression and execution in
columnar dbms.
Reading List:
140 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
141 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Computer Networks (CS352)
Course Outcomes: At the end of the course, the student will be able to:
Differentiate Wired and Wireless Technologies in selection of suitable
CO1
technology for given requirements. (Analyze)
CO2 Implement suitable Wireless Local loop Technology. (Apply)
CO3 Apply suitable techniques in the selection of CDMA or TDMA. (Apply)
Apply suitable techniques in selection of suitable satellite parameters and
CO4
configurations. (Apply)
CO5 Apply suitable IEEE standard in selection of Wireless LAN technology. (Apply)
Analyze different IEEE Medium Access Control protocols and choose a
CO6
suitable one for given requirements. (Analyze)
Detailed Syllabus:
Technical Review- Fundamentals: Transmission Fundamentals, Signals for Conveying
Information, Analog and Digital Data Transmission, Channel Capacity, Transmission
Media.
Multiplexing Communication Networks: LANs, MANs, and WANs, Switching Techniques,
Circuit Switching, Packet Switching.
Asynchronous Transfer Mode Protocols and the TCP/IP Suit: The Need for a Protocol
Architecture, The TCP/IP Protocol Architecture, The OSI Model, Internetworking.
142 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. W. Stallings, "Wireless Communications and Networks", Second Edition,Pearson
Education, 2002.
2. T S Rappaport, "Wireless Communications: Principles & Practice", Second Edition,
Pearson Education, 2002.
3. J Schiller, "Mobile Communications", Second Edition,Addison Wesley, 2000.
4. V K Garg, "IS-95 CDMA and CDMA2000", First Edition,Prentice Hall PTR, 2007.
143 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Object Oriented Programming (CS251)
Course Outcomes: At the end of the course the student will be able to:
145 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Computer Networks (CS352)
ii. Operating Systems (CS202)
Course Outcomes: At the end of this course, students will be able to:
Illustrate the basic principles of Cloud Computing, technologies, architectures
CO1 and implementation. (Apply)
Construct solutions for complex engineering problems using Cloud with a
CO2 comprehension of the principles of cloud virtualization, cloud storage, data
management and data visualization. (Apply)
Apply different cloud programming platforms and tools to develop and deploy
CO3 applications on cloud (Apply)
Construct suitable service and resource management and provisioning
CO4 schemes for cloud with a comprehension of the techniques for task
scheduling, load balancing and service tolerance. (Apply)
Construct cloud-based applications with an objective to minimize and control
CO5 authentication, confidentiality and privacy issues. (Apply)
Detailed Syllabus:
Introduction: Overview of Computing paradigm: Grid computing, Cluster computing,
Distributed computing, Utility computing, P2P computing and so forth, Cloud
Fundamentals: Cloud definition, Evolution, System models for cloud computing: Benefits,
146 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Cloud Infrastructure/Architecture:
Study of Cloud computing Systems like Amazon EC2 and S3, Google App Engine, and
Microsoft Azure, Build Private/Hybrid Cloud using open-source tools, Deployment of Web
Services from Inside and Outside a Cloud Architecture. MapReduce and its extensions
to Cloud Computing, HDFS, and GFS
Cloud Resource Virtualization:
Introduction to virtualization: Different approaches to virtualization Hypervisors, Machine
Image Virtual Machine (VM), Process VM vs System VM, Resource virtualization: Server,
Storage, Network Full Virtualization Vs Para Virtualization Operating System, Operating
System support for Virtualization, Virtual Machine (Resource), Provisioning and
Management, VM Placement, VM migration.
Cloud Resource Management and Scheduling:
Policies and mechanism for resource management, Application of control theory to cloud
resource allocation, Stability of a two-level resource allocation architecture, Proportional
thresholding, A utility-based model for cloud-based web-based services, Scheduling
algorithms for computing clouds: Fair queuing, Start Time fair queuing, borrowed virtual
time, cloud scheduling subject to deadlines scheduling, Map Reduce Application: Subject
to deadlines
Storage System:
Storage models, File Systems and databases, Distributed file systems, General Parallel
file system, Google file system, Apache Hadoop, Transaction Processing and NOSQL
Databases, Bigtable, Megastore
Cloud Security:
Vulnerability Issues and Security Threats, Application-level Security, Data level Security,
and Virtual Machine level Security, Infrastructure Security, and Multi-tenancy Issues. IDS:
host-based and network-based, Security-as-a-Service. Trust Management, Identity
Management, and Access Controls Techniques
Reading List:
1. Marinescu, Dan C. “Cloud computing: theory and practice”. Morgan Kaufmann
Elsevier, 2022.
2. Buyya, Rajkumar, Christian Vecchiola, and S. Thamarai Selvi. “Mastering cloud
computing: foundations and applications programming”, McGraw Hill, 2013.
3. Sosinsky Barrie. “Cloud computing bible”, John Wiley & Sons, 2010 Dec 10.
4. Miller, Michael. “Cloud computing: Web-based applications that change the way
you work and collaborate online”, Que publishing, Pearson Education, 2008.
5. Mather, T., Kumaraswamy, S., & Latif, S. (2009). “Cloud security and privacy: an
enterprise perspective on risks and compliance”, O'Reilly Media, Inc., 2009.
147 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
None
Course Outcomes: At the end of the course, the student will be able to:
Familiarize the functional/operational aspects of cryptocurrency eco-system.
CO1
(Apply)
CO2 Design Smart Contracts for different application scenarios (Apply)
Analyze different consensus algorithms used in the design of blockchains
CO3
(Apply)
Design Blockchain solutions to address Privacy and Anonymity in transaction
CO4
networks (Apply)
Implement smart-contract based solutions for different application scenarios
CO5
using Ethereum (Apply)
Detailed Syllabus:
Cryptographic basics for cryptocurrency - a short overview of Hashing, signature
schemes, encryption schemes and elliptic curve cryptography
Bitcoin - Wallet - Blocks - Merkley Tree - hardness of mining - transaction verifiability -
anonymity - forks - double spending - mathematical analysis of properties of Bitcoin.
Ethereum - Ethereum Virtual Machine (EVM) - Wallets for Ethereum - Solidity - Smart
Contracts - some attacks on smart contracts, Attacks on Ethereum smart contracts,
Merkle Trie data structure for Ethereum, Mining in ethereum
Nakamoto Consensus on permission-less, nameless, peer-to-peer network, Selfish
Mining, Known attacks on Bitcoin
148 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
149 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Computer Networks (CS352)
Course Outcomes: At the end of the course, student will be able to:
Assess the suitable cryptographic techniques and number theory concepts to
CO1
design network security protocols. (Analyze)
CO2 Constrcut secure protocols using cryptographic algorithms. (Apply)
CO3 Assess system vulnerabilities of communication protocols. (Analyze)
CO4 Analyze various types of security systems and applications. (Analyze)
CO5 Develope robust applications and analyze its security. (Apply)
150 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. William Stallings, Cryptography and Network Security, 6 th edition Pearson Education,
2014
2. A. Menezes, P. Van Oorschot, S. Vanstone, Handbook of Applied Cryptography,
CRC Press, 2004.
3. Charlie Kaufman, Radia Perlman, Mike Speciner, Network Security: Private
Communication in a Public World, Prentice Hall, 2002.
151 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Software Engineering (CS351)
ii. Cryptography and Engineering Secure Systems (CS401)
Course Outcomes: At the end of the course the student will be able to:
152 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Design: security principles, security guidelines, and attack patterns, secure design
through threat modeling
Writing secure software code: Secure coding techniques, Secure Programming: Data
validation, Secure Programming: Using Cryptography Securely, Creating a Software
Security Programs.
Secure Coding and Testing: code analysis- source code review, coding practices, static
analysis, software security testing, security testing consideration through SDLC,
vulnerability assessment and penetration testing (VAPT) tools - metasploit and nmap.
Reading List:
1. Julia H Allen, Sean J Barnum, Robert J Ellison, Gary McGraw, Nancy R Mead,
Software Security Engineering: A Guide for Project Managers, Addison Wesley,
2008.
2. Ross J Anderson, Security Engineering: A Guide to Building Dependable Distributed
Systems, 2nd Edition, Wiley, 2008.
3. Howard, M. and LeBlanc, D., Writing Secure Code, 2 nd Edition, Microsoft Press,
2003.
4. Robert C. Seacord, Secure Coding in C and C++, Addison-Wesley, Second Edition,
2005.
153 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Natural Language Processing (CS374)
Course Outcomes: At the end of the course, the students will be able to:
Apply suitable word embeddings (word and subword models) for the NLP task
CO1
(Apply)
CO2 Build a language modeling system and evaluate its performance (Apply)
CO3 Construct a model and evaluate for Machine Translation task (Apply)
CO4 Build and evaluate a model for Reading Comprehension (Apply)
CO5 Build and evaluate a model for Natural Language Generation (Apply)
Detailed Syllabus:
Unsupervised word embeddings: word2vec – CBOW, Skip-gram, Negative sampling,
Hierarchical Softmax, Glove, Comparison of word embeddings to SVD, Evaluation
methods for word embeddings.
Neural Networks Review: Backpropagation, activation functions, regularization, and
optimization.
Sequence models and Language Modelling: Recurrent and Recursive Neural Nets, n-
gram language models, RNNs and LSTMs for language modeling, handling long-term
dependencies, Evaluation methods for language models.
154 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Machine Translation: Statistical and Neural, Attention, Beam search, Teacher forcing,
Exposure bias, Performance metrics.
Sub word models and contextual embeddings: Byte pair embeddings, FastText, and
ELMO.
Transformers and Transfer Learning: Self Attention, Multi-head Attention, Encoder-
Decoder of Transformer, BERT, GPT, and T5, pre-train fine-tune paradigm for
downstream tasks.
Reading Comprehension: Attention models, Transformer models, Performance metrics-
beyond Accuracy, Open Domain Question Answering.
Natural Language Generation: Summarization and Dialogue systems, Training and
Decoding approaches, Weaknesses of existing evaluation methods.
Introduction to ethics and bias.
Reading List:
1. Jacob Eisenstein, “Natural Language Processing”, MIT Press, 2018,
https://raw.githubusercontent.com/jacobeisenstein/gt-nlp-
class/master/notes/eisenstein-nlp-notes.pdf
2. Yoav Goldberg, “A Primer on Neural Network Models for Natural Language
Processing”, Arxiv, 2015, https://u.cs.biu.ac.il/~yogo/nnlp.pdf
3. Natural Language Processing (Almost) from Scratch, Journal of Machine Learning
Research, 2011,
https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf
4. Ian Goodfellow, Yoshua Bengio, and Aaron Courville, “Deep Learning”, MIT Press,
2016, https://www.deeplearningbook.org/
155 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Data Structures and algorithms (CS201)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Compute network measures for a social media dataset. (Apply)
CO2 Analyze different varieties of networks from a social media dataset. (Analyze)
CO3 Evaluate various diffusion models and influence techniques. (Evaluate)
CO4 Construct techniques for community detection. (Create)
CO5 Construct network measures for recommender systems. (Create)
Detailed Syllabus:
Introduction to Social Network Mining, Graph Models:
Graph Essentials, Degree and Degree Distribution, Graph Representations, Types of
Graphs, Connectivity in Graphs, Graph/Tree Traversal, Shortest Path Algorithms,
Minimum Spanning Trees, Network Flow Algorithms
Network Measures:
Centrality, Degree Centrality, Eigenvector Centrality, Katz Centrality, PageRank, Topic-
Specific PageRank, Betweenness Centrality, Closeness Centrality, Group Centrality,
Transitivity and Reciprocity, Balance and Status, Similarity, Structural Equivalence,
Regular Equivalence
Network Models:
Properties of Real-World Networks, Degree Distribution, Clustering Coefficient, Average
Path Length, Random Graphs, Modeling Real-World Networks with Random Graphs,
156 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Reza Zefarani, Mohammad Ali Abbasi, Huan Liu, “Social Media Mining: An
Introduction.” Cambridge University Press, 2014. ISBN: 978-1107018853.
2. Jure Leskovec, Anand Rajaraman and Jeffrey David Ullman, Mining of massive
datasets, Cambridge University Press, 2014
157 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
ii. Applied Machine Learning (CS373)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Identify the efficient IR model for an application or its dataset. (Apply)
Apply text processing, indexing, clustering and classification techniques to a
CO2
corpus of texts for a specific information need (Apply)
CO3 Apply the techniques for web searching. (Apply)
CO4 Evaluate how techniques of IR integrate with recommender system. (Evaluate)
CO5 Evaluate how techniques of IR integrate with Question Answering. (Evaluate)
Detailed Syllabus:
Evaluation of IR:
Precision, Recall, F-Measure, MAP (Mean Average Precision), Discounted Cumulative
Gain, Known-item Search Evaluation
Query Operations and Languages
Relevance feedback and pseudo relevance feedback, Query expansion (with a thesaurus
or WordNet and correlation matrix), Spelling correction, Query languages
Web Search:
Search engines, Spidering (Structure of a spider, Simple spidering algorithm,
multithreaded spidering, Bot), Directed spidering, Crawlers (Basic crawler architecture),
Link analysis (HITS, Page ranking), Query log analysis, Handling “invisible” Web –
Snippet generation, Cross Language Information Retrieval
Text Categorization and Clustering:
Categorization, Learning for Categorization, General learning issues, Learning
algorithms: Bayesian (naïve), Decision tree, KNN, Rocchio), Clustering algorithms
(Hierarchical clustering, k-means, k-medoid, Expectation maximization (EM), Text
shingling)
Recommender System:
Personalization, Collaborative filtering recommendation, Content-based recommendation
Question Answering
Information bottleneck, Information Extraction, Ambiguities in IE, Architecture of QA
system, Question processing, Paragraph retrieval, Answer processing
Reading List:
1. Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to
Information Retrieval, Cambridge University Press. 2008. http://nlp.stanford.edu/IR-
book/information-retrieval-book.html
2. Modern Information Retrieval. Baeza-Yates Ricardo and Berthier Ribeiro-Neto. 2nd
edition, Addison-Wesley, 2011.
159 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Computer Networks (CS352)
ii. Cryptography and Engineering Secure Systems (CS401)
Course Outcomes: At the end of the course, student will be able to:
CO1 Assess the risks and vulnerabilities in the data communications. (Analyze)
CO2 Analyze privacy related aspects of data uses. (Analyze)
CO3 Assess proposed technical mechanisms for privacy protection. (Analyze)
CO4 Construct an efficient technique for privacy preserving data analysis. (Apply)
PO/ P P P P P P P P P P P P P P P
PSO O O O O O O O O O O O O S S S
1 2 3 4 5 6 7 8 9 10 11 12 O O O
CO 1 2 3
CO1 S S S M S S S
CO2 S M L L S S M
CO3 S M L L S S M
CO4 S M L L S S M
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed syllabus:
Introduction to Security – Vulnerabilities and Attacks; Introduction to Privacy - Policies
and Practices; Data Privacy Taxonomy and Frameworks; Security Design Principles;
Threat Modeling; Access Control; Anonymity Models; Authentication Beyond Passwords;
Enterprise Roles – Technology and Law; Security Policies; Standards and Best Practices;
Privacy in Cloud Infrastructure and Big Data.
Reading List:
1. J. Katz and Y. Lindell, Introduction to Modern Cryptography, CRC press, 2008.
2. C. Dwork and A. Roth, The Algorithmic Foundations of Differential Privacy, now
Publishers, 2014.
3. April Falcon Doss, Cyber Privacy: Who Has Your Data and Why You Should Care,
BenBella Books, 2020.
160 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Network Security (CS435)
ii. Security and Privacy (CS471)
Course Outcomes: At the end of the course, student will be able to:
CO1 Assess the cyber laws in general and Indian IT act in particular. (Analyze)
CO2 cybercrimes and their culpability under various sections of the act. (Analyze)
Examine cyber case laws and recall various cases for developing solutions.
CO3
(Analyze)
CO4 Assess the intellectual property rights in Indian context. (Analyze)
Extract illegal knowledge related to computer-based activities and diffuse such
CO5
knowledge. (Apply)
PO/ P P P P P P P P P P P P P P P
PSO O O O O O O O O O O O O S S S
1 2 3 4 5 6 7 8 9 10 11 12 O O O
CO 1 2 3
CO1 S S S M L S S S
CO2 S S S M L S S S
CO3 S S S M L S S S
CO4 S S S M L S S S
CO5 S M L L S S M
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed syllabus:
Cyber Space- Fundamental definitions -Interface of Technology and Law
Jurisprudence and-Jurisdiction in Cyber Space - Indian Context of Jurisdiction -
Enforcement agencies – Need for IT act - UNCITRAL – E-Commerce basics
Information Technology Act, 2000 - Aims and Objects — Overview of the Act –
Jurisdiction - Electronic Governance – Legal Recognition of Electronic Records and
Electronic Evidence - Digital Signature Certificates - Securing Electronic records and
secure digital signatures - Duties of Subscribers - Role of Certifying Authorities -
161 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Regulators under the Act -The Cyber Regulations Appellate Tribunal - Internet Service
Providers and their Liability – Powers of Police under the Act – Impact of the Act on other
Laws.
Cyber Crimes -Meaning of Cyber Crimes –Different Kinds of Cybercrimes – Cybercrimes
under IPC, CRPC and Indian Evidence Law - Cybercrimes under the Information
Technology Act, 2000 - Cybercrimes under International Law - Cyber Stalking, Virus
Dissemination,
Software Piracy, Internet Relay Chat (IRC) Crime, Credit Card Fraud, Net Extortion -
Cyber Terrorism - Violation of Privacy on Internet - Data Protection and Privacy – Indian
Court Case Studies
Intellectual Property Rights
Copyrights- Software – Copyrights vs Patents debate - Authorship and Assignment
Issues - Copyright in Internet - Multimedia and Copyright issues - Software Piracy –
Trademarks - Trademarks in Internet – Copyright and Trademark cases
Patents - Understanding Patents - European Position on Computer related Patents -
Legal position on Computer related Patents - Indian Position on Patents – Case Law
Domain names - Registration - Domain Name Disputes-Cyber Squatting-IPR cases
Reading List:
1. Justice Yatindra Singh: Cyber Laws, Universal Law Publishing Co., New Delhi
2. Farouq Ahmed, Cyber Law in India, New Era publications, New Delhi
3. S.R.Myneni: Information Technolgy Law (Cyber Laws), Asia Law House, Hyderabad
4. Chris Reed, Internet Law-Text and Materials, Cambride University Press
5. Pawan Duggal: Cyber Law- the Indian perspective Universal Law Publishing Co.,
New Delhi
162 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed syllabus:
Digital Hardware, Design Process, Structure of a computer, Digital representation of Information.
Variables and functions, Logic Gates and networks, Boolean algebra, Synthesis using AND, OR,
NOT gates, Design examples, Introduction to CAD tools and Verilog HDL. Implementation of Logic
functions, Minimization and k-maps, Product-of-sums Form, incompletely specified functions.
Multiple output circuits. Positional Number representation, Additions of unsigned and signed
number, FastAdders, Design of Arithmetic Circuits using CAD tools. Combinational Circuit Building
blocks – Multiplexers, Decoders, encoders, Code converters, Arithmetic Comparison Circuits,
Verilog for Combinational circuits.
Flip-Flops, Registers and Counters – Basic Latch, SR and D latches, Edge triggered D Flip-flop, T
and JK Flip Flops. Registers, Synchronous and Asynchronous Counters. Reset Synchronization,
using storage elements with CAD tools, Using Verilog constructs for Registers and Counters.
Synchronous Sequential circuits – Basic design steps,State Assignment problem. Moore and
Mealy State models, Design of Finite State Machines using CAD tools.
Reading List:
1. S. Brown, Z. Vranesic, Fundamentals of Digital Logic with Verilog Design, McGrawHill,
third edition, 2014.
2. W. I Fletcher, An Engineering approach to Digital Design, Eastern Economy edition,
PHI Limited, 2000.
3. J. Bhasker, Verilog Primer, 3rd edition, Prentice-Hall India, 1998.
163 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
4. S. Palnitkar, Verilog HDL: A guide to digital Design and Synthesis, 2 nd edition, Pearson,
2003.
164 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
Course Outcomes: After the completion of the course the student will be able to:
CO1 Understand the evolution of microprocessors
CO2 Understand assembly language programming basics for 8085
CO3 Understand the basic serial I/O and interrupt mechanism used in 8085
CO4 Understand the data transfer techniques using microprocessor
CO5 Understand the typical 16-bit microprocessor
PSO1
PSO2
PO10
PO11
PO12
PO1
PO2
PO3
PO4
PO5
PO6
PO7
PO8
PO9
PO
CO
CO1 M S - S - - - - - - - - M -
CO2 - S - S - - - - L- - - M -
CO3 - S - - - - - - L- - - M -
CO4 - M - S - - - - L- - - M -
CO5 - M - S - - - - - - - M -
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
165 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Practical:
Text books:
166 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
Construct solutions for problems using linear data structures such as Linked
CO1
List, Stacks and Queues. (Apply)
Construct solutions for problems using non-linear Data Structures such as
CO2
Trees and Graphs. (Apply)
Implement solutions for problems that requires sorting and searching as a
CO3
sub-routine. (Apply)
Analyze, evaluate and choose appropriate data structures and algorithms for
CO4
a specific application. (Analyze)
Analyze algorithms with respect to their time and space complexities.
CO5
(Analyze)
PO P P P P P P P P P P P P
O O O O O O O O O O O O
CO 1 2 3 4 5 6 7 8 9 10 11 12
CO1 S M L S S S M
CO2 S M L S S S M
CO3 S M L S S S M
CO4 S M M L S S S M
CO5 S M M L S S S M
S: Strong correlation, M: Medium correlation, L: Low correlation
167 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
Introduction to Data Structures, Algorithm Analysis and Examples based on Asymptotic
Notations, Abstract Data Types (ADTs), Stacks, Queues, Circular Queues and Linked
List (Singly Linked, Doubly Linked and Circular).
Trees: Representation of Trees, Binary Trees, Binary Search Trees.
Priority Queues, Binary Heap and applications, Hash Tables and Operations, Collision
Resolution: Open Addressing and Chaining.
Graphs: Representation of Graphs, Graph Traversal Techniques, Minimum Cost
Spanning Trees: Prim’s and Kruskal’s Algorithms, Shortest Path Algorithms: Dijkstra’s
Algorithm and Floyd-Warshall Algorithm.
Sorting Algorithms: Merge Sort, Heap Sort, Quick Sort and Counting Sort.
List of Experiments:
1. Implementation of Stacks and Queues using arrays.
2. Implementation of Stack and Queue based applications.
3. Implementation of Single Linked List, Double Linked List and Circular Linked List.
4. Implementation of Stacks and Queues using Linked List.
5. Implementation of Circular Queues.
6. Implementation of Binary Search Trees with its operations.
7. Implementation of Priority Queues.
8. Implementation of Hashing with open addressing and separate chaining methods.
9. Implementation of Graph Traversal techniques: BFS and DFS.
10. Implementation of Minimum cost spanning tree algorithms.
11. Implementation of Dijkstra and Floyd-Warshall Algorithms.
12. Implement the following sorting algorithms: Merge sort, Heap sort, Quick sort,
Counting sort.
Reading List:
1. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson
Education. Ltd., Fourth Edition, 2014.
2. Data structures and algorithms in C++, 4th Edition, Adam Drozdek, Thomson,
Cengage, 2012.
3. Data structures and Algorithms in C++, Michael T. Goodrich, R. Tamassia, and
Mount, Second Edition, Wiley, 2011.
4. Data Structures: A Pseudocode Approach with C++, Richard F. Gilberg, Behrouz A.
Forouzan, Pacific Grove, CA: Brooks/Cole, 2001.
168 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
*Students who are pursuing Minor in Software Engineering are not allowed to opt for the Open
Elective Courses offered by CSED. The syllabus for these courses is available at the Minor in
Software Engineering courses.
169 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
Construct and implement suitable data structures to meet the given time and
CO1
space constraints. (Apply)
Construct and implement algorithms using techniques namely divide and
CO2
conquer, greedy and dynamic programming. (Apply)
CO3 Infer the time and space complexities of the given algorithm. (Apply)
Translate algorithms into efficient programs using the Application
CO4 Programming Interfaces of the runtime environment, with a comprehension
of the underlying language features and trade-offs involved. (Apply)
Demonstrate problem solving and programming skills while solving unknown
CO5
problems. (Apply)
PO
P P P P P P P P P P P P
O O O O O O O O O O O O
CO 1 2 3 4 5 6 7 8 9 10 11 12
CO1 S M L M S
CO2 S M L M S
CO3 S M L S
CO4 S M L S S S
CO5 S M L S S S S
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Data Structures: Abstract Data Types (ADT), Arrays and Records, Memory Layout and
implementation of Stack, Queue, Linked List (Single, Double and Circular), Applications
of Stack, Queue and Linked Lists, Trees: Binary Search Trees, Traversals and
170 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Applications, Hash Tables: Open and Closed Addressing, Priority Queues: Heaps,
Graphs: Memory Representation, Traversals and illustrative applications.
Algorithmics: Asymptotic notions, Step-counting, Computing the time and space
complexities of simple iterative and recursive algorithms.
Divide and Conquer: Introduction, Merge Sort and Quick Sort.
Greedy: Greedy Choice and Optimal Substructure, Making Change and Activity Selection
Problems, Prim’s and Kruskal’s algorithm, Dijkstra’s Algorithm.
Dynamic Programming: Design template, overlapping sub-problems, Making Change
problem and Floyd-Warshall’s Algorithm.
Reading List:
1. Data structures and Algorithms in C++, Michael T.Goodrich, R.Tamassia, and Mount,
Wiley student edition, John Wiley and Sons, Second Edition, Wiley, 2011.
2. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson
Education. Ltd., Fourth Edition, 2014.
3. Data structures and algorithms in C++, Fourth Edition, Adam Drozdek, Thomson,
Cengage.
4. Data Structures: A Pseudocode Approach with C++, Richard F. Gilberg, Behrouz A.
Forouzan, Second Edition, Thomson Learning, 2004.
5. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein,
Introduction to Algorithms, Third Edition, PHI, 2009.
171 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CSM301/ PCC/
Object Oriented Programming 3– 0 – 0 3 Credits
CS340 OPC
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
Detailed Syllabus:
Overview of Object-Oriented Programming and its need, Java Programming Elements:
Classes and Objects, Data types, Constructors, Input-Output Handling, Control
structures, Method overloading and overriding, Abstraction and Inheritance, Interfaces,
final and static: classes, blocks and methods, Packages.
172 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Exception Handling: Types of Exceptions, Exception classes, try, catch, throw, throws
and finally, Exception Handling with Method Overriding, Custom Exceptions.
Multithreaded Programming: Introduction to multitasking through processes and threads,
The Java Thread Model, creating threads, thread life cycle, thread scheduling, thread
priorities, daemon thread, synchronization.
Garbage Collection, Runtime class and Memory management in Java.
String handling: String, StringBuffer, StringBuilder and tokenizer.
Generics: The Collections framework: List, Set and Map interfaces, Enumerator.
Event handling: Event, Listeners and adapter classes, anonymous inner classes.
Abstract Windowing Toolkit (AWT): Button, Label, Checkbox, CheckboxGroup, TextField,
TextArea, Choice, List, Menu, Panel, Scrollbar and Layout managers.
File I/O: Character based Streams, Readers and Writers, RandomAccess, Scanner.
Reading List:
1. Java: The Complete Reference, Herbert Schildt, 11 th edition, Mc Graw Hill, 2019.
2. Head First Java, Kathy Sierra & Bert Bates, 3 rd edition, O’Reilly, 2005.
3. Clean Code, Robert C Martin, Pearson, 2012.
4. Object Oriented Programming with Java, Timothy Budd, Updated Edition, Pearson
Education, 2020.
5. Object Oriented Programming with Java, Debasis Samanta, IIT Kharagpur, accessed
through: https://cse.iitkgp.ac.in/~dsamanta/java/index.htm, Accessed on: August
2021.
173 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
PO
P P P P P P P P P P P P
O O O O O O O O O O O O
1 2 3 4 5 6 7 8 9 10 11 12
CO
CO1 S M M L S S M L
CO2 S M M L L S S M L
CO3 S M M L L S S M L
CO4 S M M L M S S M L
CO5 S M M L M S S M L
CO6 S M M L M S S M L
S: Strong correlation, M: Medium correlation, L: Low correlation
174 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
List of Experiments:
1. Develop programs to familiarize with object-oriented design concepts.
2. Implement programs to illustrate overloading and overriding.
3. Implement program to study inheritance, polymorphism and data abstraction.
4. Implement abstract classes and Interfaces.
5. Implement programs using Static classes, blocks and methods.
6. Implement programs to compare shallow and deep copy.
7. Develop programs using Exception Handling.
8. Develop programs using multi-threading and synchronization.
9. Implement programs to familiarize with the Testing and Debugging facilities.
10. Implement programs using Generics.
11. Implement programs using Linked data structures, Heaps, priority queues, and binary
search trees.
12. Implement programs using String processing using String, StringBuffer and
StringBuilder.
13. Develop Event-driven programs for GUI using common interactive elements for rich
user experience.
14. Develop Event-driven programs for GUI to develop gaming application.
15. Implement programs using Streams and File I/O system.
16. Implement a program to figure out if someone has won in a game of tic-tac-toe.
17. Implement a program to find all pairs of integers within an array which sum to a
specified value.
18. Implement a program to find the frequency of occurrences of any given word in a
book.
Reading List:
1. Java: The Complete Reference, Herbert Schildt, 11th edition, Mc Graw Hill, 2019.
2. Head First Java, Kathy Sierra & Bert Bates, 3 rd edition, O’Reilly, 2005.
3. Clean Code, Robert C Martin, Pearson, 2012.
4. Object Oriented Programming with Java, Timothy Budd, Updated Edition, Pearson
Education, 2020.
5. Object Oriented Programming with Java, Debasis Samanta, IIT Kharagpur, accessed
through: https://cse.iitkgp.ac.in/~dsamanta/java/index.htm, Accessed on: August
2021.
175 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CSM351/ PCC/
Database Management Systems 2–0–2 3 Credits
CS390 OPC
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of the course, the student will be able to:
Construct database schema using Database models at conceptual level
CO1 identifying entities and relationships among entities using E-R and relational
models. (Apply)
CO2 Construct database and implement queries using SQL constructs for a given
requirement specification. (Apply)
CO4 Design and develop an application using stored procedures for a given
requirement specification. (Apply)
CO5 Design and develop an application with database connectivity for a given
requirement specification. (Apply)
Implement database maintenance and control using authorization access
CO6 control, transaction and concurrency management and recover constructs.
(Apply)
176 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Detailed Syllabus:
List of Experiments:
1. E-R diagrams
2. SQL Query Language, Data Definition Language
3. SQL Queries, Operations, Set Operations, Null Values
4. Aggregate Functions
5. Nested Subqueries
6. Join Expressions
7. Views
8. Transactions
9. Integrity Constraints
177 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Abraham Silberschatz; Henry F Korth; S Sudarshan, Database System Concepts,
7th Edition, New York, NY: McGraw-Hill Education 2020
2. Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, 2 nd
Edition, McGraw-Hill, Inc., 2000
178 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CSM401/ PCC/
Web Programming 2–0–2 3 Credits
CS440 OPC
Pre-requisites:
i. Introduction to Algorithmic Thinking and Programming (CS101)
ii. Introduction to Algorithmic Thinking and Programming Lab (CS102)
Course Outcomes: At the end of this course, students will be able to:
CO1 Discover the basic web components and development environment. (Apply)
CO2 Design and develop client-side scripting techniques (Apply)
CO3 Design and develop server-side scripting techniques (Apply)
Build real world applications using client side and server-side scripting
CO4
languages (Apply)
CO5 Analyze SOAP and RESTful web Services. (Analyze)
Detailed Syllabus:
HTML5 - List - Tables - Images - Forms - Frames - Cascading Style sheets, XML
Document type definition - XML Schemas, Document Object model.
Java Script - Control statements - Functions - Arrays - Objects - Events –Random number
Generation - Dynamic HTML with Java Script – Ajax, JSON – Introduction, Responsive
Web Design, Front end framework- Angular JS.
Different kinds of servers - web servers – Apache & nginx, File servers – time servers-
DB servers. Server-side scripting languages Introduction: PHP basics - PHP server
applications (No DB). Introduction to NodeJS – asynchronous nature of nodejs – simple
179 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Paul Deitel, Harvey Deitel, Abbey Deitel, “Internet and World Wide Web How to
Program”, Pearson, Fifth Edition, 2011.
2. Jeffrey C. Jackson, “Web Technologies – A Computer Science Perspective”, Pearson
Education, Fourth Edition, 2012.
3. Anthony, Accomazzo, Murray Nathaniel, Lerner Ari, “Fullstack React: The Complete
Guide to React JS and Friends”, Fullstack.io, 2017.
4. Brown, Ethan, “Web Development with Node and Express: Leveraging the JavaScript
Stack”, O'Reilly Media, 2019.
5. Dayley B., “Node.js, MongoDB, and AngularJS Web Development”, Addison-Wesley
Professional, 2014.
180 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
181 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-Requisites:
None
Course Outcomes: At the end of the course the student will be able to:
Apply the methods of software project management in order to manage qualy
CO1
product. (Apply)
Develop design document and compute effort estimates for a software project.
CO2
(Create)
Design UML Diagrams in order to implement forward and reverse engineering.
CO3
(Create)
CO4 Develop quality test cases to improve the quality assurance. (Create)
CO5 Apply test driven development approach to execute efficient test cases. (Apply)
182 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
object orientation Concepts, Use case Model, Class diagram, Interaction diagrams,
Activity Diagram, state chart Diagram, Component and Deployment diagrams.
Testing, Black-Box Testing- Equivalence class partitioning- Boundary value analysis,
White-Box Testing- Basic concepts- statement coverage- branch coverage- multiple
condition coverage- path coverage- McCabe’s cyclomatic complexity metric, Integration
testing, System Testing.
List of Experiments:
1. Develop a Software Project Plan for Indian railway online unreserved ticket issuing
system using Microsoft Project.
2. Develop a SRS Document for Online certification portal using Rational Requisite Pro
Tool.
3. Design UML Diagrams for Online internet banking using Umbrello.
4. Develop a java code with minimum of 6 functions and design JUnit test cases using
eclipse.
5. Construct a java code with minimum of 8 functions and apply Test Driven
Development approach on each and every function to execute test cases. Develop
test cases on chosen web application using test case execution sheet.
6. Automate chosen web application and develop both negative and positive test case
using selenium web driver.
Reading Lists:
1. Ian Sommerville, “Software Engineering”, 7th edition, Pearson education.7/e, 2005.
2. Rajib Mall, “Fundamentals of Software Engineering”, Third Edition, PHI Publication,
2009.
3. Timothy C Lethbridge, Object-Oriented Software Engineering, Practical software
development using UML and Java, McGraw-Hill Education, 2nd edition, 2004.
4. Roger S. Pressman, Software Engineering, A Practitioner’s approach, McGraw Hill,
8th edition, 2014.
5. Pankaj Jalote, “Software Engineering, A Precise Approach”, Wiley India, 2010.
183 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will learn how to solve standard distributed
computing problems. Students will also learn consensus algorithms. Further students
shall also learn designing widely used algorithms for map-reduce/spark paradigms of
distributed computing.
Pre-requisites:
i. Artificial Intelligence (CS303)
Course Outcomes: At the end of the course, the student will be able to:
Construction, analysis and evaluation of learning objectives for Regression
CO1
(Analyze)
Analyze efficiency large scale matrix factorizations for different data science
CO2
scenarios (Analyze)
Apply basic machine learning algorithms (Linear Regression, k-Nearest
CO3
Neighbors (k-NN), k-means, Naive Bayes) for predictive modeling (Apply)
CO4 Designing Recommender System for different applications. (Analyze)
CO5 Designing feature reduction objectives using PCA (Apply)
Analyze various clustering objectives K-Means-EM-SpectralClustering
CO6
(Analyze)
Detailed Syllabus:
Basics of Optimization in Data Science: Linear Programming Objectives, Primal-Dual
Methods, Quadratic Programming, Convex Optimization, Gradient Descent, Adaptive
184 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Learning Rate, Quasi Newton’s method, Constrained Optimization, KKT Conditions for
Optimization Problems
Probability theory including random variables, conditional probability, Bayes law,
concentration of measure, linear algebra including eigenvalues, norms, elementary
spectral graph theory.
Regression: Least Squares Objective for Multiple Linear Regression, Gauss-Markov
Theorem, Statistical Tests, Weighted Least Squares, Box-Cox Transformation,
Polynomial & Spline Regression, Ridge Regression, Bias-Variance Tradeoff, Subset
Selection, LASSO, Adaptive LASSO, Elastic Net, Dantzig Selector, SLOPE and sorted
penalties.
Matrix Factorizations used in Data Science:
Cholesky Decomposition and QR Factorization: Concepts, Applications
Eigen Vector Decomposition, Solving Large Scale Value Problems using Lanczos
Method, Arnoldi’s Iteration
SVD: Geometric Interpretation, Best Rank-K Approximation using SVD, Power Method
for SVD, Efficient methods for SVD, Applications of SVD
PCA: PCA learning objective: Application of PCA for dimensionality reduction
Recommendation Systems: Collaborative Filtering using gradient Descent and
Alternating Least Squares for recommender systems.
Classification: GLM methods for classification, SVM, Naïve Bayes, Evaluation of
classification methods – Confusion matrix, Students T-tests and ROC curves, Feature
Selection for Classification
Clustering: Choosing distance metrics – Different clustering approaches – hierarchical
agglomerative clustering, k-means (Lloyd’s algorithm), EM Algorithm for clustering,
Spectral Clustering: Graph Laplacian, Properties of Graph Laplacian, Application of
Spectral Clustering for Transfer-learning.
Link Analysis: Random Walks, Markov Chains, Stationary Distribution, Metro Polis
Hastings Algorithm, Gibbs Sampling, Convergence of Random Walks on Undirected
Graphs, Page Rank, HITS, combating spam, personalized page rank
High Dimensional Space High dimensional sphere, volumes of high dimensional solids,
gaussians in high dimension, high dimensional point sets, Johnson-Lindenstrauss
theorem.
Sampling and VC-dimension Random walks and graph sampling, MCMC algorithms,
learning, linear and non-linear separators, VC-dimension and connection to sampling,
PAC learning.
Sketching and Sparsification Locality sensitive hashing, min-wise hashing, Bloom filters,
count-min sketches, compressed sensing, graph sparsification techniques, pseudo-
random generators with application to approximating norms.
185 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. Avrim Blum, John Hopcroft, and Ravindran Kannan: Foundations of Data Science
Cambridge University Press, 2020
2. Jianqing Fan, Runze Li, Cun-Hui Zhang, Hui Zou Statistical Foundations of Data
Science, CRC Press 2020
3. Jure Leskovec, Anand Rajaraman, Jeff Ullman: Mining of Massive Datasets,
Cambridge University Press, 2016
4. G. Strang. Introduction to Linear Algebra, Wellesley-Cambridge Press, Fifth edition,
USA, 2016
5. Relevant Research articles shared by the instructor
186 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Students of this course upon completion will gain a broad comprehension of the
importance of computation in statistics and machine learning. Focus of this course will be
on the mathematical and statistical underpinnings of why and how seminal modern
statistical methods and inference works.
Pre-requisites:
i. Probability, Statistics and Stochastic Processes (MA239)
ii. Differential and Integral Calculus (MA101)
iii. Matrices and Differential Equations (MA151)
Course Outcomes: At the end of the course, the student will be able to:
187 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
CO5 S M L S S S
CO6 S M L S S S
S: Strong correlation, M: Medium correlation, L: Low correlation
Detailed Syllabus:
Probability:
Review: Probability (Sample spaces, Conditional probability, independent events, Bayes’
theorem).
Review: Random variables (Distribution and probability functions, Discrete and
continuous random variables, Bivariate, Marginal and conditional distributions,
Multivariate distributions and IID samples, Expectation, Variance, Covariance,
Conditional expectation, Moment generating functions).
Probability Inequalities, Convergence types of Random variables, Law of large numbers,
Central limit theorem, The Delta method, L1 Convergence.
Statistical Inference:
Parametric and non-parametric models, Point estimation, Confidence sets, Hypothesis
testing – a review.
CDF estimation, Statistical functionals, Bootstrap: Simulation, Variance estimation,
Confidence intervals, Percentile intervals.
Parametric inference: Method of moments, Maximum likelihood estimators: Properties,
Consistency and Equivariance, Asymptotic normality, Optimality, Multiparameter models,
Parametric bootstrap, Sufficiency, Exponential families and Conditional maximum
likelihood estimators. Case study on Noise Contrastive Estimation.
Hypothesis testing and p-values: Wald test, Chi-square distribution, Pearson’s Chi-
square test for multinomial data, Permutation test, Likelihood ratio test, Multiple testing,
Goodness-of-fit tests.
Bayesian Inference: Functions of parameters, Simulation, Large sample properties of
Bayes’ procedures, Flat priors, improper priors and non-informative priors,
Multiparameter problems, Bayesian testing, Strengths and weaknesses of Bayesian
inference.
Statistical Decision theory: comparing risk functions, Bayes estimators, Minmax rules,
Admissibility, Stein’s paradox.
Introduction to Variational Inference.
Statistical Processes and Methods:
Stochastic Processes: Markov processes, Poisson processes, Birth-death processes.
Stochastic optimization: Robbins-Monro and Kiefer-Wolfowitz algorithms, simulated
annealing, stochastic gradient methods.
188 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Simulation methods:
Monte Carlo methods: Rejection sampling, importance sampling, variance reduction
methods (Rao-Blackwellization, stratified sampling).
MCMC methods: Gibbs sampling, Metropolis-Hastings, Langevin methods, Hamiltonian
Monte Carlo, slice sampling. Implementation issues: burnin, monitoring convergence.
Sequential Monte Carlo (particle filtering)
Reading List:
1. Larry Wasserman, All of Statistics, First Edition, Springer-Verlag, 2004.
2. Geof H. Givens and Jennifer A. Hoeting, Computational Statistics, Second Edition,
Wiley, 2005.
3. Christian P. Robert, George Casella, Monte Carlo Statistical Methods, Springer, First
Edition, 2004
189 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Artificial Intelligence (CS303)
Course Outcomes: At the end of the course, the student will be able to:
Constructing learning objectives and associated algorithms for Regression
CO1
and Classification using Probabilistic Approaches (Apply)
Constructing learning objectives and algorithms for regression and
CO2
classification using the maximum margin principle (Apply)
Constructing algorithms for mixture models using Expectation Maximization
CO3
(Apply)
CO4 Designing models for Sequence Labelling problems (Apply)
Applying feature reduction and clustering strategies for different learning
CO5
objectives (Apply)
Design of efficient numerical algorithms for solving maximum margin
CO6
objectives
Detailed Syllabus:
Basics of Linear Algebra, Probability Theory and Optimization: Vectors, Inner
product, Outer product, Inverse of a matrix, Eigenanalysis, Singular value decomposition,
Probability distributions – Discrete distributions and Continuous distributions;
Independence of events, Conditional probability distribution and Joint probability
190 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. C.M.Bishop, Pattern Recognition and Machine Learning, Springer, 2006
2. R.O.Duda, P.E.Hart and D.G.Stork, Pattern Classification, John Wiley, 2001
3. S. Theodoridis and K. Koutroumbas, Pattern Recognition, Academic Press, 2009
4. E. Alpaydin, Introduction to Machine Learning, Prentice-Hall of India, 2010
5. G. James, D. Witten, T. Hastie and R. Tibshirani, Introduction to Statistical
Learning, Springer, 2013.
6. Charles Sutton and Andrew McCallum. 2012. An Introduction to Conditional
Random Fields. Found. Trends Mach. Learn. 4, 4 (April 2012), 267–373.
191 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
192 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Design and Analysis of Algorithms (CS252)
ii. Database Management Systems (CS255)
iii. Database Management Systems Lab (CS257)
Course Outcomes: At the end of the course, the student will be able to:
Detailed Syllabus:
Sequential Pattern Mining concepts: Frequent and Closed Sequence Patterns:
Sequential Patterns, GSP: An Apriori-like Method, PrefixSpan: A Pattern-growth, Depth-
first Search Method, Mining Sequential Patterns with Constraints, Mining Closed
Sequential Patterns;
Classification, Clustering, Features and Distances of Sequence Data: Three Tasks
on Sequence Classification/Clustering, Sequence Features, Distance Functions over
Sequences, Classification of Sequence Data, Clustering Sequence Data.
Mining Data Streams: The Stream Data Model, Sampling Data in a Stream, Filtering
Streams, Counting Distinct Elements in a Stream, Estimating Moments, Counting Ones
in a Window, Decaying Windows
193 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Reading List:
1. G Dong and J Pei, Sequence Data Mining, Springer, 2007
2. Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman “Mining of Massive Datasets”,
Cambridge University Press, 2014
3. Dunham, Margaret H., Data Mining: Introductory and Advanced Topics, Prentice
Hall PTR, USA, 2002.
4. Deepayan Chakrabarti, Christos Faloutsos, Graph mining laws tools and case
studies, Morgan and Claypool, 2012.
194 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Pre-requisites:
i. Artificial Intelligence (CS303)
ii. Applied Machine learning (CS373)
Course Outcomes: At the end of the course, the student will be able to:
CO1 Designing Strategies for Optimizing Neural Networks-based Learning (Apply)
Constructing Sequence Labelling approaches for Language and Vision
CO2
applications (Apply)
Constructing CNN architectures suitable for diverse vision applications such
CO3 as classification, image denoising, image enhancement, Semantic
Segmentation, Object Detection (Apply)
Construct and Analyze different Deep Generative Models applicable for
CO4 application scenarios such as Image Generation, Music Generation, Natural
Language Generation (Analyze)
Analyze existing attention models for diverse application scenarios such as
CO5
captioning, sequence labeling, and mage representation (Analyze)
Detailed Syllabus:
Deep Learning:
Introduction of Deep Learning, Multi-layer Perceptron, Backpropagation, Optimizing
Gradient Descent for Neural Network Learning using momentum, RMSPROP, AdamOpt,
Choice of activation functions, Local Response Normalization, Batch Normalization,
Dropout Regularization
Convolutional Neural Networks (CNNs):
195 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
Introduction to CNNs; Evolution of CNN Architectures: Alex Net, ZF Net, VGG, Inception
Net, Res Net, Dense Net.
Visualization and Understanding CNNs:
Visualization of Kernels; Backprop-to-image/Deconvolution Methods; CNNs for
Recognition and Verification: Siamese Networks, Triplet Loss, Contrastive Loss, Ranking
Loss; CNNs for Detection: Background of Object Detection, R-CNN, Fast R-CNN, Faster
R-CNN, YOLO, SSD, Retina Net; CNNs for Segmentation: FCN, Seg Net, U-Net, Mask-
RCNN
Recurrent Neural Networks (RNNs):
Introduction to RNNs;
Sequence models and Language Modelling: Recurrent and Recursive Neural Nets, n-
gram language models, RNNs and LSTMs for language modeling, handling long-term
dependencies,
CNN + RNN Models for Video Understanding: Spatio-temporal Models, Action/Activity
Recognition,
Attention Models:
Introduction to Attention Models in Vision; Vision and Language: Image Captioning, Visual
QA, Visual Dialog;
Transformers and Transfer Learning: Self Attention, Multi-head Attention, Encoder-
Decoder of Transformer, BERT, GPT, and T5, pre-train fine-tune paradigm for
downstream tasks. Spatial Transformers; Transformer Networks
Representation Learning and Deep Generative Models:
Unsupervised word embeddings: word2vec – CBOW, Skip-gram, Negative sampling,
Hierarchical Softmax, Glove, Comparison of word embeddings to SVD, Evaluation
methods for word embeddings
Popular Deep Generative Models: GANs, VAEs; Other Generative Models: Pixel RNNs,
NADE, Normalizing Flows.
Reading List:
1. Goodfellow I, Bengio Y, and Courville A, Deep Learning, MIT Press, 2016
2. Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2010.
3. Michael Nielsen, Neural Networks and Deep Learning, 2016
4. Simon Prince, Computer Vision: Models, Learning, and Inference, Cambridge
University Press, 2012.
5. Jacob Eisenstein, “Natural Language Processing”, MIT Press, 2018,
https://raw.githubusercontent.com/jacobeisenstein/gt-nlp-
class/master/notes/eisenstein-nlp-notes.pdf
6. Yoav Goldberg, “A Primer on Neural Network Models for Natural Language
Processing”, Arxiv, 2015, https://u.cs.biu.ac.il/~yogo/nnlp.pdf
196 | P a g e
Scheme and Syllabi
Department of Computer Science and Engineering
197 | P a g e
Scheme and Syllabi