0

Computational Thinking Level 1

Learning to think Computationally needs to start in the early elementary years. Don’t wait until middle school, when it’s too late.

3 STUDENTS ENROLLED

Computational Thinking is the heart and soul of Computational Thinkers.  It’s where it all begins.  This class is what sets up apart from all the other Computer Science Educators out there.  We feel that students should be strongly rooted in core fundamentals before getting mentally hypnotized to think that “Every Child Should Learn to Code”.

We offer this class for students as young as 4 and upto 5th grade.   Though the concepts we cover might be similar between classes, we are digging in deeper each year.  It’s the same teaching techniques for a math class.  We learn math every year but it gets more and more complicated with each year.

 


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 possesses the following skills:

  • 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 independently on computers
  • Feels comfortable navigating around on an iPad
  • Follows instructions & likes to learn new things
  • Inquisitive

What will students learn in this class?

We try to ensure that students have a strong understanding of the following foundational concepts in computer science:

  • The definition of an algorithm: An algorithm is a sequence of precise steps to solve a given problem.
  • The idea that a single problem may be solved by several different algorithms.
  • Similarly, the idea that programming is a problem-solving activity, and there are many different programs that can solve the same problem.
  • Conceptually understand 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 Boolean operations, such as 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, and finding and correcting both kinds of errors.
  • Introduction to binary manipulation.
  • The concept that things that we perceive in the human world are not the same as what computers manipulate, and translation in both directions is required.
  • Conceptually, the following ideas about computers:
    • 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).
    • There are many different ways of representing a single thing in a computer.
  • Understanding of basic computer architecture: CPU, storage (e.g. hard disk, main memory), input/output (e.g. mouse, keyboard)
  • Moore’s law: Computers are very fast, and getting faster all the time.
  • Multitasking: Computers can ‘pretend’ to do more than one thing at a time, by switching between different things very quickly
  • The concept of computer networks: 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.

Course Curriculum

Q1 - Computational Thinking Basics
Q2 - Encoding the World
Q3 - Big Data & the Internet of Things
Q4 - Small Computing Device Project
X