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.

Syllabus: Download

This Week

Assignments

Lectures

Course Organization

Schedule - Useful Topics Resources - Useful Collaboration Resources

Lecture Material

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.

Homework

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:

Hott’s office hours:

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.

Regrades

We are still considering the best way to handle regrade requests, and we will restart them by Friday 3/27/2020.

Grade Calculator

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.