CSC2203 - Packet Switch and Network Architectures (More Info)


This is an MSc/PhD level course on high-performance packet switching computer networks. The course introduces the theory and practice of designing packet switches, such as Internet routers, Ethernet switches, and ATM switches. It consists of two parts which will be presented in an interleaved fashion. The first part will develop basic tools from queueing theory, stochastic analysis, and algorithms. The second part of the course will focus on packet switch architecutres: the evolution of switches and routers, and practical issues in this area.

Prerequisites: Basic undergraduate courses in algorithms, networking, and in probability theory are strongly recommended.


CSC2206 - System Modeling and Analysis


The emphasis of the course is on models for systems with uncertainty. We study the properties of various models and discuss how they can be applied to analyze system performance. Concepts covered include Poisson, renewal, and Markov processes. Case studies involve computer networks, computer systems, and examples from machine learning.

Prerequisite: Solid knowledge of basic probability theory.


CSC2209 - Computer Networks


The emphasis of this course is on concepts and issues underlying the design and implementation of the Internet. Issues discussed include: naming, routing, Internet topology, congestion control, mobility, applications, and network security.

Prerequisite: CSC458 or equivalent.


CSC2227 - Topics in the Design & Implementation of Operating Systems


Seminar and discussion of a number of topics in operating system design and implementation, based on a collection of papers as class reading.
Emphasis on multiprocessor and distributed operating systems. Case studies of contemporary operating systems. An independent course project and an oral student presentation required.

Recommended Preparation: CSC2204 (Operating Systems) or equivalent.


CSC2228 - Topics in Mobile and Pervasive Computing


Broad overview of the issues involved in developing mobile and pervasive applications. Some topics to be covered include: wireless technologies, disconnected operation, power and bandwidth adaptation, location awareness and tracking, resource discovery, Mobile-IP, and ad-hoc routing. A research oriented group project and an oral presentation are required.

Recommended Preparation: Familiarity with operating systems and computer networks (CSC2204H and CSC2209H or equivalents).


CSC2229 - Topics in Multiple Access Communications Networks


The problem of sharing a broadcast communications channel among a set of intelligent stations under distributed control is examined. Multiple access protocols for satellite packet switching, ground radio packet switching, and local networks are described. Both the performance evaluation of protocols (i.e. throughput - delay tradeoffs and stability conditions) and asymptotic limits to performance as the number of stations grows very large are emphasized. The integration of performance models of distributed systems and the underlying local area network will be considered.

Prerequisite: CSC2209 (458) (Computer Networks) or equivalent, a previous course on probability.

Recommended Preparation: CSC2206 (Computer System Modelling) or equivalent.


CSC2232 - Topics in Computer System Performance and Reliability


When designing computer systems it is essential to be able to quantify the performance and reliability impacts of different design choices. For example, should we invest in more buffer space or a faster processor? How many data replicas are necessary to meet reliability requirements? How should we schedule requests across servers? The goal of this course
is to provide students in computer systems with the necessary tools and techniques for experimental design, measurement and simulation of computer systems.