Summary | Students build parts of a
client-server infrastructure to create a "complementary currency" (in
the sense of Lietaer). This "CS1Dollars" currency is then used by
the students themselves.
The assignment can touch on lots of standard modern CS1 topics; what
makes it nifty is the use of the assignment to build community in
the classroom, something that's often missing in introductory
computer science courses. With any luck, the noncompetitive,
collaborative nature of the complementary currency idea might help a
bit with
retention of women and disadvantaged students. |
Topics |
Classes, objects, composition, inheritance and polymorphism, string processing, client-server architectures, security... |
Audience |
Object-oriented CS1 |
Difficulty |
Difficulty is adjustable,
depending on how much students implement vs. how much is
provided. We have done it as two week-long assignments, the third
and fourth assignments in a 10-week CS1 course. |
Strengths |
A community-building twist on
the typical "bank account" OO CS1 assignment |
Weaknesses |
The community-building aspects
may require a critical mass of students; it works best in
large (>100 student) classes |
Dependencies |
Conceptually, not much: students
should be familiar with variables, methods, basic control
structures. To implement the server side of the system, the
instructor needs to be able to run a persistent process listening on a
port. |
Variants |
The overall system is nice and
modular, so you can pull out different components for students to
implement. You can even get serious about the networked
client/server security
issues for a more advanced course. |
Extra info about this assignment: