/dsa2

Data Structures and Algorithms 2 Course

Primary LanguageTeXCreative Commons Zero v1.0 UniversalCC0-1.0

CS3100 - Data Structures and Algorithms II

Introduction | Repository contents | Head TAs | Office Hours | Contributing to this repository | Course description | License

Introduction

The repository contains content for CS3100 - Data Structures and Algorithms II at the University of Virginia.

Repository Contents

Note that the links below will not work correctly if you are viewing this online at github.com -- you will need to clone (download) the repository first

  • Course Logistics: The syllabus, introductory slide deck, grading policy, course schedule, Covid-19 policies, etc.
  • Homeworks (md): The homeworks for the course, along with due dates and related things.
  • Gradescope Info: Information on submitting programming assignments to Gradescope.
  • Schedule and Slides (md): Contains the slides used in the course.
  • Sample Exams: Some sample old exams.

Instructor and Head TAs

We have one instructor and three Head TAs for this course. Their names and emails are shown in the table below. Each head TA is responsible for a specific category (e.g., grading, office hours, etc.). Students should always contact the relevant head ta first, as the primary point of contact regarding issues in each category. Instructors are often slow at responding and the head TAs can more quickly address your concern or escalate the situation to an instructor if necessary.

Instructors / Head TAs

Name Head TA / Inst. TA Category Email Discord ID
Mark Floryan Instructor - mrf8t@virginia.edu -
Ethan Blaser Graduate/Head TA Grading and Regrades ehb2bf@virginia.edu ethanblaser#6372
Geetanjali Gandhe Head TA Office Hours gpg9vqe@virginia.edu geetanjali#7547
Samuel Buxbaum Head TA Homework smb8xc@virginia.edu Sam Buxbaum#4107

Office Hours Description and Schedule

Office hours are held in various locations throughout the week and are of varying type. Information can be found below. There are two possible locations for office hours:

  • In-Person OH: Some OH will be held in-person (in Thornton Stacks). See the chart below for details. These will function as traditional office hours.

  • Online (Discord) OH: Some OH will be held on our Discord Server. To attend office hours, simply join the office hours queue voice channel and you will be added to the office hours queue. When you are taken off the queue you will be automatically moved to a staging room to wait (it is called oh-up-next or similar). Soon after, a TA will manually pull you off that staging room into their office hours to help you.

  • Group OH: These are weekly discussion sections where a TA will answer general questions regarding homeworks, quizzes, algorithm intution, etc. to larger groups of attendees. These are not yet scheduled, please stay tuned...

Office Hours Schedule:

Faculty Office Hours

Day Time Type (Location)
Monday 10:00am - 11:45am Floryan (Rice 203)
Tuesday 9:00am - 10:30 am Floryan (Rice 203)

Group Discussion / Grad TA OH

Day Time Type (Location)
Tuesday 3-4pm Group Discussion (Rice 442)
- 4-5pm Regrades / Grad TA OH (Rice 442)

TA Office Hours

Day Time In-Person (Location) Online (Location)
Sunday 6pm - 8pm In-Person (Thn. Stacks) Online (Discord)
- 8pm - 10pm In-Person (Thn. Stacks) Online (Discord)
Monday 6pm - 8pm In-Person (Thn. Stacks) Online (Discord)
- 8pm - 10pm In-Person (Thn. Stacks) Online (Discord)
Tuesday 6pm - 8pm In-Person (Thn. Stacks) Online (Discord)
- 8pm - 10pm In-Person (Thn. Stacks) Online (Discord)
Wednesday 6pm - 8pm In-Person (Thn. Stacks) Online (Discord)
- 8pm - 10pm In-Person (Thn. Stacks) Online (Discord)
Thursday 6pm - 8pm In-Person (Thn. Stacks) Online (Discord)

Contributing to this Repository

Updates to the repository are restricted to approved individuals only, to prevent anybody from messing with the slides right before a lecture. However, others can still contribute to this repository -- to do so, take the following steps:

  1. Create a github account, if you do not have one
  2. Fork this repository: you can click on the "Fork" link in the upper right
  3. Clone your forked repository on to your local machine
  4. Make any changes you want to your forked version, then commit and push your changes back to your forked repository
  5. Create a pull request, following the instructions here

At that point, we will receive a notice that a change has been submitted, and I'll look at it and hopefully accept it into the main repository.

When you want to bring in the updates from the main dsa2 github repository into your forked repository, you will need to follow the instructions here.

Course Description

Builds upon previous analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, dynamic programming, and machine learning. Analysis techniques include asymptotic worst case, expected time, amortized analysis, and reductions.

License

The material in this repository is released under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA).