The Starter Lab is where high school students (ages 14-18) with little or no coding experience can start to learn computer programming and software development. With high school students we focus on Python, Processing, Java, and App development using Corona and Lua. All are excellent tools for learning programming and are fun to work with. Students begin with Python and then quickly move into Java to try object-oriented programming. Students who come in with some prior coding experience may also move ahead to more advanced lessons.
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. It has an easy to learn coding style and is also used by professional software developers so there is a lot of room for growth. 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, solving problems, and challenging each other. When working together programmers are more productive and come up with better designs with fewer bugs.
When can I start? How long is the program?
New students begin on the first or third week of each month. After registration, we 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 at an alternate time 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's easy to get started but students can also go as deep into the subject as they wish.
Students begin coding with Python in their very first lab. Python is a great place to start programming because it offers an interactive environment to explore text code 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 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, 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 Python has overtaken Java nationwide as the first language taught at the college level. At Google, Python has been named one of the three official languages alongside Java and C++.
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 worked with Arduino immediately recognize the development tool when opening Processing for the first time.
JAVA AND APP DEVELOPMENT
After trying Python and Processing, students are prepared to jump into Java and object-oriented programming. While Java is a powerful programming language, we have fun starting tools to introduce concepts like objects and classes using an intuitive development environment. Once a student is comfortable programming in Java, moving on to other object-oriented languages like C++ and Objective-C is much easier. Java is used for Android smartphone apps so the students will be ready to try Android app development. For app development we start with App Inventor as an introductory tool and then continue to a tool called Corona. Corona allows cross-platform app development for Android and iOS, and is also a 2D game engine with sprites and physics. Corona uses the Lua programming languages and is similar to Python in many ways so students adapt to it quickly.