You may want to go back and get a better understanding of Lists, tuples, dictionaries in python.
Furthermore, you should skim through Linked Lists and take a look at some of the data structures here (some are less important than others). In general the most important ones are arrays (in python lists), hashtables (in python dictionaries), tuples, linked lists, trees (we will cover in class 9), Graphs, Stacks (Cover in class 10 in sudoku), and Heaps.
The readings here are more for you to skim, there will be more for next week, this is really a primer. Classes overview: tutorialspoint and python-course
magic methods: rafekettler or python-course works fine.
The homework for this class will be more of a self study then a project. Being able to implement a sorting alogrithm or common data structure is useful but not essential. People have already optimized most data structures and sorting algorithms, so doing it yourself would only be for learning sake. I would suggest you look at the class file and get a better understanding of how classes are creates to create a data structures. Furtheremore I suggest you try and read through the pseudocode for various sorting algorithms on wikiepedia and try to implement them in python. If you get stuck, the internet has the answers.