Now that I am a professional programmer, I have been asked by several people to pair with them for a hour and give them a quick introduction to programming. Here is how I spend that hour:
- Motivate the discussion by having them watch the Code.org video: http://www.youtube.com/watch?v=dU1xS07N-FA
- Discuss Ruby data types (string, integer, array, hash) and built-in methods
- Show how to loop over a Ruby array
- Add, subtract, multiply, and divide methods in Ruby
- FizzBuzz in Ruby
- Basic HTML (set up a file with HTML, h1 tags, p tags, etc.). Have them view the source of a basic website to see what it is made of.
- Basic CSS (selectors, change the color of text, change the background color)
- Basic Unix commands (create a directory, create a file, delete a file, etc.)
The goal is to lightly scratch the surface of several topics and give the student some instant gratification (within the first hour, they have made their own website, changed the color of text, and made stuff disappear from a page). It also guides the student to resources that can be used to further their education on any machine without any crazy setup. Hopefully I can convince at least a couple of people to take the plunge and become a programmer.