This is a hands-on, exploratory course aimed at exposing students to the beauty, joy, and usefulness of computing, and its effects on their lives and the evolution of society.
Students are gently introduced to computational thinking and programming, using an innovative graphical programming language called Scratch (developed at the Massachusetts Institute of Technology), with the emphasis on relevance to themselves and society.
In addition to allowing more opportunities for creativity, the course has been designed to make learning to program easier by preventing common frustrations for novices, while enabling them to learn some deep Computational Thinking concepts and skills (introducing a learning environment with a “low floor and high ceiling”).
In this course, Computational Thinking is explored through engaging in creating art, telling stories, and developing computer games.
Key Computational Thinking concepts explored are: Computing as a creative human activity, Levels of abstraction, Algorithms, Programming, and The impacts of computing.
Key Computational Thinking practices and skills emphasized in the course are: Connecting computing to the real world, Creating innovative computer artifacts, Abstracting, Analyzing and evaluating problems and artifacts, Communicating with the aid of computing, Collaborating effectively.
Finally, this course has the potential to serve as a stepping stone for a new College Board Advanced Placement CS course (AP Computer Science Principles), which could have significant national impact.
(See Computer Science Principles - CSP)
Big Idea 1: Creativity. Computing is a creative activity.
Big Idea 2: Abstraction. Abstraction reduces information and detail to facilitate focus on relevant concepts.
Big Idea 3: Algorithms. Algorithms are used to develop and express solutions to computational problems.
Big Idea 4: Programming. Programming enables problem solving, human expression, and creation of knowledge.
Big Idea 5: Global Impact. Computing has global effects on individuals and society.
Practice 1: Connecting computing (Making connections to and from the real world; making connections within CS)
Practice 2: Creating computational artifacts
Practice 3: Abstracting
Practice 4: Analyzing problems and artifacts
Practice 5: Communicating
Practice 6: Collaborating
1. Use computing tools and techniques to create and analyze computational artifacts.
2. Use computing tools, techniques and programming for creative expression.
3. Develop computational abstractions.
4. Use computers and programs to process information to gain insight and knowledge.
5. Develop algorithms to solve computational problems.
6. Connect problems and potential algorithmic solutions.
7. Use abstraction to manage complexity in programs.
8. Employ appropriate mathematical and logical concepts in programming.
9. Evaluate programs for correctness.
10. Connect computing with innovations in other fields.
11. Connect computing within economic, social, and cultural contexts.