- Written by KamatchiPriya
- Hits: 2209
2010 CSE V SEM- BE Curriculum and Syllabus
Curriculum and Syllabus: B.E.2010 CSE, Anna University Madurai 2010
Semester: 5
10144CS502, Software Engineering
Subject Introduction / Notes not available
Unit I - SOFTWARE PRODUCT AND PROCESS
Introduction - S/W Engineering Paradigm - Verification - Validation - Life Cycle Models - System Engineering - Computer Based System - Business Process Engineering Overview - Product Engineering
Unit II - SOFTWARE REQUIREMENTS
Functional and Non-Functional - Software Document - Requirement Engineering Process - Feasibility Studies - Software Prototyping - Prototyping in the Software Process - Data - Functional and Behavioral Models - Structured Analysis and Data Dictionary
Unit III - ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES
Systems Engineering - Analysis Concepts - Design Process And Concepts - Modular Design - Design Heuristic - Architectural Design - Data Design - User Interface Design - Real Time Software Design - System Design - Real Time Executives - Data Acquisition System - Monitoring And Control System
Unit IV - TESTING
Taxonomy Of Software Testing - Types Of S/W Test - Black Box Testing - Testing Boundary Conditions - Structural Testing - Test Coverage Criteria Based On Data Flow Mechanisms - Regression Testing - Unit Testing - Integration Testing - Validation Testing - System Testing And Debugging - Software Implementation Techniques
Unit V - SOFTWARE PROJECT MANAGEMENT
Measures And Measurements - ZIPF's Law - Software Cost Estimation - Function Point Models - COCOMO Model - Delphi Method - Scheduling - Earned Value Analysis - Error Tracking - Software Configuration Management - Program Evolution Dynamics - Software Maintenance - Project Planning - Project Scheduling - Risk Management - CASE Tools
TEXT BOOKS:
1. Ian Sommerville, -Software engineering-, Seventh Edition, Pearson Education Asia, 2007.
2. Roger S. Pressman, -Software Engineering - A practitioner-s Approach-, Sixth Edition, McGraw-Hill International Edition, 2005.
REFERENCES
1. Watts S.Humphrey,-A Discipline for Software Engineering-, Pearson Education,2007.
2. James F.Peters and Witold Pedrycz,-Software Engineering, An Engineering Approach-, Wiley-India, 2007.
3. Stephen R.Schach, - Software Engineering-, Tata McGraw-Hill Publishing Company Limited, 2007.
4. S.A.Kelkar,-Software Engineering-, Prentice Hall of India Pvt, 2007.
10144CS503-CSE, COMPUTER NETWORKS
Subject Introduction / Notes not available
Unit I - Network architecture
layers - Physical links - Channel access on links - Hybrid multiple access techniques - Issues in the data link layer - Framing - Error correction and detection - Link-level Flow Control
Unit II - Medium access
CSMA - Ethernet - Token ring - FDDI - Wireless LAN - Bridges and Switches
Unit III - Circuit switching vs. packet switching / Packet switched networks
IP - ARP - RARP - DHCP - ICMP - Queueing discipline - Routing algorithms - RIP - OSPF - Subnetting - CIDR - Interdomain routing - BGP - Ipv6 - Multicasting - Congestion avoidance in network layer
Unit IV - UDP
TCP - Adaptive Flow Control - Adaptive Retransmission - Congestion control - Congestion avoidance - QoS
Unit V - Email (SMTP, MIME, IMAP, POP3)
HTTP - DNS - SNMP - Telnet - FTP - Security - PGP - SSH
TEXT BOOK:
1. Larry L. Peterson, Bruce S. Davie, -Computer Networks: A Systems Approach-, Fourth Edition, Morgan Kauffmann Publishers Inc., 2009, Elsevier.
REFERENCES:
1. James F. Kuross, Keith W. Ross, -Computer Networking, A Top-Down Approach Featuring the Internet-, Third Edition, Addison Wesley, 2004.
2. Nader F. Mir, -Computer and Communication Networks-, Pearson Education, 2007
3. Comer, -Computer Networks and Internets with Internet Applications-, Fourth Edition, Pearson Education, 2005.
4. Andrew S. Tanenbaum, -Computer Networks-, Sixth Edition, 2003, PHI Learning.
5. William Stallings, -Data and Computer Communication-, Sixth Edition, Pearson Education, 2000
6. P.C.Gupta, -Data communications and Computer Networks-, PHI Learning India, 2008
10144CS504, THEORY OF COMPUTATION
Subject Introduction / Notes not available
Unit I - AUTOMATA
Introduction to formal proof - Additional forms of proof - Inductive proofs - Finite Automata (FA) - Deterministic Finite Automata (DFA) - Non-deterministic Finite Automata (NFA) - Finite Automata with Epsilon transitions.
Unit II - REGULAR EXPRESSIONS AND LANGUAGES
Regular Expression - FA and Regular Expressions - Proving languages not to be regular - Closure properties of regular languages - Equivalence and minimization of Automata.
Unit III - CONTEXT-FREE GRAMMARS AND LANGUAGES
Context-Free Grammar (CFG) - Parse Trees - Ambiguity in grammars and languages - Definition of the Pushdown automata - Languages of a Pushdown Automata - Equivalence of Pushdown automata and CFG - Deterministic Pushdown Automata.
Unit IV - PROPERTIES OF CONTEXT-FREE LANGUAGES
Normal forms for CFG - Pumping Lemma for CFL - Closure Properties of CFL - Turing Machines - Programming Techniques for TM.
Unit V - UNDECIDABALITY
A language that is not Recursively Enumerable (RE) - An undecidable problem that is RE - Undecidable problems about Turing Machine - Post's Correspondence Problem - The classes P and NP.
TEXT BOOK
1. J.E. Hopcroft, R. Motwani and J.D. Ullman, "Introduction to Automata Theory, Languages and Computations", Second Edition, Pearson Education, 2007.
2. Mishra and Chandrasekaran, "Theory of Computer Science - Automata, Languages and Computation", Third Edition, PHI Learning India, 2009
REFERENCES:
1. H.R. Lewis and C.H. Papadimitriou, "Elements of the theory of Computation", Second Edition, Pearson Education, 2003.
2. Thomas A. Sudkamp," An Introduction to the Theory of Computer Science, Languages and Machines", Third Edition, Pearson Education, 2007.
3. Raymond Greenlaw an H.James Hoover, " Fundamentals of Theory of Computation, Principles and Practice", Morgan Kaufmann Publishers, 1998.
4. Micheal Sipser, "Introduction of the Theory and Computation", Thomson Brokecole,1997.
5. J. Martin, "Introduction to Languages and the Theory of computation" Third Edition, Tata Mc Graw Hill, 2007
10144CS505, SYSTEM SOFTWARE
AIM
To have an understanding of foundations of design of assemblers, loaders, linkers, and macro processors.
OBJECTIVES
To understand the relationship between system software and machine architecture.
To know the design and implementation of assemblers
To know the design and implementation of linkers and loaders.
To have an understanding of macro processors.
To have an understanding of system software tools.Subject Introduction / Notes not available
Unit I - INTRODUCTION
System software and machine architecture - The Simplified Instructional Computer (SIC) - Machine architecture - Data and instruction formats - addressing modes - instruction sets - I/O and programming
Unit II - ASSEMBLERS
Basic assembler functions - A simple SIC assembler - Assembler algorithm and data structures - Machine dependent assembler features - Instruction formats and addressing modes - Program relocation - Machine independent assembler features - Literals - Symbol - defining statements - Expressions - One pass assemblers and Multi pass assemblers - Implementation example - MASM assembler
Unit III - LOADERS AND LINKERS
Basic loader functions - Design of an Absolute Loader - A Simple Bootstrap Loader - Machine dependent loader features - Relocation - Program Linking - Algorithm and Data Structures for Linking Loader - Machine-independent loader features - Automatic Library Search - Loader Options - Loader design options - Linkage Editors - Dynamic Linking - Bootstrap Loaders - Implementation example - MSDOS linker
Unit IV - MACRO PROCESSORS
Basic macro processor functions - Macro Definition and Expansion - Macro Processor Algorithm and data structures - Machine-independent macro processor features - Concatenation of Macro Parameters - Generation of Unique Labels - Conditional Macro Expansion - Keyword Macro Parameters - Macro within Macro - Implementation example - MASM Macro Processor - ANSI C Macro language
Unit V - SYSTEM SOFTWARE TOOLS
Text editors - Overview of the Editing Process - User Interface - Editor Structure - Interactive debugging systems - Debugging functions and capabilities - Relationship with other parts of the system - User-Interface Criteria.
TEXT BOOK
1. Leland L. Beck, "System Software - An Introduction to Systems Programming", 3rd Edition, Pearson Education Asia, 2006.
REFERENCES
1. D. M. Dhamdhere, "Systems Programming and Operating Systems", Second Revised Edition, Tata McGraw-Hill, 2000.
2. John J. Donovan -Systems Programming-, Tata McGraw-Hill Edition, 2000.
3. John R. Levine, Linkers & Loaders - Harcourt India Pvt. Ltd., Morgan Kaufmann Publishers,2000.
10144CS506, PROGRAMMING PARADIGMS WITH JAVA
AIM:
To understand the concepts of object-oriented, event driven, and concurrent programming paradigms and
develop skills in using these paradigms using Java.
Unit I - OBJECT ORIENTED PROGRAMMING FUNDAMENTALS
Review of OOP - Objects and classes in Java - Defining classes - Methods - Access specifiers - Static members - Constructors - Finalize method - Arrays - Strings - Packages - JavaDoc comments
Unit II - OBJECT ORIENTED PROGRAMMING INHERITANCE
Inheritance - Class hierarchy - Polymorphism - Dynamic binding - Final keyword - Abstract classes - The Object class - Reflection - Interfaces - Object cloning - Inner classes - Proxies
Unit III - EVENT-DRIVEN PROGRAMMING
Graphics programming - Frame - Components - Working with 2D shapes - Using color, fonts, and images - Basics of event handling - Event handlers - Adapter classes - Actions - Mouse events - AWT event hierarchy - Introduction to Swing - Model View Controller design pattern - Buttons - Layout management - Swing Components
Unit IV - GENERIC PROGRAMMING
Motivation for generic programming - Generic classes - Generic methods - Generic code and virtual machine - Inheritance and generics - Reflection and generics - Exceptions - Exception hierarchy - Throwing and catching exceptions - Stack Trace Elements - Assertions - Logging
Unit V - MULTI THREADED PROGRAMMING
Multi-threaded programming - Interrupting threads - Thread states - Thread properties - Thread synchronization - Thread - Safe Collections - Executors - Synchronizers - Threads and event - Driven programming
TEXT BOOK
1.Cay S. Horstmann and Gary Cornell, "Core Java: Volume I - Fundamentals", Eighth Edition, Sun Microsystems Press, 2008.
2.Paul Deitel and Harvey Deitel, "Java - How to Program", Eighth Edition, PHI Learning India, 2010
REFERENCES
1. K. Arnold and J. Gosling, "The JAVA programming language", Third edition, Pearson Education, 2000.
2. Timothy Budd, "Understanding Object-oriented programming with Java", Updated Edition, Pearson Education, 2000.
3. C. Thomas Wu, "An introduction to Object-oriented programming with Java", Fourth Edition, Tata McGraw-Hill Publishing company Ltd., 2006.
10144CS501, Discrete Mathematics
AIM
To extend students Logical and Mathematical maturity and ability to deal with abstraction and to
introduce most of the basic terminologies used in computer science courses and application of ideas to
solve practical problems.
OBJECTIVES
At the end of the course, students would (i) Have knowledge of the concepts needed to test the logic of a
program. (ii) Have an understanding in identifying structures on many levels.(iii)Be aware of a class of
functions which transform a finite set into another finite set which relates to input output functions in
computer science.(iv) Be aware of the counting principles (v)Be exposed to concepts and properties of
algebraic structures such as semi groups, monoids and groups.
Unit I - LOGIC AND PROOFS
Propositional Logic - Propositional equivalences - Predicates and quantifiers - Nested Quantifiers - Rules of inference - introduction to Proofs - Proof Methods and strategy
Unit II - COMBINATORICS
Mathematical inductions - Strong induction and well ordering - The basics of counting - The pigeon hole principle - Permutations and combinations - Recurrence relations - Solving Linear recurrence relations - generating functions - inclusion and exclusion and applications
Unit III - GRAPHS
Graphs and graph models - Graph terminology and special types of graphs - Representing graphs and graph isomorphism - connectivity - Euler and Hamilton paths
Unit IV - ALGEBRAIC STRUCTURES
Algebraic systems - Semi groups and monoids - Groups - Subgroups and homo morphisms - Cosets and Lagrange?s theorem - Ring & Fields (Definitions and examples)
Unit V - LATTICES AND BOOLEAN ALGEBRA
Partial ordering-Posets - Lattices as Posets - Properties of lattices - Lattices as Algebraic systems - Sub lattices - direct product and Homomorphism - Some Special lattices - Boolean Algebra
TEXT BOOKS:
1. Kenneth H.Rosen, -Discrete Mathematics and its Applications-, Special Indian edition, Tata McGraw-Hill Pub. Co. Ltd., New Delhi, (2007). (For the units 1 to 3,Sections 1.1 to 1.7 , 4.1 & 4.2, 5.1 to 5.3, 6.1,6.2, 6.4 to 6.6, 8.1 to 8.5)
2. Trembly J.P and Manohar R, -Discrete Mathematical Structures with Applications to Computer Science-, Tata McGraw-Hill Pub. Co. Ltd, New Delhi, 30th Re-print (2007).(For units 4 & 5 , Sections 2-3.8 & 2-3.9,3-1,3-2 & 3-5, 4-1 & 4-2)
3. Chandrasekaran and UmaParvathi, -Discrete mathematics-, PHI Learning India, 2010
REFERENCES:
1. Ralph. P. Grimaldi, -Discrete and Combinatorial Mathematics: An Applied Introduction-, Fourth Edition, Pearson Education Asia, Delhi, (2002).
2. Thomas Koshy, -Discrete Mathematics with Applications-, Elsevier Publications,(2006).
3. Seymour Lipschutz and Mark Lipson, -Discrete Mathematics-, Schaum-s Outlines, Tata McGraw-Hill Pub. Co. Ltd., New Delhi, Second edition, (2007).
10144CS507, NETWORK LAB
Subject Introduction / Notes not available
Unit I - List of programs
1. Programs using TCP Sockets (like date and time server & client, echo server & client, etc..) - 2. Programs using UDP Sockets (like simple DNS)
Unit II - 3. Programs using Raw sockets (like packet capturing and filtering)
4. Programs using RPC
Unit III - 5. Simulation of sliding window protocols Experiments using simulators (like OPNET)
6. Performance comparison of MAC protocols
Unit IV - 7. Implementing Routing Protocols
8. Performance comparison of Routing protocols
Unit V - 9. Study of UDP performance
10. Study of TCP performance.
Books information not available
10144CS508, SYSTEM SOFTWARE LAB
Subject Introduction / Notes not available
Unit I - List of Programs
1. Implement a symbol table with functions to create, insert, modify, search, and display. - 2. Implement pass one of a two pass assembler.
Unit II - 3. Implement pass two of a two pass assembler.
4. Implement a single pass assembler.
Unit III - 5. Implement a two pass macro processor
6. Implement a single pass macro processor.
Unit IV - 7. Implement an absolute loader.
8. Implement a relocating loader. - 9. Implement pass one of a direct-linking loader.
Unit V - 10. Implement pass two of a direct-linking loader.
11. Implement a simple text editor with features like insertion / deletion of a character,word, and entence. - 12. Implement a symbol table with suitable hashing
Books information not available
10144CS509, JAVA PROGRAMMING LAB
Subject Introduction / Notes not available
Unit I - List of Programs:
1. Develop Rational number class in Java. Use JavaDoc comments for documentation. - Your implementation should use efficient representation for a rational number, i.e.(500 / 1000) should be represented as (½). - 2. Develop Date class in Java similar to the one available in java.util package. Use JavaDoc comments.
Unit II - 3. Implement Lisp-like list in Java. Write basic operations such as 'car', 'cdr', and 'cons'.
If L is a list [3, 0, 2, 5], L.car() returns 3, while L. - 4. Design a Java interface for ADT Stack. Develop two different classes that implement this interface, - one using array and the other using linked-list. Provide necessary exception handling in both the implementations.
Unit III - 5. Design a Vehicle class hierarchy in Java. Write a test program to demonstrate polymorphism.
6. Design classes for Currency, Rupee, and Dollar. Write a program that randomly generates Rupee and Dollar objects and - write them into a file using object serialization. Write another program to read that file, - convert to Rupee if it reads a Dollar, while leave the value as it is if it reads a Rupee.
Unit IV - 7. Design a scientific calculator using event-driven programming paradigm of Java.
8. Write a multi-threaded Java program to print all numbers below 100,000 that are both prime and - fibonacci number (some examples are 2, 3, 5, 13, etc.). Design a thread that generates prime numbers - below 100,000 and writes them into a pipe. - Design another thread that generates fibonacci numbers and writes them to another pipe. - The main thread should read both the pipes to identify numbers common to both.
Unit V - 9. Develop a simple OPAC system for library using even-driven and concurrent programming paradigms of Java.
Use JDBC to connect to a back-end database - 10. Develop multi-threaded echo server and a corresponding GUI client in Java. - 11. [Mini-Project] Develop a programmer's editor in Java that supports syntax highlighting, - compilation support, debugging support, etc.
Books information not available