--- tags: Labs-F20, 2020 title: Lab 11 TA Suggestions --- # Lab 11: Data Recommendations We recommend using a course dataclass to represent individual courses and a student dataclass to represent individual students (details for exactly what these contain are in the next part of the lab handout). In the **Course** dataclass, the most critical attribute is the list of Students registered for the courses, as the registration system needs to know the students that are registered for each course. In the **Student** dataclass, we need a list of registered courses, because the registrar would then be able to efficiently find a student's courses. We also need an ID for the registrar to access the information of individual students (names might not be unique!). In order to efficiently access a student by their ID, or a course by its code, we recommend storing the **Student** and **Course** dataclasses in two separate dictionaries (aka hashtables) with ID's or codes as their key and **Student** or **Course** dataclasses as their values. This will let the registrar easily access information about a given student or course from their ID or code.