m.sc.computer

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: [email protected] 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 (SC:4+ST:1+OBC:1) Total:30 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.

Upload: dineshvhaval

Post on 30-Dec-2015

4 views

Category:

Documents


1 download

DESCRIPTION

fyf

TRANSCRIPT

Page 1: M.sc.Computer

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: [email protected]

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(SC:4+ST:1+OBC:1)

Total:30

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.

Page 2: M.sc.Computer

LIBRARY Students are entitled to have the library facilities as per rules prevailing in the college. CURRICULUM

YEAR TIME- PERIOD

SUBJECTS

PART-I 500 MARKS

10 UNITS OF 50 MARKS

EACH

28-30 weeks

1.1. Discrete Mathematics I 1.2. Discrete Mathematics II 2.1. System Programming & Advanced Operating System 2.2. Computer Architecture 3.1. Data 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/

ACADEMIC TRAINING

4-6 weeks

The student is required to submit a project-report and present a lecture in the seminar at the end of his/her training.

PART-II 500 MARKS

8 UNITS OF 50 MARKS

EACH AND DESSERTATION OF 100

MARKS

28-30 weeks

6.1 Advanced DBMS 6.2. Computer Networks 7.1. Software Engineering 7.2. Lab 4: S/W Engineering & Network Laboratory 8.1. Elective I from the following List 8.2. Elective II from the following List 9.1 Seminar 9.2. General Viva-voce 10. Dissertation Work (100 MARKS)

LIST OF ELECTIVE SUBJECTS

List for the Elective Subjects • Compiler Design • Pattern Recognition and Image Processing • VLSI Design and embedded systems

Page 3: M.sc.Computer

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.

Page 4: M.sc.Computer

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. 2. C. L. Liu, Elements of Discrete Mathematics, 2

nd Ed., McGraw Hill, New Delhi, 1985.

3. K. H. Rosen, Discrete Mathematics and its applications, 5th

Ed., McGraw Hill, New

Page 5: M.sc.Computer

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.

Page 6: M.sc.Computer

Books 1. Doglas B. West, Introduction to graph theory, PHI, New Delhi, 2003. 2. C. L. Liu, Elements of Discrete Mathematics, 2

nd 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

Page 7: M.sc.Computer

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

Page 8: M.sc.Computer

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. 3. Patterson D. A., J. L. Hennessy, Computer architecture a quantitative approach, 2

nd 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.

Page 9: M.sc.Computer

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,

Page 10: M.sc.Computer

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

Page 11: M.sc.Computer

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. 10. Goodman & Hedetniemi, Introduction to Design and Analysis Of Algorithms, 5

th 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

Page 12: M.sc.Computer

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

Page 13: M.sc.Computer

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.

Page 14: M.sc.Computer

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. 2. Silberschatz, Korth, Sudershan, Database System Concepts, 5

th Ed., McGraw Hill, NY,

2005.

Page 15: M.sc.Computer

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).

Page 16: M.sc.Computer

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

Page 17: M.sc.Computer

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

Page 18: M.sc.Computer

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

Page 19: M.sc.Computer

(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,

Page 20: M.sc.Computer

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.