III IV ISE Scheme and Syllabus 2016 2017 1
III IV ISE Scheme and Syllabus 2016 2017 1
III IV ISE Scheme and Syllabus 2016 2017 1
Department Of
Information Science and Engineering
1
Vision
To create Dynamic, Resourceful, Adept and Innovative Technical professionals to meet global challenges.
Mission
To offer state-of-the-art undergraduate, postgraduate and doctoral programmes in the fields of Engineering, Technology and Management.
To generate new knowledge by engaging faculty and students in research, development and innovation
To provide strong theoretical foundation to the students, supported by extensive practical training to meet industry requirements.
To install moral and ethical values with social and professional commitment.
Vision:
Imparting quality technical education and preparing professionals to meet Information Technological challenges globally.
Mission:
PEO1: Graduates will have the ability to become successful computing professionals in the area of Information Technology.
PEO2: Graduates will be equipped to enhance their knowledge through core engineering subjects to promote lifelong learning.
PEO3: Graduates will be able to take up social, technical and entrepreneurial challenges.
2
PROGRAMME OUTCOMES (POs)
1. Ability to apply the knowledge of computing, mathematics, basic sciences and engineering fundamentals for the solution of engineering
related problems.
2. Identify, specify and formulate comprehensive solution to complex engineering problems.
3. Design and develop computing systems to meet the specified needs of engineering problems by considering societal and environmental
implications.
4. Ability to conduct experiments, analyze and interpret data to provide valid conclusions for problems in Information Science and
Engineering
5. Ability to identify and solve computational problems using modern technologies and tools.
6. An understanding to assess societal, health, safety, legal issues relevant to professional engineering practices.
7. Understanding the impact of IT solutions in society and environment for sustainable development.
8. Apply and commit to professional ethics in engineering practices.
9. An ability to work as an individual, as a member and /or leader in diverse teams.
10. Ability to communicate effectively both in written and oral communication.
11. Ability to understand the importance of finance and project management as an individual and/or through team work.
12. Develop a conducive environment to engage in lifelong learning.
3
SCHEME OF TEACHING AND EXAMINATION
B.E. INFORMATION SCIENCE AND ENGINEERING
III SEMESTER
HEAD
DEPT. OF INFORMATION SCIENCE & ENGG.
4
SCHEME OF TEACHING AND EXAMINATION
B.E. INFORMATION SCIENCE AND ENGINEERING
IV SEMESTER
HEAD
DEPT. OF INFORMATION SCIENCE & ENGG.
5
III SEMESTER
For Third Semester B.E.(for computer Science engineering, and Information Science Engineering
branches only)
Course objectives:
To enhance the student’s ability to think logically, mathematically and algorithmically many
basic computer related concepts and provide a coherent development in the field of Discrete
Structures and Numerical methods.
Unit No of
Syllabus contents
No Hours
1 Logics and Quantifiers: Basic Connectives and Truth Tables, Logic
Equivalence – The Laws of Logic, Logical Implication – Rules of Inference and 10
Quantifiers.
2. Lattices and Boolean Algebra: Relation and ordering, partially ordered sets,
Lattices as poset, properties of lattices, Lattices as algebraic systems, sublattices,
11
direct product and homomorphism, complete lattices, bounds of lattices,
distributive lattice, and complemented lattices.
3. Groups: Binary algebra, Semigroups and monoids, Groups, Examples and
Elementary Properties, Subgroups, Homomorphisms, Isomorphisms, and Cyclic 11
Groups, Cosets, and Lagrange’s Theorem.
4. Numerical Methods-I: Finite differences, Forward and backward differences,
Newton’s forward and backward interpolation formulae, Numerical
differentiation. Divided differences-Newton’s divided difference formula,
10
Lagrange’s interpolation formula and inverse interpolation formula. Numerical
Solution of algebraic and transcendental equations: Secant method, Regulafalsi
method, Newton - Raphson method.
5. Numerical Methods-II: Numerical solution of ordinary differential equations of
first and second order; Euler’s and Modified Euler’s method, Runge-Kutta
10
method of fourth-order. Milne’s and Adams - Bashforth predictor and corrector
methods (No derivations).
Note 1: Units 1, 4 and 5 are compulsory, and Units 2 and 3 will have internal choices.
Note 2: Three Assignments are evaluated for 5 marks:
Assignment – I from Units 1 and 2.
Assignment – II from Units 3 and 4 .
Assignment -III from Unit 5
Course Outcomes: After the successful completion of the course the students are able to:
CO1: Demonstrate understanding of how to read and annotate an outline of a proof and
able to write a logical poof of a statement.
CO2: Create rigorous mathematical arguments to logical gates and develop an algorithm.
CO3: Apply algebraic structures in codes in cryptography.
CO4: Compare the viability of different approaches to the numerical solution of
problems arising in finding roots of equations, interpolation and approximation,
numerical differentiation and integration, and solution of ODE’s.
CO5: Develop a variety of numerical algorithms using appropriate
technology/programming languages.
TEXTBOOKs:
1. Ralph P. Grimaldi: Discrete and Combinatorial Mathematics, 5th Edition, Pearson
Education, 2004.
2. J. P. Tremblay and R. Manohar, Discrete Mathematical Structures with
Applications to Computer Science”, ,Tata McGraw-Hill
3. B.S. Grewal, Higher Engineering Mathematics (Latest Edition, 2016), Khanna
Publishers, New Delhi
Course objectives:
1. Presents the basic structure and operation of a digital computer.
2. Understand the basics of assembly language.
3. Implement assembly programs that accomplish basic computational and I/O operations.
4. Acquire knowledge of semiconductor memories, cache memory and virtual memory.
5. Analyze the concepts of CPU Bus structures and Pipelining.
TEXT BOOKS:
1. Carl Hamacher, Zvonko Vranesic, Safwat Zaky: Computer Organization, 5th Edition,
Tata McGraw Hill, 2010.
2. David A. Patterson, John L. Hennessy: Computer Organization and Design – The
Hardware / Software Interface ARM Edition, 4th Edition, Elsevier, 2009.
Course objectives:
1. To understand how to work with variety of digital logic gates along with their
operations using truth table and logic diagram.
2. To understand and apply minimization techniques for designing optimized digital
circuits along with HDL implementation.
3 To analyze and design cost effective combinational and sequential circuits for given
problems.
4 To analyze and design a synchronous and asynchronous counter.
5. To study the concept of D/A and A/D conversion.
Course Outcomes:
After the completion of the course students will be able to
CO1: Comprehend the fundamental concepts and principles of digital design.
CO2: Design and analyze cost effective combinational circuits and apply concept of
minimization of Boolean functions using different methods. Implement HDL programming.
CO3: Design, analyze and implement various data processing circuits and describe behavior of
various digital circuits.
CO4: Design and analyze synchronous and asynchronous sequential logic circuits using
different models.
CO5: Analyze the concepts of A - D and D -A converters.
TEXT BOOKS:
Donald P Leach, Albert Paul Malvino & Goutam Saha: Digital Principles and Applications, 7th
Edition, Tata McGraw Hill, 2011.
REFERENCES:
1. Stephen Brown, Zvonko Vranesic: Fundamentals of Digital Logic Design with VHDL, 2nd
Edition, Tata McGraw Hill, 2005.
2. Charles H. Roth: Fundamentals of Logic Design, Jr., 5th Edition, Thomson, 2004.
3. Ronald J. Tocci, Neal S. Widmer, Gregory L. Moss: Digital Systems Principles and
Applications, 10th Edition, Pearson Education, 2007.
st
4. R D Sudhaker Samuel, K.S. Nandini Prasad: Logic Design, 1 edition, Elsevier Publication,
2013.
Sub Title : DATA STRUCTURES WITH C
Sub Code:: IS33 No. of Credits:4= 3:1:0 (L-T-P) No. of lecture hours/week :5
Exam Duration : CIE +Assignment + SEE = Total No. of Contact Hours :
3 hours 45 + 5 + 50 =100 52
Course objectives:
1. To become familiar with the concept of pointers and its usage in dynamic memory
allocation.
2. To study and understand the implementation of common data structures.
3. To classify and comprehend the consequences of using linear data structures in
implementing a system .
4. To identify the importance of non linear data structures and its usage in computer systems.
TEXT BOOKS:
1. Horowitz, Sahni, Anderson-Freed: Fundamentals of Data Structures in C, 2nd Edition,
University Press, 2007.
2. Yedidyah, Augenstein, Tannenbaum: Data Structures Using C and C++, 2nd Edition,
Pearson Education, 2003.
Course objectives:
1. To create a web page using XHTML
2. To understand Cascading Style Sheets
3. To do data validation and user interaction using JavaScript
Unit Syllabus No of
No.. Hours
1 Fundamentals of web, XHTML – 1: Internet, WWW, Web Browsers, and Web Servers; 12
URLs; MIME; HTTP; Security; The Web Programmers Toolbox.
XHTML-1 : Origins and evolution of HTML and XHTML; Basic syntax; Standard
XHTML document structure; Basic text markup.
XHTML – 2: Images; Hypertext Links; Lists; Tables; Forms; Frames; Syntactic
differences between HTML and XHTML.
2 CSS: Introduction; Levels of style sheets; Style specification formats; Selector forms; 9
Property value forms; Font properties; List properties; Color; Alignment of text; The Box
model; Background images
3 Javascript: Overview of JavaScript; Object orientation and JavaScript; General 11
syntactic characteristics; Primitives, operations, and expressions; Screen output and
keyboard input; Control statements; Object creation and modification; Arrays; Functions;
Constructor; Pattern matching using regular expressions
4 Javascript and HTML documents: The Javascript execution environment; The 10
Document Object Model; Element access in Javascript; Events and event handling;
Handling events from the Body elements, Button elements, Text box and Password
elements; The DOM 2 event model
CO1: Identify and relate the different terms associated with web technologies.
CO2: Design simple web pages using different tags of XHTML.
CO3: Classify and use different levels of style sheets.
CO4: Validate and provide user functionality using JavaScript (client side data ).
CO5: Access the different elements using JavaScript and make use pattern matching concepts
TEXT BOOK:
Robert W. Sebesta: Programming the World Wide Web, 6th Edition, Pearson education, 2010
1. M. Deitel, P.J. Deitel, A. B. Goldberg: Internet & World Wide Web How to Program, 5th
Edition, Pearson education, 2012.
2. Chris Bates: Web Programming Building Internet Applications, 3rd Edition, Wiley India,
2006.
3. www.w3schools.com
Sub Title : DATA STRUCTURES WITH C LAB
Sub Code:: ISL35 No. of Credits:1= 0:0:1 (L-T-P) No. of lecture hours/week : 2
Exam Duration : CIE + SEE = 50+ 50 =100
3 hours
Course objectives:
1. To understand design and implement the concept of stack using recursive techniques.
2. To Implement the application of stacks in converting an expression from infix to postfix
notation and evaluate postfix expressions.
3. Design common data structures and implement linear queue, circular queue, priority queue
4. To understand the importance of implementing data structures like stacks using linked list,
queues using linked list, doubly linked lists and circular linked list.
5. To traverse a non linear data structure like a Binary Search Tree.
I. LIST OF PROGRAMS
1. Write a C Program to construct a stack of integers and to perform the following operations on
it:
a. Push b. Pop c. Display
The program should print appropriate messages for stack overflow, stack underflow, and stack
empty.
2. Write a C Program to convert and print a given valid parenthesized infix arithmetic
expression to postfix expression. The expression consists of single character operands and the
binary operators + (plus), - (minus), * (multiply) and / (divide).
3. Write a C Program to evaluate a valid suffix/postfix expression using stack. Assume that the
suffix/postfix expression is read as a single line consisting of non-negative single digit operands
and binary arithmetic operators. The arithmetic operators are + (add), - (subtract), * (multiply)
and / (divide).
4. Write a C Program to simulate the working of a queue of integers using an array. Provide the
following operations:
a. Insert b. Delete c. Display
5. Write a C Program to simulate the working of a circular queue of integers using an array.
Provide the following operations:
a. Insert b. Delete c. Display
6. Write a C Program using dynamic variables and pointers, to construct a singly linked list
consisting of the following information in each node: student id (integer), student name
(character string) and semester (integer). The operations to be supported are:
a. The insertion operation
i. At the front of a list ii. At the back of the list iii. At any position in the list
b. Deleting a node based on student id. If the specified node is not present in the list an error
message should be displayed. Both the options should be demonstrated.
c. Displaying all the nodes in the list.
7. Write a C Program using dynamic variables and pointers, to construct a singly linked list
consisting of the following information in each node: student id (integer), student name
(character string) and semester (integer). The operations to be supported are:
a. The insertion operation
i. At the front of a list ii. At the back of the list iii. At any position in the list
b. Searching a node based on student id and update the information content. If the specified node
is not present in the list an error message should be displayed. Both situations should be
displayed.
c. Displaying all the nodes in the list.
8. Write a C Program using dynamic variables and pointers to construct a stack of integers using
singly linked list and to perform the following operations:
a. Push b. Pop c. Display
The program should print appropriate messages for stack overflow and stack empty.
9. Write a C program using dynamic variables and pointers to construct a queue of integers
using singly linked list and to perform the following operations:
a. Insert b. Delete c. Display
The program should print appropriate messages for queue full and queue empty.
10. Write a C Program
a. To construct a binary search tree of integers.
b. To traverse the tree and display the elements using all the methods i.e., in-order, pre-order
and post-order.
II. OPEN ENDED QUESTIONS
CO1: Design and develop stack, an application providing solution to convert infix to postfix
expression using stack and also design a solution to evaluate postfix expression.
CO2: Implement queues like linear queue, circular queue, priority queue .
CO3: Design and develop solution to implement the following : singly linked list, stacks using
linked list, queues using linked list, doubly linked list and circular linked list.
CO4: Design the solution to traverse a Non linear data structure like a Binary Search Tree.
Course Objectives:
1. Acquire basic skills and confidence to design, analyze, and implement circuits involving
various digital logic gates.
2. To design, implement and analyze combinational logic circuits.
3. To design, implement and analyze sequential logic circuits.
4. Realization of one, two bit magnitude comparator.
5. Simulation and analysis of various logic circuits using VERILOG/VHDL.
I. LIST OF EXPERIMENTS
COMBINATIONAL CIRCUITS:
1.a. Realization of Binary to Gray code conversion using basic gates.
b. Design and implement Excess-3 to BCD code converter using 4-bit
adder chip and gates.
2 .a. Simplification and realization of given Boolean expression/s using K-map by using basic
gates and/or universal gates.
b. Write HDL code to realize all the logic gates.
3 a. Realize full adder using 3-to-8 decoder IC and 4 input NAND gates.
b. Write the Verilog/VHDL code for a full adder. Simulate and verify it’s working.
4 a. Realize full subtractor using logic gates.
b. Write HDL code for full subtractor. Simulate and verify it’s working.
5 . a. Given any 4-variable logic expression, simplify using Entered Variable Map and realize
the simplified logic expression using 8:1 multiplexer IC.
b. Write the Verilog /VHDL code for an 8:1 multiplexer. Simulate and verify its working.
6 a. Realize Two bit magnitude comparator using basic gates.
b. Write HDL code for one/two bit magnitude comparator.
SEQUENTIAL CIRCUITS:
7. a. Realize a J-K Master/Slave Flip-Flop using NAND gates and verify its truth table.
b. Write the Verilog/VHDL code for D Flip-Flop with positive-edge triggering. Simulate and
verify it’s working.
8. Design and implement mod-n (n<8) synchronous up counter using J-K Flip-Flop ICs.
9 . a. Design and implement a ring counter using 4-bit shift register.
b. Write the Verilog/VHDL code for switched tail counter. Simulate and verify it’s working.
10. a. Design and implement an asynchronous counter using decade counter IC to count up from
0 to n (n<=9). Display the count value on 7 segment LED display using BCD to 7 segment
code converters IC.
b. Write the Verilog/VHDL code for mod-8 up counter. Simulate and verify it’s working.
Students can build their own applications using the digital components either hardware or
simulation tools (software tools)
NOTE:
1. . STUDENT IS PERMITED TO SUBMIT OPEN ENDED SOLUTION TO ANY OTHER OPEN ENDED
QUESTION APART FROM THE LIST ABOVE . BUT IT HAS TO BE APPROVED BY THE STAFF IN
CHARGE.
2.IN THE EXAMINATION EACH STUDENT PICKS ONE QUESTION FROM A LOT OF ALL 10
QUESTIONS.
Course Outcomes:
After completion of the course the students will be able to:
Course Objectives:
1. Create a web page with text, images, lists, tables and frames
2. To use cascading style sheet in designing the web pages
3. To use JavaScript
4. To embed JavaScript in XHTML
I. LIST OF PROGRAMS
8. Develop and demonstrate, using JavaScript script, a XHTML document that collects the USN ( the
valid format is: A digit from 1 to 4 followed by two upper-case characters followed by two digits
followed by two upper-case characters followed by three digits; no embedded spaces allowed) of
the user. Event handler must be included for the form element that collects this information to
validate the input. Messages in the alert windows must be produced when errors are detected.
9 Write the JavaScript to validate the following fields of a registration page
a)Name ( Name should contain alphabets and the length should not be less than 6 characters)
b) Password (password should not be less than 6 character length)
10. Develop and demonstrate, using JavaScript script, a XHTML document that contains three short
paragraphs of text, stacked on top of each other, with only enough of each showing so that the
mouse cursor can be placed over some part of them. When the cursor is placed over the exposed
part of any paragraph, it should rise to the top to become completely visible.
NOTE:
1. STUDENT IS PERMITED TO SUBMIT OPEN ENDED SOLUTION TO ANY OTHER OPEN ENDED
QUESTION APART FROM THE LIST ABOVE . BUT IT HAS TO BE APPROVED BY THE STAFF IN
CHARGE.
2. IN THE EXAMINATION EACH STUDENT PICKS ONE QUESTION FROM A LOT OF ALL 10
QUESTIONS.
Course Outcome:
After completion of the course the students will be able to:
Course objectives:
To develop analytical capability and to impart knowledge in Statistical methods and Queuing
theory and their applications in Engineering and Technology, so as to enable them to apply the
same for solving real world problems.
Unit No of
Syllabus contents
No Hours
1 Probability Distributions: Recap of random variables. Moments, Moment
Generating function, Binomial distribution, Poisson distribution, Geometric
10
distribution, Negative Binomial distribution, Exponential Distribution, Gamma
distribution, Weibull distribution, and normal distribution.
2. Two Dimensional Random Variables: Definition, joint probability mass
function, marginal probability function, conditional probability function, joint
probability distribution function, marginal distribution function, joint density 10
function, marginal density function, the conditional distribution function and
conditional probability density function, covariance, and correlation coefficient.
3. Random Process: Introduction, classification of random process, methods of
description of a random process, stationary, auto-correlation function, and 10
Ergodicity,
4. Queuing Theory: Markov Process. Poisson process, birth and death process,
Markovian queuing models, M/M/1//FIFO, M/M/1/N/FIFO,M/M/C//FIFO, 11
M/M/c/N/FIFO, M/G/1.
5. Reliability Engineering: Introduction, concepts of Reliability, MTTF, MTBF,
Special failure distributions-Exponential, Weibull and Normal. Exponential
model in reliability. Reliability of Systems-series systems, parallel system and 11
series-parallel. Reliability and availability of Markovian System-Availability
function, Maintainability and Preventive Maintenance.
Note 1: Units 1, 2 and 3 are compulsory, and Units 4 and 5 will have internal choices.
Note 2: Three Assignments are evaluated for 5 marks:
Assignment – I from Units 1 and 2.
Assignment – II from Units 3 and 4 .
Assignment -III from Unit 5
Course Outcomes: After the successful completion of the course the students are able to:
CO1: Understand of basic rules of random variables and moments of random variables.
CO2: Create probability functions of transformation of random variables and use these
techniques to generate data from various distributions.
CO3: Develop probabilities in joint probability distributions and derive the marginal and
conditional distributions of bivariate random variables.
CO4: Apply the concepts of probability theory to discrete time Markov chain and
establish the Markovian queuing models.
CO5: Illustrate the concepts of reliability in terms of probability distributions applicable
to system maintainability.
TEXTBOOKs:
1. Kishore S. Trivedi, .Probabilty and Statistics with Reliability, Queuing and
Computer Science.
2. Richard A. Johnson, Miller and Freund’s Probability and Statistics for Engineers.
3. HariBaskarn, Probabililty, Queuing theory and Reliability Engineering, Lakshmi
Publications.
course objectives:
1. Understand 8086 Microprocessor & 8051 Microcontroller architecture and pin
configuration .
2. Analyze and code programs with different addressing modes, instructions , assembler
directives of 8086.
3. Develop embedded C programs for 8051 microcontroller and run on the simulator and
target board.
4. Demonstrate Interfacing and Programming of 8086 with I/O ports using 8255, and
interface Keys, LEDs, Seven Segment Displays.
5. Develop and code embedded C programs for interfacing 8051 with ADC, DAC, Sensors,
stepper motor, dc motor and with serial port of PC.
Unit Syllabus No of
No.. Hours
1 The 8086 Processors: Introduction to microprocessor 8086 CPU 11
Architecture-BIU and EU, Real mode memory addressing. pin functions of
8086/8088. Addressing Modes.
Assembler directives: DB, DW, DD, DQ, DT, .MODEL, .DATA, .CODE,
.STACK, TITLE, EQU, PTR, OFFSET, ALIGN, DUP, END, PROC,
ENDP, EXTRN, GLOBAL/PUBLIC, MACRO, ENDM .
Instruction set: Data transfer instructions such as MOV, LEA, XCHG,
PUSH, POP, XLAT, IN and OUT. Arithmetic instructions such as ADD,
ADC, SUB, SBB, INC, DEC, CMP, NEG, DAA, MUL and DIV. Example
programs on these instructions.
TEXT1
2 Instruction set: Logical and bit manipulation instructions such as AND, OR, 10
XOR, NOT, TEST, ROL, RCL, ROR and RCR. Program control
instructions such as JMP, JZ/JE, JNZ/JNE, JC, JNC, JAE, JBE, LOOP,
LOOPE, LOOPNE, JCXZ, CALL, RET. Example programs on these
instructions. String instructions SUCH AS MOVS, SCAS, CMPS, LODS,
STOS, REP, REPE and REPNE. Illustration of these instructions with
example programs. Machine control instructions such as STC, CLC, STD
and CLD. Types of interrupts. Procedures and Macros.
DOS interrupt Functions: DOS service-INT21h interrupt functions numbers
01, 02, 09, 0AH and 4CH.
TEXT1
3 Introduction to 8051 microcontroller : Microprocessor v/s Microcontroller, 11
RISC v/s CISC CPU architecture and Princeton (Von Neumann) v/s
Harvard architecture. Survey of Microcontrollers. Features of 8051 and its
simplified block diagram. Pin diagram of 8051 and significance of the pins.
Architecture of 8051: 8051 CPU and its associated registers such as A, B,
SP, PC, DPTR, PSW and Memory organization. Organization of Oscillator
& timing block, interrupts, timer & counters, IO pins and serial port of
8051. Addressing Modes of 8051 .
Instruction set of 8051: Data transfer group of instructions Arithmetic group
of instructions, Logical group of instructions, Branch control group of
instructions and bit manipulation group of Instructions. Example programs
on Block move with and without overlap, Block Exchange, Sorting.
Example programs to find the sum of an array of one byte binary numbers /
2 digit BCD numbers . Example programs to convert BCD to binary , binary
to BCD, ASCII to BCD, BCD to ASCII.
TEXT3
4 Port structures of 8051: port structures of port-0, port-1, port-2 and port-3. 10
8051 programming in C: Data types, time delays in 8051C, IO
programming, Logical operations, data conversion programs .
Timer / Counter programming in 8051: Structures of Timer / counter in
different modes, Significance of TMOD and TCON registers, Timer /
counters programming in assembly / 8051C. Example programs to
incorporate delays in assembly / 8051C
TEXT 2
5 Interrupt of 8051: Interrupt structure and their associated vector addresses. 10
Significance of IE and IP registers. Programming of external hardware
interrupts in assembly / 8051C, Programming of timer/ counter interrupts in
assembly / 8051C.
8051 serial communication: Basics of serial communication, Significance of
SCON register, Significance of mode-0, mode-1, mode-2 and mode-3 of
Serial Communication. Programming of serial communication in assembly /
8051C.
TEXT 2
Course Outcomes:
After the completion of the above course students will be able to
TEXT BOOKS:
1. Barry B. Brey, “The Intel Microprocessor, Architecture, Programming and Interfacing”, 8e,
Pearson Education/PHI, 2013.
2 Muhammad Ali Mazidi and Janice Gillespie Mazidi and Rollin D. McKinley: “The8051
Microcontroller and Embedded Systems – using assembly and C”- PHI / pearson, 2009.
3. Kenneth J. Ayala: “The 8051 Microcontroller Architecture, Programming & Applications”2e,
Penram International, 1996 / Thomson Learning 2005
REFERENCE BOOKS:
1. K. Uday Kumar, B.S. Umashankar, “Advanced microprocessors and IBM PC Assembly”, TMH
Publication, 6th reprint, 2000.
2. Douglas V. Hall, “Microprocessor & interfacing, programming & Hardware”, 2nd Edition, TMH,
1991.
3. Dr.Ramani Kalpathi and Ganesh Raja:“Microcontroller and its applications”, Sanguine
Technical Publishers -2005.
4. Y.C. Liu and G. A. Gibson, “Microcomputer systems: The 8086 / 8088 Family”, 2e , PHI,
2006
Sub Title : DESIGN AND ANALYSIS OF ALGORITHMS
Sub Code:IS42 No. of Credits:4= 4 :0 : 0 (L-T-P) No. of lecture hours/week : 4
Exam Duration : CIE +Assignment + SEE = Total No. of Contact Hours :
3 hours 45 + 5 + 50 =100 52
Course objectives:
1. To introduce the concept of an algorithm and understand the techniques for its analysis.
2. To represent the algorithmic time efficiency using different asymptotic notations.
3. Explore the various algorithm design techniques, the process of its design and analysis.
4. To solve problems using appropriate design techniques.
5. Identify the limitations of algorithms power.
6. Understand concepts of space-time tradeoffs and parallel algorithms.
Course Outcomes:
After the completion of the above course students will be able to
TEXT BOOKS:
1. Anany Levitin: Introduction to the Design and Analysis of Algorithms, Second Edition,
Pearson Education, 2011.
2. Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran: Fundamentals of Computer
Algorithms, 2nd Edition, University press, 2007
Course objectives:
5 C++ I/O System Basics : Old vs. Modern C++ I/O, C++ Streams, The C++ 12
Stream Classes, C++'s Predefined Streams, Formatted I/O, Formatting
Using the ios Members,Setting the Format Flags, Clearing Format
Flags,An Overloaded Form of setf( ),Examining the Formatting Flags,
Setting All Flags, Using width( ), precision( ), and fill( ), Using
Manipulators to Format I/O, Overloading << and >>, Creating Your Own
Inserters, Creating Your Own Extractors, Creating Your Own
manipulator Functions
C++ File I/O: fstream> and the File Classes, Opening and Closing a File,
Reading and Writing Text Files, Unformatted and Binary I/O, Characters
vs. Bytes, put( ) and get( ), read( ) and write( ), More get( ) Functions,
getline( ) , Detecting EOF, The ignore( ) Function, peek( ) and putback( ),
flush( ), Random Access, Obtaining the Current File Position , I/O Status,
Customized I/O and Files.
Course Outcomes:
After the completion of the above course students will be able to
CO1: Demonstrate the need of using Object Oriented Programming in the real world
applications and design programs using classes and objects for C++.
CO2: Design and analyze programs for automatic initialization and destruction of objects.
CO3: Develop applications by providing new definitions for some of the operators.
CO4: Design and develop applications through inheritance, Virtual Base classes and dynamic
polymorphism.
CO5: Apply concepts of Templates, Exceptions and File handling in designing programs.
TEXT BOOKS:
Herbert Schildt: C++ The Complete Reference, 4th Edition, Tata McGraw Hill, 2014
REFERENCE BOOKS:
1. Stanley B.Lippmann, Josee Lajore: C++ Primer, 4th Edition, Addison Wesley, 2005.
2. Paul J Deitel, Harvey M Deitel: C++ for Programmers, Pearson Education, 2009.
3. K R Venugopal, Rajkumar Buyya, T Ravi Shankar: Mastering C++, Tata McGraw Hill,
1999.
4. Sourav Sahay: Object-Oriented Programming with C++, Oxford University Press, 2006.
Sub Title : PYTHON PROGRAMMING
Course objectives:
1. Understanding the syntax and semantics of the Python language.
2. To create Functions in Python.
3. To handle Files & Regular expressions in Python.
4. To apply Object Oriented Programming concepts in Python.
2. a) Develop Python Program to make a simple calculator that can add, subtract, multiply and
divide.
b) Write Pythonic code to accept a file name from user and display the count of total number of
lines starting with ‘From’.
3. a) Write a program which prompts the user for a Celsius temperature, convert the temperature
to Fahrenheit using try and except and print out the converted temperature.
b) Write a program which repeatedly reads numbers until the user enters “done”. Once “done” is
entered, print out the total, count, and average of the numbers. If the user enters anything other
than a number, detect their mistake using try and except and print an error message and skip to
the next number.
Enter a number: 4
Enter a number: 5
Enter a number: bad data
Invalid input
Enter a number: 7
Enter a number: done
16 3 5.33333333333
Course Outcomes:
CO1: Analyze Python syntax and semantics and be fluent in the use of Python flow control.
CO2: Demonstrate creation and running of Python functions.
CO3: Apply concepts of File systems, Lists, Dictionaries and Regular Expressions using
Python.
CO4: Demonstrate and apply concepts of Object-oriented programming as used in Python.
CO5: Apply concepts of Data Structures in Python.
TEXT BOOKS:
1. Charles Severance, “Python for Informatics”, 1st Edition, CreateSpace Independent Publishing
Platform, 2013.
2. Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers, "How to Think Like a Computer
Scientist: Learning with Python", 2nd Edition, Open Book Project, 2012.
Course objectives:
1. Understand software process, process models, activities involved in software
engineering process.
2. Understand requirements engineering process and write the functional and non-
function requirements.
3. Explore various design concepts using structural, object oriented designs.
4. Explore rapid software development and rapid application development.
5. Carry out software testing and formal verification and validation of software.
Unit Syllabus No of
No. Hours
1 Overview: FAQ's about software engineering, Professional and ethical 12
responsibility.
Socio-Technical systems: Emergent system properties; Systems
engineering; Organizations, people and computer systems; Legacy systems.
Critical Systems: Critical Systems: A simple safety-critical system; System
dependability; Availability and reliability.
2 Software Processes: Process iteration, Process activities; The Rational 10
Unified Process; Agile methods, Plan-driven (waterfall model) and agile
development, XP, Scrum, Computer Aided Software Engineering.
Requirements: Software Requirements: Functional and Non-functional
requirements; User requirements; System requirements; Interface
specification; The software requirements document.
Requirements Engineering Processes: Feasibility studies; Requirements
elicitation and analysis; Requirements validation; Requirements
management.
3 System modeling: System Models: Context models; Behavioral models; 9
Object models; Structured methods.
Software Design: Architectural Design: Architectural design decisions;
System organization; Modular decomposition styles; Control styles.
Object-Oriented design: Objects and Object Classes; An Object-Oriented
design process; Object-oriented design using the UML, Design patterns
Implementation issues, Design evolution.
4 Development: Rapid Software Development: Rapid application 9
development. Open source development.
Software Evolution: Program evolution dynamics; Software maintenance
5 Verification and Validation: Verification and Validation: Planning; 12
Software inspections; Automated static analysis; Verification and formal
methods.
Software testing: System testing; Component testing; Test case design;
Test automation.
Software Management: Project Management; Risk management.;
Teamwork;
Project planning: software pricing; Project scheduling; Agile Planning;
Estimation techniques.
Course Outcomes:
After completing the course the students are able to:
TEXT BOOKS:
1. Ian Sommerville: Software Engineering, 9th Edition, Pearson Education, 2010.
REFERENCE BOOKS:
1. Roger.S.Pressman: Software Engineering-A Practitioners approach, McGraw Hill, 2010.
Sub Title : OBJECT ORIENTED PROGRAMMING WITH C++ LAB
Sub Code:: ISL46 No. of Credits:1.5= 0:0:1.5 (L-T-P) No. of lecture hours/week : 3
Exam Duration : CIE + SEE = 50 + 50 =100
3 hours
Course objectives:
1. Design programs using classes and objects for C++ .
2. Build programs for automatic initialization of objects and destroy objects that are no
longer required through constructors and destructors.
3. Construct applications to provide flexible options for the creation of new definitions
for some of the operators.
4. Specifying mechanism of deriving a new class from older classes through inheritance.
5. Implement methods to select appropriate member function during run time.
6. Design and implement programs using Templates and Exceptions .
I. LIST OF PROGRAMS
Objects and Classes
Function Overloading
3. Write a C++ program to create a class called COMPLEX and implement the following
overloading functions ADD that return a COMPLEX number.
i. s2 = s1. add (a) – where a is an integer (real part) and s1, s2 are complex numbers.
ii. s3 = s1.add (s2) – where s1 ,s2 and s3 are complex numbers.
5. Create a template function for bubble sort and demonstrate sorting of integers and doubles.
6. Create a template class called STACK with member functions to add an element and to delete
an element from the queue. Implement a stack of integers and doubles.
Operator Overloading
7. Implement the concept of operator overloading: Create a class called COMPLEX and
overload + , - ,* operators to perform addition , subtraction and multiplication operations on 2
complex numbers . Also overload the operators >> and << to accept and print the complex
numbers .
8. Implement the concept of operator overloading: Create a class called MATRIX using a two-
dimensional array of integers. Implement the following operations by overloading the operator =
= which checks the compatibility of two matrices m1 and m2 to be added and subtracted.
Perform the addition and subtraction by overloading the operators + and – respectively. Display
the results (sum matrix m3 and difference matrix m4) by overloading the operator <<.
if(m1 = = m2)
{
m3 = m1 + m2;
m4 = m1 – m2;
}
else
display error
Inheritance:
9. Create a class called STUDENT with data members USN, Name and Age. Using inheritance,
create the classes UGSTUDENT and PGSTUDENT having fields as Semester, Fees and
Stipend. Enter the data for at least 5 students. Find the semester wise average age for all UG and
PG students separately.
10. Create a class called Number which has the characteristics of a decimal number.
Derive a class OCTAL, which has the characteristics of an octal number inheriting the decimal
value from the Number class.
Derive a class HEX, which has the characteristics of an hexadecimal number inheriting the
decimal value from the Number class.
Derive a class BINARY which has the characteristics of an binary number inheriting the decimal
value from the Number class.
Implement the following operations (operator overloading).
i. int i = j + k where i is decimal , j is hexadecimal , k is OCTAL
ii. int y = h + k ; where h is an OCTAL object and k is an integer.
Display the Result by overloading the operator <<.
Exception Handling
11. Create a class Account having data members Account No, Name, balance and
Member functions like input, display, deposit, withdrawal. The withdrawal function must handle
an exception of type low balance.( balance should not be less than Rs 500).
Implement try/throw/catch in C++ style.
Dynamic polymorphism:
12.
Create a pointer of INFIX type and demonstrate dynamic binding. Demonstrate the conversion
an expression from infix to postfix form.
Note: In the examination each student picks one question from a lot of all 12 questions.
Identify the different objects in the following environments and implement different suitable
operations
i) Banking System ii) Library iii) Automobile Industry iv) Home Appliances v)User
Interface design etc
NOTE:
1. STUDENT IS PERMITED TO SUBMIT OPEN ENDED SOLUTION TO ANY OTHER OPEN ENDED
QUESTION APART FROM THE LIST ABOVE . BUT IT HAS TO BE APPROVED BY APROVED BY
THE STAFF IN CHARGE.
2.IN THE EXAMINATION EACH STUDENT PICKS ONE QUESTION FROM A LOT OF ALL 12
QUESTIONS
Course Outcomes:
After completing the course the students are able to:
Course objectives:
1. To introduce various algorithm design techniques.
2. To design algorithms with specific technique and implement these algorithms using the
appropriate technique.
3. Enhance written and oral communication skills among students.
4. To enhance the skill to debug programs
I. LIST OF PROGRAMS
Note: In the examination each student picks one question from the lot of all 10 questions.
1. Defective Chessboard
2. Knapsack
3. Spanning Trees
4. Sum of Subset
5. N-Queen
6. Travelling Sales Person etc.
NOTE:
1. STUDENT IS PERMITED TO SUBMIT OPEN ENDED SOLUTION TO ANY OTHER OPEN ENDED
QUESTION APART FROM THE LIST ABOVE. BUT IT HAS TO BE APPROVED BY THE STAFF IN
CHARGE.
2. IN THE EXAMINATION EACH STUDENT PICKS ONE QUESTION FROM A LOT OF ALL 10
QUESTIONS
Course Outcomes: