View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

How to Make Better Programming Assignments

  1. Make it useful. Have a database of CDs or a list of friends phone numbers
  2. Make it personal or local. Make a school map, a local business directory, or print the student's name in an interesting way.
  3. Interface with other programs. Write programs to exchange data with a spreadsheet, database or web server.
  4. Focus on ease of use. Help students understand the critical role usability plays in software quality and reliability.
  5. Use big data. Problems that are too hard to solve by hand help students understand the real value of computing.
  6. Use real-world data. Have students find the data and modify it.
  7. Use natural-language text. Students can write programs that manipulate or analyze large bodies of text retrieved from the web.
  8. Make it sensory: graphics, audio, animation, manipulation.
  9. Make it socially relevant. Build assingments around issues like ecology, population trends, and so on.
  10. Simulate! Simulating real systems (traffic, elevators, plant growth) brings computing closer to the real world and offers many avenues for creativity.
  11. Include observations of the real world or of the program's behavior.
  12. Bring in experts. A human being who can address either a technical issue or a computing application can be a powerful motivator. Experts can be "brought in" in person or over the internet.
  13. Illustrate how everyday computational objects work: calculators, remote controls, vending machines, elevators, Palm Pilots, and so on

Excerpted from Unlocking the Clubhouse: Women in Computing by Jane Margolis and Allan Fisher, MIT Press 2002

Also, to create assignments that women like try:
  1. Creative assignments
  2. Feeding games instead of shooting games
  3. Cooperative games
  4. Playing with language

Link to this Page