This course is an introduction to computer science for students without prior programming experience. We explore problem-solving methods and algorithm development using the high-level programming languages Python and Scratch. Python is a language with a simple syntax, and a powerful set of libraries. While it is easy for beginners to learn, it is widely used in many scientific areas for data exploration. We cover data types and control flow, and introduce the analysis of program performance. The examples and problems used in this course are drawn from diverse areas such as text processing and simple graphics creation. We also examine theoretical and practical limitations related to unsolvable and intractable computational problems. Graduate-credit students implement a final project of their own design.
Harvard Division of Continuing Education