B.Tech (Computer Science & Technology) Syllabus
COURSE CODECOURSE NAMECREDITS
Introduction : Operating system and functions, Classification of Operating systems- Batch,Interactive, Time sharing, Real Time System, Multiprocessor Systems, Multiuser Systems,Multiprocessor Systems, Multithreaded Systems, Operating System Structure- Layered structure,System Components, Operating System services, Re-entrant Kernels, Monolithic and MicrokernelSystems.
Concurrent Processes: Process Concept, Principle of Concurrency, Producer / ConsumerProblem, Mutual Exclusion, Critical Section Problem, Dekker's solution, Peterson's solution,Semaphores, Test and Set operation; Classical Problem in Concurrency- Dining PhilosopherProblem, Sleeping Barber Problem; Inter Process Communication models and Schemes,Processgeneration.
CPU Scheduling: Scheduling Concepts, Performance Criteria, Process States, Process TransitionDiagram, Schedulers, Process Control Block (PCB), Process address space, Processidentification information, Threads and their management, Scheduling Algorithms,Multiprocessor Scheduling. Deadlock: System model, Deadlock characterization, Prevention, Avoidance and detection, Recovery from deadlock.
Memory Management: Basic bare machine, Resident monitor, Multiprogramming with fixedpartitions, Multiprogramming with variable partitions, Protection schemes, Paging,Segmentation, Paged segmentation, Virtual memory concepts, Demand paging, Performance ofdemand paging, Page replacement algorithms, Thrashing, Cache memory organization, Localityof reference.
I/O Management and Disk Scheduling: I/O devices, and I/O subsystems, I/O buffering, Diskstorage and disk scheduling, RAID. File System: File concept, File organization and accessmechanism, File directories, and File sharing, File system implementation issues, File systemprotection and security.
- 1. Silberschatz, Galvin and Gagne, "Operating Systems Concepts", Wiley
- 2. Sibsankar Halder and Alex A Aravind, "Operating Systems", Pearson Education
- 3. Harvey M Dietel, " An Introduction to Operating System", Pearson Education
- 4. D M Dhamdhere, "Operating Systems : A Concept based Approach", 2nd Edition, TMH 1998.
- 5. William Stallings, "Operating Systems: Internals and Design Principles ", 6thEdition,Pearson Education
Design and Analysis of Algorithm Theory:
Analysis Of Algorithm: Introduction - Algorithms – Pseudo code for algorithms – present – future. Mathematics for Algorithms – Definitions – Notation and Basic results – Asymptotic Notation- Mathematical Induction – Analysis of Algorithms - Recurrence relations.
Divide And Conquer Method: General Method - Binary Search – Finding Maximum and Minimum – Merge Sort – Quick Sort Greedy Method – General Method – KnapSack Problem – Minimum Spanning Tree Algorithm – Single Source Shortest Path Algorithm.
Dynamic Programming: General Method–Multistage Graph – All Pairs Shortest Path Algorithm – 0/1 Knapsack Problem – Traveling Salesman Problem - Basic search techniques and traversal techniques –bi-connected components – Depth First Search – Breadth First Search.
Backtracking: The General Method – 8-Queens Problem- Sum of Subsets – Graph Coloring- Hamiltonian Cycle-Knapsack Problem – Branch and Bound Method – 0/1 Knapsack Problem – Traveling Salesman Problem
P and NP: Polynomial time – Nondeterministic Algorithms and NP – Reducibility and NP completeness – NP complete Problems – More on NP completeness. Case studies
- 1. E.Horowitz , Sahni&SanguthevarRajasekaran, "Fundamentals of Computer Algorithms", Galgotia Publications,1997
- 2. Richard Johnsonbaugh, Marcus Schaefer , "Algorithms", Pearson Education, (chapter 1,2,10)
- 3. Aho, Ullman &Hopcraft, "The Design and Analysis of Algorithms", Pearson Education, 2001
- 4. S.E.Goodman , S.T.Hedetniemi , "Introduction to the Design and Analysis of Algorithms", McGraw Hill , 2002
- 5. Sara Baase , "Computer Algorithms - Introduction to design and analysis", Pearson Education, 1998
Introduction: Internet Principles – Basic Web Concepts – Client/Server model – retrieving data from Internet – HTM and Scripting Languages – Standard Generalized Mark –up languages – Next Generation – Internet –Protocols and Applications.
Common Gateway Interface Programming: HTML forms – CGI Concepts – HTML tags Emulation – Server – Browser Communication – E-mail generation – CGI client Side applets – CGI server applets – authorization and security. Introduction to PERL.
Scripting Languages: Java Script Programming-Dynamic HTML-Cascading style sheets-Object model and Event model- Filters and Transitions-Active X Controls-Multimedia-Client side script.- VB Script programming – Forms – Scripting Object
Server Side Programming: Dynamic Web content – cascading style sheets – DHTML – XML – Server side includes – communication – Active and Java Server Pages – Firewalls – Proxy Servers.
On-Line Applications: Simple applications – on-line databases – monitoring user events – plug-ins –database connectivity – Internet Information Systems – EDI application in business – Internet Commerce – Customization of Internet Commerce.
- 1. Jason Hunter, William Crawford, "Java Servlet Programming", O' Reilly Publications, 1999.
- 2. Ravi Kalakota and Andrew B Whinston, "Frontiers of Electronic Commerce", Addison Wesley, 1996
- 3. Eric Ladd, Jim O' Donnel, "Using HTML 4, XML and Java", Prentice Hall of India – QUE,1999
- 4. Jeffy Dwight, Michael Erwin and Robert Niles, "Using CGI", Prentice Hall of India QUE, 1999.
- 5. Scot Johnson, Keith Ballinger, Davis Chapman, "Using Active server Pages", Prentice Hall of India, 1999.
- 6. Ted coombs, Jason coombs , Brewer, " Active X source book", John wiley.
- 7. EvangelosPetroutsos , " Mastering Visual Basic 6", BPB Publications, 1998
Software Project Management: Software project planning : Importance of software – Introduction – Defining the problem – Developing a solution strategy – Planning and development process – Other planning activities. Software cost estimation : Introduction – Software cost factors – Software cost estimation techniques – Staffing level estimation – Estimating software maintenance costs.
Software Requirements Analysis: Introduction – The software requirement specifications – Formal specification techniques – Languages and processors for requirements specification : SDAT, SSA, GIST, PSL/PSA, REL/REVS- Software prototyping – rapid prototyping techniques- user interface prototyping- Analysis & modeling – data, functional & behavioral models – Structured analysis & data dictionary.
Software Design Concepts: Abstraction – Modularity – Software architecture – Cohesion, coupling – Various design concepts and notations – Real time and distributed system – Design – Documentation – Data flow oriented design – Jackson system development – Design for reuse – Programming standards. User interface Design- principles- SCM- Need for SCM- Version control – Introduction to SCM process – software configuration items.
Implementation And Testing: Implementation Issues : Introduction – Structured coding techniques – Coding style – Standards and guidelines – Documentation guidelines-Modern Programming Languages Features : The translation process – PL characteristics. Software testing – levels – test activities – types of s/w test – black box testing – testing boundary conditions – structural testing – test coverage criteria based on data flow mechanisms – regression testing – testing in the large. S/W testing strategies – strategic approach and issues - unit testing – integration testing – validation testing – system testing and debugging
Software Maintenance & Reliability Issues: Introduction – Quality assurance – Walk through and inspections – Static analysis – Symbolic execution-Software Maintenance: Introduction – Enhancing maintainability during development – Managerial aspects of software maintenance – Configuration management – Source code metrics – Other maintenance tools and techniques. Software reliability – issues- Software reliability Vs Hardware reliability – Failures and Faults - Classification of Failures – Components and Operational Models
- 1. Richard Fairley, "Software Engineering Concepts", McGraw Hill, 1985.
- 2. Roger S. Pressman, "Software Engineering A Practitioner Approach" 4th edition , McGraw Hill, 1999
- 3. Roger S.Pressman, Software engineering- A practitioner's Approach, McGraw-Hill International Edition, 5th edition, 2001.
- 4. Ian Sommerville, Software engineering, Pearson education Asia.
- 5. PankajJalote- An Integrated Approach to Software Engineering, Springer Verlag, 1997.
- 6. Shooman, Software Engineering, McGraw Hill, 1983.
- 7. John D. Musa, " Software Reliability", McGrawHill, 1985
- 8. David Gustafson, "Software Engineering", Schaum'soutlines,Tata McGraw- Hill,2003.
IT Infrastructure & Management:
Introduction: Information Technology, Computer Hardware, Computer Software, Network and Internet, Computing Resources, It Infrastructure- Design Issues, Requirements, IT System Management Process, Service Management Process, Information System Design, IT Infrastructure Library.
Service Delivery Process: Service Delivery Process, Service Level Management, Financial Management, Service Management, Capacity Management, Availability Management.
Service Support Process: Service Support Process, Configuration Management, Incident Management, Problem Management, Change Management, Release Management. Storage Management: Backup & Storage, Archive & Retrieve, Disaster Recovery, Space Management, Database & Application Protection, Bare Machine Recovery, Data Retention
Security Management: Security, Computer and internet Security, Physical Security, Identity Management, Access Management. Intrusion Detection, Security Information Management.
It Ethics: Introduction to Cyber Ethics, Intellectual Property, Privacy and Law, Computer Forensics, Ethics and Internet, Cyber Crimes. Emerging Trends in IT: Electronics Commerce, Electronic Data Interchange, Mobile Communication Development, Smart Card, Expert Systems.04
Operating System Lab:
List of Experiments
- 1. Simulate the following CPU scheduling algorithms
- a. Round Robin
- b. SJF
- c. FCFS
- d. Priority
- 2. Simulate all file allocation strategies
- a. Sequential
- b. Indexed
- c. Linked
- 3. Simulate MVT and MFT
- 4. Simulate all File Organization Techniques
- a. Single level directory
- b. Two level
- c. Hierarchical
- d. DAG
- 5. Simulate Bankers Algorithm for Dead Lock Avoidance
- 6. Simulate an Algorithm for Dead Lock Detection
- 7. Simulate all page replacement algorithms
- a. FIFO
- b. LRU
- c. LFU
- 8. Shared memory and IPC
- 9. Simulate Paging Technique of memory management.
- 10. Threading & Synchronization Applications
- 11. Write a collection of sufficient no. of processes which carry out the following different types of tasks independently:
- a. Only computation
- b. Only prints
- 12. Write a collection of programs p1, p2, p3 such that they execute sequentially with the same process-id, and each program should also print its PID. (process id) The user should be able to invoke any combination of these programs, to achieve the required functionality.
For example consider three programs twice, half, square which accept only one integer as argument and does some specific operation.
- a) Twice 10 prints 20 and some int which is its process-id as output
- b) Square 10 prints 100 and some int which is its process-id as output
- c) Half 10 prints 5 and some int which is its process-id as output
Tune each of the above process to run for 30 seconds when it runs standalone. Then run them simultaneously with different combinations. Gather per process and system statistics e.g. required CPU time, turnaround time, wait time, in each test combination.
Now the user should be able to combine these programs in any combination to achieve the required result. For example:
Twice square half twice half 10 should calculate half(twice(half(square(twice(10))))) and print 200 as result. It should also print the process ids of each program as it executes. Note that the process-id printed by each of these programs should be the same, in this case.
Reference: Laboratory Manual02
- 1. Program for Recursive Binary & Linear Search.
- 2. Program for Heap Sort.
- 3. Program for Merge Sort.
- 4. Program for Selection Sort.
- 5. Program for Insertion Sort.
- 6. Program for Quick Sort.
- 7. Study of NP-Complete theory.
- 8. Study of Cook's theorem.
- 9. Study of Sorting network.
Web Based Project:
- 1. Write HTML/Java scripts to display your CV in navigator, your Institute website, Department Website and Tutorial website for specific subject
- 2. Design HTML form for keeping student record and validate it using Java script.
- 3. Write programs in core Java for Web Page to display browsers information using Java script.
- 4. Write a Java applet to display the calculator screen.
- 5. Use Java Servlets for proxy server.
- 6. Writing program in XML for creation of DTD, which specifies set of rules. Create a style sheet in CSS/XSL & display the document in internet explorer.
- 7. Write an HTML program to design an entry form of student details and send it to store at database server like SQL, Oracle or MS Access.
- 8. Using ASP for server side programming, ASP for user name and password and to retrieve & match the value. It display success and failure messages. ASP for creating text file local drive, ASP for keeping the student record in database.
- 9. Program to illustrate JDBC connectivity. Program for maintaining database by sending queries. Design and implement a simple servlet book query with the help of JDBC & SQL. Create MS Access Database, Create on ODBC link, Compile & execute JAVA JDVC Socket.
- 10. Design and implement a simple shopping cart example with session tracking API.
Reference: Laboratory Manual04