Programming Lab: Young Starter Lab
The Young Starter Lab is a place for middle-school students (ages 11-14) to begin learning computer programming with Python, Java, and more. They start with Python, an excellent language for teaching programming, to see and work with more traditional code. After becoming confident with Python, they begin a Java track to try object-oriented programming. Students who come in with some prior coding experience may also move ahead to more advanced lessons.
We encourage students to work together learning new concepts and solving problems. Not only does this make the class more fun and enjoyable but by working together programmers are more productive and come up with better designs with fewer bugs. Searching for bugs often is easier with two sets of eyes.
When can I start? How long is the program?
New students begin on the first or third week of each month. After registration we will confirm the first day with you. Tuition is monthly and students attend once per week. While students begin learning right away, the program is organized to enable them to continue as long as they are interested and having fun. We have flexible project-based material that will constantly challenge students and keep them moving forward.
There is no fixed term for our Starter labs other than a monthly commitment. If a student misses a class they may attend a makeup class on an alternate day by simply emailing us. 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. It only takes a student's interest and desire to learn.
Students start with Python in their very first class. Python is a great place to start coding because it was designed with a clear easy to read code style and simpler high level data structures. It is even easier to learn than the classic learning language, BASIC, and eliminates some of the sources of frustration for beginners with other languages like C++ and Java. Plus it's fun! Python is used universally for web development, science, big data, and simple scripting. Once a student is comfortable reading and writing Python's syntax, 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 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.
The Processing environment has been extended to electronics with Arduino, Microsoft Kinect, and many other libraries. Students who have done Arduino lessons immediately recognize the development tool when opening Processing for the first time.
JAVA and APP DEVELOPMENT
Students who finish a short set of lessons in Python are then introduced to Java. Once they have built a foundation in Python, they are ready to begin trying the more advanced concepts of object-oriented programming. We use a tool that feels like a combination of Scratch and Python so the students feel immediately comfortable and jump right in! Java is the most popular programming language in the world and was designed to 'run anywhere' and is used on many different platforms. Java is used for Android smartphone apps, for example, so the students will be ready to try Android app development. For app development we start with App Inventor as an introductory tool and quickly move to a more advanced tool called Corona. Corona allows cross-platform development for Android and iOS and is also a 2D game engine. Many apps in both the Apple App Store and Google Play store were made with Corona.