General Introduction to Computing and Data Sciences

Why teach young children computer science and the fundamentals of programming? Why continue to educate older children in computing and even expose to and immerse them in data science, which presupposes a strong understanding of computing? What do these young people gain; what might they lose?


There is the practical reason that most things we touch or more likely touch us operate with computers chips and components, which require programming knowledge to understand how to make them work. Others hold the perspective that learning computer science cultivates a type of procedural and process thinking of cause and effect in highly complex systems and therefore the ability to abstract within high levels of systemic complexity. It’s no accident that a typical single (cable) program episode for younger people has multiple themes in time and space that move with such rapidity. They require a certain type of processing to follow.


In a technologically directed world where economic and political power resides with those who make or understand the technology, it is clear that developing an understanding is important to professional success. Power is amplified by their ability to use and understand computing. In that same environment, it is personally important to gain such understanding to be comfortable and fully ‘at home’ in such an environment. Our objective is to facilitate young people’s comfort, curiosity, and leadership in this regard.


Intro to Computing I: Understanding our Tech World through programming (3rd), 4th and 5th Grade

The Innovation Institute’s Computer Science curricula actively engages students by having them learn about computers and programming practices through experience. This basic but powerful approach empowers students to be in charge of their learning. Innovation Institute’s philosophical grounding in the how’s and why’s of all facilitated learning, including computer science, will position students to learn new languages given strong computer science foundations. For teaching purposes this course will use Scratch and Python but is not limited to either.

The course begins with a deconstruction of hardware! Seeking to make computing tangible, students engage in this dissection to basic components to identify the role of each. With some basic hands-on context established, students continue their learning with a graphical programming language as a tool for creation and expression. Over the course of the term, they develop a hands-on understanding of how software and hardware relate.

Student learning introduces and reinforces critical programming concepts including:

  • variables

  • branching

  • loops

  • logic

  • functions

As students experience and investigate, they delve into applications, reusable functions, and how to interface with peripherals through programming and project design. Ultimately, students will design projects individually or in teams that reflect their interests and learning and build them collaboratively.

Students investigate questions including:

  • How does software interface with hardware?

  • How do programming languages work?

  • What are the various parts of computer systems and how do they interact?

  • How are programs structured?

  • How do we use peripheral components to sense and respond to the outside world? What role does programming play? Electronics and engineering?

The course provides a technology sandbox to allow students to explore the ways in which programming languages can be applied to accomplish students expressive goals.

This course will include visits from experienced electronic artists and professional engineers! Keeping science and engineering relevant and real for students, the Innovation Institute's team engages area research institutions and industries to help our students understand how and why real people are investigating the technology behind and developing innovative solutions for topics covered in this grade's curriculum.