Вы находитесь на странице: 1из 20

BARRACKPORE RASTRAGURU SURENDRANATH COLLEGE

6 Riverside Road & 85 Middle Road, Barrackpore, Kolkata 700 120


*Affiliated to University of Calcutta, Registered under 2f of UGC Act &. Accredited by NAAC*
Phone: (033) 2592-0603, Fax: (033) 2594-5270, Email: brsc1@vsnl.net

MASTER OF SCIENCE (M.Sc.) IN COMPUTER SCIENCE

OBJECTIVE
M.Sc. in Computer Science is a course designed to provide quality education in
theoretical studies and practical training in Computer Science so that the students, on
successful completion of the course, may either take up a professional career in industry
or an academic career for further study and research.

ELIGIBILITY
A candidate seeking admission to the course must have passed three-year B.Sc. degree
course from University of Calcutta or any other university recognized by it. The
candidate must have the following subject-combination in B.Sc. Honors/major in
Computer Science and general/subsidiary/minor subjects in (i) Mathematics, (ii) Physics/
Statistics/ Electronic Science. Selection of the candidates is based on the marks obtained
in the qualifying examination.

NUMBER OF SEATS
General: 24 Reserved category: 6 Total:30
(SC:4+ST:1+OBC:1)

In case the reserved seats are not fulfilled, general category candidates will be considered
for those seats.

ATTENDANCE AND CONDUCT


The attendance requirement is 75% in theory and practical classes separately. If a student
fails to attend classes continuously for one week or more, he/she is required to furnish
explanation to the HOD/Course-coordinator for such absence. If such explanation is
found to be satisfactory, then the calculation of percentage of attendance is determined
disregarding the period for which explanation has been provided by the student and
accepted by the HOD/Course-coordinator.

FEES STRUCTURE
Course Fee: Around Rs. 24,000/- per annum. (Payable at a time)
[On the basis of Tuition fee Rs. 2,000/- per month]
There is a provision of financial assistance to financially weak students.
LIBRARY
Students are entitled to have the library facilities as per rules prevailing in the college.

CURRICULUM

YEAR TIME- SUBJECTS


PERIOD
PART-I 28-30 1.1. Discrete Mathematics I 1.2. Discrete
500 MARKS weeks Mathematics II 2.1. System Programming
& Advanced Operating System
10 UNITS OF 50 MARKS 2.2. Computer Architecture 3.1. Data
EACH Structure & Algorithms 3.2. Analysis of
Algorithms 4.1. Object Oriented
Programming with Java 4.2. Lab 1: Object
Oriented Programming with Java
5.1. Lab 2: Data Structures, Algorithms &
O.S.
5.2. Lab 3: Microprocessor-based Interface
programming

INDUSTRIAL/ 4-6 weeks The student is required to submit a project-


ACADEMIC TRAINING report and present a lecture in the seminar
at the end of his/her training.
PART-II 28-30 6.1 Advanced DBMS
500 MARKS weeks 6.2. Computer Networks 7.1. Software
Engineering
8 UNITS OF 50 MARKS 7.2. Lab 4: S/W Engineering & Network
EACH AND Laboratory
DESSERTATION OF 100 8.1. Elective I from the following List 8.2.
MARKS Elective II from the following List
9.1 Seminar
9.2. General Viva-voce
10. Dissertation Work (100 MARKS)

LIST OF ELECTIVE List for the Elective Subjects


SUBJECTS • Compiler Design
• Pattern Recognition and Image Processing
• VLSI Design and embedded systems
Note 1: Content and the list of books for each paper is given in the detail syllabi. The
teacher may consult standard websites for teaching purpose.

Note 2: For a theory paper of 50 marks, at least 50 lectures of 45 minutes duration will be
allotted. For a practical paper of 50 marks, and at least 30 practical classes of 3x45
minute’s duration will be allotted. For laboratory-based papers, equal weightage will be
given on the regular class performance and on the yearly examination.
BARRACKPORE RASTRAGURU SURENDRANATH COLLEGE

MASTER OF SCIENCE (M.Sc.) IN COMPUTER SCIENCE

DETAIL SYLLABI (PART I)

1.1. Discrete Mathematics I (50L)

Aim
• To obtain necessary foundations on algebra and probability theory

Content
• Set Theory (8L): Sets, Operations on sets, Cartesian products, Relations, Lattices,
Equivalence relation and classes, Partitions, Functions, Natural numbers,
Inductions and Inductive definitions and proofs, Cardinality of set – Finite and
Infinite, Countable and Uncountable sets, Diagonalization arguments,
Computability and Russell’s paradox
• Group Theory (12L): Binary operation, Groupoid, Semi-group and Monoids, Group,
subgroup, Co-sets, Lagrange’s theorem, Cyclic group, Order of a group and an
element, Generator of a group, Normal subgroup and quotient groups,
Homomorphism and isomorphism, Permutation group, Direct product
• Ring Theory (8L): Ring, Sub ring, Ideal and quotient ring, Homomorphism and
isomorphism, Integral domain and field, Vector space, Concept of Galoie Field
Theory.
• Introduction to linear algebra (6L): Linear transformations and matrices, rank and nullity
determinants, eigen values and eigen-vectors.
• Random variables (8L): Discrete and continuous, Probability Distributions, Concepts
of Joint distribution and Independent variables, Expectation values, Variances
• Special Probability Distributions and their properties (8L): Binomial, Normal,
Poisson, exponential, selection of appropriate distribution.

Books
1. R. M. Graham, D. E. Knuth and O. Patashnik, Concrete Mathematics, A Foundation
for Computer Science, Addison Wesley, 1989.
nd
2. C. L. Liu, Elements of Discrete Mathematics, 2 Ed., McGraw Hill, New Delhi, 1985.
th
3. K. H. Rosen, Discrete Mathematics and its applications, 5 Ed., McGraw Hill, New
York, 2002.
4. J. L. Mott, A. Kandel and T. P. Baker, Discrete Mathematics for Computer Scientists,
Reston Publishing Company, 1983.
5. C. L. Liu, Introduction to Combinatorial Mathematics, McGraw Hill, 1968.
5. Amritava Gupta, Probability & Statistics, academic Publishers, Revised reprint with
corrections, 1995.
6. Sen, De, Bannerjee, Probability & Statistics, U. N. Dhar & Sons, Pvt. Ltd., Jan 1999.

1.2. Discrete Mathematics II (50L)

Aim
• To learn the use of Combinatorics and Graph Theory to solve real world combinational
problems

Prerequisite
• Basic concepts of combinatorics, graph theory & data structures

Content
• Combinatorics and Generating function (10L): Multinomial theorem, Recurrence
relations, Linear homogeneous relations, general solution for distinct and repeated
roots with characteristic root method, non-homogeneous recurrence relations,
generating functions and their application to linear homogeneous recurrence
relations, non-linear recurrence relations
• Graphs (6L): Subgraph, Complement of a graph, problem of Ramsey, Graph
isomorphism, Directed Graphs, Types of digraphs, directed paths and
connectedness, Eular digraphs, Directed trees, Arborescence, Acyclic digraphs,
Tournament
• Connectedness and reachability (4L): Connectedness and reachability, Walk, Path,
Circuit, Distance, Eulerian paths and circuits in graphs and digraphs, Hamiltonian
paths and circuits in graphs
• Trees (4L): Trees, Spanning trees, rooted trees and binary trees
• Cut-sets (8L): Cut-sets and cut vertices, fundamental cut-sets, fundamental circuits,
connectivity and separability, max-flow min-cut theorem
• Planer graphs (6L): Planer graphs, Euler's formula, Statement of Kurtowski's
theorem, Dual of a planer graph
• Independence number and related topics (6L): Independence number and clique
number, Chromatic number, Bipartite graphs
• Enumeration of Graphs (6L): Counting of labeled and unlabeled graphs and trees,
Statement of Polya's theorem.
Books
1. Doglas B. West, Introduction to graph theory, PHI, New Delhi, 2003.
nd
2. C. L. Liu, Elements of Discrete Mathematics, 2 Ed., McGraw Hill, New Delhi, 1985.
3. Polya, G. R. E. Tarjan and D. R. Woods, Notes on Introductory Combinatorics,
BirkHauser, 1983.
4. N. Deo, Graph Theory with Applications to Engineering and Computer Science,
Prentice Hall, 1974.
5. F. M. Reingold, J. Nivergelt and N. Deo, Combinational Algorithms (Theory and
practice), Prentice Hall, Inc., Engiewood Cliffs, N. J., 1977.
6. V. Aho, J. E. Hopcroft, J. D. Ullman, The Design and Analysis of Computer
Algorithms, Addison Weslay, Reading, Mass, 1974.
7. F. Harary, Graph Theory, Narosa Publishing House, New Delhi, 1988.
8. J. A. Bondy and U. S. R. Murty, Graph Theory with Applications, MacMillan Press,
London, 1976.
9. M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, New York:
Academic Press, 1980.

2.1. Systems Programming and Advanced Operating Systems (50L)

Aim
• To realize how systems-programs builds an abstract machine over the raw machine
• To learn advanced topics of operating system

Prerequisite
• Computer organization, data structures and programming techniques, operating systems

Content
• Assemblers (8L): Language levels and assemblers, tasks of an assembler, processing
of imperative, declarative, and assembler directive statements, relocation, linking
and loading concepts, one and two pass assembler, symbol table organization,
program sections, output forms.
• Macro-assembler (4L): Concept and use of macros, structure of macros, nested
macro definitions and calls, conditional macro expansion and recursive macros,
combined implementation of macro-processor and assembler.
• Loader and linker (6L): Loading, linking and relocation, absolute, dynamic and
direct loading schemes, program linking schemes and resolution of external
references, optional features in loaders and linkage editors, overlay structures and
dynamic linking, bootstrap loaders.
• Process Synchronization (6L): Concepts of processes, Concurrent processes,
Threads, Overview of different classical synchronization problems, Monitors,
Communicating Sequential processes (CSP).
• Process deadlocks (4L): Introduction, causes of deadlocks, Deadlock handling
strategies, Models of deadlock.
• Distributed Operating System (16L): Architectures, Issues in Distributed operating
systems, Limitations of Distributed Systems, Lamport’s logical clock, Global
states, Chandy-Lampert’s global state recording algorithm, Basic concepts of
Distributed Mutual Exclusion, Lamport’s Algorithm, Ricart-Agrawala Algorithm,
Basic concepts of Distributed deadlock detection, Distributed File system,
Architecture, Design issues, Basic concepts of Distributed shared memory, Basic
concepts of Distributed Scheduling, Load balancing, Load sharing, Petri-nets.
• Distributed OS implementation (6L): Models, naming, process migration, remote
procedure calls.

Books
1. L. D. M. Dharmdhere, Introduction to Systems Software, Tata McGraw-Hill, New
Delhi, 1986.
2. J. J. Donovan, System Programming, McGraw Hill, Kogakshu, 1975.
3. L. L. Beck, System Software: An Introduction to System Programming, Addison-
Wesley, Mass, 1985.
4. S. Tannenbaum, Modern Operating Systems, Prentice Hall, Englewood Cliffs, 1992.
5. S. E. Madnick and J. J. Donovan, Operating Systems, McGraw Hill, New York, 1974.
6. A. Silberschatz and P. B. Galvin, Operating Systems Concepts, 5th ed., John Wiley and
Sons, New York, 1998.
7. H. M. Deitel, Operating System, Addison-Wesley, Noida, 1999.
8. P. B. Hansen, Operating System Principles, Prentice Hall, Englewood Cliffs, 1980.
9. S. Tanenbaum, Distributed Operating Systems, Prentice Hall of India, New Delhi,
1996.
10. P. K. Sinha, Distributed Operating Systems, IEEE Press, Los Alamos, California,
1997.

2.2. Computer Architecture (50L)

Aim
• Review of Computer Organization
• Study the different architectural view of the system
• Learn the principle of parallelism & parallel processing
Prerequisite
• Digital Logic and Basic Electronics
• Computer Organization
• Programming techniques

Content
• Introduction (6L): Evolution of Computer Architecture, Desired Properties of the
instruction set of a Computer, Instruction Formats, Addressing Modes,
Architectural Classification based on Multiplicity of Data and Instruction (SISD,
SIMD, MISD, MIMD structures), CISC versus RISC architecture, Associative
memory, Cache memory, Virtual memory.
• Microprocessor (8L): Subroutine and delay, Interfacing using 8155, 8255 and 8279,
Programming and interfacing using 8085.
• Pipeline Architecture (10L): Basic Concepts, Performance of a static linear pipeline,
Instruction pipelining Hazards (Structural, data & control hazards), Instruction
level parallelism (ILP), Super pipelining, Super scalar processing, and Vector
processing.
• Array Processor (8L): Comparison with vector processors (examples of array
processors)
• Multiprocessors (6L): Centralized shared memory architecture, Distributed shared
memory architecture Synchronization issues, models of memory consistency,
Example systems.
• Data Flow Architecture (6L): Static and Dynamic models, data flow graphs, systolic
array.
• Interconnection networks with examples (6L): Static network: Linear array, Ring,
Star, Tree, Systolic Array, Completely connected network, Cube & 3-Cube
network. Dynamic Network: Single – Stage network, Multistage network: Crossbar
Switch, Blocking Network: Omega network, non-blocking network, Mesh
connected Illiac Network, Scuffle Exchange.

Books:
1. K. Hwang, Advanced Computer architecture with parallel programming, McGraw Hill,
New York, 1993.
2. J. P. Hayes, Computer Architecture and Organization, 2nd ed., McGraw Hill, New
York, 2002.
nd
3. Patterson D. A., J. L. Hennessy, Computer architecture a quantitative approach, 2 ed.,
Morgan Kaufman, 1996.
4. K. Hwang and F.A. Briggs, Computer Architecture & Parallel Processing, TMH, New
Delhi, 1984.
5. Stone, H. S., Advanced Computer architecture, Addison Wesley, 1989.
6. Siegel, H.J., Interconnection Network for Large Scale parallel Processing, McGraw
Hill.
7. Quinn, M. J, Design of Efficient Algorithms for Parallel Computers, McGraw Hill,
New York, 1988.
8. Quinn, M.J., Parallel Computing: Theory and Practice, McGraw Hill, 1994.
9. W. Stallings, Computer Organization and Architecture, Prentice Hall, New Jersey,
1999.
10. P. Pal Choudhury, Computer Organization and Design, PHI India, New Delhi, 1994.

3.1. Data Structures and Algorithms (50L)

Aim
• To review complexity analysis and basic data structures
• To learn the advanced data structures
• To study various approaches to solve a problem

Prerequisite
• Discrete Mathematics
• Fundamentals of Data Structures and Algorithms

Content
• Review of Time and Space complexity (4L): Big-O, omega, theta. Worst case &
Average case complexity (illustration with well known algorithms)
• Review of ADT and basic linear and non-linear data-structures (8L)
• Recursion (3L): Definition, Use, Limitations, Examples, Hanoi problem.
• Sorting and selection problems (10L)
Tournament and heap-sort methods
Other sorting algorithms: Quick sort, Merge sort, Radix sort (both recursive and
non-recursive versions where applicable)
• Searching and set manipulation (20L)
Searching in static table: Interpolation search, Binary search, Path-lengths in
binary trees ands applications, Binary search trees
Searching in dynamic table: Randomly grown binary search trees, AVL trees, (2,
+
3) trees, B-trees, B trees
Amortized Analysis, Binomial heaps and Fibonacci heaps
Disjoint set maintenance techniques: Set manipulation algorithm like UNION–
FIND, union by rank, path-compression
• Review of hashing techniques (5L)

Books
1. T. Coreman, C. Leiserson and R. Rivest, Introduction to Algorithms, McGraw Hill,
New York, 1994.
2. G. Brassard, P. Bratley, Fundamentals of Algorithms, PHI, New Delhi, 2003.
3. Robert Sedgwick, Data Structure through C, Addison Wesley Publishing Company,
New York, 2000.
4. Robert Sedgwick, Algorithms in C, Addison Wesley Publishing Company, New York,
1998.
5. R. L. Cruse, Data Structure and Program Design in C, Prentice Hall of India, New
Delhi, 1996.
6. E. Horowitz and S. Sahni, Fundamentals of Data Structures, CBS, New Delhi, 1977.
7. E. Horowitz and Sahni, Fundamentals of Computer Algorithms
8. N. Wirth, Algorithms + Data Structures = Programs, PHI, New Delhi, 2000.
9. A. V. Aho, J. E. Hopcroft, J. D. Ullman, Data structure and Algorithms, Addison
Wesley, Readimg, Mass,1983.

Note: Some of the topics, which are already taught in the UG course, may be covered as
programming assignments in the software laboratory classes instead of theory classes.

3.2. Analysis of Algorithms (50L)

Aim
• To learn the fundamental techniques of designing correct and efficient algorithms
• To study the different paradigms for designing algorithms

Prerequisite
• Discrete Mathematics
• Data structures and Algorithms

Content
• Review of Formal Languages and Automata Theory (10L): Chomsky’s Hierarchy,
FSM - Definition and representation, DFA, NDFA, Regular expression, RAM, TM.
• Paradigms for Algorithm-design (22L)
Divide and Conquer: Basic method, use, examples
Dynamic Programming: Basic method, use, Examples: matrix-chain
multiplication, All pair shortest paths, single-source shortest path, Traveling
Salesman problem
Branch and Bound: Basic method, use, Examples: The 15-puzzle problem
Backtracking: Basic method, use, Examples: Eight queens problem, Graph
coloring problem, Hamiltonian problem
Greedy Method: Basic method, use, Examples: Knapsack problem, Job
sequencing with deadlines, minimum spanning tree (Prim's and Kruskal's
algorithms)
• NP-completeness (10L): P class, NP-class, NP-hard class, NP-complete class. Circuit
Satisfiability problem, Clique, Decision Problem.
• Introduction to approximation algorithms (8L): Necessity of approximation scheme,
Polynomial-Time approximation Scheme, Introduction of 0/1 Knapsack Problem
Books
1. G. Brassard, P. Bratley, Fundamentals of Algorithms, PHI, New Delhi, 2003.
2. E. Horowitz and Sahni, Fundamentals of Computer Algorithms, Galgotia Publications,
New Delhi, 2000.
3. Robert Sedgwick, Algorithms in C, Addison Wesley Publishing Company, New York,
1998.
4. T. Coreman, C. Leiserson and R. Rivest, Introduction to Algorithms, McGraw Hill,
New York, 1994.
5. R. M. Graham, D. E. Knuth and O. Patashnik, Concrete Mathematics, A Foundation
for Computer Science, Addison Wesley, 1989.
6. A. V. Aho, J. E. Hopcroft, J. D. Ullman, The Design and Analysis of Computer
Algorithms, Addison Weslay, Reading, Mass, 1974.
7. Sara Baase, Computer Algorithms, Addison Wesley, 1988.
8. F. M. Reingold, J. Nivergelt and N. Deo, Combinational Algorithms (Theory and
Practice), Prentice Hall Inc., Engiewood Cliffs, N. J., 1977.
9. Knuth D, E., The Art of Computer Programming: Sorting & Searching, Vol. 1, 2, 3,
Addison-Wesley: An Imprint of Pearson Education Asia, New Delhi, 2000.
th
10. Goodman & Hedetniemi, Introduction to Design and Analysis Of Algorithms, 5 Ed.,
Mc Graw Hill, Singapore, 1988.
11. M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to The theory
of NP-Completeness, Freeman, New York, 1979.
12. Colin R. Reeves, Modern Heuristics Techniques for Combinatorial Problems, John
Wiely & sons, NY, 1993.

4.1. Object Oriented Programming with JAVA (50L)

Aim
• To learn a programming paradigm other than procedure-oriented programming
• To learn the basics of a programming language in respect to that paradigm
• To learn specific applications of that language

Prerequisite
• Concept of OOPs
• DBMS packages

Contents
• Basic concepts of object-oriented programming (10L) :
• Core Java (12L): Introduction, JVM, features of Java, C++ vs. Java, datatype,
operator, construct, recursion, array, string manipulation, classes and objects,
abstruct class, interface, exception handling, multithreading, deadlock, utility
classes.
• Client & server side programming (2L): Enterprise architecture styles: Single-tier, 2-
tier, 3-tier, n-tier; Relative comparison of the different layers of architectures.
• MVC Architecture (2L): Explanation, Need, Drawbacks, Different components &
containers.
• Applets (4L): Application vs. applet, life cycle, introduction to AWT and event-driven
programming, event handling process and sensible event handling.
• Java Database Connectivity (2L): JDBC/ODBC Bridge, connectivity model, Driver
manager, connection interface, statement interface, resultset interface, data
manipulation.
• Java Servlet (6L): Introduction, Advantages over CGI, Lifecycle of servlets, designing
of servlets, request and response methods, cookie methods, database connectivity.
• Java Script (4L): Data types, variables, operators, conditional statements, array object,
date object, string object.
• JSP (6L): Introduction, Comparison between JSP & servlet, Architecture/Life cycle,
Different types of JSP, relative comparison, Directives, Scripting elements,
Actions; JSP implicit objects, Accessing user information using implicit objects,
JSP servers
• J2EE (2L): An overview of J2EE web services.

Books
1. Allamaraju and Buest, Professional JAVA Server Programming, SPD Publication.
2. Ivor Horton, Beginning J2EE 1.4, SPD Publication.
3. Austin and Pawlan, Advanced Programming for JAVA 2 Platform, Pearson.
4. Krishnamoorthy & S. Prabhu, Internet & Java Programming, New Age Publication.
5. Java Server Programming, J2EE edition. (VOL I and VOL II), WROX publishers
6. X-Window System, R.W.Scheifler & J. Gettys, PHI.
7. Cay S. Horstmann and Gery Cornell, Core Java 2 Vol I and II, Prentice Hall
8. Bruce Eckel, Thinking in Java Vol 3 at http://www.mindview.net/books/TIJ
9. Scripting reference at http://home.pacbell.net/ouster/scripting.html

4.2. Lab 1: Object-oriented Programming with JAVA

Aim
• To learn JAVA as an object-oriented programming language
• To learn specific applications of that language
Contents
• Problems will highlight the topics learnt in the theory papers 4.1.

5.1. Lab 2: Data Structures, Algorithms and Operating Systems

Aim
• To have a hands-on experience on the topics covered in theory papers 2.1, 3.1, 3.2.

Contents
• Problems will highlight the topics learnt in the theory papers 2.1, 3.1, 3.2.

5.2. Lab 3: Microprocessor-based Interface programming

Aim
• To learn interface programming in microprocessor-based assembly language.

Contents
• Experiments on Interface programming in 8085–based micro computing kits.
• Experiments with 8086–based micro computing kits.
DETAIL SYLLABI (PART II)

6.1. Advanced Database Management System (50L)

Aim
• Review basic concepts of DBMS
• Learn the advanced topics of it

Prerequisite
• Data Structures and Algorithms
• Database management system

Contents
• Review of basic concepts of DBMS (8L): Objectives and architecture, Relational
database design, Hash and inverted files, Extended E-R diagram.
• Query processing (6L): Query optimization - heuristic and rule based optimizers, cost
estimates
• Transaction Management (6L): Concurrency control, recovery mechanisms
• Object oriented database design (8L): Objects, methods, query languages,
implementations, Comparison with Relational systems, Object orientation in
relational database systems, Object support in current relational database systems,
complex object model, implementation techniques
• Distributed database (10L): Client/server model, integrity, security & repositions,
case study, Integrity, Views & Security, Integrity constraints, views management,
data security
• Emerging database trends (10L):
Introduction to data warehousing, Online Analytical Processing, Introduction to
Data Mining.
Spatial Database – basic concepts, storage and retrieval of spatial and non-spatial
data, quad tree, address square, GIS queries
Statistical database – elementary operations, security in statistical database, linear
queries, limits on the structure of queries
Temporal database – updating of temporal data, temporal query, real-time
database,.
Multimedia database -
• Case Study with a DBMS package (2L)

Books
1. H. F. Korth, A. Silberschatz, Database System Concepts, McGraw Hill, NY, 2000.
th
2. Silberschatz, Korth, Sudershan, Database System Concepts, 5 Ed., McGraw Hill, NY,
2005.
3. J. D. Ullman, Principles of Database Systems Vol. I & Vol II, Rockville, MD:
Computer Science Press, 1998.
4. R. A. Elmasri, S. B. Navathe, Fundamentals of Database Systems, 3rd ed., Addison-
Wesley, 1998.
5. C. J. Date, An Introduction to Database Systems, Eighth Edition.
6. Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, 2002.
7. R. Ramakrishnan, Database Management Systems, 2nd ed., McGraw Hill, New York.
8. Subramonium, Multimedia Database.
6.2 . Computer Networks (50L)

Aim
• Learn the general principles and concepts of computer networks and the services built
on top of them.
• Design and implement basic network services and systems.

Prerequisite
• Computer Architecture
• Operating Systems
• Data Structures and Algorithms

Content
Overview of data communication and Networking: [10L]
Introduction; Data communications: components, data representation (ASCII, ISO etc.),
direction of data flow (simplex, half duplex, full duplex); Networks: distributed
processing, network criteria, physical structure (type of connection, topology), categories
of network (LAN, MAN, WAN);Internet: brief history, Internet today; Protocols and
standards; Reference models: OSI reference model, TCP/IP reference model, their
comparative study.
Physical level :Overview of data (analog & digital), signal (periodic & aperiodic signal,
Analog Signal: Amplitude, Frequency, Phase, Time & frequency domain, Digital Signal:
Bit interval, Bit rate, Decomposition of a digital signal, Difference between Analog &
digital signal), transmission (analog & digital, difference between them, Advantage of
digital transmission)& transmission media (guided: Twisted pair, coaxial cable, optical
fiber & non-guided: Microwave, Satellite);Impairments: Attenuation, Delay distortion,
noise, Basic signal Theory: Fourier transform, Transform pairs, Standard function & their
transform, Transform theorem, Ideal filters and their transfer function, real passive and
active filters. TDM, FDM, WDM; Circuit switching: time division & space division
switch, TDM bus; Telephone network; Encoding & modulation: Digital data to Digital
signal (Unipolar, Polar: NRZ-L, NRZ-I, RZ, Biphase: Manchester, differential
Manchester, Bipolar: AMI), Analog to Digital (PAM, PCM, Delta modulation), Digital to
Analog (ASK, PSK, FSK, QAM).
Data link layer: [8L]
Types of errors, error detection & correction methods (Detection: VRC, LRC, CRC,
Checksum, Correction: Hamming code), Line Discipline: ENQ/ACK; Poll/Select, Flow
control: Stop & Wait, Sliding window; Error control: Stop & Wait ARQ, Sliding window
ARQ: Go-Back- N ARQ, Selective repeat ARQ, Protocol: HDLC.

Medium access sub layer: [7L]


Point to point protocol, Ethernet, token bus, token ring, FDDI; Reservation, polling,
concentration; Multiple access protocols: Pure ALOHA, Slotted ALOHA, CSMA,
CSMA/CD, FDMA, TDMA, CDMA.

Network layer: [10L]


Internetworking & devices: Repeaters, Hubs, Bridges, Switches, Router, Gateway;
Addressing: Internet address, classful address, subnetting; Routing: techniques, static vs.
dynamic routing, routing table for classful address; Routing algorithms: shortest path
algorithm, flooding, distance vector routing, link state routing, Hierarchical routing,
Unicast and multicast routing protocols; Protocols: ARP, RARP, IP, IPV4.

Transport layer: [5L]


Process to process delivery; UDP; TCP; Congestion control algorithm: Leaky bucket
algorithm, Token bucket algorithm, chokes packets.

Application layer: [5L]


DNS, TELNET, SMTP, FTP, HTTP & WWW; Security: Cryptography, Firewalls.

Modern topics: [5L]


ISDN services; DSL technology, Introduction to blue-tooth, VLAN’s,

Text Books:
1. B. A. Forouzan – “Data Communications and Networking (3rd Ed.) “ – TMH
2. A. S. Tanenbaum – “Computer Networks (4th Ed.)” – Pearson Education/PHI
3. W. Stallings – “Data and Computer Communications (5th Ed.)” – PHI/ Pearson
Education
4. Zheng & Akhtar, Network for Computer Scientists & Engineers, OUP
5. Black, Data & Computer Communication, PHI
6. Miller, data Communication & Network, Vikas
7. Miller, Digital & Data Communication, Jaico
8. Shay, Understanding Data Communication & Network, Vikas

Reference Books:
1. Kurose and Rose – “ Computer Networking -A top down approach featuring the
internet” – Pearson Education
2. Leon, Garica, Widjaja – “Communication Networks” – TMH
3. Walrand – “Communication Networks” – TMH.
4. Comer – “Internetworking with TCP/IP, vol. 1, 2, 3(4th Ed.)” – Pearson
Education/PHI
7.1. Software Engineering (50L)

Aims
• Study the cost effective development and evolution of software systems
• Develop a software product in the form of a class project

Prerequisite
• System Analysis and Design
• Data Structures & Algorithms
• Systems Programming
• Technical writing skills

Contents
• Overview of System Analysis & Design (6L): Business System Concept, System
Development Life Cycle, Waterfall Model, Spiral Model, Feasibility Analysis,
Technical Feasibility, Cost-Benefit Analysis, COCOMO model
• System Requirement Specification (10L): DFD, Data Dictionary, ER diagram,
Process Organization & Interactions, System Design – Problem Partitioning, Top-
Down And Bottom-Up design, Decision tree, decision table and structured English;
Functional vs. Object-Oriented approach
• Coding & Documentation (2L): Information Hiding, Reuse, System Documentation
• Testing (8L): Levels of Testing, Integration Testing, Test case Specification,
Reliability Assessment, Validation & Verification Metrics, Monitoring & Control
• Software Project Management (6L): Project Scheduling, Staffing, Software
Configuration Management, Quality Assurance, Project Monitoring
• Object Oriented Software Engg and UML (14): Modeling: Importance, Principal,
View, Models, Model elements, Diagram, Object Oriented modeling.
UML : Visualization, Specifying, constructing, Documenting, Conceptual model of
UML, Basic building blocks : Class, Object, association, Message Passing,
Polymorphism, Relationship, diagrams : Class diagram, Object diagram,
interaction, Interaction Diagram, Use Case, Use case diagram, Activity diagram,
State chart Diagram, Component diagram, Constraints, Implementation Strategies.
• CASE TOOLS (4L): Concepts, use and application

Books:
1. R. S. Pressman, Software Engineering: A Practitioner's Approach, 5th ed., McGraw
Hill, College Div, Singapore, 2000.
2. Pankaj Jalote, An Integrated Approach to Software Engineering, 2nd ed. Narosa, New
Delhi, 1997.
3. Ian Sommerville, Software Engineering, Pearson Education
4. Ghezzi, Software Engineering, PHI
5. G. Booch: Object-Oriented Analysis and Design, Benjamin / Gumming Publishing co.,
New York, 1994.
6. Behforooz, Software Engineering Fundamentals,OUP
7. Dick Hamlet, Joe Maybee, The Engineering of Software, Addison Wesley, 2001
8. Bob Huges & Mike Cotterell, Software Project Management, 2nd Edn., McGraw Hill,
1999

Reference Books:
1. IEEE Standards on Software Engineering.
2. Kane, Software Defect Prevention, SPD

8.1. Elective I (50L)


8.2. Elective II (50L)

Two Electives 8.1. and 8.2. are to be taken from the following list.

1. Compiler Design
2. Pattern recognition and Image Processing
3. VLSI Design and embedded systems

1. Compiler Design (50L)

• Introduction to Compiling (4L): Compilers, Analysis of the source program, The


phases of the compiler, Cousins of the compiler.
• Lexical Analysis (6L): The role of the lexical analyzer, Tokens, Patterns, Lexemes,
Input buffering, Specifications of a token, Recognition of a tokens, Finite automata,
From a regular expression to an NFA, From a regular expression to NFA, From a
regular expression to DFA, Design of a lexical analyzer generator (Lex).
• Syntax Analysis (10L): The role of a parser, Context free grammars, Writing a
grammar, Top down Parsing, Non-recursive Predictive parsing (LL), Bottom up
parsing, Handles, Viable prefixes, Operator precedence parsing, LR parsers (SLR,
LALR), Parser generators (YACC/JavaCC). Error Recovery strategies for different
parsing techniques.
• Syntax directed translation (5L): Syntax director definitions, Construction of syntax
trees, Bottom-up evaluation of S attributed definitions, L attributed definitions,
Bottom-up evaluation of inherited attributes.
• Type checking (4L): Type systems, Specification of a simple type checker,
Equivalence of type expressions, Type conversions
• Run time environments (7L): Source language issues (Activation trees, Control stack,
scope of declaration, Binding of names), Storage organization (Subdivision of run-
time memory, Activation records), Storage allocation strategies, Parameter passing
(call by value, call by reference, copy restore, call by name), Symbol tables,
dynamic storage allocation techniques.
• Intermediate code generation (4L): Intermediate languages, Graphical representation,
Three-address codes, Implementation of three address statements (Quadruples,
Triples, Indirect triples).
• Code optimization (5L): Introduction, Basic blocks & flow graphs, Transformation of
basic blocks, Dag representation of basic blocks, The principle sources of
optimization, Loops in flow graph, Peephole optimization.
• Code generations (5L): Issues in the design of code generator, a simple code
generator, Register allocation & assignment; JVM.

Books:
1. Aho & Ullman, Principles of Compiler Design, Narosa.
2. Aho, Sethi, Ullman, Compiler Principles, Techniques and Tools, Pearson Education.
3. Holub, Compiler Design in C, PHI.

2. Pattern recognition and Image Processing (50L)

• Pattern Recognition (20L): Introduction, decision boundaries, discriminant functions


(linear and non-linear), Bayesian classification, training and test sets, parametric
and non-parametric learning, minimum distance classifiers, k-NN rule,
unsupervised learning, basic hierarchical and non-hierarchical clustering
algorithms, dimensionality reduction, similarity measures, feature selection criteria
and algorithms, principal components analysis, some applications.

• Image Processing (30L): Introduction, image definition and its representation,


neighbourhood metrics, 2-D orthogonal transformations of images (DFT, DOT,
HT, KLT), enhancement, contrast stretching, histogram specification, local contrast
enhancement, smoothing and sharpening, spatial/ frequency domain filtering,
segmentation, pixel classification, greylevel thresholding, global/local
thresholding, edge detection operators, region growing, split/merge techniques,
image feature/primitive extraction, Hough transform, medial axis transform,
skeletonization/ thinning, shape properties, compression, Huffman coding, block
truncation coding, run-length coding, some applications.

Books:
1. R. O. Duda, P. E. Hart and D. G. Stork: Pattern Classification and Scene Analysis, 2nd
ed., Wiley, New York, 2000.
2. J. T. Tou and R. C. Gonzalez: Pattern Recognition Principles, Addison-Wesley,
London, 1974.
3. R. C. Gonzalez and R. E. Woods: Digital Image Processing, Addison-Wesley,
California, 1993.
4. B. Chanda and D. Dutta Majumder: Digital Image Processing and Analysis, Prentice
Hall of India, New Delhi, 2000.
5. Jain: Fundamentals of Digital Image Processing, Prentice Hall of India, New Delhi,
1989.

3. VLSI Design (50L)

• Introduction(6L): VLSI design, popular technologies.

• Logic synthesis & Testable Design (12L): Logic synthesis with nMOS, CMOS, DCVS
and PLAs; Pass transistor vs. ratio logic, transit time, clocking, scaling. PLA
minimization, folding, testing. Role of BDDs. Logic design tools-ESPRESSO, SIS,
OCTOOLS.

• High level synthesis(10L): Design description languages - introduction to features in


VHDL, Verilog, Scheduling algorithms; Allocation.

• Layout synthesis(12L): Design rules, design styles and parameters, design flow: physical
design flow- partitioning, floor planning and placement, routing; FPGAs, CAD tools -
MAGIC, XACT, VPR, etc.

• Embedded Systems(10): Introduction, design specification, software design, hardware


design, hardware software co-design, applications.

Books:
1. D. Pucknell and K. Eshraghian: Basic Principles of VLSI Design, Prentice Hall, Englewood
Cliffs, 1985.
2. E. D. Fabricius: Introduction to VLSI Design, McGraw Hill, New York, 1990.
3. Mukherjee: Introduction to CMOS VLSI, Prentice Hall, Englewood Cliffs, 1993.
4. N. Weste and K. Eshraghian: Principles of CMOS Design, 2nd ed., Addison-Wesley, Reading,
Mass., 1993.
5. Mead and L. Conway: Introduction to VLSI Systems, Addison-Wesley, Reading, Mass., 1980.
6. M. Sarrafzadeh and C. K. Wong: AN Introduction to VLSI Physical Design, McGraw Hill,
New York, 1996.
7. N. Sherwani: Algorithms for VLSI Physical Design Automation, Kluwer Academic,
Boston, 1999.

Вам также может понравиться