Introduction to the intellectual and software tools used to create and study algorithms: formal and informal problem specification; problem solving and algorithm design techniques; reliability, formal verification, testing, and peer code review techniques; program clarity, complexity, and efficiency; functional and imperative paradigms; associated programming skills.
- Teacher: John Dougherty
- Teacher: Suzanne Lindell
- Teacher: Sorelle Friedler
- Teacher: Suzanne Lindell
- Teacher: Chris Gliatto
- Teacher: Alvin Grissom
- Teacher: Nayera Hasan
- Teacher: Chang Sun
- Teacher: Mateo Taylor
