Announcements

  • Test 3 has been postponed a week, and will now be held online on April 30. Here is a Study Guide.
  • Lab 10 is released and is due by Friday, May 1 at 11:59pm.
  • The lab writeup has been updated to include more examples.
  • The final exam has been cancelled.
  • Lecture notes and videos for classes through April 21 have been updated and posted. Find lecture notes in the lab-examples repo and videos for lectures on youtube.

Welcome


This is the homepage for Data Structures and Algorithms (CS35) at Swarthmore College in the Spring 2020 semester. This site provides information regarding the course, including the lecture schedule, homework assignments, and syllabus.

Course Goals


By the end of the course, you will have developed the following knowledge and skills:

  • Understand the basic principles of object-oriented programming (OOP)
  • Learn how to implement OOP programs in C++.
  • Develop the skills to analyze the performance of algorithms in terms of big-O notation as well as prove an algorithm's correctness.
  • Understand the difference between an abstract interface and the implementation of that interface.
  • Describe a data structure as an abstract data type (ADT) and provide various implementations of that ADT in C++.
  • Develop the ability to compare and contrast the performance of data structures and algorithms.
  • Learn how to apply data structures and algorithms to solve problems of moderate complexity.
  • Develop scientific communication skills.

Getting Started


This website should contain all of the information you need to prepare for the course.
  • Information about the course textbook can be found here.
  • Information about the lecture itself appears on the schedule page.
  • Make sure you are familiar with the academic integrity policy.