3rd Year Syllabus
3rd Year Syllabus
Effective for
Students admitted in the
Academic Session 2019-20
*Non-Credit course
Semester-V
CT TA Lab Total
Semester-VI
CT TA Lab Total
1 PCC ECS-352 Compiler Design 4 (3-1-0) 30 20 - 50 50 100
Object Oriented
2 PCC ECS-354 Systems 3 (2-0-2) 15 20 15 50 50 100
3 PCC ECS-356 Computer Graphics 3 (2-1-0) 30 20 - 50 50 100
4 PCC ECS-358 Soft Computing 3 (2-1-0) 30 20 - 50 50 100
Semester-VII
Detailed Syllabus
III Year
COMPUTER NETWORKS (ECS-351)
Type L T P Credits
PCC 2 1 2 4
Prerequisite:
Course Content:
Unit-1:
Introduction Concepts: Goals and Applications of Networks, Network structure and
architecture, The OSI reference model, services, Network Topology Design – Delay Analysis,
Back Bone Design, Local Access Network Design. Physical Layer Transmission Media,
Switching methods, ISDN, Terminal Handling.
Unit-2:
Medium Access sub layer: Medium Access sub layer - Channel Allocations, LAN protocols -
ALOHA protocols - Overview of IEEE standards - FDDI. Data Link Layer - Elementary Data
Link Protocols, Sliding Window protocols, Error Handling.
Unit-3:
Network Layer: Network Layer - Point - to Pont Networks, routing, Congestion control
Internetworking -TCP / IP - IP packet, IP address, IPv6. '
Unit-4:
Transport Layer: Transport Layer - Design issues, connection management, session
LayerDesign issues, remote procedure call. Presentation Layer-Design issues, Data
Compression techniques, cryptography - TCP - Window Management.
Unit-5:
Application Layer: Application Layer: File Transfer, Access and Management, Electronic mail,
Virtual Terminals, Other application, Example Networks - Internet and Public Networks.
Lab Work:
1. Implementation of the Data Link Layer framing method such as character stuffing and
bit stuffing in C.
2. Implementation of CRC algorithm in C.
3. Implementation of a Hamming (7, 4) code to limit the noise. We have to code the 4 bit
data in to 7 bit data by adding 3 parity bits. Implementation will be in C.
4. Implementation of LZW compression algorithm in C.
5. Write a socket program in C to implement a listener and a talker.
6. Simulation of a network of 3 nodes and measure the performance on the same network
using network simulator ns3.
7. Simulation of wireless network and its performance evaluation using network simulator
ns3.
8. Write a program in C to encrypt and decrypt 64-bit text using DES algorithm.
Course Outcomes:
1. Explain the functions of the different layer of the OSI Protocol. (Understand)
2. Design of wide-area networks (WANs), local area networks (LANs) and Wireless LANs
(WLANs) based on available network devices. (Apply, Analyze)
3. Develop network programming application for a given problem related to TCP/IP
protocol stack. (Apply, Analyze)
4. Understand and analyze different routing algorithms. (Understand, Analyze)
5. Understand the use of IP addressing schemes as per IPV4 and IPV6. (Understand)
6. Modify the existing protocols of TCP/IP protocol stack for performance improvement.
(Apply, Analyze)
Type L T P Credits
PCC 2 1 2 4
Prerequisite:
Course Content:
Unit-1:
Introduction: An overview of database management system, database system Vs file system,
Database system concepts and architecture, data models schema and instances, data
independence and database language and interfaces, Data definitions language, DML, Overall
Database Structure. Data Modeling using the Entity Relationship Model: ER model concepts,
notation for ER diagram, mapping constraints, keys, Concepts of Super Key, candidate key,
primary key, Generalization, aggregation, reduction of an ER diagrams to tables, extended ER
model, relationships of higher degree.
Unit-2:
Relational data Model and Language: Relational data model concepts, integrity constraints:
entity integrity, referential integrity, Keys constraints, Domain constraints, relational algebra,
relational calculus, tuple and domain calculus, Introduction to SQL: Characteristics of SQL,
Advantage of SQL.SQL data types and literals, Types of SQL commands, SQL operators and
their procedure, Tables, views and indexes. Queries and sub queries, Aggregate functions.
Insert, update and delete operations, Joins, Unions, Intersection, Minus, Cursors in SQL.
Unit-3:
Data Base Design & Normalization: Functional dependencies, normal forms, first, second, third
normal forms, BCNF, inclusion dependences, loss less join decompositions, normalization
using FD, MVD, and JDs, alternative approaches to database design.
Unit-4:
Transaction Processing Concepts: Transaction system, Testing of serializability,
Serializability of schedules, conflict & view serializable schedule, recoverability, Recovery
from transaction failures, log based recovery, checkpoints, deadlock handling.
Unit-5:
Concurrency Control Techniques: Concurrency control, locking Techniques for concurrency
control, Time stamping protocols for concurrency control, validation based protocol, multiple
granularity, Multi version schemes, Recovery with concurrent transaction.
Lab Work:
1. Write the queries for Data Definition and Data Manipulation language.
2. Write SQL queries using Logical operators (=, <, >, etc.).
3. Write SQL queries using SQL operators (Between…. AND, IN(List), Like, ISNULL
and with negating expressions).
4. Write SQL query using character, number, date and group functions.
5. Write SQL queries for Relational Algebra (UNION, INTERSECT, and MINUS, etc.).
6. Write SQL queries for extracting data from more than one table (Equi-Join, Non-Equi-
Join, Outer Join)
7. Write SQL queries for sub queries, nested queries.
8. Write programs by the use of PL/SQL.
9. Concepts for ROLL BACK, COMMIT & CHECK POINTS.
10. Create VIEWS, CURSORS, and TRIGGRS & write ASSERTIONS.
11. Create FORMS and REPORTS.
*Students are advised to use Developer 2000/Oracle-9i version or other latest version for above
listed experiments. However depending upon the availability of software‟s, students may use
Power Builder
/SQL SERVER. Students may also work on a Mini Project to understand the important concepts of
Database.
Course Outcomes:
1. Understand and Develop Entity Relationship (ER) and Relational Models for a given
application. (Understand, Apply)
2. Develop and manipulate relational database using Structured Query Language and
relational languages. (Apply)
3. Develop a normalized database for a given application by incorporating various
constraints like integrity and value constraints. (Apply)
4. Understand and apply transaction processing concepts and convert schedules to
serializable schedules. (Understand, Apply)
5. Illustrate different concurrency control mechanisms to preserve data consistency in a
multi- user environment. (Apply)
Type L T P Credits
PCC 3 1 2 5
Prerequisite:
Course Content:
Unit-1:
Algorithms definition and introduction, Analysis of algorithms, Growth of Functions, Master's
Theorem, Designing of Algorithms, Partitioning Algorithms, Divide and Conquer design and
analysis techniques: Merge Sort and Quick Sort, Sorting and order Statistics: Heap sort, Sorting
in linear time, Medians and Order Statistics.
Unit-2:
Advanced Data Structures: Introduction of Red-Black Trees, Augmenting Data Structure, B-
Trees, Binomial Heaps, Fibonacci Heaps, Data Structure for Disjoint Sets, Amortized Analysis.
Unit-3:
Advanced Design and Analysis Techniques: Dynamic Programming, Greedy Algorithms, Back-
Tracking, Branch and Bound with their applications.
Unit-4:
Graph Algorithms: Elementary Graphs Algorithms, Minimum Spanning Trees, Single-source
Shortest Paths, All-Pairs Shortest Paths, Traveling Salesman Problem and Maximum Flow Unit-
5:
Selected Topics: Randomized Algorithms, String Matching, Non-deterministic Algorithms: P, NP,
NP Hard and NP Completeness, Approximation Algorithms, PRAM Algorithms.
Lab Work:
Course Outcomes:
1. Understand and apply mathematical preliminaries to the analysis and design stages of
different types of algorithms. (Understand, Apply)
2. Analyze worst-case time complexity of various algorithms using asymptotic methods.
(Analyze)
3. Understand and apply the divide-and-conquer paradigm and synthesize divideand-
conquer algorithms on problems of Sorting, Searching, finding MST etc. (Understand,
Apply)
4. Describe the greedy paradigm and explain when an algorithmic design situation calls for
it. For a given problem develop the greedy algorithms. (Apply, Analyze)
5. Apply the dynamic-programming paradigm to model engineering problems using graph
and write the corresponding algorithm to solve the problems. (Apply)
6. Explain the ways to analyze randomized and approximation algorithms (Apply,
Analyze)
Type L T P Credits
PCC 2 1 0 3
Prerequisite:
Course Content:
Unit-1:
Defining Languages and Grammars, Chomsky hierarchy, Kleene closures, Regular
Expressions, Finite Automata (FA), Transition Graph, Generalised Transition Graph.
Unit-2:
Nondeterministic finite Automata (NFA), Deterministic finite Automata (DFA), Construction
of DFA from NFA and optimization, Partitioning Algorithm, Equivalence of DFA and NFA
and their optimization, FA with output: Moore machine, Mealy machine and their Equivalence,
Applications and Limitation of FA.
Unit-3:
Arden Theorem, Pumping Lemma for regular expressions, Myhill-Nerode theorem, Context
free grammar: Ambiguous Grammars and Simplification, Normal forms for CFGs, Pumping
lemma for CFLs, Decidability of CFGs, Ambiguous to Unambiguous CFG.
Unit-4:
Push Down Automata (PDA): Description and definition, Working of PDA, Acceptance of a
string by PDA, PDA and CFG Equivalence, Deterministic and non-deterministic PDA,
Introduction to auxiliary PDA and Two Stack PDA.
Unit-5:
Turing machines (TM): Basic model, definition and representation, Language acceptance by
TM, TM and Type – 0 Grammar, Integer function computation by TM, Halting problem of TM,
Modifications in TM, Universal TM, Properties of recursive and recursively enumerable
languages, decision problem, Un-decidability of Post Correspondence Problem, Church‟s
Thesis, Recursive function theory, Godel Numbering.
Course Outcomes:
1. Describe the capabilities and limitations of the abstract machines including finite
automata, pushdown automata, and Turing machines and their associated languages.
(Understand)
2. Construct finite automata, pushdown automata, Turing machines for the given grammar
and vice versa. (Apply)
3. Show that a language is not regular / not context-free using pumping lemma. (Apply)
4. Outline the characteristics of P, NP and NP Complete problems in the context of Turing
machines. (Understand)
Course Content:
Unit-4: Data Manipulation and Visualization :Understanding Pandas and its architecture,
Getting to know Series and Data Frames, Columns and Indexes, Getting Summary Statistics of the
Data, Data Alignment, Ranking & Sorting, Combining/Splitting Data Frames, Reshaping,
Grouping , Data visualization (Scatter Plot, Histogram, Bar chart, Pie chart etc.)
Type L T P Credits
PCC 3 1 0 4
Course Content:
Unit-1:
Introduction to Compiler, Phases and passes, Bootstrapping, Finite automata & regular
expressions and their applications to lexical analysis, Implementation of lexical analyzers,
lexical-analyzer generator, LEX-compiler, The syntactic specification of Programming
languages: Context free grammars, derivation and parse trees, capabilities of CFG, Application
of grammars in syntax analysis, ambiguity and BNF notation, YACC.
Unit-2:
Basic Parsing Techniques: Parsers, top down parsing, Shift reduces parsing, operator
precedence parsing, predictive parsers. Automatic Construction of efficient Parsers: LR parsers,
the canonical Collection of LR(0) items, constructing SLR parsing tables, constructing
Canonical LR parsing tables, Constructing LALR parsing tables, using ambiguous grammars,
an automatic parser generator, implementation of LR parsing tables, constructing LALR sets of
items.
Unit-3:
Syntax-directed Translation: Syntax-directed Translation schemes, Implementation of Syntax
directed Translators, Intermediate code, postfix notation, Parse trees & syntax trees, three
address code, quadruple & triples, translation of assignment statements, Boolean expressions,
statements that alter the flow of control, postfix translation, translation with a top down parser.
More about translation: Array references in arithmetic expressions, procedures call,
declarations, Case statements.
Unit-4:
Symbol Tables: Data structure and representing scope information, Run-Time Administration:
Implementation of simple stack allocation scheme, storage allocation in block structured
language. Error Detection & Recovery: Lexical Phase errors, syntactic phase errors semantic
errors.
Unit-5:
Introduction to code optimization: Loop optimization, the DAG representation of basic blocks,
value numbers and algebraic laws, Global Data-Flow analysis.
Course Outcomes:
1. Describe the role of each phase of a compiler with its construction tools. (Understand)
2. Develop a Lexical Analyzer for recognizing tokens of a given language with an
understanding of symbol table management and error handling. (Apply)
3. Construct top-down, bottom-up, operator precedence and SLR parsers with an
understanding of Context Free Grammars and syntax analysis. (Apply)
4. Design and develop semantic analyzers for type-checking and intermediate code
generators to translate the source program into an intermediate code. (Apply) 5.
Construct code optimizers to optimize the target code generated. (Apply)
Type L T P Credits
PCC 2 0 2 3
Prerequisite:
Course Content:
Unit-1:
Object Oriented Design and Modeling: Object oriented fundamentals, Objects and Classes,
Object- Oriented Design Process, importance of modeling, principles of modeling, OOAD
Methods, Software Development Life Cycle, Introduction to Unified Process, Introduction to
UML: UML Terminology, conceptual model of the UML, Use of UML in Unified Process.
Unit-2:
Basic Structural Modeling: Classes, Relationships, common Mechanisms, and diagrams. Class
& Object Diagrams: Terms, concepts, modeling techniques for Class & Object
Diagrams, Links and Associations, Link Attributes and Link Classes, Generalization and
Inheritance, Aggregation and Composition, Qualified Association, Handling multiplicity in
Object creation, Abstract Classes, Specifying constraints in Class Diagrams, Advanced
Structural Modeling: Advanced classes, advanced relationships, Interfaces, Types and Roles,
Packages, Use Case Modeling: Use Cases and Use Case Diagrams, Use Case driven
Methodology.
Unit-3:
Behavioral Modeling: Interactions and Interaction Diagrams, Use-Case Realization: Scenario,
Events Trace Diagram, Collaboration Diagrams, State Chart Diagrams, Nested State Diagrams,
Activity Diagrams, Advanced Behavioral Modeling Concepts, Architectural Modeling:
Component, Deployment, Component diagrams and Deployment diagrams. Elementary Design
Patterns, The MVC Architecture Pattern, Features of Elegant Software Design: Elegant
variable, Elegant Classes, Elegant Methods, Elegant Packages, Introduction to Object Oriented
Software Quality Metrics.
Unit-4:
Java Programming: Introduction to Java Programming, Operator, Data type, Variable, Arrays,
Control Statements, Methods & Classes, Inheritance, Package and Interface, Exception
Handling, Multithread programming, I/O, Java Applet, String handling, Networking, Event
handling.
Introduction to Advance Java Programming: Demonstration of concepts through example
programs for AWT, Java Swing, Java Beans, Java Servlets, JSP, Modern Object Technologies
and Web Services.
Lab Work:
Course Outcomes:
Type L T P Credits
PCC 2 1 0 3
Prerequisite:
Course Content:
Unit-1:
Line generation: Points and Lines, Planes, Pixels and Frame buffers, vector and character
generation. Graphics Primitives: Display devices, Primitive devices, Display File Structure,
Display control text, Line-drawing Algorithms: DDA Algorithm Bresenham’s line Algorithm,
Circle-generating Algorithm: Midpoint Circle of Algorithm, Polygon Filling Algorithm.
Unit-2:
2-D Viewing and Clipping: Point Clipping, Line Clipping, Cohen-Sutherland Line Clippings,
Cyrus- Beck Line Clipping Algorithm, Polygon Clipping: Sutherland Hodgman Algorithm,
Polygon: Polygon Representation, Entering polygons, Filling polygons, Segments: Segments
table, Creating deleting and renaming segments, Visibility.
Unit-3 :
2-D and 3-D Transformations: Basic Transformations: Translation, Rotation, Scaling, Shear,
Composite Transformations: Rotations about a point, Reflection about a line, Homogeneous
Coordinate Systems, 3-D Transformations, 3-D geometry primitives, Viewing Transformation,
Projections: Parallel Projection, Orthographic & Oblique Projections, Perspective Projections.
Interaction: Hardware input devices handling algorithms, Event handling echoing, Interactive
techniques.
Unit-4:
Hidden Line and Surface: Back face removal algorithms, hidden line methods, Rendering and
Illumination: Introduction to curve and Surfaces generation, Bezier, Hermite and B-spline
algorithms and their comparisons.
Unit-5:
Multimedia and Animation: Basic of Animation, Types of Animation, Simulating,
Accelerations, Computer Animation Tools, Multimedia Applications, Concepts of
Hypertext/Hypermedia, Images, Audio and Video, Multimedia Tools.
Lab Work:
Course Outcomes:
1. Understand and use various mathematical concepts and supporting composite 2-D & 3-
D
graphics transformations for hidden surface detection/ removal and various graphical algorithms.
(Understand, Apply)
2. Design algorithms for various graphics shapes like ellipse, hyperbola, triangle etc.
(Apply)
3. Use of various graphical tools and software in 3D Graphics API (e.g. OpenGL or
DirectX). (Apply)
4. Understand and apply geometrical transformation and computer graphics in
multidisciplinary field of engineering. (Apply)
5. Understand the hardware system architecture for computer graphics - graphics pipeline,
frame buffers, and graphic accelerators/co-processors. (Understand)
6. Analyze and implement interactive graphics applications using programming language
and graphics application programming interfaces. (Apply, Analyze)
SOFT COMPUTING (ECS-358)
Type L T P Credits
PEC 2 1 0 3
Prerequisite:
Course Content:
Course Outcomes:
1. Understand differential behavior of Human and Intelligent Systems. (Understand)
2. Understand and use supervised and un-supervised learning techniques in ANN.
(Understand)
3. Understand and apply different soft computing techniques like Genetic Algorithms,
Fuzzy Logic, Neural Network and their combination. (Understand, Apply)
4. Correlate human-like processing in problem solving with current technologies in various
domains like Bio Informatics, Multimedia Systems, Big Data Analytics, etc.
5. Apply evolutionary computing techniques in real life problems. (Apply)
Type L T P Credits
PEC 2 1 0 3
Course Content:
Unit-1: Introduction
What is the Internet of Things? : History of IoT, About IoT, Overview and Motivations,
Examples of Applications, Internet of Things Definitions and Frameworks: IoT Definitions,
IoT Architecture, General Observations, ITU-T Views, Working Definition, IoT Frameworks,
Basic Nodal Capabilities Unit-2: Fundamentals of IoT Mechanisms and Key Technologies
Identification of IoT Objects and Services, Structural Aspects of the IoT,
Environment Characteristics, Traffic
Characteristics, Scalability, Interoperability, Security and Privacy, Open
Architecture, Key IoT Technologies, Device Intelligence, Communication Capabilities,
Mobility Support, Device Power, Sensor Technology, RFID Technology, Satellite Technology,
Unit-3: Radio Frequency Identification Technology
RFID: Introduction, Principle of RFID, Components of an RFID system, Issues EPC Global
Architecture Framework: EPCIS & ONS, Design issues, Technological challenges, Security
challenges, IP for IoT, Web of Things. Wireless Sensor Networks: History and context, WSN
Architecture, the node, Connecting nodes, Networking Nodes, Securing Communication WSN
specific IoT applications, challenges: Security, QoS, Configuration, Various integration
approaches, Data link layer protocols, routing protocols and infrastructure establishment.
Unit-4: Resource Management in the Internet of Things
Clustering, Software Agents, Clustering Principles in an Internet of Things, Architecture,
Design Guidelines, and Software Agents for Object Representation, Data Synchronization.
Identity portrayal, Identity management, various identity management models: Local, Network,
Federated and global web identity, user-centric identity management, device centric identity
management and hybrid-identity management, Identity and trust.
Unit-5: Internet of Things Privacy, Security and Governance
Vulnerabilities of IoT, Security requirements, Threat analysis, Use cases and misuse cases, IoT
security tomography and layered attacker model, Identity establishment, Access control,
Message integrity, Non-repudiation and availability, Security model for IoT. Business models
for Internet of Things: Business Models and Business Model Innovation, Value Creation in the
Internet of Things, Business Model Scenarios for the Internet of Things.
Text and Reference Books:
1. Daniel Minoli, “Building the Internet of Things with IPv6 and MIPv6: The Evolving
World of
M2M Communications”, ISBN: 978-1-118-47347-4, Willy Publications
2. Bernd Scholz-Reiter, Florian Michahelles, “Architecting the Internet of Things”, ISBN
978- 3642-19156-5 e-ISBN 978-3-642-19157-2, Springer.
3. Parikshit N. Mahalle& Poonam N. Railkar, “Identity Management for Internet of
Things”, River Publishers, ISBN: 978-87-93102-90-3 (Hard Copy), 978-87-93102-910
(ebook).
4. Hakima Chaouchi, “The Internet of Things Connecting Objects to the Web” ISBN: 978-
184821-140-7, Willy Publications.
5. Olivier Hersent, David Boswarthick, Omar Elloumi, The Internet of Things: Key
Applications and Protocols, ISBN: 978-1-119-99435-0, 2nd Edition, Willy
Publications.
6. Daniel Kellmereit, Daniel Obodovski, “The Silent Intelligence: The Internet of
Things”,. Publisher: Lightning Source Inc; 1 edition (15 April 2014). ISBN-10:
0989973700, ISBN-13: 9780989973700. 4. Fang Zhaho, Leonidas Guibas, “Wireless
Sensor Network: An information processing approach”, Elsevier, ISBN: 978-81-
8147642-5.
Course Outcomes:
Type L T P Credits
PEC 3 0 0 0
Course Content:
Unit-1:
Introduction to security attacks, services and mechanism, introduction to cryptography.
Conventional Encryption: Conventional encryption model, classical encryption techniques
substitution ciphers and transposition ciphers, cryptanalysis, stereography, stream and block
ciphers. Modern Block Ciphers: Block ciphers principals, Shannon‟s theory of confusion and
diffusion, fiestal structure, data encryption standard(DES), strength of DES, differential and
linear crypt analysis of DES, block cipher modes of operations, triple DES, IDEA encryption
and decryption, strength of IDEA, confidentiality using conventional encryption, traffic
confidentiality, key distribution, random number generation.
Unit-2:
Introduction to graph, ring and field, prime and relative prime numbers, modular arithmetic,
Fermat’s and Euler’s theorem, primality testing, Euclid’s Algorithm, Chinese Remainder
theorem, discrete logarithms. Principals of public key crypto systems, RSA algorithm, security
of RSA, key management, Diffie-Hellman key exchange algorithm, introductory idea of Elliptic
curve cryptography, Elgamel encryption.
Unit-3:
Message Authentication and Hash Function: Authentication requirements, authentication
functions, message authentication code, hash functions, birthday attacks, security of hash
functions and MACS, MD5 message digest algorithm, Secure hash algorithm(SHA). Digital
Signatures: Digital Signatures, authentication protocols, digital signature standards (DSS),
proof of digital signature algorithm.
Unit-4:
Authentication Applications: Kerberos and X.509, directory authentication service, electronic
mail security-pretty good privacy (PGP), S/MIME.
Unit-5:
IP Security: Architecture, Authentication header, Encapsulating security payloads, combining
security associations, key management. Web Security: Secure socket layer and transport layer
security, secure electronic transaction (SET). System Security: Intruders, Viruses and related
threads, firewall design principals, trusted systems.
1. William Stallings, “Cryptography and Network Security: Principals and Practice”, Prentice
Hall, New Jersy.
2. Johannes A. Buchmann, “Introduction to Cryptography”, Springer-Verlag.
3. Bruce Schiener, “Applied Cryptography”.
Course Outcomes: