3103. Mathematical Foundation for Computer Science

advertisement
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
Download