What is A la Code?

A la Code is a unique way of learning computer programming, also known as coding.

A la Code is a learning platform and a course that teaches middle- and high school-aged students how to build their own games using the world's most widely used programming language, Javascript.

What makes A la Code different?

Students will start by learning how to use code to make art, and progress to creating animations, games, and other interactive projects.

As students develop their skills, they can create their own projects - anything they can think of - can share their creations with friends and family.

Students will also have access to a mentor/teacher who happens to also be an expert professional at the subject matter.

A la Code uses unique approach to teaching programming using real code, with as many barriers to entry as possible removed. I did this by building my coding/teaching environment from scratch to support what I wanted to teach.

Why should you want your child to take A la Code?

A la Code teaches real computer science principles, and uses a real programming language used by professionals. At the same time, it has been carefully designed to remove as many of the barriers to learning as possible, so your student can dive in with both feet and start learning.

Why should your child want to take A la Code?

Learning to program is a difficult task. I've done what I can to make it easier by making it approachable and fun. Students are excited about the possibilities of creating their own games, and the example games are fun to play. It's also fun to be able to create and share projects of their own with others.

Is A la Code the right class for my student?

A la Code is designed to fill a gap in current introductory course offerings. One the one side, you have classes for very young students. These classes are typically very visual. The students code by snapping colored blocks together on their screen. They move at a slower pace, and avoid digging too deep into abstract concepts that are hard for the youngest learners. They are fun and game-like. They focus on helping young students grasp the fundamental concept of programming: putting together a sequence of instructions for the computer to follow. Their visual, drag-and-drop way of programming is great for students who haven't learned to type yet, but is slower and more cumbersome than programming with text.

On the other hand, you have college-style courses that are a more pragmatic deep dive into programming. These courses are typically the first in a long series of computer science classes, and teach fundamentals that can be built upon in later classes. They also move faster, and there tend to be more stumbling blocks – more ways to get stuck and frustrated.

A la Code is a course for middle school and high school aged students who know how to type, and want to learn programming fundamentals in a fun and engaging way. It's designed to be fun, while still teaching you real skills that can be applied beyond just the class.

What's so great about Javascript?

I'm so glad you asked! There are many reasons why I chose to use Javascript to teach this class.

Is text-based programming right for my student?

Text-based programming does have a steeper learning curve than visual, block-based programming. But it also has some great benefits. If your student is still learning to type, then I would recommend waiting until they are somewhat proficient with typing before beginning this course, or starting with a visual course using Scratch or code.org.

If your student has some typing skills, these are some of the benefits they will get from text-based programming:

Will this be too hard for my student?

This class is not for everyone. As previously mentioned, typing proficiency is strongly recommended before taking this course. It's possible to take while learning to type, but learning to program is difficult already, and it's best to not have to learn typing while trying to learn the subject material at the same time.

Additionally, programming, and especially certain aspects of game programming, does involve a fair amount of math. It's not necessary to be able to compute anything by hand – there's no need to be a pro at long division – but knowing how to use and apply math is important. Some familiarity with algebra is strongly recommended, but not required. Students who struggle with math can still be strong programmers, but some topics will be more difficult for them.

Will this be too easy for my student?

If your student has already taken a programming class using a programming language such as Javascript, Java, Python, or PHP, and feels comfortable with the basics of using that programming language, this course might move a little bit slow for them. Of course, if they are interested in the projects presented in this class, they might want to do it anyway. It's possible to move quite quickly through the parts of the material that they already know. Anybody who is interested in creating the projects in this class will likely enjoy it.

Who created this?

My name is Brian Mortenson, and I've been a professional software developer for more than 12 years. I studied Computer Science along with Linguistics in school, and I've been working in software development since April of 2008 – learning programming on the job a few months before I took my first CS class. I am always trying new things, and have never lost the passion for learning new things every day.

I quit my regular software development job to take a risk and create A la Code. The first course I put together was taught in person, both at a homeschool co-op, and in a computer lab after school at a private school. Now it's time to make my course available to everyone! It's still new, and there will be some bumps and kinks along the way, but I believe I have created something special that can really help young people catch the spark of programming.

Why did you create this?

Whether they go on to become professional software developers (which is great and a great way to ensure good job prospects for life) or not, I believe this course will help everyone who takes it to learn to think critically, solve problems, communicate more clearly, and see that they have the power to create anything when they put their mind to it. Plus, it's fun!