Associated course analysesFunctional Programming F 2019


Associated course analysesPrinciples of Computer System Design SU 2019

COS 226

Associated course analysesAlgorithms and Data Structures F 2018


Associated course analysesReasoning about Computation F 2105

COS 320

Associated course analysesCompiling Techniques S 2017

COS 424

Associated course analysesFundamentals of Machine Learning S 2018


This course covers the design and implementation of distributed systems. Students will gain an understanding of the principles and techniques behind the design of modern, reliable, and high-performance distributed systems. Topics include server design, network programming, naming, concurrency and locking,


This course studies computer networks and the applications and services that run on them. The course covers concepts in networking including: packet switching; Internet routing and business relationships; IPv4 and IPv6 addressing; the domain name system (DNS), router, switch, and


An introduction to computer science in the context of scientific, engineering, and commercial applications. The course will teach basic principles and practical issues, and will prepare students to use computers effectively for applications in computer science, physics, biology, chemistry, engineering,


Computers are all around us. How does this affect the world we live in? This course is a broad introduction to computing technology for humanities and social sciences students. Topics will be drawn from current issues and events, and will