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 |