Computational Thinking
Think Like A Computer To Work With One
Computational Thinking is a set of problem solving strategies and frameworks that help make complex issues more manageable. This unit will use games and practical examples to practice techniques like abstraction and decomposition to take on full-stack computational problems.
Strategy
Welcome to Computer Science!
This course will survey the most common topics that make up the study of Computer Science. This is quite a lot to ask for a single class - English gets at least 13 years and there is still always more to cover! So what does it mean to study Computer Science? It means taking the time to examine the strategies and techniques you use to approach new problems like finding out which student is in the middle of the class in terms of age!
In academics, CompSci is defined as the study of algorithms. An algorithm is a process or procedure. It’s a plan with a purpose! If you are taking this course, you should already be familiar with lots of different algorithms from your Math and Science classes. Processes like using the quadratic formula or balancing a chemical equation are algorithms. They are a set of steps you follow to solve a problem. In this class we won’t be following algorithms, we will be taking a metacognitive step back to develop them. We don’t like solving the same problems twice.
Creating an algorithm is called programming. It’s the art of organizing logical steps to achieve a goal. You’ve seen things like event programs that organize ceremonies and concerts. Programming does not strictly require a computer or code, though technology is usually useful when solving most programming problems. Coding is the specific art of writing instructions for a computer, but just like squares and rectangles, all coding is programming but not all programming requires code.
Computational Thinking
There is no algorithm for writing algorithms, but there are some metacognitive strategies that can give you a better foothold for solving useful problems. This course will be using a framework of computational thinking which consists of three main stages: knowing what our tools/computers can do, addressing what we can do well, and coming up with a balance between human and computer to generate solutions.
The most common CT strategy you will see in this course is abstraction and decomposition. Abstraction is the act of simplifying an idea, for example saying you will check your email rather than say you will turn on your computer, open an internet browser, and log in to your email. It takes away details that might be distracting or irrelevant to the task at hand so that a problem can become more digestible. Decomposition is somewhat of an opposite task. It takes a problem and breaks it down into smaller steps to make it approachable. Mastery of computational thinking will involve artfully abstracting away unnecessary work while decomposing a problem into solvable bites.
A Brief History of Computing
What Is A Computer?
TBD
Counting Machines
TBD
How To Build A PC
Key Components
TBD
Other Resources
TBD