B.tech 2nd Yr Syllabus
B.tech 2nd Yr Syllabus
1 ESC 0 3
Digital Logic Design 3 0
2 PCC Data Structures 3 0 0 3
3 PCC Python Programming 2 0 0 2
4 BSC Discrete Mathematics 3 0 0 3
5 PCC Formal Languages and 0 3
2 1
Automata Theory
6 PCC-Lab Python Programming Lab 0 0 3 1.5
7 PCC-Lab Data Structures Lab 0 0 3 1.5
8 PCC-Lab Linux programming Lab 0 1 2 2
9 ESC-Lab Design Thinking Lab 0 0 2 1
10 MC Environmental Studies 2 0 0 0
Total 20
B.TECH II YEAR II SEM (4 th semester) 5T+3L+1MC
Serial Category Course Title Hours per week Credit
No L T P s
HSS&MC 2 1
6 Soft Skills for Success Lab 0 0
-Lab
6
Total 20
SCHOOL OF ENGINEERING
Course Outcomes:
Unit I:
Number Systems: Binary, Octal, Hex Decimal, and Conversions; Binary additions and
subtractions (using 1c, and 2c), concept of overflow; Representations of negative numbers using
1’s and 2’s complement and range; BCD numbers: 8421, 2421, Ex-3, Gray and Self
Dept. of CSE-Anurag UniversityPage 5
Complementary codes; Error Detecting codes: even & odd parity, hamming codes; Error
correcting codes: hamming codes, block parity codes; Floating point representation.
Unit II:
Boolean Algebra and Digital Logic Gates, Basic Boolean laws and properties; Boolean
functions, truth tables; Standard forms (SOP, POS) and Canonical forms, Conversion between
Canonical and Standard forms ; Gate minimization using three and four variable K-Maps with
and without don’t cares, Logic Circuit Design using Universal Gates .
Unit III:
Unit IV:
Introduction to Sequential Circuits and its applications, Lathes, Flip flops, Storage Elements,
Flip-flops: S-R Flip flop, D Flip Flop, J-K Flip Flop, T Flip flop, master slave J-K flip flop,
Analysis of Clocked Sequential Circuits, Flip Flop Conversions
Unit V:
Registers and Counters: Introduction, Registers, Shift Registers, Ripple Counters: Up counter,
Up-Down counter, Decade counter, Synchronous Counters: Up Counter, Up-Down counter,
Decade Counter, Other Counters: Ring Counter, Johnson Counter
Text Books:
1. M. Morris Mano and Michael D. Ciletti, Digital Design, 5th Edition, Pearson Education, 2012
2. A. Anand Kumar, Switching Theory and Logic Design, 3 rd edition, PHI, 2016
Reference Books:
DATA STRUCTURES
Prerequisites: Any programming language
Course Objectives:
Course Outcomes:
After the completion of the course student will be able to:
1. Examine Static and Dynamic data structures in implementing Stack applications (L4)
2. Apply Tree traversal algorithms in solving real time applications (L3)
3. Analyze the concepts of Advanced Trees to generate search efficiently (L4)
4. Interpret the importance of Graphs in solving real time applications (L5)
5. Examine the concepts of hashing, collision and its resolution methods using hash
function (L4)
Unit I :
Introduction: What is data structure, Types of data structures, Static and Dynamic
representation of data structure and comparison. Stacks- definition, operations, Applications of
stacks – Representation and evaluation of expressions using Infix, Prefix and Postfix, Algorithms
for conversions and evaluations of expressions from infix to prefix and postfix using stack,
Towers of Hanoi, Parenthesis checker.
Unit II :
Trees: Basic terminology, Types of trees: Binary Tree: terminology, Complete and Full Binary
Tree, Extended Binary Trees, Threaded Binary Trees-Inorder Threading. Representation of Trees
using Arrays and Linked lists (advantages and disadvantages). Tree Traversal and Representation
of Algebraic expressions; Algorithms for Tree Traversals,
Heaps: Introduction, types of Heaps – Min binary heap, Max binary heap.
Unit IV:
Graphs-Basic terminology, Representation of graphs: sequential representation (Adjacency, Path
Matrix) Linked representation.
Graph Traversals-Breadth First Search, Depth First Search with algorithms. Spanning
Trees-Definition and properties, Minimum Spanning Tree, Dijkstra Algorithms.
Unit V :
Hashing: General Idea, Hash Functions, Collision Resolution- Separate Chaining ,Open
Addressing-Linear probing, Quadratic Probing, Double Hashing, Rehashing, Extendible
Hashing, Implementation of Dictionaries
Text Books:
1. Seymour Lipschutz, Schaum’s Outlines ,Data Structures, Special Second Edition,Tata
McGraw-Hill, 2014.
2. Richard F.Gillberg&Behrouz A. Forouzan, Data Structures, A Pseudo code Approach with C,
Second Edition, Cengage Learning, India Edition, 2005.
Reference Books:
1. Aaron M. Tenenbaum,Yedidyah Langsam and Moshe J. Augenstein, Data Structures Using C
and C++, PHI Learning Private Limited, Delhi India, 2002.
2. Horowitz and Sahani, Fundamentals of Data Structures, Galgotia Publications Pvt Ltd Delhi
India, 1983.
3. A.K. Sharma , Data Structure Using C, Pearson Education India, Second Edition, 2013.
PYTHON PROGRAMMING
Prerequisites: None
Course Objectives:
Unit – I
Introduction to Python:
Features of Python Language, Data Types, Operators, Expressions, Control Statement, Standard
I/O Operations.
Functions and Modules:
Declaration and Definition Function Calling, More on Defining Functions, Recursive Functions,
Modules, Packages in Python, Doc Strings.
Unit – II
Strings and Regular Expressions:
String Operations, Built-in String Methods and Functions, Comparing Strings, function in
Regular Expression.
Sequence: List, Tuples, Dictionaries, Sets.
Text Book
2.James Payne, Beginning Python using Python 2.6 and Python 3,1st Edition
2. https://www.programiz.com/python-programming
3. https://www.javatpoint.com/python-tutorial
4.. https://www.geeksforgeeks.org/python-programming-language/
DISCRETE MATHEMATICS
Course Objectives:
1. Interpret the Sets, syntax and semantics of propositional and predicate logic.
2. Solve applications involving Permutations and Combinations.
3. Formulate Recurrence relations to solve problems involving an unknown sequence.
4. Explain the concepts of Relations and Graphs.
5. Illustrate the Algebraic Systems.
Course Outcomes:
After completion of course students will be able to
UNIT I:
Foundations: Basics, Sets and Operations of Sets, Fundamentals of Logic, Logical Inferences,
First order logic and other methods of Proof, Rules of Inference for Quantified Propositions.
(Problems Only and Theorems without Proofs)
UNIT II:
Elementary Combinatorics: Basics of Counting, Combinations and Permutations, Enumerating
Combinations and Permutations with & without repetitions, constrained repetitions, and
Principle of Inclusion and Exclusion. (Problems Only and Theorems without Proofs)
UNIT IV:
Relations and Digraphs: Relations and Directed Graphs, Special Properties of Binary
Relations, Equivalence Relations, Ordering Relations, Lattices, Operations on Relations, Paths
and Closures, Directed Graphs and adjacency matrices. (Problems Only and Theorems without
Proofs)
Graphs: Basic Concepts, Isomorphism’s and Sub-graphs, Planar Graphs, Euler’s Formula,
Multi-graphs and Euler Circuits, Hamiltonian Graphs. (Problems Only and Theorems without
Proofs)
UNIT V:
Algebraic structures: Algebraic systems, examples and general properties, semi groups and
monoids, groups, sub groups, homomorphism, isomorphism, rings. (Problems Only and
Theorems without Proofs)
Text Books:
1. Joe L. Mott, Abraham Kandel, Theodare P. Baker, “Discrete Mathematics for Computer
Scientists and Mathematicians”, Second Edition, PHI, 2019.
2. J. P.Tremblay and P. Manohar, “Discrete Mathematical Structures with Applications to
Computer Science”, Tata McGraw Hill, 2007
Reference Books:
1. K. H. Rosen, “Discrete Mathematics and its Applications with Combinatorics and Graph
Theory”, 7th Edition, Tata McGraw Hill.
2. S. K. Chakraborthy and B.K. Sarkar,” Discrete Mathematics “, Oxford, 2011.
3. C. L. Liu and D. P. Mohapatra,“Elements of Discrete Mathematics-A Computer Oriented
Approach”, 3rd Edition, Tata McGraw Hill.
.
Course Objectives:
The Course objectives are to:
1. Summarize the concepts of Formal Languages and different kinds of Finite Automata.
2. Interpret capabilities of Context Free Grammar.
3. Identify the significance of Push Down Automata.
4. Categorize various grammars of Regular Language
5. Outline the importance of Turing Machines.
Course Outcomes:
At the end of course student will be able to:
1. Design of regular expressions for language constructs and conversions of NFA to
DFA.
2. Demonstrate the derivations and properties of context free grammars.
3. Analyze the applications of pushdown automata.
4. Construct DFA for Right Linear Grammar and Left Linear Grammar.
5. Appreciate the role of the Turing machine as computational and universal machine.
Unit -I:
Fundamental concepts: Strings, Alphabets, Language operations, Regular Expressions, Regular
Languages: Finite automata, Types of finite automata (FA)-Non deterministic Finite Automata
(NFA), Deterministic Finite Automata(DFA), NFA with ɛ-Moves, regular expression
representation; Regular expressions to NFA; NFA with ɛ-Moves to NFA without ɛ-Moves; NFA
to DFA Conversions; Minimization of DFA (Proofs Not Required)
Unit -II:
DFA with more than two outputs: Moore and Melay machines, Pumping Lemma for Regular
Sets: Closure properties of Regular Sets (Proofs Not Required): Context Free Grammars (CFG),
Right most, Left most –derivations, Parse Trees; Operator Grammar: Unit productions; Chomsky
normal forms; (Proofs Not Required)
Unit -V:
Definition of unrestricted Grammar and Turing Machine (TM): Chomsky hierarchy on
Languages, Grammars and recognizers; Design of TM as recognizer; Types of TM:
Computational problems of TM with multiple tracks; Decidability Problem; Churches hypothesis
(Proofs Not Required)
Text Book:
1. John E.Hopcroft, Rajeev Motwani, Jeffrey D.Ullman, Introduction to Automata Theory,
Languages and Computation, Third Edition, Pearson, 2013.
2. VivekKulakarni, Theory of Computation, Oxford University press 2013, Fifth Edition, 2018.
Reference Books:
1. Daniel I.A.Cohen, Introduction to Computer Theory, Second Edition, John Wiley,1996.
2. John C Martin, Introduction to languages and the theory of Computation, Third Edition,
TATA McGraw Hill, 2014.
Course Objectives:
2. Understand the string operation and sequences used in Python Programming Language.
Course Outcomes:
Student Able to
Week-2:
Week-3:
Programs on Functions
Week-4
Programs on Dictionaries
Week-6:
Week-7:
Week-8:
Week-9:
Week-10:
Week-11:
Week-12:
Week-13:
Week-14: Overview
Week-15: Overview
Course Objectives:
1. To design and analyze simple linear and non linear data structures.
2. To design and implement various data structure algorithms
3. To identify and apply the suitable data structure for the given real world problem
Course Outcomes:
Week 1:
Review of Stack and Queue Operations using arrays and Linked Lists
Week 2:
Program to convert infix to postfix notation
Week 3:
Program to implement towers of Hanoi
Program to implement parenthesis checker
Week 4:
Program to illustrate tree traversals
a) In order b) Preorder c) Post order
Week 6:
Program to implement Heaps
Week 7:
Program to illustrate Insertion on AVL Trees.
Week 8:
Program to implement B-Trees
Week 9:
Program to illustrate Graph traversals
a. Breadth First Search
b. Depth First Search
Week 10:
Program to implement
a) Prims algorithm b) Kruskal’s algorithm
Week 11:
Program to Implement Dijkstra algorithm.
Week 12 & 13 :
Program to implement Hashing and collision resolution techniques
Week 14:
Program to implement Dictionaries.
Week 15:
Review
Course Objectives:
Course Outcomes:
At the end of this course, Students will be able to:
1. Apply the basic commands in Linux Operating System.
2. Create directories and Shell Script programs.
3. Analyze a given problem and apply requisite facets of Shell programming.
4. Demonstrate UNIX commands for file handling mechanisms.
5. Develop a C Program for UNIX Commands.
List of Experiments:
Week-1:
Practice Vi Commands
Week-2:
a) Open the file created in session 1
b) Add some text
c) Change some text
Week-3:
a) Create mytable (name of the table) using cat command for the following data.use tab to
separate fields.
1425 Ravi 15.65
4320 Ramu 26.27
6830 Sita 36.15
1450 Raju 21.86
b) Use the cat command to display the file, mytable.
c) Use the vi command to correct any errors in the file, mytable.
Week-4:
a) Use the sort command to sort the file mytable according to the first field. Call the sorted file
mytable (same name)
b) Print the file mytable
c) Use the cut and paste commands to swap fields 2 and 3 of mytable. Call it my table (same
name)
d) Print the new file, mytable
e) Logout of the system.
Week-5:
a) Use the appropriate command to determine your login shell
b) Use the /etc/passwd file to verify the result of “step a”.
c) Use the who command and redirect the result to a file called myfile1. Use the more command
to see the contents of myfile1.
d) Use the date and who commands in sequence (in one line) such that the output of date will
display on the screen and the output of who will be redirected to a file called myfile2. Use the
more command to check the contents of myfile2.
Week-6:
a) Write a sed command that deletes the first character in each line in a file.
b) Write a sed command that deletes the character before the last character in each line in a file.
c) Write a sed command that swaps the first and second words in each line in a file.
Week-7:
Week-8:
a) Write a shell script that takes a command –line argument and reports on whether it is directory,
a file, or something else.
b) Write a shell script that accepts one or more file name as arguments and converts all of them
to uppercase, provided they exist in the current directory.
c) Write a shell script that determines the period for which a specified user is working on the
System.
Week-9:
a) Write a shell script to perform the following string operations:
i) To extract a sub-string from a given string.
ii) To find the length of a given string.
b) Write a shell script that accepts a file name starting and ending line numbers as arguments and
displays all the lines between the given line numbers.
c) Write a shell script that deletes all lines containing a specified word in one or more files
supplied as arguments to it.
Week-10:
a) Write a shell script that computes the gross salary of a employee according to the following
rules:
i) If basic salary is < 1500 then HRA =10% of the basic and DA =90% of the basic.
ii) If basic salary is >=1500 then HRA =Rs500 and DA=98% of the basic
The basic salary is entered interactively through the key board.
b) Write a shell script that accepts two integers as its arguments and compute the value of first
number raised to the power of the second number.
Week-11:
a) Write an interactive file-handling shell program. Let it offer the user the choice of copying,
removing, renaming, or linking files. Once the user has made a choice, then program ask the user
for the necessary information, such as the file name, new name and so on.
Week-12:
a) Write shell script that takes a login name as command – line argument and reports when that
person logs in
b) Write a shell script which receives two file names as arguments. It should check whether the
two file contents are same or not. If they are same then second file should be deleted.
Week-14:
Write a C program that takes one or more file or directory names as command line input and
reports the following information on the file:
i) File type
ii) Number of links
iii) Read, write and execute permissions
iv) Time of last access
(Note: Use stat/fstat system calls)
Week-15
Over View
Text Books:
1. Unix concepts and applications, Fourth Edition, Sumitabha Das, TMH
2. Introduction to UNIX & SHELL programming, M.G. Venkatesh Murthy, Pearson Education.
Course Objectives:
1. Understand the instruction format, life cycle and CPU Architecture and Organization
2. Know the basic architecture of Microprocessor
3. Learn various types of memories
4. Learn the concepts for data transfer between CPU & I/O devices.
5. Understand the concepts of Pipeline, Vector and Multiprocessors.
Course Outcomes:
Students will be able to:
1. Describe the basic organization of computer and different instruction formats and
addressing modes.(L2)
2. Analyze the concept of pipelining, segment registers and pin diagram of CPU.(L4)
3. Analyze various issues related to memory hierarchy.(L4)
4. Compare various modes of data transfer between CPU and I/O devices.(L4)
5. Design Pipeline for the execution of instructions (L5)
6. Examine various inter connection structures of multi processors. (L4)
Unit-I:
Instruction: Instruction Definition, instruction cycle, flow chart for instruction cycle, instruction
storage, types of instruction formats (Zero, one, two and three address). Addressing modes:
mode field, implied, immediate register, register direct, register indirect, auto increment,
decrement, indexed, relative, base address mode, Numerical examples and problems.
Unit-II:
CPU-Organization: 8086 –CPU –Block diagram and pin diagram, minimum and maximum
mode, General purpose registers; segment register and generation of 20 bits address,
segmentation of main memory, systems bus, Types of flags.
Unit-IV:
I/O interface: I/O Bus and Interface modules, I/O versus Memory Bus, isolated vs
Memory-mapped I/O. Asynchronous data transfer-strobe control, Hand shaking; Modes of
Transfer: Example of programmed I/O, interrupt-initiated I/O. Daisy-Chaining priority. DMA:
DMA Controller, DMA Transfer, Intel 8089 IOP.
Unit-V:
Pipeline and Vector Processing: Parallel Processing, Pipelining, Arithmetic Pipeline,
Instruction Pipeline, RISC Pipeline, Vector Processing, Array Processor.
Multi Processors: Characteristics of Multi-Processor; Interconnection structures: Timeshared
common bus, multiport memory, crossbar switch, multi-stage switching network; Introduction to
Flynn’s classification: SISD, SIMD, MISD, MIMD (Introduction).
Textbooks:
1. M. Morris Mano, Computer System Architecture, Revised Third Edition, Pearson/PHI,
2017.
2. Carl Hamacher, Zvonks Vranesic, Safea Zaky, Computer Organization ,5th Edition,
McGraw Hill,2011.
3. Douglas V Hall, Microprocessor and Interfacing, Second Edition, TATA McGraw Hill,
2006.
Reference Books:
1. William Stallings, Computer Organization and Architecture, 6thEdition, Pearson/PHI,
2007.
2. Andrew S. Tanenbaum, Structured Computer Organization, 4th Edition, PHI/Pearson.
3. http://nptel.iitm.ac.in.
ANURAG UNIVERSITY
Dept. of CSE-Anurag UniversityPage 24
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING (CSE)
Course Objectives:
1. To perform various types of averages and dispersion, polynomial curve fitting, general
curve fitting and interpolation, various types of Skewness and kurtosis, Correlations.
2. Understand chance cause and random variable that describes randomness or an
uncertainty in certain realistic situation. It can be of either discrete or continuous type.
3. In the discrete case, study the binomial and the Poisson random variables and the Normal
random variable for the continuous case predominantly describe important probability
distributions. Important statistical properties for these random variables provide very
good insight and are essential for industrial applications.
4. Estimation of statistical parameters, testing of hypothesis of few unknown statistical
parameters.
5. Understanding the experiments.
Course Outcomes:
1. To understand the concept of Average and Dispersions, and interpolate using curve fitting
and identify the correlation between variables.
2. Identify distribution in certain realistic situation. It is mainly used for circuit as well as
non-circuit branches of engineering. Also able to differentiate among many random
variables involved in the probability models. It is quite useful for all branches of
engineering.
3. To understand discrete and continuous distributions.
4. Calculate mean and proportions of large sample and to make important decisions from
few samples which are taken out of unmanageably huge populations. It is mainly useful
for non-circuit branches of engineering. To estimate an unknown population parameter.
5. Design their experiment with the basic norms and test their design efficiency. It is useful
to all the branches of engineering.
UNIT-IV: Estimation: Concept of Point estimation and its properties (definition only), Concept
of Interval estimation with examples.
Testing of Hypothesis: Null & Alternative Hypothesis, Critical region, Type I and Type II errors,
level of significance, one tail, two-tail tests.
Test of significance: Large sample test for single proportion, difference of proportions, single
mean, difference of means
UNIT-V: Small Sample tests: t-test for single mean, difference of means, paired t-test, F-test.
Chi-square test for goodness of fit and independence of attributes.
ANOVA: Introduction, ANOVA for One way and Two way classification.
Text Books:
1. Probability and Statistics for Engineers and Scientists by Sheldon M. Ross, Academic
Press.
2. Probability and Statistics for Engineers by Richard A Johnson, Pearson Education.
References:
1. Fundamentals of Mathematical Statistics by S.C Gupta and V.K Kapoor Sultan Chand &
Sons.
2. Miller and John E. Freund, Probability & Statistics for Engineers, Prentice Hall of India.
3. Montgomery: Design and Analysis of Experiments, Wiley
JAVA PROGRAMMING
Course Objectives:
1. Understand the concept of OOP and learn the basic syntax and semantics of the Java
language and programming environment
2. Be familiar with the purpose and usage principles of inheritance, polymorphism,
encapsulation and method overloading.
3. Understand Exceptional handling and multithreading concepts
4. Be familiar with GUI applications.
Unit -I
Java Basics: History of Java, Java buzzwords, data types, variables, scope and life time of
variables, arrays, operators, expressions, control statements, type conversion and costing, simple
java program, concepts of classes, objects, constructors, methods, access control, this keyword,
static keyword,garbage collection, overloading methods and constructors, parameter passing,
recursion, nested and inner classes, Strings.
Unit- II
Polymorphism- method overriding, abstract classes, Object class Packages and Interfaces :
Defining, Creating and Accessing a Package, Understanding CLASSPATH, importing packages,
differences between classes and interfaces, File, Byte Streams, Character Streams.
Exception handling - Concepts of exception handling, exception hierarchy, usage of try, catch,
throw, throws and finally, built in exceptions, creating own exception sub classes. Package
java.util- The Collection Interface, list interface, Queue interface, The Collection class:
LinkedListClass, HashSetClass. TreeSetClass, StringTokenizer, Date, Random, Scanner.
Multi threading: Differences between multi threading and multitasking, thread life cycle,
creating threads, thread priorities, synchronizing threads, inter thread communication.
Unit- IV
Event Handling: Events, Event sources, Event classes, Event Listeners, Delegation event model,
handling mouse and keyboard events, Adapter classes.
AWT: class hierarchy, component, container, panel, window, frame, graphics class, Layout
Manager – layout manager types – boarder, grid, flow, card and grib bag.
Unit- V
AWT controls: Labels, button, scrollbars, text components, check box, check box groups,
choices, menu bar.
Applets – Concepts of Applets, differences between applets and applications, life cycle of an
applet, create applets, passing parameters to applets.
Text Books
1. Java- The Complete Reference, Seventh Edition, Herbert Schildt, Tata McGraw Hill,
Year of Publication:2017
2. Database Programming with JDBC&JAVA, Second Edition,GeorgeReese,
O’ReillyMedia, Year of Publication:2009
Reference Books
Course Objectives:
Course Objectives of Design and Analysis of Algorithms are to:
1. Analyze the asymptotic performance of algorithms.
2. Apply the Paradigms and approaches to appreciate the impact of algorithm design in
practice.
3. Synthesize efficient algorithms in common engineering design situations.
4. Analyze complex engineering problems using back tracking.
5. Utilize data structures and algorithmic design techniques in solving new problems.
Course Outcomes:
At the end of this Design and Analysis of Algorithms course, students will be able to:
1. Formulate the knowledge of algorithm analysis and its notations that are applied on the
problems solved by divide and conquer paradigm. (L6)
2. Design the major graph algorithms for model engineering problems and knowledge of the
greedy paradigm(L6)
3. Apply the dynamic-programming paradigm and recite algorithms that employ this
paradigm. (L3)
4. Illustrate the concept of back tracking, branch and bound paradigm for real time problems.
(L4)
5. Analyze the complexity of problems and differentiate that in terms of P and NP problems
with examples. (L4)
UNIT I :
Introduction: Algorithm, Pseudo code for expressing algorithms, Performance Analysis-Space
complexity, Time complexity, Asymptotic Notation- Big oh notation, Omega notation, Theta
notation and Little oh notation, Disjoint Sets- disjoint set operations, union and find operations
Divide and conquer: General method, applications-Binary search, Quick sort, Merge sort.
UNIT II :
Graphs: breadth first search, depth first search, spanning trees, connected and bi connected
components.
UNIT III :
Dynamic Programming: General method, Multi stage graph,applications-Matrix chain
multiplication, Optimal binary search trees, 0/1 knapsack problem, All pairs shortest path
problem, Travelling sales person problem.
UNIT IV :
Backtracking: General method, applications-n-queen problem, sum of subsets problem, graph
coloring, Hamiltonian cycles.
Branch and Bound: General method, applications - Travelling sales person problem,0/1
knapsack problem- LC Branch and Bound solution, FIFO Branch and Bound solution.
UNITV :
Lower Bound Theory: Comparison trees ,NP-Hard and NP-Complete problems: Basic
concepts, non-deterministic algorithms, NP - Hard and NP Complete classes, Clique Decision
Problem(CDP), Node cover decision problem.
Text Books:
Reference Books:
1. Aho, Ullman and Hopcroft,Design and Analysis of algorithms, Pearson education, Reprint
2002
2. R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai,Introduction to Design and Analysis of
Algorithms A strategic approach, Mc Graw Hill,2005.
3. Allen Weiss,Data structures and Algorithm Analysis in C++,Third edition, Pearson
education.
Course Objectives:
1. Discuss Database management systems, databases and its applications
2. Familiarize the students with a good formal foundation on the relational model.
3. Outline the various systematic database design approaches
4. Describe the concepts of transactions and transaction processing and the issues, techniques
related to concurrency and recovery manager.
5. Explore the File organizations, indexing and hashing mechanisms.
Course Outcomes:
At the end of this Database Management Systems course, students will be able to:
1. Model Entity-Relationship diagrams for enterprise level databases[L3]
2. Formulate Queries using SQL and Relational Formal Query Languages[L3]
3. Apply different normal forms to design the Database[L3]
4. Summarize concurrency control protocols and recovery algorithms[L5]
5. Identify suitable Indices and Hashing mechanisms for effective storage and retrieval of
Data[L3]
UNIT I:
Introduction to Database System Concepts: Database-System Applications, Purpose of
Database Systems, View of Data, Database Language, Database Design, Database Architecture,
Database Users and Administrators.
Introduction to the Relation Models and Database Design using ER Model: Structure of
Relational Databases, Database Schema, Keys, Schema Diagrams, Relational Query Languages,
Relational Operations Overview of the Design Process, The Entity-Relationship Model,
Constraints, Entity-Relationship Diagrams- Unary, Binary, ternary, Aggregation.
UNIT II:
Dept. of CSE-Anurag UniversityPage 31
Introduction to SQL: Overview of the SQL Query Language, SQL Data Definition, Basic
Structure of SQL Queries, Additional Basic Operations, Set Operations, Aggregate Functions,
Nested Sub queries.
Formal Relational Query Languages: The Relational Algebra, Tuple Relational Calculus.
UNIT III:
Relational Database Design: Features of Good Relational Designs, Atomic Domains and First
Normal Form, Functional Dependencies, Closure set of Functional dependencies, Procedure for
Computing F+, Boyce Codd Normal form, BCNF Decomposition Algorithm, Third Normal Form,
Third Normal Form Decomposition Algorithm
Transactions: Transaction Concept, A Simple Transaction Model, Storage Structure,
Transaction Atomicity and Durability, Serializability.
UNIT IV:
Concurrency Control: Lock-Based Protocols, Deadlock Handling, Multiple Granularity,
Timestamp-Based Protocols, Validation-Based Protocols.
Recovery System: Failure Classification, Storage, Recovery and Atomicity, Recovery
Algorithm, ARIES, Remote Backup Systems.
UNIT V:
File Organization: Fixed and variable length records, Sequential file organization, Data
Dictionary, Buffer manager.
Indexing and Hashing: Basic Concepts, Ordered Indices, B+-Tree Index Files, B+-Tree
Extensions, Multiple-Key Access, Static Hashing, Extendible Hashing, Comparison of Ordered
Indexing and Hashing, Bitmap Indices.
Text Book:
1. Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts,
Sixth Edition, Tata McGraw-Hill 2006.
Reference Books:
1. Raghu Rama Kirshna, Johannes Gchrke, Database Management System, Third
Edition, TATA MC Graw Hill, 2003.
2. C J Date, AKannan, S Swamynathan, An Introduction to Database Systems, Eigth Edition
Pearson 2006
3. P Raja Sekhar Reddy, A MallikarjunaReddy, Foundations of Database Management
Systems, Lambert Academic Publishing, 2020 ( e-Book)
4. https://www.pdfdrive.com/fundamentals-of-database-systems-pdf-e51477130.html
Course Outcomes:
Student will be able to:
1. Explain Java Environment and use of Java Development Kit for the creation and
execution of java programs
2. Develop programs on various concepts like data abstraction & data hiding, encapsulation,
inheritance, polymorphism.
3. Develop the programs using interfaces and packages
4. Create and use threads and handle exceptions
5. Develop GUI applications using Applet and JDBC programs.
Week 1:-
1) Write a Java Program to define a class, define instance methods for setting and retrieving
values of instance variables and instantiate its object
Week 2:-
Week 3:-
5) Write a Java program to practice using String class and its methods.
Week 4:
Week 5:-
Week 6:-
12) Write a java program to illustrate Method Overriding and abstract class?
Week 7:-
Week 8:-
15) Write a program to illustrate try, catch, throw, throws and finally keywords
Week 9:-
17) Write a program to illustrate StringTokenizer, Date, Random and Scanner classes?
Week 10:-
Week 11:-
Week 12:-
Week 13:-
Week 14:-
ANURAG UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING (CSE)
Course Objectives:
1. Familiarize the SQL Commands and Integrity Constraints
2. Write the PL/SQL procedures, triggers, functions and cursors
Course Outcomes:
At the end of this Database Management Systems Lab course, students will be able to:
1. Apply different types of SQL commands to create, manipulate and access data from
database[L3]
2. Construct database by using various integrity constraints[L3]
3. Develop basic PL/SQL programs [L3]
4. Implement PL/SQL Programs using procedures, functions and cursors [L3]
5. Create trigger for given problem[L3]
List of Experiments:
Week 1:
Data Base user creation, Data definition Language commands, Data Manipulation commands,
Data Control Language Commands, Transaction Control Language commands.
Week 2:
1. Database Schema for a customer-sale scenario
Customer (Cust id: 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)
Week 3:
2. Database Schema for a Student Library scenario
Student (Stud_no : integer,Stud_name: string)
Membership (Mem_no: integer,Stud_no: integer)
Book (book_no: integer, book_name:string, author: string)
Iss_rec(iss_no:integer, iss_date: date, Mem_no: integer, book_no: integer)
Week 4:
3 Database Schema for a Employee-pay scenario
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)
Week 6:
5. Database Schema for a student-Lab scenario
Class (class_no: string,descrip: string)
Student (stud_no: integer, stud_name: string, class_no: string)
Lab (mach_no: integer, Lab_no: integer, description: String)
Allotment (Stud_no: Integer, mach_no: integer, dayof week: string)
Week 7:
6. Write a program to find largest number from the given three numbers.
7. Simple programs using loop, while and for iterative control statement.
8. Write a program to check whether the given number is Armstrong or not
9. Write a program to generate all prime numbers below 100.
Week 8:
Dept. of CSE-Anurag UniversityPage 37
10. Write a program to demonstrate the GOTO statement.
11. Write a program to demonstrate %type and %row type attributes
Week 9:
12. Write a program to demonstrate predefined exceptions
13. Write a program to demonstrate user defined exceptions
14. Create a cursor, which displays all employee numbers and names from the EMP table.
Week 10:
15. Create a cursor, which update the salaries of all employees who works in dept no 10.
16. Create a cursor, which displays names of employees having salary > 50000.
Week 11:
17. Create a procedure to find reverse of a given number
18. Create a procedure to update the salaries of all employees whose salary is between 25000 to
50000
Week 12:
19. Create a procedure to demonstrate IN, OUT and INOUT parameters
20. Create a function to check whether given string is palindrome or not.
Week 13:
21. Create a function to find sum of salaries of all employees working in depart number 10.
22. Create a trigger before/after update on employee table for each row/statement.
Week 14:
23. Create a trigger before/after delete on employee table for each row/statement.
24. Create a trigger before/after insert on employee table for each row/statement.
Week 15:
Review
Text Book:
1. Ivan Bayross, SQL, PL/SQLThe programming Language of Oracle, 3rd Revised Edition,
BPBPublications, 2008.