NIT Surathkal Syllabus Department of Computer Engineering
CO300 OPERATING SYSTEMS (3-0-0) 3 PREREQ: CO203
Introduction to O.S, File Systems, CPU scheduling, Memory management, Disk Scheduling algorithms,
virtual memory concept, Deadlocks, Concurrent processes, Performance Evaluation, Operating system
Security, Case Studies – The UNIX operating system
Silberschartz & Galvin, Operating System Concepts, Addison Wesley, Fifth Edition, 1997.
Melin Milenkovic, Operating Systems: Concepts and Design, McGraw Hill, New York, 2000.
CO301 DATABASE SYSTEMS (3-1-0) 4 PREREQ: CO200/CO204
Introduction & need for database systems, database Vs file systems, Relational Data model and
languages, Example Database system, Database design, Normalization, Transaction Processing concepts,
Elmasri, Rames, Shamkant B Navathe, Fundamentals of database systems, 2003
J D Ullman, Principles of database systems, 2001
CO302 SYSTEMS PROGRAMMING (3-0-0) 3 PREREQ: CO201/CO204
Introduction to system software, Desirable characteristics of systems programs, Introduction to
Assemblers, loaders and text editor, Study of detailed machine language structure and PDP-11
Input/Output operations in PDP-11; subroutines and coroutines; concurrent I/O; supervisor mode. Macro
facilities in PDP-11, Macro facilities in PDP-11, Design of an assembler, Linkers and loaders, Design of
a simple text editor.
Schneider, Principles of Computer Organization, Wiley International Edition
Mac Ewan, Introduction to Computer Systems through PDP-11 & Pascal, McGraw Hill
D.M. Dhamdhere, Introduction to system software, Tata McGraw Hill, New Delhi, 2002.
CO303 COMPUTER NETWORKS (3-0-0) 3 PREREQ: CO252
Introduction, Layered Architecture of Computer Networks, OSI and TCP/IP architectures & layers with
protocols, Internetworking & routing, Network security, Mobile networks and current trends
Andrew. S. Tannenbaum, Computer Networks, Prentice Hall of India, 2nd Edn, 2002.
Fred Halsall, Data Communications, Computer networking on OSI, Addison Wesley Publishing Co., 2nd
William Stallings,Data & Computer Communications, 2nd Edition, Maxwell, MacMillan International
Behrouz A. Forouzan, Data Communications & Networks, third edition, Tata McGraw Hill.
Achyuts Godbole, Data Communications & Networks, Tata McGraw Hill.
CO304 OPERATING SYSTEMS LAB (0-0-3) 2 PREREQ: CO203
Linux and/or other OS based exercises to practice/simulate: scheduling, memory management algorithms;
Concurrent programming; use of threads and processes; kernel reconfiguration, device drivers and
systems administration of different operating systems, Writing utilities and OS performance tuning
CO305 DATABASE SYSTEMS LAB (0-0-3)2 PREREQ: CO205
Assignment in Design and Implementation of Database systems or packages for applications such as
office automation, hotel management, hospital management; deployment of Forms, Reports
Normalization, Query Processing Algorithms in the above application project; Distributed data base
management & other related exercises.
CO350 COMPILER DESIGN (3-0-0) 3 PREREQ: CO254
Introduction to compiler design, Lexical analyzer, Regular expressions and finite automata, Introduction
to context free grammars, BNF notation, Parsing Techniques: Top-down parsing and Bottom-up parsing,
Error recover strategies for different parsing techniques, Intermediate code generation, symbol table,
Runtime storage allocation, Code Optimization, Code generation.
Alfred V. AHO, Ravi Sethi & Jeffrey D. Ullman, Compilers; Principles, Techniques & Tools, Addison-
Wesley Publication, 2001.
William A. Barrett et.al, compiler Construction, Theory and Practice, Galgotia 2000
Holub A.I., Compiler Design in C, Prentice Hall India.2000
CO351 SOFTWARE ENGINEERING (3-0-0) 3 PREREQ: CO200
Introduction to software engineering, Software development life cycle & various models, requirements
engineering, software specification, software metrics, software design, modular structure, Object Oriented
software engineering, Software testing & various testing mechanisms, Software verification and
validation, Verifying performances, Verifying reliability, Software cost estimation models, Software
development tools including CASE Tools, Software Project management.
R.S. Pressman, Software Engineering, McGrawHill, 2002
Pankaj Jalote, An Integrated Approach to software Engineering, Narosa Pub., 2002
Ian Sommerville, Software Engineering, 5th Edition. Addison-Wesley Publication House, 1997
Bell Morry, and Pugh. Software Engineering Approach. Prentice Hall. 2001
K. C. Shet., Software Engineering & Quality Assurance, BPB Publications, New Delhi.
Waman S. Jawadekar, Software Engineering, Principles and Practice, Tata McGraw Hill.
CO352 DISTRIBUTED COMPUTING SYSTEMS (3-0-0) 3 PREREQ: CO252
Introduction Distributed Systems and applications, Message Passing mechanisms IPC and RPC,
Distributed Operating Systems – resources/process/thread management, Distributed File Systems and
Services, Shared data, Synchronization Transaction and Concurrency Control, Distributed databases,
Name service, Timing & Coordination, Replication, Security and Fault Tolerance.
Pradeep Sinha, Distributed Operating Systems- Concepts and Design, PHI,2000
George Couloris, Jean Dollimore & Time Kindberg,Distributed Systems:Concepts & design, 2nd ed,
Addision Wesley 2003.
A.S. Tanenbaum and M.V. Steen, Distributed Systems – Principles and Paradigms, PHI.2003
V. Rajaraman, C. Siva Ram Murthy, Parallel, Computers Architecutre & Programming, PHI.
CO353 DESIGN AND ANALYSIS OF ALGORITHMS (3-0-0) 3 PREREQ: CO204
Models of computation, various performance measures, General techniques of algorithm design, Analysis
of different algorithms for sorting and selection, Data structures for efficient manipulation of sets and
partition, Efficient Graph algorithms based on Depth first search, Strassen’s matrix multiplication
algorithm, Efficient algorithms for matrix inversion and LUP decomposition, Modular arithmetic, NPcomplete
problems and approximation algorithms.
Aho, Hopcroft and Ullman the design and analysis of Computer Algorithms, Addison Weseley.
Horowitz and Sahni, Fundamentals of Computer Algorithms, Galgotia Publications, 2000.
Baase S.,Computer Algorithm Introduction to Design and Analysis, Addison Wesley. 2000
Knuth D.E., The Art of Computer Programming, Vol. I: Fundamental Algorithms, Addison Wesley.2000
CO354 COMPILERS LAB (0-0-3) 2 PREREQ: CO101/CO205
The laboratory course would consist of building a minicompiler (possibly subsets of Standard Compilers
like PASCAL or other languages) and executing Simple problems to demonstrate the Compiler
capabilities. LEX & YACC of Unix to be used.
CO355 SOFTWARE LAB (0-0-3) 2 PREREQ: CO101/CO205
Miniproject to be designed to give exposure to the latest developments in Software Engineering and to
understand the use of Project Management skills; use of CASE tools.
CO356 NETWORKS LAB (0-0-3) 2 PREREQ :CO252
Exercises comprising simulation of various protocols and performance study; TCP/IP Level
Programming, Routing Algorithms and internetworking.
Kris Jamsa, Ken Cope, Internet Programming, Galgotia.