Learn to Code, Code to Learn.

Resources

PROGRAMMING RESOURCES.

There are a number of ways you can go about learning how to program. For kids this can be even more confusing. The following are our recommendations for how to get started programming – but it isn’t exactly one size fits all. You want to be able adjust for each students age, experience, interests, and preferred learning method. For all of these resources there is a benefit to having a programming mentor to help.

Students Under 10

We recommend starting with games based on providing a list of instructions that are followed by another character. Given that the character will blindly do whatever you say, it requires clear communication to achieve the desired result. This is exactly what computer programming is – the computer blindly follows your code and does what it says!

These games offer a highly structured environment with only a few commands that are allowed. Yet they are challenging because you have to keep the state of the game in your mind – “after the robot moves four steps, turns left, moves one step, and turns right, he will be in this position facing this way.” Simply put, they are an engaging introduction to programming logic.

Here are some of our favorites:

Students that enjoy those can move on to the Scratch programming environment. We recommend starting with the Code.org tutorial as a fun way to introduce the different concepts.

Students 10 to 14

Scratch  is the top choice for first time programmers to learn the basics through creating fun programs. It is drag-and-drop, which removes some of the barriers to young students learning programming, while at the same time teaching the important concepts.

There is an impressive amount of complexity that can be accomplished in Scratch games, but eventually it will be time to more on to a more traditional programming language. This means instead of drag-and-drop, your student will be typing. It’s important that the student is able to effectively communicate their thoughts to the computer – hunt-and-peck typing will take too long and require too much brain power to be effective for programming.

Python is an excellent choice for a young student’s first type-based programming language. It has a clean syntax. Python programs can be written entirely in a text-editor, so the student doesn’t have to learn an intimidating IDE at the same time.

JavaScript is another popular choice and has excellent online resources available. It is a widely used web programming language that is easy to get started.

  • Khan Academy features an impressive in browser JavaScript editor that makes is really easy to see the changes you make in your program. There are excellent example programs you can use as a starting place and tutorials to learn more.
  • Codecademy offers a series of fun interactive tutorials complete with badges when you complete them.

Students 15 to 18

Many high school and introductory college courses use Java – including the AP Computer Science exam – so Java is often the preferred language for these students.

  • For the serious student, we recommend Stanford’s introductory course – Programming Methodology . The website contains video of all the lectures, handouts (essentially a text book), and fun assignments with code to get you started. Begin by installing the Eclipse IDE from  Eclipse and your first coding from here.

Python and JavaScript are excellent for high school students as well (see the above resources).

  • For the serious Python student, we recommend MIT’s introductory course – Introduction to Computer Science and Programming. The website contains video of all the lectures, links to the reading material, and fun yet difficult assignments. Begin by following the instructions here.