MG University Btech CS 6th Semester
MG University Btech CS 6th Semester
MG University Btech CS 6th Semester
Credits: 4
Objectives
To develop an understanding about basic algorithms and different problem solving
strategies.
To improve creativeness and the confidence to solve non-conventional problems and
expertise for analysing existing solutions.
Module I
(13 hours)
Introduction and Complexity
What is an algorithm Properties of an Algorithm, Development of an algorithm, Pseudocode Conventions, Recursive Algorithms Performance Analysis - Space and Time
Complexity Asymptotic Notations Oh, Omega, Theta, Worst, Best and Average Case
Complexity, Running Time Comparison, Common Complexity Functions -Recurrence
Relations Solving Recurrences using Iteration and Recurrence Trees Example Problems
Profiling - Amortized Complexity.
Module II
(11 hours)
Divide and Conquer - Control Abstraction, Finding Maximum and Minimum, Costs
associated element comparisons and index comparisons, Binary Search, Divide and Conquer
Matrix Multiplication, Stressens Matrix Multiplication, Quick Sort, Merge Sort.
Refinements.
Module III
(14 hours)
Greedy Strategy - Control Abstraction, General Knapsack Problem, Minimum Cost
Spanning Trees PRIMs Algorithm, Kruskals Algorithm, Job sequencing with deadlines.
Dynamic Programming - Principle of Optimality, Multistage Graph Problem, Forward
Approach, Backward Approach, All-Pairs Shortest Paths, Traveling Salesman Problem.
Module IV
(11 hours)
Backtracking State Space Tree - Fixed Tuple and Variable Tuple Formulation - Control
Abstraction Generating Function and Bounding Function - Efficiency of the method Monte Carlo Method N-Queens Problem, Sum of Subsets.
Branch and Bound Techniques FIFO, LIFO, and LC Control Abstractions, 15-puzzle.
Module V
(11 hours)
Sophisticated Algorithms - Approximation Algorithms Planar Graph Coloring, Vertex
cover - String Matching Algorithms Rabin Karp algorithm - Topological Sort Deterministic and Non-Deterministic Algorithms.
Lower Bound Theory - Comparison Trees for Searching and Sorting, lower bound on
comparison based algorithms, Sorting, Selection & Merging; Oracles and Adversary
Arguments Merging,Basic concepts of randomized algorithm-Las Vagas algorithm for
search.
Reference Books
1. Ellis Horowitz and Sartaj Sahni, Sanguthevar Rajasekaran, Fundamentals of Computer
Algorithms,Universities Press, 2nd Edition, Hyderabad .
2. Thomas Coremen, Charles, Ronald Rives, Introduction to algorithm, PHI Learning
3. Sara Baase & Allen Van Gelder , Computer Algorithms Introduction to Design and
Analysis, Pearson Education..
4. Anany Levitin, Introduction to The Design & Analysis of Algorithms, Pearson
Education, 2nd Edition, New Delhi, 2008.
5. Berman and Paul, Algorithms, Cenage Learning India Edition, New Delhi, 2008.
6. S.K.Basu , Design Methods And Analysis Of Algorithms ,PHI Learning Private Limited,
New Delhi,2008.
7. Jon Kleinberg and Eva Tardos, Algorithm Design, Pearson Education, New Delhi, 2006.
8. Hari Mohan Pandey, Design Analysis And Algorithms, University Science Press, 2008.
9. R. Panneerselvam, Design and Analysis of Algorithms, PHI Learning Private Limited, New
Delhi, 2009.
10. Udit Agarwal, Algorithms Design And Analysis, Dhanapat Rai & Co, New Delhi, 2009.
11. Aho, Hopcroft and ullman, The Design And Analysis of Computer Algorithms, Pearson
Education, New Delhi, 2007.
12. S.E.Goodman and S. T. Hedetmiemi, Introduction To The Design And Analysis Of
Algorithms, McGraw-Hill International Editions, Singapore 2000.
13. Richard Neapolitan, Kumarss N, Foundations of Algorithms, DC Hearth &company.
14. Sanjay Dasgupta, Christos Papadimitriou, Umesh Vazirani, Algorithms, Tata McGraw-Hill
Edition.
Credits: 4
Objectives
Module I (10hours)
Creating & using classes in Java Methods and Classes Inheritance Super Class
Method Overriding Packages and Interfaces Implementing Interfaces- Exception
Handling Exception Types, Threads-Multithreaded programs, Thread Priorities and
Thread synchronization.
Module III (14hours)
I/O I/O Basics Byte Streams and Character Streams, Reading Console Input,
Collections Framework, Applets & Applet Architecture-Applet Skelton- Passing
Parameters to Applet, Event Handling-Event Model- Event Classes Event Listener
Interfaces, AWT AWT Classes AWT Controls Layout Managers and Menus.
Swing- JApplet Jbuttons - JTables.
Module IV (13 hours)
Network Programming with Java Socket Programming in Java-Client SocketsServer Sockets- Secure Server Sockets- TCP/IP Programming with Java Datagrams,
IP multicasting, Remote Method Invocation.
Module V (11 hours)
Reference Books
1) Herbert Schildt, Java 2 Complete reference, 5th ed., Tata McGraw Hill, New Delhi,
2010
2) Deitel & Deitel Java How To Program 7th ed., Pearson Education ,New Delhi, 2008
3) Cay Horstmann Big Java 3rd ed., Wiley India Edition, New Delhi, 2009
4) Y Daniel Liang Introduction to Java Programming 7th ed., Pearson Education ,New
Delhi, 2010
5) R Krishnamoorthy, S Prabhu Internet & Java Programming, New Age International
Publishers, New Delhi, 2008
6) Rajkumar Buyya, S Thamarai Selvi, Xingchen Chu, Object Oriented Programming
with Java, McGraw Hill, New Delhi, 2009
7) P Radha Krishna, Object Oriented Programming through Java Universities Press,
Hyderabad2008
8) Debasish Jana, Java and Object Oriented Programming Paradigm, Prentice Hall of
India, New Delhi, 2005
9) G Thomas Wu, An Introduction to Object Oriented Programming with Java,4th ed.,
Tata McGraw Hill, New Delhi, 2010
10) E Balagurusamy, Programming with Java A Primer, 4th ed., McGraw Hill, New
Delhi, 2010
11) John R Hubbard, Programming with Java, 2nd ed., Schaums Outlines, Tata
McGraw Hill, New Delhi, 2004
Credits: 4
Objectives:To introduce the techniques adopted in the design and implementation of System
Software.
Module I (12 Hrs)
Introduction:System Software Vs. Application Software, Different System Software, Macro
Processor, Assembler, Linker, Loader, Text Editor, Debugger, Device Driver, Compiler,
Interpreter[1] Database Management System, Operating System,[2]
Macro Preprocessor
Macro Instruction Definition and Invocation. Types of Macros Parameterised
macros, Nested macros, Recursive macros. Basic functions of Macro Preprocessor Macro
expansion, Generation of unique labels. Macro preprocessor design and Algorithm - Handling
conditional Macro calls, Nested Macro calls and Recursive Macro calls.[Reference (1)] Case Study :
The C Preprocessor [Web- Reference (1) ]
Module - II (15 Hrs)
Assembler
Assembly Language Concepts Mnemonic Instructions, Assembler Directives and
Literals. Instruction formats and Addressing modes. Program Blocks and Control Sections. Basic
Functions of Assembler. Assembler output format Header, Text and End Records. Assembler
Design 2 Pass Assembler Necessity of two passes and Forward reference. Algorithm for the two
passes. Single Pass Assembler Algorithm for Single Pass assembler. Handling External references
usage of Define and Refer records. Multi pass Assembler, Macro Assembler.[Reference (1)] Case
Study : Microsoft Macro Assembler for MS-DOS [Reference (1), (5)] - Microsoft OBJ file format
(Basic Structure and Important Records Only) [ Reference(2)].
Module - III (12 Hrs)
Linker and Loader
Need for Linking and Loading : The absolute loader, Program Relocation, Relocating
Loader, Linking external symbols. Algorithms for the two passes of a Linking Loader.[References
(2),(3)] Variants of the basic model Automatic Library Search, Linkage Editor, Dynamic Linking.
[Reference(1)] Case study : UNIX ELF and Microsoft DLL (basic structure only).
Module - IV (11 Hrs)
Text Editors : Overview of Editing, User Interface, Editor Structure. [Reference (1)]
Case Study : VI Editor (Basic ideas only)[ Reference (1)]
Debuggers : Debugging Functions and Capabilities, Relationship with other parts of the
system, Debugging Methods- By Induction, Deduction and Backtracking, . [Reference (1) ,(8)] Case
Study : gdb (Basic ideas only)
REFERENCES:
1. System Software: An Introduction to Systems Programming Leland L. Beck, Pearson
Education Asia 3rd Edition.
2. Systems Programming and Operating Systems D.M. Dhamdhere, Tata McGraw Hill
Second Revised Edition.
3. Systems Programming John J. Donovan, Tata McGraw Hill Edition 1991.
4. Writing UNIX device drivers - George Pajari -Pearson Education Asia.
5.
IBM PC Assembly Language and Programming - Peter Abel Third Edition Prentice
Hall of India
Note: separate subjects are provided in the syllabus in the Seventh and Fifth Semesters for the
detailed discussion of the subjects marked [1] and [2] respectively.
Credits: 4
Objectives
To develop basic knowledge on the mode of operation of different types of computer
networks that are used to interconnect a distributed community of computers and
various interfacing standards and protocols.
Module I (8 hours)
Credits: 4
Objectives:To familiarize the steps in designing a Computer Software System following the
conventions in Engineering Design.
To introduce the fundamentals of Structured and Object Oriented Designs and
Design Tools.
Module I (12 Hrs)
The Evolving role of Software Software The changing Nature of Software Legacy
software ,Introduction to CASE tools, A generic view of process A layered Technology A Process
Framework The Capability Maturity Model Integration (CMMI) Process Assessment Personal
and Team Process Models. Product and Process. Process Models The Waterfall Model
Incremental Process Models Incremental Model The RAD Model Evolutionary Process Models
Prototyping The Spiral Model The Concurrent Development Model Specialized Process
Models the Unified Process.
Module - II (12 Hrs)
Management: Functions - Project planning - Software productivity - Productivity metrics Cost estimation - COCOMO & COCOMO II - Project control - Work breakdown structures, Gantt
charts, PERT charts - Dealing with deviations - Team organization - centralized, de-centralized,
mixed - An assessment of organizations - Risk management Configuration Management.
Introduction to project management and planning CASE tools.
Module - III (12 Hrs)
Requirements Engineering : Requirements Engineering tasks Initiating the requirements
Engineering Process-Eliciting Requirements Developing Use cases Building the Analysis Models
Elements of the Analysis Model Analysis pattern Negotiating Requirements Validating
Requirements. SRS Document.
Module - IV (12 Hrs)
Design activity & its objectives Function Oriented and Object Oriented DesignModularization techniques - module structure and its representation, interface and information
hiding, categories, specific techniques to accommodate change, stepwise refinement, top-down and
bottom-up design - Handling anomalies. Case Study with UML and CASE Tool support.
Module - V (12 Hrs)
Implementation Techniques - Programming principles and guidelines Structured
Programming. Software Testing Fundamentals-Test Case Design-White-Box Testing-Basis Path
Testing-Control Structure Testing- Black-Box Testing- Various levels of Testing : Modules to
System. Case study : Test case design and Testlog preperation
References
1. Roger S.Pressman, Software Engineering: A Practitioners Approach, McGraw Hill
International edition, Seventh edition.
2. Ian Sommerville, Software Engineering, 8th Edition, Pearson Education, 2008
(UNIT V)
3. Stephan Schach, Software Engineering, Tata McGraw Hill, 2007
4. Pfleeger and Lawrence Software Engineering: Theory and Practice, Pearson
Education, second edition, 2001
Credits: 4
Objectives
CS010 606L02
Credits: 4
Objectives
Reference Books
1.
2.
3.
4.
5.
Muhammad Ali mazidi, Janice Gillispie Mazidi, Rolin D Mc kinlay , The 8051 microcontroller
and embedded systems,person, second edition., 2006
V Udayashankara,M S Mallikarjunaswamy ,8051 Microcontroller hardware &software
application,TMH
Ajay V Deshmukh,Microcontrollers, theory and applications,TMH
Kennath J Ayala, The 8051 microcontroller., Penram International
1 Satish Shah,8051 microcontrollers MCS 51 family and its variants ,Oxford higher
education
Credits: 4
Objectives
Reference Books
1. Wilbert O. Galitz,The Essential
Guide to User Interface Design, 2nd Edn., Wiley
Dreamtech,Delhi,2002
2. Ben Shneiderman, Designing the User Interface ,3rd Edn., Pearson Education Asia,Delhi,2002
3. Dan R. Olsen, Human Computer Interaction,Cengage,New Delhi,2009
4. John M. Carroll,Human Computer Interaction, Pearson Education Asia, Delhi,2002
5. Alan Cooper, The Essentials of User Interface Design , Wiley Dreamtech, Delhi,2002
Syllabus - B.Tech. Computer Science and Engineering
Credits: 4
Objectives
To provide a fair knowledge of Unix concepts and gain sharp skills in Unix Shell
programming
Module 1. (8 hours)
Introduction to Unix:- Architecture of Unix, Features of Unix , Basic Unix Commands - Unix
Utilities:- Introduction to unix file system, vi editor, file handling utilities, security by
file permissions, process utilities, disk utilities, networking commands - Text
processing utilities and backup
Module 2. (13 hours)
Introduction to Shells:-Unix Session, Standard Streams, Redirection, Pipes, tee Command,
Command Execution, Command-Line Editing, Quotes, Command Substitution, Job
Control, Aliases, Variables, Predefined Variables, Options, Shell/Environment
Customization. Regular expressions, Filters and Pipes, Concatenating files, Display
Beginning and End of files, Cut and Paste, Sorting, Translating Characters, Files with
Duplicate Lines, Count characters, words or lines, Comparing Files.
Module 3. (12 hours)
grep:-Operation,
grep
Family,
Searching
for
File
Content.
sed:-Scripts, Operation, Addresses, commands, Applications, grep and sed.
awk:-Execution, Fields and Records, Scripts, Operations, Patterns, Actions,
Associative Arrays, String Functions, Mathematical Functions, User Defined
Functions, Using System commands in awk, Applications of awk, grep and sed
Module 4. (15 hours)
Interactive Shells - Korn Shell, C Shell and BASH - Shell Features, Special Files, Variables,
Output, Input, Exit Status of a Command, eval Command, Environmental Variables,
Options, Startup Scripts, Command History, Command Execution Process.
Shell Programming - Korn Shell, C Shell and BASH Basic Script concepts, Expressions, Decisions: Making Selections, Repetition, special
Parameters and Variables, changing Positional Parameters, Argument Validation,
Debugging Scripts, Script Examples.
Module 5. (12 hours)
Process management:- Creation, Hierarchies, Sending signals to processes, exec, termination,
Zombie, waitpid etc - Network management:- tools, Client server mechanism, address
resolution, ping, telnet, ftp, dns and squid X Window System:- Overview,
Architecture, starting and stopping X, X clients and display
Reference Books
Credits: 4
Objectives
Reference Books
1. Shibu K V, Introduction to Embedded Systems, McGraw Hill, New Delhi, 2009
2. Raj Kamal, Embedded Systems Architecture, Programming and Design, 2nd ed., Tata
McGraw Hill , New Delhi, 2008
3. Frank Vahid & Tony Givargis, Embedded System Design A Unified Hardware/Software
Introduction, Wiley - India Edition, New Delhi, 2010
4. Wayne Wolf , Computers as Components Principles of Embedded Computing System
Design, , 2nd ed., Elsevier, Gurgaon, 2009
5. Steven F Barrett & Daniel J Pack , Embedded Systems Design and Applications with the
68HC12 and HCS12, Pearson Education, Delhi, 2008.
Credits: 4
Objectives
and develop of
Reference Books
1. Yashwanth Kanetkar , Visual C++ Programming ,BPB Publications ,New Delhi, 2005.
th
2. Mike Blaszczals, Professional MFC with Visual C++ 6, 4 Edition, Shroff publishers &
Credits: 2
Objectives
This lab also explains the allocation of process in the memory with some memory
management techniques.
(Implement the following on LINUX platform. Use C for high level language implementation)
1. Basic UNIX commands
2. Shell programming
- Command syntax
- Write simple functions with basic tests, loops, patterns
3. Write programs using the following system calls of UNIX operating system:
fork, exec, getpid, exit, wait, close, stat, opendir, readdir
4. Write programs using the I/O system calls of UNIX operating system (open, read, write, etc)
5. Write C programs to simulate UNIX commands like ls, grep, etc.
6. Given the list of processes, their CPU burst times and arrival times, display/print the Gantt
chart for FCFS and SJF. For each of the scheduling policies, compute and print the average
waiting time and average turnaround time
7. Given the list of processes, their CPU burst times and arrival times, display/print the Gantt
chart for Priority and Round robin. For each of the scheduling policies, compute and print the
average waiting time and average turnaround time
8. Implement the Producer Consumer problem using semaphores.
9. Implement inter-process communication using shared memory.
10. Implement some memory management schemes
Example for expt 10:
Free space is maintained as a linked list of nodes with each node having the starting byte
address and the ending byte address of a free block. Each memory request consists of the
process-id and the amount of storage space required in bytes. Allocated memory space is
again maintained as a linked list of nodes with each node having the process-id, starting byte
address and the ending byte address of the allocated space.
When a process finishes (taken as input) the appropriate node from the allocated list should be
deleted and this free disk space should be added to the free space list. [Care should be taken to
merge contiguous free blocks into one single block. This results in deleting more than one
node from the free space list and changing the start and end address in the appropriate node].
For allocation use first fit, worst fit and best fit.
Credits: 2
Objectives
In this practical course, each group consisting of two/three members (four in special cases) is
expected to design and develop practical solutions to real life problems related to industry, institutions and
computer science research. Software life cycle should be followed during the development. The theoretical
knowledge, principles and practices gained from various subjects should be applied to develop effective
solutions to various computing problems. The knowledge gained during various practical subjects to work
with various software tools, Designing tools, programming languages, operating systems, etc. should be
utilized in various stages of development. Structured/ Object Oriented design techniques may be used for
the project. Software Requirements Specification (SRS), Modeling Techniques, Design and Testing
strategies should be documented properly.
A committee consisting of minimum three faculty members will perform the internal assessment
of the mini project. A report on mini project should be submitted for evaluation and project work should be
presented and demonstrated before the panel of examiners.