next up previous
Next: c) Information Systems Up: Graduate Courses Previous: a) General Computer

b) Computer Software

Compiler Construction (5 cu) Examples of industrial compiler projects. Introduction to compiling. Lexical analysis: regular expressions, scanning. Syntax analysis: context-free grammars, recursive descent parsing, parsing conflicts and their solving. Semantic analysis: symbol tables, attribute grammars. Code generation: intermediate languages, optimization.

Distributed Operating Systems (4 cu) Kernel functionality. File service. Name Service. Time and coordination. Replication. Distributed transactions. Recovery and fault tolerance.

Performance Evaluation (2 cu) General performance modeling concepts. Queueing network models and their solutions. Workload modeling. Emphasis on applications.

Foundations in Software Engineering (3 cu) Software engineering as a scientific discipline. Software production vs. engineering. Software product quality. Software process maturity. Testing techniques.

Modelling and Simulation of Data Communication Systems (2 cu) Recent advances in modelling and simulation techniques for communication systems are examined. The focus is on traffic modelling and on simulation of rare events.

Performance Evaluation of Data Communication Systems (2 cu) The course focuses on specific aspects of performance evaluation applied to data communication systems. The main topics include modelling communication systems, analysis of measurement data, modelling protocol stacks, and specific features in high-speed networks.

Computer Networks (4 cu) Formal specification and analysis of communication protocols, specification case studies. Security in computer networks: encryption, authentication, digital signatures etc.

Simulation Methods (2 cu) General simulation methodology concepts. Model verification and validation. Statistical analysis of simulations results. Generating, testing and using random numbers. Emphasis on applications. Project.

Principles of Concurrent Programming (4 cu) Basic abstractions in concurrent programming, analysis and verification of algorithms and synchronization primitives for shared-memory parallel programs.

Computer Architecture (4 cu) Basics of computer architecture from instruction set design to I/O subsystems. The emphasis is on uniprocessor systems but parallel and distributed architectures are also discussed.

Object-Oriented Programming (4 cu) Introduction to object-oriented thinking. Pure object-oriented languages. Object-oriented analysis and design. Hybrid object-oriented languages. Design patterns.

Mobile (Wireless) Data Communications (2+1 cu) Overview of wireless data communications. Wireless data communications systems: cellular telephone networks, packet radio networks, wireless LANs, and satellites. Challenges of integration of wireless and wireline networks. Different solutions: MIP, Indirect TCP, Snoop, Mowgli, Barwan, etc.

Software Performance Engineering (2 cu) Principles for creating responsive software. Data gathering. Execution models. Software performance evaluation. Memory management.

Real-Time Databases (2 cu) Integrating concurrency control with real-time scheduling is the most challenging part of providing a real-time transaction processing system. Various solutions proposed in the literature and their merits are examined.

Performance Evaluation of Database Systems (2 cu) The course focuses on specific aspects of performance evaluation applied to database systems. The main topics include benchmarking, modelling concurrency in queueing network models, and evaluation of concurrency control algorithms.



next up previous
Next: c) Information Systems Up: Graduate Courses Previous: a) General Computer