B.Tech AI Syllabus - GITA College
B.Tech AI Syllabus - GITA College
[Link]
Computer Science & Engineering –
ARTIFICIAL INTELLIGENCE
(2020 Admission Batch)
Vision
To foster prosperity through technological development by means of
quality education, innovation and collaborative research and emerge
as a premier technical institution in India.
Mission
Vision
To empower students of Computer Science & Technology Department to be
technologically adapt, innovative, self-motivated and responsible global citizens
possessing human values and enable them to contribute in industrial development
innovation, high quality technical education and research with the ever-changing world.
Mission
The Department of Computer Science and Engineering strives to prepare the students:
PEO 1: The graduates will utilize their expertise in engineering to solve industrial and
technological problems.
PEO 3: Graduates will function in their profession with their social awareness and
responsibility.
PEO 4: Graduate will interact with their peers in industry and society as engineering
professionals and leaders.
PEO 5: Graduates will succeed in achieving innovative kills in the field of research and
computer application.
PSO 1: The graduates will have the ability to design, develop and innovate software
product or process in a systematic way by applying algorithm design, artificial
intelligence, soft computing and programming skills.
PSO 2: The graduate will have the ability to take up higher studies, collaborative
research and entrepreneurship in the modern computing environment.
PSO3: Graduate will have the ability to achieve additional expertise through add-on
programs in machine learning, deep learning, IoTetc and life long learning.
PO2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
PO5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modelling to complex
engineering activities with an understanding of the limitations.
PO6. The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to the professional engineering practice.
PO8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practice.
PO9. Individual and team work: Function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings.
PO11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a
member and leader in a team, to manage projects and in multidisciplinary
environments.
PO12. Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change.
COURSE STRUCTURE
Credit Break-up Semester-wise
Semester
Category Total
1st 2nd 3rd 4th 5th 6th 7th 8th
HS / MS
Humanities and Social
3 2 4 2 3 14
Sciences Including
Management Courses
BS
(Basic Science 7 7 3 3 20
Courses)
ES
(Engineering Science 8 16 4 28
Courses)
PC
(Professional Core 9 13 13 9 44
Courses)
PE
(Professional Elective
Courses Relevant to 3 3 6 6 18
Chosen
Specialization/Branch)
OE
(Open Electives from
Other Technical 3 3 9 15
and/or Emerging
Subjects)
Project/Seminar
/Internship * 1 2 2 6 18 29
*4-6 Weeks
MC (Mandatory
0 0 0 0 0 0 0 0 0
Courses)
Total 18 25 20 22 21 20 24 18 168
HS (HUMANITIES AND SOCIAL-SCIENCES INCLUDING MANAGEMENT COURSES)
S. No. Course Code Course Title L-T-P Credit Semester
Theory
1 20BTTHS101 Communicative English 2-0-0 2 1st
2 Business Communication and
20BTTHS202 3-0-0 2 2nd
Life Skills
3 20BTTHS403 Organisational Behaviour 2-0-0 2 4th
4 Engineering Economics and
20BTTHS304 2-0-0 2 3rd
Costing
5 20BTTHS705 Entrepreneurship Development 2-0-0 3 7th
6 20BTTHS306 Universal Human Value 2-0-0 2 3rd
Practical
1 20BTPHS101 English Language Lab 0-0-2 1 1st
Total Credit 14
Theory
1 20BTTBS101 3-0-0 3 1st
Engineering Mathematics-I
2 20BTTBS102 3-0-0 3 1st/2nd
/ Engineering Physics
20BTTBS202
3 20BTTBS103 1st/2nd
/ Engineering Chemistry 3-0-0 3
20BTTBS203
4 20BTTBS204 Engineering Mathematics-II 3-0-0 3 2nd
5 20BTTBS305 Engineering Mathematics-III 3-0-0 3 3rd
6 20BTTBS406 Discrete Mathematical Structure 3-0-0 3 4th
Practical
1 20BTPBS101
/ Engineering Physics Lab 0-0-2 1 1st/2nd
20BTPBS201
2 20BTPBS102
/ Engineering Chemistry Lab 0-0-2 1 1st/2nd
20BTPBS202
Total Credits 20
ES (ENGINEERING SCIENCE COURSES)
S. No. Course Code Course Title L-T-P Credit Semester
Theory
20BTTES101
1 1st /
/ Basic Electrical Engineering 3-0-0 2
2nd
20BTTES201
20BTTES102
2 1st /
/ Basic Electronics Engineering 3-0-0 2
2nd
20BTTES202
20BTTES103
3 1st /
/ Basic Mechanical Engineering 3-0-0 2
2nd
20BTTES203
20BTTES104
4 1st /
/ Basic Civil Engineering 3-0-0 2
2nd
20BTTES204
5 Programming for Problem Solving
20BTTES205 2-0-0 3 2nd
using C
6 20BTTES206 Engineering Mechanics 3-0-0 3 2nd
7 20BTTES307 Data Structure Using ‘C’ 3-0-0 3 3rd
Practical
1 20BTPES101 /
Basic Electrical Engineering Lab 0-0-2 1 1st/ 2nd
20BTPES201
2 20BTPES102 /
Basic Electronics Engineering Lab 0-0-2 1 1st/ 2nd
20BTPES202
3 20BTPES103 /
Basic Mechanical Engineering Lab 0-0-2 1 1st/ 2nd
20BTPES203
4 20BTPES104 /
Basic Civil Engineering Lab 0-0-2 1 1st/ 2nd
20BTPES204
5 20BTPES105 / Engineering Graphics & Design
0-0-2 2 1st/ 2nd
20BTPES205 Lab
6 20BTPES106 /
Workshop Practice Lab 0-0-2 2 1st/ 2nd
20BTPES206
7 Programming for Problem Solving
20BTPES207 0-0-2 2 2nd
using C Lab
8 20BTPES308 Data Structure Lab 0-0-2 1 3rd
Total Credits 28
PSI(Project/Seminar/Internship *)
S. No. Course Code Course Title (Practicals) L-T-P Credit Semester
1 20BTCAIPSI401 Mini Project I 0-0-2 1 4th
2 20BTCAIPSI502 Evaluation of Summer Internship-I 0-0-2 1 5th
3 20BTCAIPSI503 Mini Project II 0-0-2 1 5th
4 20BTCAIPSI604 Seminar-I 0-0-2 2 6th
5 20BTCAIPSI705 Minor PROJECT 0-0-6 3 7th
6 20BTCAIPSI706 Evaluation of Summer Internship-II 0-0-2 1 7th
7 20BTCAIPSI707 Industrial Lecture & Visit 0-0-2 1 7th
8 20BTCAIPSI708 Grand Viva 0-0-2 1 7th
9 20BTCAIPSI809 Internship(Evaluation by External
8 8th
Examiner)
10 20BTCAIPSI810 Grand Viva(Evaluation by External 2 8th
Examiner)
11 20BTCAIPSI811 Major PROJECT(Evaluation by External 8 8th
Examiner)
Total Credits 29
MC (MANDATORY COURSES)
THEORY
S. No. Course Code Course Title L-T-P Credit Semester
0 3rd
1 20BTTMC301 Environmental Science
2 0 4th
20BTTMC402 Constitution of India
3 Essence of Indian Knowledge 0 6th
20BTTMC603
Tradition
Practicals
0 1st
1 20BTPMC101 Induction Training (21 Days)
0 2nd
2 20BTPMC202 NSS / NCC / Yoga
Total Credits 0
First Semester
Theory
Sl. Course
Category Course Title L-T-P Credit
No. Code
1 BS 20BTTBS101 Engineering Mathematics-I 3-0-0 3
20BTTBS102 Engineering Physics
2 BS / / 3-0-0 3
20BTTBS103 Engineering Chemistry
20BTTES101 Basic Electrical Engineering
3 ES / / 3-0-0 2
20BTTES102 Basic Electronics Engineering
20BTTES103 Basic Mechanical Engineering
4 ES / / 3-0-0 2
20BTTES104 Basic Civil Engineering
5 HS 20BTTHS101 Communicative English 2-0-0 2
6 MC 20BTPMC101 Induction Training (21 Days) 0
Total Credit (Theory) 12
Practical
20BTPBS101 Engineering Physics Lab
1 BS / / 0-0-2 1
20BTPBS102 Engineering Chemistry Lab
20BTPES101 Basic Electrical Engineering Lab
2 ES / / 0-0-2 1
20BTPES102 Basic Electronics Engineering
20BTPES103 Basic Mechanical Engineering Lab
3 ES / / 0-0-2 1
20BTPES104 Basic Civil Engineering
20BTPES105 Engineering Graphics & Design Lab
4 ES / / 0-0-2 2
20BTPES106 Workshop Practice Lab
5 HS 20BTPHS101 English Language Lab 0-0-2 1
Total Credit (Practical) 6
Total Semester Credit 18
Second Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 BS 20BTTBS204 Engineering Mathematics-II 3-0-0 3
20BTTBS203 Engineering Chemistry
2 BS / / 3-0-0 3
20BTTBS202 Engineering Physics
20BTTES202 Basic Electronics Engineering
3 ES / / 3-0-0 2
20BTTES201 Basic Electrical Engineering
20BTTES204 Basic Civil Engineering
4 ES / / 3-0-0 2
20BTTES203 Basic Mechanical Engineering
5 ES 20BTTES206 Engineering Mechanics 2-0-0 3
Programming for Problem Solving
6 ES 20BTTES205 3-0-0 3
using C
Business Communication and Life
7 HS 20BTTHS202 3-0-0 2
Skills
8 MC 20BTPMC202 NSS / NCC / Yoga 0
Total Credit (Theory) 18
Practical
Engineering Chemistry Lab
20BTTBS203/
1 BS / 0-0-2 1
20BTTBS202
Engineering Physics Lab
20BTPES202 Basic Electronics Engineering Lab
2 ES / / 0-0-2 1
20BTPES201 Basic Electrical Engineering Lab
20BTPES204 Basic Civil Engineering Lab
3 ES / / 0-0-2 1
20BTPES203 Basic Mechanical Engineering Lab
20BTPES206 Workshop Practice Lab
4 ES / / 0-0-2 2
20BTPES205 Engineering Graphics & Design Lab
P Programming for Problem Solving using
5 ES 20BTPES207 0-0-2 2
C Lab
Total Credit (Practical) 7
Total Semester Credit 25
SUMMER INTERNSHIP TRAINING for 30 Days
Third Semester
Theory
Sl.
No Category Course Code Course Title L-T-P Credit
.
1 BS 20BTTBS305 Engineering Mathematics-III 3-0-0 3
2 HS 20BTTHS304 Engineering Economics and Costing 3-0-0 2
3 HS 20BTTHS306 Universal Human Value 2-0-0 2
4 ES 20BTTES307 Data Structure Using ‘C’ 2-0-0 3
Object Oriented Programming Using
5 PC 20BTCAITPC301 3-0-0 3
JAVA
6 PC 20BTCAITPC302 Computer Organization & Architecture 3-0-0 3
7 MC 20BTTMC301 Environmental Science 2-0-0 0
Total Credit (Theory) 16
Practical
1 ES 20BTPES308 Data Structure Lab 0-0-2 1
Object Oriented Programming Using
2 PC 20BTCAIPPC301 0-0-2 1
JAVA Lab
Computer Organization & Architecture
3 PC 20BTCAIPPC302 0-0-2 1
Lab
4 PC 20BTCAIPPC303 Employability Skill-I 0-0-3 1
Total Credit (Practical) 4
Total Semester Credit 20
Fourth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 BS 20BTTBS406 Discrete Mathematical Structure 3-0-0 3
2 HS 20BTTHS403 Organisational Behaviour 2-0-0 2
3 PC 20BTCAITPC403 Design & Analysis of Algorithms 3-0-0 3
4 PC 20BTCAITPC404 Data Base Engineering 3-0-0 3
5 PC 20BTCAITPC405 Python Programming 3-0-0 3
20BTCAITPE401 Advanced Computer Architecture
6 PE 20BTCAITPE402 Graph Theory 3-0-0 3
20BTCAITPE403 Digital Electronics
7 MC 20BTTMC402 Constitution of India 1-0-0 0
Total Credit (Theory) 17
Practical
1 PC 20BTCAIPPC404 Design & Analysis of Algorithms Lab 0-0-2 1
2 PC 20BTCAIPPC405 Database Engineering Lab 0-0-2 1
3 PC 20BTCAIPPC406 Programming in Python Lab 0-0-2 1
4 PC 20BTCAIPPC407 Employability Skill-II 0-0-3 1
5 PSI 20BTCAIPSI401 Mini Project I 0-0-2 1
Total Credit (Practical) 5
Total Semester Credit 22
SUMMER INTERNSHIP TRAINING for 45 Days
*Mandatory Non-Credit Courses (MC) result will be reflected with Pass (P) / Fail (F) grade. Thus the
grade obtained will not be affecting the grade point average. However, it shall appear on the grade
sheet as per AICTE rule.
Fifth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 PC 20BTCAITPC506 Operating System 3-0-0 3
Formal Language & Automata
2 PC 20BTCAITPC507 3-0-0 3
Theory
3 PC 20BTCAITPC508 Advanced Python Programming 3-0-0 3
20BTCAITPE504 Machine Learning 3-0-0
4 PE 20BTCAITPE505 High Performance Computing 3-0-0 3
20BTCAITPE506 Cyber security and Law 3-0-0
Micro Processor and Micro
20BTCAITOE501 3-0-0
Controller
5 OE 20BTCAITOE502 Statistical inferencing 3-0-0 3
20BTCAITOE503 Digital Image Processing 3-0-0
Total Credit (Theory) 15
Practical
1 PC 20BTCAIPPC508 Operating System lab 0-0-2 1
2 PC 20BTCAIPPC509 Advanced Python Lab 0-0-2 1
3 PC 20BTCAIPPC510 Web Technology Lab 0-0-2 1
4 PSI 20BTCAIPSI502 Evaluation of Summer Internship-I 0-0-2 1
5 PC 20BTCAIPPC511 Employability Skill-III 0-0-3 1
6 PSI 20BTCAIPSI503 Mini Project II 0-0-2 1
Total Credit (Practical) 6
Total Semester Credit 21
Sixth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 PC 20BTCAITPC609 Software Engineering 3-0-0 3
2 PC 20BTCAITPC610 Compiler Design 3-0-0 3
20BTCAITPE607 Artificial Intelligence
Eighth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
Total Credit (Theory) 0
Practical
1 PSI 20BTCAIPSI809 Internship(Evaluation by External Examiner) 8
2 PSI 20BTCAIPSI810 Grand Viva(Evaluation by External Examiner) 2
3 PSI 20BTCAIPSI811 Major PROJECT(Evaluation by External 8
Examiner)
Total Credit (Practical) 18
Total Semester Credit 18
Total Credit=168
Apart from the above 168 Credits students can opt for Honors courses or Minor courses from
other branches from SWAYAM /NPTEL/ MOOCs for 20 credits (5 Courses and 4 credits
each to be offered from 3rd semester onwards) These list separately for Honors and Minors
will be notified by the University.
DETAILED SYLLABUS
Semester-2
Second Semester
Theory
Sl. Course
Category Course Title L-T-P Credit
No. Code
1 BS Engineering Mathematics-II 3-0-0 3
2 BS Engineering Chemistry 3-0-0 3
3 ES Basic Electronics Engineering 3-0-0 2
4 ES Basic Civil Engineering 3-0-0 2
5 ES Engineering Mechanics 2-0-0 3
6 ES Programming for Problem Solving using C 3-0-0 3
7 HS Business Communication and Life Skills 3-0-0 2
8 MC NSS / NCC / Yoga 0
Total Credit (Theory) 18
Practical
1 BS Engineering Chemistry Lab 0-0-2 1
2 ES Basic Electronics Engineering Lab 0-0-2 1
3 ES Basic Civil Engineering Lab 0-0-2 1
4 ES Engineering Graphics & Design Lab 0-0-2 2
P Programming for Problem Solving using
5 ES 0-0-2 2
C Lab
Total Credit (Practical) 7
Total Semester Credit 25
SUMMER INTERNSHIP TRAINING for 30 Days
Theory
Course Name: Programming for Problem Solving using C
Course Code : ******
L T P Category
Contact Hrs./Week 3 0 2 Internal Marks 40
Contact Hrs./Sem. 40 0 0 Semester Marks 60
Credits. 3 0 2 Exam Hours 3
Course objectives: The course aims to provide exposure to problem-solving through programming. It
aims to train the student to the basic concepts of the C-programming language. This course involves a lab
component which is designed to give the student hands-on experience with the concepts.
• To understand the various steps in Program development.
• To understand the basic concepts in C Programming Language.
• To learn how to write modular and readable C Programs
• To learn to write programs (using structured programming approach) in C to solve problems.
• To introduce the students to basic data structures. To make the student understand simple sorting
and searching method
Sessional
Course Name: Programming for problem solving Lab using c
Course Code : ******
Category
Contact Hrs./Week 2 Sessional Marks 100
Contact Hrs./Sem. 28 No Of Experiments 25
Course objectives:
• To write, test, and debug simple C programs.
• To implement C programs with conditionals and loops.
• Use functions for structuring C programs.
• To understand and implement pointer and user defined data types
• To understand file concept and dynamic memory application
• To develop logic to solve problems using the programming
Experiment-# Assignment/Experiment
1 Editing, compiling, executing, and debugging of simple C programs
2 Programs using operators and formatted input/output statements.
3 Decision making using if, if-else, else-if ladder, nested if
4 Decision making using switch-case construct.
5 Loop control structure (while, do-while, for) with jump statements
6 Nested loops (printing various formats)
7 1-D arrays including operation like searching, sorting, merging etc.
8 Handling 2-D arrays such as matrix operations
9 Programs on strings using various string handling functions (library functions)
10 Designing user-defined functions.
11 Programs on recursion.
12 Designing user defined functions for string manipulation.
13 Passing arrays (both 1D and 2D) to functions
14 Structure, array of structure, nested structure.
15 Dynamic memory management.
16 Self-referential structure (create and display operation of single linked list)
17 File handling - reading from and writing to files.
18 Command-line argument, pre-processor directives.
CO1: Read, understand and trace the execution of programs written in C language.
CO2: Develop programs using the basic elements like control statements, Arrays and String
CO3: Implement Programs with pointers, and learn to use the pre-processors, command line
arguments etc.
CO4: Write the C code for a given algorithm
CO5: Write programs that perform operations using derived data types.
CO6: Write programs that perform various operations on files
Unit-4
Chapter 1-: Introduction of multithreading/multitasking, ways to define a thread in
java, thread naming and priorities, thread execution/prevention methods (yield (), join
(), sleep ()), concept of synchronisation, inter thread communication, basics of
deadlock, demon thread, improvement in multithreading, inner classes-member inner 8
class, static inner class, local inner class, anonymous inner class.
Chapter 2-: IO Streams ([Link] package), introduction to byte stream and character
stream, files and random-access files, serialization.
Unit-5
Chapter 1-: Introduction to java collections framework, util package interfaces-list,
set, map etc, List interfaces and its classes, Setter interfaces and its classes.
Chapter 2-: Life cycle of an applet, GUI with an applet,Swing (JFC), difference 8
between AWT and Swing, individual swings Components - JLabel, JButton,
JTextField, JTextArea, exploring javax package.
Course outcomes:
CO1: Knowledge of the structure and model of the Java programming language, (knowledge)
CO2: Use the Java programming language for various programming technologies (understanding)
CO3: Develop software in the Java programming language, (application)
CO4: Evaluate user requirements for software functionality required to decide whether the Java
programming language can meet user requirements (analysis)
CO5: Propose the use of certain technologies by implementing them in the Java programming
language
to solve the given problem (synthesis).
CO6: Choose an engineering approach to solving problems, starting from the acquired knowledge of
programming and knowledge of operating systems. (evaluation)
Text Books:
T1: Java 8 Programming Black Book Paperback by D.T. Editorial Services [John Wiley]
T2: Java Complete Reference by Herbert Schildt [11th Edition] [McGraw-Hill Education]
Reference Books:
R1: Head First Java by Kathy Sierra, Bert Bates [2nd Edition] [O'Reilly Media, Inc.]
Online Resources:
1-[Link]
2-[Link]
Number of Assignment: 10
Unit-2
Stack:
Introduction to stack, representation of stack using array, basic operations on 8
stack(PUSH, POP, traverse etc.), Infix, prefix and postfix expression, Application of
stacks:- use in recursion, conversion of infix to post fix expression using stack,
evaluation of postfix expression.
Queue:
Introduction to queue, representation using array, basic operations with analysis,
circular queue, double ended queue, introduction to priority queue, Some applications
areas of Queue.
Unit 3
Linked list:
Introduction to Linked List, types of linked list (single, double, circular),
representation in memory, operations on linked list (creation, insertion of node at 8
various positions, deletion of nodes from various positions, traversal, search, sort,
merge) in each type with analysis.
Representation of polynomial and its operations (addition, multiplication),
implementation of stack and queue using linked list.
Unit-4
Tree
Terminologies, representation, binary tree - tree traversal algorithms with and without 8
recursion.
Binary search tree, Operations on Binary Search Tree with analysis, threaded binary
tree, general tree, Height balanced tree(AVL tree), m-way search trees, B-trees.
Graph
Terminologies, representation (adjacency matrix, incidence matrix, path matrix, linked
representation), graph traversal (BFS, DFS), Dijkstra’s single source shortest path
algorithm, Warshall’s all pair shortest path algorithm, topological sort.
Unit 5
Sorting 8
Introduction to sorting, idea of internal and external sorting, bubble sort, selection sort,
insertion sort, quick sort, merge sort, radix sort, heap sort.
Hashing-
Introduction to hashing, hash functions and hashing techniques, collision resolution
techniques- linear probing, quadratic probing, chaining.
Course outcomes:
CO1: Analyze performance of algorithms and implement various operations on array and sparse
matrix.
CO2: Apply the basic operations of stacks and queues to solve real world problems.
CO3: Implement different types of linked list operations and their applications.
CO4: Represent data using trees & graphs to use them in various real life applications.
CO5: Analyze various sorting algorithms and explore different hashing techniques.
Text Books:
T1. E. Horowitz, S. Sahni, S. Anderson-Freed, Fundamentals of Data Structures in C, 2nd Edition,
Universities Press, 2008.
T2. M. A. Weiss, Data Structures and Algorithm Analysis in C, 2ndEdition, Pearson Education, 2002.
Reference Books:
R1: A. M. Tenenbaum, Y. Langsam, and M. J. Augenstein, Data Structures Using C, 3rdEdition,
Pearson Education, 2007.
R2: J. P. Tremblay and P. G. Sorenson, An Introduction to Data Structures with Applications, 2nd
Edition, McGraw Education, 2017.
R3: S. Lipschutz, Data Structures, 1stRevised Edition, McGraw Education, 2014.
R4: A. K. Rath and A. K. Jagadev, “Data Structures Using C”
Online Resources:
1. [Link] By Prof. H. A. Murthy, Prof. S. Balachandran,
andDr. N. S. Narayanaswamy, IIT Madras
2. [Link] By Prof. N. Garg, IIT Delhi
3. [Link] By Dr. N. S. Narayanaswamy, IIT Madras4.
[Link]
Number of Assignment:7
Unit-5 : Pipelining
Basic concepts of pipelining, efficiency, throughput and speedup, pipeline hazards and 6
types, Approaches to overcome pipeline hazards.
Parallel Processors: Introduction to parallel processors, FLYNN’s classification,
Cache Coherence problem, Multiprocessors, Multi-Core system.
Course outcomes:
CO1: To draw the functional block diagram of single bus architecture of a computer.
CO2: To describe the function of the instruction execution cycle, RTL interpretation of
instructions, addressing modes, instruction set.
CO3: To know the design concept of Control unit and operation of ALU.
CO4: To Analyze cache performance, cache optimizations, memory technologies, Protection
via virtual memory and virtual machine
CO5: To assess the performance of a given CPU organization, and apply design techniques to
enhance performance using pipelining and parallelism.
Text / Reference Books:
T1: Computer Organization: Carl Hamacher, Zvonkovranesic, SafwatZaky, McGraw Hill
T2:Computer Architecture and Organization, 3rd Edition by John P. Hayes,
WCB/McGraw-Hill
T3: Computer Organization and Design: The Hardware/Software Interface, 5th Edition by
David A. Patterson and John L. Hennessy, Elsevier
T4: Computer Organization and Architecture: Designing for Performance, 10th Edition by
William Stallings, Pearson Education.
Online Resources:
[Link]
Number of Assignment:5
Sessional
Course Name: Object Oriented Programming Using Java Lab
Course Code:
Category PC
Contact Hrs./Week 2 Sessional Marks 100
Contact Hrs./Sem. 28 No Of Experiments 10
Course objectives:
[Link] teach fundamentals of object-oriented programming in Java. Understand various concepts of Java.
2. To familiarize Java environment to create, debug and run simple Java programs.
3. To demonstrate java compiler and eclipse platform and learn how to use Net Beans
IDE/Eclipse/Atom/Visual Studio Code to create Java Application.
Experiment-# Experiment
1 Write a Java program that prints all real solutions to the quadratic equation ax2 +bx
+ c = 0. Read in a, b, c and use the quadratic formula. If the discriminate b 2 -4ac is
negative, display a message stating that there are no real solutions.
2 The Fibonacci sequence is defined by the following rule: The first two values in the
sequence are 1 and 1. Every subsequent value is the sum of the two values preceding
it. Write a Java program that uses both recursive and non-recursive functions to print
the nth value in the Fibonacci sequence.
3 Write a Java program that prompts the user for an integer and then prints out all
prime numbers up to that integer. (Use Scanner class to read input)
4 Write a Java program that checks whether a given string is a palindrome or not. Ex:
MADAM is a palindrome.
5 Write a Java program for sorting list of names. Read input from command line.
6 Write a Java program to make frequency count of words in a given text.
7 Write a Java program to create a Student class with following fields i. Hall ticket
number ii. Student Name iii. Department Create ‘n’ number of Student objects
where ‘n’ value is passed as input to constructor.
8 Write a Java program that creates three threads. First thread displays “Good
Morning” everyone second, the second thread displays “Hello” every two seconds
and the third thread displays “Welcome” every three seconds
9 Write a Java program that reads a file name from the user, and then displays
information about whether the file exists, whether the file is readable, whether the
file is writable, the type of file and the length of the file in bytes.
10 Develop simple calculator using Swings
Course Outcomes:
CO1: Implement Object oriented features using Java
CO2: Apply the concept of polymorphism and inheritance.
CO3: Implement exception handling
CO4: Develop window-based application using Swing.
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 2
CO2 2 3
CO3 3 3
CO4 1 2 2 3
Course Name: Data Structures Lab
Course Code : ******
Category
Contact Hrs./Week 2 Sessional Marks 100
Contact Hrs./Sem. 28 No Of Experiments 14
Course objectives:
• To understand the principles of linear and non-linear datastucture
• Study the basic operations of array, stack and queue
• To understand the operations of linked list
• To Know the application of tree and graph
• Study the sorting and searching techniques and hashing mechanisms.
Experiment 1: Write a menu driven program to perform various operation like insertion, deletion ,
merging on an array.
Experiment 2: Write a menu driven program to create a stack using an array and perform push pop
and display operation.
Experiment 3: i) Write a menu driven program to create linear queue using an array and perform
insertion, deletion and traversal operation.
ii) Write a menu driven program to create circular queue using an array and perform insertion deletion
and traversal operation.
Experiment 4: Write a menu driven program to create a single linked list and perform insertion,
deletion at desired place of the list.
Experiment 5: Write a menu driven program to create a stack and queue using linked list and perform
various operation on it.
Experiment 6: i)Write a menu driven program to create a double linked list and perform insertion,
deletion at the desired place.
ii) Write a program to implement circular linked list
Experiment 7: Write a program for Polynomial addition using linked-list.
Experiment 8: Write a menu driven program to create a BST and display it.
Experiment 9: Write a menu driven program to perform selection, bubble, insertion sort and Merge
Sort.
Experiment 10: Write a program to perform
i) Binary Search
ii) Quick Sort
Experiment 11: Write a program to implement BFS and DFS graph traversals.
Experiment 12: Write a program to implement Dijkstra's algorithm.
Experiment 13: Write a program to implement evaluation of postfix expression using stack
Experiment 14:Write a program to implement conversion of infix expression to
postfix expression using stack.
Course Outcomes:
CO1: Implement array operations to solve problems
CO2: Understand stack operations using programming
CO3: Implementation of queue and its operations
CO4: Apply Liked list to solve problems
CO5: Apply tree concept to design the model
CO6: Implement graph to solve routing problems.
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 3
CO2 1 3
CO3 3 2 2
CO4 3 1
CO5 2 3
CO6 2 2 3
9 Design of Half Adder & Full Adder Circuit using ALU simulator.
10 Design of Ripple Carry adder and Carry look ahead adder Circuit using ALU
simulator.
11 Write a C program to perform signed bit multiplication using Booth’s algorithm
12 Write a C program for IEEE-754 floating point representation and perform
Addition/Subtraction.
Course Outcomes:
1. Ability to demonstrate an understanding of the design of the functional units of a digital
computer system.
2. Ability to Assemble a new computer system and dis assemble it.
3. To learn about SMPS and gain knowledge about power system of a computer system.
4. To gain knowledge on assembly programming with simulation approach.
5. To gain knowledge on different errors created in a computer system and approaches to resolve.
6. To understand the cache memory organization using simulator.
7. To understand ALU operation using simulator..
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 1 2 1
CO2 3 1 2 1
CO3 2 2 1
CO4 3 3 2 2
CO5 2 2 2
CO6 2 2 2 1
CO7 2 2 1
Semester-4
Fourth Semester
Theory
Sl. Course
Category Course Title L-T-P Credit
No. Code
1 BS Discrete Mathematical Structure 3-0-0 3
2 HS Organisational Behaviour 2-0-0 2
3 PC Design & Analysis of Algorithms 3-0-0 3
4 PC Data Base Engineering 3-0-0 3
5 PC Python Programming 3-0-0 3
Advanced Computer Architecture
6 PE Graph Theory 3-0-0 3
Digital Electronics
7 MC Constitution of India 1-0-0 0
Total Credit (Theory) 17
Practical
1 PC Design & Analysis of Algorithms Lab 0-0-2 1
2 PC Database Engineering Lab 0-0-2 1
3 PC Programming in Python Lab 0-0-2 1
4 PC Employability Skill-II 0-0-3 1
5 PSI Mini Project I 0-0-2 1
Total Credit (Practical) 5
Total Semester Credit 22
SUMMER INTERNSHIP TRAINING for 45 Days
Theory
Unit-2
Relational Data Model: Terms: Relation, Schema, Attributes, Tuples, Domains, Relation
Degree (or Arity) and Cardinality, Relation Intention and Extension, Super Key, 8
Candidate Key, Primary Key and Foreign Key, Relational Model Constraints, Schema
Diagram.
ER to Relation Mapping, Detailed storage architecture, Magnetic disk RAID Storage
Access, File & Record Organization Indexing and order indices (B, B+ Tree).
Unit-3
Query languages: Relational Algebra and its Operations: Set Theoretic Operators 7
(Union, Intersection, Cartesian product, Division), Relational Algebra operators
(Projection, Selection, Join, Rename.
Database Language: SQL (DDL, DML, DCL).
Unit-4
Normalization: Anomalies of un-Normalized Relation, Need of Normalization, Pros and 9
Cons of Normalization, Functional Dependency: Trivial, Full, Partial, Transitive,
Multivalued, Join, Inclusion Dependency, Dependency Diagram, Inference Rules for
Functional Dependencies, Closure of Functional Dependencies, Algorithms to find: 1.
Candidate Key, 2. Closure of Attribute Set, 3. Minimal Cover of Functional
Dependencies, Normal Forms: Checking of Lossless Join Decomposition and
Dependency Preservation, Normal Forms: 1NF, 2NF, 3NF, BCNF, 4NF.
Unit-5
Transaction: Concept, ACID properties, Transaction States; Schedule: Definition, 8
Types of Schedule, Serializability, Conflict and View Serializability, Precedence Graph,
Recoverable Schedule, Cascade less Schedule, Deadlock,
Concurrency Control Protocols: Lock Based, Timestamp Based Protocol,
Recovery System: Log based Recovery, Checkpoint, Shadow paging.
Course outcomes:
CO1: Differentiate the database concepts from conventional file storage system and describe DBMS
architecture, relational, hierarchical and network database models
CO2:Analyse application data using E-R modelling and describe the logical and physical database
designs.
CO3:Understand relational algebra, calculus and apply structured query language (SQL) for database
definition and manipulation.
CO4:Demonstrate an understanding of normalization theory and apply such knowledge to the
normalization of a database.
CO5: Use transaction management systems and recover methods.
Text Books:
T1: Database System Concepts, Silberschatz, Korth, Sudarshan, McGraw HillInternational Edition,
ISBN- 0-07-228363-7, 4th Edition.
T2: Fundamentals of Database Systems, Elmasri and Navathe, Pearson Education,ISBN 81-297-0228-
2, 4th Edition.
Reference Books:
R1: Database Systems, Thomas Connolly and Carolyn Begg, Pearson Education,ISBN 81-7808-861-4,
3rd Edition.
R2: Database Management Systems, Ramakrishnan and Gehrke, McGraw-HillInternational Edition,
ISBN 0-07-115110-9, 3rd Edition.
R3: An introduction to Database System – Bipin Desai, Galgotia Publications.
Online Resources:
[Link]
Number of Assignment:5
Unit-4 NP-Completeness
Tractable and Intractable Problems: Computability of Algorithms, Computability
classes – P, NP, NP-complete and NP-hard. Cook’s theorem, Standard NP-complete
problems (Clique Decision, Node cover Decision and Chromatic Number Decision 8
problem).
Course Outcomes: At the end of the course, the students will be able to:
CO1: Analyze the asymptotic performance of algorithms
CO2: Understand different algorithm design techniques
CO3: Apply important algorithmic design paradigms and methods of analysis
CO4: Demonstrate familiarity with major algorithms and data structures
CO5: Evaluate different classes of problems: P, NP , NP Complete and NP Hard
CO6: Develop algorithms to apply in common engineering design situations
Text Books:
T1: Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, ,Printice Hall
of
India,4th Edition.
T2: Fundamentals of Computer Algorithms by E. Horowitz & S Sahni, ,Galgotial publication; Second
edition.
Reference Books:
R1: Algorithm Design: Foundations, Analysis, and Internet Examples by Michael T Goodrich and Roberto
Tamassia, Wiley, Students Edition.
R2: Design and Analysis of Algorithms, [Link], PHI Learning
Online Resources:
1. [Link]
2. [Link]
3. [Link]
4. [Link]
Number of Assignment: 03
Expert Talk:03
Unit-2
Functions: modules and functions, function definition and use, flow of execution,
parameters and arguments; Fruitful functions: return values, parameters, local and
global scope, function composition, recursion;
Lists, Tuples, Dictionaries: Lists: list operations, list slices, list methods, list loop,
9
mutability, aliasing, cloning lists, list parameters; Tuples: tuple assignment, tuple as
return value; Dictionaries: operations and methods; advanced list processing - list
comprehension;
Unit 3
Strings: string slices, immutability, string functions and methods, string module; Lists
as arrays.
Files, Modules, Packages: Files and exception: text files, reading and writing files, 8
format operator; command line arguments, errors and exceptions, handling exceptions,
modules, packages
Unit-4
OOP Concepts: Basic Concepts of Object-Oriented Programming, Class, Objects and
object instantiation, Class constructor, Class methods, creating more than one object of 7
a class, Inheritance in Python Class.
Unit-5
Python Standard Library: Use of libraries in Python, How do Python libraries
work,installation, some commonly used Python libraries- Matplotlib, Pandas, Requests, 8
NumPy, SQLAlchemy, Pyglet, PyGame, Python Twisted
Course outcomes:
CO1: To get familiar with python environment.
CO2: To implement control structures and user defined functions in python
CO3: To understand the use of tuples, lists or maps.
CO4: To implement file and exception handling in python programs
CO5: To implement basic OOP concepts in python
CO6: To understand the use of standard library in python
Text Books:
T1: Allen B. Downey, ``Think Python: How to Think Like a Computer Scientist’’, 2nd edition, Updated
for
Python 3, Shroff/O’Reilly Publishers, 2016 ([Link] python/)
T2: Guido van Rossum and Fred L. Drake Jr, “An Introduction to Python – Revised and updated for
Python
3.2, Network Theory Ltd., 2011.
Reference Books:
R1: Charles Dierbach, “Introduction to Computer Science using Python: A Computational Problem-
Solving
Focus, Wiley India Edition, 2013.
R2: John V Guttag, “Introduction to Computation and Programming Using Python’’, Revised and
expanded
Edition, MIT Press , 2013
R3: Kenneth A. Lambert, “Fundamentals of Python: First Programs”, CENGAGE Learning, 2012.
R4: Paul Gries, Jennifer Campbell and Jason Montojo, “Practical Programming: An Introduction to
Computer Science using Python 3”, Second edition, Pragmatic Programmers,LLC,2013.
Online Resources:
[Link]
[Link]
Number of Assignment: 7
CO5: Understand the networking and routing for parallel system with study of distributed computing
and cloud computing architecture.
Text / Reference Books:
1. John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach,
Morgan Kaufmann
2. Kai Hwang, Adva
nced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill.
3. Computer Organization: Carl Hamacher, Zvonkovranesic, Safwat Zaky, McGraw Hill
4. Introduction to Parallel Computing, 2nd Edition, Pearson Education by Ananth Grama, Anshul
Gupta, George Karypis, Vipin Kumar.
(Separate sections for each Text/Reference Books, if applicable)
Online Resources:
[Link]
Number of Assignment: 10
Unit-2
Boolean Algebra: Boolean operations, Boolean functions, algebraic manipulations,
minterms and maxterms, sum-of-products and product-of-sum representations, two- 08
input logic gates, functional completeness
Unit-3
Minimization of Boolean Functions: Karnaugh map, don’t-care condition, Logic
gates, NAND/NOR gates, Universal gates
07
Unit-4
Combinational Circuits: Adder, subtractor, multiplier, comparator, decoders,
encoders, multiplexers, demultiplexers, MUX realization of switching functions, parity 08
bit generator, code converters, hazards and hazard free realizations
Unit-5
Synchronous Sequential Circuits: Finite state machines, latches and flip-flops (SR, 08
D, JK, T). Design of modulo-N ring & shift counters, serial binary adder. Registers
and Counters: Registers and shift registers, sequential adders, binary and BCD ripple
counters, synchronous counters
Course outcomes: At the end of this course, the students will be able to:
CO1:Become familiar with various number systems, codes and Boolean algebra.
CO2:Design and analyze combinational logic circuits.
CO3:Design & analyze various sequential logic circuits.
CO4: Be familiar with register and counter design
Text Books:
1. Digital Design by Morris Mano, PHI, 3rd Edition, 2006.
2. Digital Electronics by G.K. Kharate, Oxford University Press.
Reference Books:
1. An Engineering Approach to Digital Design by Fletcher, PHI.
2. Switching & Finite Automata theory by Z. Kohavi, TMH, 2nd Edition.
Modern Digital Electronics by R. P. Jain, McGraw-Hill Education, 4th Edition.
Online Resources:
[Link]
[Link]
Number of Assignment: 10
Expert Talk: 03
Prerequisites: Discrete Structure, Algorithm, Relation and function , Logic , Set theory
Units Teaching Hours
Unit-1
Introduction to graph, Isomorphism , Sub graphs ,Walks, Paths, Circuits :
Connectedness, Components, Euler graphs, Hamiltonian paths and circuits . Trees: 08
Properties of trees, Distance and centers in tree, Rooted trees and binary trees.
Unit-2
Spanning trees , Fundamental circuits , Spanning trees in a weighted graph,Kruskal’s 10
algorithm, Prim’s algorithm. Cut sets : Properties of cut set ,All cut sets . Fundamental
circuits and cut sets :Connectivity and separability ,Network flows ,Graph
Isomorphism ,Combinational and geometric graphs , Planer graphs : Different
representation of a planer graph.
Unit-3
Chromatic number , Chromatic partitioning , Chromatic polynomial , Matching
,Covering : Four color problem , Directed graphs : Types of directed graphs , Digraphs
and binary relations , Directed paths and connectedness , Euler graphs. 08
Unit-4
Fundamental principles of counting : Permutations and combinations , Binomial 08
theorem , combinations with repetition , Combinatorial numbers , Principle of
inclusion and exclusion , Derangement , Arrangements with forbidden positions
Unit-5
Generating functions : Partitions of integers , Exponential generating function , 10
Summation operator ,Recurrence relations : First order and second order , Non-
homogeneous recurrence relations , Method of generating functions
Course outcomes: At the end of this course, the students will be able to:
CO1:Write precise and accurate mathematical definitions of objects in graph theory.
CO2:Use mathematical definitions to identify and construct examples and to distinguish examples from non-
examples.
CO3:Validate and critically assess a mathematical proof.
CO4: Use a combination of theoretical knowledge and independent mathematical thinking in creative
investigation of questions in graph theory.
CO5:Reason from definitions to construct mathematical proofs
Text Books:
1. Narsingh Deo, “Graph Theory: With Application to Engineering and Computer Science”,
Prentice Hall of India, 2003.
2. Grimaldi R.P. “Discrete and Combinatorial Mathematics: An Applied Introduction”, Addison
Wesley, 1994.
3. Mott J.L., Kandel A. and Baker T.P. “Discrete Mathematics for Computer Scientists and
Mathematicians” , Prentice Hall of India, 1996.
Reference Books:
1. D. B. West, Introduction to Graph Theory, 2nd Ed, Prentice Hall of India, 2007
2. R. Diestel, Advanced Graph Theory, Springer Verlag Heidelberg, New York, 2005.
3. N. Alon and J. Spenser, "Probabilistic Methods", John Wiley and Sons, 2nd edition, 2000.
4. Rosen K.H., “Discrete Mathematics and Its Applications”, Mc Graw Hill, 2007
Online Resources:
[Link]
[Link]
[Link]
Number of Assignment:10
Expert Talk: 03
Sessional
Course Name: Database Engineering
Course Code:
Category PC
Contact Hrs./Week 2 Sessional Marks 100
Contact Hrs./Sem. 28 No Of Experiments 10
Course objectives:
1 To implement queries by using Structured Query Language.
Experiment-# Experiment
1 Use of DDL commands.
2 Use DML commands.
3 Use of DQL commands.
4 Programs using Relational Operators such as JOIN, PROJECT etc
5 Programs using PL/SQL.
6 Programs on Database Triggers.
7 Programs on Packages.
8 Development of an example program using Check Point Technique
9 Development of an example Concurrent Program and Serialization using Locking
Protocol.
10 Development of connection to the front end
Course Outcomes:
CO1: Apply the concept for database design, create database, and develop queries
CO2: Implement different database programs using procedures, function, and cursor.
CO3: Implement database features such as triggers, packages etc.
CO4: Implement ODBC/JDBC connectivity with programming languages and write programs to
store and retrieve data by using queries.
CO5: Use transaction management systems and recovery methods.
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3
CO2 1 3 2
CO3 3 2
CO4 2 2
CO5 2 2 1
Experiment-# Assignment/Experiment
1 Editing, compiling, executing, and debugging of simple Python programs
2 Programs on decision control and iterative control
3 Programs on user defines functions
4 Programs of String manipulations and to use list, tuples & dictionary
5 Programs to read/write files and use command line arguments
6 Programs to create modules and packages
7 Programs to create classes and corresponding objects
8 Programs to implement inheritance
9 Developing applications using Python Standard Library – I
10 Developing applications using Python Standard Library – II
Course Outcomes:
CO1: Understand the basic concept of programming
CO2: Apply programming concept to solve problem
CO3: Develop logic for problem solving
CO4: Remember the python programming approach for problem solving
CO5: Design various model to handle and process data.
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3
CO2 2 2
CO3 2 2
CO4 2 2
CO5 2 2
CO6 2 2
Semester-5
Fifth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 PC Operating System 3-0-0 3
2 PC Formal Language & Automata Theory 3-0-0 3
3 PC Advanced Java 3-0-0 3
Machine Learning 3-0-0
4 PE High Performance Computing 3-0-0 3
Cyber security and Law 3-0-0
Micro Processor and Micro Controller 3-0-0
5 OE Statistical Inference 3-0-0 3
Digital Image Processing 3-0-0
6 MC 0
Total Credit (Theory) 15
Practical
1 PC Operating System lab 0-0-2 1
2 PC Advanced Java Lab 0-0-2 1
3 PC Web Technology Lab 0-0-2 1
4 PSI Evaluation of Summer Internship-I 0-0-2 1
5 PC Employability Skill-III 0-0-3 1
6 PSI Mini Project II 0-0-2 1
Total Credit (Practical) 6
Total Semester Credit 21
Theory
Course Name: Operating Systems
Course Code : ******
L T P Category
Contact Hrs./Week 3 0 2 Internal Marks 40
Contact Hrs./Sem. 40 0 0 Semester Marks 60
Credits. 0 Exam Hours 3
Course objectives:
1. To provide knowledge about the services rendered by operating systems
2. To learn Scheduling and Process Synchronization.
3. To study Deadlock and Storage management.
4. To provide a detailed discussion of the various memory management techniques
5. To discuss the various file-system design and implementation issues
Course outcomes:
Students will be able to:
CO1:-Explain the types of operating system and ability to create threads.
CO2:- Understand CPU scheduling and and perform interprocess communication.
CO3 :-Understand issues surrounding deadlock handling and able to solve process synchronization
problems
CO4:- Explain paging and segmentation methods suitable for virtual memory.
CO5:- Be able to recover and manage disk spaces. Ability to manage files and directory Knowledge of
files systems.
Text Books:
1. Operating System Principles – Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, 9th edition,
Wiley-India, 2012.
2. Andrew S. Tanenbaum, “Modern Operating Systems”, 4/E, Pearson Publications, 2015
Reference Books:
1. Andrew S. Tanenbaum, “Modern Operating Systems”, Pearson Education, 2004, Second Edition
2. Gary Nutt, “Operating Systems”, Pearson Education, 2004 ,Third Edition.
3. Harvey M. Deitel, “Operating Systems”, Pearson Education, 2004, Third Edition.
4. Operating Systems: A Concept Based Approach – D.M Dhamdhere, 2nd Edition, Tata McGraw-
Hill, 2006.
Online Resources:
1. [Link]
2. [Link]
No of Assignment: 10
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 2 1 1 1
CO2 1 1 1 2 1
CO3 1 2 3 1
CO4 1 1 2 2
CO5 1 2 2 2
Unit-2
FA with output: Introduction to Moore Machines, Mealy Machines and Moore and 08
Mealy machine and their Conversion.
Regular Expressions: Operators in Regular expressions, Kleen’s Theorem, Building
Finite Automata from Regular expression, Arden’s theorem, Building Regular
expression from Finite Automata, Pumping Lemma for Regular languages, Properties
of Regular languages.
Unit-3
Introduction to Grammars: Definition, Chomsky classification of grammar.
Context Free Grammars: Definition, Derivation of string, Language from CFG, Parse
Tree, Left Recursion, Right Recursion, Ambiguity in grammar. 10
Normal forms of CFG: Chomsky and Greibach normal forms, Converting CFG to
CNF, and CFG to GNF.
Properties of context free languages, Cook, Younger, Kasami Algorithm, Pumping
Lemma for CFL.
Unit-4
Push Down Automata: Basic Model, Components, moves of a PDA, ID of a PDA,
Design of a PDA, CFG to PDA conversion. 08
Turing Machines: Model, Components, ID of TM, Design of a TM, Variation of TM
model, Universal Turing Machine.
Unit-5
Recursively Enumerable Languages and Undecidable problems, Undecidability of Post 07
correspondence problem, Halting problem, Church Turing hypothesis.
Primitive Recursive functions, µ- Recursive functions, Cantor and Godel numbering,
Ackermann's function, Recursive and Recursively Enumerable sets.
Expert Talk: 03
Unit-2 :
Basics of JDBC: Introduction to JDBC, Need of JDBC, JDBC Drivers (4 types),
Architecture of JDBC, Components of JDBC (Classes and Interfaces).
Programming with JDBC: Creating a DATABASE (MS-
ACCESS/ORACLE/MySQL (for Type-3 and Type-4 connection), First Program to
connect to the DATABASE created, Loading the Driver, Establishing the Connection,
Creating Statements (Statement/ PreparedStatement /CallableStatement), Executing a
SQL Query, Different types of SQL Queries, Simple Statement, Pre-Compiled 10
Statement, SQL Statements for stored Procedures.
JDBC Program to retrieve data from DATABASE: Introduction to Result Set,
Result Set with Statement Interface, Result Set with PreparedStatment Interface,
Bidirectional Result Set, Result Set Scroll ability Type, Result Set Updatability Type,
Updating data to the Database using Result Set, Result Set Metadata, Executing Stored
Procedures Using Callable Statement.
Unit 3 :
Introduction to Web Application and its programming: Description about Web
application and its Architecture, Client-Server Architecture, An Introduction to HTML5
, Basics of HTTP protocol
Introduction to Servlets: What is Servlet, Strengths of Servlet, Web Servers and its
Containers(Tomcat), Role of servlet in Web application development.
Getting Deep to Servlets: Understanding servlet-api, Types of Servlet class, Difference
between HttpServlet and GenericServlet , Life cycle of Servlets and different life cycle
methods, Difference between doGet() and doPost(), Servlet Generating Html output,
Collecting Client submitted data.
Servlet [Link] to DBMS communication using type-4 connection, 10
Servlet to DBMS communication using JDBC connection pooling, Servlet
communication with other
servlets (Servlet Chaining), Servlet communication with HTML page(sendRedirect(),
Difference between sendRedirect() and RequestDispatcher forward()),Understanding
ServletConfig.
Additional features to Servlets: Servlet Filters, Session Tracking using HTML hidden
form filed element, Cookies, HttpSession, URL rewriting, Annotation based servlet
programs.
Unit- 4 :
Java Server Pages: -Introduction to JSP, Scope of JSP, Anatomy of a JSP program,
Execution of a JSP program, Significance of JSP Engine, Built in objects of JSP,
Significance of JSP Elements, Scripting Elements, Scriptlets, Declaration, Expression
language, Directives and Action Elements, PageDirective, Include Directive, Taglib
Directive, JSP action Tags: Forward action element, Include, Param, useBean with 7
introduction to beans, setProperty, getProperty.
An introduction to JSTL(Core, Formatting only).
Unit-5 :
Introduction to Distributed Application Development : An Introduction to
XML/JSON.
Introduction to web services (SOAP/SOA), Rest API.
Modern JAVA Frameworks: Hibernate: Introduction to ORM with Hibernate, 6
Architecture of Hibernate, Hibernate mapping(one-to-one, many-to-one only). Spring:
Introduction to Spring, Dependency Injection, Architecture of Spring framework,
Introduction to Spring Core and Spring MVC module only.
Course Outcomes:
CO1: Design a desktop application which can used for many kind of clients.
CO2: Develop an application which can also be connected with the database.
CO3: To learn Server-Side Programming using Servlets and Java Server Pages.
CO4: Design a web application which can work as a dynamic web with the help of JDBC.
CO5: To learn the operations perform on data among web applications.
Text Books:
1. Advanced Java Programming, Uttam K. Roy, Oxford University Press.
2. Black book, Kogent Learning Solution Inc.
Reference Books:
1. The Complete Reference by Herbert Schildt
Online Resources:
1. [Link]
Number of Assignment: 10
Course Outcomes:
CO1 Apply supervised learning to solve related real-life problems.
CO2 Analyse a problem and select the most suitable supervised model for the same.
CO3 Apply classification & regression models such as SVM and decision models.
CO4 Preform clustering of given data with extraction of important features.
CO5 Apply the concepts of reinforcement learning to solve relevant real-life problems
Text Books:
1. Ethem Alpaydin, Introduction to Machine Learning, MIT Press, Prentice Hall of India, Third Edition
2014.
2. T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning - Data Mining,
Inference, and Prediction, 2nd Edition, Springer, 2009.
3. T2. S. Haykin, Neural Networks and Learning Machines, 3rd Edition, Pearson Education, 2009.
Reference Books:
1. R1. Y. G. James, D. Witten, T. Hastie, and R. Tibshirani, An Introduction to Statistical Learning with
Applications in R, 1st Edition, Springer, 2013.
2. R2. T. M. Mitchell, Machine Learning, 1st Edition, McGraw Hill Education, 2013.
3. R3. C. M. Bishop, Pattern Recognition and Machine Learning, 1st Edition, Springer, 2006.
Online Resources:
1. [Link] by Prof. S. Sarkar, IIT Kharagpur.
2. [Link] by Prof. B. Ravindran, IIT Madras.
3. [Link] by Prof. C. G. Jansson, IIT Madras.
Number of Assignment: 10
Course outcomes:
Students will be able to:
CO1: understand the modern processors functionality
CO2: Understand the concepts of Cluster Computing and use it for solving problem.
CO3: Understand the concepts of Load Sharing and Balancing and Apply it to solve problems.
CO4: Understand the concepts of Grid Computing use it.
CO5: Understand the concept of Cloud Computing and Apply it to solve problems.
Text Books
1. Georg Hager, Gerhard Wellein, Introduction to High Performance Computing for Scientists and
Engineers, Chapman & Hall / CRC Computational Science series, 2011.
2. R. Buyya, High Performance Cluster Computing: Architectures and Systems, Volume 1, Pearson
Education, 2008.
3. (Edited By) I. Foster and C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure,
Morgan Kaufmann, Elsevier, 2004.
4. D. Janakiram, Grid Computing, Tata McGraw-Hill, 2005.
5. R. Buyya, C. Vecchiola and S. T. Selvi, Mastering Cloud Computing Foundations and
Applications Programming, Morgan Kaufmann, Elsevier, 2013.
Reference Books
1. Chakrabarti, Grid Computing Security, Springer, 2007.
2. Wilkinson, Grid Computing: Techniques and Applications, CRC Press, 2009.
3. S. R. Prabhu, Grid and Cluster Computing, PHI, 2008.
4. Sosinsky, Cloud Computing Bible, Wiley, 2011.
5. Charles Severance, Kevin Dowd, High Performance Computing, O'Reilly Media, 2nd Edition,
1998.
6. Kai Hwang, Faye Alaye Briggs, Computer Architecture and Parallel Processing, McGraw Hill,
1984
Online Resources:
[Link]
No of Assignment: 5
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 3 2
CO2 3
CO3 3
CO4 3 2
CO5 2 3 2
Course Name: Cyber security and Law
Course Code : ******
L T P Category ES
Contact Hrs./Week 3 0 2 Internal Marks 40
Contact Hrs./Sem. 40 0 0 Semester Marks 60
Credits. 3 0 2 Exam Hours 3
Course objectives: The course aims to provide the students a good understanding of Cyber Security and
Cyber Law currently prevailed in India and abroad.
Prerequisites: NA
Units Teaching
Hours
Unit 1
Introduction to Cybercrime: Cybercrime definition and origins of the world, 6
Cybercrime and information security, Classifications of cybercrime, Cybercrime and
the Indian ITA 2000, A global Perspective on cybercrimes.
Online Resources:
No of Assignment: 5
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 3 2
CO2 3
CO3 3
CO4 3 2
CO5 2 3 2
Course outcomes:
Students will be able to:
CO1:Explain the architecture, pins & signals, programming model, instruction execution of 8085
Micro-processor and its interfacing with memory and I/O devices.
CO2: Explain the architecture, pins & signals, programming model, instruction execution of 8086
Micro-processor and its interfacing with memory and I/O devices.
CO3:Explain the concepts of embedded ICs, RISC and CISC processors and 8051 Micro-controller to
solve simple problems using assembly language programming.
CO4: Design Micro-controller based interfacing for different applications.
CO5:Demonstrate peripheral interfacing with advanced programming of Micro-processors and
Micro-controllers for real-time applications.
Text Books:
1. Microprocessor Architecture, Programming and application with 8085, R.S. Gaonkar, PRI
Penram International publishing PVT. Ltd., 5th Edition.
2. The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidi, Janice Gillispie
Mazidi, Rolin D.M C Kinlay, Pearson Education, Second Edition, 2008.
Reference Books:
1. Microprocessors and Interfacing, N. Senthil Kumar, M. Saravanan, S. Jeevananthan and S.K.
Shah,
Oxford University Press.
2. Advanced Microprocessors and Peripherals, A.K. Ray, K M Bhurchandi, TMH Publication, 2007.
3. Microprocessors and Microcontrollers Architecture, programming and system design using 8085,
8086, 8051 and 8096, Krishna Kant, PHI Publication, 2007.
4. B. Ram, Fundamentals of Microprocessors and Microcontrollers, 9th Edition, Dhanpat Rai
Publications, 2019.
Online Resources:
[Link] by Dr. P. Agarwal, IIT
Roorkee[Link] by Prof. K. Kumar, IISc Bangalore
No of Assignment: 5
Industry Expert Talk: 2
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 2 2
CO2 3 2 2 2
CO3 3 3 2
CO4 2 3 3 1 1
CO5 2 3 3 1 1
Experiment-# Assignment/Experiment
1 Introduction To Unix- Basic Unix Commands
2 Unix Editors , Programs Using The Some System Calls Of Unix Operating
System
3 C Programs To Simulate Unix Commands Like Cp, Ls, Grep
4 Simple Shell Programs
5 Shell Programs Using Loop
6 Cpu Scheduling Algorithms:- Sjf Scheduling Algorithm
7 Cpu Scheduling Algorithms:- Round Robin Scheduling Algorithm
8 Memory Allocation Methods For Fixed Partition- Worst Fit
9 Memory Allocation Methods For Fixed Partition- Best Fit
10 Page Replacement Algorithms.
CO1:Read, understand and trace the execution of various unix commands and editors.
CO2:Develop programs using Shell Programming.
CO3: Analyze the performance of various CPU Scheduling Algorithms.
CO4: Implement various memory allocation methods.
CO5:- Analyze the performance of the various Page Replacement Algorithms.
Semester-6
Sixth Semester
Theory
Sl.
Category Course Code Course Title L-T-P Credit
No.
1 PC Software Engineering 3-0-0 3
PC Data Communication & Computer
2 3-0-0 3
Networks
PE IoT
3 Blockchain Technology 3-0-0 3
Bioinformatics
Cloud Computing 3-0-0
PE Database Security 3-0-0 3
4
Wireless Sensor Network 3-0-0
Deep Learning 3-0-0
OE Human Computer Interface 3-0-0 3
5
Compiler Design 3-0-0
6 MC Essence of Indian Knowledge Tradition-1 0
Total Credit (Theory) 15
Practical
1 PC Software Engineering Lab 0-0-2 1
2 PC Computer Networking Lab 0-0-2 1
3 PC Java & Python Programming Practice Lab 0-0-3 1
4 PSI Seminar-I 0-0-2 2
5 PSI Evaluation of Internship-II 0-0-2 1
Total Credit (Practical) 6
Total Semester Credit 21
SUMMER INTERNSHIP TRAINING for 45 Days
Theory
Course Name: Software Engineering
Course Code : ******
L T P Category ES
Contact Hrs./Week 3 0 2 Internal Marks 40
Contact Hrs./Sem. 40 0 0 Semester Marks 60
Credits. 3 0 2 Exam Hours 3
Course objectives:The objective of this course is to provide fundamentals of software
engineering,software development life cycle & project management, object-oriented software design,
development, testing and quality assurance.
• Ability to relate practical problems to software engineering concepts
• Ability to model problems using standard software development models
• Ability to apply software engineering skills in real-world problem solving
Prerequisites: Knowledge of computers, logical & analytical ability, exposure to procedural and
object oriented programming languages is required.
Units Teaching
Hours
Unit-1 Software Process Model
Introduction to Software Engineering: Evolution and Emergence of Software
Engineering; Software Life Cycle Models: Classical Waterfall Model, Iterative 8
Waterfall Model, V-Model, Prototyping Model, Incremental Development Model,
Evolutionary Model, RAD model, Agile development models & Spiral model.
Unit-2 Software Requirement Engineering
Requirement Gathering and Analysis, Functional and Non-functional requirements, 10
Software Requirement Specification (SRS), IEEE 830 guidelines, Decision tables and
trees. Structured Analysis & Design: Overview of design process, High-level and
detailed design, Cohesion and coupling, Modularity and layering, Function–Oriented
software design: Structured Analysis using DFD Structured Design using Structure
Chart, Basic concepts of Object Oriented Analysis & Design. User interface design,
Command language, menu and iconic interfaces.
Text Books:
Reference Books:
1. Data communication & Computer Networks: Gupta, Prentice Hall of India.
2. Data and Computer Communications: William Stallings, Prentice Hall, Imprint of Pearson, 9th
Ed.
3. Computer Networks A system Approach, Larry L, Peterson and Bruce S. Davie, Elsevier.
4. Network for Computer Scientists & Engineers: Zheng, Oxford University Press
Online Resources:
1. [Link] Data Communicatin by Prof. A. Pal , IIT
Kharagpur
2. [Link] by Prof. S. Ghosh, IIT Kharagpur
No of Assignment: 5
Industry Expert Talk: 2
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 3 2
CO2 3 2 2 2
CO3 3 2 1 1
CO4 3 1 2 1
CO5 3 2 1 1 1
2. Dr. Ovidiu Vermesan and Dr. Peter Friess, Internet of Things: From research and innovation to market
deployment, River Publishers 2014.
Online Resources:
No of Assignment: 10
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 3 2 3 2
CO2 2 3 3 3
CO3 3 2
CO4 2 3 3
CO5 2 3 2
Unit-2
Bitcoin and Cryptocurrency: 08
What is Bitcoin, The Bitcoin Network, The Bitcoin Mining Process, Mining
Developments, Bitcoin Wallets, Decentralization and Hard Forks, Ethereum Virtual
Machine (EVM), Merkle Tree, Double-Spend Problem, Blockchain and Digital
Currency, Transactional Blocks, Impact of Blockchain Technology on Cryptocurrency.
Unit-3
Ethereum basics:
Ethereum and Smart Contracts, The Turing Completeness of Smart Contract
Languages and verification challenges, using smart contracts to enforce legal contracts, 08
comparing Bitcoin scripting vs. Ethereum Smart Contracts, writing smart contracts
using Solidity & JavaScript
Unit-4
Privacy, Security issues in Blockchain:
Pseudo-anonymity vs. anonymity, Zcash and Zk-SNARKS for anonymity preservation, 08
attacks on Blockchains: Sybil attacks, selfish mining, 51% attacks advent of algor and
Shading based consensus algorithms to prevent these attack
Unit-5
Case Studies: 08
Block chain in Financial Service, Supply Chain Management and Government Services
Blockchain Applications:
Internet of Things, Medical Record Management System, Do-main Name Service and
future of Blockchain.
Course outcomes:
At the end of this course, the students will be able to:
CO 1: Describe the basic concepts and technology used for blockchain.
CO 2: Illustrate the concepts of Bitcoin and their usage.
CO 3: Implement Ethereum block chain contract.
CO 4: Apply security features in blockchain technologies.
CO 5Use smart contract in real world applications.
Text Books:
T1: Lorne Lantz,Daniel Cawry , ‘Mastering Blockchain: Unlocking the Power of Cryptocurrencies,
Smart Contracts, and Decentralized Applications’, O′Reilly (31 October 2020)
T2: Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller and Steven Goldfeder,
‘Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction’, Princeton
University Press (July 19, 2016).
T3: Josh Thompson, ‘Blockchain: The Blockchain for Beginnings, Guild to Blockchain Technology
and Blockchain Programming’, Create Space Independent Publishing Platform, 2017.
Reference Books:
R1: Imran Bashir, “Mastering Blockchain: Distributed ledger technology, decentralization, ansmart
contracts explained”, Packt Publishing
R2: Narayanan, Bonneau, Felten, Miller and Goldfeder, “Bitcoin and Cryptocurrency Technologies
- A Comprehensive Introduction”, Princeton University Press.
R3: Merunas Grincalaitis, “Mastering Ethereum: Implement Advanced Blockchain Applications
Using Ethereum-supported Tools, Services, and Protocols”, Packt Publishing
Online Resources:
[Link] online course: [Link]
[Link]: [Link]
[Link] Online training: [Link]
curriculum
Number of Assignment: 05
Expert Talk: 03
Course outcomes:
Students will be able to:
CO1. Apply knowledge of bioinformatics in a practical project.
CO2. Develop the ability for critical assessment of scientific research publications in bioinformatics.
CO3. Build an understanding of the research process in general, such as research methods, scientific
writing, and research ethics.
CO4. Evaluate the main databases at the NCBI and EBI resources
CO5. Compare the databases, tools, repositories and be able to use each one to extract specific information
CO6. Demonstrate the selected tools at NCBI and EBI to run simple analyses on genomic sequences.
function and simple integration.
Text Books:
[Link]: Sequence and Genome Analysis David W. Mount, David Mount
2,Bioinformatics: the Machine Learning Approach – Pierre Baldi and Søren Brunak Publisher: MIT Press.
Reference Books:
1. Hooman H Rashidi, Lukas K Buehler. Bioinformatics Basics ‐2000.
2. Per Jambeck, Cynthia Gibas. Developing Bioinformatics Computer Skills. Computers – 2001.
3. Bioinformatics Methods and Protocols: Methods and Protocols. edited by Stephen Misener, Stephen A
Krawetz ‐ Science – 1999.
Online Resources:
No of Assignment: 10
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 3 2 3 3 3
CO2 3
CO3 3 2 3
CO4 3 2
CO5 2 3 2
CO6 3 1 3 2
Course Outcomes:
CO1: Articulate the main concepts, key technologies, strengths, and limitations of cloud computing
CO2: Discuss several applications for state-of-the-art cloud computing
CO3: Identify the architecture and infrastructure of cloud computing, including SaaS, PaaS, IaaS, public
cloud, private cloud, hybrid cloud, etc.
CO4: Explain the core issues of cloud computing such as security, privacy, and interoperability.
CO5: Provide the appropriate cloud computing solutions and recommendations according to the applications
used.
Text Books:
1. Kai Hwang, Geoffrey C. Fox and Jack J. Dongarra, “Distributed and cloud computing from Parallel
Processing to the Internet of Things”, Morgan Kaufmann, Elsevier – 2012
2. R. Buyya, C. Vecchiola and S. Thamarai Selvi, Mastering Cloud Computing: Foundations and
Applications Programming, Morgan Kaufmann, Elsevier, 2013.
Reference Books:
1. Barrie Sosinsky, “ Cloud Computing Bible” John Wiley & Sons, 2010
2. Tim Mather, Subra Kumaraswamy, and Shahed Latif, Cloud Security and Privacy An Enterprise
Perspective on Risks and Compliance, O'Reilly 2009
3. P. K. Pattnaik, M. R. Kabat and S. Pal, Fundamentals of Cloud Computing, Vikas Publishing House
Pvt. Ltd., 2015.
Online Resources:
2. [Link]
3. [Link]
Number of Assignment: 10
1. W. Dargie and C. Poellabauer, Fundamentals ofWireless Sensor Networks - Theory and Practice,
1stEdition,Wiley, 2010.
2. K. Sohraby, D. Minoli, and T. Znati, Wireless Sensor Networks - Technology, Protocols, and
Reference Books:
1. T. Hara, V. I. Zadorozhny, and E. Buchmann, Wireless Sensor Network - Technologies for the
Information Explosion Era, 1st Edition, Springer, 2010.
2. B. Krishnamachari, NetworkingWireless Sensors, 1st Edition, Cambridge University Press, 2005.
Online Resources:
[Link] by Prof. S. Misra, IIT Kharagpur
[Link] hy439 sensor nets [Link]
[Link] Lecture slides by Prof. K. M. Sivalingam,
University of Maryland, Baltimore, USA
No of Assignment: 10
Industry Expert Talk: 3
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 1
CO2 2 2 2 3 3 1
CO3 2 2 2 3 2 1
CO4 2 2 3 3 3 1
CO5 2 2 3 1 2 1
Course Outcomes:
CO1: Learn the foundations of Human Computer Interaction.
CO2: Understanding of design technologies for individuals and persons with disabilities.
CO3: Awareness of mobile HCI.
CO4: To learn the guidelines for user interface.
CO5: Ability to apply HCI and principles to interaction design.
Text Books:
1. The essential guide to user interface design, Wilbert O Galitz, Wiley Dream Tech.
2. . Human – Computer Interaction. Alan Dix, Janet Fincay, Gre Goryd, Abowd, Russell Bealg, Pearson
Education
Reference Books:
1. the user interface. 3rd Edition Ben Shneidermann, Pearson Education Asia.
2. Interaction Design Prece, Rogers, Sharps. Wiley Dreamtech.
3. User Interface Design, Soren Lauesen , Pearson Education.
Online Resources:
6. [Link]
Number of Assignment: 10
Unit-2
: Syntax Analysis
Role of a parser, Top Down Parsing: LL (1) grammars, predictive parsing.
Bottom Up Parsing: Handle pruning and shift reduce parsing, Operator precedence
parsing, SLR parsers and construction of SLR parsing tables, LR(1) parsers and
construction of LR(1) parsing tables, LALR parsers and construction of efficient LALR 12
parsing tables, parsing using ambiguous grammars, Context free grammars (CFG) and
Context free languages.
Unit 3 : Syntax Directed Translation, Error recovery and Intermediate code generation
Syntax-Directed Definitions (SDD), Semantic Rules, Evaluation of SDD using syntax
tree. Error Detection & Recovery: Lexical Phase errors, syntactic phase errors, semantic
errors. Intermediate Code Generation: Three address codes - quadruples and triples,
types and declarations, translation of expressions, array references, translation of
7
Boolean expressions and control flow statements, Back patching, intermediate code
generation for procedures.
Unit-4 : Code Generation
Issues in Code Generation, Basic Blocks and Flow Graphs, DAG representation of
Basic Blocks, Generating code from DAG. 5
Unit-5 : Code Optimization
Introduction, Principal Sources of Optimization, Optimization of basic Blocks,
5
Introduction to Global Data Flow Analysis, Peephole optimization.
Course Outcomes:
Upon completion of the course, graduates will be able to –
CO1: Review different phases and passes of compiler and its underlying formal models such as finite
state
automata, and their connection to language definition through regular expressions and grammars.
CO2: Differentiate various parser construction techniques.
CO3: Able to use formal attributed grammars for specifying the syntax and semantics of programming
languages and able to generate intermediate code generation.
CO4: Able to generate the code for the target machine.
CO5: Use code optimization techniques to improve the performance of a program in terms of speed &
space.
Text Books:
T1. “Compilers: Principles, Techniques and Tools”, A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman, Pearson
Education, ISBN 978-81317-2101-8, Second Edition, 2007.
T2. “Engineering a Compiler”, K. Cooper, L. Torozon, Morgan Kaufmann, ISBN 1-55860-698-X, First
Edition, 2003.
Reference Books:
R1. “Lex &Yacc”, J. R. Levine, T. Mason, D. Brown, “Lex &Yacc”, J. R. Levine, T. Mason, D. Brown,
O‟Reilly,
ISBN 1-56592-000-7, Second Edition, 1992.
R2. “Compiler Construction: Principles and Practice”, K. Louden, Course Technology, ISBN 0-534-93972-
4,
First Edition, 1997 (Separate sections for each Text/Reference Books, if applicable)
Online Resources:
[Link]
Number of Assignment:07
Expert Talk: 03
Mapping with Program Outcomes (POs)
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 2
CO2 1 2
CO3 2 1 3 2 2
CO4 2 2 2 2 3
CO5 2 2 2 1
Sessional
Course Name: Software Engineering Lab
Course Code : ******
Category ES
Contact Hrs./Week 2 Sessional Marks 100
Contact Hrs./Sem. 28 No Of Experiments 25
Course objectives:
• Perform requirement analysis and prepare SRS document for a software product.
• Design a software using FOD methodology and create the Structure Charts & DFDs.
• Design a software using OOD methodology and create UML models using a CASE tool.
• Develop the design of User Interfaces of a software using principles of a good design.
• Develop a software using a high-level programming language or tool and test the product.
Experiment-# Assignment/Experiment
1 Introduction to the complete objectives of the course & CASE tool. Assignment of
case study projects to student groups.
2 Requirement Analysis of the assigned case study project.
3 Requirement Specification of the assigned case study project.
4 Function Oriented Design Phase: Creation of structure chart and Level-0 DFD.
5 Function Oriented Design Phase: Creation of DFD Level-1, 2 etc.
6 Object Oriented Design Phase: Creation of Use Case UML model.
7 Object Oriented Design Phase: Creation of Class UML diagram.
8 Object Oriented Design Phase: Creation of Activity and Sequence UML diagrams
9 Object Oriented Design Phase: Creation of Collaboration, Statechart UML
diagrams.
10 Object Oriented Design Phase: Creation of Component and Deployment UML
diagrams.
11 Development of User Interface of the case study project.
12 Development and Unit testing of the case study project using programming
language of choice (Java, C++, .NET etc.) - Part 1.
13 Development and Unit testing of the case study project using programming
language of choice (Java, C++, .NET etc.) - Part 2.
14 Testing of the case study project (Integration, System test ,Performnce Test).
CO1:Perform requirement analysis and prepare SRS document for a software product.
CO2: Design a software using FOD methodology and create the Structure Charts & DFDs.
CO3: Design a software using OOD methodology and create UML models using a CASE tool.
CO4: Develop the design of User Interfaces of a software using principles of a good design.
CO5: Develop a software using a high-level programming language or tool and test the product
Experiment-# Assignment/Experiment
1 Introduction to Network Hardware and Software, Network Command like Netstat,
Tracert, Ping, Pathping, Telnet, FTP.
2 Basic idea about IPv4 addressing and programming to find the IP address of a
machine and Ethernet address.
3 To study various types of connector devices: Router, Hub, Switch, Bridge and
verification of standard Network topologies: Star, Bus, Ring etc.
4 Introduction to Socket Programming: TCP and UDP sockets.
5 Socket Programming for Echo Client and Echo Server using TCP socket.
6 Socket Programming for Chatting between two Machines using TCP socket.
7 Socket Programming for Echo Client and Echo Server using UDP socket.
8 Socket Programming for communicating between two Machines using UDP
socket.
9 Socket Programming for HTTP web page upload and download.
10 C Program to implement ARP/RARP Protocols.
11 Introduction to Network Simulator details (NetSim/NS3).
12 Simulation of different MAC Protocols: ALOHA, CSMA etc.
CO1: Experiment with transmission media, connector, Hubs, Switches and installation of NIC.
CO2: Implement client server applications with TCP/UDP Socket Programming in a standalone
machine and over a network.
CO3: Apply HTTP over TCP/UDP connection with help of a Browser.
CO4: Simulate Data link layer protocols using NetSim/NS3.
CO5: Develop applications to communicate over heterogeneous networks (Internet).