Top Banner
CSE 301 DESIGN AND IMPLEMENTATION OF PROGRAMMING LANGUAGES [3 1 0 4] 1. Introduction: What is a Programming Language?, Abstractions in Programming Languages, Computational Paradigms, Language Definition, Language Translation (Chapter 1 from Text Book sections 1.1 to 1.5) (3hrs) 2 Language Design Principles History and Design Criteria, Efficiency, Regularity, Further Language Design Principles (Chapter 3 from Text Book sections 3.1 to 3.4) (2hrs) 3 Syntax Lexical Structure of Programming Languages, Context-Free Grammars and BNFs Parse Trees and Abstract Syntax Trees, Ambiguity, Associativity, and Precedence EBNFs and Syntax Diagrams, Parsing Techniques and Tools, Lexics Versus Syntax Versus Semantics (Chapter 4 from Text Book sections 4.1 to 4.7) (6hrs) 4 Basic Semantics Attributes, Binding, and Semantic Functions, Declarations, Blocks, and Scope, The Symbol Table, Name Resolution and Overloading, Allocation, Lifetimes, and the Environment, Variables and Constants, Aliases, Dangling References, and Garbage (Chapter 5 from Text Book sections 5.1 to 5.7) (8hrs) 5 Data Types Data Types and Type Information, Simple Types, Type Constructors (Chapter 6 from Text Book sections 6.1 to 6.3) (2hrs) 6 Expressions and Statements Expressions, Conditional Statements and Guards, Loops and Variation on WHILE, The GOTO Controversy, Exception Handling (Chapter 7 from Text Book sections 7.1 to 7.5) (4hrs) 7 Object-Oriented Programming Software Reuse and Independence, Java: Objects, Classes, and Methods, Inheritance Dynamic Binding (Chapter 10 from Text Book sections 10.1 to 10.4) (4hrs) 8 Functional Programming Programs as Functions, Functional Programming in an Imperative Language, Scheme: A Dialect of LISP (Chapter 11 from Text Book sections 11.1 to 11.3) (4hrs)
38
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3rdYear.docx

CSE 301 DESIGN AND IMPLEMENTATION OF PROGRAMMING

LANGUAGES [3 1 0 4]

1. Introduction: What is a Programming Language?, Abstractions in Programming Languages, Computational Paradigms, Language Definition, Language Translation(Chapter 1 from Text Book sections 1.1 to 1.5) (3hrs)

2 Language Design Principles History and Design Criteria, Efficiency, Regularity, Further Language Design Principles (Chapter 3 from Text Book sections 3.1 to 3.4) (2hrs)

3 Syntax Lexical Structure of Programming Languages, Context-Free Grammars and BNFs Parse Trees and Abstract Syntax Trees, Ambiguity, Associativity, and Precedence EBNFs and Syntax Diagrams, Parsing Techniques and Tools, Lexics Versus Syntax Versus Semantics(Chapter 4 from Text Book sections 4.1 to 4.7) (6hrs)

4 Basic Semantics Attributes, Binding, and Semantic Functions, Declarations, Blocks, and Scope, The Symbol Table, Name Resolution and Overloading, Allocation, Lifetimes, and the Environment, Variables and Constants, Aliases, Dangling References, and Garbage(Chapter 5 from Text Book sections 5.1 to 5.7) (8hrs)

5 Data Types Data Types and Type Information, Simple Types, Type Constructors(Chapter 6 from Text Book sections 6.1 to 6.3) (2hrs)

6 Expressions and Statements Expressions, Conditional Statements and Guards, Loops and Variation on WHILE, The GOTO Controversy, Exception Handling(Chapter 7 from Text Book sections 7.1 to 7.5) (4hrs)

7 Object-Oriented Programming

Software Reuse and Independence, Java: Objects, Classes, and Methods, Inheritance Dynamic Binding(Chapter 10 from Text Book sections 10.1 to 10.4) (4hrs)

8 Functional Programming Programs as Functions, Functional Programming in an Imperative Language, Scheme: A Dialect of LISP(Chapter 11 from Text Book sections 11.1 to 11.3) (4hrs)

Page 2: 3rdYear.docx

9 Logic Programming Logic and Logic Programs, Horn Clauses, Resolution and Unification(Chapter 12 from Text Book sections 12.1 to 12.3) (3hrs)

10 Formal Semantics A Sample Small Language, Operational Semantics, Denotational Semantics, Axiomatic Semantics, Proofs of Program Correctness(Chapter 13 from Text Book) (5hrs)

11 Parallel Programming Introduction of Parallel Processing, Parallel Processing and Programming Languages, Threads, Semaphores, Monitors, Message Passing, Parallelism in Non-imperative Languages(Chapter 14 from Text Book) (7hrs)

Text Books:

1. Kenneth C. Louden, Programming Languages – Principles and Practice, 2nd Edition, Thomson – Course Technology, 2003. References:

1. Harold Abelson, Gerald Jay Sussman and Julie Sussman, “Structure and Interpretation of Computer Programs”, 2nd Edition, MIT Press, 1996, available online at http://mitpress.mit.edu/sicp/full-text/book/book.html

2. Robert W. Sebesta, “Concepts of Programming Languages”, Ninth Edition, Addison-Wesley, 2010

3. Michael L. Scott, “Programming Language Pragmatics”, Third edition, Morgan Kaufmann Publishers, 2009.

Page 3: 3rdYear.docx

CSE 303 DESIGN & ANALYSIS OF ALGORITHMS[3 1 0 4]

1.INTRODUCTION:

What is an Algorithm ?, Fundamentals of Algorithmic ‘Problem Solving, Important Problem Types, Fundamental Data Structures

(Chapter 1.1 – 1.4 of Text Book1) (4hrs)

2. FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY: Analysis Framewor, Asymptotic Notations and Basic Efficiency Classes, Mathematical Analysis of Nonrecursive and Recursive Algorithms, Example – Fibonacci Numbers.

(Chapter 2.1 – 2.5 of Text Book1) (4 hrs) 3.BRUTE FORCE:

Selection Sort and Bubble Sort, Sequential Search and Brute-Force String Matching, Exhaustive Search(Chapter 3.1-3.2, 3.4 of Text Book1) (4 hrs)

4.DIVIDE AND CONQUER: MERGESORT, QUICKSORT, BINARY SEARCH:

Binary tree traversals and related properties, Multiplication of large integers and Stressen’s Matrix Multiplication.(Chapter 4.1, 4.2,4.3, 4.4, 4.5 of Text Book1) (5 hrs)

5.DECREASE AND CONQUER:

Insertion Sort, Depth First Search, Breadth First Search, Topological Sorting,(Chapter 5.1-5.4 of Text Book 1) (5 hrs)

6.TRANSFORM AND CONQUER:

Presorting, Balanced Search Trees, Heaps and Heapsort, Problem Reduction(Chapter 6.1, 6.3, 6.4, 6.6 of Text 1) (5 hrs)

7.SPACE AND TIME TRADEOFFS: Sorting by Counting, Input Enhancement in String Matching.(Chapter 7.1, 7.2, 7.3 of Text Book 1) (4 hrs)

8.DYNAMIC PROGRAMMING: Computing a Binomial Coefficient, Warshall’s and Floyd’s Algorithms, The Knapsack Problem and Memory Functions.(Chapter 8.1, 8.2, 8.4 of Text Book 1) (6 hrs)

9.GREEDY TECHNIQUE:

Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman Trees(Selected topics from Text Book 1)

(6 hrs)

Page 4: 3rdYear.docx

10. NP-HARD AND NP-COMPLETE PROBLEMS: Basic Concepts, Cook’s Theorem, NP-Hard Graph problems, NP-Hard Scheduling Algorithms,NP-Hard Code Generation problems

(Chapter 11.1-11.5 of Text Book 2) (5 hrs)

Text Book:1. Anany Levitin, Introduction to The Design and Analysis of Algorithms, Pearson

Education, 2nd Edition, 2007.2. Horowitz E., Sahni S., Rajasekaran S.,Computer Algorithms by Galgotia

Publications, 2001.

References:1. Thomas H. Cormen, Charles E. Leiserson, Ronal L, Rivest, Clifford Stein,

Introduction to Algorithms, PHI, 2nd Edition, 2006.

Page 5: 3rdYear.docx

CSE 305 SOFTWARE ENGINEERING

[3 1 0 4]1.INTRODUCTION TO SOFTWARE ENGINEERING

The Evolving Role of Software, The changing nature of software, Legacy software, Software Myths,(Chapter 1-section 1.1 to 1.6, Text Book 1) ( 1 hr.)

2. GENERIC VIEW OF PROCESS

Software Engineering – A Layered Technology, A Process Framework, The Capability Maturity Model Integration (CMMI),Process Patterns, Process Assessment, Personal and Team Process Models, Process Technology, Product and Process(Chapter 2-section 2.1 to 2.8, Text Book 1) (1 hr.)

3. PROCESS MODELS

Prescriptive Models, The Waterfall Model, Incremental Process Models, Evolutionary Process Models, Specialized Process Models, The Unified Process(Chapter 3-section 3.1 to 3.6 Text 1) (3 hrs)

4. AN AGILE VIEW OF PROCESS What is agility? What is Agile Process? Agile Process Models (Chapter 4- section 4.1 to 4.3,Text 1) ( 3 hrs) 5. SOFTWARE ENGINNERING PRACTICE

Software Engineering Practice, Communication Practice, Planning Practices, Modeling Practices, Construction Practice, Deployment(Chapter 5-section 5.1 to 5.6, Text 1) ( 4 hrs)

6. SYSTEM ENGINEERINGComputer – Based Systems , The System Engineering Hierarchy, Business Process Engineering : An Overview, Product Engineering : An Overview, System Modeling(Chapter 6-section 6.1 to 6.5, Text 1) ( 4 hrs)

7. REQUIREMENTS ENGINEERING

A Bridge to Design & Construction, Requirement Engineering Tasks, Initiating the Requirements Management, Eliciting Requirements, Developing Use-Cases, Building The Analysis Model, Negotiating Requirements, Validating Requirements(Chapter 7- section 7.1 to 7.8, Text 1) ( 4 hrs)

8. BUILDING THE ANALYSIS MODEL

Requirements Analysis, Analysis Modeling Approaches, Data Modeling Concepts, Object Oriented Analysis, Senario-Based Modeling, Flow-Oriented Modeling, Class – Based Modeling, Creating a Behavioral Model(Chapter 8-section8.1 to 8.8 Text 1) (5 hrs)

9. DESIGN ENGINEERING

Design within the Context of Software Engineering, Design Process and Design Quality, Design Concepts, The Design Model, Pattern-Based Software Design

Page 6: 3rdYear.docx

(Chapter 9-section 9.1 to 9.5 Text 1) ( 4 hrs) 10. SOFTWARE TESTING

Test Objectives, Testing and Software Life Cycle, Verification and Validation Planning and Documentation, Manual Test Techniques, Coverage Based Test Techniques, Fault Based Test Techniques, Error Bases Test Techniques, Comparison of Techniques, Test Stages, Estimating Software Reliability(Chapter 13- 13.1 to 13.11-Text 2) (6 hrs)

11. INTRODUCTION TO SOFTWARE QUALITY Measures and Numbers, Taxonomy of Quality Attributes, Perspectives of Quality, Quality System, Software Quality Assurance, Capability Maturity Model(Chapter 6-6.1 to 6.8-Text 2) ( 3 hrs)

12. SOFTWARE COST ESTIMATION

Observation on Estimation, The Project Planning Process, Software Scope and Feasibility, Resources, Human Resources, Reusable Software Resources, Software Project Estimation, Decomposition Techniques, Empirical Estimation Model, Estimation for Object – Oriented Projects, Specialized Estimation Techniques, The Make/Buy Decision(Chapter 7- 7.1 to 7.5 -Text 2) ( 4 hrs)

13. PROJECT PLANNING AND CONTROL A Systems View of Project Control, Taxonomy of Software Development Projects, Risk Management, Techniques for Project Planning and Control(Chapter 8- 8.1 to 8.5 -Text 2) (6 hrs)

Text Books:1. Roger S Pressman, “Software Engineering: A Practitioners Approach”,

McGrawHill Publications, 6th Edition.2. Hans Van Valiet, ”Software Engineering: Principles and Practice”, Wiley India,

3rd Edition.

References:1. Shari Lawrance PfLeeger “Software Engineering, Theory and Practice”, Pearson Education, 2nd Edition. 2. Rajib Mall, “Fundamentals of Software Engineering, PHI, 3rd Edition.

Page 7: 3rdYear.docx

CSE 307 COMPUTER GRAPHICS

[3 1 0 4] 1. OVERVIEW OF GRAPHICS SYSTEMS:

Video display devices, Raster scan systems, Graphics software, Introduction to OpenGL.(Sections 2.1, 2.2, 2.8, 2.9 from Text Book1) (5 hrs)

2. GRAPHICS OUTPUT PRIMITIVES:

Line drawing algorithms, Circles and Ellipses generating algorithms, General Scan line polygon fill algorithm, Scan line fill of convex polygons and regions with curved boundaries, Filling of areas with irregular boundaries.(Sections 3.5, 3.9, 3.10, 4.10, 4.11, 4.12, 4.13 from Text Book (9 hrs)

3. GEOMETRICAL TRANSFORMATIONS:

Basic 2D transformations, Matrix representation and Homogeneous coordinates, Inverse transformations, 2D composite transformations, Geometric transformations in 3D space, 3D translation, rotation and scaling, Composite 3D transformations, Affine transformations. (Sections 5.1,5.2, 5.3, 5.4, 5.5, 5.9, 5.10,5.11, 5.12, 5.13,5.14, 5.15, 5.16 from Text

Book1) (8 hrs)4. TWO DIMENSIONAL VIEWING:

2D viewing Pipeline, Clipping window, Normalization and viewport transformations, Clipping algorithms, 2D point clipping, Cohen-Sutherland line clipping, Liang-Barsky line clipping, Sutherland-Hodgeman polygon clipping, Curve and Text clipping. (Sections 6.1, 6.2, 6.3, 6.5, 6.6, 6.7, 6.8, 6.9, 6.10 from Text Book 1) (6 hrs)

5. THREE DIMENSIONAL VIEWING:

Overview, 3D viewing pipeline, Projection transformations, Orthographic projections, Oblique parallel projections, Perspective projections.(Sections 7.1, 7.2, 7.5, 7.6, 7.7, 7.8 from Text Book 1) (4 hrs)

6. PARAMETRIC CURVES:

Spline representations, Bezier curves, B-Spline curves.(Sections 8.8, 8.10, 8.12 from Text Book 1) (3 hrs)

7. VISIBLE SURFACE DETECTION METHODS:

Classification of VSD algorithms, Back face detection, Depth buffer method, Scan line method, Depth sorting method, BSP tree method, Area subdivision method.(Sections 9.1, 9.2, 9.3, 9.5, 9.6, 9.7, 9.8 from Text Book1) (4 hrs)

8. ILLUMINATION MODELS:

Light sources, Ambient light, Diffuse reflection, Specular reflection and Phong model, Shadows, Displaying light intensities, Halftone patterns and Dithering techniques, Basic ray tracing algorithm.

(Sections 10.1, 10.3, 10.6, 10.8, 10.9, 10.11 from Text Book 1) (5 hrs)

9. COMPUTER ANIMATION: Raster methods for computer animation, Design of animation sequences, Traditional and Computer animation techniques, Key-Frame systems, Motion specifications, Articulated figure animation, Periodic motion.(Sections 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9 from Text Book 1)(4hrs)

Page 8: 3rdYear.docx

Text Book:

1. Donald Hearn, Pauline Baker M., “Computer Graphics with OpenGL”, Pearson Education, 3rd Edition, (2010).

References:

1. Edward Angel, “Interactive Computer Graphics- A top down approach using OpenGL”, Pearson Education, 5th Edition.

2. Foley J. D., VanDam A., Feiner S. K., Hughes J. F., “Computer Graphics, Principles and Practice” , Addision-Wesley, 2nd Edition.

3. Malay Pakhira K., “Computer Graphics Multimedia and Animation”, PHI Learning, . 2nd Edition.

4. Amarendra Sinha N., Arun Udai D., “Computer Graphics”, Tata McGraw Hill publishing.

Page 9: 3rdYear.docx

CSE 309 Operating Systems and LINUX[3 1 0 4]

1. INTRODUCTION:

What Operating Systems do, Operating System Structure, Operating System Operations, Process Management, Memory Management, Storage Management, Protection and Security, Special Purpose Systems.(Sections 1.1, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.11 of Chapter 1 from Text Book 1) (3 hrs)

2. SYSTEM STRUCTURE:

Operating System Services, User Operating System Interfaces, System Calls, Types of System Calls, System Programs, Operating System Structure, Virtual Machines, System Boot. (Sections 2.1, 2.2, 2.3, 2.4, 2.5, 2.7, 2.8, 2.11 of Chapter 2 from Text Book1). (3hrs)

3. PROCESS CONCEPT: Process Concept, Process Scheduling, Operations on Processes, Interprocess Communication.(Sections 3.1, 3.2, 3.3, 3.4 of Chapter 3 from Text Book1).(3 hrs)

4. MULTITHREADED PROGRAMMING:

Overview, Multithreaded Models, Thread Libraries, Threading Issues, Linux Threads.(Sections 4.1, 4.2, 4.3, 4.4, 4.5 of Chapter 4 from Text Book 1). (3 hrs)

5. PROCESS SCHEDULING:

Basic Concepts, Scheduling Criteria, Scheduling Algorithms, Thread Scheduling, Linux Scheduling, Algorithm Evaluation. (Sections 5.1, 5.2, 5.3, 5.4, 5.6.3, 5.7 of Chapter 5 from Text Book 1). (5 hrs)

6. SYNCHRONIZATION:

Background, Critical Section Problem, Peterson’s Solution, Synchronization Hardware, Semaphores, Classical Problems of Synchronization, Monitors, Synchronization in Linux. (Sections 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8 of Chapter 6 from Text Book1). (4 hrs)

7. DEADLOCKS:

System Model, Deadlock Characterization, Methods for handling deadlocks, Deadlock prevention, Deadlock Avoidance, Deadlock Detection, Recovery from Deadlock.(Sections 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7 of Chapter 7 from Text Book 1).

(5 hrs)8. MEMORY MANAGEMENT STRATEGIES:

Logical Versus Physical Address Space, Swapping, Contiguous Memory Allocation, Paging, Page Table Structure, Segmentation, Example: The Intel Pentium. (Sections 8.1.3, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7 of Chapter 8 from Text Book 1). (4 hrs)

9. VIRTUAL MEMORY MANAGEMENT: Background, Demand Paging, Copy-On-Write, Page Replacement, Allocation of Frames, Thrashing, Allocating Kernel Memory, Other Consideration.(Sections 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.8, 9.9 of Chapter 9 from Text Book 1) (6hrs)

10. FILE SYSTEM: File Concept, Access Methods, Directory Structure, File System Mounting, File Sharing, Protection.(Sections 10.1, 10.2, 10.3, 10.4, 10.5, 10.6 of Chapter 10 from Text Book1). (4 hrs)

Page 10: 3rdYear.docx

11. SECONDARY STORAGE:

Disk Structure, Disk Scheduling, Disk Management, Swap-Space Management.(Sections 12.2, 12.4, 12.5, 12.6 of Chapter 12 from Text Book 1).

(2 hrs)1. SYSTEM PROTECTION:

Goals of Protection, Principles of Protection, Domain of Protection, Access Matrix, Implementation of Access Matrix.(Sections 14.1, 14.2, 14.3, 14.4, 14.5 of Chapter 14 from Text Book 1). (2 hrs)

2. SYSTEM SECURITY:

The Security Problem, Program Threats, System and Network threats, User Authentication.(Sections 15.1, 15.2, 15.3, 15.5 of Chapter 15 from Text Book 1)

(2 hrs)

3. LINUX SYSTEM: Design Principles, Kernel Modules, Process Management, Scheduling, Memory Management, File Systems, Interprocess Communication, Security.(Sections 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.9, 21.11 of Chapter 21 from Text Book 1)

(2 hrs)

Text Books:

1. A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Concepts”, International student version, Wiley India Student Edition, Eighth Edition, 2009.

References:

1. William Stallings, “Operating Systems: Internals and Design Principles”, Pearson Ed., LPE, Sixth Edition, 2009.

2. D. M. Dhamdhere, “Operating Systems: A Concept Based Approach”, Tata McGraw-Hill publications, Second Edition, 2006.

3. J. Archer Harris, “Operating Systems“, TATA McGraw-Hill publications, 2002.4. Ida M. Flynn, Ann MclverMcHoes, “Operating Systems”, CENTAGE Learning

India Pvt Ltd, India Edition, 2008.

Page 11: 3rdYear.docx

CSE 311 COMPUTER COMMUNICATION AND NETWORKS [3 1 0 4]

1. INTRODUCTION:

Uses of Computer Networks, Network Hardware, Network Software, Reference Models.

(Sections 1.1 to 1.4 of Text Book 1, excluding 1.3.4 and 1.3.5) (2 hrs) 2. DATA TRANSMISSION:

Concepts and Terminology, Analog and Digital Data Transmission, Transmission Impairments, Channel Capacity, Decibels and Signal Strength.

(Chapter 3 of Text Book 2) (8 hrs) 3. GUIDED AND WIRELESS TRANSMISSION:

Guided Transmission Media, Wireless Transmission. (Sections 4.1, 4.2 of Text Book 2) (3 hrs)

4. SIGNAL ENCODING TECHNIQUES:

Digital Data, Digital Signals, Digital Data, Analog Signals.(Sections 5.1, 5.2 of Text Book 2) (6 hrs)

5. DIGITAL DATA COMMUNICATION TECHNIQUES:

Asynchronous and Synchronous Transmission, Types of errors, Error Detection.(Sections 6.1, 6.2, 6.3 of Text Book2) (4 hrs)

6. DATA LINK CONTROL: Flow Control, Error Control, Performance Issues.(Sections 7.1, 7.2 , 7.3 Appendix 7A of Text Book 2) (6 hrs)

7. MULTIPLEXING:

Frequency Division Multiplexing, Synchronous Time Division Multiplexing- Characteristics only, Statistical Time Division Multiplexing. (Sections 8.1, 8.2, 8.3 of Text Book 2) (3 hrs)

8. THE MEDIUM ACCESS CONTROL SUB-LAYER:

The Channel Allocation Problem, Multiple Access Protocols, Ethernet, Wireless LANs.(Sections 4.1, 4.2.1, 4.2.2, 4.2.3, 4.2.6, 4.3.1 to 4.3.8, 4.4. of Text Book1) (8 hrs)

9. THE NETWORK LAYER:

Network Layer Design Issues, Routing Algorithms, Congestion Control algorithms.(Sections 5.1, 5.2.1 to 5.2.9, 5.3.1 to 5.3.5 of Text Book 1) (8 hrs)

Text Books:

Page 12: 3rdYear.docx

1. Andrew S. Tanenbaum – Computer Networks, 5th Edition, 2010 Prentice Hall of India Pvt. Ltd.

2. William Stallings – Data and Computer Communications, 7th Edition, 2004 Prentice Hall of India Pvt. Ltd.

References:

1. Behrouz A. Forouzan , Data Communications and Networking, Tata McGraw-Hill 4th Edition .2006

2. Computer Networking –A Top-Down Approach Featuring the Internet Tata McGraw-Hill 5th Edition .

3. Godbole, Data Communications and Networks, Tata McGraw-Hill 2002.4. Micael A. Gallo & William M. Handcock, Computer Communications and

Networking Technologies, Thomson, 2003 Edition.

Page 13: 3rdYear.docx

CSE 313 DESIGN AND ANALYSIS OF ALGORITHMS LAB [0 0 3 1]

1. Review of fundamental data structures 2. Fundamentals of algorithmic problem solving1. Brute force techniques2. Divide and Conquer 3. Decrease and Conquer 4. Transform and Conquer5. Space and Time tradeoffs 6. Dynamic Programming 9-10 Greedy Technique 11. Backtracking 12. Branch and Bound

References:

1. Anany Levitin, Introduction to The Design and Analysis of Algorithms, Pearson Education, 2nd Edition, 2007.

2. Horowitz E., Sahni S., Rajasekaran S.,Computer Algorithms by Galgotia Publications, 2001.

3. Thomas H. Cormen, Charles E. Leiserson, Ronal L, Rivest, Clifford Stein, Introduction to Algorithms, PHI, 2nd Edition, 2006.

Page 14: 3rdYear.docx

CSE 315 COMPUTER GRAPHICS LAB [ 0 0 3 1 ]

1. Understanding OpenGL and writing simple programs to draw objects2. Line drawing algorithms3. Midpoint Circle and Ellipse algorithms4. Polygon filling algorithms 5. Line and Polygon clipping algorithms6. 2D transformation functions7. 3D transformation functions8. Transformation of user defined objects in 2D and 3D 9. 2D curves10. Effects of lighting in OpenGL11. Programs for illustration of graphical principles using OpenGL12. Creating animation programs

References:

1. Donald Hearn, Pauline Baker M., “Computer Graphics with OpenGL”, Pearson Education, 3rd Edition, 2009.

2. Edward Angel, “Interactive Computer Graphics- A top down approach using OpenGL”, Pearson Education, 5th Edition, 2009.

3. Dave Shreiner, The Khronos OpenGL ARB Working Group, Bill Licea-Kane, Graham Sellers, “OpenGL Programming Guide: The Official Guide to Learning OpenGL”, Addison-Wesley Professional, 8th Edition, Version 4.1 2011.

Page 15: 3rdYear.docx

CSE 317 OPERATING SYSTEM AND LINUX LAB [ 0 0 3 1 ]

1. Testing the use of UNIX commands.2. UNIX shell commands.3. Basics of Shell Programming.4. UNIX System Calls.5. CPU Scheduling Algorithms.6. CPU Scheduling Algorithms.7. Deadlock Detection Algorithms.8. Deadlock Avoidance Algorithms.9. Page Replacement Algorithms.10. Memory Allocation Algorithms.11. Disk Scheduling Algorithms.12. UNIX InterProcess Communication.

References:

1. Unix for Programmers and Users – A Complete Guide By Graham glass , Pearson Education, Third Edition.

2. Design of Unix Operating System by Maurice J.Bach, Prentice Hall 1986.3. Operating System Concepts and Principles, Wiley India Edition – Silberschatz &

Galvin, Eighth Edition, 2009.4. Unix System V – Rachel Morgan , Tata McGraw Hill, TMH 2000.

CSE 302 LANGUAGE PROCESSORS[3 1 0 4]

1. INTRODUCTION:Language Processors, The Structure of a Compiler.(1.1, 1.2 of Text book 1) (3 hrs.)

Page 16: 3rdYear.docx

2. LEXICAL ANALYSIS:The Role of the Lexical Analyzer, Input Buffering, Specification of Tokens, Recognition of Tokens, The Lexical-Analyzer Generator Lex, Finite Automata, From Regular Expression to Automata, Design of a Lexical-Analyzer Generator. (3.1 to 3.8 of Text book 1) (8 hrs.)

3. SYNTAX ANALYSIS:

Introduction, Context-Free Grammars, Writing a Grammar, Top-Down Parsing, Bottom-Up Parsing, Introduction to LR Parsing: Simple LR, More Powerful LR Parsers, Using Ambiguous Grammars, Parser Generators.(Chapter 4 of Text book 1) (14 hrs.)

4. SYNTAX-DIRECTED TRANSLATION:

Syntax-Directed Definition, Construction of Syntax Trees.(5.1,5.3.1 of Text book 1) (3 hrs.)

5. INTERMEDIATE CODE GENERATION:

Variants of Syntax Trees, Three-Address Code, Types and Declarations: Type Expressions, Type Equivalence, Translation of Expressions: Operations within Expressions, Type Checking: Rules for Type Checking.(6.1, 6.2, 6.3.1, 6.3.2, 6.4.1, 6.5.1 of Text book 1) (6 hrs.)

6. RUN-TIME ENVIRONMENTS:

Storage Organization, Stack Allocation of Space.(7.1, 7.2 of Text book 1) (4 hrs.)

7. CODE GENERATION:

Issues in the Design of a Code Generator, The Target Language, Addresses in the Target Code, Basic Blocks and Flow Graphs.(8.1 - 8.4 of Text book 1) (6 hrs.)

8. ASSEMBLERS:Elements of Assembly Language Programming, A Simple Assembly Scheme, Pass Structure of Assemblers, Design of Two Pass Assemblers (4.1 - 4.4 of Text book 2) (4 hrs.)

Text books:

1. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers Principles, Techniques and Tools”, Pearson Education, 2nd edition.

2. D M Dhamdhere, “Systems Programming and Operating Systems”, Tata McGraw Hill, 2nd Revised Edition, 2001.

References:

1. Kenneth C. Louden, “Compiler Construction - Principles and Practice”, Thomson, India Edition, 2007.

CSE 306 NETWORK PROTOCOLS [3 1 0 4]

1. IP ADDRESSES: Introduction, Classful addressing, other issues, Subnetting

(Chapters 4.1 - 4.4 of Text Book ) (4 hrs)

Page 17: 3rdYear.docx

2. IP ADDRESSES: Classless addressing , variable length blocks, Subnetting, address allocation.

(Chapters 5.1 – 5.3 of Text Book) (4 hrs)

3. ARP- Introduction, Encapsulation, operation ARP package &

RARP- Introduction, packet format Encapsulation, RARP server (Chapters 7.1, 7.2, 7.3 of Text Book) (3 hrs)

4. IP: Introduction, datagram , fragmentation , options, checksum, IP Package

(Chapters 8.1, 8.2, 8.3, 8.4, 8.5 of Text Book) (5 hrs)

5. ICMP: Types of messages, message format, error reporting, Query, Checksum,

Debugging tools. (Chapters 9.1 – 9.6 of Text Book) (2 hrs)

6. UDP: Process to process communication, User datagram, checksum, UDP operation

UDP package (Chapters 11.1 – 11.6 of Text Book) (3 hrs)

7. TCP: Introduction, TCP services, TCP features, segment, TCPconnection, State transition diagram, Flow control, Error control, Congestion control, TCP timers, options, TCP package

(Chapters 12.1 – 12.10 of Text Book) (6 hrs)

8. SCTP: SCTP services, SCTP features, packet format, association, state transition diagram, flow control, error control, congestion control.

(Chapters 13.1- 13.8 of text Book) (6 hrs)

9. DNS:Name space, domain name space, distribution of name space, DNS in the internet, resolution, DNS messages, types of records, compression, DDNS, encapsulation.

(Chapters 17.1 – 17.10 of Text Book) (2 hrs)

10. TELNET: - Concept, NVT, NVT characterset, Embedding, options, Option negotiation, sub option negotiation, controlling the server, out of band signaling, escape character, mode of operation, user interface, security issues.

(Chapters 18.1 – 18.13 of Text Book) (2 hrs) 11. FTP & TFTP - (Chapters 19.1 & 19.2 of Text Book) (4 hrs) 12.HTTP:

Transaction, persistent versus non persistent connection, proxy server. ( Chapters 22.3 of Text Book) (1 hr)

Page 18: 3rdYear.docx

13MOBILE IP: Addressing, agents, three phases, inefficiency in mobile IP

(Chapters 24.1 – 24.4 of Text Book) (2 hrs)

14 IPV6 Introduction, address space assignment, Packet format, comparison between IPv4 & IPv6. ICMPV6: - Introduction, error reporting, Query, Transition from IPv4 to IPv6.

(Chapters 27.1, 27.2, 27.3of Text Book) (4 hrs) Text Books:

1. Behrouz A. Forouzan “TCP/IP Protocol Suite”, TMH, 3rd Edition, 2005.

References:1. W.R Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison Wesley, 1994.2. Peter Loshin, IPV6 Clearly Explained, Morgan Kauffman, 1999.3. C.E. Perkins, Mobile IP Design Principles and Practices, Addison Wesley Wireless

Communications Series, 1998.

CSE 308 PARALLEL Architecture and PROGRAMMING

[3 1 0 4]1. Introduction to pipelining:

An overview of pipelining, A pipelined data path, (6.1, 6.2 of Text Book 1) (5 hrs.)

2. INSTRUCTION-LEVEL PARALLELISM: Concepts and Challenges, What is ILP?, Data dependences and hazards, Control

Page 19: 3rdYear.docx

dependences, Overcoming data hazards with dynamic scheduling, Dynamic scheduling: The idea, Dynamic scheduling using Tomasulo’s approach, Reducing branch costs with dynamic hardware prediction, Basic branch prediction and branch prediction buffers, High performance instruction delivery: Branch target buffers, Integrated instruction fetch units, return address predictors, Taking advantage of more ILP with multiple issue, statically scheduled super scalar processors, multiple instruction issue with dynamic scheduling, Hardware based speculation, Multiple issue with speculation(3.1, 3.2, 3.4, 3.5, 3.6, 3.7 of Text Book 2) (9 hrs.)

3. MULTIPROCESSORS AND THREAD LEVEL PARALLELISM:Introduction, A taxonomy of parallel architectures, Models for communication and memory architecture, Challenges of parallel processing, Symmetric shared memory architectures, What is multiprocessor cache coherence?, Basic schemes for enforcing coherence, Snooping protocols, Basic implementation techniques, An example protocol, Memory consistency: An introduction, Relaxed consistency models: The basics (6.1, 6.3, 6.8 of Text Book 2) (6 hrs.)

4. INTRODUCTION TO MULTICORE ARCHITECTURE:Parallel computing in microprocessors, Hyper threading technology, difference between multiprocessor and hyper threading technology, Hyper threading technology architecture, multi-core processors: architectural details, Multi-threading on single core versus multi-core platforms, Understanding performance, Amdahl’s law(Selected topics from Chapter 1 and Chapter 10 of Text Book 3) (5 hrs.)

5. FUNDAMENTAL CONCEPTS OF PARALLEL PROGRAMMING:Designing for threads, Task decomposition, Data decomposition, Data flow decomposition, Implications of different decomposition, Challenges you will face, Parallel programming patterns(Chapter 3 of Text Book 3) (2 hrs.)

6. THREADING AND PARALLEL PROGRAMMING CONSTRUCTS:

Synchronization, Critical sections, Deadlock, Synchronization primitives, Semaphores, Locks, Condition Variables, Messages, Flow control based concepts, fence, barrier, Implementation-dependent threading features(Chapter 4 of Text Book 3) (3 hrs.)

7. THREADING APIS:Threading APIs for Microsoft Windows: Win32/MFC thread APIs, Threading APIs for Microsoft .NET Framework: Creating threads, Managing threads, Thread pools, Thread synchronization, POSIX threads: Creating threads, Managing threads, Signalling (Chapter 5 of Text Book 3) (10 hrs.)

8. OpenMP:

Page 20: 3rdYear.docx

Challenges in threading a loop, Minimizing threading overhead, Performance oriented programming, OpenMP library functions, OpenMP environment variables, Compilation, Debugging(Selected topics from Chapter 6 of Text Book 3) (8 hrs.)

Text Books

1. J. L. Hennesey and D. A. Patterson, Computer Organization and Design. The Hardware/Software Interface, Morgan Kaufmann Publishers, 3rd Edition,2005

2. J. L. Hennesey and D. A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, 3rd Edition,2005

3. Shameem Akhter, Jason Roberts, Multi-Core Programming: Increasing Performance through Software Multi-threading, Intel Press, 2006

Reference Book

1. D. E. Culler, J. P. Singh, with A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann Publishers, 2nd Edition

2. Michael J Quinn, “Parallel Computing: Theory and Practice” Tata McGraw Hill, 2nd Edition

3. Michael J Quinn, “Parallel Programming in C with MPI and OpenMP”, Tata McGraw Hill

CSE 310 DIGITAL IMAGE PROCESSING (ELECTIVE I)

[ 3 1 0 4 ] 1. Digital Image Fundamentals

Fundamental Steps in Digital Image Processing, Examples of Fields that use Digital Image Processing, Components of an Image Processing System, Elements of Visual Perception, Image Sampling and Quantization, Some Basic Relationships between Pixels. (6 hrs)

Page 21: 3rdYear.docx

2. Image Enhancement in the Spatial Domain

Gray Level Transformations, Histogram Processing, Enhancement Using Arithmetic/Logic Operations, Basics of Spatial Filtering, Smoothing Spatial Filters, Sharpening Spatial Filters, Combining Spatial Enhancement Methods (8 hrs)

3. Image Enhancement in the Frequency DomainIntroduction to the Fourier Transform and the Frequency Domain, Smoothing Frequency-Domain Filters, Sharpening Frequency Domain Filters. (6 hrs)

4. Image RestorationNoise models, Restoration in the presence of noise only spatial filtering, Periodic noise reduction by frequency domain filtering, Estimating the Degradation Function.

(6 hrs)5. Morphological Image Processing

Preliminaries, Dilation and Erosion, Opening and Closing, The hit-or-miss transformation, Some basic Morphological algorithms, Extension to Gray-Scale Images

(6 hrs)

6. Image SegmentationDetection of Discontinuities, Edge Linking and Boundary Detection, Thresholding, Region-Based Segmentation, Segmentation by Morphological Watersheds.

(8 hrs)7. Image Compression

Fundamentals, Image compression models, Elements of Information Theory, Error free compression, Lossy Compression.

(8 hrs) Text Books:

1. Rafael C. Gonzalez, Richard E. Woods, “Digital Image Processing”, Second Edition, Pearson Education.

2. Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins, “Digital Image Processing Using MATLAB”, Second Edition, McGrawHill Publication.

References:

1. Milan Sonka, Vaclav Hlavac, Roger Boyle, “Digital Image Processing and Computer Vision”, India Edition, Cengage Learning.

2. Relevant research papers from the journals.

CSE 318 ADVANCED DATABASE SYSTEMS (ELECTIVE I)[ 3 1 0 4]

1. QUERY PROCESSING: Overview, Measures of Query Cost, Selection Operation, Sorting Join Operation, Other Operations, Evaluation of Expressions(Chapter 12 of Text Book) (4 hrs)

2. QUERY OPTIMIZATION:

Overview, Transformation of Relational Expressions, Estimating Statistics of

Page 22: 3rdYear.docx

Expression Results, Choice of Evaluation Plans, Materialized Views. (Chapter 13 of Text Book) (5 hrs)

3. CONCURRENCY CONTROL:

Lock-Based Protocols, Timestamp-Based Protocols, Validation –Based Protocols, Multiple Granularity, Multiversion Handling, Deadlock Handling, Insert and Delete Operations, Weak Levels of Consistency.(Chapter 15 of Text Book, 15.1-15.6, 15.8-15.9) (4 hrs)

4. RECOVERY SYSTEM:

Failure Classification, Storage Structure, Recovery and Atomicity, Log-Based Recovery, Shadow Paging, Recovery with Concurrent Transactions, Buffer Management, Failure with Loss of Nonvolatile Storage (Chapter 16 of Text Book, 16.1-16.6) (5 hrs)

5. DATA WAREHOUSING AND MINING:

Decision-Support systems, Data Warehousing, Data Mining, Classification,

(Chapter 20 of Text Book) (6 hrs)

6. INFORMATION RETRIEVAL:Overview, Relevance ranking using terms, Relevance using hyperlinks, Synonyms, Homonyms, and Ontologies, Indexing of documents, Measuring Retrieval effectiveness, Crawling and indexing the web, IR: Beyond ranking of Pages, Directories and categories. (Chapter 21 of Text Book) (5 hrs)

7. OBJECT-BASED DATABASES:

Complex Data Types and Object Orientation,Structured Data Types and Inheritance in SQL,Table Inheritance,Array and Multiset Types in SQL,Object Identity and Reference Types in SQL,Persistent Programming Languages. (Chapter 22 of Text Book, 22.1-22.6, 22.8) (4 hrs)

8. DISTRIBUTED DATABASES:

Distributed data storage, Distributed transactions, Commit protocols, Concurrency control, Availability, Query processing, Heterogeneous Distributed Database, Cloud –Based Database. (Chapter 19 of Text Book, 19.2-19.9) (5 hrs)

9. XMLStructure of XML Data, XML Document Schema, Querying and Transaction, Application Program Interface to XML, Storage of XML Data.(Chapter 10 of text book, 10.1-10.6) (4 hrs)

Page 23: 3rdYear.docx

10. Emerging Database Technologies and applications Mobile Databases, Multimedia Databases, Geographic information systems (GIS), Genome Data Management (Chapter 30 of references 1, 30.1 -30.4) (6 hrs)

Text Book:

1. Silberschatz, Korth and Sudarshan, “Database System Concepts”, McGrawHill, 6th Edition. References:

1. Elmasri and Navathe, “Fundamentals of Database Systems”, Addison-Wesley, 3rd Edition.

2. C.J.Date, “An Introduction to Database Systems”, Pearson M Education Asia, 7th Edition.

CSE 320 CRYPTOGRAPHY AND NETWORK SECURITY

(ELECTIVE I)[3 1 0 4]

1.OVERVIEW-

Computer Security Concepts, The OSI Security Architecture, Security Attacks, Security Services , Security Mechanisms, A Model for Network Security(1.1-1.6 of Text Book 1) (2 hrs)

2.CLASSICAL ENCRYPTION TECHNIQUES-

Page 24: 3rdYear.docx

Symmetric Cipher Model, Substitution Techniques, Transposition Techniques,Block Ciphers and the Data Encryption Standard- Block Cipher Principles, The Data Encryption Standard (DES), A DES Example, The Strength of DES(2.1-2.3, 3.1-3.4 of Text Book 1) (5 hrs)

3.ADVANCED ENCRYPTION STANDARD-

The Origins AES, AES Structure, AES Round Functions, AES Key Expansion, An AES Example, Block Cipher Operation- Multiple Encryption and Triple DES, Electronic Codebook Mode, Cipher Block Chaining Mode, Cipher Feedback Mode, Output Feedback Mode, Counter Mode(4.1-4.6 of Text Book 1) (8 hrs)

4.PSEUDORANDOM NUMBER GENERATION AND STREAM CIPHERS-

Principles of Pseudorandom Number Generation, Pseudorandom Number Generators, Pseudorandom Number Generation Using a Block Cipher, Stream Ciphers, RC4(7.1- 7.5 of Text Book 1) (4 hrs)

5. PRIME NUMBERS- Fermat's and Euler's Theorems, Testing for Primality, The Chinese Remainder Theorem,Public-Key Cryptography and RSA- Principles of Public-Key Cryptosystems, The RSA Algorithm, Diffie-Hellman Key Exchange(8.1-8.5, 9.1-9.2 of Text Book1) (5 hrs)

6.CRYPTOGRAPHIC HASH FUNCTIONS-

Applications of Cryptographic Hash Functions, Two Simple Hash Functions, Requirements and Security, Hash Functions Based on Cipher Block Chaining, Secure Hash Algorithm (SHA), SHA-3, Message Authentication Requirement, Message Authentication Function, Message Authentication Codes,Digital Signatures(11.1-11.6,12.1-12.3,13.1 of Text Book 1) (8 hrs)

7.NETWORK AND INTERNET SECURITY-

Transport-Level Security- Web Security Issues, Secure Sockets Layer (SSL), Transport Layer Security (TLS),Electronic Mail Security, Pretty Good Privacy (PGP),S/MIME,IP Security- IP Security Overview, IP Security Policy,Encapsulating Security Payload, Combining Security Associations, Internet Key Exchange(16.1-16.3, 18.1-18.2, 19.1-19.5, of Text Book 1) (10 hrs)

10.SYSTEM SECURITY

Intruders, Intrusion Detection, Password management, Malicious Software-Types, Viruses, Viruses Countermeasures, Worms,The Need for Firewalls, Firewall Characteristics, Types of Firewalls(20.1-20.3, 21.1-21.4,22.1-22.3 of Text Book 1) (6 hrs)

Text Book:1. William Stallings- Cryptography and Network Security: Principles and Practice,

Prentice Hall,5th edition, 2010.References:

Page 25: 3rdYear.docx

1. Behrouz A. Forouzan and Debdeep Mukhopadhyay - Cryptography and Network Security, McGraw Hill, 2ndEdition ,2008.

CSE 322 Building Enterprise ApplicationELECTIVE-I

[3 1 0 4]

UNIT I:Introduction to enterprise applications and their types, software engineering methodologies, life cycle of raising an enterprise application, introduction to skills required to build an enterprise application, key determinants of successful enterprise applications, and measuring the success of enterprise applications,Introduction to SWOT Analysis, Agile-SCRUM Life Cycle

(5 hrs)UNIT II:

Inception of enterprise applications, enterprise analysis, business modeling, requirements elicitation, use case modeling, prototyping, non functional requirements, requirements validation, planning and estimation

Page 26: 3rdYear.docx

Introduction to Web Accessibility Initiative, UML, Differences between various versions of UML, Microsoft Visio, Rational Rose

(9 hrs) UNIT III:

Concept of architecture, views and viewpoints, enterprise architecture, logical architecture, technical architecture - design, different technical layers, best practices, data architecture and design – relational, XML, and other structured data representations, Infrastructure architecture and design elements - Networking, Internetworking, and Communication Protocols, IT Hardware and Software, Middleware, Policies for Infrastructure Management, Deployment Strategy, Documentation of application architecture and design.Introduction to DROOLS, AJAX, JBOSS, JOSSO, LDA, Struts, MVC Architecture, Hibernate

(18 hrs) UNIT IV:

Construction readiness of enterprise applications - defining a construction plan, defining a package structure, setting up a configuration management plan, setting up a development environment, introduction to the concept of Software Construction Maps, construction of technical solutions layers, methodologies of code review, static code analysis, build and testing, dynamic code analysis – code profiling and code coverageIntroduction to JAXB JMS, JCA

(9 hrs) UNIT V:

Types and methods of testing an enterprise application, testing levels and approaches, testing environments, integration testing, performance testing, penetration testing, usability testing, globalization testing and interface testing, user acceptance testing, rolling out an enterprise application. Introduction to JUnit, Paros Proxy, OWASP Scrapper

(7 hrs)

Text Book:

1.Anubhav Pradhan, Satheesha B. Nanjappa, Senthil K. Nallasamy,Veerakumar Esakimuthu - Raising Enterprise Applications – Published byJohn Wiley.

References:

1.Dean Leffingwell, Don Widrig (2008)-Isbn : 9788131711798- PearsonEducation Limited-Managing Software Requirements A Use Case Approach2.Soren Lauesen -Addison-Wesley Professional-Software Requirements:Styles & Techniques3.Brian Berenbach, Juergen Kazmeier-Tata Mcgraw Hill Publishing CoLtd-Software & Systems Requirements Engineering In Practice(2009)-Websites1. Designing Enterprise Applications with the J2EE Platform (PDF

Page 27: 3rdYear.docx

available at- http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/

CSE 324 UNIX SYSTEM PROGRAMMING ELECTIVE-I

[3 1 0 4]

1. UNIX and ANSI standards: The ANSI C standard, The ANSI/ISO C++ standard, Differences between ANSI C and C++, The POSIX Standard, The POSIX.1 FIPS Standard, The X/Open Standards, Standard C Library Functions, Unix & POSIX APIs, UNIX system overview (6 hrs)

2.UNIX files and APIs :

File Types, The UNIX and POSIX file Systems and Attributes, Inodes in UNIX System V, API to Files, Relationship of C Stream Pointers and File Descriptors, Directory Files, Hard and Symbolic Links, General File APIs, File and Record Locking, Directory file APIs, Device file APIs, FIFO file APIs, Symbolic link File APIs, File Descriptors, I/O Efficiency, File sharing, Atomic operations, dup and dup2 functions, sync, fsync, and fdatasync, functions, fcntl and ioctl functions, dev/fd (8 hrs)

3.Unix Process Environment and Control:

Page 28: 3rdYear.docx

UNIX kernel support for processes, Process Environment: Introduction, main function, process termination, command-line arguments, Environment List, Memory Layout of a C Program, Shared Libraries, Memory Allocation, Environment Variables, setjump, longjump, getrlimit and setrlimit functions, Process Control: Introduction, Process Identifiers, fork, vfork, exit, wait, waitpid, waitid, wait3 and wait4 functions, Race conditions, exec, changing user IDs and group IDs, Interpreter files, system, process Accounting, user identification, process times (10 hrs)

4.Process Relationship:

Introduction, terminal and n/w logins, process groups, sessions, controlling terminal, tcgetpgrp, tcsetpgrp and tcgetsid functions, job control, shell execution of programs, orphaned process groups, FreeBSD implementation. (4 hrs)

5.Signals: Introduction, Signal Concepts, signal Function, unreliable signals, interrupted system calls, reentrant functions, SIGCLD semantics, reliable signal terminology and semantics, kill, raise, alarm, pause, signal sets, sigprocmask, sigpending, sigaction, sigsetjmp,siglongjmp, sigsuspend, abort and system functions. (6 hrs)

6.Inter-process communication: Introduction, pipes, popen and pclose functions, coprocesses, fifos, xsi ipc, POSIX.1b IPC methods, The UNIX system V IPC methods, UNIX system V messages, POSIX.1b messages, UNIX system V Semaphores, POSIX.1b semaphores, UNIX system V shared memory (10 hrs)

7.Network IPC:Sockets:

(4 hrs) Textbooks:1. Richard Stevens “Advanced Programming in the Unix Environment” 2nd Edition, Pearson Publications( Ch 1, 3, 7,8,,9,10,15.1-15.5 ) 2. T Chan “Unix System Programming Using C++” PHI Publications(Ch 1,4,5,6,7,8.1, 10.1- 10.7.6, 11.1 ) References:1. Neil Mattew and Richard Stones “Beginning Linux Programming” Wrox Publications(Ch 12,13,14)

Page 29: 3rdYear.docx

OPEN ELECTIVE-IICSE 312 WEB 2.0 and RICH INTERNET APPLICATIONS

(3 0 0 3)

1.INTRODUCTION, WEB SERVICES:

What is Web 2.0?, Folksonomies and Web 2.0, Software as a Service (SaaS), Data and Web 2.0, Convergence, Iterative development, Rich User experience, Multiple Delivery Channels, Social Networking. Web Services: SOAP, RPC Style SOAP, Document style SOAP, WSDL, REST services, JSON format, What is JSON?, Array literals, Object literals, Mixing literals, JSON Syntax, JSON Encoding and Decoding, JSON versus XML. (Text Book3—Ch-1 , Text Book1 Ch-8,)

(4 hrs) 2. BUILDING RICH INTERNET APPLICATIONS WITH AJAX-1:

Building Rich Internet Applications with AJAX: Limitations of Classic Web application model, AJAX principles, Technologies behind AJAX, Examples of usage of AJAX, Dynamic web applications through Hidden frames for both GET and POST methods.

Page 30: 3rdYear.docx

(Text Book1 Ch-2) (4 hrs)

3. BUILDING RICH INTERNET APPLICATIONS WITH AJAX-2: Frames, Asynchronous communication and AJAX application model, XMLHTTP Object – properties and methods, handling different browser implementations of XMLHTTP, The same origin policy, Cache control, AJAX Patterns (Only algorithms – examples not required): Predictive fetch pattern, Submission throttling pattern, Periodic refresh, Multi stage download, Fall back patterns. (Text Book1 Ch-3)

(5 hrs)

4. BUILDING RICH INTERNET APPLICATIONS WITH FLEX - 1: Flash player, Flex framework, MXML and Actionscript, Working with Data services, Understanding differences between HTML and Flex applications, Understanding how Flex applications work, Understanding Flex and Flash authoring, MXML language, a simple example.( Textbook 2 Ch- 1)

(4 hrs)

5. BUILDING RICH INTERNET APPLICATIONS WITH FLEX - 2:Using Actionscript, MXML and Actionscript correlations. Understanding Actionscript 3.0 language syntax: Language overview, Objects and Classes, Packages and namespaces, Variables & scope of variables, case sensitivity and general syntax rules, Operators, Conditional, Looping, Functions, Nested functions, Functions as Objects, Function scope, OO Programming in Actionscript: Classes, Interfaces, Inheritance, Working with String objects, Working with Arrays, Error handling in Actionscript: Try/Catch, Working with XML(Text Book2 Ch-2,3) (5 hrs)

6. BUILDING RICH INTERNET APPLICATIONS WITH FLEX - 3: Framework fundamentals, Understanding application life cycle, Differentiating between Flash player and Framework, Bootstrapping Flex applications, Loading one flex application in to another, Understanding application domains, Understanding the preloader. Managing layout, Flex layout overview, Working with children, Container types, Layout rules, Padding, Borders and gaps, Nesting containers, Making fluid interfaces. (Text Book2 Ch-5,6) (5 hrs)

7. BUILDING RICH INTERNET APPLICATIONS WITH FLEX – 4: Working with UI components: Understanding UI Components, Creating component instances, Common UI Component properties, Handling events, Button, Value selectors, Text components, List based controls, Data models and Model View Controller, Creating collection objects, Setting the data provider, Using Data grids, Using Tree controls, Working with selected values and items, Pop up controls, Navigators, Control bars Working with data: Using data models, Using XML, Using Actionscript classes, Data Binding.(Text Book2(Ch-7,12 )) (5 hrs)

8. BUILDING ADVANCED WEB 2.0 APPLICATIONS:Definition of mash up applications, Mash up Techniques, Building a simple mash up application with AJAX, Remote data communication, strategies for data communication, Simple HTTPServices, URLLoader in Flex, Web Services in Flex,

Page 31: 3rdYear.docx

Examples: Building an RSS reader with AJAX, Building an RSS reader with Flex.(Selected Topics from Text Book1(Ch-7) and TextBook2(Ch-16)) (4 hrs)

Text Books:

1. Nicholas C Zakas et al - Professional AJAX, Wrox publications, 2006.2. Chafic Kazoun - Programming Flex 2, O’Reilly publications, 2007.3. Francis Shanahan – Mashups, Wrox, 2007.

References:

1. Thomas A. Powel - Ajax: The Complete Reference , McGraw Hill, 2008.2. Gottfried Vossen, Stephan Hagemann - Unleashing Web 2.0: From Concepts to Creativity, Elsevier, 2007.3. Colin Moock - Essential Actionscript 3.0, O’Reilly Publications, 2007.4. Steven Holzner - Ajax Bible, Wiley India, 2007.5. Justin Gehtland et al - A Web 2.0 Primer Pragmatic Ajax, SPD Publications, 2006.6. Eric Van derVlist et al - Professional Web 2.0 Programming , Wiley India, 2007.

OPEN ELECTIVE-IICSE 326 INFORMATION RETRIEVAL

[3 0 0 3] 1, INTRODUCTION, RETRIEVAL STRATEGIES

Introduction; Retrieval Strategies: Vector Space Model; Probabilistic Retrieval strategies Some More Retrieval Strategies: Language Models; Inference Networks; Extended Boolean Retrieval; Latent Semantic Indexing; Neural Networks; Genetic Algorithms; Fuzzy Set Retrieval.(Chapter 1 of Text Book 1) (5 hrs)

2, RETRIEVAL UTILITIES

Relevance feedback; Clustering; Passage-Based Retrieval; N-Grams; Regression Analysis; Thesauri; Semantic Networks; Parsing.(Chapter 2 of Text Book 1) (5 hrs)

3, INDEXING AND SEARCHING

Introduction; Inverted Files; Other indices for text; Boolean queries; Sequential searching; Pattern matching; Structural queries; Compression(Chapter 3 of Text Book 1) (6 hrs)

4, CROSS-LANGUAGE INFORMATION RETRIEVAL AND EFFICIENCY

Introduction; Crossing the language barrier; Cross-Language retrieval strategies; Cross language utilities. Duplicate Document Detection.

Page 32: 3rdYear.docx

(Chapter 4 of Text Book 1) (4 hrs) 5, INTEGRATING STRUCTURED DATA AND TEXT

Review of the relational model; A historical progression; Information retrieval as a relational application; Semi-structured search using a relational schema; Multi-dimensional data model. (Chapter 5 of text 1, chapter 8 of Text Book2) (5 hrs)

6, PARALLEL INFORMATION RETRIEVAL, DISTRIBUTED INFORMATION RETRIEVAL

Parallel text scanning; Parallel indexing; Clustering and classification; Large parallel systems; A theoretic model of distributed information retrieval; Web search; Result fusion; Peer-to-Peer information systems; Other architectures. (Chapter 6 of Text Book1) (5 hrs)

7, MULTIMEDIA IR

Introduction; data modeling; Query languages; Spatial access methods; A general multimedia indexing approach; One-dimensional time series; Two-dimensional color images; Automatic picture extraction.(Chapter 7 of text1 and Chapter 12 of Text Book2) (6 hrs)

Text Books: 1.David A. Grossman, Ophir Frieder: Information Retrieval Algorithms and Heuristics, Springer, 2nd Edition, 2004.2. Ricardo Baeza-Yates, Berthier Ribeiro-Neto: Modern Information Retrieval, Pearson Education, 1999.

References: 1. William B. Frakes, Ricardo Baeza-Yates (Editors):Information Retrieval Data Structures & Algorithms, Prentice Hall PTR, 1992.

OPEN ELECTIVE-II

CSE 328 DATABASE MANAGEMENT SYSTEMS [3 0 0 3]

1. INTRODUCTION :

Database-System Applications, Purpose of Database Systems, View of Data, Database Languages, Relational Databases, Data Storage and Querying, Transaction Management, Database Architecture, Database Users and Administrators.

(Chapter 1, 1.1-1.9 and 1.12) (3 hrs) 2. RELATIONAL MODEL:

Structure of Relational Databases, Fundamental Relational-Algebra Operations, Additional Relational-Algebra Operations, Extended Relational-Algebra Operations, Null Values, Modification of the Database.(Chapter 2 and chapter 6, 6.1) (5 hrs)

3. DATABASE DESIGN AND THE E-R MODEL

Overview of the Design Process, The Entity-Relationship Model, Constraints, Entity- Relationship Diagrams, Entity-Relationship Design Issues, Weak Entity Sets, Extended E-R Features, Reduction to Relational Schemas, Other Aspects of Database Design ( Chapter 7) (6 hrs)

Page 33: 3rdYear.docx

4. SQL

Data Definition, SQL Data Types and Schemas, Integrity Constraints, Basic Structure of SQL Queries, Set Operations, Aggregate Functions, Null Values, Nested Sub queries, Complex Queries, Views, Modification of the Database, Joined Relations.

( Chapter 3) (8 hrs) 5. RELATIONAL DATABASE DESIGN

Features of Good Relational Design, Atomic Domains and First Normal Form, Decomposition Using Functional Dependencies, Functional Dependency Theory, Algorithms for Functional Dependencies, Decomposition Using Multivalued Dependencies ,More Normal Form, Database-Design Process (Chapter 8, 8.1 - 8.8) (8hrs)

6. TRANSACTION MANAGEMENT AND RECOVERY

Lock Based and timestamp based Protocols, Multiple Granularity, Multiversion Schemes, Deadlock Handling, Weak Levels of Consistency, Recovery and Atomicity, recovery algorithm, Buffer Management, Remote Backup Systems.(Chapter15,15.1,15.2,15.3,15.4,15.6and 15.9 and chapter16,16.3,16.4,16.5 and16.9) (6hrs)

Text Books:

1. Silberschatz, Korth, Sudarshan, “Database System Concepts”, McGrawHill, 6th Edition , 2011.

References:

1. Ramez Elmasri and Shamkant Navathe, Durvasula V L N Somayajulu, Shyam K Gupta, “Fundamentals of Database Systems”, Pearson Education, 2006.

2. Thomas Connolly, Carolyn Begg, “Database Systems – A Practical Approach to Design, Implementation and Management”, Pearson Education, 3rd Edition, 2002.

3. Raghu ramakrishnan ,”Database Management Systems”, Publisher: McGraw Hill, Third edition.

Page 34: 3rdYear.docx

CSE 330 PRINCIPLES OF SOFTWARE ENGINEERING (3 0 0 3)

1. INTRODUCTION

What is Software Engineering? A Systems Approach, An Engineering Approach(Chapter 1 of Text Book 1, Sections 1.1 to 1.7)

(2hrs)2. MODELLING THE PROCESS AND LIFE CYCLE

The meaning of process, Software process models, Process Improvement model(Capability Maturity Model)(Chapter 2 of Text Book 1,Sections 2.1, 2.2, Chapter 12 of Text book 1 Section 12.5)

(7hrs) 3. CAPTURING THE REQUIREMENTS:

The requirement process, Characteristics of Requirements, How to express requirements, SRS

(Chapter 4 of Textbook1 sections 4.1,4.3,4.4 and 4.2 from Text Book2) (5hrs) 4. DESIGNING THE SYSTEM

Definition of Design, Issues in Design creation, Characteristics of good design, Design

Page 35: 3rdYear.docx

Reviews, Function oriented software design(Chapter5 of textbook1 sections 5.1,5.4,5.5,5.7 and chapter 6 of Text Book2) (8hrs)

5. CODING AND TESTINGCoding, Code review,Internal documentation, External documentation, Software faults and failures, Testing Issues, Unit testing, Integration testing, Test plan(Chapter 10 from Textbook2 sections 10.1,10.2,10.3 and Chapter8 from Text Book1 sections 8.1 to 8.4 and 8.6) (7hrs)

6. PLANNING AND MANAGING THE PROJECTTracking Progress, Project Personnel, Effort Estimation, Risk Management, The project plan(Chapter 3 from Text Book1 sections 3.1 to 3.5) (7hrs)

Text Books:1. Shari Lawrence Pfleeger, Joanne M. Atlee “Software Engineering Theory and

Practice” 4th edition Pearson 2010 2. Rajib Mall “Fundamentals of Software Engineering” 3rd edition PHI learning 2009.

References:

1. Roger S. Pressman “Software Engineering A Practioner’s Approach, McGraw-Hill, 6th edition, 2005.

2. Ian Sommerville “Software Engineering”, Pearson, 9th edition, 20103. Pankaj Jalote “ An integrated approach to Software Engineering” Springer, 3rd

edition, 2005.

CSE 314 LANGUAGE PROCESSORS LAB

[ 0 0 3 1 ]

1. Preliminary Scanning Applications2. Design & Implementation of Lexical Analyzer (3 Weeks)3. Design & Implementation of Parser (3 Weeks)4. Implementation of Code Generator (3 Weeks)5. Programs using LEX6. Programs using YACC

References:

1. V. Aho, R. Sethi and J. D. Ullman, “Compilers - Principles, Techniques and Tools”, Pearson Education

2. Kenneth C. Louden, “Compiler Construction - Principles and Practice”, Thomson, India Edition , 2007.

Page 36: 3rdYear.docx

CSE 316 COMPUTER NETWORKS LAB[ 0 0 3 1 ]

1. Programs on UNIX/LINUX file API's2. Client-Server Programming using TCP and UDP (3Weeks)3. Implementation of Data Encapsulation, De-capsulation, fragmentation in TCP/IP (2

Weeks)4. Networking basics:(IN LINUX OS)

Basic Network Configurations: Assigning IP address, Subnet Mask, gateway address, LAN behind proxy, Connecting to Internet

5. Network Server Configurations:(IN LINUX OS) Web Server/Telnet/SSH Server, FTP/TFTP Server, DHCP Server, DNS Server, Database Server (MySQL/PostGreSql), Squid etc. (5Weeks)

References:

1. W. Richard Stevens - Unix Network Programming, Vol. 1 & 2,PE2. W R Richard Stevens - Advanced Programming in UNIX environment , PE3. Web sites related to C socket programming, network programming,

network simulators etc.

Page 37: 3rdYear.docx

CSE 318 PARALLEL PROGRAMMING LAB[ 0 0 3 1]

1. Solving problems using Semaphores in Win32 / .NET2. Solving deadlock problems using Semaphores3. Solving problems using Locks, Condition Variables4. Thread creation and management using Win32 / .NET5. Solving problems using threads in Win32 / .NET 6. Pthread creation in Linux / windows7. Pthread management 8. Solving synchronization problems using Pthread synchronization primitives9. Openmp parallel pragma 10. Openmp work sharing constructs 11. Openmp library routines and environment variables12. A linear algebra problem solution using Openmp

References:

1. Shameem Akhter, Jason Roberts, “Multi-Core Programming: Increasing Performance through Software Multi-threading”, Intel Press, 2006.

2. Richard Gerber, Aart J. C Bik, Kevin B. Smith, and Xinmin Tian, The Software Optimization Cookbook High Performance Recipes for IA-32 Platforms, 2nd Edition, Intel Press

3. Michael J Quinn, “Parallel Computing: Theory and Practice” Tata McGraw