CS4102 Algorithms - Spring 2020
Course Description: Introduces the analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymptotic worst-case, expected time, amortized analysis, and reductions between problems
Availability (new): It is important to us to be available to our students, and to address their concerns. If you cannot connect with either of us during our office hours, e-mail us and we will find the time to meet virtually. That being said, like everybody else we are quite busy, so it may take a day or more to find a time to meet. And if you have any comments on the course—what is working, what is not working, what can be done better, etc.—we are very interested in hearing about them. Please send Prof. Hott, Prof. Horton, or one of the TAs an e-mail or post privately on Piazza to the instructors.
- Homework 6 due Sunday 4/5 at 11pm
- March 30 - Huffman Coding
- April 1 - Belady Cache Replacement
- Beldy Cache Replacement
We want you to still think of lecture materials as being organized according to our Monday/Wednesday class schedule. This could be one video or a “bundle” of shorter videos (and possibly other material). Each day’s bundle will be labeled with the class day, e.g. “Monday, March 30”. To keep up with the course and the homework schedule, you should view those materials by the end of the specified day. The videos will be recorded with Panopto and linked from the course website’s Schedule, but you will need to be logged in through Collab to access them. We will also post any slide material there as well.
Will lectures be live-streamed as well as recorded? We’re not sure yet; there is debate at UVA about the pros and cons and practicalities of this choice. Whatever happens, we know it’s important for you to have a chance to ask questions, and we’re exploring how to make all that work well for everyone.
We are planning to continue our release schedule on homeworks; they will be released and due on Collab as they have been all semester. Please also note the new Collaboration Policy for HW5. This is specific to the coding assignment, but we would like to extend that to written assignments as well. We want to encourage virtual collaboration, even as we are social distancing. Please engage in the Piazza discussion on our collaboration policy before HW6 is released next week.
Homework Help - Piazza
We will continue to rely on Collab for organization and on Piazza for immediate help. As we have done throughout the semester, let’s all continue to help each other on Piazza. If you’re stuck, please post a question. If you are waiting, you likely know the answer to someone else’s question; please help them out. Both TAs and instructors will be more active on Piazza for the rest of the semester as well.
TA Office Hours
Office hours will see the largest change in our course. We very much wanted to maintain the feel of office hours. Our TAs have been working diligently to help us transition, along with input from other course instructors and TAs. Right now, our plan is to use Discord (a text and voice chat system) so that TAs can manage both a virtual queue and help groups of students at the same time. It will require some coordination and a new system, but it appears to be a really great set-up. We’ll be sending a second “getting started guide” soon. We may have a reduced schedule for office hours but have more TAs available for each time-slot.
Instructor Office Hours
Instructor office hours will be at the normal times, and will be done using Zoom.
Horton’s office hours:
- Use this URL: https://virginia.zoom.us/my/horton.uva
- Mon and Wed 1:30-2:30 pm; Tue 2:00-3:00pm; Thu 10:00-10:55am and also 1:00-2:00 pm
Hott’s office hours:
- Use this URL: https://virginia.zoom.us/my/jrhott
- Mon and Wed 11am-12pm; Tue 3:00-4:00pm; and by appointment (send me an email!)
Normal class-time meetings
During the normal class meeting times, the professors will use a Zoom meeting to do follow-up about recorded lectures that students have watched. they’ll answer questions about the lectures, do examples, etc, in order to help students get more from the recorded lectures. After the first 30 minutes of the section, students may also ask questions about homeworks, but the primary goal for this time is to supplement the recorded lectures. Students from any section can participate in any session. Join the Zoom meeting on Collab from the Online Meetings tool, or use one of the following Zoom meeting IDs.
- Horton: 3:30-4:45pm on Monday and Wednesday, Zoom ID 765-750-708, https://virginia.zoom.us/j/765750708
- Hott: 5:00-6:15pm on Monday only, Zoom ID 328-609-633, https://virginia.zoom.us/j/328609633
- Hott: 2:00-3:15pm on Wednesday only, Zoom ID 135-236-528, https://virginia.zoom.us/j/135236528
We are still considering the best way to handle regrade requests, and we will restart them by Friday 3/27/2020.
Calculator - This spreadsheet provides a way to easily calculate your final course grade. It should only be used as a guide, and it requires a value for each entry to calculate. To use it, enter your current grades and then extrapolate the rest of the semester, entering expected grades for future homeworks and the final exam. Don’t forget that Extra Credit is above and beyond the final grade shown on the spreadsheet. Note that we are in the process of examining how we do things in CS4102 for the rest of the term, and this may affect homework and grading. We will update you and this tool as soon as possible if we adjust the course. Keep this in mind as you consider your grade situation.