Programming


Why Coding:CM4KScratch30
Our world is growing more and more technologically complex. Our banking, social interaction, entertainment, work, and even our homes are increasingly tied up with technology – very few of us go for even a day without interacting with something that has code running behind it. However the majority of us use it only as consumers, we miss out entirely on this limitless platform for creativity and opportunity. Using code we can create anything we can imagine in a virtual environment. Some people use it for profit (Facebook, Google), others use it to make a measurable impact on the world (Wikipedia) – but they all have one thing in common – this would not be possible without a significant amount of code… our world today would not be possible without a significant amount of code.

Curriculum:CM4KScratch26
We focus on having our kids program creatively, taking cues from the Harvard Graduate School of Education’s research into Creative Computing. This follows a constructionist model for learning, where students will construct mental models of what they’re learning through project creation. We recognize that students learn at different paces and allow for students to learn as fast as they are able. Our project based program allows for challenging, individualized learning and efficient use of our class time. While our students focus on creating, our instructors focus on guiding our students in their computational thinking, practices, and perspectives.

Our students also engage on reflection, discussion, and presentation of what they are learning.

Progression:CM4KScratch31
Our students start off with a visual drag-and-drop programming language (Scratch). As they come up against the limitations of the Scratch software, or if they just want to jump into the thick of things, we teach well established programming languages; we prefer to teach in Python for its beginner-friendly nature and libraries, but are open to working with parents for specific requests – though we see the most progress made in Python compared to other languages.

Project based learning:
While we have several example projects to suggest to the students, we focus on creative computing and encourage the students to come up with their own projects and ideas; our instructors keep a close eye on the level of the student, and will suggest the addition of more complexity to their project if they are working below their levels. In addition our instructors keep track of whether the student is effectively learning the computational concepts and thinking patterns.

Reporting:
Parents receive updates (~4 classes) on their student’s progress. They will be able to see at what level their children are working at, and see the projects that their students are creating; at any time parents can come in and discuss their individual students progress with the instructor and see the projects they are currently working on.

See the Projects!
Our student’s projects will be uploaded once they’re done and available online, after being checked for any personal information, and parents will be sent links to the completed projects. Play the games your child creates, read the stories, or watch the animations – watch as your child develops more and more complex projects!

Other Skills:
Throughout our program our students will also come into contact with, and use, a variety of different technologies. Among the things we use are linux, a variety of IDE’s, modal editors and the command line, version control systems, cloud computing services, online resources and more.

Equipment:
All equipment needed for the class is provided and every student will have their own laptop with a full suite of necessary programs, as well as monitored and limited internet access.

Read More About the Creative Program:
Beginner
Advanced