<< Chapter < Page Chapter >> Page >

I do plan to cover many of the remaining items in the list in Appendix A one or more times in this collection of modules but not necessarily in the order given.

This is a work in process, covering a wealth of knowledge, which I will be updating in upcoming months and possibly even years.

Text based vs. drag-and-drop vs. popup programming

Text-based programming

Historically, computer programs have been written by typing text on a computer keyboard, and that remains true even today for mainstream programming.That is what I mean when I refer to text-based programming.

However, in recent years, two alternative ways to create computer code have become popular:

  • Drag-and-drop programming
  • Popup programming

Drag-and-drop programming

As of May 2013, this form of programming is primarily used in environments that are designed for teaching programming concepts. Drag-and-drop programminghasn't yet made its way into mainstream programming. However, that may be about to change (see MIT App Inventor and Google blockly for example) .

The two primary players in the educational drag-and-drop programming field are Scratch and Alice , but they are not alone. Several other players are also on the scene (see Snap! and Tynker for example) .

The primary advantage of drag-and-drop programming is that it eliminates the requirement to memorize complex programming syntax and allows the programmer toconcentrate on the concepts. Most of the work is done by dragging visual images of blocks (containing program code) from a tool box and assembling them into a program. Very little keyboard work is required, which in turn greatly reducesthe likelihood of spelling and syntax errors.

Given the current popularity of touch screens and the disdain for keyboards, I see a bright future for drag-and-drop programming within the next ten years,even for large scale commercial applications. MIT App Inventor and blockly are leading the charge in that regard.

Popup programming is a supplement to text-based programming and is not intended for educational use. Instead, it is intended to make mainstreamprogrammers more productive by reducing the amount of typing required.

Many different forms exist, but they generally take on the form of a popup menu that appears at certain critical times to allow the programmer to selectcode from a menu as an alternative to typing the code.

One form of popup programming is code completion . With code completion, the Integrated Development Environment (IDE) examines the first few characters typed by the programmer and makes an educated guess as to theremaining required characters, which the programmer can either accept or reject.

Scratch

I suspect that the all time most successful self-study programming environment for beginners is Scratch . This is probably the result of three factors:

  • Scratch makes it easy to get started programming
  • Scratch is engaging for today's fast-paced multimedia generation
  • Scratch provides a monitored online social network that allows interaction among beginners with a commoninterest.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching beginners to code. OpenStax CNX. May 27, 2013 Download for free at http://cnx.org/content/col11498/1.20
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?

Ask