Computer Science: An Overview
The Computer Science: An Overview course is an introductory computer science curriculum for middle and high school students. This class emphasizes the joy and complexity of creating visual computer programs and applications, balanced with critical reflection on the impacts of new computing technology.
- How the Internet Works
- How Computers Work
- Algorithms and Simulations
- Introduction to Programming
- Data Structures
Two Self-Paced Bonus Lessons
- Fractals and Recursion
- Recursive Functions
Snap! – A visual, drag-and-drop programming language
Snap! is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the MIT Media Lab) that allows you to Build Your Own Blocks. It features first class lists, first class procedures, and continuations. These added capabilities make it suitable as a serious introduction to computer science for middle or high school students.
Textbook on Social Implications
In the non-programming part of our course, we try to balance a fundamental optimism about the future of computer technology with an understanding of its limitations and potential negative implications. Student readings are taken mainly from the excellent textbook Blown to Bits, which is available for free online download.