Dartmouth Course Recommendations, Fall 2025

These are my opinions on courses for students in the Trust Lab this term. You are not me, so take this with the appropriate number of grains of salt. Omitted courses from this list are courses about which I do not have an opinion.

Course Title Counts Toward Recommendation Explanation
COSC19.02: Security Engineering Undergrad DO NOT TAKE IT! This course belongs in Tuck. You will not write any code or proofs. Instead, you will think about various security-adjacent problems, like determining how much capital a firm should allocate toward "cyber," etc.
COSC60: Computer Networks MS, Undergrad Take it! Tim Pierson is a great lecturer and a friendly, knowledgeable guy. This course has a bunch of fun programming projects and serves as a great introduction to the fascinating world of networks.
COSC159: Programming Languages PhD, MS, Undergrad Take it! Sergey is an engaging speaker. Zeph put a lot of effort into course materials the last time this course was offered.
COSC232: Advanced Algorithms PhD, MS, Undergrad Take it if you need to satisfy the PhD theory requirement. DeepC is a great presenter. This course is oriented towards PhD students who need to satisfy the theory requirement, but don't want to take a specialized upper-level theory course. As such, it's probably the easiest way to satisfy the PhD theory requirement.
COSC240: Computational Complexity PhD, MS, Undergrad Only take it if you already love theory. Amit can go fast, and will sometimes blaze through an hourlong proof with little time for interrupting questions. He really knows his stuff, though, and if you can keep up, you can learn a lot from his courses.
COSC258: Operating Systems PhD, MS, Undergrad Good course, but don't take it this term. Kyungtae has never taught this course before. I would wait to take this course with Sean.
COSC267: Intro to Human/Computer Interaction PhD, MS, Undergrad Not recommended. This is not a systems class. It's a bizarre oversight that this course satisfies the systems requirement. It's known for being easy and nto covering very much material.
COSC276: Artificial Intelligence PhD, MS, Undergrad Recommended. Soroush is a clear communicator and a cool guy. This course receives consistent good reviews, and is not known for exceptional difficulty.
COSC287: Rendering Algorithms PhD, MS, Undergrad Only take it if you already love rendering. Wojciech is a good presenter, but a real no-nonsense guy. This course is known for its exceptional difficulty. The material is really cool, though!
COSC294: Linux Implants Reading Course PhD, MS, Undergrad Take it! Covers a wide range of systems topics, and is taught by a great duo (Kai + Sergey). Helpful to have basic familiarity with systems programming (i.e., not just COSC50) before taking this course.
COSC14913: Distributed Computing PhD, MS, Undergrad Recommended. Siddhartha is an excellent communicator and a great guy. This is a good opportunity to hear an enthusiastic person explain something he loves.
COSC26920: Cybersecurity Bleeding Edge PhD, MS, Undergrad DO NOT TAKE IT! This course's title is a total deception. This course revolves around a few guest lectures, followed by a small amount of writing and discussion. There is no programming or mathematical content whatsoever.
COSC16923: Parallel Optimization for Robotics PhD, MS, Undergrad Recommended. This is a course about using GPUs to compute things that are useful for robotics. Sounds like a lot of fun.