Thursday, April 21, 2011

CS2304 PROGRAMMING PARADIGMS 5th semester Anna University Syllabus


CS2304 PROGRAMMING PARADIGMS                           

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  Concurrent Programming                                                                     
Multi-threaded programming – interrupting threads – thread states – thread properties – thread synchronization – thread-safe Collections – Executors – synchronizers – threads and event-driven programming

Text Book
Cay S. Horstmann and Gary Cornell, “Core Java: Volume I – Fundamentals”, Eighth Edition, Sun Microsystems Press, 200.

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.

IT2306 SYSTEM SOFTWARE 5th Semester CSE ANNA UNIVERSITY SYLLABUS


IT2306                       SYSTEM SOFTWARE                                            

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.

CS2303 THEORY OF COMPUTATION ANNA UNIVERSITY SYLLABUS


CS2303  THEORY OF COMPUTATION                                                

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 BOOKS:

1.            J.E. Hopcroft, R. Motwani and J.D. Ullman, “Introduction to Automata Theory, Languages and Computations”, second Edition, Pearson Education, 2007.

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, 1.
4.             Micheal Sipser, “Introduction of the Theory and Computation”, Thomson Brokecole, 17.
5.            J. Martin, “Introduction to Languages and the Theory of  computation”                          Third Edition,  Tata Mc Graw Hill, 2007

MA2311 DISCRETE MATHEMATICS FIVTH ANNA UNIVERSITY CHENNAI SYLLABUS


                                                                                                                           
                                                                                                                          
AIM
To extend student’s 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
·                     Have knowledge of the concepts needed to test the logic of a program..
·                     Have an understanding in identifying structures on many levels.
·                     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.
·                     Be aware of the counting principles
·                     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 pigeonhole 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 homomorphisms-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
       
LECTURES :45                             TUTORIAL :15                                     TOTAL: 60

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, .1 to .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. & 2-3.,3-1,3-2 & 3-5, 4-1  & 4-2)

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).

CS2301 SOFTWARE ENGINEERING FIVTH ANNA UNIVERSITY CHENNAI SYLLABUS


CS2301  SOFTWARE ENGINEERING                                           

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 Overview.

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
                                                                                                                       
         TOTAL = 45

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.

IT2305 JAVA PROGRAMMING LAB FIVTH ANNA UNIVERSITY CHENNAI SYLLABUS


IT2305 JAVA PROGRAMMING LAB                                                   




  1. Develop a Java package with simple Stack and Queue classes.  Use JavaDoc comments for documentation.
  2. Design a class for Complex numbers in Java.  In addition to methods for basic operations on complex numbers, provide a method to return the number of active objects created.
  3. Design a Date class similar to the one provided in the java.util package.
  4. Develop with suitable hierarchy, classes for Point, Shape, Rectangle, Square, Circle, Ellipse, Triangle, Polygon, etc.  Design a simple test application to demonstrate dynamic polymorphism.
  5. 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.
  6. Write a Java program to read a file that contains DNA sequences of arbitrary length one per line (note that each DNA sequence is just a String).  Your program should sort the sequences  in descending order with respect to the number of 'TATA' subsequences present.  Finally write  the sequences in sorted order into another file.
  7. Develop a simple paint-like program that can draw basic graphical primitives in different dimensions and colors. Use appropriate menu and buttons.
  8. Develop a scientific calculator using even-driven programming paradigm of Java.
  9. Develop a template for linked-list class along with its methods in Java.
  10. Design a thread-safe implementation of Queue class.  Write a multi-threaded producer-consumer application that uses this Queue class.
  11. Write a multi-threaded Java program to print all numbers below  0,000 that are both prime and fibonacci number (some examples are 2, 3, 5, 13, etc.).  Design a thread that generates prime numbers below  0,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.
  12. Develop a multi-threaded GUI application of your choice.

IT2302 INFORMATION THEORY AND CODING FIVTH ANNA UNIVERSITY CHENNAI SYLLABUS


IT2302 INFORMATION THEORY AND CODING                                 

UNIT I                         INFORMATION THEORY                                                                          
Information – Entropy, Information rate, classification of codes, Kraft McMillan inequality, Source coding theorem, Shannon-Fano coding, Huffman coding, Extended Huffman coding - Joint and conditional entropies, Mutual information - Discrete memoryless channels – BSC, BEC – Channel capacity, Shannon limit.

UNIT II            SOURCE CODING: TEXT, AUDIO AND SPEECH                                             
Text: Adaptive Huffman Coding, Arithmetic Coding, LZW algorithm – Audio: Perceptual coding, Masking techniques, Psychoacoustic model, MEG Audio layers I,II,III, Dolby AC3 -  Speech: Channel Vocoder, Linear Predictive Coding

UNIT III           SOURCE CODING:  IMAGE AND VIDEO                                                
Image and Video Formats – GIF, TIFF, SIF, CIF, QCIF – Image compression: READ, JPEG – Video Compression: Principles-I,B,P frames, Motion estimation, Motion compensation, H.261, MPEG standard

UNIT IV           ERROR CONTROL CODING: BLOCK CODES                                      
Definitions and Principles: Hamming weight, Hamming distance, Minimum distance decoding - Single parity codes, Hamming codes, Repetition codes - Linear block codes, Cyclic codes - Syndrome calculation, Encoder and decoder - CRC

UNIT V            ERROR CONTROL CODING: CONVOLUTIONAL CODES                  
Convolutional codes – code tree, trellis, state diagram - Encoding – Decoding: Sequential search and Viterbi algorithm – Principle of Turbo coding
Total= 45 Periods

TEXT BOOKS:
  1. R Bose, “Information Theory, Coding and Crptography”, TMH 2007
  2. Fred Halsall, “Multidedia Communications: Applications, Networks, Protocols and Standards”, Perason Education Asia, 2002


REFERENCES:
  1. K Sayood, “Introduction to Data Compression” 3/e, Elsevier 2006
  2. S Gravano, “Introduction to Error Control Codes”, Oxford University Press 2007
  3. Amitabha Bhattacharya, “Digital Communication”, TMH 2006

CS2403 DIGITAL SIGNAL PROCESSING ANNA UNIVERSITY SYLLABUS


CS2403 DIGITAL SIGNAL PROCESSING                                              
                                                                                               
UNIT I                         SIGNALS AND SYSTEMS                                                                         
Basic elements of DSP – concepts of frequency in Analog and Digital Signals – sampling theorem – Discrete – time signals, systems – Analysis of discrete time LTI systems – Z transform – Convolution (linear and circular) – Correlation.

UNIT II            FREQUENCY TRANSFORMATIONS                                                      
Introduction to DFT – Properties of DFT – Filtering methods based on DFT – FFT Algorithms  Decimation – in – time Algorithms, Decimation – in – frequency Algorithms – Use of FFT in Linear Filtering – DCT.

UNIT III           IIR FILTER DESIGN                                                                                    
Structures of IIR – Analog filter design – Discrete time IIR filter from analog filter – IIR filter design by Impulse Invariance, Bilinear transformation, Approximation of derivatives – (HPF, BPF, BRF)  filter design using frequency translation

UNIT IV           FIR FILTER DESIGN                                                                                              
Structures of FIR – Linear phase FIR filter – Filter design using windowing techniques, Frequency sampling techniques – Finite word length effects in digital Filters

UNIT V            APPLICATIONS                                                                                          
Multirate  signal processing – Speech compression – Adaptive filter – Musical sound processing – Image enhancement.

TEXT BOOKS:

  1. John G. Proakis & Dimitris G.Manolakis, “Digital Signal Processing – Principles, Algorithms & Applications”, Fourth edition, Pearson education / Prentice Hall, 2007.
  2. Emmanuel C..Ifeachor, & Barrie.W.Jervis, “Digital Signal Processing”, Second edition, Pearson Education / Prentice Hall, 2002.

REFERENCES:

  1. Alan V.Oppenheim, Ronald W. Schafer & Hohn. R.Back, “Discrete Time Signal Processing”, Pearson Education.
  2. Andreas Antoniou, “Digital Signal Processing”, Tata McGraw Hill.

CS2302 COMPUTER NETWORKS ANNA UNIVERSITY SYLLABUS


CS2302 COMPUTER NETWORKS                                                              
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                                                                                                                
Total= 45 Periods



TEXT BOOKS :

1.    Larry L. Peterson, Bruce S. Davie, “Computer Networks: A Systems Approach”, Third Edition, Morgan Kauffmann Publishers Inc., 2003.

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, 2003.
4.    Andrew S. Tanenbaum, “Computer Networks”, Fourth Edition, 2003.
5.    William Stallings, “Data and Computer Communication”, Sixth Edition, Pearson Education, 2000