Advanced Data Structures and Algorithms

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

Introduction

This repository contains content for Advanced Data Structures and Algorithms at the University of Virginia. This course is designed to be an elective offering that explores advanced versions of foundational data structures (e.g., advanced array-based data structures and advanced tree data structures). The course also expands on a student’s algorithmic toolset by exploring advanced approaches such as linear programming and advanced analysis (as in approximation algorithms).

Students are expected to have command of foundational concepts in Computer Science, including all data structures (arrays, lists, trees, hash tables, priority queues, graphs, etc.) as well algorithms (optimization methods divide-and-conquer algorithms, dynamic programming, etc.)

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

Instructor and Head TAs

We have one instructor and multiple TAs for the course. Their names and emails are shown in the table below. Instructors are often slow at responding and the TAs can sometimes more quickly address your concern or escalate the situation to an instructor if necessary.

Instructors / Head TAs

Name Head TA / Inst. Email
Mark Floryan Instructor mrf8t@virginia.edu
Natalia Wunder TA xax8gw@virginia.edu
Grady Hollar TA vhe5ak@virginia.edu
Brennan Muller TA sem9bd@virginia.edu
Gavin Crigger TA tzn4fx@virginia.edu
Eddie Li TA grc4rz@virginia.edu
Vincent Tran TA vmf5yp@virginia.edu

Office Hours Description and Schedule

All office hours are held in Thornton Stacks. This is subject to change if we find a better room.

TA Name Office Hour Times Location
Floryan Mon. 1-2pm; Tue. 9-10am; Wed. 12-1pm Rice 203
Natalia Sun. 10-12pm Thornton Stacks
Eddie Mon. 4:30-6:30pm Thornton Stacks
Gavin Tue. 2-4pm; Fri. 1:30-3pm Thornton Stacks
Brennan Wed. 3-5pm Thornton Stacks
Vincent Wed. 1-3pm Thornton Stacks
Grady Thur. 3-5pm; Fri. 12:30-1:30pm Thornton Stacks

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 dsa1 github repository into your forked repository, you will need to follow the instructions here.

License

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