ISTE Home
About ISTE
Advocacy
Educator Resources
Membership
Affiliates
All-Inclusives
Awards and Recognition
ISTE 100
Join or Renew
Member Campaigns
Member Central
Member Networking
My Profile
Podcasts
Special Interest Groups
SIG Newsletter
Join a SIG
SIG1to1 (1 to 1 Computing)
SIGAdmin (Administrators)
SIGCT (Computing Teachers)
Join SIGCT
SIGCT Officers
Journal for Computing Teachers (JCT)
JCSE Online - Journal of Computer Science Education
Past Issues
2005-2006
2004-2005
2003-2004
2002-2003
2001-2002
April 2002
February 2002
November 2001
October 2001
Submission Guidelines
SIGDE (Digital Equity)
SIGHC (Handheld Computing)
SIGILT (Innovative Learning Technologies)
SIGIVC (Interactive Video Conferencing)
SIGMS (Media Specialists)
SETSIG (Special Education Technology)
SIGTC (Technology Coordinators)
SIGTE (Teacher Educators)
SIGTel (Telelearning)
SIG Council
Volunteer
NECC
NETS
Career Center
News & Events
Professional Development
Publications
Research
Store

Printer Friendly

The Nifty Assignments Site
A Q & A with Nick Parlante

JCSE Online: What is "Nifty Assignments"? What do you hope to accomplish with it?

Nick Parlante: The Nifty Assignments program (http://cse.stanford.edu/nifty) is all about finding great assignment ideas and assembling the materials so that other instructors can use them. Nifty Assignments came together as a reaction to the talks I went to at the SIGCSE conference [see www.acm.org/sigcse/conference_info.html]. As part of each talk, the presenter would often mention one or two assignments they were using as a side-point to their main pedagogical point. Inevitably after the talk, whether or not I agreed with the theme, I was very curious to see the assignment materials.

I think the discipline of CSE [computer science education] operates at two levels. We have the deep and interesting pedagogical issues of what we should be teaching and how to cover it. But, we also have the simple problem that making up good assignments with all their attendant materials is incredibly time consuming. It really makes no sense for every instructor to create their own assignments, and I think this has become more true with better technologies, such as Java and its libraries, assignments have become more elaborate.

JCSE Online: Could you describe the general nature of the assignments included in the collection?

Parlante: The assignments have been oriented toward CS1 and CS2—things that could fit somewhere in the first year or two of a typical college CS program. Given the enormous range of student abilities out there, we can’t really direct the assignments at a particular course. Instead, we gather assignments that have worked well on widely popular topics—arrays, recursion, decomposition, etc.—and leave it to the instructor to find the right assignment for their students.

JCSE Online: They are all programming assignments, right?

Parlante: So far, all of the assignments have been programming assignments. That reflects the emphasis in the conference where most of the material is oriented toward programming, languages, and so on. Actually, I have an all time favorite graph proof involving the platonic solids, so perhaps I should work out some way to get it presented!

JCSE Online: Is there anything in your mind that makes an assignment "nifty"? (e.g., addresses some CS concept, challenging to the student, fun, etc.)

Parlante: For Nifty Assignments, there’s definitely a theme of trying to find assignments that are appealing to the students—highly visual assignments such as Julie Zelenski’s Quilt, or projects where the computation itself is appealing, such as Stuart Reges’ Personality Tester or my Tetris Brain. Of course, really, we’re looking for assignments that the instructor thought were, on the whole, effective for teaching, and the "fun factor" of the assignments is just one consideration.

JCSE Online: Where do you get the nifty assignments? How are they selected? Can anyone suggest/submit them?

Parlante: For the first couple years, the program ran on a totally ad-hoc basis. I would e-mail people I knew in the CSE community and essentially beg them to participate in Nifty Assignments. This ended up working very well, based entirely on the talent and generosity of the people I bullied into participating. Obviously however, the Nick-Begging strategy is not a good long-term solution. I’m going to run out of people to beg, and we’re not leveraging the strength of the community as a whole. So for Nifty Assignments 2002, I sent out a call for participation on the CSE mailing list, and we’ve put together a panel using the at-large submissions. Hopefully, Nifty Assignments can build a virtuous cycle of high-quality programs motivating people to take it seriously and put together high-quality submissions.

JCSE Online: As you know, JCSE Online is aimed at high school CS. Would you foresee any problems with high school teachers using the assignments in their programming classes?

Parlante: Well certainly the instructor will have to exercise care in matching the assignment to the student. For each nifty assignment, I try to include a "meta" discussion that describes where the assignment fits, what it depends on, how hard it is, and so on.

JCSE Online: Would you have any suggestions for high school teachers who might examine and try to use the Nifty Assignments?

Parlante: Well certainly an easy first step is to check out the materials at http://cse.stanford.edu/nifty—there’s a great range of assignments there.

JCSE Online: I noticed some CS education links at your site other than the Nifty Assignments. Anything you want to share about them?

Parlante: I’m also working on a philosophically related project—the Stanford CS Education Library (http://cslibrary.stanford.edu). The library is quite simple—it gathers CS education materials and gives them away for free. One of the most popular things there is the Binky Pointer Video, which is a short claymation video about the basics of pointers (http://cslibrary.stanford.edu/104). There are many other useful documents there on topics such as linked lists, binary trees. C, Perl, Makefiles, and so on.

JCSE Online: Is there anything else you’d like to say to our readers?

Parlante: I think we have a massive logistics problem in CSE—instructors do not have the time to create all the assignments and other materials their students could use. We have the time and the will, collectively, to create these materials; we just need to solve the logistical problem of collecting, rating, and distributing all the high-quality content that individuals in the community are creating. I look forward to the day when CS instructors and students have an easy way to access thousands of organized, high-quality resources for every topic in CS.


Nick Parlante is a lecturer in the Computer Science Department at Stanford University. He teaches Java, object-oriented design, and Internet technologies. In addition to the Nifty Assignments work described here, he has undertaken the "full time in his spare time" project of maintaining the Stanford CS Education Library. Visit his Web page at http://sunburn.stanford.edu/~nick.

Copyright © 2001, ISTE (International Society for Technology in Education). All rights reserved.

Customer Service: iste@iste.org   1.800.336.5191   1.541.302.3777 (Int'l)   1.541.302.3778 (fax)
Visit the ISTE Career Center for educational technology jobs, resources, and listings.