EE 465 : Probabilistic Methods in Computer Systems Modeling
CS 402 : Operating Systems
EE 650 : Advanced Topics in Computer Networks
EE 555 : Broadband Network Architectures
CS 571 : Web Technologies
EE 465 : Probabilistic Methods in Computer Systems Modeling
Course Coordinator:
Konstantinos Psounis, Department of Electrical Engineering-Systems
Topics:
Basic Probability: random variables, independence, expectation
Conditioning: conditional probability and expectation
Markov Chains: discrete and continuous time
Stochastic Processes: Poisson
Queueing Theory: single and multi server M/M/. queues, networks of queues, the M/G/1 queue
Simulation: generating random variables, implementing a simulator
Course Objectives:
Probabilistic tools are among the most useful for modelling real systems and doing performance analysis.
This course is designed to provide students with the ability to understand and conduct computer systems
modelling and performance analysis. To establish the necessary background, the course starts with an
introduction to basic probability tools and concepts. It then builds up to more advance topics that
are particularly useful in modelling, such as Markov models and queueing theory. Further, the course
covers basic methods for conducting simulations.
Course Outcomes:
1. Understand random variables, moments and expectation.
2. Understand conditional probabilities and conditional expectation.
3. Understand the dynamics of discrete time Markov chains.
4. Use discrete time Markov chains to model computer systems.
5. Understand the properties and modelling usefulness of the exponential distribution and the Poisson process.
6. Learn about continuous time Markov chains.
7. Use continuous time Markov chains to model real systems.
8. Learn the fundamentals of queueing theory.
9. Learn about single and multi server queues with Poisson arrivals and exponential service requirements.
10. Learn how to analyze a network of queues with Poisson external arrivals, exponential service requirements
and independent routing. (Jackson networks)
11. Learn the basics of the M/G/1 queue.
12. Understand how to conduct simulations.
13. Apply basic probability techniques and models to analyze the performance of computer systems, and, in
particular, of networks.
CS 402: Operating Systems
Course Coordinator:
Micheal Crowley, Department of Computer Science
Course Objectives
Consider and address the issues in the design of modern operating systems of both single and multiple processor systems. Students will also obtain programming experience in operating system implementation through four projects using the Nachos operating system simulator code. These projects will give students the opportunity to program portions of an operating system.
Course Outcomes:
1. Understand the difference between processes and threads.
2. Understand the issues and use of locks, semaphores and monitors for synchronizing multithreaded systems and implement them in multithreaded programs.
3. Understand the issues of scheduling of user-level processes/threads.
4. Design and implement multiprocessing in Nachos
5. Understand the concepts of deadlock in operating systems and how they can be managed/avoided.
6. Understand virtual memory management.
7. Design and implement virtual memory management in Nachos.
8. Design and implement improvements to the Nachos network system.
9. Understand the types of security problems faced by operating systems and how to minimize these problems.
10. Understand the organization and synchronization of distributed operating systems.
11. Understand the differences between multiprocessor and multicomputer configurations.
12. Understand communication in distributed systems and how it can be used in remote procedure calls, remote objects and message-oriented communication.
13. Understand organizing principles for distributed systems through election algorithms.
EE 650 Advanced Topics in Computer Networks
Coordinator:
Konstantinos Psounis, Department of Electrical Engineering-Systems
Topics:
(i) Basic probability and queueing, with examples of usage in switching and active queue management. (A brief introduction to these research topics will be provided.)
(ii) Lyapunov functions and fluid analysis used in proving various stability and throughput results for network switches.
(iii) Combinatorics (bipartite matchings and stable marriages) used to analyze scheduling mechanisms in switches.
(iv) Fluid models used in modelling long- and ahort-lived TCP flows. (A brief review of TCP will be provided.)
(v) Simple control theory for Internet congestion control. (When not covered by a specialized 599 course.)
(vi) Probabilistic and statistical analysis of Internet and web traces. Topics include the study of the Poisson hypothesis and its applicability, the notions of self-similarity and long-range dependence, temporal correlation in traces, and the implications of heavy-tailed sizes in performance.
(vii) Basic elements of game theory used in pricing. (time permitting)
Course Objectives:
For each topic, the course first introduces the corresponding research problem/area (e.g. switching), then presents the corresponding mathematical tools/analysis (e.g. Lyapunov functions), and finally goes through recent publications (from networking venues, e.g. IEEE Infocom, ACM Sigcomm, ACM Sigmetrics, IEEE/ACM Transactions in Networking) that have successfully applied these tools/analysis. The objective of the
course is to expose students to some very useful mathematical tools and teach them how to use these tools in networks research.
EE 555: Broadband Network Architectures
Course Coordinator:
John Silvester, Department of Electrical Engineering-Systems
Course Objectives:
This course focuses on the
architecture and technologies (hardware and software), principles of
operation, and evaluation and design of integrated broadband computer
networks. The course covers a wide range of emerging technologies used
in high speed access networks, campus scale networks, and
regional/national scale backbone networks. The course will consider
alternate communication techniques at various protocol layers (WDM,
SONET, optical and electronic switching, wireless, Gigabit Ethernet, POS,
Fiber Channel, FDDI, Frame Relay, ATM, etc). The course will also explore
switching and routing technologies and architectures. In addition, the
course will cover protocol challenges.
CS 571: Web Technologies
Course Coordinator:
Marco Papa, Department of Computer Science
Course Objectives:
The course covers wide range of upcoming and fundamental Web Technologies. The goal is to familiarize and provided competent project assignments in order to enhance client side and server side programming for Web. It starts of with HTML, XML, DOM, Javascript,CSS to embellish the front end. The scripting language of Perl is seen in further details combining it with working on web servers like Apache, Jakarta Tomcat,Apache Axis. The XSLT stylesheet and XML Schemas are also studied. The upcoming technology of AJAX is rigourously experimented with and then deployment of Web Services. The aspects of Web Security, Peer to Peer Protocols, Java APIs are also breached upon.
|