CS 3510 Fall 2021


This is the course page for Georgia Tech's CS 3510, *Algorithms*

View My GitHub Profile

CS 3510 Fall 2021 Syllabus

Course Format

CS 3510 for the Fall of 2021 will be a mix of synchronous and asynchronous instruction, using a “flipped classroom”-style format. Here’s how this will work:

  1. For every class period, we will have a set of pre-recorded youtube videos for students to watch, covering the content for this class. Links to these videos can be found on the course page.
  2. Having watched the videos, students will come lecture (12:30-1:45pm on Tuesday/Thursday) via the Microsoft Teams Live Event link (see course schedule).
  3. In the live class, we’ll have a quick quiz to check for compreshension of the lecture videos, but we’ll spend most of the time solving problems:
    • Problems will be solved in small groups of about 8 students
    • Once the problem is announced by the professor, students move into a breakout “room” with their group, and discuss the problem for 5-10 minutes.
    • Students are then called back into the main room, and the solution is discussed with everyone, followed by a Q&A
  4. Homework will be due every 1-2 weeks, submitted via gradescope
  5. Each segment of the course (see below) will be concluded with an exam, testing the material for that segment of the course.

Topics to be covered

CS 3510 will have four segments, and each segment will take roughly 3-4 weeks.

  1. Divide and conquer
  2. Dynamic programming
  3. Graph algorithms
  4. Complexity Theory

We will typically discuss problems in class that are classical examples of the topic we are covering. Students are expected to do problems using similar strategies in homeworks and exams.

Grade breakdown

The evaluations will consist of 8 homeworks, 4 exams and one final exam. First, your grade will be weighted as follows:

After all grades are in and all overall percentage scores for students have been computed using the weights described above, grades are assigned as follows:

After this computation you will have the opportunity to decide if you want to keep this grade or you want to do the final exam. In case you choose to do the final, your score in the final will substitute your lowest two exams, if higher (so you can only improve by taking the final).

Note: The cutoffs may be adjusted, but only in the downward direction to improve letter grades. In the event of a curve, only your final overall percentage grade for the course will be curved. Individual assignments will not be curved.


There will be eight homeworks. You will have roughly a week to complete each. Each homework will have several problems but only some problems will be graded. Homeworks will be the best source of practice for the exams. Homeworks must be submitted as a PDF document on Gradescope. The document must be typed (Word, LaTex, etc.) and handwritten solutions will not be accepted. There will be a grace period of one week to submit late homework. Late submissions will be penalized with a 20% deduction of your score. Once grades are released, you will have a week to ask for a regrade, if you reasonably consider that your homework was unfairly or incorrectly graded.

The homework instructions must be followed to receive full credit. A solution must adhere to any justification, time complexity analysis, correctness, and running time requirements. Unless otherwise stated, pseudocode is not an accepted format for an algorithm solution.

The CS 3510 homework collaboration policy is as follows:


Each day, during the live session, there will be a quiz. The quizzes are meant to test three different things:

  1. Did you at least watch the required lecture videos before the live session?
  2. Did you understand the basic concepts discussed in these videos and reading?
  3. Did you attend the live session?

We’ll test (1) by asking a trivial question about the lecture video; for example, sometimes I’ll mention an animal as “the word of the day”, or we’ll just ask something basic about the topics discussed. We’ll test (2) by asking a basic question on content. We’ll test (c) by giving out a 3-4 digit code, announced during each live session when I say “OK time for the quiz”.

You can find every quiz by going to GradeScope (linked via Canvas). Keep in mind that it’s timed! You only have 3 minutes to answer all three questions.

Students who are in distant time zones may want to take the quiz and not attend the live sessions. This is strongly discouraged but is partially acceptable. The quizzes will be made available several hours before the live sessions and you can take them early if you will not be awake for the live session. BUT you will almost certainly not be able to answer the question “What is the code given in lecture?” which will be 1 out of 3 points for the quiz. The quizzes make up 10% of the grade so this has a cost of 3.3% in total for the course.

We will drop the 4 lowest quiz scores. So you won’t be penalized if your internet goes down, or you have a doctor’s appointment, etc. You get four free passes.


Each exam will consist of 2-3 problems. Exams will be held during regular lecture time. The final exam will be cumulative and will be at the date, time and location indicated in the official GT calendar.

The final exam is optional in the following sense: we will compute your exam score by taking the average of your score on the four in-class exams. However, you can take the final exam which will substitute the score of your lowest two exams, but only if it improves your score. If you are happy with the score you already have across the first four exams, you can skip the final exam.

Students with Disabilities and/or in need of Special Accommodations

Georgia Tech complies with the regulations of the Americans with Disabilities Act of 1990 and offers accommodations to students with disabilities. If you are in need of classroom or testing accommodations, please make an appointment with the Office of Disability Services to discuss the appropriate procedures. More information is available on their website.