CSCI 358
Applied Algorithms
Fall 2024
Division III
Q Quantitative/Formal Reasoning
Class Details
This course is about bridging the gap between theoretical running time and writing fast code in practice. The course is divided into two basic topics. The first is algorithmic: we will discuss some of the most useful tools in a coder’s toolkit. This includes topics like randomization (hashing, filters, approximate counters), linear and convex programming, similarity search, and cache-efficient algorithms. Our goal is to talk about why these efficient algorithms make seemingly difficult problems solvable in practice. The second topic is applications: we will discuss how to implement algorithms in an efficient way that takes advantage of modern hardware. Specific topics covered will include blocking, loop unrolling, pipelining, as well as strategies for performance analysis. Projects and assessments will include both basic theoretical aspects (understanding why the algorithms we discuss actually work), and practical aspects (implementing the algorithms we discuss to solve important problems, and optimizing the code so it runs as quickly as possible).
The Class:
Format: lecture
Limit: 24
Expected: 24
Class#: 1048
Grading: no pass/fail option, no fifth course option
Limit: 24
Expected: 24
Class#: 1048
Grading: no pass/fail option, no fifth course option
Requirements/Evaluation:
Over the course of each week, there will be either a homework or an assignment. Homeworks and assignments have similar structure, with both a coding and problem set component, but assignments will be weighted more heavily and must be completed individually. There will also be a take home final at the end of the year.
Prerequisites:
CSCI 256 and CSCI 237
Enrollment Preferences:
current or expected Computer Science majors
Distributions:
Divison III
Quantitative/Formal Reasoning
QFR Notes:
The course will consist of programming assignments and problem sets in which quantitative/formal reasoning skills are practiced and evaluated.
Class Grid
Updated 6:08 am
-
HEADERS
Column header 1
CLASSESColumn header 2DREQColumn header 3INSTRUCTORSColumn header 4TIMESColumn header 5CLASS#Column header 6ENROLLColumn header 7CONSENT
-
CSCI 358 - 01 (F) LEC Applied Algorithms
CSCI 358 - 01 (F) LEC Applied AlgorithmsDivision III Q Quantitative/Formal ReasoningTF 1:10 pm - 2:25 pm
Schow Library Classroom 030A1048OpenNone