0% found this document useful (0 votes)
68 views24 pages

Screenshot 2025-01-24 at 9.00.31 AM

The document outlines the syllabus for the B.Tech in Computer Science and Engineering for the 3rd year at Veer Madho Singh Bhandari Uttarakhand Technical University, effective from the 2024-25 session. It includes details on subjects, evaluation schemes, course objectives, and outcomes for various courses such as Design and Analysis of Algorithms, Database Management Systems, and Compiler Design. Additionally, it specifies departmental electives, practical labs, and optional minor courses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views24 pages

Screenshot 2025-01-24 at 9.00.31 AM

The document outlines the syllabus for the B.Tech in Computer Science and Engineering for the 3rd year at Veer Madho Singh Bhandari Uttarakhand Technical University, effective from the 2024-25 session. It includes details on subjects, evaluation schemes, course objectives, and outcomes for various courses such as Design and Analysis of Algorithms, Database Management Systems, and Compiler Design. Additionally, it specifies departmental electives, practical labs, and optional minor courses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY


(Formerly Uttarakhand Technical University, Dehradun Established by Uttarakhand State Govt. wide Act no. 415 of 2005)
Suddhowala, PO-Chandanwadi, Premnagar, Dehradun, Uttarakhand (Website- www.uktech.ac.in)

SYLLABUS
For

B.TECH
(Computer Science and Engineering)
3RD Year

Effective From – Session 2024-25

Syllabus of B.TECH – Computer Science and Engineering PAGE 1


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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

4 CST-0XX DE Departmental Elective–1 3 0 0 30 20 50 100 150 3


5 CST-0XX DE Departmental Elective–2 3 0 0 30 20 50 100 150 3
Design and Analysis of
6 CSP-010 DLC 0 0 2 25 25 25 50 1
Algorithms Lab
Database Management System
7 CSP-011 DLC 0 0 2 25 25 25 50 1
Lab
8 CSP-012 DLC Compiler Design Lab 0 0 2 25 25 25 50 1
9 CSP-013 DLC Mini Project-II or Internship-II* 0 0 2 50 50 1
AHT-009/ MC Constitution of India / Essence of
10 AHT-010 Indian Traditional Knowledge 2 0 0 15 10 25 50
11 GP-005 NC General Proficiency 50
Total 17 3 8 950 22
12 Minor Course(Optional)** 3 1 0 30 20 50 100 4
*The Mini Project-II or Internship-II (4-6weeks)will be conducted during summer break after IV semester and will be
assessed during the V semester
MOOCs course

Departmental Elective–1 Departmental Elective- 2


Subject S.
S. No. Subject Name Subject Code Subject Name
Code No.
Fault Tolerant
1 CST-013 Graph Theory 1 CST-017
Computing
2 CST-014 Computer Graphics 2 CST-018 Real-Time System
3 CST-015 Software Engineering 3 CST-019 Distributed System
4 CST-016 Queuing Theory & Modelling 4 CST-020 Fuzzy Logic

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

1 Hr Lecture 1 Hr Tutorial 2 or 3 Hr Practical

1 Credit 1 Credit 1 Credit

Syllabus of B.TECH – Computer Science and Engineering PAGE 2


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

DESIGN & ANALYSIS OF ALGORITHMS (CST-010)


L:T:P:: 3:1:0 Credits-04

COURSE OUTCOMES: The objectives of this course are to:


1. Understand and apply the algorithm analysis techniques.
2. Analyze the efficiency of alternative algorithmic solutions for the same problem.
3. Understand different algorithm design techniques.
4. Understand the limitations of Algorithmic power.

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.

Unit 1- Introduction: Characteristics of an algorithm, Analysis of algorithm: Asymptotic analysis of


complexity bounds – best, average, and worst-case behavior, Sorting techniques and their performance analysis,
Time a space trade-off.

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 4


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 5


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

DATABASE MANAGEMENT SYSTEMS (CST-011)

L:T:P:: 3:1:0 Credits-04

COURSE OBJECTIVES: The objectives of this course are to:


1. Learn the fundamentals of data models and to represent a database system using ER diagrams.
2. Study SQL and relational database design.
3. Understanding the internal storage structures using different file and indexing techniques which will
help in physical DB design.
4. Understand the fundamental concepts of transaction processing- concurrency control techniques and
recovery procedures.
5. Have the knowledge about the Storage and Query Processing Techniques

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.
.

Unit 1-Introduction: Data Abstraction, Data Independence, Data Definition Language(DDL),Data


Manipulation Language(DML), 3 level Database System Architecture.

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 6


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Query Processing: Overview, Measures of Query Cost, Query optimization.

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 7


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

COMPILER DESIGN (CST-012)


L:T:P:: 3:1:0 Credits-04

OBJECTIVES: The objectives of this course are to:


1. Learn the various phases of compiler and various parsing techniques.
2. Understand intermediate code generation and run-time environment.
3. Learn to implement front-end of the compiler and code generator.

OUTCOMES: On successful completion of the course, the student will be able to:

1. Understand the different phases of compiler.


2. Design a lexical analyser for a sample language using LEX tool.
3. Apply different parsing algorithms to develop the parsers for a given grammar using YACC tool.
4. Understand syntax-directed translation and run-time environment.
5. Learn to implement code optimization techniques and a simple code generator.

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.

INTERMEDIATE-CODE GENERATION: Variants of Syntax Trees, Three-Address Code, Types and


Declarations, Type Checking, Control Flow, Switch-Statements, Intermediate Code for Procedures.

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 8


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 9


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

SOFTWARE ENGINEERING (CST-015/CSO-052)

L:T:P:: 3:0:0 Credits-03

COURSE OBJECTIVES: The objectives of this course are to

1. Learn and understand the principles of Software Engineering.


2. Learn methods of capturing, specifying, visualizing, and analyzing software requirements.
3. Apply Design and Testing principles to S/W project development.
4. Understand project management through life cycle of the project.

COURSE OUTCOMES: On successful completion of the course, the student will be able to

1. Identify appropriate software design model based on requirement analysis.


2. Formulate Software Requirements Specification (SRS) reports for the real world application.
3. Translate a specification into a design and identify the components to build the architecture.
4. Plan a software engineering process to account for quality issues and non-functional requirements.
5. Estimate the work to be done, resources required and the schedule for a software project plan.

Unit 1- : Introduction to Software Engineering: Introduction, software applications, importance of software


evolution of software, Software Components, Software Characteristics, Software Crisis & myths. Software
Engineering paradigms: introduction, principles & Processes, Software Quality Attributes. Comparison between
software engineering & computer science, & software engineering & Engineering. Some terminologies: product
& process, deliverables and milestones, measures, metrics& indicators. Programs & software products. Software
Development Life Cycle (SDLC) Models: Water Fall Model, Prototype Model, RAD model, Spiral Model,
Evolutionary Development Models, Iterative Enhancement Models.

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

Syllabus of B.TECH – Computer Science and Engineering PAGE 14


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 15


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

REAL-TIME SYSTEM (CST-018)

L:T:P:: 3:0:0 Credits-03

COURSE OBJECTIVES: The objectives of this course are to

1. Develop an understanding of various Real Time systems Application


2. Obtain a broad understanding of the technologies and applications for the emerging and exciting
domain of real-time systems
3. Get in-depth hands-on experience in designing and developing a real operational system.

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

Syllabus of B.TECH – Computer Science and Engineering PAGE 20


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 21


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

DESIGN & ANALYSIS OF ALGORITHMS LAB (CSP-010)

L:T:P:: 0:0:2 Credits-01

COURSE OBJECTIVES: The objectives of this course are to

1. Build a solid foundation in algorithms and their applications.


2. Implement various divide and conquer techniques examples, Greedy techniques examples, and
Dynamic Programming techniques examples.
3. Provide a practical exposure of various algorithms.
4. Understand the importance of algorithm and its complexities.

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

1. Programming that uses recurrence relations to analyse recursive algorithms.


2. Computing best, average, and worst-case time complexity of various sorting techniques.
3. Performance analysis of different internal and external sorting algorithms with different type of data
set.
4. Use of divide and conquer technique to solve some problem that uses two different algorithms for
solving small problem.
5. Implementation of different basic computing algorithms like Hash tables, including collision-avoidance
strategies, Search trees (AVL and B-trees).
6. Consider the problem of eight queens on an (8x8) chessboard. Two queens are said to attack each
other if they are on the same row, column, or diagonal. Write a program that implements
backtracking algorithm to solve the problem i.e. place eight non-attacking queens on the board.
7. Write a program to find the strongly connected components in a digraph.
8. Write a program to implement file compression (and un-compression) using Huffman’s algorithm.
9. Write a program to implement dynamic programming algorithm to solve the all pairs shortest path
problem.
10. Write a program to solve 0/1 knapsack problem using the following:
a) Greedy algorithm.
b) Dynamic programming algorithm.
c) Backtracking algorithm.
d) Branch and bound algorithm.

Syllabus of B.TECH – Computer Science and Engineering PAGE 26


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 27


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

DATABASE MANAGEMENT SYSTEM LAB (CSP-011)

L:T:P:: 0:0:2 Credits-01

COURSE OBJECTIVES: The objectives of this course are to

1. Understand data definitions and data manipulation commands.


2. Learn the use of nested and join queries.
3. Understand functions, procedures and procedural extensions of data bases.
4. Familiar with the use of a front-end tool and understand design and implementation of typical database
applications

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)

For the above schema, perform the following:-


a) Create the tables with the appropriate integrity constraint
b) Insert around 10 records in each of the tables
c) List all the bills for the current date with the customer namesand item numbers
d) List the total Bill details with the quantity sold price of theitem and the final amount
e) List the details of the customer who have bought a productwhich has a price>200
f) Give a count of how many products have been bought byeach customer
g) Give a list of products bought by a customer having cust_idas 5
h) List the item details which are sold as of today
i) Create a view which lists out the bill_no, bill_date, cust_id, item_id, price, qty_sold, amount
j) Create a view which lists the date wise daily sales for the last one week
k) Identify the normalization of this schema. Justify your answer.
l) If the schema is not normalized, then normalize the schema.

(II) Database Schema for a Employee-pay scenario

Syllabus of B.TECH – Computer Science and Engineering PAGE 28


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

Employee(emp_id : integer, emp_name: string)


Department (dept_id: integer, dept_name:string)
Paydetails(emp_id : integer, dept_id: integer, basic: integer,deductions: integer, additions: integer,
DOJ: date)
payroll(emp_id : integer, pay_date: date)

For the above schema, perform the following:—


a) Create the tables with the appropriate integrity constraints
b) Insert around 10 records in each of the tables
c) List the employee details department wise
d) List all the employee names who joined after particular date
e) List the details of employees whose basic salary is between 10,000 and 20,000
f) Give a count of how many employees are working in each department
g) Give a name of the employees whose netsalary>10,000
h) List the details for an employee_id=5
i) Create a view which lists out the emp_name, department, basic, deductions,netsalary
j) Create a view which lists the emp_name and his netsalary
k) Identify the normalization of this schema. Justify your answer
l) If the schema is not normalized then normalize the schema.
2. Construct a PL/SQL program to find largest number from the given three numbers.
3. Build a PL/SQL program to generate all prime numbers below 100.
4. Construct a PL/SQL program to demonstrate %type and %row type attributes.
5. Develop a PL/SQL procedure to find reverse of a given number.
6. Create a PL/SQL procedure to update the salaries of all employees by 10% in their basic pay.
7. Execute a PL/SQL procedure to demonstrate IN, OUT and INOUT parameters.
8. Design a PL/SQL trigger before/after update on employee table for each row/statement.
9. Create a PL/SQL trigger before/after delete on employee table for each row/statement.
10. Build a PL/SQL trigger before/after insert on employee table for each row/statement.
11. Design and build the following applications using SQL and front end tool and generate report
• Student information system for your college.
• Hospital Management System.
• A video library management system.
• Inventory management system for a hardware / sanitary item shop.
• Banking System.
• Railway Reservation System
• Car Insurance Company

Syllabus of B.TECH – Computer Science and Engineering PAGE 29


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

COMPILER DESIGN LAB (CSP-012)

L:T:P:: 0:0:2 Credits-01

COURSE OBJECTIVES: The objectives of this course are to

1. Understand the various phases in the design of a compiler.


2. Understand the design of top-down and bottom-up parsers.
3. Understand syntax directed translation schemes.
4. Introduce lex and yacc tools.

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

10. Write a C program for constructing of LL (1) parsing.


11. Write a C program for constructing recursive descent parsing
12. Write a C program to implement LALR parsing.
13. Write a C program to implement operator precedence parsing.
14. To Study about Yet Another Compiler-Compiler(YACC).
15. Create Yacc and Lex specification files to recognizes arithmetic expressions involving +, -, * and / .
16. Create Yacc and Lex specification files are used to generate a calculator which accepts,integer and float
type arguments.
.

Syllabus of B.TECH – Computer Science and Engineering PAGE 31


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

INTERNSHIP-II / MINI PROJECT-II (CSP-013)

L:T:P:: 0:0:2 Credits-01

ABOUT INTERNSHIP/MINI PROJECT


It is an organized method or activity of enhancing and improving engineering students' skill sets and knowledge,
which boosts their performance and consequently helps them meet their career objectives. Industrial Training is
essential in developing the practical and professional skills required for an Engineer and an aid to prospective
employment.

OBJECTIVES OF INTERNSHIP/MINI PROJECT:


1. The main objective of the internship/mini projectis to expose the students to the actual working
environment and enhance their knowledge and skill from what they have learned in college.
2. Another purpose of this program is to enhance the good qualities of integrity, responsibility, and self-
confidence. Students must follow all ethical values and good working practices.
3. It is also to help the students with the safety practices and regulations inside the industry and to instils
the spirit of teamwork and good relationship between students and employees.

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.

Syllabus of B.TECH – Computer Science and Engineering PAGE 32


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

CONSTITUTION OF INDIA (AHT-009)

L:T:P:: 2:0:0 Credits-0

COURSE OBJECTIVES: The objectives of this course are to

1. To acquaint the students with legacies of constitutional development in India and


help to understand the most diversified legal document of India and philosophy
behind it.
2. To make students aware of the theoretical and functional aspects of the Indian
Parliamentary System.
3. To channelize students’ thinking towards basic understanding of the legal concepts
and its implications for engineers.

COURSE OUTCOMES
On successful completion of the course, the students will be able to

1. Understand the basic knowledge and salient features of Indian Constitution.


2. Identify and explore the basic features and modalities about Indian constitution.
3. Discusses the essence of Union and its territories, Citizenship, Fundamental Rights,
DPSP and Fundamental Duties.
4. Differentiate and relate the functioning of Indian parliamentary system at the center
and state level.
5. Differentiate different aspects of Indian Legal System and its related bodies.

Unit-1 Constitutional Framework


Meaning of Terms and Phrases frequently used in political system like constitution,
constitutionalism, Rule of Law, Federal system, Government and so on. Historical
Background of Indian Constitution, Making of Indian Constitution, Salient features of
Indian Constitution, Preamble of Indian Constitution.
Unit-2 Different Parts, Articles, and their significance
Part I to IVA (Union and its territories w.r.t. Indian States, Citizenship, Fundamental
Rights conferred to citizens and foreigners, Directive Principles of State Policy– Its
importance and implementation and Fundamental Duties and its legal status), Article 1 to
51A and their significance.

Unit-3 System of Government


Parliamentary Form of Government in India – The constitution powers and status of the
President of India, Federal structure and distribution of legislative and financial powers
between the Union and the States, Emergency Provisions: National Emergency, President
Rule, Financial Emergency and Amendment of the Constitutional Powers and Procedure
and the significance of basic structure in Indian Judicial system
Unit-4 Working of Central, State & Local Self Government as per constitution
Framework for central government (President, Vice president, Prime Minister, Central
Syllabus of B.TECH – Computer Science and Engineering PAGE 33
VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

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

Syllabus of B.TECH – Computer Science and Engineering PAGE 34


VEER MADHO SINGH BHANDARI UTTARAKHAND TECHNICAL UNIVERSITY, DEHRADUN

DST-003: ANALYZING, VISUALIZING, AND APPLYINGDATA SCIENCE WITH PYTHON


L: T: P: : 3: 0: 0 Credits – 3
COURSE OBJECTIVES: The objective of the course is to:
1. To learn how to use tools and libraries of python for data science, and way to import, clean and prepare
data for analysis.
2. To familiarize with Pandas Data Frames, and SciKit libraries to work with various datasets and Load,
manipulate, analyze, and visualize datasets with pandas.

COURSE OUTCOMES: On successful completion of the course, the student will:


1. Understand basic data analysis python libraries.
2. Apply the various techniques used in pandas9 library.
3. Apply machine learning models using scikit-learn.
4. Understand the role of ANOVA in prediction and analysis of data.
5. Identify the importance of model evaluation and data model refinement techniques.

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

COURSE OBJECTIVES: The objective of the course is to:


1. To learn how to use python for data science.
2. To understand and use all the tools and libraries of python for data science.

COURSE OUTCOMES: On successful completion of the course, the student will:


1. Understand the basic libraries in python and its implementation.
2. Apply predictive analytics on dataset and make predictions.
3. Design applications applying various operations for data cleansing andtransformation.
4. To learn the strategies adopted to analyze the data in variouscompanies for better decision making.
5. Design visualizations to extract useful insights from data.

The suggested list of Experiments:

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.

You might also like