Programming Skill in C

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Bansilal Ramnath Agarwal Charitable Trust’s

Vishwakarma Institute of Information Technology, Pune-48


(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering


Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Curriculum for
SY B. Tech.
(Computer Engineering)
2018 Pattern

Department of
Computer Engineering

1
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Vision and Mission of the Department


• Vision

“Excellence in the field of Computer Engineering for rendering services to the industry
and society”.

• Mission

 To empower our students for substantial contribution to economical,


technological, entrepreneurial and social progress of the society.

 To strive for excellence at different levels and diverse dimensions in the field of
computer engineering.

 To encourage students to pursue research and advanced studies for better


adaptability towards globalization.

Program Specific Outcomes (PSOs)


At the end of program, students should be able to

• PSO a: Use knowledge to write programs and integrate them with the
hardware/software products in the domains of embedded systems, data Science,
networking and web technology.

• PSO b: Participate in planning and implement solutions to cater to business – specific


requirements, displaying team dynamics and professional ethics.

2
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

S.Y.B.Tech.

Pattern 2018
Syllabus Structure

3
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

S.Y. B. TECH. (Computer Engineering), SEMESTER III (Pattern 2018)


Course Course Title Teaching Examination Scheme Total Credits
Code Scheme
Course Formative Summative
Type Assessment Assessment

ISE ES PR/
L T P CE
T1 T2 E OR
Analog and Digital
CSUA21181 Electronics TH 3 1 - 20 10 20 50 - 100 4

ES21182CS Discrete Mathematics TH 3 - - 20 10 20 50 -- 100 3


Programming for
CSUA21183 TH 3 - - 20 10 20 50 - 100 3
Problem Solving
Data Structure and
CSUA21184 TH 3 - - 20 10 20 50 - 100 3
Algorithms *
Computer Architecture
CSUA21185 and Organization* TH 3 - - 20 10 20 50 - 100 3

CSUA21186 Lab Practice - I CE-


- - 6 - - 50 - 50 100 3
PR/OR
Object Oriented
CSUA21187 Programming (C++) CE 2 - 2 - - 100 - - 100 3

M2 Mandatory Course AU - - - - - - - - - -
Total 17 1 8 100 50 250 250 50 700 22
Lab practice will be based on * marked ‘TH’ Courses mentioned in the structure.(DSA 4 Hrs + CAO 2 Hrs.)

List of Mandatory Courses :

Environmental Sciences, Induction training, Indian Constitution, Essence of Indian Traditional


Knowledge

BoS Chairman Dean Academics Director


4
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

S.Y. B. TECH. (Computer Engineering), SEMESTER IV (PATTERN 2018)


Examination Scheme
Teaching
Course Formative Summative
Scheme Total Credits
Course Type Assessment Assessment
Course Title
Code
ISE PR
L T P CE ESE /
T1 T2 OR
Engineering
ES22181CS Mathematics -III TH 3 1 - 20 10 20 50 - 100 4

CSUA22182 Database Management


TH 3 - - 20 10 20 50 - 100 3
System *
CSUA22183 Operating System* TH 3 - - 20 10 20 50 - 100 3
CSUA22184 Theory of
TH 3 - - 20 10 20 50 - 100 3
Computation*
Social Science &
ESUA22185CS TH 3 - - 20 10 20 50 - 100 3
Engineering Economics

CSUA22186 CE-
Lab Practice – II - - 6 - - 50 - 50 100 3
PR/OR
CSUA22187 IT Workshop (Java) CE 2 - 2 - - 100 - - 100 3
Fundamentals of
CSUA22188 CE 2 - - - - 100 - - 100 2
Computer Networks
M2 Mandatory Course AU - - - - - - - - - -
Total 19 1 8 100 50 350 250 50 800 24

Lab practice will be based on * marked ‘TH’ Courses mentioned in the structure

List of Mandatory Courses :

Environmental Sciences, Induction training, Indian Constitution, Essence of Indian Traditional


Knowledge

BoS Chairman Dean Academics Director

5
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21181 : Analog and Digital Electronics


Teaching Scheme Examination Scheme
Credits : 4 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks
Tutorial : 1 Hr/week

Prerequisites :
 Basic Electronics Engineering

Course Objectives :
 To learn basic digital circuit design techniques.
 To study the implementation of digital circuits using combinational logic.
 To explain and implement circuits using sequential logic.
 To illustrate the concept of PLD’s & ASM.
 To show the implementation of digital circuits using VHDL.
 To explain the basics of Logic Families.

Course Outcomes :
After completion of the course, student will be able to
1. Simplify Boolean algebraic expressions for designing digital circuits using K-
Maps. (Analyzing)
2. Apply digital concepts in designing combinational circuits. (Applying)
3. Apply digital concepts in designing sequential circuits. (Applying)
4. Design digital circuits using PLA and PAL. (Creating)
5. Develop digital circuits using VHDL. (Creating)
6. Design and implement Mini digital circuits. (Creating)

Unit I : Number System and Logic Minimization Techniques


Number System: Introduction, Binary number System, Sign-Magnitude representation, One's
and Two's complement representation, Binary arithmetic, 2's complement arithmetic, Octal
number System, Hexadecimal number System, Basic theorems and properties.
Logic minimization: Representation of truth-table, Sum of Product (SOP) form, Product of
Sum (POS) form, Simplification of logical functions, Minimization of SOP and POS forms
using K-Maps up to 4 variables and Quine-McCluskey Technique, realization of logic gates.
Unit II : Combinational Logic
Design of Combinational Logic: Code converter - BCD, Excess-3, Gray code, Binary Code.
Half- Adder, Full Adder, Half Subtractor, Full Subtractor, Binary Adder (IC 7483), BCD
adder, Look ahead carry generator, Multiplexers (MUX): MUX (IC 74153, 74151), MUX tree,
Demultiplexers (DEMUX)- Decoder. (IC 74138, IC 74154). DMUX Tree, Implementation of
SOP and POS using MUX, DMUX, Comparators, Parity generators and Checker, One bit,
Two bit , 4-bit Magnitude Comparator
Unit III : Sequential Logics

6
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Flip-flop: SR, JK, D, T; Preset & Clear, Master and Slave Flip Flops, Truth Tables and
Excitation tables, Conversion from one type to another type of Flip Flop.
Registers: Buffer register, shift register (SISO, SIPO, PISO& PIPO), Applications of shift
registers.
Unit IV : Counters
Counters: Asynchronous counter. Synchronous counter, ring counters, Johnson Counter,
Modulus of the counter (IC 7490).
Synchronous Sequential Circuit Design: Models – Moore and Mealy, State diagram and
State Tables, Design Procedure, Sequence generator and detector.
Asynchronous Sequential Circuit Design: Difference with synchronous circuit design,
design principles and procedure, applications.
Unit V : Logic Families
Classification of logic families: Unipolar and Bipolar Logic Families, Characteristics of Digital
ICs: Speed, power dissipation, figure of merits, fan-out, Current and voltage parameters, Noise
immunity, operating temperature range, power supply requirements.
Transistor-Transistor Logic: Operation of TTL, TTL characteristics.
CMOS: CMOS Inverter, CMOS characteristics, CMOS configurations- Wired Logic, Open
drain outputs.
Interfacing: TTL to CMOS and CMOS to TTL.
Digital Circuit Implementation using IOT: Introduction to soldering techniques and its types,
Mounting of electronic components on PCB. Introduction and applications of Raspberry pi
and Arduino architecture.
Unit VI : Introduction to PLD’s & VHDL
Introduction to PLD’s: - PAL, PLA, Applications of PLAs to implement combinational and
sequential logic circuits, FPGA and CPLD.
VHDL: Introduction to HDL, Data Objects & Data Types, Attributes., VHDL- Library,
Design Entity, Architecture, Modeling Styles, Concurrent and Sequential Statements.
Design Examples: VHDL for Combinational Circuits-Adder, MUX, VHDL for Sequential
Circuits, Synchronous and Asynchronous Counter.

Text Books :
1 R. P. Jain, “Modern Digital Electronics”, 3rd Edition, Tata McGraw-Hill, 2003,
ISBN0 – 07 – 049492 – 4.
2 J. Bhaskar, “VHDL Primer” 3rd Edition, Pearson Edition.
3 Stephen Brown, ZvonkoVranesic, “Fundamentals of Digital Logic with VHDL
Design”, McGraw Hill, ISBN–13:978-1-25-902597-6.
4 G.K.Kharate, ”Digital Electronics”, Oxford University Press.

Reference Books :
1 John Yarbrough, “Digital Logic applications and Design” Thomson.
2 Flyod “Digital Principles”, Pearson Education.
3 Malvino, D.Leach “Digital Principles and Applications”, 5th edition, Tata Mc-
Graw Hill.

7
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

4 Douglas L. Perry, “VHDL Programming by Example”, Tata McGraw Hill.


5 G. K. Kharate, “Digital Electronics”, Oxford University Press.

Tutorial Assignment List


Course Objectives
 To understand the functionality and design of Combinational and Sequential Circuits.
 To learn designing and implementing digital circuits using VHDL.
Course Outcomes
After completion of the course, student will be able to
1. Realize and simplify Boolean Algebraic assignments for designing & implementing Sequential
and Combinational digital circuits using K Maps.
2. Design simple digital systems using VHDL.
List of Assignments
1 Number system conversion and 2’s compliment arithmetic.
2 Realize Full Adder and Subtractor using a) Basic Gates and b) Universal Gates.
3 Design and implement Code converters-Binary to Gray and BCD to Excess-3.
4 Design and Realization of BCD Adder using 4-bit Binary Adder (IC 7483).
5 Design of Ripple Counter using JK-Flip Flops.
6 Design 3 bit Synchronous Up/Down Counter using JK-Flip Flop.
7 Design and implement Mod -N counter using IC-7490.
8 Simulation of - Full adder using behavioural modeling style of VHDL.
9 Simulation of – 4:1 MUX using data flow modeling style of VHDL.
10 Mini project: Nowadays digital electronics deals with the logic gates, flip-flops, CMOS – the
foundation for modern computers and digital communications. Students are expected to apply their
knowledge to design and develop a simple digital system as a part of this project.

8
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

ES21182CS : Discrete Mathematics

Teaching Scheme Examination Scheme


Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Basic Algebra

Course Objectives :
 To study basic of logic and set theory
 To understand notion of functions and relations
 To study fundamental principles of graphs
 To study fundamental principles of trees elementary combinatorial processes
 To study fundamental principles of probability theory
 To study basic of logic and set theory

Course Outcomes :
After completion of the course, student will be able to
1. Demonstrate use of logical arguments, proof techniques and set theory principles
2. Determine type, properties and solution of relations and functions
3. Solve the problems using graph methods and algorithms
4. Apply tree models and methods to obtain solutions of applications involving
searching, prefix code and vertex connectivity
5. Apply principles of counting to obtain solution to counting problems
6. Apply probability theory, principles and distributions in problem

Unit I : Mathematical Logic and Set Theory


Propositional Logic, Applications of Propositional Logic, Propositional Equivalences,
Predicates and Quantifiers, Nested Quantifiers, Rules of Inference, Introduction to Proofs,
Proof Methods and Strategy Sets, Combination of sets, Venn Diagrams, Finite and Infinite
sets, Uncountably infinite sets, Principle of inclusion and exclusion, multisets .
Unit II : Functions and Relations
Functions, Composition of functions, Invertible functions, Discrete Numeric functions and
Generating functions, Job scheduling Problem.
Properties of Binary Relations, Closure of relations, Warshall’s algorithm, Equivalence
Relations and Partitions, Partial ordering relations and Lattices, Chains and Anti-chains.
Recurrence Relations : Recurrence Relation, Linear Recurrence Relations with constant
Coefficients, Homogeneous Solutions, Total solutions, Solutions by the method of generating
functions
Unit III : Graphs
Basic terminology, Representation of graph in computer memory, Multigraphs and Weighted
graphs, Subgraph, Isomorphic graph, Complete ,Regular and Bipartite graphs, Operation on

9
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

graph, Paths and Circuits, Hamiltonian and Euler paths and circuits, Shortest path in weighted
Graph (Dijkstra’s algorithm), Factors of a graph, Planar graph and Travelling salesman
problem, Graph coloring.
Unit IV : Trees
Trees, Rooted trees, Path length in rooted trees, Prefix codes and optimal prefix codes, Binary
search trees, Tree traversals, Spanning trees, Fundamental circuits and cut set, Minimal
spanning trees, Kruskal’s and Prim’s algorithms for minimum spanning tree, The Max flow –
Min cut theorem (transport network).
Unit V : Counting
Permutations and Combinations: Rule of sum and product, Pigeonhole principle, Permutations,
Combinations, Binomial Coefficients and identities, Algorithms for generation of Permutations
and Combinations.
Unit VI : Discrete Probability
Discrete Probability, Conditional Probability, Bayes’ Theorem, Random variable, Random
process, Mean, Mode, Variance, Probability distributions: Binomial trials and Distribution,
Binomial probability distribution, Poisson probability distribution, Gaussian probability
distribution,

Text Books :
1 Kenneth H. Rosen, “Discrete Mathematics and its Applications”, 6th edition,
McGraw-Hill, 2007. ISBN 978-0-07-288008-3.
2 C. L. Liu and D. P. Mohapatra, “Elements of Discrete Mathematics”, 6th
edition,TataMcGraw-Hill, 2008, ISBN 10:0-07-066913-9.
3 R. Johnsonbaugh, “Discrete Mathematics”, 5th Edition, Pearson Education, 2001
ISBN 81 –7808 – 279 – 9.

Reference Books :
1 B. Kolman, R. Busby and S. Ross, “Discrete Mathematical Structures”, 4th Edition,
Pearson Education, 2002, ISBN 81-7808-556-9
2 N. Deo, “Graph Theory with application to Engineering and Computer Science”,
Prentice Hall of India, 1990, 0 – 87692 – 145 – 4
3 Eric Gossett, “Discrete Mathematics with proof”, 2nd edition, Wiley Student
Edition, ISBN: 978-81-265-2758-8

10
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21183 : Programming for Problem Solving


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Computer Fundamentals

Course Objectives :
 Employ a problem-solving strategy to breakdown a complex problem into a series
of simpler tasks.
 Execute problem-solving actions appropriate to completing a variety of sub
problems.
 Apply analytical and logical thinking to extract facts from a problem description
and determine how they relate to one another and to the problems to be solved.
 Design and implement a solution using appropriate programming paradigm to
solve a real life problem.
 Develop problem-solving and programming skills

Course Outcomes :
After completion of the course, student will be able to
1. Employ a problem-solving strategy to breakdown a complex problem into a series
of simpler tasks.
2. Apply analytical and logical thinking to extract facts from a problem description
and determine how they relate to one another and to the problems to be solved.
3. Abstract data and entities from the problem domain, build object models and
design software solutions using object –oriented principles and strategies.
4. Develop programs that appropriately utilize Logic programming concepts.
5. Develop programs that appropriately utilize Functional programming concepts.
6. Adequately use standard programming constructs and implement a given algorithm
as a computer program (in Python)

Unit I : Introduction to Problem Solving


Introduction to Problem Solving- General Concepts , problem solving in everyday life, types
of problems, problems solving with computers, difficulties with problem solving, problem
solving Aspects
Problem Solving Concepts for the Computer- Constants and variables, data types, functions,
operators, expressions and equations
Planning your solution-Communicating with computer, organizing the solution, unified
modeling language, using the tools, testing the solution, coding the solution, software
development cycle
Unit II : Problem Solving with Logic Structures

11
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Introduction to programming structure - modules and their functions, cohesion & coupling,
local and global variable, parameters, return values, variable names and data dictionaries, three
logic structures
Problem solving with sequential logic structure - algorithm instructions, flowchart, symbols,
pseudo code , the sequential logic structure, solution development.
Problem Solving with Decisions – decision logic structure, multiple if/then/else instructions,
straight-through logic, positive logic, negative logic, logic conversion, decision tables, case
logic structures.
Problem solving with loops- the loop logic structure, incrementing, accumulating,
while/whileEnd, repeat/Until, automatic counter loop, nested loops, indicators, recursion
Unit III : Procedural & Object Oriented Programming
Procedural Programming- Design Principles, Control flow: statement-oriented and block-
oriented structure programming, execution steps, desirable and undesirable characteristics of
procedural programming, comparative study of C and PASCAL.
Object Oriented Programming- Design Principles: Objects, classes, Messages and methods,
implementation of Object-oriented Programming, Object oriented programming with C++-
Program structure, Object and class declarations, constructors, inheritance, polymorphism,
access specification, exception handling, comparative study of C++ and Java.
Unit IV : Logic Programming
Logic Programming: Relations, First Order Logic, Logic Programming and Horn-Clause
Programming, Unification, Deduction and Search as a strategy for deduction, Indexing,
Pruning, Definite Clause Grammars. Case Study on Logic Programming with Prolog
Unit V : Functional Programming
Introduction and basic elements of Functional Programming, Lists and associated Operations,
Function Declaration, Higher Order Functions, Polymorphism, Data Types
Case Study on Functional Programming with LISP.
Unit VI: Programming in Python
Variables, operations, control flow - assignments, condition-als, loops, functions, types,
expressions, strings, lists, tuples , Python memory model: names, mutable and immutable
values, list operations-slices, Dictionaries More on Python functions- optional arguments,
default values, passing functions as arguments , higher order functions on lists: map, iter, list
comprehension

Text Books :
1 Ravi Sethi , "Programming Languages: Concepts and Constructs" 2nd Edition by
Addison Wesley
2 Maureen Spankle & Jim Hubbard, “Problem Solving and Programming Concepts”,
Pearson, 9th edition, ISBN-13: 978-0132492645.
3 R G Dromey, “How to Solve it by Computer”, Pearson Education, 2008, ISBN-13:
978-8131705629.

Reference Books :
1 Scbesta R., "Concepts Of Programming Languages", 4th Edition, Pearson Education,

12
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

ISBN-81-7808-161-X
2 Herbert Schildt "The Complete Reference Java2", 5th Edition, Tata McGraw-Hill 0 - 07-
049543-25.
3 K.Venugopal., "Programming in Turbo PASCAL", Tata-McGraw Hill
4 Winston P., Klaus B., Horn P., "LISP", 3rd Edition, Pearson Education, 81 - 7808 -155-
5
5 Carl Townsend ,”Programming in turbo PROLOG”, Tata-McGraw Hill
6 Herbert Schildt, “C++: The Complete Reference”, McGraw-Hill.
7 E. Balaguruswamy, “Object-oriented Programming with C++”, Tata McGraw Hill, 5th
edition.
8 Mark Lutz, "Learning Python" O'Reilly , 5th edition, ISBN-10: 0-596-51398-4

13
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21184 : Data Structure and Algorithms


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Basics of Computer Programming

Course Objectives :
 To study linear and non-lineardata structures and their applications.
 To understand concepts about searching and sorting techniques.
 To enable students to write algorithms for solving problems with the help of fundamental
data structures.

Course Outcomes :
After completion of the course, student will be able to
1. Understand arrays and their implementation with basics of algorithm analysis.(Understand)
2. Select appropriate searching and/or sorting techniques in the application
development.(Evaluate)
3. Apply various linear data structures using sequential and linked organization for problem
solving and programming.(Apply)
4. Apply advanced linear data structures stack and queue for problem solving and
programming.(Apply)
5. Use tree data structure for problem solving and programming. (Apply)
6. Use graph data structure for problem solving and programming. (Apply)

Unit I : Introduction to data structure


Concept of data,functions, difference between compiler and interpreter, Comparison between
structured ,unstructured and object oriented programming environment, Abstract Data Types
(ADT),data structure and its types, Difference between individual variables against Data
Structures, array, matrix, string, pointers, sparse matrix, Analysis of algorithm
Introduction to Pearl: Need of scripting language, Individual variable and data structure
variable, Complex data structures - Hash , Dictionary
Unit II : Searching, sorting and hashing techniques
Linear & Binary search Bubble sort, Selection sort, Insertion Sort, Merge Sort, Quick Sort &
complexity Analysis of algorithms. Hash tables: Basic concepts, Hash function, collisions,
Collision resolution techniques, Applications.
Debugging through Pearl
Unit III : Linear Data Structures using Linked Lists
Concept, Comparison of Sequential and Linked Organizations, Linked list as an ADT, Singly
Linked List, Doubly Linked List and Circular Linked Lists
Unit IV : Linear Data Structures –Stack and Queue
Stacks: Concept of stack, Stack as an ADT, Stack implementation using array and linked list,

14
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Application of stack for expression conversion and evaluation, Recursion concept and use of
internal stack.
Queues: Concept of queue & its application, Linear queue, Circular queue Priority queue,
Applications of queue
Unit V : Non-linear Data Structures: Trees
Difference in linear and non-linear data structure, Basic tree concepts, Binary tree, Binary
Search Tree ADT, Concept of threaded binary tree and traversal, Applications of trees
Unit VI : Non-linear Data Structures: Graphs
Basic concept, Graph as an ADT, Representation of graphs using adjacency matrix and
adjacency list, Depth First Search and Breadth First Search traversal, Prim’s and Kruskal’s
algorithm for MST, Dijkstra’s algorithm, Applications of Graphs.

Text Books :
1 Horowitz and Sahani, ―Fundamentals of Data Structures in C++, University
Press, ISBN 10: 0716782928 ISBN 13: 9780716782926.
2 R. Gillberg, B. Forouzn, ―Data Structures: A Pseudo code approach with C‖,
Cenage Learning, ISBN 9788131503140.
3 Tanenbaum, Y. Langsam, M. Augenstein: Fundamentals of Data Structure, 2nd
edition, Pearson Education, 2002, ISBN-81-7808-670-0.

Reference Books :
1 M. Weiss, ―Data Structures and Algorithm Analysis in C++, 2nd edition,
Pearson Education, 2002, ISBN-81-7808-670-0.
2 Introduction to Algorithms 3rd Edition by Thomas H. Cormen, Charles
E.Leiserson,Ronald L Rivest,& Clifford Stein, MIT Press ,Cambridge MA USA
,ISBN 978-81-203-4007-7

15
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21185 : Computer Architecture and Organization


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment: 50 Marks
Lectures: 3 Hrs/week Summative Assessment: 50 Marks

Prerequisites:
 Analog and Digital Electronics

Course Objectives:
 To identify the elements of modern instructions sets and explain their impact on
processor design.
 To study memory management in microprocessor.
 To study protection mechanism of microprocessor.
 To explain the function of each element of a memory hierarchy, identify and
compare different methods for computer I/O.
 To understand various computer arithmetic techniques.
 To study pipelined architecture in microprocessors.

Course Outcomes:
After completion of the course, student will be able to
1 Demonstrate the use of Instruction sets in assembly programming. (Understand)
2 Comprehend segmentation and paging techniques.(Understand)
3 Compare segment descriptors and different privileges levels. (Analyze)
4 Sketch the concepts of memory and I/O. (Apply)
5 Solve numerical problems using computer arithmetic techniques.(Analysis)
6 Use of Pipeline Architecture. (Apply)

Unit I : Introduction to Microprocessor


Architecture of 8086 and 80386DX, Register set, Flags, Physical address space of 8086,
Data types, Addressing Modes, 80386DX Instruction Set.
Unit II : Memory Management
Memory Management in 80386-Segment Translation, Page Translation, Combining
Segment and Page Translation.
Unit III : Protection
Operating in Real Mode, Virtual x86 Mode, Protection: Need of Protection, Overview of
80386DX protection Mechanism, Privilege levels.
Unit IV : Memory Organization
Characteristics of memory system, The memory hierarchy, Cache Memory- Cache memory
principles, Replacement algorithms, Write policy, One level and two level cache, I/O modules-
Module function and I/O module structure, Programmed I/O, Interrupt driven I/O.
Unit V: Computer Arithmetic Techniques
The Arithmetic and Logic Unit, Multiplication of positive numbers, Signed operand

16
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

multiplication, Booths algorithm, Integer division, Floating point representation – IEEE


standard.
Unit VI : Processor Organization
Register organization- User visible registers, Control and Status registers,
Instruction Cycle-Indirect cycle and Data flow, Instruction Pipelining- Pipelining Strategy, Pipeline
performance, Pipeline hazards, Fundamental Concepts- Register transfer, Performing arithmetic or
logic operations, Fetching a word from memory, Storing a word in memory.

Text Books :
1 W. Stallings, ―Computer Organization and Architecture: Designing for
performance‖, Pearson Education/ Prentice Hall of India, 2003, ISBN 978-93-325-
1870-4, 7th Edition.
2 Zaky S, Hamacher, ―Computer Organization‖, 5th Edition, McGraw-Hill
Publications, 2001, ISBN- 978-1-25-900537-5, 5th Edition.
3 Douglas Hall, “Microprocessors & Interfacing”, McGraw Hill, Revised 2nd
Edition, 2006 ISBN 0-07-100462-9

Reference Books :
1 John P Hays, ―Computer Architecture and Organization‖, McGraw-Hill
Publication, 1998, ISBN:978-1-25-902856-4, 3rd Edition.
2 Intel 64 and IA-32-bit architectures Software Developer’s Manual, Volume 3A,
Intel, (Digital Content PDF: 253668.pdf)
3 A.Ray, K.Bhurchandi, ”Advanced Microprocessors and peripherals: Arch,
Programming & Interfacing”,Tata McGraw Hill,2004 ISBN 0-07-463841-6

17
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21186 : Lab Practice - I

Teaching Scheme Examination Scheme


Credits : 3 Formative Assessment : 50 Marks
Practical : 6 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Computer Fundamentals

Course Objectives :
 To impart the basic concepts of data structures and algorithms
 To understand concepts about searching and sorting techniques
 To understand basic concepts about stacks, queues, lists, trees and graphs
 To enable them to write algorithms for solving problems with the help of fundamental data
structures

Course Outcomes :
After completion of the course, student will be able to
1. Understand the basic concepts of data structures and algorithms.
2. Represent, implement and apply various data structures viz. Arrays, Linked list,
stack queue, Trees and Graphs to real time application
3. Apply searching and sorting techniques required for given application

Group A Data Structure and Algorithms

Sr.No. List of assignments


1. For the given Sparse matrix write a menu driven program for
i. simple transpose and
ii. fast transpose
2. Perform the following sorting on given list of numbers. Search the given number
in sorted list using binary search.
1. Bubble sort
2. Quick Sort
3. Insertion sort
3. Perform the following sorting on given list of numbers. Search the given number
in sorted list using binary search.
1. Bubble sort
2. Quick Sort
3. Insertion sort
4. Write menu driven program in C++ for following operations on SLL of employee
data with fields: Emp-ID, Name, Dept, Designation, Ph.no.
a. Create SLL
b. Display SLL

18
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

c. Perform insertion all cases


d. Delete all cases
5. Implement infix to postfix conversion using stack.
6. Pizza parlor accepting maximum n orders. Orders are served in FCFS basis. Order
once placed can’t be cancelled. Write C++ program to simulate the system using
circular Queue
7. For given BST perform following operations:
i. Create
ii. Display
iii. Traversal
iv. insert
v. delete
8. For given Threaded BST perform following operations:
1. Create
2. Traversal
3. Display
9. Create a graph using adjacency list and adjacency matrix and perform BFS and
DFS traversal.
10. Find single source shortest path using Dijkstra’s algorithm
11. For the given graph find MST using Prim’s or Kruskal method.

Group B Computer Organization and Architecture


 Assignments 1 and 2 are mandatory
 Implement any 4 from assignments 3 to 8

Sr.No. List of assignments


1. Multiply the following using Booth’s Algorithm
Multiplicand = +11
Multiplier = -6
2. Perform Division of following numbers using Restoring Division Algorithm
Dividend= 1011
Divisor=0011
3. Write 64-bit ALP to “Hello World” in NASM
4. Write 64-bit ALP to accept number and display it on screen.
5. Write 64-bit ALP to convert HEX 4-digit input to BCD 5-digit output.
6. Write 64-bit ALP to accept the numbers from user and perform addition of 2
numbers and display the result on screen.
7. Write 64-bit ALP to perform following string operations
i) Length of String
ii) Reverse of String
8. Write 64-bit ALP to perform multiplication of two 8-bit hexadecimal number with
successive addition.

19
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Text Books :
1 Horowitz and Sahani, ―Fundamentals of Data Structures in C++, University
Press, ISBN 10: 0716782928 ISBN 13: 9780716782926.
2 R. Gillberg, B. Forouzn, ―Data Structures: A Pseudo code approach with C‖,
Cenage Learning, ISBN 9788131503140.
3 A. Tanenbaum, Y. Langsam, M. Augenstein: Fundamentals of Data
Structure, 2nd edition, Pearson Education, 2002, ISBN-81-7808-670-0.

Reference Books :
1 M. Weiss, ―Data Structures and Algorithm Analysis in C++, 2nd edition, Pearson
Education, 2002, ISBN-81-7808-670-0.
2 Introduction to Algorithms 3rd Edition by Thomas H. Cormen, Charles
E.Leiserson,Ronald L Rivest,& Clifford Stein, MIT Press ,Cambridge MA USA
,ISBN 978-81-203-4007-7

20
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA21187 : Object Oriented Programming (C++)


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 100 Marks
Lectures : 2 Hrs/week Summative Assessment : Nil
Practical : 2 Hrs/week

Prerequisites :
 Computer Fundamentals

Course Objectives :
 To understand object-oriented concepts such as data abstraction, encapsulation,
inheritance, dynamic binding, and polymorphism.
 To use the object-oriented paradigm in program design.
 Provide programming insight using OOP constructs.
 To lay a foundation for advanced programming.

Course Outcomes :
After completion of the course, student will be able to
1. Understand the concept of OOP.
2. Apply concept and use of reusability
3. Develop application using concept of polymorphisms
4. Implement application using generic programming concepts
5. Ability to perform file operations
6. Percept the utility and applicability of OOP.

Unit I : Classes and Objects


Need of object oriented programming, Introduction OOP, Procedural Vs. object oriented
programming, Principles of OOP, Benefits and applications of OOP, Program structure:
namespace, identifiers, variables, constants, enum, operators, typecasting, control structures,
object oriented programming language, datatypes, array and string, class, object, class & data
abstraction, class scope & accessing data members, controlling access to members
Unit II : Inheritance and Polymorphism
Base class, derived class, public, private & protected keywords, types of inheritance,
ambiguity in multiple inheritance, classes within classes, Polymorphism concept, types of
polymorphism, function overloading, operator overloading, Unary operator overloading &
binary operator overloading. friend function, static function, this pointer, virtual function,
dynamic binding
Unit III : Exception Handling & Templates
Fundamentals, exception handling using try-throw-catch, standard exceptions, User defined
exceptions. Generics, Generic programming, Class templates, function templates. Introduction
to STL, Components of STL – Containers, Iterators and Algorithms, List, Vector, set, minmax,
algorithm header files. Smart pointers concept, shared pointers concept, memory leak problem.

21
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Unit IV : Streams and Files


Stream concept, File pointers, File I/O classes, File I/O functions, and insertion and Extraction
operators in file streams

Text Books :
1 Behrouz A. Forouzan, Richard F. Gilberg, “COMPUTER SCIENCE – A
Structred Programming approach using C”, Indian Edition, Thomson, 3rd edition
2 Bjarne Stroustrup, ― The C++ Programming language‖, Third edition, Pearson
Education. ISBN 9780201889543

Reference Books :
1 Kernighan, Ritchie, “The C Programming Language”, Prentice Hall of India
2 Robert Lafore, ―Object-Oriented Programming in C++, fourth edition, Sams
Publishing, ISBN:0672323087 (ISBN 13: 9780672323089)
3 Herbert Schildt, ―C++ The complete reference‖, Eighth Edition, McGraw Hill
Professional, 2011, ISBN:978-00-72226805
4 E. Balagurusamy-- Object-oriented programming with C++, fourth edition, Mc
Hill Professional,2008, ISBN 978-0-07-066907-9

22
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

ES22181CS : Engineering Mathematics-III


Teaching Scheme Examination Scheme
Credits : 4 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks
Tutorial : 1 Hr/week

Prerequisites :
 Basics of Derivatives, Integration, Trigonometry, Vector algebra & Partial differentiation

Course Objectives :
 To study the Linear Differential equations and their applications.
 To impart knowledge of Fourier transform and Z- transform.
 To apply Numerical techniques for data analysis.
 To apply statistical techniques for data analysis.
 To solve probability distributions.
 To solve complex variables and complex integrations.

Course Outcomes :
After completion of the course, student will be able to
1. Solve the Linear Differential equations, modelling of mass spring systems, free and
forced damped and undamped systems.
2. Solve Fourier Transform and Z-Transform.
3. Solve Numerical technique to analyses the data,
4. Solve statistical technique to analyze the data.
5. Solve Different Probability Distributions
6. Solve Complex variables and Applications of CR Equations.

Unit I : Linear Differential Equations


LDE of nth order with constant coefficients, Method of Variation of Parameters, Cauchy’s &
Legendre’s DE, Solution of Simultaneous Differential Equations, Modeling of Electrical circuits.
Unit II : Transforms
Fourier Transform (FT): Fourier Integral Theorem, Sine & Cosine Integrals, Fourier Transform,
Fourier Sine and Cosine Transform and their Inverses.
Introductory Z-Transform (ZT): Definition, Standard Properties, ZT of Standard Sequences and
their Inverses. Solution of Simple Difference Equations..
Unit III : Computer oriented Numerical Methods
Solution of Simultaneous equations by Gauss Jacobi method, Gauss Seidel method,
Solutions of Differential equations by Euler method, Euler modified method, Rungekutta
4thorder method..
Unit IV : Statistics
Measures of Central Tendency, Standard Deviation, Moments, Skewness and Kurtosis,

23
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Correlation and Regression, Reliability of Regression Estimates.


Unit V : Probability
Theorems and Properties of Probability, Probability Distributions: Binomial, Poisson, Normal
and Hypergeometric; Test of Hypothesis: Chi-Square test. Applications of statistics in Data
Analysis.
Unit VI : Complex Variables.
Complex Variables Functions of Complex Variables, Analytic Functions-R Equations,
Conformal Mapping, Bilinear Transformation, Cauchy’s Integral Theorem, Cauchy’s Integral
formula, Residue Theorem.

Text Books :
1 A Text book of Applied Mathematics by P.N. Wartikar, U.N.Wartikar (Pune Vidyarthi
Griha Prakashan ,Pune) (Volume II-ISBN 81-85825-07-6)((Volume III-ISBN 81-85825-01-
7)
2 Advanced Engineering Mathematics by Erwin Kreyszig (Wiley Eastern Ltd.).(ISBN 978-0-
470-45836-5.)

Reference Books :
1 Higher Engineering Mathematics by B.S.Grewal (Khanna Publication, Delhi)(ISBN-13. 978-
81-7409-195-5. ISBN-10. 81-7409-195-5)
2 Advanced Engineering Mathematics by Wylie C.R &Barrett L.C.(McGraw-Hill,INC)(ISBN
0 - 07 -463841 – 6)
3 Advanced Engineering Mathematics by Peter V.O’Neiol (ISBN-13: 9781111427429 / ISBN-10:
1111427429)

Tutorial Assignment List :


Tutorial No.1 Linear Differential Equations
Problems on Differential Equations

Tutorial No.2 Fourier Transform


Problems on Fourier Transform
Tutorial No.3 Z Transform
Problems on Z Transform

Tutorial No.4 Statistics and Probability


Problems on Statics and Probability
Tutorial No.5 Numerical methods
Problems on Numerical methods
Tutorial No.6 Vector differential Calculus
Problems on Vector Diffraction.

24
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Tutorial No.7 Vector Integral Calculus


Problems on Vector Integration

Tutorial No.8 Complex variables


Problems on Complex variables.

Text books :
1. A Text book of Applied Mathematics by P.N. Wartikar, U.N.Wartikar (Pune Vidyarthi Griha
Prakashan ,Pune) (Volume II-ISBN 81-85825-07-6)((Volume III-ISBN 81-85825-01-7)
2. Advanced Engineering Mathematics by Erwin Kreyszig (Wiley Eastern Ltd.).(ISBN 978-0-470-
45836-5.)

Reference Books :
1. Higher Engineering Mathematics by B.S.Grewal (KhannaPublication,Delhi)
(ISBN-13. 978-81-7409-195-5. ISBN-10. 81-7409-195-5)
2. Advanced Engineering Mathematics by Wylie C.R &Barrett L.C.(McGraw-Hill,INC)(ISBN 0 -
07 -463841 – 6)
3. Advanced Engineering Mathematics by Peter V.O’Neiol
(ISBN-13: 9781111427429 / ISBN-10: 1111427429)

25
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22182 : Database Management System

Teaching Scheme Examination Scheme


Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Discrete Mathematics, Data Structure and Algorithms

Course Objectives :
 To understand the fundamental concepts of database management.
 To provide a strong formal foundation in database concepts, technology.
 To give systematic database design approaches covering conceptual design,
logical design and an overview of physical design.
 To learn basic issues of transaction management and concurrency control
 To learn and understand various Database Architectures and Applications
 To learn a powerful, flexible and scalable general purpose database to handle big
data

Course Outcomes :
After completion of the course, student will be able to
1. Remember the concepts of file processing and design E-R Model for given requirements
and convert the same into database tables.(Remember).
2. Apply database techniques such as SQL & PL/SQL(Apply).
3. Evaluate database design concept such as normalization.(Evaluate).
4. Analyze transaction management techniques in relational database System.(Analyze).
5. Comprehend various database architectures in real time environment. (Comprehend).
6. Apply advanced database programming concepts in Big Data applications.(Apply).

Unit I : Introduction to DBMS


Introduction to Database Management Systems, Advantages of a DBMS over file-processing
Systems, Database-System purpose and applications, Levels of Database Systems, Database
Languages, Data Models, Components of a DBMS and overall structure of a DBMS, Database
Design and ER Model: Entity, Attributes, Relationships, Constraints, types of Keys, Design
Process, Entity Relationship Model, ER Diagram, Design Issues, Extended E-R Features,
converting E-R & EER diagram into tables.
Unit II : Relational Algebra, SQL and PL/SQL
Introduction to Relational Algebra and Calculus, SQL: Characteristics and advantages, SQL Data
Types and Literals, DDL, DML, DCL, TCL, SQL Operators, Tables: Creating, Modifying,
Deleting, Views: Creating, Dropping, Updating using Views, Indexes, SQL DML Queries:
SELECT Query and clauses, Set Operations, Predicates and Joins, Set membership, Tuple

26
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Variables, Set comparison, Ordering of Tuples, Aggregate Functions, Nested Queries, Database
Modification using SQL Insert, Update and Delete Queries. PL/SQL: Concept of Stored
Procedures and Functions, Cursors, Triggers,
Roles and Privileges,Embedded SQL, Dynamic SQL.
Unit III : Relational Database Design
Relational Model: Basic concepts, Attributes and Domains, CODD's Rules, Functional
Dependencies: Basic concepts, closure of set of functional dependencies, closure of attribute set,
canonical cover,Decomposition: lossless join decomposition and dependency preservation, The
Process of normalization, 1NF, 2NF, 3NF,BCNF, 4NF, 5NF.
Unit IV : Database Transactions and Query Processing
Basic concept of a Transaction, Transaction Management, Properties of Transactions, Concept of
Schedule, Serial Schedule, Serializability: Conflict and View, Testing conflict and view
serializability, Recoverable and Non-recoverable Schedules, Concurrency Control: Need, Locking
Methods, Deadlocks, Timestamping Methods, Different Crash Recovery methods such as Shadow-
Paging and Log-Based Recovery: Deferred and Immediate, Checkpoints, Introduction to Query
Processing and Query Optimization, Performance Tuning in SQL.
Unit V : Database architecture
Introduction to Database Architectures: Multi-user DBMS Architectures, Parallel Databases:
Speedup and Scale up, Architectures of Parallel Databases. Distributed Databases: Architecture of
Distributed Databases, Distributed Database Design, Distributed Data Storage, Distributed
Transaction: Basics, Failure modes, Commit Protocols, Concurrency Control in Distributed
Database.
Unit VI : Advances in Databasesand Big Data
Introduction to NoSQL, Structured versesUnstructured data, Different NoSQL Data Models,
NoSQL using MongoDB,CAP theorem and BASE Properties, Comparative study of SQL and
NoSQL, Introduction to Big Data, HADOOP- Building blocks of Hadoop, components of Hadoop-
HDFS, MapReduce, HBASE, HIVE

Text Books :
1 Abraham Silberschatz ,HenryKorth , S.Sudarshan,"Database System concepts",5th
Edition ,McGraw Hill International Edition.
2 Elmasri R., Navathe S., "Fundamentals of Database Systems", 4* Edition,
PearsonEducation, 2003, ISBN 8129702282.
3 Pramod J. Sadalage and Martin Fowler, ―NoSQL Distilled‖, Addison Wesley,
ISBN10: 0321826620, ISBN-13: 978-0321826626
4 “Managing and Using MySQL”, Reese G., Yarger R., King T., Williums H, 2nd
Edition, Shroff Publishers and Distributors Pvt. Ltd., ISBN 81 - 7366 - 465 – X
5 MongoDB: The Definitive Guide by Kristina Chodorow

Reference Books :
1 Ramkrishna R., Gehrke J., "Database Management Systems", 3rd Edition, McGraw-
Hill, 2003, ISBN 0-07- 123151 –X.
2 C J Date, ―An Introduction to Database Systems‖, Addison-Wesley, ISBN:

27
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

0201144719.
3 Connally T., Begg C., "Database Systems", 3rd Edition, Pearson Education, 2002,
ISBN 81-7808-861-4
4 MongoDB , O’Reilly Publications.
5 Hadoop, O’Reilly Publications.
6 http://docs.mongodb.org/manual/ or
SQL/XML/MongoDB (https://www.w3schools.com/)

28
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22183 : Operating Systems


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Computer Organization and Architecture

Course Objectives :
 To provide understanding of the concepts like virtualization, concurrency and
persistence in operating systems.
 To study the design and implementation of scheduling and memory management
policies in Operating systems.
 To demonstrate the working of concurrency and locking mechanism in operating
systems
 To provide insights of I/O management in Operating Systems
 To make them aware of advanced topics e.g. data protection, distributed systems in
Operating Systems.
 To teach the case studies of xv6 and Linux OS

Course Outcomes :
After completion of the course, student will be able to
1. Summarize the concepts of virtualization, concurrency and persistence
(Understanding)
2. Implement proper scheduling and memory management policies for the OS
(Create)
3. Analyze concurrency and locking mechanism in OS (Analyze)
4. Describe the I/O management in OS ( Remember)
5. Express the advanced topics in OS (Understanding )
6. Compare the working of xv6 and Linux OS (Compare)

Unit I : Introduction to Operating Systems and Process


Introduction to operating systems, Virtualizing The CPU, Virtualizing Memory, Concurrency ,
Persistence, Design Goals, Some History
The Process: Process abstraction, System calls for Process management, Process Creation: A
Little More Detail, Process States, Data Structures, Process execution mechanisms Process
API, Process Control and Users, Useful Tools.
Unit II : Scheduling
Workload Assumptions, Scheduling Metrics, First In, First Out (FIFO), Shortest Job First
(SJF), Shortest Time-to-Completion First (STCF), A New Metric: Response Time, Round
Robin, Incorporating I/O, The Multi-Level Feedback Queue, The Priority Boost, Attempt,
Better Accounting, Multiprocessor Scheduling, Synchronization, Cache Affinity, Single-

29
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Queue Scheduling Multi-Queue Scheduling, Linux Multiprocessor Schedulers.


Unit III: Address Spaces
Early Systems, Multiprogramming and Time Sharing, The Address Space, Memory API:
Types of Memory, The malloc() Call, The free() Call, Common Errors, Underlying OS
Support, Segmentation, Fine-grained vs. Coarse-grained Segmentation, Free-Space
Management, Paging, A Memory Trace, Faster Translations (TLBs), TLB Basic Algorithm,
Example: Accessing An Array, Who Handles The TLB Miss?, TLB Issue: Context Switches,
Replacement Policy, Hybrid Approach: Paging and Segments, Beyond Physical Memory:
Mechanisms, Swap Space, The Present Bit, The Page Fault, What If Memory Is Full?, Page
Fault Control Flow, When Replacements Really Occur, The Linux Virtual Memory System.
Unit IV : Concurrency
Shared Data, Uncontrolled Scheduling, The Wish For Atomicity, Waiting For Another,
Thread API : Why Use Threads?, Thread Creation, Thread Completion Locks : The Basic
Idea, Pthread Locks, Building A Lock, Evaluating Locks, Controlling Interrupts, Failed
Attempt: Just Using Loads/Stores, Building Working Spin Locks with Test-And-Set,
Compare-And-Swap, Load-Linked and Store-Conditional, Fetch-And-Add, Different OS,
Different Support, Semaphores: A Definition, Binary Semaphores (Locks) Semaphores For
Ordering, The Producer/Consumer (Bounded Buffer) Problem, Reader-Writer Locks The
Dining Philosophers, How To Implement Semaphores, Common Concurrency Problems.
Unit V: I/O Devices
System Architecture, A Canonical Device, The Canonical Protocol, Lowering CPU Overhead
With Interrupts, More Efficient Data Movement With DMA, Methods Of Device Interaction,
Fitting Into The OS: The Device Driver, Case Study: A Simple IDE Disk Driver, Hard Disk
Drives, Redundant Arrays of Inexpensive Disks (RAIDs),Files and Directories, Locality and
The Fast File System, File System Implementation, Flash-based SSDs.
Unit VI : Advanced topics in OS
Data Integrity and Protection: Disk Failure Modes, Handling Latent Sector Error, Detecting
Corruption: The Checksum, Using Checksums, Performance evaluation of computer systems,
load testing, Little's law, Distributed Systems, Sun’s Network File System (NFS), The Andrew
File System (AFS), Case Studies of: The xv6 operating system, The Linux Operating
Systems.

Text Books :
1 Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau “Operating Systems:
Three Easy Pieces”, Arpaci-Dusseau Books, March , 2015
2 Stallings William., "Operating Systems", Fourth Edition, Prentice Hall of
India,2001

Reference Books :
1 Silberschatz, A, Galvin, P.B, and Gagne, G., “Operating System Principles”, Eight
Edition, John Wiley & Sons, 2008.
2 Bach Maurice J. “The Design of the UNIX Operating System”, Second Edition
Prentice Hall of India, 2001

30
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22184 : Theory of Computation


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Basic Mathematics, Discrete Structure

Course Objectives :
 Understand fundamentals of computer mathematics.
 Study the various abstract computing models.
 Study the Regular expression
 Study the different types of languages& their relationships
 Study the different types of grammar & ambiguity in the grammar.
 Study the recursive & recursively enumerable languages.

Course Outcomes :
After completion of the course, student will be able to
1. Apply the mathematical preliminaries with the help of proofs and lemmas for
language derivation.
2. Design of automata or hypothetical machines as language descriptors or recognizer.
3. Understand Regular expression & its conversion to automata & vice versa.
4. Understand the different application of Regular expression.
5. Understand the different types of languages ,grammars & ambiguity in the grammar.
6. Understand the recursive & recursively enumerable languages.

Unit I : Theory of Automata:


Basic Mathematical Objects: Sets, Logic, functions, Relations, Strings.
Definition of finite Automata(FA), Description of FA, Transition Systems, Acceptability of a
String by a FA , Non deterministic FA, Equivalence of DFA and NFA, FA with output: Moore
and Mealy machines-Definitions, Models, inter-conversion, minimization of FA.
Unit II : Regular Expressions (RE) and Languages
Recursive definition of regular expression, regular set, identities of regular expressions,
Conversion of NFA With epsilon moves to DFA, Conversion-RE to DFA , Conversion-DFA to
RE, Equivalence of R.E, Equivalence of FA, Pumping lemma for regular languages, Closure
properties of regular languages, Applications of R.E
Unit III : Grammar
Grammar- Definition, representation of grammar, Chomsky hierarchy,
Context Free Grammar- Definition, Derivation, sentential form, parse tree, inference,

31
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

derivation, parse tree, ambiguity in grammar and language, Simplifications of context free
Grammar-Eliminating unit productions, useless symbols, and Null-productions, Normal Forms
for CFG- Chomsky normal form, Greibach normal form .
Regular Grammar- Definition, left linear, right linear grammar, Interconversion between left
linear and right linear regular grammar
Unit IV : Push Down Automata
Push Down Automata- Definition, Notation, acceptance by final state, acceptance by empty
stack, Equivalence of PDA and CFG- Grammar to PDA, PDA to Grammar, Deterministic PDA
and Non Deterministic PDA. Closure Properties of CFLs.
Unit V : Turing machines
Turing machine Model, Representation of Turing machine, Language acceptability by Turing
machine, Design of Turing machine. Types of TM. Halting Problem
Unit VI : Recursively Enumerable Languages
Recursively Enumerable and Recursive, Properties of recursive and recursively enumerable
languages, Post correspondence problem,
Undecidability: Reducing one problem to another, Other unsolvable Problems. Tractable and In
Tractable Problems.

Text Books :
1 Mishra K., Chandrasekaran N., 'Theory of Computer Science (Automata, Languages
and Computation)", Second Edition, Prentice Hall of India
2 John C Martin. "Introduction to Language and Theory of Computation", Third
edition, Tata McGraw- Hill

Reference Books :
1 Hopcroft J., Motwani R., Ullman J., "Introduction to Automata Theory, Languages
and Computations", Third edition, Pearson Education Asia

32
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

ES22185CS : Social Science and Engineering Economics

Teaching Scheme Examination Scheme


Credits : 3 Formative Assessment : 50 Marks
Lectures : 3 Hrs/week Summative Assessment : 50 Marks

Prerequisites :
 Nil

Course Objectives :
 Human and social development
 Contemporary national and international affairs
 Emergence of Indian society and Economics
 Sectoral development and Economic development and related issues (such as
international economics, WTO, RBI, etc)

Course Outcomes :
After completion of the course, student will be able to
1. Understand various issues concerning human and society.
2. Realize social, cultural, economic and human issues, involved in social changes
3. Understand the nature of the individual and the relationship between the self and the
community
4. Express their opinion about national health and education policies.
5. Understand major ideas, values, beliefs, and experiences that have shaped human
history and cultures.
6. Understand the fundamental concepts in engineering economics

Unit I : Indian Society


Structure of Indian Society, Indian Social Demography– Social and Cultural,
Differentiations: caste, class, gender and tribe; Institutions of marriage, family and kinship-
Secularization –Social Movements and Regionalism- Panchayatraj Institutions; Affirmative
Action
Programme of the Government-various reservations and commissions.
Unit II : Social Development
Scientific approach to the study of human beings. Evolution of human kind, social change and
evolution. Industrial revolution. National policy on education, health and health care and human
development.
Unit III : Sectoral Development
Agriculture: Technology changes, Green revolutions, Employment Rural and Urban,
Government Schemes.
Industrial Development : Strategies, Public and Private Sectors, Categories, infrastructure,

33
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

transport and communication, Consumer Awareness.


Unit IV : Economic Development
Need for planned economic development – Law of demand and supply. Planning objective,
five years plan, priorities and problems. Population and development.
Indian Economics – basic features, natural resources population size and composition, national
income concepts, micro economics of India, inflation, GDP.
Unit V : Banking and Trades
Financial Analysis, Ratios, Cost Analysis, financial Institutions, Finance Commissions, Budget
Analysis. Indian Banking, Role of Reserve bank of India International Economy, WTO,
International aid for economic growth.
Unit VI : Understanding Cash Flow and Taxes
Accounting for Depreciation and Income Taxes, Project Cash-Flow Analysis, Understanding Financial
Statements, Case Studies – cash flow analysis done in start-up companies.

Text Books :
1 Krugman, International Economics, Pearson Education.
2 Prakash, The Indian Economy, Pearson Education.
3 Thursen Gerald, Engineering Economics, Prentice Hall.
4 C.S. Rao, Environmental Pollution Control Engineering, New Age International Pvt.
Ltd.

Reference Books :
1 Rangarajan, Environmental Issues in India, Pearson Education.
2 University of Delhi, The Individual & Society, Pearson Education.
3 Wikipedia.org / wiki /social studies.
4 M. N. Srinivas, Social change in modern India, 1991, Orient Longman.
5 David Mandelbaum, Society in India, 1990, Popular

34
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22186 : Lab Practice -II


Teaching Scheme : Examination Scheme
Credits: 3 Formative Assessment: 50 Marks
Practicals : 6 Hrs/week Summative Assessment: 50 Marks

Prerequisites :
 Computer Fundamentals

Course Objectives :
 To develop basic, intermediate and advanced Database programming skills
 To understand & apply various database commands for transaction processing
 To have students understand the principles in the design and implementation of
operating systems software
 To understand various operating system algorithms for resource management
 To understand basic syntax of LEX specifications, and implement a lexical analyzer
using LEX specification
 To understand parser generator tool YACC, and implement a parser using YACC
specification

Course Outcomes :
After completion of the course, student will be able to
1. Comprehend appropriate database programming constructs and apply for solving
problems of various domain
2. Comprehend advanced database Programming concepts to handle databases of
varying complexities
3. Comprehend the knowledge of operating systems software
4. Apply the operating system algorithms for tasks like scheduling, process
management etc
5. Apply LEX tool for lexical analysis purpose
6. Apply YACC tool for parsing purpose

List of Assignments

A. Database Management System Assignments


1.Design and Develop SQL DDL statements which demonstrate the use of SQL objects such as Table,
View , Index, Sequence, Synonym

2. Design at least 10 SQL queries for suitable database application using SQL DML statements: Insert,
Select, Update, Delete with operators, functions, Set operators, Clauses.

35
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering


3. Design at least 10 SQL queries for suitable database application using SQL DML statements: all types
of Join, Sub-Query and View.

4.Write a PL/SQL code to implement all types of cursor (Implicit,Explicit) and display employee
number, name and salary of 5 highest paid employees using cursor.Employee(employee no, employee
name, join_date, designation, salary).

5.PL/SQL Stored Procedure and Stored Function : Write a PL/SQL procedure to find the number of
students ranging from 100-80%, 79-70%, 69-60%,59-50 & below 49% in each course from the
Student_course table given by the procedure as parameter.
Student_course(Roll_no,Course,Couse_code,Semester,Total_Marks,Percentage)

6. Database Trigger (Row level and Statement level triggers, Before and After Triggers):Write a database
trigger on Employee table. The System should keep track of the records that are being updated or deleted.
The old value of updated or deleted records should be added in to a new table when the Employee table is
updated. Employee(employee no, employee name, join_date, designation, salary).

7.Design and Develop MongoDB Queries using CRUD operations.


8.Implement aggregation and indexing with suitable example using MongoDB.

9.Implement Map reduces operation with suitable example using MongoDB.

10.Implement MYSQL database connectivity with Java for Database navigation operations such as
insert, delete, update etc. using ODBC/JDBC.

B. Operating Systems Assignments


1.Working with Linux
2. System Calls
3. Process Management
4.Scheduling Algorithms
5.Multi-Threading Using pthread library
6. Inter Process Communication :Shared Memory and Pipe
7. Process/Thread Synchonization
8. Memory Management
9. Working with xv6

C. Theory of Computation Assignments


1.Write a Program to convert Non-deterministic finite automaton (NFA) to Deterministic finite
automaton (DFA)

36
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

2.Study LEX tool and write a program using LEX specification to implement lexical analysis phase of
compiler to generate tokens of subset of Java program.
3.Write a program using LEX specifications to implement lexical analysis phase of compiler to count no.
of words, lines and characters of given input file.
4.Write a program using YACC specifications to implement syntax analysis phase of compiler to validate
type and syntax of variable declaration in Java.
5.Write a program using YACC specifications to implement syntax analysis phase of compiler to
recognize simple and compound sentences given in input file.
Text Books :
1.SQL Server – Black Book”, Dalton Patrik, DreamTech Press.
A.
2. Kristina Chodorow, Michael Dirolf, ―MangoDB: The Definitive Guide‖, O‘Reilly Publications,
ISBN: 9781449381561
3. “Managing and Using MySQL”, Reese G., Yarger R., King T., Williums H, 2nd Edition, Shroff
Publishers and Distributors Pvt. Ltd., ISBN 81 - 7366 - 465 – X

1. Abraham Silberschatz Peter B. Galvin and Greg Gagne, Operating System Concepts, Wiley 8th
B
Edition,2008.
2. Andrew S. Tanenbaum and Herbert Bros, Modern Operating Systems (4th Edition), Pearson

C 1.John. R. Levine, Tony Mason and Doug Brown, ―Lex and Yacc‖, O'Reilly, 1998, ISBN: 1 -
56592-000-7
Reference Books :
A 1. MongoDB , O’Reilly Publications
2.http://www.tutorialspoint.com/json/ and http://docs.mongodb.org/manual/
B 1.Garry. J. Nutt, Operating Systems: A Modern Perspective, Addison-Wesley
2. Russ Cox, Frans Kaashoek, Robert Morris , xv6: a simple, Unix-like teaching operating
system",Revision 8 .
3. Sumitabha Das , UNIX Concepts and Applications, Tata McGraw-Hill
C 1.John E. Hopcroft, Rajeev Motwani, Jeffrey D.Ullman, ―Introduction to Automata Theory
Languages and Computation‖, Addison-Wesley, ISBN 0-201-44124-1.

37
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22187 : IT Workshop (Java)


Teaching Scheme Examination Scheme
Credits : 3 Formative Assessment : 100 Marks
Lectures : 2 Hrs/week Summative Assessment : NA
Practical : 2 Hrs/week

Prerequisites :
 Object Oriented Programming

Course Objectives :
 To explain the fundamentals of data structures and collections in Java.
 To build software development skills using java programming for real world
applications.
 To implement frontend and backend of an application
 To implement classical problems using java programming.

Course Outcomes :
After completion of the course, student will be able to
1. Implement data structures and collections using Java language.
2. Explore and use the Java serialization and networking APIs for implementing various
functionalities of an Application.
3. Explore and use the database connectivity APIs and threading for implementing
various functionalities of an Application.
4. Analyze platform independent application runtime environment and choose
appropriate runtime environment to create GUI applications using AWT.
5. Implement data structures and collections using Java language.
6. Explore and use the Java serialization and networking APIs for implementing various
functionalities of an Application.

Unit I : Data Structures and Collection Framework


Enumeration, BitSet, Vector, Stack, Dictionary, Hash table, Properties. Generic Methods and
Generic Classes. Interfaces (Set, List, Queue, and Dequeue) and classes (ArrayList, Vector,
Linked List, Priority Queue, HashSet, Linked HashSet, and Tree Set).
Unit II : Serialization and Networking
Serializing an Object and Deserializing an Object, I/O streams, Filtered and Buffered I/O
operations, Random Access File, Reader and Writer classes, RMI Architecture, RMI package,
RMI application, Socket Programming.
Unit III : Database Connectivity and Multithreading
SQL, JDBC, Thread life cycle, Thread methods, thread states, thread priorities, thread
synchronization, wait-notify

38
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

Unit IV : GUI in JAVA


AWT, Applet, Swing, Container components, GUI Components, Event Listener, Layout
Manager

Text Books :
1 Java Enterprise Best Practices by The O'Reilly Java Authors
2 Java 2: The Complete Reference by Herbert Schildt, Mcgraw-Hill

Reference Books :
1 Java in a Nutshell by David Flanagan, Oreilly
2 Java Cookbook by Ian F. Darwin Oreilly

List of assignments (Project Based Learning (PBL) approach) :

1. Design a system with the help of advance data structures in Java.


2. Enhance the above system with the help of collections and generics in Java.
3. Enhance the above system with the help of socket programming in JAVA. Use Client Server
architecture.
4. Enhance the above system with the help JDBC Connectivity.
5. Enhance the above system with the help multithreading, concurrency, synchronous and
asynchronous callbacks, Thread Pools using Executor Service.
6. Transform the above system from command line system to GUI based application using
Applet /Swing/AWT.

39
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering

CSUA22188 : Fundamentals of Computer Networks


Teaching Scheme Examination Scheme
Credits: 2 Formative Assessment. : 100 Marks
Lectures: 2 Hrs/week Summative Assessment. : NA

Prerequisites :
 Nil

Course Objectives :
 To study the fundamentals of networking
 To understand functionalities of Physical layer
 To understand the functionalities of Logical Link Layer
 To study various protocols at Medium Access Control Layer

Course Outcomes:
After completion of the course, student will be able to
1. Explore network design issues- REMEMBER
2. Recognize the functions of OSI layers & TCP/IP protocol stack- UNDERSTAND
3. Describe the functionality of Logical Link layer- UNDERSTAND
4. Describe the functionality of Medium Access Control Layer- UNDERSTAND

Unit I: Introduction to Computer Network


Network, Network Topologies.
Transmission Media and Switching: Guided Media: Twisted-Pair, Coaxial and Fiber-Optic
Cable , Unguided Media: Radio Waves, Microwaves, Infrared , IEEE standard and connectors
for media. (RJ45, RJ11, BNC, SC/ST etc.), Circuit-switched Networks: Three Phases,
Efficiency, Delay, Packet switching : Datagram networks, Virtual circuit networks , Brief
introduction of Digital Subscriber Line: ADSL, HDSL, SDSL, VDSL (DMT), Cable modem.
Unit II : Physical Layer:
LANs, WANs, and the Internet, PAN, Ad-hoc and WLAN Network, Network Architectures:
Client-Server; Peer To Peer; Network as a Platform, Network Topologies, OSI Model, TCP/IP
protocol suite; Layer Details, Addressing: Physical &logical Addresses, Port Addresses,
Specific Addresses. Connecting devices: Hubs (Passive, active, Intelligent), Switches (Layer-2,
Layer-3 and Managed), Bridges, Routers, Gateway.
Unit III : Logical Link Layer
Types of errors: Redundancy, detection versus correction, forward error correction versus
retransmission Block coding: error detection, error correction, CRC, polynomial, checksum,
hamming code, hamming distance DLC Services: Framing, Flow and error control DLL
Protocols : Simple protocol, Stop n wait, Go back to N, Selective repeat HDLC Protocol:
configurations and transfer modes, frames, control field. Point-to-point Protocol (PPP) :
Framing, Transition Phases, Multiplexing, Multilink PPP
Unit IV : Medium Access Control

40
Bansilal Ramnath Agarwal Charitable Trust’s
Vishwakarma Institute of Information Technology, Pune-48
(An Autonomous Institute affiliated to Savitribai Phule Pune University)

Department of Computer Engineering


Random access: Aloha, Slotted Aloha, Carrier Sense Multiple Access (CSMA), Carrier Sense
Multiple Access with Collision Detection (CSMA/CD), Carrier Sense Multiple Access with
Collision Avoidance (CSMA/CA). Controlled access: reservation, polling, token passing.
Channelization: Frequency Division Multiple Access (FDMA), Time-Division Multiple Access
(TDMA), Code Division Multiple Access (CDMA). Ethernet: IEEE standards, data link layer,
physical layer. Standard Ethernet, Fast Ethernet, Gigabit Ethernet, 10 gigabit Ethernet.

Text Books :
1 Fourauzan B., "Data Communications and Networking", 5th edition, McGraw-Hill
Publications
2 Stallings William., "Data and Computer Communications", Sixth Edition,
Prentice Hall of India .
3 Andrew S. Tanenbaum ,”Computer Networks”, Pearson

Reference Books :
1 CCNA Basics and Fundamentals-Cisco
2 CCNA Routing and Switching 200-125 Official Cert. Guide Library
3 Cisco CCNA Command Guide- An introductory Guide for complete beginners

41

You might also like