Description
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.
Through this curriculum, students will create programs using the free online Snap! software which is based on the JavaScript programming language. Students will learn some of the most powerful ideas of computer science and will discuss the social implications of computing – thinking deeply about how they can be personally active in promoting the benefits and reducing the possible harms.
Course Outline
- How the Internet Works
- How Computers Work
- Algorithms and Simulations
- Introduction to Programming
- Abstraction
- 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.
Grade Levels
- 7-12
Prerequisites
- N/A