CS35: Data Structures and Algorithms
Spring 2024

Introduction

This course continues the broad introduction to computer science begun in CS21, providing a general background for further study in the field. By concentrating on data structures and algorithms, you will obtain the basic building blocks by which all large software projects are built. These topics are central to every sub-discipline in computer science, and also connect to central concepts across the sciences. Topics to be covered include object-oriented programming in C++, advanced data structures (such as priority queues, trees, hash tables, and graphs), advanced algorithms, as well as software design and verification. At the end of this course, you will have obtained the ability to successfully analyze problems in the discipline. You will also take your first steps towards developing the skills necessary to synthesize and evaluate the most fundamental questions in the field.

Course Basics

Schedule
Lecture (Lila Fontes): Tue., Thu. 9:55am - 11:10am, SCI 199 (Cunniff Hall)
Lecture (Joshua Brody): Tue., Thu. 9:55am - 11:10am, Kohlberg 115
Lab A (Joshua Brody): Thursday 1:05pm - 2:35pm, SCI 256
Lab B (Joshua Brody): Thursday 2:45pm - 4:15pm, SCI 256
Lab C (Lila Fontes): Thursday 1:05 - 2:35pm, Clothier 016
Lab D (Gautam Mohan): Friday 8:50am - 10:20am, McCabe Library 306
Lab E (Gautam Mohan): Friday 3:45pm - 5:15pm, SCI 256

Contact Information
Professor: Lila Fontes
Email: fontes at cs.swarthmore.edu
Office: SCI 205B
Professor: Joshua Brody
Email: jbrody1 at swarthmore.edu
Office: SCI 260
Lecturer: Gautam Mohan
Email: smohan1 at swarthmore.edu
Office: SCI 262A