Logo was my introduction to computers and programming. Today we have many more ways to introduce students to programming and coding. Here are some good resources that you can use to introduce students to programming and coding.
When the conversation amongst educators turns to programming, Scratch is often the first resource that is mentioned. Scratch allows students to program animations, games, and videos through a visual interface. Students create their programs by dragging together blocks that represent movements and functions on their screens. The blocks snap together to help students see how the "if, then" logic of programming works. If you haven't seen Scratch before, watch the short overview in the video below.
Scratch Overview from ScratchEd on Vimeo.
Scratch Jr. is based on the aforementioned online Scratch program. Scratch Jr for iPad and for Android uses the same drag and drop programming principles used in Scratch. On Scratch Jr students can program multimedia stories and games. To program a story or game on Scratch Jr. students select background settings for each frame of the story. Then in each frame students select the actions that they want their characters to take. Students snap programming pieces together to make characters move and talk in their stories and games.
Snap! is a drag-and-drop programming interface designed to help students learn to program. Snap! uses a visual interface that works in your browser on your laptop as well as on your iPad. To design a program in Snap! drag commands into a sequence in the scripts panel. The commands are represented by labeled jigsaw puzzle pieces that snap together to create a program. You can try to run your program at any time to see how it will be executed. After previewing your program you can go back and add or delete pieces as you see fit. Snap! may remind some people of Scratch. That is because the Snap! developers call their program "an extended re-implementation of Scratch." The potential benefit of Snap! over Scratch is that teachers who have a mix of iPads, Android tablets, and laptops in their classrooms can have all of their students use the same programming interface.
The MIT App Inventor allows students to create and publish their own Android applications. The MIT App Inventor works in your web browser (Chrome is recommended). The only download that is required for App Inventor 2 is the optional emulator. The emulator allows people who don't have Android devices to text their apps on their desktops. If you have an Android device then the emulator is not required and you don't need to worry about installing it. MIT provides excellent support documentation and curriculum for classroom use for new users of App Inventor. Click here to read about a great app developed by students using the MIT App Inventor.
Google Blockly's interface will remind you of the MIT App Inventor and Scratch. Google Blockly, like Scratch and the MIT App Inventor, uses jigsaw pieces containing commands that you can snap together to create an application. The blocks can be dragged, dropped, and rearranged as many times as you like. Google has five working demonstrations of Blockly that you can try right now. Google Blockly could be a good tool for students to use to play with logic commands in a relatively easy to understand environment. Blockly doesn't require any typing, just clicking, dragging, and dropping with a mouse or on a touch screen.
Code Maven offers 59 lessons for students to work through at their own pace to learn programming fundamentals. After completing the Code Maven tutorials students are ready to move on to Game Maven where they can work through 37 lessons in which they will create three simple online games.
TouchDevelop is a great platform through which students can learn to program simple animations and games. On TouchDevelop students program a series of actions by entering sequences of commands such as "move forward" and "turn right" that are carried out on the screen by a chosen figure such as a turtle. In addition to the direction commands students program the distances covered on screen, the colors, the animations, and the images to appear on screen. All commands have to be entered into correct sequences of "if, then" logic in order for everything to display as intended. TouchDevelop works on most modern web browsers including Chrome for iPad. Students completed programs can be saved online and or exported for use as Windows apps or HTML5 applications.
CodeMonkey is a fun game through which students learn some basic programming skills. In the game students have to help a monkey get his bananas. The game presents students with a series of thirty progressively more difficult challenges in which they have to help a monkey reach his bananas. Students help the monkey get his bananas by correctly programming the movements of the monkey. CodeMonkey provides little tutorials for to help students through the challenges.
Thunkable is a free platform for designing, testing, and publishing your own Android apps (support for iOS apps is coming soon). Through Thunkable you can create your apps even if you don't know how to write code. That is possible because Thunkable uses a drag-and-drop design framework. That framework, based on the MIT App Inventor, shows you jigsaw-like pieces that have commands labeled on them. Your job is to put the pieces together to make your apps work. Thunkable offers detailed written tutorials and video tutorials.
Daisy the Dinosaur is a free iPad app designed to introduce young students to some programming basics. The app asks students to create commands for Daisy the Dinosaur to carry out. There is a free play mode in which students can make Daisy do whatever they want. But to get started you might want to have students work through the beginner challenges mode. Daisy the Dinosaur asks students to enter commands in the correct sequence in order to make Daisy complete tasks correctly. Daisy the Dinosaur could be used with students as young as Kindergarten age.
Hopscotch is a free iOS app that introduces students to programming logic. The app originally launched as an iPad-only app. Last week the developers released an iPhone-friendly version of the free app. In Hopscotch students put command boxes into order to make cartoon avatars move and draw lines. Students can program one or all of the cartoon avatars to move and follow commands based on touch or on the movement of their iPads.