Assignment 1

Due: January 14 at 11:59 PM GMT

📌 This is an individual assignment. You are expected to work independently.

If you get stuck, confused, or have trouble with the assignment, you should use the #help-dsa channel in Discord or message an instructor. Remember not to spoil the assignment for others - do not post code samples from your work to public spaces.

Implementing a Set ADT

This week we saw multiple examples of ADTs, including tuples, dictionaries, and sets. These three ADTs happen to be built into Python as language features, but we've defined our own versions to illustrate how ADTs can be implemented.

This week we also learned about the various levels of the memory hierarchy, and saw the relative speeds at which you can access data from those levels.

In this assignment, you will implement an ADT that represents a mathematical set. You will implement it in three different ways: by storing the elements in a list, storing the elements in a sorted list, and storing the elements on disk. You will also benchmark the performance of these implementations.

▶️ Access the assignment on GitHub Classroom

Remember...

  • Read the instructions carefully
  • Plan before you code
  • Debug if you aren't getting the desired output
  • Attend office hours if you need additional support
  • Ask for help in Discord