Monday, March 30, 2009

Game Project Progress Report #8

I just can't leave it alone!

In an attempt to make things more visual, I have added a new option to show lines which show the movement of data between the register and the buckets. The option is set by the popup menu (right click on the panel to see the popup menu.) The lines are shown only when stepping through the program (press Step instead of Run.)

Here's the popup menu showing the Show Lines option...


Here's the program with a line showing. The lines appear for one second only...


By the way, the program now stands at 3,528 lines.

MMORPG Reflection

How are MMOGs fundamentally different from other games and simulations?

MMORPGs bring together large groups users (learners) from remote locations. Consequently, MMPRPGs are Internet only.

How are they like and different from virtual worlds (like Second Life)?

MMORPGs are games or simulations, with a known objective. Second Life is merely an "environment". MMORPGs have non-playing characters (NPCs) which employ artificial intelligence (AI). Second life has other "real" players only.

Could you describe a learning problem in your environment that might be addressed by a MMOG? Describe what it would look like.

I can't think of a use for MMORPGs in my environment. The following phrases were used by the author to describe the benefits of MMORPGs: "support collaborative experience-based and exploratory learning approaches", "support learning through real-time experiences", "support collaboration and team-building skills", "a tool to aid students from different disciplines...to work collaboratively", "leadership training". I could not see this being used in my work place. I can see where it would be of interest to sociology and psychology teachers. As in Second Life, people can be who/what they want to be, and test other peoples' reactions to that.

I thought it significant that the author mentioned the importance of debriefing and reflection (page 60).

Gee Chapter 7

The main points of this chapter were (1) learning is social, and (2) learning is distributed. I don't really have much to say on the first point, but I thought Gee's discussion of the second point was significant. A few quotes:

"So thinking and reasoning are inherently social. But they are also inherently distributed, and more and more so in our modern technological world. By this I mean that each of us lets other people and various tools and technologies do some of our thinking for us." (page 196)

"In school we test people apart from their thinking tools, which include other people as well as texts and various sorts of tools and technologies. We want to know what they can do all by themselves. But in the modern world - and this is certainly true of many modern high-tech workplaces - it is equally more important to know what people can think and do with others and with various tools and technologies." (page 196-197)

"If we want to know how good students are in science - or how good employees are in a modern knowledge-centered workplace - we should ask all of the following (and not just the first): What is in their heads? How well can they leverage knowledge in other people and in various tools and technologies (including their environment)? How are they positioned within a network that connects them in rich ways to other people and various tools and technologies? Schools tend to care only about what is inside students' heads as their heads and bodies are isolated from others, from tools and technologies, and from rich environments that help make them powerful nodes in networks. Adrian wouldn't play a game in these circumstances, nor would most of the other players whom we have interviewed. Good workplaces in our science- and technology-driven "new capitalism" don't play this game. Schools that do are, in my view, DOA in our current world - and kids who play video games know it." (page 202)

In my work as a Java programmer, I very often need to go to the internet to find examples of how to do something. This doesn't make me a weak programmer. I would argue that my ability to find a solution to a similar problem, to read and understand the sample code, and to modify that code to solve my problem, is a difficult skill, and one which is of value to my employer. My reliance on the internet doesn't make me a weak programmer, it makes me a stronger programmer. The trick is to utilize the same techniques in the classroom; to encourage the use of distributed knowledge.

Some might call that "cheating". But I wonder how much of what we call "cheating" is a result of the social norms which we grew up with. Do we need to reconsider what constitutes "cheating" in today's world? For example, I once had a conversation with the secretary to the dean of the college of computer science at a major university. We were discussing comprehensive exams and how silly they are. She said the only reason the college of computer science used comprehensive exams was to catch all the people who cheated throughout their coursework, "especially the [members of one ethnicity]; they don't do their own work."

Indeed, members of this ethnic group have a tendency to work together on everything. It would seem to me - as an outsider looking in - that they are committed to each others' success. In their mind, they are not "cheating", but in the western mind, they are. One might argue that they are merely leveraging knowledge, and the synergistic result is that each is stronger because of it. Is that "cheating"?

I don't have the answer.

Friday, March 27, 2009

Game Project Progress Report #7

I decided to change the functioning of the ZERO and ONE operations. Previously, they moved zero or one respectively directly into a bucket. I've decided to make them move zero or one into the register instead, as this will be more consistent with the workings of the other operations, and will be more consistent with my goal of staying close to an assembler-type language.

I alse decided to change the wording on one of the menu items from "Audit" to "Prove It!" A student would use "Prove It!" to prove to his teacher or friends that he completed a puzzle. Since the puzzles tell you what numbers to enter -- no more no less -- I changed the report to include a list of all number which had been read for the most recent execution of the program.

Here's the new menu item (reminder: right-click to get the popup menu)...




And here's the "Prove It!" report...

PROGRAM

1. Zero E
2. Read
3. While Reg > E
4. Write
5. Read
6. Wend
7. End
8. _

LEVEL

Level is 3.

REGISTER

The register has a value of 0

VALUES READ

1. 3
2. 4
3. 8
4. 2
5. 0

BUCKETS

Bucket A is empty.
Bucket B is empty.
Bucket C is empty.
Bucket D is empty.
Bucket E has a value of 0.

RESULTS

1. 3
2. 4
3. 8
4. 2
5. Normal end.

Game Play Reflection #7

I am continuing with Toon Talk ... and I am very frustrated.

I was introduced to a new "character". Pumpy the bicycle pump can be used to make boxes larger or smaller. Smaller is useful so a large box fits the screen. Press F3 to call Pumpy.

I completed a puzzle which demonstrated that multiplication was just repeated addition.




I seem to have gotten past the robot programming problems I had last time -- remember to "suck", out of the thought bubble, values which will change. (In fact, it would appear as though you need to suck out anything which will change, including scales.)

When I got stuck on one of the puzzles, I was reminded "robots work faster when they are not being watched." So if I stand up and leave the room and come back in, the robot should be done with his (her?) task.

But only if he knows when to stop. I had to program the robot to add 1 to a block, and repeat 1000 times. So I started it, left the room, immediately came back, and the robot was on something like his 91,500th iteration. I cannot get it to stop.

I have searched the internet. I cannot find out how to control the number of iterations a robot makes, nor can I figure out how the "scales" work (used for comparing values). For example, in the diagram below, why do I have 56 on the left? I want it to stop at 24.


I think it is because I need to change the number on the robot's wand, but I haven't been told how to do it. (See the "99" on the image below?)


Consider Marty's comment in the following screen shot: "You know the magic wand doesn't always have the right amount of magic." Yes, I know, but you never told me how to change it!



I am so ready to be done with this aspect of the course....

Gee Chapter 5

I'm afraid if I write about a comment made in the first paragraph of the chapter, it will appear as though I didn't read the whole chapter. But I did! In fact, I've completed the book.

Gee said, "...humans are poor at learning for lots of overt information given to them outside the sorts of contexts in which this information can be used. ... Humans tend to have a very hard time processing information for which they cannot supply such simulations. They also tend readily to forget information they have received outside of contexts of actual use, especially if they cannot imagine such contexts." (page 113)

If I had not already believe this, the point would have been driven home this week with an experience I had. I spent Tuesday, Wednesday and Thursday mornings teaching Microsoft Access to an audience of six people. As is often the case with Access classes, the people attending the class are long time Excel users and though they are willing to believe that Access is the tool of choice for some jobs, they just aren't convinced it will be worth the effort it takes to make the switch.

I am reminded of a comment I once heard at training conference. This was at a time when WordPerfect was the top word processing program, and the speaker made a comment about word processing programs in general. He said, "A word processor is kinda like a spouse: if you have one which satisfies 90% of your needs, it's generally not worth upgrading."

That comment can apply to people who use Excel (rather than Access) as a database system.

I went through the first two mornings following the approved course outline with the approved course text. Anyway, the class was frustrated on the last day since they just couldn't see how they would do this on their job. So I asked each person what they wanted to be able to do. In each case, I was able in 20-30 minutes to show the class how to solve each person's problem. In one case it was getting data into Access from Excel, in another case it was getting data from multiple .txt files into a single Excel table, and in three cases it was creating the proper database design schema. Each person left the class anxious to try (to learn) Access.

I suggested to my employer that we approach the client about offering a day of one-on-one coaching sessions (four people each sign up for a two hour time slot.) This would be training in the context of each individual's work requirements. (Gee discusses "just in time" and "on demand" information on page 136. See -- I did read the chapter!)

Thursday, March 19, 2009

Game Project Progress Report #6

There is now one URL only: http://www.billqualls.com/sim

To change levels, right-click on the panel and choose Level I, II, or III from the popup menu. At some point I hope to make the level selection more sophisticated (e.g. database driven).


I have also added an Audit feature: right-click on the panel and choose Audit from the popup menu. A dialog box will appear showing the contents of the code display, the register, the buckets, and the output display. For now, this can be used for printing your work.


The complete audit report appears as follows:

PROGRAM

1. Read
2. Store A
3. Read
4. Add A
5. Write
6. End
7. _

LEVEL

Level is 1.

REGISTER

The register has a value of 5

BUCKETS

Bucket A has a value of 2.
Bucket B is empty.
Bucket C is empty.
Bucket D is empty.
Bucket E is empty.

RESULTS

1. 5
2. Normal end.