“Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.”
-Cuny, Snyder, Wing
It’s not required but makes the class more productive if each student posses the following skills:
Bits (PreK Ages 3 & 4)
- Has been in a classroom setting before
- Can count unto 10
- Knows most of all their ABC’s
- Has shown interest in the details of things. (Example: the ability to focus on coloring)
- Shows curiosity in what makes things go
- Likes to learn
Nibbles (Kindergarten/1st Grade)
- Has completed a full session of the Bits class (nice to have but not required)
- Can count without difficulty
- Starting to understand addition and subtraction concepts
- Has started working to improve typing skills (uses two hands to type, practices home keys)
- Starting to play around indepentantly on computers
- Feels comfortable navigating around on an iPad
- Follows instructions & likes to learn new things
Bytes (2nd Grade)
- Has attended classes with us as a Bit or Nibble (preferred)
- Has started using a keyboard and is starting to feel comfortable with where some of the keys are
- Is reading and writing, but lots of spelling mistakes
- Is pretty good at adding and subtracting small numbers
- Feels comfortable working in groups
Megabytes (3rd Grade), Gigabytes (4th & 5th)
- Has attended classes with us as a Byte (preferred)
- Understands that algorithms are a set of step-by-step instructions on how to do something
- Is fairly comfortable with image based programming (Tynker, Foos, Scratch, etc) and ready for more advanced text based programming
- Enjoys tinkering and problem solving
- Patient and shows persistence with challenges
What will students learn in this class?
Bits and Nibbles (K & 1st Grade) and Bytes (2nd Grade)
- An algorithm is a sequence of precise steps to solve a given problem.
- A single problem may be solved by several different algorithms.
- Programming is a problem-solving activity, and there are many different programs that can solve the same problem.
- Variables and assignment.
- Programs can work with different types of data [integers, characters, strings].
- The use of relational operators and logic to control which program statements are executed, and in what order
- Simple use of AND, OR and NOT
- Abstraction by using functions and procedures (definition and call), including:Functions and procedures with parameters.
- Programs with more than one call of a single procedure
- Documenting programs to explain how they work.
- Understanding the difference between errors in program syntax and errors in meaning. Finding and correcting both kinds of errors.
- Introduction to binary manipulation.
- The things that we perceive in the human world are not the same as what computers manipulate, and translation in both directions is required.
- There are many different ways of representing a single thing in a computer
- Computers are devices for executing programs
- Computers are general-purpose devices (can be made to do many different things)
- Not every computer is obviously a computer (most electronic devices contain computational devices)
- Basic architecture: CPU, storage (e.g. hard disk, main memory), input/output (e.g. mouse, keyboard)
- Computers are very fast, and getting faster all the time (Moore’s law)
- Computers can ‘pretend’ to do more than one thing at a time, by switching between different things very quickly
- A network is a collection of computers working together
- An end-to-end understanding of what happens when a user requests a web page in a browser.
- How data is transported on the Internet
Megabytes (3rd Grade), Gigabytes (4th and 5th Grade)
- Will continue writing text based programming and less image based programming
- Learn an advanced programming language like Java or C#
- Will start learning Game Engine platforms like Unity