6099 comments
2357 subscribers
6263 on Twitter
Subscribe! Feed reader E-mail

Top Ten ways to combine fun and substance

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…)

Short URL: http://sachachua.com/blog/p/1012

On This Day...

  • 2012: Weekly review: Week ending August 31, 2012 — Lots of sleep this week. =) Lots of connecting with people, too, and lots of drawing! Looking forward to focusing on [...]
  • 2011: Transcript: Blogging (Part 1): Blogging and introverts — Hat-tip to Holly Tse for organizing this interview! After I transcribed it, I realized we managed to pack more than [...]
  • 2010: It’s okay if you can’t remember or spell my name; being human — Lifehacker had a recent post with tips on how to remember people’s names – generally useful tips, ground well-covered in [...]
  • 2009: A teacher’s guide to Web 2.0 at school [illustrated] — A Teacher's Guide To Web 2.0 at School View more documents from Sacha Chua.
  • 2008: Hacking the Domestic — W- and I unboxed and set up our very own sewing machine yesterday. It’s nothing fancy, just a Singer Simple [...]
  • 2006: More Emacs fun: Composing mail to everyone with notes — (defun sacha/compose-mail-to-everyone (&optional subject) (mapc (lambda (rec) (setq rec (car [...]
  • 2006: More Emacs coolness: List of contacts — This bit of Emacs Lisp code produces a Planner-ready list of the contacts displayed in the BBDB window. (defun sacha/planner-bbdb-annotation-from-bbdb (&optional [...]
  • 2006: Emacs: Keep track of messages sent — Because a Big Brother Database of my contacts isn’t complete if I don’t keep track of what e-mail I sent them [...]
  • 2006: The great laptop ad campaign — BarCampEarthToronto was a blast, and so was my laptop ad campaign. It didn’t generate any qualified leads, but it did get [...]
  • 2005: Progress at cooking! — I had microwaved the chicken and slathered on barbecue sauce when I realized something important: I was out of cooked-and-frozen rice. [...]
  • 2003: Funky binder — I have printed out hard copies of some of the things I’m working on in school. Time to see how useful [...]
  • 2003: 今日 — 日本語 — アコースティックギターを一寸習いました。エリクさんは教えます。つまびで が楽しかったです。チョロヅが難しかったです。ギターより歌が好きです。でも、 習ってが良いです。 一昨日が妙です。 二人とスクラブルをしました。双方は私が好きでしょう。愛 しい一人と言いました。私は、あの事が未定です。
  • 2003: Hyperdictionary — Andy Sy posted a link to http://www.hyperdictionary.com .
  • 2003: Array ideas — - The meaning of String[] args - Maybe some kind of game or the Caesar cipher. - Declaring, creating and using arrays - [...]
  • 2003: Slashdot Trolling Phenomena — Apparently, someone has written a fairly long description of common Slashdot trolls on WikiPedia#Slashdot_trolling_phenomena. Strange, strange.
  • 2003: SSH Tunnelling — Still no breakthrough. I’m trying to automatically set up SSH tunnels. Because sysads doesn’t like passphrases, I have to use expect [...]
  • 2003: Unofficial APT sources — http://www.apt-get.org

Get the highlights as a PDF!

Stories from my Twenties: Highlights from a Decade of Blogging

Free sample!