Although it turned out that the first week was completely adequate in my view to excite the students, I stayed with my original plan of emphasizing the breadth of the class. So, they had to program and write an essay in their assignments. In the weekly After Image survey in which students say what they thought of the class, apparently a few thought this was unfair – why isn’t it all programming, they asked?!
Narrative on Week’s Goals
The week’s plan, as described on the class Web site’s calendar page, is:
Week 2 Calendar Entries
The overall goals were a continuation of the first week’s, namely to show an interesting, diverse and substantive class. The first week had built a cohesive group of students; the second week solidified it further. Specifically,
Lecture 10 Jan: A Social Contract The lecture mostly focuses on privacy and ways online behavior – chiefly invasion of privacy – is harmful. It opens with the word “offensensitivity” — a word invented in the Bloom County cartoon, referring to being overly sensitive to offense — and covers how it applies to online discussion groups. (No one in class had ever heard of Bloom County.) Classic Web memes – Star Wars Kid, Numa Numa Guy, and others – led to the definition of privacy and an analysis of online behavior, ending with five things to avoid posting on social network pages.
Assignment 04: Write an essay on the topic, “Is it ever right to post surreptitiously acquired digital content?” where “surreptitiously acquired” was defined to mean gotten without the creator’s knowledge. The essay was to be two pages minimum and received a due-day extension.
Lab 11 Jan: The lab, continuing the binary theme of the previous Friday, introduced counting in binary, number representation, counting in hexadecimal and converting back and forth between them (and decimal).
Lecture 12 Jan: This was the first Processing lecture. The focus was to familiarize students with the Processing language, and to demonstrate writing a few simple programs. These are available on the Class Examples Web page: http://www.cs.washington.edu/education/courses/cse120/11wi/classexamples.html.
Assignment 05: The students were given the code for the cute robot from Reas and Fry’s Getting Started with Processing, and asked to color it in their own style – coloring it was part of the previous lecture – and then make it move across the screen. This was simply to give practice using the system’s IDE.
Lab 13 Jan: This lab was devoted entirely to helping the students with the details of programming in Processing. Both Brandon and Susan attended to help students.
Lecture 14 Jan: Having represented numbers in binary on Tuesday, this lecture was devoted to representing letters in binary. It covered ASCII, UTF-8 and alternative forms of communication. It also treated meta-data briefly, making the point that meta-data uses the same character encoding as the content characters, but was identified by reserved characters, namely < >.
Assignment 06: Students were asked to scan paintings by Piet Mondrian, and then play with a “Mondrian In A Click” site. Next they were to scan paintings by Jackson Pollack, and then play with a “Pollack In A Click” site. Finally, they were to scan paintings by Josef Albers, and then program an “Albers In A Click” site. See the Class Examples Web page.
Screen Shot of Albers In A Click Solution
Assignment 06.1 Extra Credit: To give more practice using the IDE, students were asked to fill in a closed region with space-filling color.
Email 15 Jan: Students were sent a brief email message in binary based on the ASCII encoding of Friday’s lecture.
And How Did It Work?
Again, it was a good week. The class is very cohesive at this point; attendance essentially perfect and students tell me in advance of their absences.
Monday’s lecture on privacy was somewhat surprising in that when asked about various Web memes, only about half of the class was familiar with them. One has the feeling that they are universally known, but apparently not. The discussion was lighter than what one might have expected on such a familiar topic; privacy seemed not to be a burning issue.
Tuesday’s lab ended up stressing conversion between binary and decimal, and less on conversion between binary and hexadecimal, the emphasis that I would prefer. The dynamics in every class are different.
Wednesday’s lecture on Processing gripped the class. They were interested from the start, and stayed interested. There were some questions, but mostly they paid close attention to what I did. I believe they quickly acquired the operational details of setting up a program, highlighted keywords, entering code, testing it, etc. Less effective – naturally – was their acquisition of details of the commands. Another benefit of the early treatment of functions in connection with Lightbot is that there was a general familiarity with appending parentheses to everything. It’s a fun language and they got that right away.
First Processing Assignment: (a) full credit, correct [FN]; (b) on beyond: beam follows cursor, moves right, or left when mouse pressed [RDH].
Thursday’s lab largely confirmed the quick acquisition of Processing basics. Except for a couple of students, everyone completed Assignment 05 by the end of the lab, and were successful. It wasn’t a monumental program, but they’d definitely personalized it. One student pushed well beyond the assignment to add several clever embellishments.
Friday’s lecture held student interest well, though compared to the last two Wednesdays (functional abstraction and Processing) it wasn’t as captivating. They did understand the content based on a few students replying to my weekend binary email with return binary email.
Not all students were successful with the “Albers In A Click” homework. To its credit it is easy to see what is intended. However, as often happens with early programming assignments, students needed to understand several concepts – variables, declarations, random numbers, colors – to be successful at the assignment. I estimate that half did, and most of the rest got some random colors, but didn’t actually get the logic to assign the colors properly. Because it is nearly impossible to gradually introduce programming concepts AND produce interesting assignments right along, based only on the few concepts available, I am still undecided about whether this assignment stays in the curriculum or goes.
The class is rolling and the students seem to be enjoying it. Reportedly, the After Image Survey revealed that the students really enjoyed the Processing material, both class and lab. The fact that it is a fun language has more to do with their liking it than the quality of the classes, I’m sure. Still, you learn more when you like what you’re doing, so I am optimistic that we’ll be able to cover a lot more content as a result. Although the other pilots have chosen to use either Alice or Scratch to teach programming as a “fun” activity, I will continue to advocate for Processing. I am certain that my students see Processing as fun; I conjecture none of them sees it as childish.
How will next week go when the programming gets more challenging?