Archive for November, 2007

Beyond “Couch Potatoes” another reading.

So, on the plane on the way back from NY for Thanksgiving (gobble gobble) I had printed out an article for myself to read this weekend.

“Beyond ‘Couch Potatoes’: From Consumers to Designers and Active Contributors” by Gerhard Fischer published through www.firstmonday.org which apparently is an online journal (another to add to the RSS feed oh my). The article was published in 2002 so you may have to search for it rather than going directly to the journal site.

Fischer’s premise is that media and technology are being developed for consumers - it gets passively used in the state that it arrives (hence the couch potato analogy) and that instead software and tools should be designed to be easily modified and changed to meet the needs of the people using them. Unfortunately now tools like this and the skills to modify them have only been accessible to the select few (which he refers to as “high tech scribes”).

He describes a special type of tool, a convivial tool, that “encourage users to be actively engaged in generating creative extensions to the artifacts given to them and have the potential to break down the strict counterproductive barriers between consumers and designers”. This quote made me think of the Pico Cricket and its ability to be made into anything the user desires.

While software and hardware with these features are interesting, I started trying to apply education to the software engineering he was talking about and eventually to his education section of the paper.

If you re-read the paper and substitute the words “curriculum” for software, it creates some interesting ideas. Perhaps some of the issues we face with education in this country are because we are trying to design the “one size fits all” education. What if we built freedom into the curriculum? What if we allowed teachers to share information that they were excited about? What if we allowed students to choose what problems to solve? What would a school/classroom/standardized assessment look like if we had this model? What would be the role of the teacher?

Fischer defines 4 basic types of users of something called computational memory. These types are Consumers (outsiders just visiting and making use of the tool as is), Users (contributors on a variety of levels, but day to day users of the domain), Developers (specialists in the technical aspects and implementation details), and Meta-designers (developers who are concerned with creating the interface the developers and users are using to make modifications). How would these categorizations relate to us as curriculum designers and users?

Consumers - the english or social studies teacher who is looking for just a quick lesson to add into their curriculum to enrich it, possibly using computer science or technology aspects. They want the not only the instruction to be laid out simply, but also want the technological skills required to teach and do the activity to be at their level without having to learn anything new.

Users - The computing teacher. They take lessons, activities, use them and modify them to their own needs. They participate in online communities like the AP List-serv and possibly share their modifications with the group.

Developers - These are the people actively writing and sharing new curriculum. CS Unplugged, the AP Development Committee, Writers of the new case studies. People who are writing new materials that others will take and modify.

Meta-Designers - this is the ACM, CSTA, ISTE, and other associations working to create the larger goals that CS teachers use to guide their course and content creation. What language should we be using? What topics go in a CS1 vs. CS2 course? What is important for undergraduates to know and be able to do? What is important for k-12 students to know and be able to do?

Where do you fit?

Sunday, November 25th, 2007

Battleship

For those of you who are coming from the AP List-Serv I mentioned a blog post with a battleship attachment.

The Battleship assignment is given to students with two weeks of time to complete. They are directed to download the files in this zip and to create two classes of their own: ComputerPlayer and BattleShipBoard. The individual files are linked below in case you have trouble with the zip.

The BattleShipBoard is the part of the assignment testing their basic knowledge of two dimensional arrays. The ComputerPlayer class is much more interesting. The implementation of the getNextMove method determines how “good” your computer player is. Obviously the easiest solution is just a random number chooser (without even bothering to check if the position has already been chosen). I have seen much more complex solutions including specific dividing of the board, etc.

The zip file contains the following files:
Player Interface - Your computer player must implement this interface

Move Class - This class represents one more on the board

BoardDisplay - The board display is the first step in checking your work. After completing the BattleShipBoard class you can run BoardDisplay to check to make sure that your board behaves appropriately. This program does not “play” battleship, but allows you to see hits/misses as you click to reveal spots.

Board Interface - your BattleShipBoard needs to implement this interface

WatchPlayer - this class is used to test your ComputerPlayer class. It will show the computer player uncovering squares with each new mouse click (note: does not respond to the particular location being clicked)

TwoPlayer - this is the actual game of Battleship - you vs. the computer player you created.

Thursday, November 8th, 2007