06.04.2013 Views

M S RAMAIAH INSTITUTE OF TECHNOLOGY, BANGALORE – 560 ...

M S RAMAIAH INSTITUTE OF TECHNOLOGY, BANGALORE – 560 ...

M S RAMAIAH INSTITUTE OF TECHNOLOGY, BANGALORE – 560 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Courses<br />

Electives<br />

M S <strong>RAMAIAH</strong> <strong>INSTITUTE</strong> <strong>OF</strong> <strong>TECHNOLOGY</strong>, <strong>BANGALORE</strong> <strong>–</strong> <strong>560</strong> 054<br />

(AUTONOMOUS <strong>INSTITUTE</strong>, AFFILIATED TO VTU)<br />

SCHEME <strong>OF</strong> TEACHING FOR THE ACADEMIC YEAR 2008 - 2009<br />

IV SEMESTER MASTER <strong>OF</strong> COMPUTER APPLICATIONS<br />

S.No Subject Code Subject<br />

Credits*<br />

L T P Total<br />

1 MCA41 Computer Networks 4 0 0 4<br />

2 MCA42 Software Engineering 3 0 1 4<br />

3 MCA43 Operating Systems 4 0 0 4<br />

4 MCAE-- Elective I<br />

5 MCAE-- Elective II<br />

6 MCAE-- Elective III<br />

Subject Code Subject<br />

Credits*<br />

L T P Total<br />

MCAE01 Java 4 0 1 5<br />

MCAE02 Computer Graphics and Visualization 3 0 1 4<br />

MCAE03 UNIX System Programming 3 0 1 4<br />

MCAE04 Multimedia Systems 4 0 0 4<br />

MCAE05 Principles of User Interface Design 3 0 1 4<br />

MCAE06 Compiler Design 4 0 0 4<br />

MCAE07 Microprocessor and Multicore<br />

Technologies<br />

3 0 1 4<br />

MCAE08 Web2.0 and Rich Internet Applications 2 1 1 4<br />

* L: Lecture T: Tutorial P: Practical<br />

1


Computer Networks<br />

Subject Code: MCA41 Credits:4:0:0<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Computer Networks and the Internet:<br />

What Is the Internet?, The Network Edge, The Network Core, Access Networks and Physical Media,<br />

ISP and Internet Backbones, Delay, Loss, and Throughput in Packet-Switched Networks, Protocol<br />

Layers and Their Service Models, Networks Under Attack, History of Computer Networking and the<br />

Internet<br />

UNIT <strong>–</strong> II<br />

Application Layer:<br />

Principles of Network Applications, The Web and HTTP, File Transfer: FTP, Electronic Mail in the<br />

Internet, DNS—The Internet’s Directory Service, Peer-to-Peer Applications, Socket Programming<br />

with TCP, Socket Programming with UDP<br />

UNIT <strong>–</strong> III<br />

Transport Layer:<br />

Introduction and Transport-Layer Services, Multiplexing and Demultiplexing, Connectionless<br />

Transport: UDP, Principles of Reliable Data Transfer, Connection-Oriented Transport: TCP,<br />

Principles of Congestion Control, TCP Congestion Control<br />

UNIT <strong>–</strong> IV<br />

The Network Layer<br />

Introduction, Virtual Circuit and Datagram Networks, What’s Inside a Router?, The Internet Protocol<br />

(IP): Forwarding and Addressing in the Internet, Routing Algorithms, Routing in the Internet,<br />

Broadcast and Multicast Routing<br />

UNIT <strong>–</strong> V<br />

The Link Layer and Local Area Networks:<br />

Link Layer: Introduction and Services, Error-Detection and -Correction Techniques, Multiple Access<br />

Protocols, Link-Layer Addressing, Ethernet, Link-Layer Switches, PPP: The Point-to-Point Protocol,<br />

Link Virtualization: A Network as a Link Layer<br />

UNIT <strong>–</strong> VI<br />

Wireless and Mobile Networks:<br />

Introduction, Wireless Links and Network Characteristics, WiFi: 802.11 Wireless LANs<br />

UNIT <strong>–</strong> VII<br />

Multimedia Networking:<br />

Multimedia Networking Applications, Streaming Stored Audio and Video<br />

UNIT <strong>–</strong> VIII<br />

Security in Computer Networks<br />

What Is Network Security?, Principles of Cryptography,Authentication,<br />

Network Management: What Is Network Management?, The Infrastructure for Network<br />

Management, The Internet-Standard Management Framework<br />

Text Books:<br />

James F. Kurose, Keith W. Ross: Computer Networking- A Top-Down Approach, 4 th Edition ,<br />

Addison-Wesley<br />

Chapters: 1, 2, 3, 4, 5, 6.1-6.3, 7.1, 7.2, 8.1-8.3, 9.1-9.3.<br />

Reference Books:<br />

1. Behrouz A. Forouzan: Data Communications and Networking, 4 th Edition, Tata McGraw-<br />

Hill, 2006.<br />

2. Alberto Leon-Garcia and Indra Widjaja: Communication Networks -Fundamental Concepts<br />

and Key architectures, 3 rd Edition Tata McGraw-Hill, 2004.<br />

3. William Stallings: Data and Computer Communication, 8 th Edition, Pearson Education, 2007.<br />

2


4. Larry L. Peterson and Bruce S. David: Computer Networks <strong>–</strong> A Systems Approach, 4 th<br />

Edition, Elsevier, 2007.<br />

5. Wayne Tomasi: Introduction to Data Communications and Networking, Pearson Education,<br />

2005.<br />

6. Nader F. Mir: Computer and Communication Networks, Pearson Education, 2007.<br />

Software Engineering<br />

Subject Code: MCA42 Credits: 3:0:1<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Overview<br />

Introduction: FAQ's about software engineering, Professional and ethical responsibility.<br />

Socio-Technical systems: Emergent system properties; Systems engineering; Organizations, people<br />

and computer systems; Legacy systems.<br />

UNIT <strong>–</strong> II<br />

Critical Systems, Software Processes<br />

Critical Systems: A simple safety-critical system; System dependability; Availability and reliability.<br />

Software Processes: Models, Process iteration, Process activities; The Rational Unified Process;<br />

Computer-Aided Software Engineering.<br />

UNIT <strong>–</strong> III<br />

Requirements<br />

Software Requirements: Functional and Non-functional requirements; User requirements; System<br />

requirements; Interface specification; the software requirements document.<br />

Requirements Engineering Processes: Feasibility studies; Requirements elicitation and analysis;<br />

Requirements validation; Requirements management.<br />

UNIT <strong>–</strong> IV<br />

System models, Project Management<br />

System Models: Context models; Behavioral models; Data models; Object models; Structured<br />

methods.<br />

Project Management: Management activities; Project planning; Project scheduling; Risk management.<br />

UNIT <strong>–</strong> V<br />

Software Design<br />

Architectural Design: Architectural design decisions; System organization; Modular decomposition<br />

styles;<br />

Object-Oriented design: Objects and Object Classes; An Object-Oriented design process; Design<br />

evolution.<br />

Agent-oriented design: Agents, Multi agents, over view of agent-oriented software engineering<br />

methodologies.<br />

UNIT <strong>–</strong> VI<br />

Development<br />

Rapid Software Development: Agile methods; Extreme programming; Rapid application<br />

development.<br />

Software Evolution: Program evolution dynamics; Software maintenance; Evolution processes;<br />

Legacy system evolution.<br />

UNIT <strong>–</strong> VII<br />

Verification and Validation<br />

Verification and Validation: Planning; Software inspections; automated static analysis; Verification<br />

and formal methods.<br />

Software testing: System testing; Component testing; Test case design; Test automation.<br />

UNIT <strong>–</strong> VIII<br />

Software Cost Estimation<br />

Software Cost Estimation: Productivity; Estimation techniques; Algorithmic cost modeling, Project<br />

duration and staffing.<br />

3


CASE Tools<br />

Introduction to Rational Requiste pro , Microsoft visio3<br />

Laboratory<br />

NOTES:<br />

• A team of TWO students must develop the mini project. However, during the examination,<br />

each student must demonstrate the project individually.<br />

• The team may select a mini project of their choice.<br />

• The team must submit a Report that must include the following:<br />

• Synopsis<br />

• Requirement capturing<br />

Requirement elicitation can be done through<br />

1. Existing Documents<br />

2. Observing current system<br />

3. Interviewing users or stakeholders<br />

4. Brainstorming session<br />

5. Through Questionnaire<br />

• Prepare a detailed SRS according to IEEE format<br />

• Preliminary Design<br />

Using VISIO the students have to prepare the design document which includes<br />

1. Structure charts<br />

2. Flow charts<br />

3. Data Flow Diagram<br />

4. ER Diagram<br />

Text Books:<br />

1. Ian Sommerville: Software Engineering, 8 th Edition, Pearson Education Publications.<br />

(Chapters-: 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 17, 21, 22, 23, 26)<br />

2. Richard Murch, Tony Johnson, “Intelligent Software agents”, Prentice Hall<br />

Reference Books:<br />

1. Roger.S.Pressman: Software Engineering-A Practitioners approach, 7 th Edition,McGraw-Hill,<br />

2007.<br />

2. Shari Lawrence Pfleeger, Joanne M. Atlee: Software Engineering Theory and Practice, 3 rd<br />

Edition, Pearson Education, 2006.<br />

3. Waman S Jawadekar: Software Engineering Principles and Practice, Tata McGraw Hill, 2004.<br />

Operating Systems<br />

Subject Code: MCA43 Credits: 4:0:0<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Introduction to Operating Systems, System structures<br />

What operating systems do; Computer System organization; Computer System architecture;<br />

Operating System structure; Operating System operations; Process management; Memory<br />

management; Storage management; Protection and security; Distributed system; Special-purpose<br />

systems; Computing environments. Operating System Services; User - Operating System interface;<br />

System calls; Types of system calls; System programs; Operating System design and implementation;<br />

Operating System structure; Virtual machines; Operating System generation; System boot.<br />

UNIT <strong>–</strong> II<br />

Process Management<br />

Process concept; Process scheduling; Operations on processes; Inter-process communication. Multi-<br />

Threaded Programming: Overview; Multithreading models; Thread Libraries; Threading issues.<br />

Process Scheduling: Basic concepts; Scheduling criteria; Scheduling algorithms; Multiple-Processor<br />

scheduling; Thread scheduling.<br />

UNIT <strong>–</strong> III<br />

4


Process Synchronization<br />

Synchronization: The Critical section problem; Peterson’s solution; Synchronization hardware;<br />

Semaphores; Classical problems of synchronization; Monitors, Atomic Transactions.<br />

UNIT <strong>–</strong> IV<br />

Deadlocks<br />

Deadlocks: System model; Deadlock characterization; Methods for handling deadlocks; Deadlock<br />

prevention; Deadlock avoidance; Deadlock detection and recovery from deadlock.<br />

UNIT <strong>–</strong> V<br />

Memory Management<br />

Memory Management Strategies: Background; Swapping; Contiguous memory allocation; Paging;<br />

Structure of page table; Segmentation. Virtual Memory Management: Background; Demand paging;<br />

Copy-on-write; Page replacement; Allocation of frames; Thrashing.<br />

UNIT <strong>–</strong> VI<br />

File System, Implementation of File System<br />

File System: File concept; Access methods; Directory structure; File system mounting; file haring;<br />

Protection. Implementing File System: File system structure; File system implementation;<br />

Directory implementation; Allocation methods; Free space management.<br />

UNIT <strong>–</strong> VII<br />

Secondary Storage Structures, Protection<br />

Mass storage structures; Disk structure; Disk attachment; Disk scheduling; Disk management; Swap<br />

space management. Protection: Goals of protection, Principles of protection, Domain of protection,<br />

Access matrix, Implementation of access matrix, Access control, Revocation of access rights,<br />

Capability-Based systems.<br />

UNIT <strong>–</strong> VIII<br />

Case Study:<br />

Windows XP: History, Design Principles, System Components, Environmental Subsystems, File<br />

System, Networking, Programmer Interface.<br />

Text Books:<br />

1. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating System Principles, 7 th edition,<br />

Wiley-India, 2006.<br />

(Chapters: 1, 2, 3.1 to 3.4 , 4.1 to 4.4, 5.1 to 5.5, 6.1 to 6.7,6.9, 7, 8.1 to 8.6, 9.1 to 9.6, 10, 11.1 to<br />

11.5, 12.1 to 12.6, 17.1 to 17.8, 21.1 to 21.9,22.1 to 22.7)<br />

Reference Books:<br />

1. D.M Dhamdhere: Operating systems - A concept based Approach, 2 nd Edition, Tata McGraw- Hill,<br />

2002.<br />

2. P.C.P. Bhatt: Operating Systems, 2 nd Edition, PHI, 2006.<br />

3. Harvey M Deital: Operating systems, 3 rd Edition, Addison Wesley, 1990.<br />

JAVA<br />

Subject Code: MCAE01 Credits: 4:0:1<br />

Prerequisite: MCA31<br />

Unit I<br />

An Overview of Java: Object-Oriented Programming, A First Simple Program, A Second Short<br />

Program, Using Blocks of Code Lexical Issues, The Java Class Libraries. Data Types, Variables, and<br />

Arrays: Java Is a Strongly Typed Language, The Primitive Types, A Closer Look at Literals,<br />

Variables, Type Conversion and casting, Automatic Type promotion in Expression, Arrays, A few<br />

words about Strings. Operators: Arithmetic Operators, The Bitwise Operators, Relational Operators<br />

Boolean Logical Operators, The Assignment Operator, The ? Operator, Operator Precedence, Using<br />

Parentheses. Control Statements: Java’s Selection, Iteration Statements, Jump Statements.<br />

Unit II<br />

5


Introducing Classes: Class Fundamentals, Declaring Objects, Assigning Object Reference Variables<br />

Introducing Methods, Constructors, The this Keyword, Garbage, The finalize( ) Method A Stack<br />

Class.<br />

A Closer Look at Methods and Classes: Overloading Methods, Overloading Constructors, Using<br />

Objects as Parameters, A Closer Look at Argument Passing, Returning Objects, Recursion,<br />

Introducing Access Control, Understanding static, Introducing final, Arrays Revisited, Introducing<br />

Nested and Inner Classes, Exploring the String Class, Using Command-Line Arguments, Varargs<br />

Unit III<br />

Inheritance: Inheritance Basics, Using super, Using super Creating a Multilevel Hierarchy, When<br />

Constructors Are Called, Method Overriding, Dynamic Method Dispatch, Using Abstract Classes,<br />

Using final with Inheritance, The Object Class. Packages and Interfaces: Packages, Access Protection,<br />

An Access Example Importing Packages, Interfaces. Exception Handling: Exception-Handling<br />

Fundamentals, Exception Types, Uncaught Exceptions Using try and catch, Multiple catch Clauses,<br />

Nested try Statements, throw, throws, finally, Java’s Built-in Exceptions, Creating Your Own<br />

Exception Subclasses, Chained Exceptions, Using Exceptions.<br />

Unit IV<br />

Multithreaded Programming: The Java Thread Model, The Main Thread, Creating a Thread, Creating<br />

Multiple Threads, Using isAlive( ) and join( ), Thread Priorities, Synchronization, Interthread<br />

Communication, Suspending, Resuming, and Stopping Threads, Using Multithreading.<br />

Input/Output: Exploring java.io: The Java I/O Classes and Interfaces, File, The Closable and<br />

Flushable Interfaces, The Stream Classes, The Byte Streams, The Character Streams, The Console<br />

Class,<br />

Using Stream I/O, Serialization, Stream Benefits.<br />

Unit V<br />

Enumeration, Autoboxing: Enumeration, Type Wrappers, Autoboxing. Generics: What are<br />

Generics?, A Simple Generics Example, A Generics Class with two Type Parameters, The General<br />

Form of a Generic Class. String Handling: The String Constructors, String Length, Special String<br />

Operations, Character Extraction, String Comparison, Searching Strings, Modifying a String, Data<br />

Conversion Using valueOf( ), Changing the Case of Characters Within a String, Additional String<br />

Methods, StringBuffer, String Builder.<br />

Unit VI<br />

Exploring java.lang: Primitive Type Wrappers, System, Object, Class, Class Loader, Math, Thread,<br />

ThreadGroup, Runnable, Throwable. The Collections Framework: Collections Overview, The<br />

Collection Interfaces, The List Interface, The Queue Interface, The Collection Classes, The ArrayList<br />

Class, The LinkedList Class, The HashSet, The TreeSet Class.<br />

Unit VII<br />

Networking, Networking Basics, The Networking Classes and Interfaces InetAddress, TCP/IP Client<br />

Sockets, URL, URLConnection, HTTP URL Connection, TCP/IP Server Sockets, Cookies,<br />

Inet4Address and Inet6Address, The URI Class, RMI.<br />

Unit VIII<br />

The Applet Class: The Applet Class, Event Handling: Two Event Handling Mechanisms, The<br />

Delegation Event Model, Event Classes, Sources of Events, Event Listener Interfaces, Using the<br />

Delegation Event Model, Adapter Classes, Inner Classes.<br />

Swing: Introducing Swing, Exploring Swing.<br />

Laboratory:<br />

Programs supplement to concepts in the theory.<br />

Text Books:<br />

Herbert Schildt: The Complete Reference JAVA , Seventh Edition, TATA McGraw HILL.<br />

Chapters: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22, 29, 30.<br />

Reference Books:<br />

1. Y.Daniel Liang: Introduction to JAVA Programming, Sixth Edition, Pearson Education.<br />

2. James P Cohoon, Jack W Davidson: Programming in JAVA 5.0, TATA McGraw HILL.<br />

6


3. Cay S Horstmann, Gary Cornell: Core Java 2, volume 1 and volume 2, Seventh Edition ,<br />

Pearson Education.<br />

Computer Graphics and Visualization<br />

Subject Code: MCAE02 Credits: 3:0:1<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Introduction<br />

Applications of computer graphics; A graphics system; Images: Physical and synthetic; Imaging<br />

systems; The synthetic camera model.<br />

UNIT <strong>–</strong> II<br />

Graphics Programming<br />

The programmer’s interface; Graphics architectures; The Sierpinski gasket; Programming twodimensional<br />

applications<br />

UNIT <strong>–</strong> III<br />

The OpenGL<br />

The OpenGL API; Primitives and attributes; Color; Viewing; Control functions; The Gasket<br />

program; Polygons and recursion; Plotting implicit functions.<br />

Input and Interaction<br />

UNIT <strong>–</strong> IV<br />

Interaction; Input devices; Clients and servers; Display lists; Display lists and modeling;<br />

Programming event-driven input; Menus; Picking; Building interactive models; Animating interactive<br />

programs; Design of interactive programs; Logic operations.<br />

UNIT <strong>–</strong> V<br />

Geometric Objects<br />

Scalars, points, and vectors; Three-dimensional primitives; Coordinate systems and frames; Modeling<br />

a colored cube .<br />

UNIT <strong>–</strong> VI<br />

Transformations<br />

Affine transformations; Rotation, translation and scaling. Transformations in homogeneous<br />

coordinates; Concatenation of transformations;<br />

UNIT <strong>–</strong> VII<br />

Viewing<br />

Classical and computer viewing; Viewing with a computer; Positioning of the camera; Simple<br />

projections; Projections in OpenGL; Hidden-surface removal; Interactive mesh displays; Parallelprojection<br />

matrices; Perspective-projection matrices; Projections and shadows.<br />

UNIT <strong>–</strong> VIII<br />

Implementation<br />

Basic implementation strategies; The major tasks; Clipping; Line-segment clipping; Polygon clipping;<br />

Clipping of other primitives; Clipping in three dimensions; Rasterization; Bresenham’s algorithm;<br />

Polygon rasterization; Hidden-surface removal; Antialiasing; Display considerations.<br />

Laboratory<br />

Implementation of 2D and 3D objects using OpenGL<br />

Text Books:<br />

Edward Angel: Interactive Computer Graphics A Top-Down Approach with OpenGL, 5 th Edition,<br />

Addison Wesley.<br />

Reference Books:<br />

1. F.S. Hill,Jr.: Computer Graphics Using OpenGL, 2 nd Edition, Pearson education, 2001.<br />

2. James D Foley, Andries Van Dam, Steven K Feiner, John F Hughes, Computer Graphics,<br />

Addison-wesley 1997.<br />

7


3. Donald Hearn and Pauline Baker: Computer Graphics- C Version, 2 nd Edition, Pearson<br />

Education, 2003.<br />

UNIX Systems Programming<br />

Subject Code: MCAE03 Credits 3:0:1<br />

Prerequisites: MCA22, MCA14/MCA31<br />

UNIT <strong>–</strong> I<br />

Introduction<br />

UNIX and ANSI Standards: The ANSI C Standard, The ANSI/ISO C++ Standards, Difference<br />

between ANSI C and C++, The POSIX Standards, The POSIX.1 FIPS Standard, The X/Open<br />

Standards.<br />

UNIX and POSIX APIs: The POSIX APIs, The UNIX and POSIX Development Environment, API<br />

Common Characteristics.<br />

UNIT - II<br />

UNIX Files<br />

File Types, The UNIX and POSIX File System, The UNIX and POSIX File Attributes, Inodes in<br />

UNIX System V, Application Program Interface to Files, UNIX Kernel Support for Files,<br />

Relationship of C Stream Pointers and File Descriptors, Directory Files, Hard and Symbolic Links.<br />

UNIT - III<br />

UNIX File APIs<br />

General File APIs, File and Record Locking, Directory File APIs, Device File APIs, FIFO File APIs,<br />

Symbolic Link File APIs, General File Class, regfile Class for Regular Files, dirfile Class for<br />

Directory Files, FIFO File Class, Device File Class, Symbolic Link File Class, File Listing Program.<br />

UNIT - IV<br />

UNIX Processes<br />

The Environment of a UNIX Process: Introduction, main function, Process Termination, Command-<br />

Line Arguments, Environment List, Memory Layout of a C Program, Shared Libraries, Memory<br />

Allocation, Environment Variables, setjmp and longjmp Functions, getrlimit, setrlimit Functions,<br />

UNIX Kernel Support for Processes.<br />

UNIT - V<br />

Process Control<br />

Introduction, Process Identifiers, fork, vfork, exit, wait, waitpid, waitid, wait3, wait4 Functions, Race<br />

Conditions, exec Functions, Changing User IDs and Group IDs, Interpreter Files, system Function,<br />

Process Accounting, User Identification, Process Times.<br />

Process Relationships: Introduction, Terminal Logins, Network Logins, Process Groups, Sessions,<br />

Controlling Terminal, tcgetpgrp, tcsetpgrp, and tcgetsid Functions, Job Control, Shell Execution of<br />

Programs, Orphaned Process Groups.<br />

UNIT - VI<br />

Signals and Daemon Processes<br />

Signals: The UNIX Kernel Support for Signals, signal, Signal Mask, sigaction, The SIGCHLD Signal<br />

and the waitpid Function, The sigsetjmp and siglongjmp Functions, Kill, Alarm, Interval Timers,<br />

POSIX.lb Timers.<br />

Daemon Processes: Introduction, Daemon Characteristics, Coding Rules, Error Logging, Singleinstance<br />

daemons; Daemon conventions; Client-Server Model.<br />

UNIT - VII<br />

Interprocess Communication<br />

Introduction; Pipes, popen, pclose Functions; Coprocesses; FIFOs; XSI IPC; Message Queues;<br />

Semaphores.<br />

UNIT - VIII<br />

Network IPC: Sockets<br />

8


Introduction; Socket Descriptors; Addressing; Connection establishment; Data transfer; Socket<br />

options; Out-of-band data; Nonblocking and asynchronous I/O.<br />

Laboratory<br />

Programs should be executed covering chapters: Unix Files, Process, Signals & Inter process<br />

Communication.<br />

Text Books:<br />

1 Terrence Chan: Unix System Programming Using C++, Prentice-Hall of India / Pearson<br />

Education, 1999.<br />

(Chapters 1, 5, 6, 7, 8, 9)<br />

2 W.Richard Stevens, Stephen A. Rago: Advanced Programming in the UNIX Environment, 2 nd<br />

Edition, Pearson Education / Prentice-Hall of India, 2005.<br />

(Chapters 7, 8, 9, 13, 15, 16)<br />

Reference Books:<br />

1. Marc J. Rochkind: Advanced UNIX Programming, 2 nd Edition, Pearson Education, 2005.<br />

2. Maurice.J.Bach: The Design of the UNIX Operating System, Pearson Education / PHI, 1987.<br />

Uresh Vahalia: UNIX Internals, Pearson Education, 2001.<br />

Multimedia Systems<br />

Subject Code: MCAE04 Credits: 4:0:0<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Introduction, Media and Data Streams, Audio Technology<br />

Multimedia Elements; Multimedia Applications; Multimedia Systems Architecture; Evolving<br />

Technologies for Multimedia Systems; Defining Objects for Multimedia Systems; Multimedia Data<br />

Interface Standards; The need for Data Compression; Multimedia Databases.<br />

Media: Perception Media, Representation Media, Presentation Media, Storage Media;<br />

Characterizing Continuous Media Data Streams.<br />

Sound: Frequency, Amplitude, Sound Perception and Psychoacoustics; Audio Representation on<br />

Computers; Three Dimensional Sound Projection; Music and MIDI Standards; Speech Signals;<br />

Speech Output; Speech Input; Speech Transmission.<br />

UNIT <strong>–</strong> II<br />

Graphics and Images, Video Technology, Computer-Based Animation<br />

Capturing Graphics and Images Computer Assisted Graphics and Image Processing; Reconstructing<br />

Images; Graphics and Image Output Options.<br />

Basics; Television Systems; Digitalization of Video Signals; Digital Television; Basic Concepts;<br />

Specification of Animations; Methods of Controlling Animation; Display of Animation;<br />

Transmission of Animation; Virtual Reality Modeling Language.<br />

UNIT <strong>–</strong> III<br />

Data Compression - 1<br />

Storage Space; Coding Requirements; Source, Entropy, and Hybrid Coding; Basic Compression<br />

Techniques; JPEG: Image Preparation, Lossy Sequential DCT-based Mode, Expanded Lossy DCTbased<br />

Mode, Lossless Mode, Hierarchical Mode.<br />

UNIT <strong>–</strong> IV<br />

Data Compression - 2<br />

H.261 (Px64) and H.263: Image Preparation, Coding Algorithms, Data Stream, H.263+ and H.263L;<br />

MPEG: Video Encoding, Audio Coding, Data Stream, MPEG-2, MPEG-4, MPEG-7; Fractal<br />

Compression.<br />

UNIT <strong>–</strong> V<br />

Optical Storage Media<br />

History of Optical Storage; Basic Technology; Video Discs and Other WORMs; Compact Disc<br />

Digital Audio; Compact Disc Read Only Memory; CD-ROM Extended Architecture; Further CD-<br />

9


ROM-Based Developments; Compact Disc Recordable; Compact Disc Magneto-Optical; Compact<br />

Disc Read/Write; Digital Versatile Disc.<br />

UNIT <strong>–</strong> VI<br />

Content Analysis<br />

Simple Vs. Complex Features; Analysis of Individual Images; Analysis of Image Sequences;<br />

Audio Analysis; Applications<br />

UNIT <strong>–</strong> VII<br />

Data and File Format Standards<br />

Rich-Text Format; TIFF File Format; Resource Interchange File Format (RIFF); MIDI File Format;<br />

JPEG DIB File Format for Still and Motion Images; AVI Indeo File Format; MPEG Standards;<br />

TWAIN.<br />

UNIT <strong>–</strong> VIII<br />

Multimedia Application Design<br />

Multimedia Application Classes; Types of Multimedia Systems; Virtual Reality Design; Components<br />

of Multimedia Systems; Organizing Multimedia Databases; Application Workflow Design Issues;<br />

Distributed Application Design Issues.<br />

Text Books:<br />

1. Ralf Steinmetz, Klara Narstedt: Multimedia Fundamentals: Vol 1-Media Coding and Content<br />

Processing, 2 nd Edition, Pearson Education / PHI, 2003.<br />

(Chapters 2, 3, 4, 5, 6, 7, 8, 9)<br />

2. Prabhat K. Andleigh, Kiran Thakrar: Multimedia Systems Design, PHI, 2003.<br />

(Chapters 1, 3, 7)<br />

Reference Books:<br />

1. K.R Rao, Zoran S. Bojkovic and Dragorad A. Milovanovic: Multimedia Communication<br />

Systems: Techniques, Standards, and Networks, Pearson Education, 2002.<br />

2. Nalin K Sharad: Multimedia information Networking, PHI, 2002.<br />

Principles of User Interface Design<br />

Subject Code: MCAE05 Credits: 3:0:1<br />

Prerequisites: Nil<br />

UNIT <strong>–</strong> I<br />

Human Factors of Interactive Software, Theories, Principles and Guidelines<br />

Introduction, Goals of Systems Engineering, Goals of Interface Design, Motivation for Human<br />

Factors in Design, Accommodation of Human Diversity, Goals for the Profession, High Level<br />

Theories, Object-Action Interface Model, Principle 1: Recognize the Diversity, Principle 2: Use the<br />

Eight Golden Rules of Interface Design, Principle 3: Prevent Errors, Guidelines for Date Display,<br />

Guidelines for Data Entry, Balance of Automation and Human Control.<br />

UNIT <strong>–</strong> II<br />

Management Issue<br />

Introduction, Organizational Design to Support Usability, The Three Pillars of Design, Development<br />

Methodologies, Ethnographic Observation, Participatory Design, Scenario Development, Social<br />

Impact Statement for Early Design Review, Legal Issues.<br />

Expert Reviews, Usability Testing and Laboratories, Surveys, Acceptance Tests, Evaluation During<br />

Active Use, Controlled Psychologically Oriented Experiments<br />

UNIT <strong>–</strong> III<br />

Tools and Environments<br />

Introduction, Specification Methods, Interface-Building Tools, Evaluation and Critiquing Tools.<br />

Introduction, Examples of Direct-Manipulation Systems, Explanations of Direct Manipulation, Visual<br />

Thinking and Icons, Direct Manipulation Programming, Home Automation, Remote Direct<br />

Manipulation Virtual Environments.<br />

UNIT <strong>–</strong> IV<br />

10


Menus, Forms, Dialog Boxes and Commands<br />

Task Related Organization, Item Presentation Sequence, Response Time and Display Rate, Fast<br />

Movement through Menus, Menu Layout, Form Fillin, Dialog Boxes.<br />

Functionality to support Users Tasks, Command-Organization Strategies, The Benefits of Structure,<br />

Naming and Abbreviations, Command Menus, Natural Language in Computing.<br />

UNIT <strong>–</strong> V<br />

Interaction Devices and Response Time<br />

Interaction Devices, Introduction, Keyboards and Function Keys, Pointing Devices, Speech<br />

Recognition, Digitization, and Generation, Image and Vide Displays, Printers. Theoretical<br />

Foundations, Expectations and Attitudes.<br />

UNIT <strong>–</strong> VI<br />

Presentation Styles, Manuals, Help, and Tutorials<br />

Error Messages, Non-anthropomorphic Design, Display Design, Color. Reading from Paper Versus<br />

from Displays.<br />

UNIT <strong>–</strong> VII<br />

Presentation Styles, Manuals, Help, and Tutorials<br />

Preparation of Printed Manuals, Preparation of Online Facilities.<br />

Multiple-Window Strategies, Hypermedia and the World Wide Web<br />

Multiple-Window Strategies: Introduction, Individual-Window Design, Multiple- window Design,<br />

Co-ordination by Tightly Coupled Windows, Image Browsing and Tightly Coupled Windows,<br />

Personal Role Management an Elastic Windows.<br />

UNIT <strong>–</strong> VIII<br />

Multiple-Window Strategies, Hypermedia and the World Wide Web<br />

Genres and Goals and Designers, Users and Their Tasks, Object-Action Interface Model for Web Site<br />

Design.<br />

Laboratory<br />

Students have to decide on a specific application, perform a literature survey or background review on<br />

the topic, design an interface for the particular application chosen, and test and evaluate the design.<br />

Text Books:<br />

1. Ben Shneiderman: Designing the User Interface, 3 rd Edition, Addison-Wesley, 1998.<br />

(Chapters 1 to 13 and 16)<br />

Reference Books:<br />

1. Alan J Dix et. al.: Human-Computer Interaction, II Edition, Prentice-Hall, India,1998<br />

2. Eberts: User Interface Design, Prentice-Hall, 1994.<br />

3. Wilber O Galitz: The Essential Guide to User Interface Design - An Introduction to GUI Design,<br />

Principles and Techniques, Wiley-Dreamtech India Pvt. Ltd, 1998.<br />

4. Preece, J. (1994).Human-Computer Interaction, New York, NY:Addison-Wesley Publishing<br />

Company.<br />

5. Laurel, B. (1990). The Art of Human-Computer Interface Design, Reading, MA: Addison-Wesley<br />

Publishing Company.<br />

Compiler Design<br />

Subject Code: MCAE06 Credits: 4:0:0<br />

Prerequisites: MCA32<br />

UNIT <strong>–</strong> I<br />

Introduction, Lexical analysis<br />

Language processors; The structure of a Compilers; The evolution of programming languages;<br />

The science of building a compiler; Applications of Compiler technology; Programming language<br />

basics;<br />

Lexical analysis: The Role of Lexical Analyzer; Input Buffering; Specifications of Tokens;<br />

Recognition of Tokens.<br />

11


UNIT <strong>–</strong> II<br />

Syntax Analysis <strong>–</strong> 1<br />

Introduction; Context-free Grammars; Writing a Grammar; Top-down Parsing.<br />

UNIT <strong>–</strong> III<br />

Syntax Analysis <strong>–</strong> 2<br />

Bottom-up Parsing; Introduction to LR Parsing: Simple LR.<br />

UNIT <strong>–</strong> IV<br />

Syntax Analysis <strong>–</strong> 3<br />

More powerful LR parsers; Using ambiguous grammars; Parser Generators.<br />

UNIT <strong>–</strong> V<br />

Syntax-Directed Translation<br />

Syntax-Directed definitions; Evaluation order for SDDs; Applications of Syntax-directed<br />

translation; Syntax-directed translation schemes.<br />

UNIT <strong>–</strong> VI<br />

Intermediate Code Generation<br />

Variants of syntax trees; Three-address code; Types and declarations; Translation of expressions;<br />

Type checking; Control flow; Back patching; Switch statements; Intermediate code for procedures.<br />

UNIT <strong>–</strong> VII<br />

Run-Time Environments<br />

Storage Organization; Stack allocation of space; Access to non-local data on the stack; Heap<br />

management; Introduction to garbage collection.<br />

UNIT <strong>–</strong> VIII<br />

Code Generation<br />

Issues in the design of Code Generator; The Target language; Addresses in the target code; Basic<br />

blocks and Flow graphs; Optimization of basic blocks; A Simple Code Generator.<br />

Code Optimization<br />

Introduction, The principle of Optimization, Optimization of Basic Blocks, mLoops in flow<br />

graphs.<br />

Text Books:<br />

1. Alfred V Aho, Monica S. Lam, Ravi Sethi, Jeffrey D Ullman: Compilers- Principles, Techniques<br />

and Tools, 2 nd Edition, Addison-Wesley, 2007.<br />

(Chapters 1, 3.1 to 3.4, 4, 5.1 to 5.4, 6, 7.1 to 7.5, 8.1 to 8.6)<br />

Reference Books:<br />

1.Charles N. Fischer, Richard J. leBlanc, Jr.: Crafting a Compiler with C, Pearson Education, 1991.<br />

2.Andrew W Apple: Modern Compiler Implementation in C, Cambridge University Press, 1997.<br />

3.Kenneth C Louden: Compiler Construction Principles & Practice, Thomson Education, 1997.<br />

Microprocessor and Multicore Technologies<br />

Subject Code: MCAE07 Credits: 3:0:1<br />

Prerequisites: MCA13<br />

UNIT I<br />

Overview of Microprocessors, 8086 Internal Architecture, Introduction to Programming 8086<br />

UNIT II<br />

Assembly Language Programming, Instruction Templates, Coding Examples, Programming<br />

Examples.<br />

UNIT III<br />

Simple Programs in 8086. Jumps, Flags and Conditional Jumps, If-then-else Programs, While-do<br />

Programs, Repeat-until Programs, Instruction Timing and Delay Loops.<br />

UNIT IV<br />

12


Strings, Procedures and Macros. 8086 string Instructions, Writing and using Procedures, Writing and<br />

using Assembler Macros.<br />

UNIT V<br />

8086 Instruction Description and Assembler Directives. 8086 System Connection Timings,<br />

Addressing Memory and Ports, Address Decoding and Timing Parameters.<br />

UNIT VI<br />

8086 Interrupts and Interrupt Applications. 8259A Priority Interrupt Controller. Software Interrupt<br />

Applications.<br />

UNIT VII<br />

Digital Interfacing: Programmable Parallel Ports and Handshake Input/Output. 8255A Internal block<br />

Diagram, Operational Modes and Control words.<br />

UNIT VIII<br />

Introduction to Multicore Architecture <strong>–</strong> Architectural Details, Programming and Interfacing,<br />

Instruction Set, Advantages and Applications, Programming Examples.<br />

Laboratory<br />

Lab components must comprise of experiments that reinforce the theoretical understanding of the<br />

corresponding theory concepts.<br />

Text Books:<br />

Microprocessor and Interfacing, Douglas V.Hall, TMG revised second edition, 2006.<br />

References:<br />

1. Microprocessor systems:8086/8088 family architecture, programming and design, Yi chang<br />

liu, Glenn and Gibson, Prentice <strong>–</strong>Hall second edition 2000.<br />

2. Introduction to microprocessor, Ramesh Gaonkar, 5th edition.<br />

Web 2.0 and Rich Internet Applications<br />

Subject Code: MCAE08 Credits: 2:1:1<br />

Prerequisites: MCA36<br />

UNIT <strong>–</strong> I<br />

Introduction<br />

What is Web 2.0?, Folksonomies and Web 2.0, Software As a Service (SaaS), Data and Web 2.0,<br />

Convergence, Iterative development, Rich User experience, Multiple Delivery Channels, Social<br />

Networking.<br />

UNIT <strong>–</strong> II<br />

Web Services<br />

Web Services: SOAP, RPC Style SOAP, Document style SOAP, WSDL, REST services, JSON<br />

format, What is JSON?, Array literals, Object literals, Mixing literals, JSON Syntax, JSON Encoding<br />

and Decoding, JSON versus XML.<br />

UNIT <strong>–</strong> III<br />

Building Rich Internet Applications with AJAX- Basics<br />

Building Rich Internet Applications with AJAX: Limitations of Classic Web application model,<br />

AJAX principles, Technologies behind AJAX, Examples of usage of AJAX, Dynamic web<br />

applications through Hidden frames for both GET and POST methods.<br />

UNIT <strong>–</strong> IV<br />

Building Rich Internet Applications with AJAX-Advanced<br />

IFrames, Asynchronous communication and AJAX application model, XMLHTTP Object <strong>–</strong><br />

properties and methods, handling different browser implementations of XMLHTTP, The same origin<br />

policy, Cache control, AJAX Patterns (Only algorithms <strong>–</strong> examples not required): Predictive fetch<br />

pattern, Submission throttling pattern, Periodic refresh, Multi stage download, Fall back patterns.<br />

13


UNIT <strong>–</strong> V<br />

Building Rich Internet Applications with Flex<br />

Flash player, Flex framework, MXML and Actionscript, Working with Data services, Understanding<br />

differences between HTML and Flex applications, Understanding how Flex applications work,<br />

Understanding Flex and Flash authoring, MXML language, a simple example.<br />

UNIT <strong>–</strong> VI<br />

Action Script 3.0<br />

Using Actionscript, MXML and Actionscript correlations. Understanding Actionscript 3.0 language<br />

syntax: Language overview, Objects and Classes, Packages and namespaces, Variables & scope of<br />

variables, case sensitivity and general syntax rules, Operators, Conditional, Looping, Functions,<br />

Nested functions, Functions as Objects, Function scope, OO Programming in Actionscript: Classes,<br />

Interfaces, Inheritance, Working with String objects, Working with Arrays, Error handling in<br />

Actionscript: Try/Catch, Working with XML<br />

UNIT <strong>–</strong> VII<br />

Advanced Web 2.0 applications<br />

Definition of mash up applications, Mash up Techniques, Building a simple mash up application with<br />

AJAX, Remote data communication, strategies for data communication, Simple HTTPServices<br />

UNIT <strong>–</strong> VIII<br />

Advanced Web 2.0 applications<br />

Introduction to Adobe Air and ExtJS with simple examples<br />

Text Books:<br />

1. Nicholas C Zakas et al: Professional AJAX, Wrox publications, 2006.<br />

2. Jack Herrington and Emily Kins: Getting Started with Flex 3, 1 st Edition, O’Reilly, June<br />

2008.<br />

3. Francis Shanahan: Mashups, Wrox, 2007.<br />

Laboratory<br />

• The student should generate a web application using AJAX, JSON, and PHP with at least 5 to<br />

6 web parts in one web page with good animation and feel effects.<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!