An advanced course on topics in theoretical computer science. Topics will change from one instance of the course to another, and can include algorithms, advanced data structures, complexity theory, cryptography, discrete mathematics, distributed computing, graph theory, privacy, pseudorandomness, social choice, quantum computation, as well as topics from other theoretical areas. The course is suitable for students with background in theoretical computer science, or with an interest in the course and motivation to do background reading.