Programming

Here are our recommended Programming languages based on skill level: 

Beginner: Scratch
Scratch is a drag-and-drop Programming language appropriate for younger campers who have not yet developed the motor skills for typing efficiently on a keyboard. Because campers can simply drag-and-drop pre-programmed coding commands, it allows them to learn the theory behind Programming without being slowed down by typing out code.

Intermediate: Micro:bit
Designed specifically for older Juniors who want that “extra” challenge. The micro:bit is a pocket-sized external computer that introduces campers to how software and hardware work together. Starting with the foundations of a computer, this hands-on learning tool challenges campers to build upon their newfound coding skills, using Scratch and some Python, with projects such as LED light shows, Jukeboxes, or games that they can see right on the device! The micro:bit is a great introduction to our senior Circuits option. Learn more about Micro:bit.

Beginner/Intermediate: Processing
Processing is multi language programming sketchbook where campers of all ages can bring their ideas to life. Campers that work in Processing will likely be writing code in either JAVA or Python and using those languages to learn about and work with real world concepts of computer science and programming. Campers who have done programming at TIC before or already have some prior basic programming knowledge will find that the concepts they already know will translate seamlessly into whatever exciting project they decide to create in Processing. Processing is a great language for learning how to code. Geared towards 4th graders and up, and those that have some experience in Programming.

Advanced- Advanced Processing allows campers the opportunity to push their understanding of programming in Python or JAVA even further, creating more intricate and complex projects utilizing advanced problem-solving skills and programming techniques, Campers will learn how to plan out solutions to large scale problems and utilize concepts like object oriented programming (OOP), data structures and algorithms to help them create more elaborate projects. 

Learned Outcomes:

  • Introduction to software, coding basics, have them get used to general syntax

  • Start with making simple projects, text editor or even a paint tool to better understand data types and even functions.

  • They will start putting their skills together to work on a larger project, this project will span the rest of the week. 

  • Project types can range from Pong- to block breaker.

  • Platformers would be a little bit more challenging but pong and block breaker are still accessible for an intermediate age range. Alternatively they can make a text adventure game, to really understand how to use functions and logic statements. 

For Advanced Processing, campers will build out a side scrolling or level changing platformer to learn the more advanced programming topics.

  • Review the engine and learn about more advanced programming topics like classes and objects, and inheritance, with some simple examples and exercises to get them accustomed to it. 

  • Create a simple class to modify the look of a ball or character of their choosing, exposing functions and fields in order to modify how it looks. 

  • Extend the learning by understanding inheritance and interfaces, and incorporating these tools to extend the features of their scripts.