Learning to Program and Code

At one time, teachers were concerned with teaching students how to use computers. I did lessons with middle school students back in that last century on how to turn on, log on, search the Web, and use applications. Now, students come to school with computer skills and perhaps even better skills than the teachers (depending on grade level) and access to more computers and devices at home than in school.

But one area that is still more the domain of the classroom is learning to write code. This doesn't mean trying to turn kids into programmers. Getting an introduction to programming not only gives you a sense of how computers work, but is also teaches math, logic and critical thinking.

Although computer science courses don't usually appear until high school or college, there are lots of ways of teaching younger students programming.

My sons both loved playing with LEGO blocks and that led me to buy them Lego Mindstorms which allowed them to do robotics building and programming. I did sit on the floor with them at first, but they were fine with just playing around and figuring out how to make things happen.

Lego Mindstorms’ kits have sensors and motors and use command-box programming rather than code programming. The LEGO-supplied language can be modified to work with third party languages. Mindstorms grew out of the work at the MIT Media Lab and you will find several other projects from there in the resources below.

These resources vary in level from things appropriate for most upper elementary students (like Scratch) to sites using more advanced languages such as C++ or Javascript. But, I would caution placing any level labels on the sites because a student who gets into programming can move quickly well beyond the basics and work above their perceived grade level.

  1. Alice - a free and open source 3D programming environment that can be used to teach students object-oriented and event-driven programming. You use drag and drop graphic tiles to animate an object and create a program. Storytelling Alice is an offshoot developed by Caitlin Kelleher at Carnegie Mellon University which emphasizes animations and social interactions and can help get kids interested in programming.

  2. C Programming - is a way to learn C and C++ programming

  3. ClassTools.net - allows teachers to create games, quizzes, activities using templates for a product that can then be embedded into a site

  4. Code Academy is a free site to learn to code for creating websites, games, and apps with step by step instructions - it also can track user progress.

  5. Code Avengers - teaches Javascript, has 40 short lessons with each having 5 tasks

  6. The Code Player - video tutorials to learn HTML5, CSS3, and Javascript

  7. Hackety Hack - open source application teaches the basics of programming in the Ruby language. The tutorial runs on Windows, Mac, and Linux. Unlike the popular Scratch and Alice which use a "simpler" graphical programming language with “blocks,” Hackety Hack teaches the basics of Ruby syntax.

  8. Gamestar Mechanic - a fun way to have students learn how to make games

  9. Google Blockly is another visual program editor using blocks of code

  10. Arduino is an open-source electronics prototyping platform with both hardware and software components. Arduino is a more advanced way of building things that actually move. It can be used to introduce programming and includes a modification of Scratch for simple programming using Arduino hardware. Google announced it would allow Android mobile devices to communicate with Arduino hardware, so this probably has a future for Android app development.

  11. Playfic - teaches programming through the use of Digital Storytelling by text based games

  12. Programr - has several programming languages that can be used online

  13. Scratch was developed by the MIT Media Lab as a visual programming language for children age 6 and up and it has 800,000+  users who have joined the Scratch website since 2007. They have shared over 1.7 million projects including games and animations. Scratch is free and runs on Mac, Windows, and Linux computers.

  14. MIT App Inventor has educational resources from the creators of Scratch and teaches users how to create mobile apps.

  15. Stencyl can be used to make iOS and Flash-based games by putting blocks together

  16. What2Learn has both educational games and ways to create your own.


Trackback specific URI for this entry


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.