# Introduction to Computational Thinking

This course introduces students to the basic ideas of computational thinking and its applications to problem solving in STEM fields. Students will use an open source, Web-based programming environment to create code for simple drawings, animations and simulations, through which they learn how to use abstraction, decomposition, and pattern recognition to model problems and arrive to an algorithmic solution. Program code is presented with a dual purpose: as the main way to interact with a computer and as a proxy to organize ideas explicitly and communicate them to other people. Students taking Algebra I concurrently with this course will benefit the most because many examples are drawn from Algebra I, so that students can visualize and manipulate the mathematical concepts in a more concrete form.

#### Course Objectives

- Describe applications of computational thinking to solve math, science, and engineering problems
- Model objects made of multiple parts and their behaviors and interconnections using variables and functions and construct virtual artifacts that simulate them
- Use the program development process to create, debug, and redesign computing artifacts
- Implement creative projects in which computational thinking and code is used to create artistic or technical renderings of diagrams, illustrations, or graphs.
- Demonstrate the use of code as a medium to communicate ideas and designs precisely
- Demonstrate effective communication skills through team working, oral presentations, and written communication

#### Course Essentials

- Formative assessment includes worksheets, practice activities for each lesson, and unit quizzes
- Summative assessment includes a programming project at the end of each unit