Top Ten ways to combine fun and substance

| -Uncategorized

From http://www.skylit.com/oop/FunAndSubstppt.pdf

10. Use gimmicks

Provide a piece of Java code with a few syntax errors; finding and fixing these errors becomes an “adventure game” when all the Java syntax is not yet fully explained.

Provide a piece of badly-styled Java code; make fixing the style into a contest. This can be done before Java syntax is fully explained.

9. Use the Internet for enrichment projects

Sample projects:

  • Make a presentation about a computer or Internet pioneer
  • Go online to learn how Fibonacci numbers occur in nature
  • Find out about a collaborative web-based project for discovering Mersenne numbers
  • Find some cool Java applets that illustrate lessons from math, physics, and chemistry
  • Use search engines to find sounds and images for your Java projects
  • Find Java resources and documentation online
  • Make a presentation about an issue of ethics in computer use

8. Introduce bits of trivia and random knowledge from other fields

Two technicians wiring the right side of ENIAC (Courtesy of U.S. Army Research Laboratory)

The term “bug” was popularized by Grace Hopper, a legendary computer pioneer, who was the first to come up with the idea of a compiler and who created COBOL. One of Hopper’s favorite stories was the story of a moth that was found trapped between the points of a relay, which caused a malfunction of the Mark II Aiken Relay Calculator (Harvard University, 1945). Technicians removed the moth and affixed it to the log shown on the photograph.

Many people mistakenly believe that the mouse was invented by Apple. Others believe that idea came from Xerox, where the mouse was used on an early office PC called the Star. But in truth, the mouse was first conceived of by Doug Engelbart in the early 1960’s, then a scientist at the Stanford Research Institute, in Menlo Park, California.

The Dance Studio applet teaches basic dance steps for Rumba, Cha-Cha, Salsa, Swing, and Waltz

7. Use role playing for discussing OOP designs; make students enact standard algorithms

Determine the responsibilities of various objects within an application by assigning the roles of objects to students and playing it out.

Stage popular algorithms such as sorting algorithms and Binary Search.

6. Let students personalize their projects: let them choose the details and add “bells and whistles”

Sample projects:

The Poll applet implements voting for a school president. Students enjoy choosing the candidates’ names and colors in this applet.

Fill in the blanks in the code for the Fortune Teller applet, adding an array of “fortunes” (strings) and the statements necessary for randomly choosing and displaying them.

Create a picture of your choice for the puzzle. For instance you can draw circles, polygons, or letters of different sizes and colors that intersect the grid.

5. Assign projects with intermediate steps that are fun and rewarding

Example 1: Rainbow

Example 2: Ramblecs

4. Encourage students by making “hard” projects easy

  • “Fill-in-the-blanks” projects — most of the code is provided
  • “Paint-by-number” projects — detailed instructions for each step are provided
  • “Cut-and-paste” projects — reuse Java classes from previous projects in a new one
  • Fill in the blanks in the applet’s code, adding an array of a few “fortunes” (strings) and the code to randomly choose and display one of them. Recall that the static Math.random method returns a random double value 0 x < 1.

    3. Use entertaining case studies that illustrate fundamental concepts

    2. Facilitate student-teacher (or student-textbook) team development using the “model-view” approach

  • The teacher (or the textbook) supplies the “front end” (GUI, a.k.a. the “view” or the “view” + “controller”)
  • The student supplies the “back end” (processing / calculations, a.k.a. the “model”)
  • 1. Get a textbook that supports it

    (I think; I’ve already closed the PDF…)

    You can comment with Disqus or you can e-mail me at sacha@sachachua.com.