Screenshot 2025-01-24 at 9.00.31 AM
Screenshot 2025-01-24 at 9.00.31 AM
SYLLABUS
For
B.TECH
(Computer Science and Engineering)
3RD Year
SEMESTER-V
Evaluation Scheme
Subject
Subject Periods Sessional
S. NO. ESE Total Credit
Codes Category Subject Exam
L T P CT TA Total TE PE
Design and Analysis of
1 CST-010 DC 3 1 0 30 20 50 100 150 4
Algorithms
2 CST-011 DC Database Management System 3 1 0 30 20 50 100 150 4
3 CST-012 DC Compiler Design 3 1 0 30 20 50 100 150 4
Abbreviations: L-No. of Lecture hours per week, T-No. of Tutorial hours per week, P-No. of Practical hours per
week, CT-Class Test Marks, TA-Marks of teacher’s assessment including student’s class performance and
attendance, PS-Practical Sessional Marks, ESE-End Semester Examination, TE- Theory Examination Marks, PE-
Practical External Examination Marks
Minor Courses (Optional) **: Select any subject from Annexure – II from other departments
COURSE OUTCOMES: On successful completion of the course, the student will be able to:
1. Analyze worst-case running times of algorithms based on asymptotic analysis and justify the
correctness of algorithms.
2. Describe the greedy paradigm and explain when an algorithmic design situation calls for it.
For a given problem develop the greedy algorithms.
3. Describe the divide-and-conquer paradigm and explain when an algorithmic design situation
calls for it. Synthesize divide-and-conquer algorithms. Derive and solve recurrence relation.
4. Describe the dynamic-programming paradigm and explain when an algorithmic design
situation calls for it.
5. Analyze randomized algorithms and approximation algorithms.
Analysis of recursive algorithms through recurrence relations: Substitution method, Recursion tree method
and master’s theorem.
Unit 2- Fundamental Algorithmic Strategies: Brute-Force, Greedy, Dynamic Programming, Branch- and-
Bound and Back tracking methodologies for the design of an algorithms, Illustrations of these techniques for
Problem-Solving, Knapsack, Matrix Chain Multiplication, Activity selection and LCS Problem.
Unit 3- Graph and Tree Algorithms: Traversal algorithms: Depth First Search (DFS) and Breadth First
Search (BFS), Shortest path algorithms, Minimum Spanning Tree, Topological sorting, Network Flow
Algorithm, Binomial Heap and Fibonacci Heap.
Unit 4- Tractable and Intractable Problems: Computability of Algorithms, Computability classes – P, NP,
NP-complete and NP-hard, Standard NP-complete problems and Reduction techniques.
Unit 5- Advanced Topics: Approximation algorithms and Randomized algorithms, Distributed Hash Table
TEXTBOOKS:
1. Thomas H Cormen, Charles E Lieserson, Ronald L Rivest and Clifford Stein, Introduction to
Algorithms, 4TH Edition, MITPress/McGraw-Hill.
2. Ellis Horowitz, Sartaj Sahni and SanguthevarRajasekaran, Computer Algorithms/ C++, Second Edition,
Universities Press, 2007.
REFERENCE BOOKS:
1. Jon Kleinberg and ÉvaTardos,Algorithm Design, 1ST Edition, Pearson.
2. Michael T Goodrich and Roberto Tamassia,Algorithm Design: Foundations, Analysis, and Internet
Examples, Second EditionWiley.
3. Anany Levitin, ―Introduction to the Design and Analysis of Algorithms, Third Edition, Pearson
Education, 2012.
COURSE OUTCOMES: On successful completion of the course, the student will be able to:
1. Write relational algebra expressions for that query and optimize the developed expressions.
2. Design the databases using E-R method and normalization.
3. Understand the concepts of function dependencies and various normal forms.
4. Understand the concept of transaction atomicity, consistency, isolation, and durability properties in
context of real life examples.
5. Develop the understanding of query processing and advanced databases.
.
Database models: Entity-relationship model, network model, relational and object oriented data models,
integrity constraints, data manipulation operations.
Unit 2-Relational Model: Structure of relational database, Relational Algebra: Fundamental operations,
Additional Operations, Extended Relational-Algebra operations, Tuple Relational Calculus – Domain Relational
Calculus. SQL: Basic structure, Set operations, Aggregate functions, Null Values, Nested subqueries, Views,
Data Definition Language, Embedded SQL, Dynamic SQL, Domain Constraints, Referential Integrity and
Triggers.
Unit 3-Relational database design: Functional Dependencies, First, Second, Third Normal Forms, Closure,
Armstrong’s Axioms, Canonical cover, Decomposition, Properties of Decomposition, Dependency Preservation,
Boyce-Codd Normal Form, Fourth Normal Form, Fifth Normal Form.
Unit 4-Transaction processing: Transaction Concepts, ACID Properties, Two-Phase Commit, Save Points,
Concurrency Control techniques: Locking Protocols, Two Phase Locking, timestamp-based protocol, Multi-
version and optimistic Concurrency Control schemes, Database recovery.
Unit 5-Storage Structure, Query Processing and Advanced database: Storage structures: RAID. File
Organization: Organization of Records, Indexing, Ordered Indices, B+ tree Index Files, B tree Index Files.
Advanced Database: Object-oriented and object-relational databases, logical databases, web databases,
distributed databases, data warehousing and data mining.
TEXTBOOKS:
1. Abraham Silberschatz, Henry F. Korth, S. Sudharshan, ―Database System Concepts, Sixth Edition,
Tata McGraw Hill, 2011.
2. RamezElmasri, Shamkant B. Navathe, ―Fundamentals of Database Systems, Sixth Edition, Pearson
Education, 2011.
REFERENCE BOOK:
1. C.J.Date, A.Kannan, S.Swamynathan, ―An Introduction to Database Systems, Eighth Edition,
Pearson Education, 2006.
2. Raghu Ramakrishnan, ―Database Management Systems, Fourth Edition, McGraw-Hill College
Publications, 2015.
3. G.K.Gupta,"Database Management Systems, Tata McGraw Hill, 2011.
OUTCOMES: On successful completion of the course, the student will be able to:
UNIT - I
INTRODUCTION TO COMPILERS: Structure of a compiler – Lexical Analysis – Role of Lexical Analyzer
– Input Buffering – Specification of Tokens – Recognition of Tokens – Lex – Finite Automata – Regular
Expressions to Automata – Minimizing DFA.
UNIT- II
SYNTAX ANALYSIS: Role of Parser – Grammars – Error Handling – Context-free grammars – Writing a
grammar – Top Down Parsing - General Strategies, Recursive Descent Parser, Predictive Parser-LL(1) Parser-
Shift Reduce Parser-LR Parser-LR (0)Item Construction of SLR Parsing Table - Introduction to LALR Parser -
Error Handling and Recovery in Syntax Analyzer-YACC.
UNIT- III
SYNTAX-DIRECTED TRANSLATION: Syntax-Directed Definitions, Evaluation Orders for SDD's,
Applications of Syntax-Directed Translation, Syntax-Directed Translation Schemes, Implementing L-Attributed
SDD's.
UNIT- IV
RUN-TIME ENVIRONMENTS: Stack Allocation of Space, Access to Nonlocal Data on the Stack, Heap
Management, Introduction to Garbage Collection, Introduction to Trace-Based Collection.
CODE GENERATION: Issues in the Design of a Code Generator, The Target Language, addresses in the
Target Code, Basic Blocks and Flow Graphs, Optimization of Basic Blocks, A Simple Code Generator,
Peephole Optimization, Register Allocation and Assignment, Dynamic Programming Code-Generation.
UNIT- V
MACHINE-INDEPENDENT OPTIMIZATION: The Principal Sources of Optimization, Introduction to
Data-Flow Analysis, Foundations of Data-Flow Analysis, Constant Propagation, Partial-Redundancy
Elimination, Loops in Flow Graphs, peep-hole optimization.
TEXTBOOKS:
1. Compilers Principles, Techniques and Tools, Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, PEA.
2. Introduction to Automata Theory Languages & Computation, 3rd Edition, Hopcroft, Ullman, PEA
REFERENCE BOOKS:
1. Theory of Computer Science, Automata Languages and Computation, 2nd Edition, Mishra, Chandra
Shekaran, PHI.
2. Elements of Compiler Design, A.Meduna, Auerbach Publications, Taylor and Francis Group.
COURSE OUTCOMES: On successful completion of the course, the student will be able to
Unit 2- Software Requirement Analysis: Structured analysis, object-oriented analysis, software requirement
specification, and validation.
Unit 3- Design and Implementation of Software: software design fundamentals, design methodology
(structured design and object-oriented design), design verification, monitoring and control coding.
Unit 4- Testing:Testing fundamentals, white box and black box testing, software testing strategies: unit testing,
integration testing, validation testing, system testing, debugging.
Unit 5- Software Reliability: Metric and specification, fault avoidance and tolerance, exception handling,
defensive programming.Software Maintenance – maintenance characteristics, maintainability, maintenance
tasks, maintenance side effects. CASE tools, software certification- requirement, types of certifications, third
part certification. Software Re-Engineering, reverse software Engineering. Software Configuration Management
Activities, Change Control Process, Software Version Control, CASE: introduction, levels of case, architecture,
case building blocks, objectives, case repository, characteristics of case tools, categories, Estimation of Various
Parameters such as Cost, Efforts, Schedule/Duration, Constructive Cost Models (COCOMO), Resource
Allocation Models, Software Risk Analysis and Management.
TEXTBOOKS:
1. Roger Pressman, ―Software Engineering: A Practitioner ‘s Approach, McGraw Hill, ISBN 007–
337597–7.
2. Ian Sommerville, ―Software Engineering, Addison and Wesley, ISBN 0-13-703515-2.
REFERENCE BOOKS:
1. Carlo Ghezzi, ―Fundamentals of Software Engineering, Prentice Hall India, ISBN-10: 0133056996.
2. Rajib Mall, ―Fundamentals of Software Engineering, Prentice Hall India, ISBN-13: 9788120348981.
3. Pankaj Jalote, ―An Integrated Approach to Software Engineering, Springer, ISBN 13:
9788173192715.
4. S K Chang, ―Handbook of Software Engineering and Knowledge Engineering, World Scientific, Vol
I, II, ISBN: 978-981-02-4973-1.
5. Tom Halt, ―Handbook of Software Engineering, ClanyeInternational ISBN- 10: 1632402939.
COURSE OUTCOMES: On successful completion of the course, the student will be able to
1. Grasp a fundamental understanding of goals, components, and evolution of real time systems.
2. Explain the concepts of real time scheduling.
3. Learn the scheduling policies of modern operating systems.
4. Understand the resource access control techniques in real time systems.
5. Understand the concept of real time communication.
Unit 1-Introduction: Definition, Typical Real Time Applications: Digital Control, High Level Controls, Signal
Processing etc., Release Times, Deadlines, and Timing Constraints, Hard Real Time Systems and Soft Real
Time Systems, Reference Models for Real Time Systems: Processors and Resources, Temporal Parameters of
Real Time Workload, Periodic Task Model, Precedence Constraints and Data Dependency.
Unit 2-Real Time Scheduling: Common Approaches to Real Time Scheduling: Clock Driven Approach,
Weighted Round Robin Approach, Priority Driven Approach, Dynamic Versus Static Systems, Optimality of
Effective-Deadline-First (EDF) and Least-Slack-Time-First (LST) Algorithms, Offline Versus Online
Scheduling, Scheduling Aperiodic and Sporadic jobs in Priority Driven and Clock Driven Systems.
Unit 3-Resources Access Control: Effect of Resource Contention and Resource Access Control (RAC), Non-
preemptive Critical Sections, Basic Priority-Inheritance and Priority-Ceiling Protocols, Stack Based Priority-
Ceiling Protocol, Use of Priority-Ceiling Protocol in Dynamic Priority Systems, PreemptionCeiling Protocol,
Access Control in Multiple-Unit Resources, Controlling ConcurrentAccesses to Data Objects.
Unit 4-Multiprocessor System Environment: Multiprocessor and Distributed System Model, Multiprocessor
Priority-Ceiling Protocol,Schedulability of Fixed-Priority End-to-End Periodic Tasks, Scheduling Algorithms
for End-to-End Periodic Tasks, End-to-End Tasks in Heterogeneous Systems, Predictability andValidation of
Dynamic Multiprocessor Systems, Scheduling of Tasks with Temporal Distance Constraints.
Unit 5-Real Time Communication: Model of Real Time Communication, Priority-Based Service and
Weighted Round-Robin Service Disciplines for Switched Networks, Medium Access Control Protocols for
Broadcast Networks, Internet and Resource Reservation Protocols, Real Time Protocols,Communication in
Multicomputer System, An Overview of Real Time Operating Systems.
TEXTBOOKS:
1. Real Time Systems – Jane W. S. Liu, Pearson Education Publication.
2. Real-Time Systems Design and Analysis, Phillip. A. Laplante, second edition, PHI, 2005.
REFERENCE BOOKS:
1. Real Time Systems – Mall Rajib, Pearson Education
2. Real-Time Systems: Scheduling, Analysis, and Verification – Albert M. K. Cheng, Wiley.
COURSE OUTCOMES: Upon successful completion of the course, the students will be able to
1. Solve recurrence equations by considering time and space complexity.
2. Analyse the complexities of various problems in different domains.
3. Solve the problems that comprises of shortest route issue.
4. Solve the problems that address the issue of dynamic programming
5. Synthesize efficient algorithms in common engineering design situations.
LIST OF EXCERCISES
11. Write a program that uses dynamic programming algorithm to solve the optimal binary search tree
problem.
12. Write a program for solving traveling salespersons problem using the following:
a) Dynamic programming algorithm.
b) The back tracking algorithm.
c) Branch and bound.
COURSE OUTCOMES: On successful completion of the course, the students will be able to
1. Understand, appreciate, and effectively explain the concepts of database Technologies.
2. Declare and enforce integrity constraints on a database using RDBMS.
3. Devise a complex query using SQL DML/DDL commands.
4. Create views and use in-built functions to query a database.
5. Write PL/SQL programs including stored procedures, stored functions and triggers.
LIST OF EXPERIMENTS
1. Build the following database schemas and perform the manipulation operations on these schemas using
SQL DDL,DML,TCL and DCL commands.
(I) Database Schema for a customer-sale scenario
Customer(Custid : integer, cust_name: string)
Item(item_id: integer, item_name: string, price: integer)
Sale(bill_no: integer, bill_data: date, cust_id: integer, item_id: integer, qty_sold: integer)
COURSE OUTCOMES: On successful completion of the course, the students will be able to
1. Understand the basic concepts; ability to apply automata theory and knowledge on formal languages.
2. Understand the basic concepts and application of Compiler Design
3. Apply their basic knowledge Data Structure to design Symbol Table, Lexical Analyser, Intermediate
Code Generation, Parser (Top Down and Bottom-Up Design) and will able to understand strength of
Grammar and Programming Language.
4. Understand various code optimization techniques and error recovery mechanisms.
5. Understand and Implement a Parser.
LIST OF PRACTICALS:
1. Design a lexical analyzer for given language and the lexical analyzer should ignore redundant spaces,
tabs and new lines. It should also ignore comments. Although the syntax specification states that
identifiers can be arbitrarily long, you may restrict the length to some reasonable value. Simulate the
same in C language
2. Write a C program to identify whether a given line is a comment or not
3. Write a C program to test whether a given identifier is valid or not.
4. Write a C program to simulate lexical analyzer for validating operators.
5. To Study about Lexical Analyzer Generator(LEX) and Flex(Fast Lexical Analyzer)
6. Implement following programs using Lex:
a) Create a Lexer to take input from text file and count no of characters, no. of lines & no. of words.
b) Write a Lex program to count number of vowels and consonants in a given input string.
7. Implement following programs using Lex.
a) Write a Lex program to print out all numbers from the given file.
b) Write a Lex program to printout all HTML tags in file.
c) Write a Lex program which adds line numbers to the given file and display the same onto the
standard output.
8. Write a Lex program to count the number of comment lines in a given C program. Also eliminate them
and copy that program into separate file.
9. Write a C program for implementing the functionalities of predictive parser for the mini language.
Syllabus of B.TECH – Computer Science and Engineering PAGE 30
VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN
COURSE OUTCOMES: At the end of internship/mini project, the students will be able to
1. Understand organizational issues and their impact on the organization and employees.
2. Identify industrial problems and suggest possible solutions.
3. Relate, apply and adapt relevant knowledge, concepts and theories within an industrial organization,
practice and ethics.
4. Apply technical knowledge in an industry to solve real world problems.
5. Demonstrate effective group communication, presentation, self-management, and report writing skills.
COURSE OUTCOMES
On successful completion of the course, the students will be able to
council of ministers, Parliament, Supreme court and so on), Framework for state
government (Governor, Chief Minister, state legislature, High court and so on) and
Framework for local self government (Panchayatiraj, Municipalities) and Union
Territories.
Unit-5 Constitutional, Non-Constitutional and other bodies
Discussion on Various constitutional bodies like Election Commission, UPSC, SPSC,
Finance commission, NCSC, NCST, NCBC, CAG and AGI. Discussion on Various non-
constitutional bodies like NITI Aayog, NHRC, CIC, CVC, CBI, Lokpal and Lokayukta.
Discussion on Various other constitutional bodies like Co- operative societies, Official
Language, Tribunals etc.
Text/Reference books-
1. M. Laxmikanth, “Indian Polity”, McGraw- Hill, 6th edition, 2020
st
2. D.D. Basu, “Introduction to the Indian Constitution”, LexisNexis, 21 edition, 2020
3. S.C. Kashyap, “ Constitution of India”, Vitasta publishing Pvt. Ltd., 2019
Unit 1- INTRODUCTION TO LIBRARIES IN PYTHON: Data Analysis libraries: will learn to use Pandas Data Frames,
Numpy multi-dimensional arrays, and SciPy libraries to work with a various dataset.
Unit 2- PANDAS: Pandas, an open-source library: load, manipulate, analyze, and visualize various datasets. Series and Data
Frames, Grouping, aggregation, Merge Data Frames, Generate summary tables, Group data into logical pieces, Manipulation of
data.
Unit 3-SCIKIT: Scikit- learn : build smart models and make predictions, various parameters that can be used to compare
various parameters, Data Representation, Estimator API, Conventions, Linear Modelling, extended Linear Modeling. Anomaly
Detection, KNN Learning.
Unit 4- DATA ANALYSIS & PREDICTION: Descriptive Statistics, Basic of Grouping, ANOVA, Correlation, Polynomial
Regression and Pipelines, R- squared and MSE for In-Sample Evaluation, Prediction and Decision Making.
Unit 5- MODEL EVALUATION: Grid Search, Model Refinement, Binning, Indicator variables, Model Evaluation, Over-
fitting, Under- fitting and Model Selection, Ridge Regression.
TEXTBOOKS:
1. Data Visualization with Python and JavaScript, Kyran Dale, Shro ff Publisher/ O'ReillyPublisher Publication.
2. Data Science Using Python and R by Chanta l D. Larose and Daniel T. Larose , Wiley Publication.
REFERENCE BOOKS:
1. Python for Data Science and Visualization -Beginners to Pro, Udemy.
VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN
DSP-003: ANALYSING, VISUALIZING AND APPLYING DATA SCIENCE WITH PYTHON LAB
L: T: P: : 0: 0: 2 Credits – 1
1. Apply basic statistics function of python on New York City- 311 Complaints and Housing datasets.
2. Visualize Iris dataset using matplotlib library.(bar, histogram, pie chart, boxplot, etc.)
3. Write a program to predict the class of a flower based on variousfeatures of iris dataset.
4. Write a Python program to add, subtract, multiple and divide two PandasSeries.
5. Write a Pandas program to split the following dataframe into groups basedon all columns and calculate
Groupby value counts on the dataframe.
Test Data:
Id type book
1 10 Math
2 15 English
1 11 Physics
1 20 Math
2 21 English
1 12 Physics
2 14 English
1. Write a Pandas program to partition each of the passengers into four categories based on their age Note: Age
categories (0, 10), (10, 30), (30,60), (60, 80).
2. Write a Pandas program to create.
VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN
a) Date time object for Jan 15, 2012.
b) Specific date and time of 9:20 pm.
c) Local date and time.
d) A date without time.
e) Current date.
f) Time from a date time.
g) Current local time.
3. Write a Pandas program to create a date from a given year, month, day and another date from a given string
formats.
4. Write a Pandas program to print the day after and before a specified date. Also print the days between two
given dates.
5. Write a Pandas program to create a time series using three months frequency.
6. Write a Pandas program to create a sequence of durations increasing by an hour.
7. Write a Pandas program to check if a day is a business day (weekday) or not.
8. Write a Pandas program to create a Pivot table with multiple indexes from a given excel sheet.
9. Write a Pandas program to create a Pivot table and find the total sale amount region wise, manager wise.
10. Write a Pandas program to create a Pivot table and count the manager wise sale and mean value of sale
amount.
11. Write a Pandas program to create a Pivot table and find the maximum and minimum sale value of the items.
12. Write a Python program using Scikit-learn to print the keys, number of rows-columns, feature names and the
description of the Iris data.