2. Concurrent Programming, by N. Gehani and A.D. McGettrick, AddisonWesley, 1988. 3. Distributed Operating Systems, by Andrew S. Tanenbaum, Prentice Hall, 1995. S.N.D.T University 1, Nathibai Thakersey Marg, Mumbai-400 020 Syllabus for Master of Science in Information Technology (M.Sc. IT) Semester I 3101. Advanced Operating Systems 3102. Advanced Computer Architecture Objective: To motivate the student to study operating systems, their design, and various types of advanced operating systems Objective: To give through knowledge of the design of advanced microprocessors and computing systems Detailed Syllabus: Concurrent Programming Clock Synchronization Processor Allocation and Load Balancing Distributed Shared Memory Systems Mutual Exclusion in Distributed Systems Consistent Global State Agreement Protocols Deadlock in Distributed Systems Distributed File Systems Parallel Disks -- RAID Check-pointing Algorithms Data base operating system, introduction Concurrency Control for Transaction Processing, issues in parallel and distributed computing systems. Multiprocessor operating systems, multiprocessor operating architectures, multiprocessor operating system design issues, threads, process synchronization, process scheduling and memory management, , concurrency control, theoretical and algorithmic aspects, Case Study, Amoeba and Mach. Detailed Syllabus: Fundamentals, Performance Analysis. Instruction Set Architecture. Pipelining, Pipeline Hazards. Instruction Level Parallelism. Software Pipelining. Memory Hierarchy, Cache Systems. Storage Systems, I/O systems. Interconnection Networks. Pipeline processor design . Superscalar processor design, out-of-order execution, simultaneous multithreading, and VLIW/EPIC processors. References: 1. Computer Architecture - A Quantitative Approach by J. Hennessy and D. Patterson, Third Edition, Morgan Kaufmann, 2002. 2. Parallel Computer Architecture: A Hardware/Software Approach by D. Culler, J Singh, with Anoop Gupta, Morgan Kaufmann, 1998. References: 1. Advanced Concepts in Operating Systems, by M. Singhal and N.G. Shivaratri ,McGraw Hill, 1994 3103. Mathematical Foundation for Computer Science 1 Objective: Provide a solid grounding in mathematics sufficient to understand a range of computer science topics and to act as a foundation for further study of mathematics relevant to computer science. Improve students' confidence in using mathematical concepts in computer science. Detailed Syllabus: Relevance and scope of research in Computer Science. Steps involved in the research process. Identification of research problem Identification and types of research variables. Research design. Data collection methodology, primary date collection methods / measurement techniques – characteristics of measurement techniques – reliability, validity etc. secondary data collection methods – library research, references – bibliography, abstracts etc. Analysis techniques – qualitative and quantitative analysis techniques – techniques of testing hypothesis – chi-square, t-test, correlation and regression analysis, analysis of variance etc. Making choice of an appropriate analysis technique. Research report writing Computer aided research methodology. Technical communication : Fundamentals of technical communication Oral and written communication Preparing oral presentations and supporting materials Standards of communication Written communication: Essays Technical leaflets Term papers Research Papers White paper and technical summaries Project proposals Tenders, Contracts and quotations Technical specifications Monographs Dissertations and Thesis Detailed Syllabus: Introduction to Number theory: divisibility, primality, Chinese remainder theorem, modulus arithmetic’s. Sets, relations, and functions: Closures, equivalence relations, partial ordering, functions, function types, inverse of functions, composition of functions, recursive functions, recurrence relations, growth of functions Logic: prepositional logic, first order logic, mathematical induction, deduction, proof by contradiction, program correctness Probability and statistics: permutation and combination, measures of central tendency, measures of dispersion, correlation, elements of probability theory, Bayes theorem, probability distributions Theory of Computation: languages, grammars, automata, finite automata, regular expressions, Turing machine, parsing techniques References: 1. Concrete Mathematics, Second Edition by Ronald L. Graham, Donald E. Knuth, and Oren Patashnik (Reading, Massachusetts: Addison-Wesley, 1994). 2. Discrete Mathematics and its Applications, 5th edition, by Kenneth H. Rosen, Tata McGraw Hill, 2003 3104. Research Methods and Technical communication References: Objective: To develop effective research methods. Write effective research reports etc. technical and 2 1. Research Methodology : Methods and Techniques, 2nd ed., by C.R.Kothari , Wishwa Prakashan,2003 2. Research Methods, 5th ed., by Donald H. McBurney, Thomson Learning,2000 3. “Writing and Speaking in the Technology Professions - A Practical Guide, IEEE Press, (Ed.), David F.Beer, Selected Reprint,1992 computer graphics leading to the ability to understand contemporary terminology, progress, issues, and trends Detailed Syllabus: Interactive input devices, Display & Hard copy devices, Coordinate systems, Raster Algorithms for line circle ellipse and other curve generation, Area fill algorithms, Text generation. Geometric transformations 2D & 3D transformation and viewing. Window view port transformation algorithms, line and area clipping algorithms. 3105. Programming Paradigms Objective: The students learn about the basic components of programming languages and how they have evolved over time. Detailed Syllabus: 3-D: polygon surfaces, curve line surfaces, spline, Bezier curve, BSP line, introduction to fractals, projection method, viewing transformation, clipping in 3D. Language Paradigms Segments, Segment files, Segmented Display processor, segment attributes. Programming Languages - a tour Language Paradigms Language design criteria Language description: Syntactic Structure Imperative paradigm Block Structure Declarative paradigm Logic Programming Functional Programming Object Oriented Paradigm Other Paradigms Constraint Programming Event driven Rule based Concurrent programming Image synthesis, Hidden line and hidden surface removal techniques. Light and shading, texture and surface pattern, shadows, half toning, surface shading methods rendering. Interactive input techniques, interactive picture construction techniques. References: 1. Donald Hearn, M. Pauline Baker “Computer Graphics” – PHI, 2nd Ed,1999 2. Steven Harrington “Computer Graphics A Program Approach” – McGH,1987 Reference: 1. Ravi Sethi, Programming Language, Concepts and Constructs “Addison Wisley “ 2nd ed,2003 3202. Advanced Database Management Systems Objective: This course is intended for graduate students who have already completed an introductory database course. Semester II 3201. Computer Graphics Detailed Syllabus: The goal of this course is to explore in-depth theoretical and practical issues of advanced database management system. Objective: This course is designed to provide a comprehensive introduction to 3 - Object Oriented Databases & XML: object-oriented databases, object-relational databases, XML Database System Architecture database system architectures, distributed databases, parallel databases, hierarchical databases, network databases, multimedia databases, knowledge bases Object Oriented concepts Software Product Engineering - Requirements Management with Use Cases - Object Oriented Analysis and design methodologies - Implementation - Testing methodologies - System delivery - Maintenance - Implementation issues and strategies Advance Topics Transaction management and concurrency control Crash recovery Query processing and optimization Indexing Database Tunning Data mining XML Distributed database systems Software Quality Assurance - Quality standards - ISO and CMM - Reviews and audits - Software Process Improvement – Measurement & Metrics References: References: 1. Database system concepts,byHenry F. 1. Bruegge & Dutoit, Object-Oriented Software Engineering Using UML, Patterns, and Java, 2nd Edition, ISBN 0- Korth , Abraham Silberschatz, Mc GH, 2005 2. Elmasri, R. A. and Navathe, S.B. Fundamentals Of Database Systems, Addison Wesley Publishing Co., 1994. 13-0471100 2. Roger S. Pressman, Software Engineering: A Practitioner’s Approach, McGraw Hill, 4 ed., 1997 3203. Applied Software Engineering 3204. Network Programming Objective: To provide students with an understanding of the importance of a broad range of software engineering related topic. Objective: Create client and server applications using the "Sockets" API. Be able to compare, contrast, and critique various networking APIs Detailed Syllabus: Introduction to Software Engineering Software Development Processes Software documentation and deliverables Software Development Life Cycles – Agile, Rational, Unified Process, Extreme Programming Detailed Syllabus: Basics of Networking covering TCP/IP protocol suite. Basic networking architecture – layered approach and evolution of networks. Detailed layered architecture of TCP/IP protocol suite covering protocols TCP, UDP, IP, ICMP, IGMP, etc. UNIX Networking architecture. Introduction to Unified Modeling Language (UML) - UML notations and semantics 4 Sockets API in UNIX Preliminary system calls for TCP/UDP sockets. I/O models in UNIX. Socket Options. Advance I/O system calls. Broadcasting and Multicasting. Raw Sockets and Data-link access. Remote Procedure Calls Basic architecture for RPC. RPC runtime library – high level and low level calls. XDR (eXtended Data Representation) format and XDR filters. Recursive algorithms - FFT and applications Network flow problems Theory of numbers Pattern matching algorithms Graph algorithms Methods for designing algorithms Backtracking, Heuristics, Greedy algorithms, Hill Climbing Correctness of algorithms Efficiency of algorithms Inefficiency of algorithms Inefficiency and intractability Noncomputability and undecidability Analysis of algorithms: Measuring problem size Notions of complexity Performance of algorithms : - Best-case, Average-case, Worst-case, Expected-case The difference between expected and average case Measures of performance : Linear, Algebraic, Polynomial, Exponential Polynomial time algorithms Design of algorithms and trade-off Notion of Complexity Classes of problems Unsolvable, solvable , Polynomial, Exponential , NP ,Co NP , Algorithms and their Complexity Models of Computations TM, RAM References: 1. UNIX Network Programming, Volume I and II - W. Richard Stevens, PrenticeHall,1998 2. Power Programming with RPC - John Bloomer, O'Reilly & Associates ,1992 3. RPC handbook, Java Programming Language - Ken Arnold, James Gosling,2005 4. Introduction to Computer Networks Andrew S. Tanenbaum, Prentice-Hall, 1981. 3205. Design and Analysis of Algorithms Objective: To analyze the efficiency of algorithms and to learn design ideas of algorithm for various types of problems in computer science. Optimization of algorithms: Absolute approximation Epsilon approximation Polynomial time approximation Fully polynomial time approximation Probabilistic algorithms Monte Carlo algorithms Las Vegas Algorithms References: 1. “The Sprit of computing” (2nd Edition) : David Harel.,3rd ed. ,2004 Detailed Syllabus: Study of algorithms Generating functions and recurrence relations Asymptotic approximations - Time and Space Trade-off - 'O' notation and its meaning Theory Of Automata 5 2. “An Introduction to Analysis of Algorithms” : Robert Sedgewick, Philippe Flajolet,1995. 3. “Introduction to Algorithms” : Thomas H. Cormen, MIT Press ,2002 4. “Design and Analysis of Algorithms” : Hopcroft and Ullman, Addison-Wesley Series, 1974. 6