Syllabus of 4btech CSE

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

B.Tech.

(CSE) SEMESTER 4
PAPER HOURS PER
S.NO. NAME OF PAPER TOTAL
CODE WEEK
CREDIT
THEORY L T P
OBJECT ORIENTED
1 12CA401 3 0 0 3
PROGRAMMING IN C++
2 12CA404 DATA STRUCTURE 3 0 0 3
COMPUTER SYSTEM AND ITS
3 12CA403 3 1 0 4
ARCHITECTURE
4 ELECTIVE -I 3 1 0 4

12MS407-A THEORY OF COMPUTATION

12MS407-B SYSTEM PROGRAM


5 12CA408 E-COMMERCE & E-GOVERNANCE 3 0 0 3
6 12CA409 DATA COMMUNICATION 3 1 0 4
LABORATORY
OBJECT ORIENTED
1 12CA451 0 0 2 1
PROGRAMMING IN C++ LAB
3 12CA453 DATA STRUCTURE LAB 0 0 2 1
PROJECT-II LAB/INDUSTRIAL
4 12CA454 0 0 2 1
VISIT
TOTAL CONTACT
18 3 6 24
HOURS/CREDIT

OBJECT ORIENTED PROGRAMMING IN C++

Objective: To familiarize the student with the universal concepts of computer programming. To present
the syntax and semantics of the “C++” language as well as basic data types offered by the language. To
discuss the principles of the object-oriented model and its implementation in the “C++” language
OUTCOME: The outcome of studying Object Oriented Programming in C++ is to equip students with the
knowledge and skills required to design, implement, and maintain robust and scalable software applications
using object-oriented programming techniques in C++.

Unit – 1
OOPS-Evolution of programming methodologies, origin of C++, procedural Approach Vs. Object oriented
approach, Principles or concepts of OOPs. Merits and demerits of OOPs. Comparison of C and C++-
Limitations of C, Introduction to C++, Structure of C++ Program. Added features of C++ over C-Storage
classes, reference variables, inline functions, cin, cout, Scope resolution operator, member dereferencing
operator. Default arguments.

Unit – 2
Introduction to Objects and classes-Defining the class, defining data members and member functions,
creating objects Access specifiers: private, public, protected, Nested classes, local classes, empty class,
Friend function and friend class, Passing objects as function arguments, returning objects from functions,
static members, this pointer, comparison of class with structure. Memory management-new and delete
operator, pointer to object, pointer to class members, wild pointers, dangling pointers, smart pointers.
Unit – 3
Constructors and destructors-Purpose of constructors and destructors, default constructors, constructors
with and without parameters, Constructor overloading, copy constructor, deep and shallow copy. Invoking
constructor and destructor, dynamic constructors, constructors and destructors with static members.
Overloading Concepts-Function Overloading, Unary and binary operator overloading, overloading new and
delete operators, overloading special operators.

Unit – 4
Inheritance-Basic concepts, Reusability and Extensibility, Types of Inheritance, private ,public and
protected Inheritance. Virtual base class. Virtual destructor. Overriding member functions, order of
execution of constructors and destructors. Polymorphism-Method polymorphism, polymorphism by
parameter, parametric polymorphism, early and late binding.
Exceptions-Exceptions, Inheritance and Exceptions, Exception Hierarchies, Inside an Exception Handler,
defining your own exceptions

Unit – 5
Templates-Generic functions, Generic classes, Template restrictions. Streams and manipulators.
Unformatted I/O functions. Creating insertors and Extractors. Files-Opening, reading, writing, appending
and closing files.

Text books:
1. Object Oriented Programming using C++, E. Balagurusamy

Reference books:
1. Object Oriented Programming in C++, Robert Lafore
2. UML in 21 Days, Tech Media

List of Practical’s:
1. Write a C++ program that will ask for a temperature in Fahrenheit and display it in Celsius using a class
called temp and member functions.
2. Create a class Distance, which accepts data in feet and inches, adds two distances and displays the
members of the distance object in the appropriate form. Test the class in the main program by creating
object d1 and d2 of type distance, accept data for each object and add them then display them.
3. An election is contested by five candidates. The candidates are numbered 1 to 5 and the voting is done
by marking the candidate number on the ballot papers. Write a program to read the ballots and count the
votes cast for each candidate using an array variable count. In case, a number read is outside the range 1 to
5, that ballot should be considered as a 'spoilt ballot', and the program should also count the number of
spoilt ballots.
4. A Cricket team has the table of batting figures for a series of test matches. Write a program to read the
data name, runs, innings, times not out into a class object and calculate the batting average, also display the
result in the format as given below:
----------------------------------------------------------------------------------------------
Player's name Runs Innings Times Not Out Batting Avg
------------------------------------------------------------------------------------------------
Tendulkar 632 15 0
Azharuddin 524 16 2
------------------------------------------------------------------------------------------------
5. Write a program to implement the push and pop functions of a stack using a class Stack. Also make use
of a private member function display() to display contents of the stack after every push and pop operations.
Create a member function init() to initialize top of the stack.
6. Define a class to represent Bank account. Include the following members. Data members
(1) Name of depositor
(2) Account number
(3) Type of account
(4) Balance member functions
(a) To assign initial values
(b) To deposit an amount in a particular account
(c) To withdraw an amount after checking the balance
(d) To display name and balance
Write a main program to test the class for handling 10 customers
7. Write a program that calculates the value of m raised to the power n for both int and double data types.
(Use the concept of function overloading)
8. Write a function, which will take two objects of Distance Class as arguments and returns the largest one.
Include a main () program to implement this function of the distance class.
9. Write a class to represent a vector ( a series of float values). Include member functions to perform the
following tasks:
(a) To create the vector
(b) To modify the value of a given element
(c) To multiply by a scalar value
(d) To add a vector to another
(e) To display the vector in the form (10, 20, 30)
10. Demonstrate the use of static variables and static function in a class by using it to count the number of
objects created in the program, having a static function to display the count.
11. Imagine a check-post at a bridge. Car passing by the check-post are expected to pay Rs. 50 as tax. Most
of the cars pay but sometimes a car goes without paying the tax. The check-post has to keep track of number
of cars and amount collected. Create a class check to implement this problem. The data members of the
class are no, to count number of class and amount to keep track of the amount collected. Write member
function paying for cars which are paying the tax and another function no pay for cars not paying the tax,
also write a function to display number of cars passed and amount collected.
12. Create a class date which stores date in dd-mm-yyyy format. Include appropriate constructors to
initialize the objects. Write a member function which gives the differences of given two dates as number
of days. Another function to which days can be added so as to given the date after addition of days. Check
the class by creating objects of the date class.
Checking program should be menu driven.
13. Create a class that contains variables for storing feet and its equivalent value of inches. Pass to the
class's constructor no. of feet and have the constructor display the no. of inches.
14. Create a function sleep() that pauses the computer for the number of seconds specified by its single
argument. Overload sleep() so it can be called with either an integer or a string representation of an integer.
(e.g. sleep(10) & sleep("10") both should be valid)
15. Write a class to represent a Matrix. Include member functions to perform the
following tasks:
Matrix
Data Members
Integer array of 10X10 elements.
Integer row, column //dimensions.
Member Functions
To create the Matrix.
To add a Matrix to another.
To subtract a Matrix by another.
To multiply a Matrix to another.
To multiply a Matrix by a scalar.
To divide a Matrix by a scalar.
To transpose a Matrix.
To modify the value of a given element.
To display the Matrix
16. Create a class Matrix with the following data members :
int **p and int d1,d2; include a paramerized constructor that takes two arguments
and allocates the memory for a two dimension matrix with d1 and d2 dimensions.
Also include a destructor. Overload +, - , * on objects of Matrix.
Also overload << and >> on objects of Matrix.
17. Given the following class specifications and using friend as a bridge, write a function to calculate the
volume, assign it to member vol in class volume and display the value of vol.
class cylinder { int r,h;};
class volume { long vol;};
18. Following are the class specifications:
class A { int a;};
class B { int b;};
Using a friend function, calculate the max of two objects and display it.
19. Write a class to represent a vector (a linear array). Include member functions.
- default constructor to create vector dynamically of the size 1 and initialize its element to zero.
- parameterized constructor
- Overload the + operator to add two vectors
- Overload the * operator to multiply by a scaler value (scalar * vector or vector * scalar)
- Overload the >> operator to input a vector and the << operator to display the vector in the form (10,20....).
20. Write a menu driven program that can perform the following functions on strings. (Use overloaded
operators where possible).
1. Compare two strings for equality ( == operator)
2. Check whether first string is smaller than the second ( <= operator )
3. Copy the string to another.
4. Extract a character from the string ( overload [] )
5. Reverse the string.
6. Concatenate two strings ( + operator )
21. Define two class Polar and Rectangle to represent points in the Polar and Rectangle systems. Use conversion
routines to convert from one system to another.
22. Construct a class Distance having member variables float feets and float inches. Write a program to convert
this class into the basic data type float, which will represent the total no. of inches of the class. Also include the
code to accept the value of inches in a float variable and convert this basic data type into class Distance type
having feets and inches as member variables.
23. Assume that the bank maintains two kinds of accounts for customers, one called savings account and another
called current account. He saving account provides interest and withdrawal facilities but no cheque book facility
while current account provides no interest. Facilities but provides with cheque book, also the current a/c holder
should maintain a minimum amount in a a/c else he has to pay service charges. Using inheritance concept create
a base class account that stores account holder name, account no, and type of account, from this base class derive
two classes sav_acc and cur_acc.
These classes should include members
1) to accept deposit and update the balance
2) display balance
3) withdraw amount and update the balance
4) compute interest
5) check minimum balance and impose penalty.
24. Create two classes Grade and Student. The class Grade has data members Grade while student has data
members such as roll no, name, and total marks of the student. Making use of data of both the Classes print the
roll no, name, and grade of each student whose grade is set by the grade class.
25. Write a program that creates a base class called num. Have this class hold an integer value and contain a
virtual function called shownum().
Create two derived classes called outhex and outoct that inherit num. Have the derived classes override
shownum() so that it displays the value in hexadecimal and octal respectively.
26. Make the use of the write function to display your name in the following fashion.
n
na
nam
name
nam
na
n
27. Write a program to read a list containing item name, item code, and cost interactively and produce a three
column output as shown below:
NAME CODE COST
C++ 101 233.81
JAVA 2 32 456.34
HTML 31 99.00
28. Create a class phonebook having two data members to hold the name and phone number of that person.
Define appropriate constructors and member functions to maintain a phonebook. Write a program to create this
phonebook in a binary file and read it back from the same file. Also include the facility to update a phone number,
given a name. Search that name into the file and update the phone number.
29. Write a program that reads a file and creates another file which is identical to the first one except that the
consecutive spaces are replaced by one space. Use command line arguments to supply the input and output
filenames at runtime.
30. Create a generic class Stack. Create push and pop member functions to perform push and pop operations.
DATA STRUCTURE

Objective: Be familiar with basic techniques of algorithm analysis, writing recursive methods and master
analyzing problems and writing program solutions to problems.
OUTCOME: Data Structures aims to equip students with an understanding of fundamental data structures
and algorithms, their representations and implementations in modern programming languages, and their
applications in solving real-world problems.

Unit – 1
Introduction to Data structures: Definition, classification of data structure, Dynamic Memory
Allocation, Big O notation.
Stack and Queue: Stack-Array and linked list representation of stack, operations on stack, PUSH and POP,
Applications of stack, Conversion from infix to postfix and prefix, Evaluation of prefix and post fix
expression using stack, Recursion, Towers of Hanoi, Queue-Array and linked list representation of queue,
Types of Queue, various operations on queue, Applications of Queue.

Unit – 2
Linked List: Linked List, Types of linked list, singly linked list, doubly linked list, circular linked list,
Circular doubly linked list, Application of linked list, Polynomial representation and addition.

Unit – 3
Graphs: Graphs-related definition, graph representation-adjacency matrix, adjacency list, adjacency
multilist, traversal DFS, BFS, minimum spanning tree, shortest path algorithm, Kruskal and Prim’s
algorithm.

Unit – 4
Trees: Trees-Basic terminology, binary tree, binary tree representation, complete binary tree, Extended
binary tree, Array and linked list representation of binary tree, Traversing binary trees, Threaded binary
tree, B-tree, 2-3 tree, AVL tree, Insertion and deletion in binary search tree, forest, Conversion of forest
into tree, Heap definition, Max heap and min heap.

Unit – 5
Sorting and Searching: sorting- types of sorting, Bubble sort, selection sort, insertion sort, quick sort,
merge sort, shell sort, heap sort, Radix sort, counting sort Searching-Linear and Binary search, Hashing
basics, methods of hashing, Collision resolution, chaining, linear probing, Rehashing.

Advance Topics: Memory Management and Garbage Collection

List of practical:
1. STACKS DATA STRUCTURE PROGRAMS
2. QUEUES DATA STRUCTURES PROGRAMS
3. LINKED LISTS DATA STRUCTURE PROGRAMS
4. TREES DATA STRUCTURES PROGRAMS
5. GRAPHS DATA STRUCTURE PROGRAMS
6. SEARCH PROGRAMS
7. SORTING PROGRAMS

Text Books:
1. G.S. Baluja, Data Structure and Algorithms
2. Advanced Data structures, Peter Bras

COMPUTER SYSTEM AND ITS ARCHITECTURE

OBJECTIVE: The objective of this course is to provide students with a deeper understanding of how a
computer system works and how its components interact with each other to execute programs and
perform various tasks.
OUTCOME: The outcome of the Computer System and its Architecture course is to equip students with
the knowledge, skills, and abilities needed to understand the fundamental components of a computer
system, how these components interact with each other, and how they are organized to create a functional
computer architecture.

Unit – 1
Introduction: Computer Organization, Architecture and Design, Von-Neumann model, Computer
Registers, Computer System Bus, Register Transfer Language, Micro operations, Memory transfer, Bus
transfer, Flynn’s classification, Register Organization.
Unit – 2
Basic Computer organization: Instruction, types of instruction, instruction cycle, instruction format,
PSW, ALU, subroutine, interrupt, interrupt cycle, Execution cycle/CPU cycle, control memory, design of
control unit, types of control unit, RISC, CISC, addressing modes.

Unit – 3
I/O organization: I/O ports, I/O interface, Isolated I/O and memory mapped I/O, I/O data transfer, PIO,
I/O interfacing chips, I/O controller, I/O characteristics, system bus, Direct memory access, modes of
transfer, strobe and handshaking, peripheral devices, I/O Processor.

Unit – 4
Memory Organization: Memory Hierarchy, main memory, types of ROM and RAM, BIOS, auxiliary
memory, associative memory, principle of locality, cache memory, virtual memory, memory mapping, Page
replacement algorithm, flash memory.

Unit – 5
Processor organization: Parallel processing, types of parallel processing, pipelining, types of pipelining,
Array and Vector processing, Amdahl’s law, speedup computation
Computer Arithmetic: Booth multiplication algorithm, floating-point representation and arithmetic

Text books:
1. Carl Hamacher, Zvonko Vranesic and Safwat Zaky, 5th Edition “Computer Organization”,
McGraw-Hill, 2002.

References:
1. William Stallings, “Computer Organization and Architecture – Designing for Performance”, 6th
Edition, Pearson Education, 2003.

THEORY OF COMPUTATION (ELECTIVE I-A)

Objective: The goal of this course is to provide students with an understanding of basic concepts
in the Theory of computation. The course will cover various models of computation, including
Turing machines, pushdown automata, and deterministic and nondeterministic finite automata.
The relationships between these models and various classes of languages will be explored. These
topics will be used as a basis for exploring computability, complexity, and more advanced areas
of theory.
OUTCOME: Theory of computation provides students with a deep understanding of the foundations of
computer science, which is essential for developing advanced algorithms, programming languages, and
other computational tools. It is also useful in fields such as artificial intelligence, cryptography, and
software engineering.

Unit – 1
Set and Relation: Definition, Types of set, operations on set, closure of relation.
Series and Progression: AP series, GP series, Principle of Mathematical Induction, Pigeon-hole
principle.
Introduction to automata theory: Alphabets, String, Language, Grammar, Chomsky Hierarchy
for Formal Languages and Grammar.

Unit – 2
Finite Automata (FA): Definition, transition function, transition diagram, transition table,
String/Language acceptability by FA, Types of FA, NFA to DFA conversion, Ɛ-transition,
Minimization of DFA, Application of FA, Myhill-Nerode Theorem. Mealy machine and Moore
Machine.

Unit – 3
Regular Language (RL): Definition, closure properties, regular grammar (RG), regular
expression, rules of expression, identities of regular expression, simplification of regular
expression, transformation of regular expression to Finite automata, Arden’s Theorem, DFA to
regular expression transformation, Pumping Lemma for regular language.

Unit – 4
Pushdown Automata (PDA): Definition, representation of PDA, String/Language acceptability
by PDA, Types of PDA, design of PDA, Application of PDA.
Context Free Language (CFL): Definition, closure properties, Context Free Grammars (CFG),
parse tree, ambiguities in grammar, Pumping Lemma for CFL, normal forms, Chomsky normal
form, Greibach normal form.

Unit – 5
Turing Machine: Definition, String/Language acceptability by TM, representation to TM, Types
of TM, Universal Turing Machine (UTM), two-way infinite TM, multi-tape TM, design of TM,
Application of TM, halting problems of TM, Post Correspondence problem, Decidability.
Recursive Enumerable Language (REL): Definition, closure properties, Recursive Enumerable
Grammar.
Advanced Topics: LBA, CFG

Text book: 1. K.L.P Mishra, Theory of Computer Science


Reference Book
1. Aho, Ullmann, Theory of computation
2. Peter Linz, An Introduction to Formal Languages and Automata, 4 Ed, Narosa Publication.
th

Systems Programming (Elective I-B)

OBJECTIVE: The objective of Systems Programming is to provide students with the knowledge
and skills to design, develop, and maintain systems-level software that interacts with computer
hardware and operating systems. The course aims to familiarize students with the inner workings
of operating systems, including process management, memory management, file systems, and
device drivers. Additionally, the course aims to teach students the programming languages,
development tools, and techniques used in systems programming to enable them to design and
implement system-level software effectively.
OUTCOME: The outcome of Systems Programming course is to equip students with the skills
and knowledge necessary to design and implement systems-level software that interacts with
computer hardware and operating systems.
Unit-1
Assemblers & Loaders, Linkers: One pass and two pass assembler, design of an assembler,
Absolute loader, relocation and linking concepts, relocating loader and Dynamic Linking.

Unit-2
Introduction: Overview of compilation, Phases of a compiler.

Lexical Analysis: Role of a Lexical analyzer, Specification and recognition of tokens, Symbol
table, Lex

Unit-3
Parsing: Bottom up parsing- LR parser, YACC.

Unit-4
Intermediate representations: Three address code generation, syntax directed translation,
translation of types, control statements.

Unit-5
Storage organization: Activation Records, Stack Allocation.
Code Generation: Object code generation.

Reference Books:
1. Santanu Chattopadhyaya, Systems Programming, PHI, 2011.
2. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles,
Techniques, and Tools, 2nd edition, Prentice Hall, 2006.
3. D. M. Dhamdhere, Systems Programming, Tata McGraw Hill, 2011.
4. Leland Beck, D. Manjula, System Software: An Introduction to System Programming, 3rd
edition, Pearson Education, 2008.
5. Grune D, Van Reeuwijk . K, Bal H. E, Jacobs C J H, Langendoen K, Modern Compiler
Design, 2nd edition, Springer, 2012

E-Commerce & E-Governance

OBJECTIVE: The objective of E-Commerce & E-Governance is to provide students with an


understanding of the principles and practices of electronic commerce and electronic governance.
The course aims to familiarize students with the concepts, models, and technologies involved in
conducting business and providing government services online.
OUTCOME: The outcome of E-Commerce & E-Governance course is to equip students with
the skills and knowledge necessary to understand the principles and practices of electronic
commerce and electronic governance.
Unit I:

Introduction to e-commerce: History of e-commerce, e-business models B2B, B2C, C2C, C2B,
legal; environment of e-commerce, ethical issues, electronic data interchange, value chain and
supply chain, advantages and disadvantages of e-commerce.
Unit II:
Electronic Payment Systems: Credit cards, debit cards, smart cards, e-credit accounts, e-money,
Marketing on the web, marketing strategies, advertising on the web, customer service and support,
introduction to m-commerce, case study: e-commerce in passenger air transport.

Unit III:
E-Government, theoretical background of e-governance, issues in e-governance applications,
evolution of e-governance, its scope and content, benefits and reasons for the introduction of e-
governance, e-governance models- broadcasting, critical flow, comparative analysis, mobilization
and lobbying, interactive services / G2C2G.
Unit IV:
E-readiness, e-government readiness, E- Framework, step & issues, application of data
warehousing and data mining in e-government, Case studies: NICNET-role of nation-wide
networking in e-governance, e-seva.
Unit V:
E-Government systems security: Challenges and approach to e-government security, security
concern in e-commerce, security for server computers, communication channel security, security
for client computers.

References:
1. Gary P. Schneider, “E-commerce”, Cengage Learning India.
2. C.S.R. Prabhu, “E-governance, concept and case study”, PHI Learning Private Limited.
3. V. Rajaraman, “Essentials of E-Commerce Technology”, PHI Learning Private Limited.
4. David Whiteley, “E-commerce study , technology and applications”, TMH.
5. J. Satyanarayan, “E-government: The science of the possible”, PHI Learning
Private Limited.

DATA COMMUNICATION

OBJECTIVE: The objective of the Data Communication course is to provide students with a
comprehensive understanding of the principles and practices of data communication. The course
aims to familiarize students with the fundamental concepts and technologies used for transmitting
data over a network.
OUTCOME: The outcome of the Data Communication course is to provide students with an
understanding of the principles and practices of data communication. The course aims to
familiarize students with the concepts, protocols, and technologies involved in the transmission of
data over networks.

UNIT-1
Introduction to data communication: Components, data representation, data flow and basic model,
data representation, Serial & Parallel transmission, Modes of data transmission, Encoding:
Unipolar, Polar, Bipolar line & block codes, Data compression, Frequency dependant codes, Run
length encoding, Relative encoding, LZ Compression, Image and multimedia compression.
Review of analog & digital transmission methods, Nyquist Theorem .

UNIT-2
Multiplexing: FDM, TDM, WDM, Synchronous & Statistical TDM, North American digital
multiplexing hierarchy, European TDM, Spread spectrum: Frequency Hopping & Direct Sequence
spread spectrum, Terminal handling & polling. Switched Communication Networks, Circuit,
Message, Packet & Hybrid Switching, Soft-switch Architecture with their comparative study,
X.25, ISDN.

UNIT-3
Physical Layer: Introduction, Interface, Standards, EIA-232-D, RJ-45, RJ-11, BNC connector &
EIA-449 digital Interface: Connection, specifications & configuration, X.21 Modem: Types,
features, signal constellation, block schematic, limited distance, dial up, baseband, line driver,
Group Band and Null modems etc., ITU-T V-series modem standards Connecting Devices: Active
and Passive Hubs, Repeaters, Bridges, Two & Three layer switches & Gateway. Study of various
types of topology and their comparative study and introduction to queueing theory.

UNIT-4
Transmission Media: Transmission line characteristics, distortions, Crosstalk, Guided Media:
Twisted Pair, Baseband & Broadband Coaxial, Optical fibre, Physics and velocity of propagation
of light, Advantages & Disadvantages, Block diagram ,Nodes and classification, Comparison,
losses, light source and detectors , Construction, Unguided media : Electromagnetic polarization,
Rays and waves-front, electromagnetic spectrum and radiation ,spherical wave front and inverse
square law , wave attenuation and absorption, optical properties of Radio waves , Terestrial
Propagation of electromagnetic waves , skip distance , free - space path loss ,Radio waves ,
Microwave , Infrared & Satellite Communication system . Telephone Network: Components,
LATAs, signaling and Services, Digital Subscriber Line: ADSL, HDSL, SDSL, VDSL, Cable TV
network for data transfer.

UNIT:-5
Transmission Errors : Content Error , flow integrity error , methods of error control, Error detection
,Error correction ,Bit error rate , Error detection methods: Parity checking , Checksum Error
Detection ,Cyclic redundancy Check, Hamming code, Interleaved codes, Block- Parity,
Convolution code, Hardware Implementation, Checksum .
Suggested Reading:
1. Gupta Prakash C.,” Data communication”, PHI Learning
2. Tomasi, “Introduction to Data Communication & Networking, Pearson Education
3. Forouzan, “Data communication”, TATA McGraw
4. Godbole, “Data Communication & Network” , TMH
5. Miller,”Data Network and Comunication”,Cengage Delmar Learning

You might also like