The Starter Lab is where high school students (ages 14-18) with little or no programming experience can start to learn computer programming and software development. They begin with Scratch, Alice, and Python. All three are excellent tools for learning programming and are fun to work with. Students then move into Java and begin learning about object-oriented programming with another beginner tool that is easy and fun to use. Java is used in the AP Computer Science exam and our students will have already seen and used the concepts tested.
Python and Java are currently two of the most popular programming languages in use. Python is easy to read and understand which makes it a natural first coding language. But it can also be used for heavy lifting including being used for the popular file syncing tool, Dropbox. Java derives much of its style from C and C++ but was created to be simpler than these languages while also having the flexibility to 'run anywhere'. These reasons contribute to its popularity and flexibility. Java is used for Android smartphone development, for example.
Our students are encouraged to work together learning new concepts and solving problems. When working together programmers are often more productive and come up with better designs with fewer bugs. Searching for bugs often is easier with two sets of eyes!
In addition to Lab sessions, our instructors are available for virtual coaching and mentoring. If a student wants to work forward on material or has a question, simply ask for help via quick email, screenshare or phone call.
Who: High School Students
Decatur / Toco Hills Schedule:
Saturdays 1:00-2:30pm or
Tuesdays 6:00-7:30pm *NEW or
Tuition: $169 / month
How long is the program?
New students begin at the first or middle of each month. While students begin learning right away, the program is organized to enable them to continue as long as they are interested and having fun. Tuition is monthly and we have flexible material that will constantly challenge students and keep them moving forward. There is no fixed term for our after-school programming labs other than a monthly commitment.
How long does it take to learn piano? How long does it take to learn a foreign language? Like these skills, there is no limit to the potential for learning about technology and computer programming.
SCRATCH AND ALICE
For high-school students, Scratch and Alice are a great place to start. Scratch is a drag-and-drop 2D programming environment where code is snapped together like building blocks. Students are able to quickly create games, stories, and multimedia art while learning about programming concepts. Students make a Pac-man game in their first lab! When ready to work in a 3D environment the students move on to Alice. Alice is a teaching tool for introductory computing. Working in Alice feels like being a movie director in a 3D world. Like Scratch, it uses a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience so working in Alice keeps students engaged and interested. The upcoming version 3 of Alice even incorporates 3D graphics and characters from the Sims video game!
While students are working in Scratch or Alice, they simultaneously begin with Python. Python is another great place to start programming because it offers an interactive environment to explore programming and problem solving. Python was designed with a clear code style and high level data structures. It is even easier to learn than the classic learning language, BASIC, and eliminate some of the sources of frustration with other traditional languages like C, C++ and Java. Once a student is comfortable reading, writing, and understanding 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 3 'official languages' alongside Java and C++.
JAVA AND BEYOND
After becoming proficient with Python, students are prepared to jump into Java and object-oriented programming. While Java is a powerful programming language, we have some fun starting tools to introduce concepts like objects and classes using an intuitive development environment called Greenfoot. Greenfoot feels like Scratch on steroids and is fun to work with. Once a student is comfortable with Java, moving onto new languages like Objective-C to make apps for Apple Macs, iPhones, and iPads is much easier.