Difference between revisions of "CS 3510"

From Georgia Tech Student Wiki
Line 19: Line 19:
   
 
===== How it fits in the curriculum =====
 
===== How it fits in the curriculum =====
CS 3510 is the base, introductory course in the design and analysis of algorithms. The course is more math-based meaning it doesn't require a computer language. The course is a vital stepping-point in the [[Theory]] thread before taking [[CS 4540|CS 4540: Advanced Algorithms]], a required course in the Theory thread.
+
CS 3510 is the base, introductory course in the design and analysis of algorithms. The course is more math-based meaning it doesn't require a computer language. The course (or the honors version, [[CS 3511]]) is a vital stepping-point in the [[Theory]] thread before taking [[CS 4540|CS 4540: Advanced Algorithms]], a required course in the Theory thread.
   
 
== Current Registration Info ==
 
== Current Registration Info ==

Revision as of 11:10, 30 June 2021

CS 3510: Design and Analysis of Algorithms is a 3 credit hour concentration requirement for many CS threads. It provides an overview of various algorithms at a more advanced level compared to CS 1332: Data Structures and Algorithms, and it also teaches techniques to prove their time complexity and correctness. Algorithms are nearly exclusively written in pseudocode, not an actual programming language. The course has no lab component and is taken by most CS majors. The honors version is CS 3511, and a related course that may be taken afterwards is CS 4540: Advanced Algorithms.

Overview

Topic List

This course provides an introduction to algorithm design from the mathematical side. Evaluations of algorithms are through written, proof-based homework and tests.

Topics include:

  1. Divide-and-conquer algorithms
  2. Dynamic programming
  3. Graphs/networks
  4. Optimization
  5. Hardness and approximation algorithms

Textbooks used in this course in the past have included:

  • Algorithms by Dasgupta, Papadimitriou, and Vazirani (used by Professor Vigoda, Spring 2020)[1]
  • Algorithm Design by Kleinberg and Tardos (used by Professor Dovrolis, Spring 2020)[2]
How it fits in the curriculum

CS 3510 is the base, introductory course in the design and analysis of algorithms. The course is more math-based meaning it doesn't require a computer language. The course (or the honors version, CS 3511) is a vital stepping-point in the Theory thread before taking CS 4540: Advanced Algorithms, a required course in the Theory thread.

Current Registration Info

In order to register for the course, you must register under a certain section as depicted by letters (A, B, C...).

Prerequisites

  • CS 2050/2051/2106 (min. grade of C)
  • CS 1332 (min. grade of C) or MATH 3012/3022 (min. grade of D)

Resources

  • CS 3510: Design and Analysis of Algorithms (Fall 2017): click here
  • CS 3510: Design and Analysis of Algorithms (Spring 2020, Vigoda): click here
  • CS 3510: Design and Analysis of Algorithms (Spring 2020, Dovrolis): click here
  • Oscar Details: click here