Selected Topics


The selected topics courses cover various topics, reflecting current research interests within the Department, and may vary from year to year.



Selected Topics courses for 2021/22

CS 4435 – Selected Topics Overview:

A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. The components interact with one another in order to achieve a common goal (Wikipedia). Or as Leslie Lamport puts it: A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

Most services we use rely on distributed systems. This includes Amazon, Cisco, eBay, Facebook, IBM, Google, Microsoft, Netflix, Uber and many more companies.

Distributed systems are used to provide scalability by adding computing resources (e.g., servers) to handle workload. Successful scaling needs to consider that the computing resources will often need to increase over time. Algorithms are needed to minimize the disruption to the existing infrastructure when resources are added. With so many components, there will be failures e.g., server goes down, network disconnection. We will study algorithms to support replication, coordination of replicas, detecting failures and other aspects of robustness.
This course will introduce fundamental principles of distributed systems which will be illustrated with case studies. Students will get hands-on experience.

Evaluation will be based on exams, assignments and a project. The programming language will likely be Go.

CS9668/4438 Selected Topics Overview:

Internet Algorithmics

This course focuses on the study of algorithms used for solving problems that arise from the design and use of wide-area networks, such as the Internet. Among the topics that we might cover are:

  • Computer networks and internets
  • Distributed algorithms for network problems
  • Peer-to-peer systems
  • The Web Graph and searching for information in the Web
  • Caching
  • Game Theory 

CS4434A / 9634A Selected Topics Overview:

This course will aim at providing a comprehensive understanding of various security issues in an end-to-end network. The list of these topics includes message/user authentication, cryptographic key management, web security, TLS, wireless/5G security, e-mail security, DNS security, IPSec, VPN security, Malware, Firewall, network intrusion detection/prediction/prevention, DoS/DDoS, Cloud and IoT Security.