Carnegie Mellon University

Computer Science for Practicing Engineers


Anthony Lattanze

Number of Lectures


Course Description

The primary goals of this course are to:

  • Introduce key enduring principles in computer science foundations.
  • Prepare students for immediate competence so that course material can be applies in real world situations.
  • Improve the student's ability to recognize and analyze critical computational issues in the course of their work, generate alternative solutions to problems, and judge among them.
  • Improve the student's ability to perform detailed code-level design and document the design in an understandable way.


Previous coursework in computer science (such as data structures or algorithms) is not necessary. However, students should have at least some experience writing software applications, and building systems, preferably in an industrial setting. Academic project experience may suffice.

Recommended Textbooks

1. "Algorithmics: The Spirit of Computing (Third edition)," Harel, Feldman (Har04)
2. "Data Structures and Algorithms,” Aho, Ullman, Hopcroft (AHU83)