Cssyll PDF
Cssyll PDF
Cssyll PDF
Module 1 Contact
Hours
Laplace Transform: Definition and Laplace transforms of elementary functions (statements 08
only). Laplace transforms of Periodic functions (statement only) and unit-step function –
problems.
Inverse Laplace Transform: Definition and problems, Convolution theorem to find the
inverse Laplace transforms (without Proof) and problems. Solution of linear differential
equations using Laplace transforms.
RBT: L2, L3
Module 2
Fourier Series: Periodic functions, Dirichlet’s condition. Fourier series of periodic 08
functions period 2π and arbitrary period. Half range Fourier series. Practical harmonic
analysis.
RBT: L1, L2
Module 3
Fourier Transforms: Infinite Fourier transforms, Fourier sine and cosine transforms. 08
Inverse Fourier transforms. Problems.
Difference Equations and Z-Transforms: Difference equations, basic definition, z-
transform-definition, Standard z-transforms, Damping and shifting rules, initial value and
final value theorems (without proof) and problems, Inverse z-transform and applications to
solve difference equations.
RBT: L1, L2
Module 4
Numerical Solutions of Ordinary Differential Equations(ODE’s): 08
Numerical solution of ODE’s of first order and first degree- Taylor’s series method, Modified
Euler’s method. Runge - Kutta method of fourth order, Milne’s and Adam-Bashforth
predictor and corrector method (No derivations of formulae)-Problems.
RBT: L1, L2
Module 5
Numerical Solution of Second Order ODE’s: Runge -Kutta method and Milne’s predictor 08
and corrector method. (No derivations of formulae).
Calculus of Variations: Variation of function and functional, variational problems, Euler’s
equation, Geodesics, hanging chain, problems.
1. http://nptel.ac.in/courses.php?disciplineID=111
2. http://www.class-central.com/Course/math(MOOCs)
3. http://academicearth.org/
4. VTU EDUSAT PROGRAMME – 20
ADDITIONAL MATHEMATICS – I
(Mandatory Learning Course: Common to All Programmees)
(A Bridge course for Lateral Entry students under Diploma quota to BE/B.Tech programmes)
(Effective from the academic year 2018 -2019)
SEMESTER – III
Course Code 18MATDIP31 CIE Marks 40
Number of Contact Hours/Week 2:1:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS – 00
Course Learning Objectives: This course (18MATDIP31) will enable students to:
• To provide basic concepts of complex trigonometry, vector algebra, differential and integral
calculus.
• To provide an insight into vector differentiation and first order ODE’s.
Module 1 Contact
Hours
Complex Trigonometry: Complex Numbers: Definitions and properties. Modulus and 08
amplitude of a complex number, Argand’s diagram, De-Moivre’s theorem (without proof).
Vector Algebra: Scalar and vectors. Addition and subtraction and multiplication of vectors-
Dot and Cross products, problems.
RBT: L2, L2
Module 2
Differential Calculus: Review of successive differentiation-illustrative examples. 08
Maclaurin’s series expansions-Illustrative examples. Partial Differentiation: Euler’s theorem-
problems on first order derivatives only. Total derivatives-differentiation of composite
functions. Jacobians of order two-Problems.
RBT: L1, L2
Module 3
Vector Differentiation: Differentiation of vector functions. Velocity and acceleration of a 08
particle moving on a space curve. Scalar and vector point functions. Gradient, Divergence,
Curl-simple problems. Solenoidal and irrotational vector fields-Problems.
RBT: L1, L2
Module 4
Integral Calculus: Review of elementary integral calculus. Reduction formulae for sinnx, 08
cosnx (with proof) and sinmx cosnx (without proof) and evaluation of these with standard
limits-Examples. Double and triple integrals-Simple examples.
RBT: L1, L2
Module 5
Ordinary differential equations (ODE’s. Introduction-solutions of first order and first 08
degree differential equations: exact, linear differential equations. Equations reducible to exact
and Bernoulli’s equation.
RBT: L1, L2
Course Outcomes: The student will be able to :
• Apply concepts of complex numbers and vector algebra to analyze the problems arising in related
area.
• Use derivatives and partial derivatives to calculate rate of change of multivariate functions.
• Analyze position, velocity and acceleration in two and three dimensions of vector valued
functions.
• Learn techniques of integration including the evaluation of double and triple integrals.
• Identify and solve first order ordinary differential equations.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. B.S. Grewal, Higher Engineering Mathematics, Khanna Publishers, 43rd Edition, 2015
Reference Books:
1. E. Kreyszig, Advanced Engineering Mathematics, John Wiley & Sons, 10th Edition, 2016
2. N.P.Bali and Manish Goyal, A Text Book of Engineering Mathematics, Laxmi Publications, 6th
Edition, 2014
3. Rohit Khurana , Engineering Mathematics Vol.I, Cengage Learning, 1st Edition, 2015.
DATA STRUCTURES AND APPLICATIONS
(Effective from the academic year 2018 -2019)
SEMESTER – III
Course Code 18CS32 CIE Marks 40
Number of Contact Hours/Week 3:2:0 SEE Marks 60
Total Number of Contact Hours 50 Exam Hours 3 Hrs
CREDITS –4
Course Learning Objectives: This course (18CS32) will enable students to:
• Explain fundamentals of data structures and their applications essential for programming/problem
solving.
• Illustrate linear representation of data structures: Stack, Queues, Lists, Trees and Graphs.
• Demonstrate sorting and searching algorithms.
• Find suitable data structure during application development/Problem Solving.
Module 1 Contact
Hours
Introduction: Data Structures, Classifications (Primitive & Non Primitive), Data structure 10
Operations, Review of Arrays, Structures, Self-Referential Structures, and Unions. Pointers
and Dynamic Memory Allocation Functions. Representation of Linear Arrays in Memory,
Dynamically allocated arrays.
Array Operations: Traversing, inserting, deleting, searching, and sorting. Multidimensional
Arrays, Polynomials and Sparse Matrices.
Strings: Basic Terminology, Storing, Operations and Pattern Matching algorithms.
Programming Examples.
Textbook 1: Chapter 1: 1.2, Chapter 2: 2.2 - 2.7 Text Textbook 2: Chapter 1: 1.1 - 1.4,
Chapter 3: 3.1 - 3.3, 3.5, 3.7, Ch apter 4: 4.1 - 4.9, 4.14 Reference 3: Chapter 1: 1.4
RBT: L1, L2, L3
Module 2
Stacks: Definition, Stack Operations, Array Representation of Stacks, Stacks using Dynamic 10
Arrays, Stack Applications: Polish notation, Infix to postfix conversion, evaluation of postfix
expression.
Recursion - Factorial, GCD, Fibonacci Sequence, Tower of Hanoi, Ackerman's function.
Queues: Definition, Array Representation, Queue Operations, Circular Queues, Circular
queues using Dynamic arrays, Dequeues, Priority Queues, A Mazing Problem. Multiple
Stacks and Queues. Programming Examples.
Textbook 1: Chapter 3: 3.1 -3.7 Textbook 2: Chapter 6: 6.1 -6.3, 6.5, 6.7-6.10, 6.12, 6.13
RBT: L1, L2, L3
Module 3
Linked Lists: Definition, Representation of linked lists in Memory, Memory allocation; 10
Garbage Collection. Linked list operations: Traversing, Searching, Insertion, and Deletion.
Doubly Linked lists, Circular linked lists, and header linked lists. Linked Stacks and Queues.
Applications of Linked lists – Polynomials, Sparse matrix representation. Programming
Examples
Textbook 1: Ch apter 4: 4.1 – 4.6, 4.8, Textbook 2: Ch apter 5: 5.1 – 5.10,
RBT: L1, L2, L3
Module 4
Trees: Terminology, Binary Trees, Properties of Binary trees, Array and linked 10
Representation of Binary Trees, Binary Tree Traversals - Inorder, postorder, preorder;
Additional Binary tree operations. Threaded binary trees, Binary Search Trees – Definition,
Insertion, Deletion, Traversal, Searching, Application of Trees-Evaluation of Expression,
Programming Examples
Textbook 1: Chapter 5: 5.1 –5.5, 5.7; Textbook 2: Chapter 7: 7.1 – 7.9
RBT: L1, L2, L3
Module 5
Graphs: Definitions, Terminologies, Matrix and Adjacency List Representation Of Graphs, 10
Elementary Graph operations, Traversal methods: Breadth First Search and Depth First
Search.
Sorting and Searching: Insertion Sort, Radix sort, Address Calculation Sort.
Hashing: Hash Table organizations, Hashing Functions, Static and Dynamic Hashing.
Files and Their Organization: Data Hierarchy, File Attributes, Text Files and Binary Files,
Basic File Operations, File Organizations and Indexing
Textbook 1: Chapter 6 : 6.1 –6.2, Chapter 7:7.2, Chapter 8 : 8.1-8.3
Textbook 2: Chapter 8 : 8.1 – 8.7, Chapter 9 : 9.1-9.3, 9.7, 9.9
Reference 2: Chapter 16 : 16.1 - 16.7
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Use different types of data structures, operations and algorithms
• Apply searching and sorting operations on files
• Use stack, Queue, Lists, Trees and Graphs in problem solving
• Implement all data structures in a high-level language for problem solving.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Ellis Horowitz and Sartaj Sahni, Fundamentals of Data Structures in C, 2nd Ed, Universities Press,
2014.
2. Seymour Lipschutz, Data Structures Schaum's Outlines, Revised 1st Ed, McGraw Hill, 2014.
Reference Books:
1. Gilberg & Forouzan, Data Structures: A Pseudo-code approach with C, 2nd Ed, Cengage
Learning,2014.
2. Reema Thareja, Data Structures using C, 3rd Ed, Oxford press, 2012.
3. Jean-Paul Tremblay & Paul G. Sorenson, An Introduction to Data Structures with Applications,
2nd Ed, McGraw Hill, 2013
4. A M Tenenbaum, Data Structures using C, PHI, 1989
5. Robert Kruse, Data Structures and Program Design in C, 2nd Ed, PHI, 1996.
ANALOG AND DIGITAL ELECTRONICS
(Effective from the academic year 2018 -2019)
SEMESTER – III
Course Code 18CS33 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS33) will enable students to:
• Explain the use of photoelectronics devices, 555 timer IC, Regulator ICs and uA741 opamap IC
• Make use of simplifying techniques in the design of combinational circuits.
• Illustrate combinational and sequential digital circuits
• Demonstrate the use of flipflops and apply for registers
• Design and test counters, Analog-to-Digital and Digital-to-Analog conversion techqniues.
Module 1 Contact
Hours
Photodiodes, Light Emitting Diodes and Optocouplers ,BJT Biasing :Fixed bias ,Collector to 08
base Bias , voltage divider bias, Operational Amplifier Application Circuits: Multivibrators
using IC-555, Peak Detector, Schmitt trigger, Active Filters, Non-Linear Amplifier,
Relaxation Oscillator, Current-to-Voltage and Voltage-to-Current Converter , Regulated
Power Supply Parameters, adjustable voltage regulator ,D to A and A to D converter.
Text Book 1 :Part A:Chapter 2(Section 2.9,2.10,2.11), Chapter 4(Section 4.2
,4.3,4.4),Chapter 7 (section (7.2,7.3.1,7.4,7.6 to 7.11), Chapter 8 (section (8.1,8.5),
Chapter 9
RBT: L1, L2
Module 2
Karnaugh maps: minimum forms of switching functions, two and three variable Karnaugh 08
maps, four variable karnaugh maps, determination of minimum expressions using essential
prime implicants, Quine-McClusky Method: determination of prime implicants, The prime
implicant chart, petricks method, simplification of incompletely specified functions,
simplification using map-entered variables
Text book 1:Part B: Chapter 5 ( Sections 5.1 to 5.4) Chapter 6(Sections 6.1 to 6.5)
RBT: L1, L2
Module 3
Combinational circuit design and simulation using gates: Review of Combinational circuit 08
design, design of circuits with limited Gate Fan-in ,Gate delays and Timing diagrams,
Hazards in combinational Logic, simulation and testing of logic circuits
Multiplexers, Decoders and Programmable Logic Devices: Multiplexers, three state buffers,
decoders and encoders, Programmable Logic devices, Programmable Logic Arrays,
Programmable Array Logic.
Text book 1:Part B: Chapter 8,Chapter 9 (Sections 9.1 to 9.6)
RBT: L1, L2
Module 4
Introduction to VHDL: VHDL description of combinational circuits, VHDL Models for 08
multiplexers, VHDL Modules.
Latches and Flip-Flops: Set Reset Latch, Gated Latches, Edge-Triggered D Flip Flop 3,SR
Flip Flop, J K Flip Flop, T Flip Flop, Flip Flop with additional inputs, Asynchronous
Sequential Circuits
Text book 1:Part B: Chapter 10(Sections 10.1 to 10.3),Chapter 11 (Sections 11.1 to 11.9)
RBT: L1, L2
Module 5
Registers and Counters: Registers and Register Transfers, Parallel Adder with accumulator, 08
shift registers, design of Binary counters, counters for other sequences, counter design using
SR and J K Flip Flops, sequential parity checker, state tables and graphs
Text book 1:Part B: Chapter 12(Sections 12.1 to 12.5),Chapter 13(Sections 13.1,13.3
RBT: L1, L2
Course Outcomes: The student will be able to :
• Design and analyze application of analog circuits using photo devices, timer IC, power supply
and regulator IC and op-amp.
• Explain the basic principles of A/D and D/A conversion circuits and develop the same.
• Simplify digital circuits using Karnaugh Map , and Quine-McClusky Methods
• Explain Gates and flip flops and make us in designing different data processing circuits, registers
and counters and compare the types.
• Develop simple HDL programs
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Charles H Roth and Larry L Kinney, Analog and Digital Electronics, Cengage Learning,2019
Reference Books:
1. Anil K Maini, Varsha Agarwal, Electronic Devices and Circuits, Wiley, 2012.
2. Donald P Leach, Albert Paul Malvino & Goutam Saha, Digital Principles and Applications, 8th
Edition, Tata McGraw Hill, 2015.
3. M. Morris Mani, Digital Design, 4th Edition, Pearson Prentice Hall, 2008.
4. David A. Bell, Electronic Devices and Circuits, 5th Edition, Oxford University Press, 2008
COMPUTER ORGANIZATION
(Effective from the academic year 2018 -2019)
SEMESTER – III
Course Code 18CS34 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS34) will enable students to:
• Explain the basic sub systems of a computer, their organization, structure and operation.
• Illustrate the concept of programs as sequences of machine instructions.
• Demonstrate different ways of communicating with I/O devices and standard I/O interfaces.
• Describe memory hierarchy and concept of virtual memory.
• Describe arithmetic and logical operations with integer and floating-point operands.
• Illustrate organization of a simple processor, pipelined processor and other computing systems.
Module 1 Contact
Hours
Basic Structure of Computers: Basic Operational Concepts, Bus Structures, Performance – 08
Processor Clock, Basic Performance Equation, Clock Rate, Performance Measurement.
Machine Instructions and Programs: Memory Location and Addresses, Memory
Operations, Instructions and Instruction Sequencing, Addressing Modes, Assembly
Language, Basic Input and Output Operations, Stacks and Queues, Subroutines, Additional
Instructions, Encoding of Machine Instructions
Text book 1: Chapter1 – 1.3, 1.4, 1.6 (1.6.1-1.6.4, 1.6.7), Chapter2 – 2.2 to 2.10
Textbook 2: Ch 1,2,3.
RBT: L1, L2 L3
Module 3
System Models: Context models (Sec 5.1). Interaction models (Sec 5.2). Structural models 08
(Sec 5.3). Behavioral models (Sec 5.4). Model-driven engineering (Sec 5.5).
Design and Implementation: Introduction to RUP (Sec 2.4), Design Principles (Chap 7).
Object-oriented design using the UML (Sec 7.1). Design patterns (Sec 7.2). Implementation
issues (Sec 7.3). Open source development (Sec 7.4).
Module 4
Software Testing: Development testing (Sec 8.1), Test-driven development (Sec 8.2), 08
Release testing (Sec 8.3), User testing (Sec 8.4). Test Automation (Page no 212).
Software Evolution: Evolution processes (Sec 9.1). Program evolution dynamics (Sec 9.2).
Software maintenance (Sec 9.3). Legacy system management (Sec 9.4).
Module 5
Project Planning: Software pricing (Sec 23.1). Plan-driven development (Sec 23.2). Project 08
scheduling (Sec 23.3): Estimation techniques (Sec 23.5). Quality management: Software
quality (Sec 24.1). Reviews and inspections (Sec 24.3). Software measurement and metrics
(Sec 24.4). Software standards (Sec 24.2)
Laboratory Programs:
PART A (Analog Electronic Circuits)
1. Design an astable multivibrator ciruit for three cases of duty cycle (50%, <50% and >50%)
using NE 555 timer IC. Simulate the same for any one duty cycle.
2. Using ua 741 Opamp, design a 1 kHz Relaxation Oscillator with 50% duty cycle. And
simulate the same.
3. Using ua 741 opamap, design a window comparate for any given UTP and LTP. And
simulate the same.
PART B (Digital Electronic Circuits)
4. Design and implement Half adder, Full Adder, Half Subtractor, Full Subtractor using basic
gates. And implement the same in HDL.
5. Given a 4-variable logic expression, simplify it using appropriate technique and realize the
simplified logic expression using 8:1 multiplexer IC. And implement the same in HDL.
6. Realize a J-K Master / Slave Flip-Flop using NAND gates and verify its truth table. And
implement the same in HDL.
7. Design and implement code converter I)Binary to Gray (II) Gray to Binary Code using basic
gates.
8. Design and implement a mod-n (n<8) synchronous up counter using J-K Flip-Flop ICs and
demonstrate its working.
9. Design and implement an asynchronous counter using decade counter IC to count up from 0
to n (n<=9) and demonstrate on 7-segment display (using IC-7447)
Laboratory Outcomes: The student should be able to:
• Use appropriate design equations / methods to design the given circuit.
• Examine and verify the design of both analog and digital circuits using simulators.
• Make us of electronic components, ICs, instruments and tools for design and testing of circuits
for the given the appropriate inputs.
• Compile a laboratory journal which includes; aim, tool/instruments/software/components used,
design equations used and designs, schematics, program listing, procedure followed, relevant
theory, results as graphs and tables, interpreting and concluding the findings.
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
a) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
b) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
DATA STRUCTURES LABORATORY
(Effective from the academic year 2018 -2019)
SEMESTER – III
Course Code 18CSL38 CIE Marks 40
Number of Contact Hours/Week 0:2:2 SEE Marks 60
Total Number of Lab Contact Hours 36 Exam Hours 3 Hrs
Credits – 2
Course Learning Objectives: This course (18CSL38) will enable students to:
This laboratory course enable students to get practical experience in design, develop, implement, analyze
and evaluation/testing of
• Asymptotic performance of algorithms.
• Linear data structures and their applications such as stacks, queues and lists
• Non-Linear data structures and their applications such as trees and graphs
• Sorting and searching algorithms
Descriptions (if any):
• Implement all the programs in ‘C / C++’ Programming Language and Linux / Windows as OS.
Programs List:
1. Design, Develop and Implement a menu driven Program in C for the following array
operations.
a. Creating an array of N Integer Elements
b. Display of array Elements with Suitable Headings
c. Inserting an Element (ELEM) at a given valid Position (POS)
d. Deleting an Element at a given valid Position (POS)
e. Exit.
Support the program with functions for each of the above operations.
2. Design, Develop and Implement a Program in C for the following operations on Strings.
a. Read a main String (STR), a Pattern String (PAT) and a Replace String (REP)
b. Perform Pattern Matching Operation: Find and Replace all occurrences of PAT in
STR with REP if PAT exists in STR. Report suitable messages in case PAT does not
exist in STR
Support the program with functions for each of the above operations. Don't use Built-in
functions.
3. Design, Develop and Implement a menu driven Program in C for the following operations on
STACK of Integers (Array Implementation of Stack with maximum size MAX)
a. Push an Element on to Stack
b. Pop an Element from Stack
c. Demonstrate how Stack can be used to check Palindrome
d. Demonstrate Overflow and Underflow situations on Stack
e. Display the status of Stack
f. Exit
Support the program with appropriate functions for each of the above operations
4. Design, Develop and Implement a Program in C for converting an Infix Expression to Postfix
Expression. Program should support for both parenthesized and free parenthesized
expressions with the operators: +, -, *, /, % (Remainder), ^ (Power) and alphanumeric
operands.
5. Design, Develop and Implement a Program in C for the following Stack Applications
a. Evaluation of Suffix expression with single digit operands and operators: +, -, *, /, %,
^
b. Solving Tower of Hanoi problem with n disks
6. Design, Develop and Implement a menu driven Program in C for the following operations on
Circular QUEUE of Characters (Array Implementation of Queue with maximum size MAX)
a. Insert an Element on to Circular QUEUE
b. Delete an Element from Circular QUEUE
c. Demonstrate Overflow and Underflow situations on Circular QUEUE
d. Display the status of Circular QUEUE
e. Exit
Support the program with appropriate functions for each of the above operations
7. Design, Develop and Implement a menu driven Program in C for the following operations on
Singly Linked List (SLL) of Student Data with the fields: USN, Name, Programme, Sem,
PhNo
a. Create a SLL of N Students Data by using front insertion.
b. Display the status of SLL and count the number of nodes in it
c. Perform Insertion / Deletion at End of SLL
d. Perform Insertion / Deletion at Front of SLL(Demonstration of stack)
e. Exit
8. Design, Develop and Implement a menu driven Program in C for the following operations on
Doubly Linked List (DLL) of Employee Data with the fields: SSN, Name, Dept, Designation,
Sal, PhNo
a. Create a DLL of N Employees Data by using end insertion.
b. Display the status of DLL and count the number of nodes in it
c. Perform Insertion and Deletion at End of DLL
d. Perform Insertion and Deletion at Front of DLL
e. Demonstrate how this DLL can be used as Double Ended Queue.
f. Exit
9. Design, Develop and Implement a Program in C for the following operationson Singly
Circular Linked List (SCLL) with header nodes
a. Represent and Evaluate a Polynomial P(x,y,z) = 6x2y2z-4yz5+3x3yz+2xy5z-2xyz3
b. Find the sum of two polynomials POLY1(x,y,z) and POLY2(x,y,z) and store the
result in POLYSUM(x,y,z)
Support the program with appropriate functions for each of the above operations
10. Design, Develop and Implement a menu driven Program in C for the following operations on
Binary Search Tree (BST) of Integers .
a. Create a BST of N Integers: 6, 9, 5, 2, 8, 15, 24, 14, 7, 8, 5, 2
b. Traverse the BST in Inorder, Preorder and Post Order
c. Search the BST for a given element (KEY) and report the appropriate message
d. Exit
11. Design, Develop and Implement a Program in C for the following operations on Graph(G)
of Cities
a. Create a Graph of N cities using Adjacency Matrix.
b. Print all the nodes reachable from a given starting node in a digraph using DFS/BFS
method
12. Given a File of N employee records with a set K of Keys (4-digit) which uniquely determine
the records in file F. Assume that file F is maintained in memory by a Hash Table (HT) of m
memory locations with L as the set of memory addresses (2-digit) of locations in HT. Let the
keys in K and addresses in L are Integers. Design and develop a Program in C that uses Hash
function H: K →L as H(K)=K mod m (remainder method), and implement hashing
technique to map a given key K to the address space L. Resolve the collision (if any) using
linear probing.
Laboratory Outcomes: The student should be able to:
• Analyze and Compare various linear and non-linear data structures
• Code, debug and demonstrate the working nature of different types of data structures and their
applications
• Implement, analyze and evaluate the searching and sorting algorithms
• Choose the appropriate data structure for solving real world problems
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
c) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
d) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
COMPLEX ANALYSIS, PROBABILITY AND STATISTICAL METHODS
(Effective from the academic year 2018 -2019)
SEMESTER – IV
Course Code 18MAT41 CIE Marks 40
Number of Contact Hours/Week 2:2:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18MAT41) will enable students to:
• To provide an insight into applications of complex variables, conformal mapping and special
functions arising in potential theory, quantum mechanics, heat conduction and field theory.
• To develop probability distribution of discrete, continuous random variables and joint probability
distribution occurring in digital signal processing, design engineering and microwave
engineering.
Module 1 Contact
Hours
Calculus of complex functions: Review of function of a complex variable, limits, 08
continuity, and differentiability. Analytic functions: Cauchy-Riemann equations in cartesian
and polar forms and consequences. Construction of analytic functions : Milne-Thomson
method-Problems.
RBT: L1, L2
Module 2
Conformal transformations: Introduction. Discussion of transformations: 08
w = z 2 , w = e z , w = z + 1 , ( z ≠ 0 ) . Bilinear transformations- Problems.
z
Complex integration: Line integral of a complex function-Cauchy’s theorem and Cauchy’s
integral formula and problems.
RBT: L1, L2
Module 3
Probability Distributions: Review of basic probability theory. Random variables (discrete 08
and continuous), probability mass/density functions. Binomial, Poisson, exponential and
normal distributions- problems (No derivation for mean and standard deviation)-Illustrative
examples.
RBT: L1, L2, L3
Module 4
Curve Fitting: Curve fitting by the method of least squares- fitting the curves of the form- 08
Sampling Theory: Introduction to sampling distributions, standard error, Type-I and Type-II
errors. Test of hypothesis for means, student’s t-distribution, Chi-square distribution as
a test of goodness of fit.
RBT:L2, L3, L4
Course Outcomes: The student will be able to :
• Use the concepts of analytic function and complex potentials to solve the problems arising in
electromagnetic field theory.
• Utilize conformal transformation and complex integral arising in aerofoil theory, fluid flow
visualization and image processing.
• Apply discrete and continuous probability distributions in analyzing the probability models
arising in engineering field.
• Make use of the correlation and regression analysis to fit a suitable mathematical model for the
statistical data.
• Construct joint probability distributions and demonstrate the validity of testing the hypothesis.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. E. Kreyszig, Advanced Engineering Mathematics, John Wiley & Sons, 10th Edition, 2016
2. B.S. Grewal, Higher Engineering Mathematics, Khanna Publishers, 44th Edition, 2017
3. Srimanta Pal et al , Engineering Mathematics, Oxford University Press, 3rd Edition, 2016
Reference Books:
1. C.Ray Wylie, Louis C.Barrett , Advanced Engineering Mathematics, McGraw-Hill Book Co, 6th
Edition, 1995
2. S.S.Sastry, Introductory Methods of Numerical Analysis, Prentice Hall of India, 4th Edition 2010
3. B.V.Ramana, Higher Engineering Mathematics, McGraw-Hill, 11th Edition,2010
4. N.P.Bali and Manish Goyal, A Text Book of Engineering Mathematics, Laxmi Publications, 6th
Edition, 2014
Web links and Video Lectures:
1. http://nptel.ac.in/courses.php?disciplineID=111
2. http://www.class-central.com/Course/math(MOOCs)
3. http://academicearth.org/
4. VTU EDUSAT PROGRAMME – 20
ADDITIONAL MATHEMATICS – II
(Mandatory Learning Course: Common to All Programmees)
(A Bridge course for Lateral Entry students under Diploma quota to BE/B.Tech programmes)
(Effective from the academic year 2018 -2019)
SEMESTER – IV
Course Code 18MATDIP41 CIE Marks 40
Number of Contact Hours/Week 2:1:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS – 0
Course Learning Objectives: This course (18MATDIP41) will enable students to:
• To provide essential concepts of linear algebra, second & higher order differential equations
along with methods to solve them.
• To provide an insight into elementary probability theory and numerical methods.
Module 1 Contact
Hours
Linear Algebra: Introduction - rank of matrix by elementary row operations - Echelon form. 08
Consistency of system of linear equations - Gauss elimination method. Eigen values and
eigen vectors of a square matrix. Problems.
RBT: L2, L2
Module 2
Numerical Methods: Finite differences. Interpolation/extrapolation using Newton’s forward 08
and backward difference formulae (Statements only)-problems. Solution of polynomial
and transcendental equations – Newton-Raphson and Regula-Falsi methods (only
formulae)- Illustrative examples. Numerical integration: Simpson’s one third rule and
Weddle’s rule (without proof) Problems.
RBT: L1, L2
Module 4
Partial Differential Equations(PDE’s):- Formation of PDE’s by elimination of arbitrary 08
constants and functions. Solution of non-homogeneous PDE by direct integration.
Homogeneous PDEs involving derivative with respect to one independent variable only.
RBT: L1, L2
Module 5
Probability: Introduction. Sample space and events. Axioms of probability. Addition & 08
multiplication theorems. Conditional probability, Bayes’s theorem, problems.
RBT: L1, L2
Text book 1: Chapter 1, 2.1, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9, 2.10, 3.1, 3.2, 3.3, 3.4
Text book 1: Chapter 4.1, 4.2, 4.3, 4.4, 5.1, 5.2, 5.3, 5.4, 5.5, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7
RBT: L1, L2
Module 2
Introduction to the ARM Instruction Set : Data Processing Instructions , Programme 08
Instructions, Software Interrupt Instructions, Program Status Register Instructions,
Coprocessor Instructions, Loading Constants
ARM programming using Assembly language: Writing Assembly code, Profiling and
cycle counting, instruction scheduling, Register Allocation, Conditional Execution, Looping
Constructs
Text book 1: Chapter 3:Sections 3.1 to 3.6 ( Excluding 3.5.2), Chapter 6(Sections 6.1 to
6.6)
RBT: L1, L2
Module 3
Embedded System Components: Embedded Vs General computing system, History of 08
embedded systems, Classification of Embedded systems, Major applications areas of
embedded systems, purpose of embedded systems
Core of an Embedded System including all types of processor/controller, Memory, Sensors,
Actuators, LED, 7 segment LED display, stepper motor, Keyboard, Push button switch,
Communication Interface (onboard and external types), Embedded firmware, Other system
components.
Text book 2:Chapter 1(Sections 1.2 to 1.6),Chapter 2(Sections 2.1 to 2.6)
RBT: L1, L2
Module 4
Embedded System Design Concepts: Characteristics and Quality Attributes of Embedded 08
Systems, Operational quality attributes ,non-operational quality attributes, Embedded
Systems-Application and Domain specific, Hardware Software Co-Design and Program
Modelling, embedded firmware design and development
Text book 2: Chapter-3, Chapter-4, Chapter-7 (Sections 7.1, 7.2 only), Chapter-9
(Sections 9.1, 9.2, 9.3.1, 9.3.2 only)
RBT: L1, L2
Module 5
RTOS and IDE for Embedded System Design: Operating System basics, Types of 08
operating systems, Task, process and threads (Only POSIX Threads with an example
program), Thread preemption, Multiprocessing and Multitasking, Task Communication
(without any program), Task synchronization issues – Racing and Deadlock, Concept of
Binary and counting semaphores (Mutex example without any program), How to choose an
RTOS, Integration and testing of Embedded hardware and firmware, Embedded system
Development Environment – Block diagram (excluding Keil), Disassembler/decompiler,
simulator, emulator and debugging techniques, target hardware debugging, boundary scan.
Text book 2: Chapter-10 (Sections 10.1, 10.2, 10.3, 10.4 , 10.7, 10.8.1.1, 10.8.1.2, 10.8.2.2,
10.10 only), Chapter 12, Chapter-13 ( block diagram before 13.1, 13.3, 13.4, 13.5, 13.6
only)
RBT: L1, L2
Course Outcomes: The student will be able to :
● Describe the architectural features and instructions of ARM microcontroller
● Apply the knowledge gained for Programming ARM for different applications.
● Interface external devices and I/O with ARM microcontroller.
● Interpret the basic hardware components and their selection method based on the characteristics
and attributes of an embedded system.
● Develop the hardware /software co-design and firmware design approaches.
• Demonstrate the need of real time operating system for embedded system applications
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Andrew N Sloss, Dominic Symes and Chris Wright, ARM system developers guide, Elsevier,
Morgan Kaufman publishers, 2008.
2. Shibu K V, “Introduction to Embedded Systems”, Tata McGraw Hill Education, Private Limited,
2nd Edition.
Reference Books:
1. Raghunandan..G.H, Microcontroller (ARM) and Embedded System, Cengage learning
Publication,2019
2. The Insider’s Guide to the ARM7 Based Microcontrollers, Hitex Ltd.,1st edition, 2005.
3. Steve Furber, ARM System-on-Chip Architecture, Second Edition, Pearson, 2015.
4. Raj Kamal, Embedded System, Tata McGraw-Hill Publishers, 2nd Edition, 2008.
OBJECT ORIENTED CONCEPTS
(Effective from the academic year 2018 -2019)
SEMESTER – IV
Course Code 18CS45 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS45) will enable students to:
• Learn fundamental features of object oriented language and JAVA
• Set up Java JDK environment to create, debug and run simple Java programs.
• Create multi-threaded programs and event handling mechanisms.
• Introduce event driven Graphical User Interface (GUI) programming using applets and swings.
Module 1 Contact
Hours
Introduction to Object Oriented Concepts: 08
A Review of structures, Procedure–Oriented Programming system, Object Oriented
Programming System, Comparison of Object Oriented Language with C, Console I/O,
variables and reference variables, Function Prototyping, Function Overloading. Class and
Objects: Introduction, member functions and data, objects and functions.
Reference Books:
1. Mahesh Bhave and Sunil Patekar, "Programming with Java", First Edition, Pearson
Education,2008, ISBN:9788131720806
2. Herbert Schildt, The Complete Reference C++, 4th Edition, Tata McGraw Hill, 2003.
3. Stanley B.Lippmann, Josee Lajore, C++ Primer, 4th Edition, Pearson Education, 2005.
4. Rajkumar Buyya,S Thamarasi selvi, xingchen chu, Object oriented Programming with java, Tata
McGraw Hill education private limited.
5. Richard A Johnson, Introduction to Java Programming and OOAD, CENGAGE Learning.
6. E Balagurusamy, Programming with Java A primer, Tata McGraw Hill companies.
Mandatory Note: Every institute shall organize bridge course on C++, either in the vacation or in
the beginning of even semester for a minimum period of ten days (2hrs/day). Maintain a copy of the
report for verification during LIC visit.
Faculty can utilize open source tools to make teaching and learning more interactive.
DATA COMMUNICATION
(Effective from the academic year 2018 -2019)
SEMESTER – IV
Course Code 18CS46 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS46) will enable students to:
• Comprehend the transmission technique of digital data between two or more computers and a
computer network that allows computers to exchange data.
• Explain with the basics of data communication and various types of computer networks;
• Demonstrate Medium Access Control protocols for reliable and noisy channels.
• Expose wireless and wired LANs.
Module 1 Contact
Hours
Introduction: Data Communications, Networks, Network Types, Internet History, Standards 08
and Administration, Networks Models: Protocol Layering, TCP/IP Protocol suite, The OSI
model, Introduction to Physical Layer-1: Data and Signals, Digital Signals, Transmission
Impairment, Data Rate limits, Performance.
RBT: L1, L2
Module 4
Data link control: DLC services, Data link layer protocols, Point to Point protocol (Framing, 08
Transition phases only).
Media Access control: Random Access, Controlled Access and Channelization,
Introduction to Data-Link Layer: Introduction, Link-Layer Addressing, ARP
IPv4 Addressing and subnetting: Classful and CIDR addressing, DHCP, NAT
Textbook1: Ch 9.1, 9.2, 11.1, 11.2 11.4, 12.1 to 12.3, 18.4
RBT: L1, L2
Module 5
Wired LANs Ethernet: Ethernet Protocol, Standard Ethernet, Fast Ethernet, Gigabit 08
Ethernet and 10 Gigabit Ethernet,
Wireless LANs: Introduction, IEEE 802.11 Project and Bluetooth.
Other wireless Networks: Cellular Telephony
b. Write a Java program to implement the Stack using arrays. Write Push(), Pop(), and
Display() methods to demonstrate its working.
2.
a. Design a superclass called Staff with details as StaffId, Name, Phone, Salary. Extend this
class by writing three subclasses namely Teaching (domain, publications), Technical
(skills), and Contract (period). Write a Java program to read and display at least 3 staff
objects of all three categories.
b. Write a Java class called Customer to store their name and date_of_birth. The date_of_birth
format should be dd/mm/yyyy. Write methods to read customer data as <name,
dd/mm/yyyy> and display as <name, dd, mm, yyyy> using StringTokenizer class
considering the delimiter character as “/”.
3.
a. Write a Java program to read two integers a andb. Compute a/b and print, when b is not zero.
Raise an exception when b is equal to zero.
b. Write a Java program that implements a multi-thread application that has three threads. First
thread generates a random integer for every 1 second; second thread computes the square of
the number andprints; third thread will print the value of cube of the number.
4. Sort a given set of n integer elements using Quick Sort method and compute its time
complexity. Run the program for varied values of n> 5000 and record the time taken to sort.
Plot a graph of the time taken versus non graph sheet. The elements can be read from a file
or can be generated using the random number generator. Demonstrate using Java how the
divide-and-conquer method works along with its time complexity analysis: worst case,
average case and best case.
5. Sort a given set of n integer elements using Merge Sort method and compute its time
complexity. Run the program for varied values of n> 5000, and record the time taken to
sort. Plot a graph of the time taken versus non graph sheet. The elements can be read from a
file or can be generated using the random number generator. Demonstrate using Java how
the divide-and-conquer method works along with its time complexity analysis: worst case,
average case and best case.
6. Implement in Java, the 0/1 Knapsack problem using (a) Dynamic Programming method (b)
Greedy method.
7. From a given vertex in a weighted connected graph, find shortest paths to other vertices
using Dijkstra's algorithm. Write the program in Java.
8. Find Minimum Cost Spanning Tree of a given connected undirected graph using
Kruskal'salgorithm. Use Union-Find algorithms in your program
9. Find Minimum Cost Spanning Tree of a given connected undirected graph using
Prim's algorithm.
11. Design and implement in Java to find a subset of a given set S = {Sl, S2,.....,Sn} of n
positive integers whose SUM is equal to a given positive integer d. For example, if S ={1, 2,
5, 6, 8} and d= 9, there are two solutions {1,2,6}and {1,8}. Display a suitable message, if
the given problem instance doesn't have a solution.
12. Design and implement in Java to find all Hamiltonian Cycles in a connected undirected
Graph G of n vertices using backtracking principle.
RBT: L1, L2
Module – 2
Directing and controlling- meaning and nature of directing, leadership styles, motivation 08
Theories, Communication- Meaning and importance, Coordination- meaning and
importance, Controlling- meaning, steps in controlling, methods of establishing control.
RBT: L1, L2
Module – 3
Entrepreneur – meaning of entrepreneur, characteristics of entrepreneurs, classification 08
and types of entrepreneurs, various stages in entrepreneurial process, role of entrepreneurs
in economic development, entrepreneurship in India and barriers to entrepreneurship.
Identification of business opportunities, market feasibility study, technical feasibility study,
financial feasibility study and social feasibility study.
RBT: L1, L2
Module – 4
Preparation of project and ERP - meaning of project, project identification, project 08
selection, project report, need and significance of project report, contents,
formulation, guidelines by planning commission for project report, Enterprise Resource
Planning: Meaning and Importance- ERP and Functional areas of Management –
Marketing / Sales- Supply Chain Management – Finance and Accounting – Human
Resources – Types of reports and methods of report generation
RBT: L1, L2
Module – 5
Micro and Small Enterprises: Definition of micro and small enterprises, characteristics 08
and advantages of micro and small enterprises, steps in establishing micro and small
enterprises, Government of India indusial policy 2007 on micro and small enterprises, case
study (Microsoft), Case study(Captain G R Gopinath),case study (N R Narayana Murthy &
Infosys), Institutional support: MSME-DI, NSIC, SIDBI, KIADB, KSSIDC, TECSOK,
KSFC, DIC and District level single window agency, Introduction to IPR.
RBT: L1, L2
Course outcomes: The students should be able to:
• Define management, organization, entrepreneur, planning, staffing, ERP and outline their
importance in entrepreneurship
• Utilize the resources available effectively through ERP
• Make use of IPRs and institutional support in entrepreneurship
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Principles of Management -P. C. Tripathi, P. N. Reddy; Tata McGraw Hill, 4th / 6th Edition,
2010.
2. Dynamics of Entrepreneurial Development & Management -Vasant Desai Himalaya Publishing
House.
3. Entrepreneurship Development -Small Business Enterprises -Poornima M Charantimath Pearson
Education – 2006.
4. Management and Entrepreneurship - Kanishka Bedi- Oxford University Press-2017
Reference Books:
1. Management Fundamentals -Concepts, Application, Skill Development Robert Lusier –
Thomson.
2. Entrepreneurship Development -S S Khanka -S Chand & Co.
3. Management -Stephen Robbins -Pearson Education /PHI -17th Edition, 2003
COMPUTER NETWORKS AND SECURITY
(Effective from the academic year 2018 -2019)
SEMESTER – V
Course Code 18CS52 CIE Marks 40
Number of Contact Hours/Week 3:2:0 SEE Marks 60
Total Number of Contact Hours 50 Exam Hours 3 Hrs
CREDITS –4
Course Learning Objectives: This course (18CS52) will enable students to:
• Demonstration of application layer protocols
• Discuss transport layer services and understand UDP and TCP protocols
• Explain routers, IP and Routing Algorithms in network layer
• Disseminate the Wireless and Mobile Networks covering IEEE 802.11 Standard
• Illustrate concepts of Multimedia Networking, Security and Network Management
Module 1 Contact
Hours
Application Layer: Principles of Network Applications: Network Application Architectures, 10
Processes Communicating, Transport Services Available to Applications, Transport Services
Provided by the Internet, Application-Layer Protocols. The Web and HTTP: Overview of
HTTP, Non-persistent and Persistent Connections, HTTP Message Format, User-Server
Interaction: Cookies, Web Caching, The Conditional GET, File Transfer: FTP Commands &
Replies, Electronic Mail in the Internet: SMTP, Comparison with HTTP, Mail Message
Format, Mail Access Protocols, DNS; The Internet's Directory Service: Services Provided by
DNS, Overview of How DNS Works, DNS Records and Messages, Peer-to-Peer
Applications: P2P File Distribution, Distributed Hash Tables, Socket Programming: creating
Network Applications: Socket Programming with UDP, Socket Programming with TCP.
T1: Chap 2
Textbook2: Chapter 10
RBT: L1, L2, L3
Module 5
Multimedia Networking: Properties of video, properties of Audio, Types of multimedia 10
Network Applications, Streaming stored video: UDP Streaming, HTTP Streaming, Adaptive
streaming and DASH, content distribution Networks
Voice-over-IP :Limitations of the Best-Effort IP Service ,Removing Jitter at the Receiver for
Audio ,Recovering from Packet Loss Protocols for Real-Time Conversational Applications ,
RTP , SIP
Textbook11: Chap 7
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Explain principles of application layer protocols
• Recognize transport layer services and infer UDP and TCP protocols
• Classify routers, IP and Routing Algorithms in network layer
• Understand the Wireless and Mobile Networks covering IEEE 802.11 Standard
• Describe Multimedia Networking and Network Management
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. James F Kurose and Keith W Ross, Computer Networking, A Top-Down Approach, Sixth
edition, Pearson,2017 .
2. Nader F Mir, Computer and Communication Networks, 2nd Edition, Pearson, 2014.
Reference Books:
1. Behrouz A Forouzan, Data and Communications and Networking, Fifth Edition, McGraw Hill,
Indian Edition
2. Larry L Peterson and Brusce S Davie, Computer Networks, fifth edition, ELSEVIER
3. Andrew S Tanenbaum, Computer Networks, fifth edition, Pearson
4. Mayank Dave, Computer Networks, Second edition, Cengage Learning
DATABASE MANAGEMENT SYSTEM
(Effective from the academic year 2018 -2019)
SEMESTER – V
Course Code 18CS53 CIE Marks 40
Number of Contact Hours/Week 3:2:0 SEE Marks 60
Total Number of Contact Hours 50 Exam Hours 3 Hrs
CREDITS –4
Course Learning Objectives: This course (18CS53) will enable students to:
• Provide a strong foundation in database concepts, technology, and practice.
• Practice SQL programming through a variety of database problems.
• Demonstrate the use of concurrency and transactions in database
• Design and build database applications for real world problems.
Module 1 Contact
Hours
Introduction to Databases: Introduction, Characteristics of database approach, Advantages 10
of using the DBMS approach, History of database applications. Overview of Database
Languages and Architectures: Data Models, Schemas, and Instances. Three schema
architecture and data independence, database languages, and interfaces, The Database System
environment. Conceptual Data Modelling using Entities and Relationships: Entity types,
Entity sets, attributes, roles, and structural constraints, Weak entity types, ER diagrams,
examples, Specialization and Generalization.
Textbook 1:Ch 1.1 to 1.8, 2.1 to 2.6, 3.1 to 3.10
RBT: L1, L2, L3
Module 2
Relational Model: Relational Model Concepts, Relational Model Constraints and relational 10
database schemas, Update operations, transactions, and dealing with constraint violations.
Relational Algebra: Unary and Binary relational operations, additional relational operations
(aggregate, grouping, etc.) Examples of Queries in relational algebra. Mapping Conceptual
Design into a Logical Design: Relational Database Design using ER-to-Relational mapping.
SQL: SQL data definition and data types, specifying constraints in SQL, retrieval queries in
SQL, INSERT, DELETE, and UPDATE statements in SQL, Additional features of SQL.
Textbook 1: Ch4.1 to 4.5, 5.1 to 5.3, 6.1 to 6.5, 8.1; Textbook 2: 3.5
RBT: L1, L2, L3
Module 3
SQL : Advances Queries: More complex SQL retrieval queries, Specifying constraints as 10
assertions and action triggers, Views in SQL, Schema change statements in SQL. Database
Application Development: Accessing databases from applications, An introduction to
JDBC, JDBC classes and interfaces, SQLJ, Stored procedures, Case study: The internet
Bookshop. Internet Applications: The three-Tier application architecture, The presentation
layer, The Middle Tier
Textbook 1: Ch7.1 to 7.4; Textbook 2: 6.1 to 6.6, 7.5 to 7.7.
RBT: L1, L2, L3
Module 4
Normalization: Database Design Theory – Introduction to Normalization using Functional 10
and Multivalued Dependencies: Informal design guidelines for relation schema, Functional
Dependencies, Normal Forms based on Primary Keys, Second and Third Normal Forms,
Boyce-Codd Normal Form, Multivalued Dependency and Fourth Normal Form, Join
Dependencies and Fifth Normal Form. Normalization Algorithms: Inference Rules,
Equivalence, and Minimal Cover, Properties of Relational Decompositions, Algorithms for
Relational Database Schema Design, Nulls, Dangling tuples, and alternate Relational
Designs, Further discussion of Multivalued dependencies and 4NF, Other dependencies and
Normal Forms
Textbook 1: Ch14.1 to 14.7, 15.1 to 15.6
RBT: L1, L2, L3
Module 5
Transaction Processing: Introduction to Transaction Processing, Transaction and System 10
concepts, Desirable properties of Transactions, Characterizing schedules based on
recoverability, Characterizing schedules based on Serializability, Transaction support in
SQL. Concurrency Control in Databases: Two-phase locking techniques for Concurrency
control, Concurrency control based on Timestamp ordering, Multiversion Concurrency
control techniques, Validation Concurrency control techniques, Granularity of Data items and
Multiple Granularity Locking. Introduction to Database Recovery Protocols: Recovery
Concepts, NO-UNDO/REDO recovery based on Deferred update, Recovery techniques based
on immediate update, Shadow paging, Database backup and recovery from catastrophic
failures
Textbook 1: 20.1 to 20.6, 21.1 to 21.7, 22.1 to 22.4, 22.7.
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Identify, analyze and define database objects, enforce integrity constraints on a database using
RDBMS.
• Use Structured Query Language (SQL) for database manipulation.
• Design and build simple database systems
• Develop application to interact with databases.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7th Edition, 2017,
Pearson.
2. Database management systems, Ramakrishnan, and Gehrke, 3rd Edition, 2014, McGraw Hill
Reference Books:
1. Silberschatz Korth and Sudharshan, Database System Concepts, 6th Edition, Mc-GrawHill, 2013.
2. Coronel, Morris, and Rob, Database Principles Fundamentals of Design, Implementation and
Management, Cengage Learning 2012.
AUTOMATA THEORY AND COMPUTABILITY
(Effective from the academic year 2018 -2019)
SEMESTER – V
Course Code 18CS54 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS54) will enable students to:
• Introduce core concepts in Automata and Theory of Computation
• Identify different Formal language Classes and their Relationships
• Design Grammars and Recognizers for different formal languages
• Prove or disprove theorems in automata theory using their properties
• Determine the decidability and intractability of Computational problems
Module 1 Contact
Hours
Why study the Theory of Computation, Languages and Strings: Strings, Languages. A 08
Language Hierarchy, Computation, Finite State Machines (FSM): Deterministic FSM,
Regular languages, Designing FSM, Nondeterministic FSMs, From FSMs to Operational
Systems, Simulators for FSMs, Minimizing FSMs, Canonical form of Regular languages,
Finite State Transducers, Bidirectional Transducers.
Textbook 1: Ch 1,2, 3,4, 5.1 to 5.10
RBT: L1, L2
Module 2
Regular Expressions (RE): what is a RE?, Kleene’s theorem, Applications of REs, 08
Manipulating and Simplifying REs. Regular Grammars: Definition, Regular Grammars and
Regular languages. Regular Languages (RL) and Non-regular Languages: How many RLs,
To show that a language is regular, Closure properties of RLs, to show some languages are
not RLs.
Textbook 1: Ch 6, 7, 8: 6.1 to 6.4, 7.1, 7.2, 8.1 to 8.4
RBT: L1, L2, L3
Module 3
Context-Free Grammars(CFG): Introduction to Rewrite Systems and Grammars, CFGs 08
and languages, designing CFGs, simplifying CFGs, proving that a Grammar is correct,
Derivation and Parse trees, Ambiguity, Normal Forms. Pushdown Automata (PDA):
Definition of non-deterministic PDA, Deterministic and Non-deterministic PDAs, Non-
determinism and Halting, alternative equivalent definitions of a PDA, alternatives that are not
equivalent to PDA.
Textbook 1: Ch 11, 12: 11.1 to 11.8, 12.1, 12.2, 12,4, 12.5, 12.6
RBT: L1, L2, L3
Module 4
Algorithms and Decision Procedures for CFLs: Decidable questions, Un-decidable 08
questions. Turing Machine: Turing machine model, Representation, Language acceptability
by TM, design of TM, Techniques for TM construction. Variants of Turing Machines (TM),
The model of Linear Bounded automata.
Textbook 1: Ch 14: 14.1, 14.2, Textbook 2: Ch 9.1 to 9.8
RBT: L1, L2, L3
Module 5
Decidability: Definition of an algorithm, decidability, decidable languages, Undecidable 08
languages, halting problem of TM, Post correspondence problem. Complexity: Growth rate
of functions, the classes of P and NP, Quantum Computation: quantum computers, Church-
Turing thesis. Applications: G.1 Defining syntax of programming language, Appendix J:
Security
Textbook 2: 10.1 to 10.7, 12.1, 12.2, 12.8, 12.8.1, 12.8.2
Textbook 1: Appendix: G.1(only), J.1 & J.2
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Acquire fundamental understanding of the core concepts in automata theory and Theory of
Computation
• Learn how to translate between different models of Computation (e.g., Deterministic and
Non-deterministic and Software models).
• Design Grammars and Automata (recognizers) for different language classes and become
knowledgeable about restricted models of Computation (Regular, Context Free) and their
relative powers.
• Develop skills in formal reasoning and reduction of a problem to a formal model, with an
emphasis on semantic precision and conciseness.
• Classify a problem with respect to different models of Computation.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Elaine Rich, Automata, Computability and Complexity, 1st Edition, Pearson
education,2012/2013
2. K L P Mishra, N Chandrasekaran , 3rd Edition, Theory of Computer Science, PhI, 2012.
Reference Books:
1. John E Hopcroft, Rajeev Motwani, Jeffery D Ullman, Introduction to AutomataTheory,
Languages, and Computation, 3rd Edition, Pearson Education, 2013
2. Michael Sipser : Introduction to the Theory of Computation, 3rd edition, Cengage learning,2013
3. John C Martin, Introduction to Languages and The Theory of Computation, 3rd Edition, Tata
McGraw –Hill Publishing Company Limited, 2013
4. Peter Linz, “An Introduction to Formal Languages and Automata”, 3rd Edition, Narosa
Publishers, 1998
5. Basavaraj S. Anami, Karibasappa K G, Formal Languages and Automata theory, Wiley India,
2012
6. C K Nagpal, Formal Languages and Automata Theory, Oxford University press, 2012.
Faculty can utilize open source tools (like JFLAP) to make teaching and learning more interactive.
APPLICATION DEVELOPMENT USING PYTHON
[(Effective from the academic year 2018 -2019)
SEMESTER – V
Course Code 18CS55 IA Marks 40
Number of Lecture Hours/Week 03 Exam Marks 60
Total Number of Lecture Hours 40 Exam Hours 03
CREDITS – 03
Course Objectives:This course (18CS55) will enable students to
• Learn the syntax and semantics of Python programming language.
• Illustrate the process of structuring the data using lists, tuples and dictionaries.
• Demonstrate the use of built-in functions to navigate the file system.
• Implement the Object Oriented Programming concepts in Python.
• Appraise the need for working with various documents like Excel, PDF, Word and
Others.
Module – 1 Teaching
Hours
Python Basics, Entering Expressions into the Interactive Shell, The Integer, 08
Floating-Point, and String Data Types, String Concatenation and Replication, Storing
Values in Variables, Your First Program, Dissecting Your Program,Flow control,
Boolean Values, Comparison Operators, Boolean Operators,Mixing Boolean and
Comparison Operators, Elements of Flow Control, Program Execution, Flow Control
Statements, Importing Modules,Ending a Program Early with sys.exit(), Functions,
def Statements with Parameters, Return Values and return Statements,The None
Value, Keyword Arguments and print(), Local and Global Scope, The global
Statement, Exception Handling, A Short Program: Guess the Number
Textbook 1: Chapters 1 – 3
RBT: L1, L2
Module – 2
Lists, The List Data Type, Working with Lists, Augmented Assignment Operators, 08
Methods, Example Program: Magic 8 Ball with a List, List-like Types: Strings and
Tuples,References, Dictionaries and Structuring Data, The Dictionary Data Type,
Pretty Printing, Using Data Structures to Model Real-World Things, Manipulating
Strings, Working with Strings, Useful String Methods, Project: Password Locker,
Project: Adding Bullets to Wiki Markup
Textbook 1: Chapters 4 – 6
RBT: L1, L2, L3
Module – 3
Pattern Matching with Regular Expressions, Finding Patterns of Text Without 08
Regular Expressions, Finding Patterns of Text with Regular Expressions,More
Pattern Matching with Regular Expressions, Greedy and Nongreedy Matching, The
findall() Method, Character Classes, Making Your Own Character Classes, The Caret
and Dollar Sign Characters, The Wildcard Character, Review of Regex Symbols,
Case-Insensitive Matching, Substituting Strings with the sub() Method, Managing
Complex Regexes, Combining re .IGNORECASE, re .DOTALL, and re .VERBOSE,
Project: Phone Number and Email Address Extractor, Reading and Writing Files,
Files and File Paths, The os.path Module, The File Reading/Writing Process, Saving
Variables with the shelve Module,Saving Variables with the pprint.pformat()
Function, Project: Generating Random Quiz Files, Project: Multiclipboard,
Organizing Files, The shutil Module, Walking a Directory Tree, Compressing Files
with the zipfile Module, Project: Renaming Files with American-Style Dates to
European-Style Dates,Project: Backing Up a Folder into a ZIP File, Debugging,
Raising Exceptions, Getting the Traceback as a String, Assertions, Logging, IDLE’s
Debugger.
Textbook 1: Chapters 7 – 10
RBT: L1, L2, L3
Module – 4
Classes and objects, Programmer-defined types, Attributes, Rectangles, Instances as 08
return values, Objects are mutable, Copying, Classes and functions, Time, Pure
functions, Modifiers, Prototyping versus planning, Classes and methods, Object-
oriented features, Printing objects, Another example, A more complicated
example,The init method, The __str__ method, Operator overloading, Type-based
dispatch, Polymorphism, Interface and implementation,Inheritance, Card objects,
Class attributes, Comparing cards, Decks, Printing the deck, Add, remove, shuffle
and sort, Inheritance, Class diagrams, Data encapsulation
Textbook 2: Chapters 15 – 18
RBT: L1, L2, L3
Module – 5
Web Scraping, Project: MAPIT.PY with the webbrowser Module, Downloading 08
Files from the Web with the requests Module, Saving Downloaded Files to the Hard
Drive, HTML, Parsing HTML with the BeautifulSoup Module, Project: “I’m Feeling
Lucky” Google Search,Project: Downloading All XKCD Comics, Controlling the
Browser with the selenium Module, Working with Excel Spreadsheets, Excel
Documents, Installing the openpyxl Module, Reading Excel Documents, Project:
Reading Data from a Spreadsheet, Writing Excel Documents, Project: Updating a
Spreadsheet, Setting the Font Style of Cells, Font Objects, Formulas, Adjusting Rows
and Columns, Charts, Working with PDF and Word Documents, PDF Documents,
Project: Combining Select Pages from Many PDFs, Word Documents, Working
with CSV files and JSON data, The csv Module, Project: Removing the Header
from CSV Files, JSON and APIs, The json Module, Project: Fetching Current
Weather Data
Textbook 1: Chapters 11 – 14
RBT: L1, L2, L3
Course Outcomes: After studying this course, students will be able to
• Demonstrate proficiency in handling of loops and creation of functions.
• Identify the methods to create and manipulate lists, tuples and dictionaries.
• Discover the commonly used operations involving regular expressions and file system.
• Interpret the concepts of Object-Oriented Programming as used in Python.
• Determine the need for scraping websites and working with CSV, JSON and other file
formats.
Question paper pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. Al Sweigart,“Automate the Boring Stuff with Python”,1stEdition, No Starch Press, 2015.
(Available under CC-BY-NC-SA license at https://automatetheboringstuff.com/)
(Chapters 1 to 18)
2. Allen B. Downey, “Think Python: How to Think Like a Computer Scientist”, 2nd Edition,
Green Tea Press, 2015. (Available under CC-BY-NC license at
http://greenteapress.com/thinkpython2/thinkpython2.pdf)
(Chapters 13, 15, 16, 17, 18) (Download pdf/html files from the above links)
Reference Books:
1. Gowrishankar S, Veena A, “Introduction to Python Programming”, 1st Edition, CRC
Press/Taylor & Francis, 2018. ISBN-13: 978-0815394372
2. Jake VanderPlas, “Python Data Science Handbook: Essential Tools for Working with Data”,
1st Edition, O’Reilly Media, 2016. ISBN-13: 978-1491912058
3. Charles Dierbach, “Introduction to Computer Science Using Python”, 1st Edition, Wiley India
Pvt Ltd, 2015. ISBN-13: 978-8126556014
4. Wesley J Chun, “Core Python Applications Programming”, 3rd Edition, Pearson Education
India, 2015. ISBN-13: 978-9332555365
UNIX PROGRAMMING
(Effective from the academic year 2018 -2019)
SEMESTER – V
Course Code 18CS56 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS – 3
Course Objectives:This course (18CS56) will enable students to
• Interpret the features of UNIX and basic commands.
• Demonstrate different UNIX files and permissions
• Implement shell programs.
• Explain UNIX process, IPC and signals.
Module 1 Contact
Hours
Introduction: Unix Components/Architecture. Features of Unix. The UNIX Environment 08
and UNIX Structure, Posix and Single Unix specification. General features of Unix
commands/ command structure. Command arguments and options. Basic Unix commands
such as echo, printf, ls, who, date,passwd, cal, Combining commands. Meaning of Internal
and external commands. The type command: knowing the type of a command and locating it.
The root login. Becoming the super user: su command.
Unix files: Naming files. Basic file types/categories. Organization of files. Hidden files.
Standard directories. Parent child relationship. The home directory and the HOME variable.
Reaching required files- the PATH variable, manipulating the PATH, Relative and absolute
pathnames. Directory commands – pwd, cd, mkdir, rmdir commands. The dot (.) and double
dots (..) notations to represent present and parent directories and their usage in relative path
names. File related commands – cat, mv, rm, cp, wc and od commands.
RBT: L1, L2
Module 2
File attributes and permissions: The ls command with options. Changing file permissions: 08
the relative and absolute permissions changing methods. Recursively changing file
permissions. Directory permissions.
The shells interpretive cycle: Wild cards. Removing the special meanings of wild cards.
Three standard files and redirection. Connecting commands: Pipe. Basic and Extended
regular expressions. The grep, egrep. Typical examples involving different regular
expressions.
Shell programming: Ordinary and environment variables. The .profile. Read and readonly
commands. Command line arguments. exit and exit status of a command. Logical operators
for conditional execution. The test command and its shortcut. The if, while, for and case
control statements. The set and shift commands and handling positional parameters. The here
( << ) document and trap command. Simple shell program examples.
RBT: L1, L2
Module 3
UNIX File APIs: General File APIs, File and Record Locking, Directory File APIs, Device 08
File APIs, FIFO File APIs, Symbolic Link File APIs.
UNIX Processes and Process Control:
The Environment of a UNIX Process: Introduction, main function, Process Termination,
Command-Line Arguments, Environment List, Memory Layout of a C Program, Shared
Libraries, Memory Allocation, Environment Variables, setjmp and longjmp Functions,
getrlimit, setrlimit Functions, UNIX Kernel Support for Processes.
Process Control: Introduction, Process Identifiers, fork, vfork, exit, wait, waitpid, wait3,
wait4 Functions, Race Conditions, exec Functions
9. Write a PHP program named states.py that declares a variable states with value "Mississippi
Alabama Texas Massachusetts Kansas". write a PHP program that does the following:
a. Search for a word in variable states that ends in xas. Store this word in element 0 of a list
named statesList.
b. Search for a word in states that begins with k and ends in s. Perform a case-insensitive
comparison. [Note: Passing re.Ias a second parameter to method compile performs a
case-insensitive comparison.] Store this word in element1 of statesList.
c. Search for a word in states that begins with M and ends in s. Store this word in
element 2 of the list.
d. Search for a word in states that ends in a. Store this word in element 3 of the list.
10. Write a PHP program to sort the student records which are stored in the database using selection
sort.
DATA MINING AND DATA WAREHOUSING
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS641 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS641) will enable students to:
• Define multi-dimensional data models.
• Explain rules related to association, classification and clustering analysis.
• Compare and contrast between different classification and clustering algorithms
Module 1 Contact
Hours
Data Warehousing & modeling: Basic Concepts: Data Warehousing: A multitier 08
Architecture, Data warehouse models: Enterprise warehouse, Data mart and virtual
warehouse, Extraction, Transformation and loading, Data Cube: A multidimensional data
model, Stars, Snowflakes and Fact constellations: Schemas for multidimensional Data
models, Dimensions: The role of concept Hierarchies, Measures: Their Categorization and
computation, Typical OLAP Operations
Textbook 2: Ch.4.1,4.2
RBT: L1, L2, L3
Module 2
Data warehouse implementation& Data mining: Efficient Data Cube computation: An 08
overview, Indexing OLAP Data: Bitmap index and join index, Efficient processing of OLAP
Queries, OLAP server Architecture ROLAP versus MOLAP Versus HOLAP. : Introduction:
What is data mining, Challenges, Data Mining Tasks, Data: Types of Data, Data Quality,
Data Preprocessing, Measures of Similarity and Dissimilarity.
Textbook 2: Ch.4.4
Textbook 1: Ch.1.1,1.2,1.4, 2.1 to 2.4
RBT: L1, L2, L3
Module 3
Association Analysis: Association Analysis: Problem Definition, Frequent Item set 08
Generation, Rule generation. Alternative Methods for Generating Frequent Item sets, FP-
Growth Algorithm, Evaluation of Association Patterns.
Textbook 1: Ch 6.1 to 6.7 (Excluding 6.4)
RBT: L1, L2, L3
Module 4
Classification : Decision Trees Induction, Method for Comparing Classifiers, Rule Based 08
Classifiers, Nearest Neighbor Classifiers, Bayesian Classifiers.
Textbook 1: Ch 4.3,4.6,5.1,5.2,5.3
RBT: L1, L2, L3
Module 5
Clustering Analysis: Overview, K-Means, Agglomerative Hierarchical Clustering, 08
DBSCAN, Cluster Evaluation, Density-Based Clustering, Graph-Based Clustering, Scalable
Clustering Algorithms.
Textbook 1: Ch 8.1 to 8.5, 9.3 to 9.5
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Identify data mining problems and implement the data warehouse
• Write association rules for a given data pattern.
• Choose between classification and clustering solution.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Pang-Ning Tan, Michael Steinbach, Vipin Kumar: Introduction to Data Mining, Pearson, First
impression,2014.
2. Jiawei Han, Micheline Kamber, Jian Pei: Data Mining -Concepts and Techniques, 3rd Edition,
Morgan Kaufmann Publisher, 2012.
Reference Books:
1. Sam Anahory, Dennis Murray: Data Warehousing in the Real World, Pearson,Tenth
Impression,2012.
2. Michael.J.Berry,Gordon.S.Linoff: Mastering Data Mining , Wiley Edition, second edtion,2012.
OBJECT ORIENTED MODELING AND DESIGN
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS642 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS642) will enable students to:
• Describe the concepts involved in Object-Oriented modelling and their benefits.
• Demonstrate concept of use-case model, sequence model and state chart model for a given
problem.
• Explain the facets of the unified process approach to design and build a Software system.
• Translate the requirements into implementation for Object Oriented design.
• Choose an appropriate design pattern to facilitate development procedure.
Module 1 Contact
Hours
Advanced object and class concepts; Association ends; N-ary associations; Aggregation; 08
Abstract classes; Multiple inheritance; Metadata; Reification; Constraints; Derived Data;
Packages. State Modeling: Events, States, Transistions and Conditions, State Diagrams, State
diagram behaviour.
Text Book-1: 4, 5
RBT: L1, L2
Module 2
UseCase Modelling and Detailed Requirements: Overview; Detailed object-oriented 08
Requirements definitions; System Processes-A use case/Scenario view; Identifying Input and
outputs-The System sequence diagram; Identifying Object Behaviour-The state chart
Diagram; Integrated Object-oriented Models.
Text Book-2:Chapter- 6:Page 210 to 250
RBT: L1, L2, L3
Module 3
Process Overview, System Conception and Domain Analysis: Process Overview: 08
Development stages; Development life Cycle; System Conception: Devising a system
concept; elaborating a concept; preparing a problem statement. Domain Analysis: Overview
of analysis; Domain Class model: Domain state model; Domain interaction model; Iterating
the analysis.
Text Book-1:Chapter- 10,11,and 12
Module 4
Use case Realization :The Design Discipline within up iterations: Object Oriented Design- 08
The Bridge between Requirements and Implementation; Design Classes and Design within
Class Diagrams; Interaction Diagrams-Realizing Use Case and defining methods; Designing
with Communication Diagrams; Updating the Design Class Diagram; Package Diagrams-
Structuring the Major Components; Implementation Issues for Three-Layer Design.
Text Book-2: Chapter 8: page 292 to 346
RBT: L1, L2, L3
Module 5
Design Patterns: Introduction; what is a design pattern?, Describing design patterns, the 08
catalogue of design patterns, Organizing the catalogue, How design patterns solve design
problems, how to select a design patterns, how to use a design pattern; Creational patterns:
prototype and singleton (only); structural patterns adaptor and proxy (only).
Text Book-3: Ch-1: 1.1, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8,Ch-3,Ch-4.
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Describe the concepts of object-oriented and basic class modelling.
• Draw class diagrams, sequence diagrams and interaction diagrams to solve problems.
• Choose and apply a befitting design pattern for the given problem.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
3. Michael Blaha, James Rumbaugh: Object Oriented Modelling and Design with UML,2nd Edition,
Pearson Education,2005
4. Satzinger, Jackson and Burd: Object-Oriented Analysis & Design with the Unified Process,
Cengage Learning, 2005.
5. Erich Gamma, Richard Helm, Ralph Johnson and john Vlissides: Design Patterns –Elements of
Reusable Object-Oriented Software, Pearson Education,2007.
Reference Books:
1. Grady Booch et. al.: Object-Oriented Analysis and Design with Applications,3rd Edition,Pearson
Education,2007.
2. 2.Frank Buschmann, RegineMeunier, Hans Rohnert, Peter Sommerlad, Michel Stal: Pattern –
Oriented Software Architecture. A system of patterns , Volume 1, John Wiley and Sons.2007.
3. 3. Booch, Jacobson, Rambaugh : Object-Oriented Analysis and Design with Applications, 3rd
edition, pearson, Reprint 2013
CLOUD COMPUTING AND ITS APPLICATIONS
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS643 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS643) will enable students to:
• Explain the fundamentals of cloud computing
• Illustrate the cloud application programming and aneka platform
• Contrast different cloud platforms used in industry
Module 1 Contact
Hours
Introduction ,Cloud Computing at a Glance, The Vision of Cloud Computing, Defining a 08
Cloud, A Closer Look, Cloud Computing Reference Model, Characteristics and Benefits,
Challenges Ahead, Historical Developments, Distributed Systems, Virtualization, Web 2.0,
Service-Oriented Computing, Utility-Oriented Computing, Building Cloud Computing
Environments, Application Development, Infrastructure and System Development,
Computing Platforms and Technologies, Amazon Web Services (AWS), Google AppEngine,
Microsoft Azure, Hadoop, Force.com and Salesforce.com, Manjrasoft Aneka
Virtualization, Introduction, Characteristics of Virtualized, Environments Taxonomy of
Virtualization Techniques, Execution Virtualization, Other Types of Virtualization,
Virtualization and Cloud Computing, Pros and Cons of Virtualization, Technology Examples
Xen: Paravirtualization, VMware: Full Virtualization, Microsoft Hyper-V
Textbook 1: Ch. 1,3
RBT: L1, L2
Module 2
Cloud Computing Architecture, Introduction, Cloud Reference Model, Architecture, 08
Infrastructure / Hardware as a Service, Platform as a Service, Software as a Service, Types of
Clouds, Public Clouds, Private Clouds, Hybrid Clouds, Community Clouds, Economics of
the Cloud, Open Challenges, Cloud Definition, Cloud Interoperability and Standards
Scalability and Fault Tolerance Security, Trust, and Privacy Organizational Aspects
Aneka: Cloud Application Platform, Framework Overview, Anatomy of the Aneka
Container, From the Ground Up: Platform Abstraction Layer, Fabric Services, foundation
Services, Application Services, Building Aneka Clouds, Infrastructure Organization, Logical
Organization, Private Cloud Deployment Mode, Public Cloud Deployment Mode, Hybrid
Cloud Deployment Mode, Cloud Programming and Management, Aneka SDK, Management
Tools
Textbook 1: Ch. 4,5
RBT: L1, L2
Module 3
Concurrent Computing: Thread Programming, Introducing Parallelism for Single Machine 08
Computation, Programming Applications with Threads, What is a Thread?, Thread APIs,
Techniques for Parallel Computation with Threads, Multithreading with Aneka, Introducing
the Thread Programming Model, Aneka Thread vs. Common Threads, Programming
Applications with Aneka Threads, Aneka Threads Application Model, Domain
Decomposition: Matrix Multiplication, Functional Decomposition: Sine, Cosine, and
Tangent.
High-Throughput Computing: Task Programming, Task Computing, Characterizing a Task,
Computing Categories, Frameworks for Task Computing, Task-based Application Models,
Embarrassingly Parallel Applications, Parameter Sweep Applications, MPI Applications,
Workflow Applications with Task Dependencies, Aneka Task-Based Programming, Task
Programming Model, Developing Applications with the Task Model, Developing Parameter
Sweep Application, Managing Workflows.
Textbook 1: Ch. 6, 7
RBT: L1, L2
Module 4
Data Intensive Computing: Map-Reduce Programming, What is Data-Intensive Computing?, 08
Characterizing Data-Intensive Computations, Challenges Ahead, Historical Perspective,
Technologies for Data-Intensive Computing, Storage Systems, Programming Platforms,
Aneka MapReduce Programming, Introducing the MapReduce Programming Model,
Example Application
Textbook 1: Ch. 8
RBT: L1, L2
Module 5
Cloud Platforms in Industry, Amazon Web Services, Compute Services, Storage Services, 08
Communication Services, Additional Services, Google AppEngine, Architecture and Core
Concepts, Application Life-Cycle, Cost Model, Observations, Microsoft Azure, Azure Core
Concepts, SQL Azure, Windows Azure Platform Appliance.
Cloud Applications Scientific Applications, Healthcare: ECG Analysis in the Cloud, Biology:
Protein Structure Prediction, Biology: Gene Expression Data Analysis for Cancer Diagnosis,
Geoscience: Satellite Image Processing, Business and Consumer Applications, CRM and
ERP, Productivity, Social Networking, Media Applications, Multiplayer Online Gaming.
Textbook 1: Ch. 9,10
RBT: L1, L2
Course Outcomes: The student will be able to :
• Explain cloud computing, virtualization and classify services of cloud computing
• Illustrate architecture and programming in cloud
• Describe the platforms for development of cloud applications and List the application of cloud.
Reference Books:
1. Y. Daniel Liang: Introduction to JAVA Programming, 7thEdition, Pearson Education, 2007.
2. Stephanie Bodoff et al: The J2EE Tutorial, 2nd Edition, Pearson Education,2004.
3. Uttam K Roy, Advanced JAVA programming, Oxford University press, 2015.
SYSTEM MODELLING AND SIMULATION
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS645 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS645) will enable students to:
• Explain the basic system concept and definitions of system;
• Discuss techniques to model and to simulate various systems;
• Analyze a system and to make use of the information to improve the performance.
Module 1 Contact
Hours
Introduction: When simulation is the appropriate tool and when it is not appropriate, 08
Advantages and disadvantages of Simulation; Areas of application, Systems and system
environment; Components of a system; Discrete and continuous systems, Model of a system;
Types of Models, Discrete-Event System Simulation Simulation examples: Simulation of
queuing systems. General Principles.
Textbook 1: Ch. 1, 2, 3.1.1, 3.1.3
RBT: L1, L2, L3
Module 2
Statistical Models in Simulation :Review of terminology and concepts, Useful statistical 08
models,Discrete distributions. Continuous distributions,Poisson process, Empirical
distributions.
Queuing Models:Characteristics of queuing systems,Queuing notation,Long-run measures
of performance of queuing systems,Long-run measures of performance of queuing systems
cont…,Steady-state behavior of M/G/1 queue, Networks of queues,
Textbook 1: Ch. 5,6.1 to 6.3, 6.4.1,6.6
RBT: L1, L2, L3
Module 3
Random-NumberGeneration:Properties of random numbers; Generation of pseudo-random 08
numbers, Techniques for generating random numbers,Tests for Random Numbers, Random-
Variate Generation: ,Inverse transform technique Acceptance-Rejection technique.
Textbook 1: Ch. 7,8.1, 8.2
RBT: L1, L2, L3
Module 4
Input Modeling: Data Collection; Identifying the distribution with data, Parameter 08
estimation, Goodness of Fit Tests, Fitting a non-stationary Poisson process, Selecting input
models without data, Multivariate and Time-Series input models.
Estimation of Absolute Performance: Types of simulations with respect to output analysis
,Stochastic nature of output data, Measures of performance and their estimation, Contd..
Textbook 1: Ch. 9, 11.1 to 11.3
RBT: L1, L2, L3
Module 5
Measures of performance and their estimation,Output analysis for terminating simulations 08
Continued..,Output analysis for steady-state simulations.
Verification, Calibration And Validation: Optimization: Model building, verification and
validation, Verification of simulation models, Verification of simulation models,Calibration
and validation of models, Optimization via Simulation.
Textbook 1: Ch. 11.4, 11.5, 10
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Explain the system concept and apply functional modeling method to model the activities of a
static system
• Describe the behavior of a dynamic system and create an analogous model for a dynamic system;
• Simulate the operation of a dynamic system and make improvement according to the simulation
results.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol: Discrete-Event System
Simulation, 5 th Edition, Pearson Education, 2010.
Reference Books:
1. Lawrence M. Leemis, Stephen K. Park: Discrete – Event Simulation: A First
Course, Pearson Education, 2006.
2. Averill M. Law: Simulation Modeling and Analysis, 4 th Edition, Tata McGraw-Hill, 2007
MOBILE APPLICATION DEVELOPMENT
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS651 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS651) will enable students to:
• Learn to setup Android application development environment
• Illustrate user interfaces for interacting with apps and triggering actions
• Interpret tasks used in handling multiple activities
• Identify options to save persistent application data
• Appraise the role of security and performance in Android applications
Module – 1 Teaching
Hours
Get started, Build your first app, Activities, Testing, debugging and using support libraries 08
Textbook 1: Lesson 1,2,3
RBT: L1, L2
Module – 2
User Interaction, Delightful user experience, Testing your UI 08
Textbook 1: Lesson 4,5,6
RBT: L1, L2
Module – 3
Background Tasks, Triggering, scheduling and optimizing background tasks 08
Textbook 1: Lesson 7,8
RBT: L1, L2
Module – 4
All about data, Preferences and Settings, Storing data using SQLite, Sharing data with 08
content providers, Loading data using Loaders
Textbook 1: Lesson 9,10,11,12
RBT: L1, L2
Module – 5
Permissions, Performance and Security, Firebase and AdMob, Publish// 08
Textbook 1: Lesson 13,14,15
RBT: L1, L2
Course outcomes: The students should be able to:
• Create, test and debug Android application by setting up Android development environment
• Implement adaptive, responsive user interfaces that work across a wide range of devices.
• Infer long running tasks and background work in Android applications
• Demonstrate methods in storing, sharing and retrieving data in Android applications
• Analyze performance of android applications and understand the role of permissions and security
• Describe the steps involved in publishing Android application to share with the world
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Google Developer Training, "Android Developer Fundamentals Course – Concept Reference”,
Google Developer Training Team, 2017. https://www.gitbook.com/book/google-
developer-training/android-developer-fundamentals-course-concepts/details (Download pdf file
from the above link)
Reference Books:
1. Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition, Wiley India Pvt Ltd,
2014.
2. Dawn Griffiths and David Griffiths, “Head First Android Development”, 1st Edition, O’Reilly
SPD Publishers, 2015.
3. J F DiMarzio, “Beginning Android Programming with Android Studio”, 4th Edition, Wiley India
Pvt Ltd, 2016. ISBN-13: 978-8126565580
4. Anubhav Pradhan, Anil V Deshpande, “ Composing Mobile Apps” using Android, Wiley 2014,
ISBN: 978-81-265-4660-2
INTRODUCTION TO DATA SRUCTURES AND ALGORITHM
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS652 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS652) will enable students to:
• Identify different data structures in C programming language
• Appraise the use of data structures in problem solving
• Implement data structures using C programming language.
Module 1 Contact
Hours
Introduction to C, constants, variables, data types, input output operations, operators and 08
expressions, control statements, arrays, strings, built-in functions, user defined functions,
structures, unions and pointers
Text Book 1: Chapter 1 and 2
RBT: L1, L2
Module 2
Algorithms, Asymptotic notations, Introduction to data structures, Types of data structures, 08
Arrays.
Text Book 1: Chapter 3 and 4
RBT: L1, L2
Module 3
Linked lists, Stacks 08
Text Book 1: Chapter 5 and 6
RBT: L1, L2
Module 4
Queues, Trees 08
Text Book 1: Chapter 7 and 8
RBT: L1, L2
Module 5
Graphs, Sorting ,(selection, insertion, bubble, quick)and searching(Linear, Binary, Hash) 08
Text Book 1: Chapter 7 and 8
RBT: L1, L2
Course Outcomes: The student will be able to :
• Identify different data structures in C programming language
• Appraise the use of data structures in problem solving
• Implement data structures using C programming language.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Data structures using C , E Balagurusamy, McGraw Hill education (India) Pvt. Ltd, 2013.
Reference Books:
1. Ellis Horowitz and Sartaj Sahni, Fundamentals of Data Structures in C, 2nd Ed, Universities
Press, 2014.
2. Seymour Lipschutz, Data Structures Schaum's Outlines, Revised 1st Ed, McGraw Hill, 2014.
PROGRAMMING IN JAVA
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS653 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS653) will enable students to:
• Learn fundamental features of object oriented language and JAVA
• Set up Java JDK environment to create, debug and run simple Java programs.
• Learn object oriented concepts using programming examples.
• Study the concepts of importing of packages and exception handling mechanism.
• Discuss the String Handling examples with Object Oriented concepts
Module – 1 Teaching
Hours
An Overview of Java: Object-Oriented Programming, A First Simple Program, A Second 08
Short Program, Two Control Statements, Using Blocks of Code, Lexical Issues, The Java
Class Libraries, Data Types, Variables, and Arrays: Java Is a Strongly Typed Language,
The Primitive Types, Integers, Floating-Point Types, Characters, Booleans, A Closer Look
at Literals, Variables, Type Conversion and Casting, Automatic Type Promotion in
Expressions, Arrays, A Few Words About Strings
Text book 1: Ch 2, Ch 3
RBT: L1, L2
Module – 2
Operators: Arithmetic Operators, The Bitwise Operators, Relational Operators, Boolean 08
Logical Operators, The Assignment Operator, The ? Operator, Operator Precedence, Using
Parentheses, Control Statements: Java’s Selection Statements, Iteration Statements, Jump
Statements.
Text book 1: Ch 4, Ch 5
RBT: L1, L2
Module – 3
Introducing Classes: Class Fundamentals, Declaring Objects, Assigning Object Reference 08
Variables, Introducing Methods, Constructors, The this Keyword, Garbage Collection, The
finalize( ) Method, A Stack Class, A Closer Look at Methods and Classes: Overloading
Methods, Using Objects as Parameters, A Closer Look at Argument Passing, Returning
Objects, Recursion, Introducing Access Control, Understanding static, Introducing final,
Arrays Revisited, Inheritance: Inheritance, Using super, Creating a Multilevel Hierarchy,
When Constructors Are Called, Method Overriding, Dynamic Method Dispatch, Using
Abstract Classes, Using final with Inheritance, The Object Class.
Text book 1: Ch 6, Ch 7.1-7.9, Ch 8.
RBT: L1, L2
Module – 4
Packages and Interfaces: Packages, Access Protection, Importing Packages, Interfaces, 08
Exception Handling: Exception-Handling Fundamentals, Exception Types, Uncaught
Exceptions, Using try and catch, Multiple catch Clauses, Nested try Statements, throw,
throws, finally, Java’s Built-in Exceptions, Creating Your Own Exception Subclasses,
Chained Exceptions, Using Exceptions.
Text book 1: Ch 9, Ch 10
RBT: L1, L2
Module – 5
Enumerations, Type Wrappers, I/O, Applets, and Other Topics: I/O Basics, Reading 08
Console Input, Writing Console Output, The PrintWriter Class, Reading and Writing Files,
Applet Fundamentals, The transient and volatile Modifiers, Using instanceof, strictfp,
Native Methods, Using assert, Static Import, Invoking Overloaded Constructors Through
this( ), String Handling: The String Constructors, String Length, Special String Operations,
Character Extraction, String Comparison, Searching Strings, Modifying a String, Data
Conversion Using valueOf( ), Changing the Case of Characters Within a String , Additional
String Methods, StringBuffer, StringBuilder.
Text book 1: Ch 12.1,12.2, Ch 13, Ch 15
RBT: L1, L2
Course outcomes: The students should be able to:
• Explain the object-oriented concepts and JAVA.
• Develop computer programs to solve real world problems in Java.
Develop simple GUI interfaces for a computer program to interact with users
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. Herbert Schildt, Java The Complete Reference, 7th Edition, Tata McGraw Hill, 2007. (Chapters
2, 3, 4, 5, 6,7, 8, 9,10, 12,13,15)
Reference Books:
1. Cay S Horstmann, "Core Java - Vol. 1 Fundamentals", Pearson Education, 10th Edition, 2016.
2. Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft, "Java 8 in Action", Dreamtech Press/Manning
Press, 1st Edition, 2014.
INTRODUCTION TO OPERATING SYSTEM
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VII
Course Code 18CS654 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS654) will enable students to:
• Explain the fundamentals of operating system
• Comprehend multithreaded programming, process management, memory management
and storage management.
• Familier with various types of operating systems
Module – 1 Teaching
Hours
Introduction: What OS do, Computer system organization, architecture, structure, 08
Operations, Process, memory and storage management, Protection and security,
Distributed systems, Special purpose systems, computing environments.
System Structure: OS Services, User OSI, System calls, Types of system calls,
System programs, OS design and implementation, OS structure, Virtual machines,
OS generation, system boot
Textbook1: Chapter 1, 2
RBT: L1, L2
Module – 2
Process Concept: Overview, Process scheduling, Operations on process, IPC, 08
Examples in IPC, Communication in client-server systems.
Textbook1: Chapter 5, 6
RBT: L1, L2
Module – 4
Deadlocks: System model, Deadlock characterization, Method of handling deadlock, 08
Deadlock prevention, Avoidance, Detection, Recovery from deadlock
Memory management strategies: Background, swapping, contiguous memory
allocation, paging, structure of page table, segmentation,
Textbook1: Chapter 7, 8
RBT: L1, L2
Module – 5
Virtual Memory management: Background, Demand paging, Copy-on-write, Page 08
replacement, allocation of frames, Trashing, Memory mapped files, Allocating
Kernel memory, Operating system examples
File system: File concept, Access methods, Directory structure, File system
mounting, File sharing, protection
Textbook1: Chapter 9, 10
RBT: L1, L2
Course outcomes: The students should be able to:
• Explain the fundamentals of operating system
• Comprehend process management, memory management and storage management.
• Familiar with various types of operating systems
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. A. Silberschatz, P B Galvin, G Gagne, Operating systems, 7th edition, John Wiley and
sons,.
Reference Books:
1. William Stalling,"Operating Systems: Internals and Design Principles", Pearson Education, 1st
Edition, 2018.
2. Andrew S Tanenbaum, Herbert BOS, "Modern Operating Systems", Pearson Education, 4th
Edition, 2016
SYSTEM SOFTWARE LABORATORY
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSL66 CIE Marks 40
Number of Contact Hours/Week 0:2:2 SEE Marks 60
Total Number of Lab Contact Hours 36 Exam Hours 3 Hrs
Credits – 2
Course Learning Objectives: This course (18CSL66) will enable students to:
• To make students familiar with Lexical Analysis and Syntax Analysis phases of Compiler Design
and implement programs on these phases using LEX & YACC tools and/or C/C++/Java
• To enable students to learn different types of CPU scheduling algorithms used in operating
system.
• To make students able to implement memory management - page replacement and deadlock
handling algorithms
Descriptions (if any):
Exercises to be prepared with minimum three files (Where ever necessary):
1. Header file.
2. Implementation file.
3. Application file where main function will be present.
The idea behind using three files is to differentiate between the developer and user sides. In the
developer side, all the three files could be made visible. For the user side only header file and
application files could be made visible, which means that the object code of the implementation
file could be given to the user along with the interface given in the header file, hiding the source
file, if required. Avoid I/O operations (printf/scanf) and use data input file where ever it is
possible.
Programs List:
Installation procedure of the required software must be demonstrated, carried out in groups and
documented in the journal.
1.
a. Write a LEX program to recognize valid arithmetic expression. Identifiers in the
expression could be only integers and operators could be + and *. Count the identifiers &
operators present and print them separately.
b. Write YACC program to evaluate arithmetic expression involving operators: +, -, *,
and /
2. Develop, Implement and Execute a program using YACC tool to recognize all strings
ending with b preceded by n a’s using the grammar an b (note: input n value)
3. Design, develop and implement YACC/C program to construct Predictive / LL(1)
Parsing Table for the grammar rules: A →aBa , B →bB | ε. Use this table to parse the
sentence: abba$
4. Design, develop and implement YACC/C program to demonstrate Shift Reduce Parsing
technique for the grammar rules: E →E+T | T, T →T*F | F, F →(E) | id and
parse the sentence: id + id * id.
5. Design, develop and implement a C/Java program to generate the machine code using Triples
for the statement A = -B * (C +D) whose intermediate code in three-address form:
T1 = -B
T2 = C + D
T3 = T1 + T2
A = T3
6.
a. Write a LEX program to eliminate comment lines in a C program and copy the resulting
program into a separate file.
b. Write YACC program to recognize valid identifier, operators and keywords in the given text
(C program) file.
7. Design, develop and implement a C/C++/Java program to simulate the working of Shortest
remaining time and Round Robin (RR) scheduling algorithms. Experiment with different
quantum sizes for RR algorithm.
8. Design, develop and implement a C/C++/Java program to implement Banker’s algorithm.
Assume suitable input required to demonstrate the results
9. Design, develop and implement a C/C++/Java program to implement page replacement
algorithms LRU and FIFO. Assume suitable input required to demonstrate the results.
Laboratory Outcomes: The student should be able to:
• Implement and demonstrate Lexer’s and Parser’s
• Evaluate different algorithms required for management, scheduling, allocation and
communication used in operating system.
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
m) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
n) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
COMPUTER GRAPHICS LABORATORY WITH MINI PROJECT
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSL67 CIE Marks 40
Number of Contact Hours/Week 0:2:2 SEE Marks 60
Total Number of Lab Contact Hours 36 Exam Hours 3 Hrs
Credits – 2
Course Learning Objectives: This course (18CSL67) will enable students to:
• Demonstrate simple algorithms using OpenGL Graphics Primitives and attributes.
• Implementation of line drawing and clipping algorithms using OpenGL functions
• Design and implementation of algorithms Geometric transformations on both 2D and 3D objects.
Descriptions (if any): --
Installation procedure of the required software must be demonstrated, carried out in groups
and documented in the journal.
Programs List:
PART A
Design, develop, and implement the following programs using OpenGL API
1. Implement Brenham’s line drawing algorithm for all types of slope.
Refer:Text-1: Chapter 3.5
Refer:Text-2: Chapter 8
2. Create and rotate a triangle about the origin and a fixed point.
Refer:Text-1: Chapter 5-4
3. Draw a colour cube and spin it using OpenGL transformation matrices.
Refer:Text-2: Modelling a Coloured Cube
4. Draw a color cube and allow the user to move the camera suitably to experiment with
perspective viewing.
Refer:Text-2: Topic: Positioning of Camera
5. Clip a lines using Cohen-Sutherland algorithm
Refer:Text-1: Chapter 6.7
Refer:Text-2: Chapter 8
6. To draw a simple shaded scene consisting of a tea pot on a table. Define suitably the
position and properties of the light source along with the properties of the surfaces of the
solid object used in the scene.
Refer:Text-2: Topic: Lighting and Shading
7. Design, develop and implement recursively subdivide a tetrahedron to form 3D sierpinski
gasket. The number of recursive steps is to be specified by the user.
Refer: Text-2: Topic: sierpinski gasket.
8. Develop a menu driven program to animate a flag using Bezier Curve algorithm
Refer: Text-1: Chapter 8-10
9. Develop a menu driven program to fill the polygon using scan line algorithm
PART B MINI PROJECT
Student should develop mini project on the topics mentioned below or similar applications using Open
GL API. Consider all types of attributes like color, thickness, styles, font, background, speed etc., while
doing mini project.
(During the practical exam: the students should demonstrate and answer Viva-Voce)
Sample Topics:
Simulation of concepts of OS, Data structures, algorithms etc.
Laboratory Outcomes: The student should be able to:
• Apply the concepts of computer graphics
• Implement computer graphics applications using OpenGL
• Animate real world problems using OpenGL
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
o) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
p) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
MOBILE APPLICATION DEVELOPMENT
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSMP68 IA Marks 40
Number of Contact Hours/Week 0:0:2 Exam Marks 60
Total Number of Contact Hours 3 Hours/Week Exam Hours 03
CREDITS – 02
Laboratory Objectives:Thislaboratory (18CSMP68) will enable students to
On successful SIGN UP proceed to the next Login activity. Here the user should SIGN
IN using the Username and Password created during signup activity. If the Username and
Password are matched then navigate to the next activity whichdisplays a message saying
“Successful Login” or else display a toast message saying “Login Failed”.The user is
given only two attempts and after thatdisplay a toast message saying “Failed Login
Attempts” and disable the SIGN IN button. Use Bundle to transfer information from one
activity to another.
4 Develop an application to set an image as wallpaper. On click of a button, the wallpaper
image should start to change randomly every 30 seconds.
5 Write a program to create an activity with two buttons START and STOP. On
pressingoftheSTART button, the activity must start the counter by displaying the numbers
from One and the counter must keep on counting until the STOP button is pressed.
Display the counter value in a TextViewcontrol.
6 Create two files of XML and JSON type with values for City_Name, Latitude, Longitude,
Temperature,andHumidity. Develop an application to create an activity with two buttons
to parse the XML and JSON files which when clicked should display the data in their
respective layouts side by side.
7 Develop a simple application withoneEditTextso that the user can write some text in it.
Create a button called “Convert Text to Speech” that converts the user input text into
voice.
8 Create an activity like a phone dialer withCALLand SAVE buttons. On pressing the
CALL button, it must call the phone number and on pressing the SAVE button it must
save the number to the phone contacts.
PART - B
1 Write a program to enter Medicine Name, Date and Time of the Day as input from the
user and store it in the SQLite database. Input for Time of the Day should be either
Morning or Afternoon or Eveningor Night. Trigger an alarm based on the Date and Time
of the Day and display the Medicine Name.
2 Develop a content provider application with an activity called “Meeting Schedule” which
takes Date, Time and Meeting Agenda as input from the user and store this information
into the SQLite database. Create another application with an activity called “Meeting
Info” having DatePicker control, which on the selection of a date should display the
Meeting Agenda information for that particular date, else it should display a toast
message saying “No Meeting on this Date”.
5 Create an application to demonstrate a basic media playerthat allows the user to Forward,
Backward, Play and Pause an audio. Also, make use of the indicator in the seek bar to
move the audio forward or backward as required.
7 Develop an application that makes use of the clipboard framework for copying and
pasting of the text. The activity consists of two EditText controls and two Buttons to
trigger the copy and paste functionality.
8 Create an AIDL service that calculates Car Loan EMI. The formula to calculate EMI is
E = P * (r(1+r)n)/((1+r)n-1)
where
E = The EMI payable on the car loan amount
P = The Car loan Principal Amount
r = The interest rate value computed on a monthly basis
n = The loan tenure in the form of months
The down payment amount has to be deducted from the principal amount paid towards
buying the Car. Develop an application that makes use of this AIDL service to calculate
the EMI. This application should have four EditText to read the PrincipalAmount, Down
Payment, Interest Rate, Loan Term (in months) and a button named as “Calculate
Monthly EMI”. On click of this button, the result should be shown in a TextView. Also,
calculate the EMI by varying the Loan Term and Interest Rate values.
Laboratory Outcomes:After studying theselaboratory programs, students will be able to
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick oneexperiment
from the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick
oneexperiment from PART A and one experiment from PART B, with
equalopportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made
zero of the changed part only.
• Marks Distribution (Courseed to change in accordance with university regulations)
o For laboratories having only one part – Procedure + Execution + Viva-Voce:
15+70+15= 100 Marks
o For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
Text Books:
1. Google Developer Training, "Android Developer Fundamentals Course – Concept
Reference”, Google Developer Training Team, 2017.
https://www.gitbook.com/book/google-developer-training/android-developer-
fundamentals-course-concepts/details
(Download pdf file from the above link)
Reference Books:
1. Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition, Wiley India Pvt Ltd,
2014. ISBN-13: 978-8126547197
2. Dawn Griffiths and David Griffiths, “Head First Android Development”, 1st Edition, O’Reilly
SPD Publishers, 2015. ISBN-13: 978-9352131341
3. Bill Phillips, Chris Stewart and Kristin Marsicano, “Android Programming: The Big Nerd
Ranch Guide”, 3rd Edition, Big Nerd Ranch Guides, 2017. ISBN-13: 978-0134706054
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
(Effective from the academic year 2018 -2019)
SEMESTER – VII
Course Code 18CS71 CIE Marks 40
Number of Contact Hours/Week 4:0:0 SEE Marks 60
Total Number of Contact Hours 50 Exam Hours 3 Hrs
CREDITS –4
Course Learning Objectives: This course (18CS71) will enable students to:
• Explain Artificial Intelligence and Machine Learning
• Illustrate AI and ML algorithm and their use in appropriate applications
Module 1 Contact
Hours
What is artificial intelligence?, Problems, problem spaces and search, Heuristic search 10
techniques
Concpet Learning: Concept learning task, Concpet learning as search, Find-S algorithm,
Candidate Elimination Algorithm, Inductive bias of Candidate Elimination Algorithm.
Texbook2: Chapter 6
RBT: L1, L2, L3
Module 5
Instance-Base Learning: Introduction, k-Nearest Neighbour Learning, Locally weighted 10
regression, Radial basis function, Case-Based reasoning.
Reinforcement Learning: Introduction, The learning task, Q-Learning.
T1: Ch 7, 8 9
RBT: L1, L2
Module – 5
Graph Algorithms: Definitions and Representation, Minimum Spanning Tree: Prim's 08
Algorithm, Single-Source Shortest Paths: Dijkstra's Algorithm, All-Pairs Shortest Paths,
Transitive Closure, Connected Components, Algorithms for Sparse Graphs,
Search Algorithms for Discrete Optimization Problems: Definitions and Examples,
Sequential Search Algorithms, Search Overhead Factor, Parallel Depth-First Search,
Parallel Best-First Search, Speedup, Anomalies in Parallel Search Algorithms
T1: Ch10, 11
RBT: L1, L2
Course outcomes: The students should be able to:
• Illustrate the key factors affecting performance of CSE applications
• Illusrate mapping of applications to high-performance computing systems
• Apply hardware/software co-design for achieving performance on real-world applications
Question paper pattern:
• The question paper will have ten questions.
• There will be 2 questions from each module.
• Each question will have questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. Introduction to Parallel Computing, AnanthGrama, Anshul Gupta, George Karypis, and Vipin
Kumar, 2nd edition, Addison-Welsey, 2003.
Reference Books:
1. Grama, A. Gupta, G. Karypis, V. Kumar, An Introduction to Parallel Computing, Design and
Analysis of Algorithms: 2/e, Addison-Wesley, 2003.
2. G.E. Karniadakis, R.M. Kirby II, Parallel Scientific Computing in C++ and MPI: A Seamless
Approach to Parallel Algorithms and their Implementation, Cambridge University Press,2003.
3. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications Using Networked
Workstations and Parallel Computers, 2/E, Prentice Hall, 2005.
4. M.J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill, 2004.
5. G.S. Almasi and A. Gottlieb, Highly Parallel Computing, 2/E, Addison-Wesley, 1994.
6. David Culler Jaswinder Pal Singh,"Parallel Computer Architecture: A hardware/Software
Approach", Morgan Kaufmann, 1999.
7. Kai Hwang, "Scalable Parallel Computing", McGraw Hill 1998.
ADVANCED COMPUTER ARCHITECTURES
(Effective from the academic year 2018 -2019)
SEMESTER – VIII
Course Code 18CS733 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS733) will enable students to:
• Describe computer architecture.
• Measure the performance of architectures in terms of right parameters.
• Summarize parallel architecture and the software used for them
Module 1 Contact
Hours
Theory of Parallelism: Parallel Computer Models, The State of Computing, Multiprocessors 08
and Multicomputer, Multivector and SIMD Computers, PRAM and VLSI Models, Program
and Network Properties, Conditions of Parallelism, Program Partitioning and Scheduling,
Program Flow Mechanisms, System Interconnect Architectures, Principles of Scalable
Performance, Performance Metrics and Measures, Parallel Processing Applications, Speedup
Performance Laws. For all Algorithm or mechanism any one example is sufficient.
Module 4
Parallel and Scalable Architectures: Multiprocessors and Multicomputers, Multiprocessor 08
System Interconnects, Cache Coherence and Synchronization Mechanisms, Message-
Passing Mechanisms, Multivector and SIMD Computers, Vector Processing Principles,
Multivector Multiprocessors, Compound Vector Processing, Scalable, Multithreaded, and
Dataflow Architectures, Latency-Hiding Techniques, Principles of Multithreading, Fine-
Grain Multicomputers. For all Algorithms or mechanisms any one example is sufficient.
Chapter 7 (7.1,7.2 and 7.4) Chapter 8( 8.1 to 8.3) Chapter 9(9.1 to 9.3)
RBT: L1, L2, L3
Module 5
Software for parallel programming: Parallel Models, Languages, and Compilers ,Parallel 08
Programming Models, Parallel Languages and Compilers, Dependence Analysis of Data
Arrays. Instruction and System Level Parallelism, Instruction Level Parallelism, Computer
Architecture, Contents, Basic Design Issues, Problem Definition, Model of a Typical
Processor, Compiler-detected Instruction Level Parallelism ,Operand Forwarding ,Reorder
Buffer, Register Renaming ,Tomasulo’s Algorithm. For all Algorithms or mechanisms any
one example is sufficient.
Module 1 Contact
Hours
Mobile Computing Architecture: Architecture for Mobile Computing, 3-tier Architecture, 08
Design Considerations for Mobile Computing. Emerging Technologies: Wireless broadband
(WiMAX), Mobile IP: Introduction, discovery, Registration, Tunneling, Cellular IP, Mobile
IP with IPv6. Wireless Networks : Global Systems for Mobile Communication (GSM): GSM
Architecture, Entities, Call routing in GSM, PLMN Interface, GSM Addresses and Identities,
Network Aspects in GSM, Mobility Management, GSM Frequency allocation. Short Service
Messages (SMS): Introduction to SMS, SMS Architecture, SMMT, SMMO, SMS as
Information bearer, applications
Textbook1: 2.4 - 2.6, 4.4 - 4.6, 5, 6.
RBT: L1, L2
Module 2
GPRS and Packet Data Network, GPRS Network Architecture, GPRS Network Operations, 08
Data Services in GPRS, Applications for GPRS, Billing and Charging in GPRS. Spread
Spectrum technology, IS-95, CDMA versus GSM, Wireless Data, Third Generation
Networks, Applications on 3G, Mobile Client: Moving beyond desktop, Mobile handset
overview, Mobile phones and their features, PDA, Design Constraints in applications for
handheld devices.
Textbook 1: 7,9.2 - 9.7, 12.2 - 12.6
RBT: L1, L2
Module 3
Mobile OS and Computing Environment: Smart Client Architecture, The Client: User 08
Interface, Data Storage, Performance, Data Synchronization, Messaging. The Server: Data
Synchronization, Enterprise Data Source, Messaging. Mobile Operating Systems: WinCE,
Palm OS, Symbian OS, Linux, Proprietary OS Client Development: The development
process, Need analysis phase, Design phase, Implementation and Testing phase, Deployment
phase, Development Tools, Device Emulators
Textbook 2: 7, 8.
RBT: L1, L2
Module 4
Building Wireless Internet Applications: Thin client overview: Architecture, the client, 08
Middleware, messaging Servers, Processing a Wireless request, Wireless Applications
Protocol (WAP) Overview, Wireless Languages: Markup Languages, HDML, WML, 10
Hours HTML, cHTML, XHTML, VoiceXML.
Textbook 2: 11, 12, 13
RBT: L1, L2
Module 5
J2ME: Introduction, CDC, CLDC, MIDP; Programming for CLDC, MIDlet model, 08
Provisioning, MIDlet life-cycle, Creating new application, MIDlet event handling, GUI in
MIDP, Low level GUI Components, Multimedia APIs; Communication in MIDP, Security
Considerations in MIDP.
Textbook 1: 15.1 - 15.10
RBT: L1, L2
Course Outcomes: The student will be able to :
The students shall able to:
• Explain state of art techniques in wireless communication.
• Discover CDMA, GSM. Mobile IP, WImax
• Demonstrate program for CLDC, MIDP let model and security concerns
Question paper pattern:
The question paper will have ten questions.
There will be 2 questions from each module.
Each question will have questions covering all the topics under a module.
The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. Ashok Talukder, Roopa Yavagal, Hasan Ahmed: Mobile Computing, Technology, Applications
and Service Creation, 2nd Edition, Tata McGraw Hill, 2010.
2. Martyn Mallik: Mobile and Wireless Design Essentials, Wiley India, 2003
Reference Books:
1. Raj kamal: Mobile Computing, Oxford University Press, 2007.
2. Iti Saha Misra: Wireless Communications and Networks, 3G and Beyond, Tata McGraw Hill,
2009.
STORAGE AREA NETWORKS
(Effective from the academic year 2018 -2019)
SEMESTER – VII
Course Code 18CS822 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS822) will enable students to:
• Evaluate storage architectures,
• Define backup, recovery, disaster recovery, business continuity, and replication
• Examine emerging technologies including IP-SAN
• Understand logical and physical components of a storage infrastructure
• Identify components of managing and monitoring the data center
• Define information security and identify different storage virtualization technologies
Module 1 Contact
Hours
Storage System: Introduction to Information Storage: Information Storage, Evolution of 08
Storage Architecture, Data Center Infrastructure, Virtualization and Cloud Computing. Data
Center Environment: Application Database Management System (DBMS), Host
(Compute), Connectivity, Storage, Disk Drive Components,Disk Drive Performance, Host
Access to Data, Direct-Attached Storage, Storage Design Based on Application
Textbook1 : Ch.1.1 to 1.4, Ch.2.1 to 2.10
RBT: L1, L2
Module 2
Data Protection - RAID : RAID Implementation Methods, RAID Array Components, RAID 08
Techniques, RAID Levels, RAID Impact on Disk Performance, RAID Comparison.
Intelligent Storage Systems : Components of an Intelligent Storage System, Types of
Intelligent Storage Systems. Fibre Channel Storage Area Networks - Fibre Channel:
Overview, The SAN and Its Evolution, Components of FC SAN.
Textbook1 : Ch.3.1 to 3.6, Ch. 4.1, 4.3, Ch. 5.1 to 5.3
RBT: L1, L2
Module 3
IP SAN and FCoE: iSCSI, FCIP, Network-Attached Storage: General-Purpose Servers 08
versus NAS Devices,Benefi ts of NAS, File Systems and Network File Sharing, Components
of NAS, NAS I/O Operation, NAS Implementations, NAS File-Sharing Protocols, Factors
Affecting NAS Performance
Textbook1 : Ch.6.1, 6.2, Ch. 7.1 to 7.8
RBT: L1, L2
Module 4
Introduction to Business Continuity: Information Availability, BC Terminology, BC 08
Planning Life Cycle, Failure Analysis, Business Impact Analysis, BC Technology Solutions,
Backup and Archive: Backup Purpose, Backup Considerations, Backup Granularity, Recovery
Considerations, Backup Methods, Backup Architecture, Backup and Restore Operations, Backup
Topologies, Backup in NAS Environments
Textbook1 : Ch.9.1 to 9.6, Ch. 10.1 to 10.9
RBT: L1, L2
Module 5
Local Replication: Replication Terminology, Uses of Local Replicas, Replica Consistency , Local 08
Replication Technologies, Tracking Changes to Source and Replica, Restore and Restart
Considerations, Creating Multiple Replicas. Remote Replication: Modes of Remote Replication,
Remote Replication Technologies. Securing the Storage Infrastructure: Information Security
Framework, Risk Triad, Storage Security Domains. Security Implementations in Storage Networking
Textbook1 : Ch.11.1 to 11.7, Ch. 12.1, 12.2, Ch. 14.1 to 14.4
RBT: L1, L2
Course Outcomes: The student will be able to :
• Identify key challenges in managing information and analyze different storage networking
technologies and virtualization
• Explain components and the implementation of NAS
• Describe CAS architecture and types of archives and forms of virtualization
• Illustrate the storage infrastructure and management activities
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. EMC Education Services, “Information Storage and Management”,Wiley India Publications,
2009. ISBN: 9781118094839
Reference Books:
1. Paul Massiglia, Richard Barker, "Storage Area Network Essentials: A Complete Guide to
Understanding and Implementating SANs Paperback", 1st Edition, Wiley India Publications,
2008
NOSQL DATABASE
(Effective from the academic year 2018 -2019)
SEMESTER – VIII
Course Code 18CS823 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS823) will enable students to:
• Define, compare and use the four types of NoSQL Databases (Document-oriented, KeyValue
Pairs, Column-oriented and Graph).
• Demonstrate an understanding of the detailed architecture, define objects, load data, query data
and performance tune Column-oriented NoSQL databases.
• Explain the detailed architecture, define objects, load data, query data and performance tune
Document-oriented NoSQL databases.
Module 1 Contact
Hours
Why NoSQL? The Value of Relational Databases, Getting at Persistent Data, Concurrency, 08
Integration, A (Mostly) Standard Model, Impedance Mismatch, Application and Integration
Databases, Attack of the Clusters, The Emergence of NoSQL,
Aggregate Data Models; Aggregates, Example of Relations and Aggregates, Consequences
of Aggregate Orientation, Key-Value and Document Data Models, Column-Family Stores,
Summarizing Aggregate-Oriented Databases.
More Details on Data Models; Relationships, Graph Databases, Schemaless Databases,
Materialized Views, Modeling for Data Access,
Textbook1: Chapter 9
RBT: L1, L2, L3
Module 5
Graph Databases, What Is a Graph Database?, Features, Consistency, Transactions, 08
Availability, Query Features, Scaling, Suitable Use Cases, Connected Data, Routing,
Dispatch, and Location-Based Services, Recommendation Engines, When Not to Use.
Textbook1: Chapter 11
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Define, compare and use the four types of NoSQL Databases (Document-oriented, KeyValue
Pairs, Column-oriented and Graph).
• Demonstrate an understanding of the detailed architecture, define objects, load data, query data
and performance tune Column-oriented NoSQL databases.
• Explain the detailed architecture, define objects, load data, query data and performance tune
Document-oriented NoSQL databases.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Sadalage, P. & Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot
Persistence, Pearson Addision Wesley, 2012
Reference Books:
1. Dan Sullivan, "NoSQL For Mere Mortals", 1st Edition, Pearson Education India, 2015. (ISBN-
13: 978-9332557338)
2. Dan McCreary and Ann Kelly, "Making Sense of NoSQL: A guide for Managers and the Rest of
us", 1st Edition, Manning Publication/Dreamtech Press, 2013. (ISBN-13: 978-9351192022)
3. Kristina Chodorow, "Mongodb: The Definitive Guide- Powerful and Scalable Data Storage", 2nd
Edition, O'Reilly Publications, 2013. (ISBN-13: 978-9351102694)
MULTICORE ARCHITECTURE AND PROGRAMMING
(Effective from the academic year 2018 -2019)
SEMESTER – VII
Course Code 18CS824 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 3 Hrs
CREDITS –3
Course Learning Objectives: This course (18CS824) will enable students to:
• Define technologies of multicore architecture and performance measures
• Demonstrate problems related to multiprocessing
• Illustrate windows threading, posix threads, openmp programming
• Analyze the common problems in parallel programming
Module -1 Contact
Hours
Introduction to Multi-core Architecture Motivation for Concurrency in software, Parallel 08
Computing Platforms, Parallel Computing in Microprocessors, Differentiating Multi-core
Architectures from Hyper- Threading Technology, Multi-threading on Single-Core versus
Multi-Core Platforms Understanding Performance, Amdahl’s Law, Growing Returns:
Gustafson’s Law. System Overview of Threading : Defining Threads, System View of
Threads, Threading above the Operating System, Threads inside the OS, Threads inside the
Hardware, What Happens When a Thread Is Created, Application Programming Models and
Threading, Virtual Environment: VMs and Platforms, Runtime Virtualization, System
Virtualization.
Textbook 1: Ch.1, 2
RBT: L1, L2, L3
Module -2
Fundamental Concepts of Parallel Programming :Designing for Threads, Task 08
Decomposition, Data Decomposition, Data Flow Decomposition, Implications of Different
Decompositions, Challenges You’ll Face, Parallel Programming Patterns, A Motivating
Problem: Error Diffusion, Analysis of the Error Diffusion Algorithm, An Alternate
Approach: Parallel Error Diffusion, Other Alternatives. Threading and Parallel Programming
Constructs: Synchronization, Critical Sections, Deadlock, Synchronization Primitives,
Semaphores, Locks, Condition Variables, Messages, Flow Control- based Concepts, Fence,
Barrier, Implementation-dependent Threading Features
Textbook 1: Ch.3, 4
RBT: L1, L2, L3
Module – 3
Threading APIs :ThreadingAPls for Microsoft Windows, Win32/MFC Thread APls, 08
Threading APls for Microsoft. NET Framework, Creating Threads, Managing Threads,
Thread Pools, Thread Synchronization, POSIX Threads, Creating Threads, Managing
Threads, Thread Synchronization, Signaling, Compilation and Linking.
Textbook 1: Ch.5
RBT: L1, L2, L3
Module-4
OpenMP: A Portable Solution for Threading : Challenges in Threading a Loop, Loop-carried 08
Dependence, Data-race Conditions, Managing Shared and Private Data, Loop Scheduling and
Portioning, Effective Use of Reductions, Minimizing Threading Overhead, Work-sharing
Sections, Performance-oriented Programming, Using Barrier and No wait, Interleaving
Single-thread and Multi-thread Execution, Data Copy-in and Copy-out, Protecting Updates of
Shared Variables, Intel Task queuing Extension to OpenMP, OpenMP Library Functions,
OpenMP Environment Variables, Compilation, Debugging, performance
Textbook 1: Ch.6
RBT: L1, L2, L3
Module-5
Solutions to Common Parallel Programming Problems : Too Many Threads, Data Races, 08
Deadlocks, and Live Locks, Deadlock, Heavily Contended Locks, Priority Inversion,
Solutions for Heavily Contended Locks, Non-blocking Algorithms, ABA Problem, Cache
Line Ping-ponging, Memory Reclamation Problem, Recommendations, Thread-safe
Functions and Libraries, Memory Issues, Bandwidth, Working in the Cache, Memory
Contention, Cache-related Issues, False Sharing, Memory Consistency, Current IA-32
Architecture, Itanium Architecture, High-level Languages, Avoiding Pipeline Stalls on IA-
32,Data Organization for High Performance.
Textbook 1: Ch.7
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Identify the limitations of ILP and the need for multicore architectures
• Define fundamental concepts of parallel programming and its design issues
• Solve the issues related to multiprocessing and suggest solutions
• Make out the salient features of different multicore architectures and how they exploit parallelism
• Demonstrate the role of OpenMP and programming concept
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Multicore Programming , Increased Performance through Software Multi-threading by Shameem
Akhter and Jason Roberts , Intel Press , 2006
Reference Books:
1. Yan Solihin, "Fundamentals of Parallel Multicore Architecture", 1st Edition, CRC Press/Taylor
and Francis, 2015.
2. GerassimosBarlas, "Multicore and GPU Programming: An Integrated Approach Paperback", 1st
Edition, Morgan Kaufmann, 2014.
3. Lyla B Das, "The x86 Microprocessors: 8086 to Pentium, Multicores, Atom and the 8051
Microcontroller: Architecture, Programming and Interfacing", 2nd Edition, Pearson Education
India, 2014