Schedule
Week 1: Course introduction and Java review
We start on the week of February 1st.
To do this week:
- Read the syllabus.
- Verify you can log into Echo360, Gradescope, and Campuswire.
- Attend Tue/Thu lectures (no lab on Monday!).
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
- Programming assignment 01: Hamspam
- Lecture notes
- Supplemental reading (This is a list of related material, drawn from the optional texts for this class and freely-available online material. Read as much or as little of it as you find helpful. I suggest you at least skim the freely-available material.)
Week 2: Testing and debugging
This week starts on February 8th.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
Attend Tue/Thu lectures View recorded lectures on Echo360 (no lab on Monday!).
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 3: Java review, continued
This week starts on February 15th.
To do this week:
- There is a mandatory lab meeting at your scheduled time (9:05 or 12:20) via Zoom. Check the pinned post on Campuswire for the link. You’ll need anagrams.zip, linked below.
- View lectures (on Echo360). (Still online-only this week.)
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 4: The List abstract data type
This week starts on February 22nd.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 5: Generics and comparators; introduction to sets
This week starts on March 1st.
To do this week:
- NO LAB MONDAY – it’s a Wednesday schedule. (Earlier I missed this and mistakenly posted a lab for today – it’s moved to next week instead.)
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 6: More on sets; binary trees; the Map ADT
This week starts on March 8th.
To do this week:
- There is a mandatory lab meeting at your scheduled time (9:05 or 12:20) via Zoom. Check the pinned post on Campuswire for the link. You’ll need lists.zip, linked below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 7: Multimaps; introduction to algorithms
This week starts on March 15th.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 8: Searching, sorting, and introduction to graphs
This week starts on March 22nd.
To do this week:
- There is a mandatory lab meeting at your scheduled time (9:05 or 12:20) via Zoom. Check the pinned post on Campuswire for the link.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 9: More on graphs; search and representation
This week starts on March 29th.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 10: Implementing ADTs (stacks and queues)
This week starts on April 5th.
To do this week:
- There is a mandatory lab meeting at your scheduled time (9:05 or 12:20) via Zoom. Check the pinned post on Campuswire for the link. You’ll want to familiarize yourself with
hex.zip
, available below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 11: Introduction to recursion
This week starts on April 12th.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by Friday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by Friday 5pm Eastern.
Material:
Week 12: More on recursion
This week starts on April 19th.
To do this week:
- There is a mandatory lab meeting at your scheduled time (9:05 or 12:20) via Zoom. Check the pinned post on Campuswire for the link.
- Attend Thu lecture. Tuesday is a Wednesday schedule!
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by
Friday Sunday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by
Friday Sunday 5pm Eastern.
Material:
Week 13: A little more recursion
This week starts on April 26th.
To do this week:
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue/Thu lectures.
- (optional) Read lecture notes.
- (optional) Read supplemental reading.
- Complete the problem set (will be on Gradescope when available) by
Friday Sunday 5pm Eastern.
- Complete the programming assignment (details in link below, submit on Gradescope) by
Friday Sunday 5pm Eastern.
Material:
Week 13 1⁄2: Course review and wrap-up
This week starts on May 3rd.
- There is no meeting during lab section, though your TA will be available during that time. Instead, there is a self-assessment that will be posted on Gradescope at 8am Monday and due no later than 8am Tuesday. There is no automatic extension available for self-assessments, and they must be taken alone without help from classmates or the Internet! It is intended to take 30–45 minutes, and sample questions (and answers) are posted below.
- Attend Tue lecture – we will discuss the sample final there.
- Attend the final exam on Friday!
Material:
Final exam
The final exam will be held in-person on Thursday, May 6th, at 4:30pm, in our regular classroom (HASA 20).
Note that office hours end the last week of classes! Unless you hear otherwise, we won’t be holding regularly-scheduled office hours after May 4th!