MS Courses
Course Description
Advanced
Algorithm Analysis
Pre – Requisite: Design and Analysis of
Algorithms
Post Course(s): ---
Course Description
Many planning, scheduling,
industrial, business and scientific problems are solved using
computers. Each individual problem to be solved uses an algorithm.
Different algorithms can be used to solve the same problem. The
solution quality of these problems base on the type of algorithm
being used. Computer science is sometimes defined as "the
study of algorithms". Thus, knowing something about algorithms
is crucial for everyone who wants to learn about computer science.
Every industry asks for an efficient algorithm. The objective
of this course is to develop advance level skills in Analyzing
Algorithms (AAA) and prepare the students to be able to develop
efficient algorithm for real problems that arise frequently in
computer applications. This course starts with the introduction
to some basic different algorithms. It then extends to learning
the concept of deigning and analyzing various algorithms for other
problems and to measure their performances. Concept of NP-completeness
is also covered in this course.
Course Contents
Advanced algorithm analysis
including the introduction of formal techniques and the underlying
mathematical theory. NPcompleteness. Search Techniques. Randomized
Algorithms. Heuristic and Approximation Algorithms. Topics include
asymptotic analysis of upper and average complexity bounds using
big-O, little-o, and theta notation. Fundamental algorithmic strategies
(brute-force, greedy, divide-andconquer, backtracking, branch-and-bound,
pattern matching, and numerical approximations) are covered. Also
included are standard graph and tree algorithms. Additional topics
include standard complexity classes, time and space tradeoffs
in algorithms, using recurrence relations to analyze recursive
algorithms, non-computable functions, the halting problem, and
the implications of non-computability. Algorithmic animation is
used to reinforce theoretical results. Upon completion of the
course, students should be able to explain the mathematical concepts
used in describing the complexity of an algorithm, and select
and apply algorithms appropriate to a particular situation.
Suggested Books
- Discrete Mathematics and its Applications, 5th Edition by
Kenneth H. Rosen
- Algorithm Design by Michael T. Goodrich and Roberto Tamassia
- Computers and Intractability, Guide to the Theory of NP-Completeness,
by M. Garey and D. Johnson.
- Computation, 1979, Addison-Wesley. (or the second edition).
- Tao Jiang, Ming Li, and Bala Ravikumar, Formal models and
Computability, in
- Handbook of Computer Science, CRC Press, 1996.
- Foundations of Algorithms Using C++ Pseudo code, 2nd Edition
by Richard Neapolitan and Kumarss Naimipour
- Introduction to Algorithms, 2nd Edition by Cormen, Leiserson,
Rivest and Stein.
Advanced
Operating Systems
Pre – Requisite: Operating System
Post Course(s):
Course Contents
An Overview of OS, Time
Management, Space Management, Concurrent Programming, Resource
Deadlock, Transput, Device Driver Implementation, File System
Implementation, User Interface Implementation, Inter-process Communication,
Distributed Operating System, Distributed System Implementation.
The class covers advanced topics in computer operating systems
with a special emphasis on distributed computing, and the services
provided by distributed operating systems. Important topics include
naming, security, remote procedure call, networks, concurrency,
transactions, parallel computing, shared memory, message passing,
and scale.
Suggested Books
- 1. William Stallings, “Operating Systems Internals and
Design Principles”, 4th edition, 2001, Prentice Hall Inc.
- Silberschatz / Galvin, “Operating System Concepts”,
6th Edition, Prentice Hall Inc.
- Distributed Systems: Concepts and Design by Coulouris, Dollimore,
and Kindberg, 3rd Edition.
- Linux Documentation
Advanced Computer Architecture
Pre – Requisite: Computer Architecture
Post Course(s): ---
Course
Description
This course focuses on
the principles, practices and issues in computer architecture,
while examining computer design tradeoffs both qualitatively and
quantitatively. The course starts with a quick overview of computer
design fundamentals and instruction set principles, the materials
which the student has already covered in the pre-requisite of
this course. The following topics are covered in greater detail:
Advanced Pipelining, Instruction-level parallelism, Memory - hierarchy
design, Parallel Processing.
Course Contents
Revisiting Logic design,
Computer Organization and Computer Architecture, Fundamentals
of Computer Design, Design and evaluation of modern uniprocessor
computing systems. Evaluation methodology/metrics and caveats,
instruction set design, advanced pipelining, instruction level
parallelism, prediction-based techniques, alternative architectures
(VLIW, Vector and SIMD), memory hierarchy design and I/O. Case
studies. Measuring and Reporting Performance, Quantitative Principles
of Computer Design, Instruction Set Principles and Examples, Classifying
Instruction Set Architectures, Memory Addressing, Operations in
the Instruction Set, Encoding an Instruction Set, Pipelining,
The Major Hurdle of Pipelining – Pipeline Hazards, Data
Hazards, Control Hazards, Advanced Pipelining And Instruction-Level
Parallelism (ILP), Instruction-Level Parallelism: Concepts and
Challenges, Overcoming Data Hazards with Dynamic Scheduling, Reducing
Branch Penalties with Dynamic Hardware Prediction, Taking Advantage
of More ILP with Multiple Issue, Compiler Support for Exploiting
ILP, Hardware Support for Extracting More Parallelism, Putting
It All Together: The PowerPC 620, Memory-Hierarchy Design, The
ABCs of Caches, Reducing Cache Misses, Reducing Cache Miss Penalty,
Reducing Hit Time, Main Memory, Virtual Memory, Multiprocessors
Suggested Books
- Hennessy, J. L, and Patterson, “Computer Architecture:
A Quantitative Approach”, 3rd edition.
- Hennessy, J. L, and Patterson, “Computer Organization
and Design: The Hardware/ Software Interface”, 2nd edition.
- Harold S. Stone, “Introduction to Computer Architecture”,
3rd edition.
- Harold S. Stone, “High- Performance Computer Architecture”,
3rd edition
- Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition,
Prentice Hall,2001
Theory of Computation
Pre – Requisite: Theory Of Automata
Post Course(s): ---
Course
Contents
Automata theory, formal
languages, Turing machines, computability theory and educibility,
computational complexity, determinism, non-determinism, time hierarchy,
space hierarchy, NP completeness, selected advanced topics.
Suggested Books
- Michael Sipser, Introduction to the Theory of Computation,
First Edition, 1997, PWS Publishing Company.
- Christos Papadimitriou, Computational Complexity, 1994, Addison-Wesley.
- John Hopcroft and Jeffrey Ullman, Introduction to Automata
Theory, Languages, and Computation, 1979, Addison-Wesley. (or
the second edition).
- Tao Jiang, Ming Li, and Bala Ravikumar, Formal models and
Computability, in Handbook of Computer Science, CRC Press, 1996.
- T.H. Cormen, et al., Introduction to Algorithms, MIT Press
and McGraw-Hill Book Co., 1990.
- Peter Linz, An Introduction to Formal Languages and Automata,
ISBN: 0-669-17342-8.
Advanced Networking
Pre – Requisite: Computer Networks
Post Course(s): ---
Course
Description
The course covers a wide
range of emerging technologies used in high speed local, metropolitan
and wide are a networks, including Gigabit ETHERNETS, FDDI, Frame
Relay and ATM. Several switching architectures are presented and
their performances analyzed and compared. Traffic modeling and
traffic-related management strategies including call-setup procedures,
congestion and flow control, admission control, traffic shaping,
policing, resource allocation and other QoS-related issues are
carefully described and analyzed. The course will also introduce
several broadband multimedia applications including IP multicasting
and present a host of multicast routing procedures. Ultra-broadband
Optical Networking technologies, including SONET and DWDM along
with Optical Switching architectures will be discussed.
Course Contents
Review of the Topology
and Infrastructure of the Internet, Review of the TCP/IP Protocol
Suite, Resource sharing through multiplexing, Circuit vs. packet
vs. fast packet switching technologies, Quick review of local
area networks (emphasis on performance evaluation), Network design
issues and requirements, Traffic and service classes, Broadband
Access Networks, Internet Service Provider (ISP),T-1 Lease Lines,
Digital Subscriber Line (DSL), Cable Access Networks, High Speed
Wide Area Networks, Frame Relay (FR), Asynchronous Transfer Mode
(ATM), High Speed Switched Local Area Networks, Switching Architectures,
Traffic Modeling and Traffic Management Techniques, Traffic modeling
and simulation, Traffic management techniques, Fundamentals of
IP Multicasting, Overview of Optical Networks, Survey of optical
components, Optical switching/routing/architectures, SONET: Optical
transmission interface, Overview of Wireless Networks, Mobile
IP, Mobile Ad-hoc Networks (MANETs) The OSI Model, packet and
circuit switching, network topology, ISDN. The TCP/IP protocol
stack: IP, ARP, TCP and UDP, DNS, ICMP, Internet Addressing, Routing,
IP Multicast, RSVP, Next Generation IP – Ipng, Wireless:
Radio basics, Satellite Systems, WAP, current trends, Issues with
wireless over TCP. Congestion Control: Control vs. Avoidance.
Algorithms, Congestion in the Internet. Mobile IP, Voice over
IP (VoIP), VPNs, Network Security. Management: Quality of Service
(QoS), network vs. distributed systems management Protocols, web-based
management
Suggested Books
- Jean Walrand and Pravin Varaiya, Morgan Kaufmann, “High
Performance Communications Networks”
- James F. Kurose and Keith W. Ross, “Computer Networking
– A Top-Down Approach Featuring the Internet”, Addison
Wesley.
- Coulouris, Dollimore, Kindberg, “Distributed Systems
– Concepts and Design”, Addison Wesley.
- William Stallings, "Data and Computer Communications",
Prentice-Hall — Sixth Edition (for those who want to review
basics of networking).
Theory of programming
languages
Pre – Requisite: Programming Language Concepts
Post Course(s): ---
Course
Description
This course covers different
programming paradigms like object-oriented/imperative programming,
concurrent/distributed programming, functional languages and logic
programming etc. The aim of the course is to offer a comparative
overview of these main programming paradigms, To equip the students
to know about different programming paradigms, To help students
to select area for their research, To enable the students to learn
new concepts in languages
Course Contents
Introduction and History,
Syntax and Semantics, Control Structures, Types, Logic Programming,
Functional Programming and Lambda calculus, Concurrent and Distributed
Programming, Dataflow, Object-oriented Programming. Data types:
Primitive data types, character string types, String Length Options,
Implementation of character string types, Data types: User-defined
ordinal types: Enumeration types, Sub-range types, Language Elements:
Array types: Indexes, subscript binding, Array categories, Number
of subscripts, initialization, slice, Implementation of array
types, Record types: Definitions, references to fields, operations,
implementation, Union and Set types, Pointer types, operations,
pointer problems, reference types. Expressions: Arithmetic expressions:
operator evaluation order, associativity, Assignment Statements:
Single and multiple targets, conditional targets, Designing structured
programs: Subprograms, characteristics, functions, standard and
user defined functions, function definitions, header, body, calling,
Parameters passing: pass by value and pass by reference, generic
functions, Abstraction, Abstract data types, Encapsulation, Data
abstraction, Object-oriented programming paradigm: Introduction,
design issues, Overview of OOP languages, features, Support of
OOP in different languages, Concurrent/Distributed programming
paradigm: Introduction, subprogram level concurrency, Functional
Programming Languages paradigm: Introduction, Mathematical functions
Suggested Books
- Robert W. Sebesta, “Concepts of Programming languages”,
4th edition
- Raphael Finkel, Advanced Programming Language Design, Addison-Wesley.
ISBN: 0805311912
- Introduction to the Theory of Programming Languages -- Bertrand
Meyer
- The Study of Programming Languages -- Ryan Stansifer
- The Anatomy of Programming Languages -- Fischer and Grodzinsky
- pratt, “Programming Languages”.
- Ravi Sethi, “Programming Languages”.
Information
Theory
Pre – Requisite: Data Structures, Computer
Architecture, Data Communication
Post Course(s): ---
Course Contents
Fundamental Concepts: Entropy,
relative entropy, mutual information. Kullback-Leibler divergence.
The Shannon-McMillan-Breiman theorem. Entropy rates of stochastic
processes. Entropy and statistical mechanics. Data Compression:
Codes, The Kraft-McMillan inequalities. Huffman codes. Arithmetic
coding. Coin-flipping approximations of random variables. Communication
over a Noisy Channel: Symmetric channels. The capacity of a channel.
The channel coding theorem. Fano's inequality. Information-Theoretic
Models of Computation: Kolmogorov complexity. Algorithmically
random bits. The halting probability. Algorithmic information
theory. Minimum description length. Probabilistic Inference: Data
compression and prediction. The maximum entropy principle. Information-theoretic
machine learning. Gibbs sampling and Monte Carlo methods. Modeling
speech and natural language. Information Geometry: I-divergence
geometry. The method of alternating minimization. The EM algorithm.
Iterative scaling algorithms. Special Topics: Codes constructed
from expanding graphs. The information content of DNA. Statistical
neural networks. Modeling the stock market.
Suggested Books
- Darrel Hankerson, Greg A. Harris, and Peter D. Johnson Jr.,
“Information Theory and Data Compression”.
- Cover and Thomas, “Elements of Information Theory”.
Advanced Software
Engineering
Pre – Requisite: Software Engineering 1, 2
Post Course(s): ---
Course Description
This course teaches high-level,
up-to-date topics in software engineering including new methods,
models, and theories.
Course Contents
Software architecture,
software patterns multi-media software, and knowledge-based approaches
to software engineering, System Development using Formal Techniques,
Algebraic specification, Abstract model specification, Verification:
Proof Systems, Proof Techniques, Proof obligations, Design: Data
refinement, operation refinement, Design decomposition. Software
Reliability and Metrics. Macro models: productivity, effort. Defect
models: Software reliability, Failures and fault, Software reliability
modeling. Simple model, Markove modeling, Parameter estimation,
Comparison of models.
Suggested Books
- Gamma, “et al Design Patterns: Elements of Reusable
Object-Oriented Software”, 1995, Addison-Wesley
- Pressman, “Software Engineering A Practitioner's Approach”
6th edition.
Software Quality Assurance
Pre – Requisite: Software Engineering-I
Post Course(s): None
Course Description
This course is designed
to develop a sound understanding of the key concepts, strategies,
methods and tools that can be employed to measure and improve
the quality of the entire software development process from high-level
design to low-level design. Software metrics, their interpretation
in practical environment and their use in SW quality is emphasized.
Specific topics include: Software Quality Assurance, Quality Measurement,
Continuous Software Process Improvement, Statistical Control,
and Software Testing.
Course Contents
SW Process, Project Metrics,
Cost Estimation, PSP, CMM, Quality and TQM application to Software,
Quality measurement in Software, Defect Analysis and TQM, Risk
Mitigation and Types of risks, Japanese’s TQM Applications
to SW Engineering, Testing Methods for TQM, Testing in practice
OOD and Structured, QFD, Continuous process improvement, Statistical
methods applied to SW, Defect Prevention and TQM zero defect,
Statistical process control in SW.
Suggested Book(s)
1. Managing the software
Process by Watts Humphery
2. Software Engineering by Sumervillie
Data-Warehousing
Pre – Requisite: Database Systems
Post Course(s): None
Course Description
This course covers the
concepts and techniques in the design and construction of high-performance
data warehouses. The software, hardware and design factors influencing
performance characteristics of the data warehouse will be emphasized.
A special focus will be given to features and functions in RDBMS
implementations that are appropriate in a data warehouse environment.
Distinction between DSS (Decision Support System) and OLTP workloads
will be made with an emphasis on performance characteristics and
functionality required.
Course Contents
DW Fundamentals, need for
a DW, decision support vs. transaction processing, evolution of
a DW, Business requirements as the driving force for the DW, matching
information to classes of users, Dimensional modeling, Architecture
and Infrastructure, data extraction, transformation and loading,
data quality, Selected De-normalizations, horizontal and vertical
partitioning, materialized views, Physical design, Data mart design,
web data warehousing, Current topics in data warehousing
Suggested Book(s)
1. Data Warehousing Fundamentals,
Paulraj Ponniah, John Wiley & Sons, 2001
2. The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing,
Developing and Deploying Data Warehouses, Ralph Kimball, John
Wiley & Sons, 1998.
Digital
Signal Processing
Pre – Requisite: None
Post Course(s):
Course Description
This course covers the
following topics: Basic signal and system concepts; Representation
of periodic continuous -time signals and their analysis using
Fourier series; Analysis of a periodic continuous -time signals
using Fourier transform; Properties of Fourier series and Fourier
transform; Linear time-invariant systems and their frequency response;
Basic discrete time (DT) signal and system concepts; Sampling
of continuous -time signals and sampling theorem; Implementation
of DT systems and Laplace transform and Z-transform and their
use in the analysis of systems.
Course Contents
Laplace Analysis and Bode
Plots. Fourier Analysis, Z transform, DFT, FFT, Analog Filter
Design. Butterworth, Chebychev, Elliptic and general forms, Digital
Filter Design. Through transformations. Numerically. IIR and FIR
Design, Realizations of Digital Filters. Direct Form, Cascade,
Parallel, State Variable. Implementation. One- and N-dimensional
signals and systems, Sampling theorem, Discrete-time Fourier transform,
discrete Fourier transform, fast Fourier transform, z-transforms:
stability and minimum phase signals/systems, Linear filtering
of signal: Time domain: Difference equations and convolution,
Impulse invariance, bilinear transform, FIR filter design, 2D
filter design, Statistical signal processing: Stochastic signals:
correlation functions and power density spectra, Optimal filtering:
Wiener filters, Adaptive filters: LMS and array processing.
Suggested Book(s)
- Fundamentals of Digital Signal Processing by Lonnie C. Ludeman,
Harper & Row, Publishers.
- Signals and Systems by Oppenheim, Willsky and Young, Prentice
Hall, 1983.
- Discrete-Time Signal Processing, 2nd edition Alan V. Oppenheim
and Ronald W.
- Schafer, Prentice-Hall.
Real Time Operating
Systems
Pre – Requisite: Operating System, Advanced Operating Systems
Post Course(s):
Course Description
The principles of real-time
and embedded systems inherent in many hardware platforms and applications
being developed for engineering and science as well as for ubiquitous
systems, including robotics and manufacturing, interactive and
multimedia, immersive and omnipresent applications. Real-time
and quality of service system principles, understand realtime
operating systems and the resource management and quality of service
issues that arise, and construct sample applications on representative
platforms. Platforms range from handheld and mobile computers
to media and real-time server systems. Platforms may also include
specialized systems used in application-specific contexts, such
as autonomous robotics, smart sensors, and others.
Suggested Books
- William Stallings, “Operating Systems Internals and
Design Principles”, 4th edition, 2001, Prentice Hall Inc.
- Silberschatz / Galvin, “Operating System Concepts”,
6th Edition, Prentice Hall Inc.
- Distributed Systems: Concepts and Design by Coulouris, Dollimore,
and Kindberg, 3rd Edition.
Artificial Neural
Networks
Pre – Requisite: Artificial Intelligence
Post Course(s): -
Course
Description
This course gives an introduction to basic neural network architectures
and learning rules. Emphasis is placed on the mathematical analysis
of these networks, on methods of training them and on their application
to practical engineering problems in such areas as pattern recognition,
function approximation and signal processing.
Course Contents
Introduction to Neural
Networks, ANN’s, Perception, Multi-layer perception Networks,
Performance estimation and model selection, Radial basis function
networks, Support vector machines, Hopfield Networks, Stochastic
Neural Networks, Associative Memory Networks, Kohonen Networks,
Adaptive Resonance Theory (ART) Networks .
Suggested Book(s)
- Neural Networks, Simon Haykin, Macmillan, 1999
- Bishop, C.M. Neural Networks for Pattern Recognition, Oxford
University Press, Oxford, UK, 1995.
- Introduction to Neural Computing, Igor Alexsander and Helen
Morton, International Thomson Computer Press, 1995.
Parallel
and distributed computing
Pre
– Requisite: Operating System, Computer Architecture
Post Course(s):
Course Description
Why use parallel and distributed
systems? Why not use them? Speedup and Amdahl's Law, Hardware
architectures: multiprocessors (shared memory), networks of workstations
(distributed memory), clusters (latest variation). Software architectures:
threads and shared memory, processes and message passing, distributed
shared memory (DSM), distributed shared data (DSD). Possible research
and project topics, Parallel Algorithms, Concurrency and synchronization,
Data and work partitioning, Common parallelization strategies,
Granularity, Load balancing, Examples: parallel search, parallel
sorting, etc. Shared-Memory Programming: Threads, Pthreads, Locks
and semaphores, Distributed-Memory Programming: Message Passing,
MPI, PVM. Other Parallel Programming Systems, Distributed shared
memory, Aurora: Scoped behaviour and abstract data types, Enterprise:
Process templates. Research Topics
Suggested Books
- 1. B. Wilkinson and M. Allen, Parallel Programming: Techniques
and Applications Using Networked Workstations and Parallel Computers,
1/e, Prentice Hall, 1999.
- W. Stevens, Advanced Programming in the Unix Environment,
Addison Wesley, 1993.
Network Security
Pre – Requisite: Computer Networks
Post Course(s): -
Course Description
Network Security is designed
to provide students an awareness of security related issues and
the essential skills they need to implement security in networks.
Course Contents
Course mechanics, threats,
secret-key crypto, hashes & message digests, public key algorithms,
number theory, operating system vulnerabilities, attacking Operating
Systems, intrusion detection, authentication systems, Kerberos,
email security (PGP, S/MIME), firewalls, IP security (IPsec),
SSL, TLS, WWW security, advanced study of different attack techniques,
Introduction; Cryptology and simple cryptosystems; Conventional
encryption techniques; Stream and block ciphers; DES; More on
Block Ciphers; The Advanced Encryption Standard. Confidentiality
& Message authentication: Hash functions; Number theory and
algorithm complexity; Public key Encryption. RSA and Discrete
Logarithms; Elliptic curves; Digital signatures. Key management
schemes; Identification schemes; Dial-up security. E-mail security,
PGP, S-MIME; Kerberos and directory authentication. Emerging Internet
security standards; SET; SSL and IPsec; VPNs; Firewalls; Viruses;
Miscellaneous topics.
Suggested Book(s)
- 1. Charlie Kaufman, Radia Perlman and Mike Speciner, Network
Security – Private Communication in a Public World,
Prentice Hall, Englewood Cliffs, New Jersey, 1995. ISBN 0-13-061466-1
- William R. Cheswick and Steven M. Bellovin, Firewalls and
Internet Security, Addison Wesley, 1994. ISBN 0-201-63357-4
- W. Stallings, Cryptography and Network Security, Prentice
Hall PTR, Upper Saddle River, NJ, 2003.
- C. Kaufman, R. Perlman, M. Speciner, Network Security:
Private Communication in a Public World – Prentice Hall
PTR, Upper Saddle River, NJ, 2002.
- M. Bishop, Computer Security: Art and Science – Addison-Wesley,
2003.
- D. Stinson, Cryptography: Theory and Practice, CRC Press,
Boca Raton, FL, 1995.
- Richard A. Mollin, An Introduction to Cryptography, Chapman
and Hall/CRC, 2001.
- B. Schneier, Applied Cryptography, John Wiley and Sons,
NY, 1996.
- Menezes, P. Oorshcot, and S. Vanstone, Handbook of Applied
Cryptography, CRC Press, Boca Raton, FL, 1997.
Wireless Networks
Pre – Requisite: Computer Networks, Advanced Networking
Post Course(s): -
Course Description
This course covers fundamental
techniques in design and operation of first, second, and third
generation wireless networks: cellular systems, medium access
techniques, radio propagation models, error control techniques,
handoff, power control, common air protocols (AMPS, IS-95, IS-
136, GSM, GPRS, EDGE, WCDMA, cdma2000, etc), radio resource and
network management. As an example for the third generation air
interfaces, WCDMA is discussed in detail since it is expected
to have a large impact on future wireless networks. This course
is intended for graduate students who have some background on
computer networks.
Suggested Book(s)
- 1. W. Stallings, “Wireless Communications and Networks”,
Prentice Hall, 2002.
- T.S. Rappaport, “Wireless Communications: Principles
& Practice”, Second Edition, Prentice Hall, 2002.
- J. Schiller, “Mobile Communications”, Addison
Wesley, 2000.
- V.K. Garg, “IS-95 CDMA and cdma 2000”, Prentice
Hall PTR, 2000.
- J.P. Castro, “The UMTS Network and Radio Access Technology
- Air Interface Techniques for Future Mobile Systems”,
Wiley, 2001.
- H. Holma and A. Toskala, “WCDMA for UMTS Radio Access
for Third
Generation Mobile Communications”, John Wiley & Sons,
2001.
Advanced DBMS
Pre – Requisite: Intro. To Databases, Database
Systems
Post Course(s): Multimedia Databases
Course
Description
To study the advanced aspects
of modern database management systems (DBMS), and recent advances
in DBMS technology in three major directions: (1) DBMS performance,
(2) distribution and heterogeneity of DBMS, and (3) varieties
of information managed by the DBMS.
Course Contents
Review of the fundamental
principles of modern database management systems (DBMS): architecture
and functionality; relational databases (the relational data model,
the relational algebra, SQL); object-oriented databases (ODMG
data model and query language); Query processing and query optimization.
Transaction management: ACID properties, concurrency control,
recovery. Distributed databases: architecture, distributed database
design, distributed query processing, distributed transaction
management, Heterogeneous databases: architecture, schema translation
and schema integration, query processing, transaction management,
alternative transaction models, Beyond records and objects: stored
procedures and functions, triggers and active databases, spatio-temporal
databases, multi-media databases.
Suggested Books
- R.Ramakrishnan, “Database Management
Systems”, McGraw-Hill 1998, ISBN 0-07-050775-9
- M.T. Oszu, P. Valduriez, “Principles
of Distributed Database Systems”, 2nd Edition, Prentice-Hall
1999, ISBN 0-13-659707-6.
- P.A. Bernstein, V. Hadzilacos, N.Goodman,
“Concurrency Control and Recovery in Database Systems”,
Addison-Wesley, 1987, ISBN 0-201-10715-5.
- A.Elmagarmid, M.Rusinkiewicz, A.Sheth,
“Management of Heterogeneous and Autonomous Database
Systems”, Morgan Kaufmann, 1999, ISBN 1-55860-216-X.
- M.Piattini and O.Diaz, “Advanced
Database Technology and Design”, Artech House, 2000.
Multimedia
Database
Pre – Requisite: Intro. To Databases, Database
Systems, Advanced DBMS
Post Course(s):
Course Description
Introduction; Overview
of Relational and Object-Relational Data Representations; Text/Document
Databases; Multidimensional Data Structures, similarity based
search (spatial, image, audio); XML Databases; Temporal Data Models;
Logical Frameworks.
Suggested Books
- Principles of Multimedia Database Systems, by V.S. Subrahmanian,
Morgan Kaufmann Publishing Company, San Fransisco, CA. 1998.
ISBN: 1558604669.
- Principles of Database Query Processing for Advanced Applications
(Morgan Kaufmann Series in Data Management Systems), by Clement
T. Yu, Weiyi Meng, 1998. ISBN: 1558604340.
- Databases and Transaction Processing, An Application-Oriented
Approach, Philip M. Lewis, Arthur Bernstein, and Micheal Kifer.
Addison Wesley Publishers, 2002. ISBN: 0201708728.
Real-Time Embedded
Systems
Pre –
Requisite: Operating Systems
Post Course(s): -
Course Description
The course is intended
to provide students with the knowledge and hands-on experience,
needed for handling industrial embedded design/programming projects
efficiently. For that purpose, various disciplines of computer
sciences, such as system specification, programming language,
operating system, architecture and hardware, will be discussed
toward an integrated design of embedded systems. Design principles,
abstractions, and primitives, real-time kernels, and software
architectures will be studied. Projects on data acquisition and
embedded controlling systems, real-time kernel enhancement, real-time
clock server design, embedded system software development, scheduling
analysis, and hardware/software co-design, are included.
Course Contents
Introduction (Time representation
and temporal relations, real-time behavior of programs, overview
of current practices in real-time systems), Overview of real-time
operating systems (task management, IPC facilities, real-time
clock server, interrupt service), Embedded software programming
(never-ending tasks, inter-task communication, co-routines, overlapped
I/O, data acquisition and device control, forked interrupt system,
exception handling, timing calculation, and programming language
support), Scheduling and synchronization (scheduling theory, scheduling
in multiprocessor and distributed systems, rate-monotonic algorithm,
EDF, scheduling of periodic and sporadic tasks, priority inversion,
priority inheritance, and priority ceiling protocol), Real-time
kernel (kernel and microkennel structures, periodic and sporadic
servers kernel implementation, time-driven resource management,
and POSIX API), Hardware/software co-design principles (design
model generation, partitioning, interface and timing specification,
integration and prototyping, and design process management), Research
topics (real-time communication, distributed embedded systems,
and formal methods)
Suggested Book(s)
- Real-time Systems,
by Jane Liu, Prentice Hall; 1st edition (June 15, 2000) ISBN:
0130996513
|