Homeschool Lab - Age 11+

homeschool.png
homeschool.png

Homeschool Lab - Age 11+

189.00

We offer programming labs for homeschool students who want to start coding.  The labs are offered during the school day for middle school and high school level students and emphasize creativity and exploration with several different programming tools including Python, Processing, and Java. Class material is project-based allowing students to go at their own pace and continue at home between classes. The instructor teaches at both the high school and college level (Emory).

  • Decatur / Toco Hills Schedule: 
    Tuesdays 1:00-2:30pm
  • Duration: Six weeks, once per week
  • Tuition: $189
  • Next Session Start Date:  Tuesday, Sept 5th
Quantity:
REGISTER

Homeschool Programming
Lab

The Homeschool Labs introduce middle and high school level students, 6th grade and higher or age 11+, to computer programming by emphasizing creativity and exploration with games, simulation, digital art, and stories / adventures. Students begin with Python on day one. Programming is about design, problem solving, and breaking up a potentially complex idea into individual steps. Java lessons are added after a short list of milestones are completed in Python. By coding with different languages, students start to understand the thought process and logic reasoning involved. This lab emphasizes a hands-on approach to learning with project-based lessons and instructor coaching and guidance. Students are able to progress at their own pace and take extra material home between classes.

No prior programming experience is required. Students who wish to continue learning can repeat the lab to move on to more advanced projects. A certificate is provided at the end of each lab upon request including total hours of instruction.

JAVA

Once students have built a foundation with Python, they are ready to begin learning the more advanced concepts of object-oriented programming in Java. We use a tool that feels like a combination of Scratch and Python so the students jump right in. The same lesson set is used to teach beginning Java typically at the high school and college level. Projects provide a graphic interface alongside the text Java code to give students more immediate and interesting feedback through simulations and games. The tool is also powerful enough for advanced projects and one Start Code student even created a 3D graphics engine that won several awards. Once a student is comfortable coding with Java they can also move on to Android app development using Google's Android Studio.

PYTHON

Students begin with Python in the very first lab.  Python gives them a chance to code in a more traditional text environment. The materials chosen use a lighter approach to programming by showing the source code for games up front and explaining programming principles from the examples. We then challenge the students to modify the code through assignments. For example, one of the later Python projects involves modifying a text adventure game encouraging both creativity and programming skills.  Once a student is comfortable reading and writing Python code, a jump to other languages is not as jarring or difficult. Many universities teach Python in their computer science programs including Atlanta's own Georgia Tech. And at Google, Python has been named one of the three official languages alongside C++ and Java.

PROCESSING

Processing is coding tool geared toward creating visual interactive media, called “sketches”, while also being accessible to beginners as a good starting point into computer science concepts. It was designed to make it easy for anyone to create interactive art through code. Programs written in Processing use either Java or Python syntax, which makes it a great entry point to those languages. The lessons begin with drawing and graphics to give an interactive experience to “visualize” the code. It is used in classrooms of all ages worldwide from computer science programs to art schools and visual arts programs. Students new to programming find it fun and satisfying to make something appear on their screen within moments of using the software.