Informatics 102 Winter 2009
Course News


Check back here every day or so. I will generally post important coursewide announcements here. They will be listed in reverse-chronological order (i.e., newest items first).

Date Added News Item
Su 3/22 The final course grades are now available.
Th 3/12 Available today are the last of the Schedule updates and a clarification to the syntax of Menuba in Assignment #5.
Sa 3/7 Assignment #5 is now available.
F 3/6 A batch of Schedule updates and all of the unposted code examples are now available. Assignment #5 will follow tomorrow.
W 3/4 The code example demonstrating the use of Erlang ports had a couple of compile-time errors; a fixed version is now available.
Su 3/1 The midterm scores are now available.
Sa 2/28

Two more updates this evening:

  • The complete version of Assignment #4 is now available.
  • The code example of using Protocol Buffers to create messages and write them to a file is now available.
Th 2/26

I've made a couple of updates to Part 1 of Assignment #4.

  • First of all, the ascending and descending functions need to take two arguments instead of one — they need both the pid of the sorter process and the list.
  • Secondly, I added a clarification on the issue of which processes are allowed to send messages to Erlang ports; I alluded to this issue in the code example but didn't include enough details to solve this problem.
W 2/25

There are a few updates tonight:

  • A new Course Reference is available, officially detailing the reduction in the number of assignments this quarter from six to five.
  • A fleshed-out and commented code example from the lecture on combining Erlang and Java is now available.
  • The Schedule has been updated.
  • The first part of Assignment #4 is now available. A second part will follow soon.
Su 2/22 A fix to Part 2 of Assignment #3 is now available. The size/1 function in the dictionary_server module should be size/0 instead; there's no reason why the size function needs to take a parameter.
Th 2/19 Assignment #3 is now complete. Additionally, the relevant Erlang code examples from lecture are now available, as well as a Schedule update.
Th 2/19 The second part of Assignment #3 is now available. There will be a short third part that allows you to experiment with the MapReduce algorithm we discussed in lecture, which will appear shortly, along with commented code examples from the Erlang lectures.
Tu 2/17 New Schedule updates are available, along with the first part of Assignment #3 and an Erlang tutorial. Note that I've added a couple of reading assignments to the Schedule; one of them best corresponds to the Thursday, February 5 lecture, though it's not that important that you aren't reading it until now.
Th 2/5 The latest Schedule updates are now available.
Tu 1/27 Tonight's code example is now available.
M 1/26 Assignment #2 and the latest Schedule updates are available.
Su 1/25 Last week's code examples are now available.
M 1/19 The latest Schedule updates, tentatively laying out next week's lecture material, are now available.
Su 1/18 A new code example, which we didn't cover in lecture but will likely help in Assignment #1, is now available. It details how to use AspectJ to affect change on varargs methods.
F 1/16 Last night's code example is now available. Also, I had written README.txt files for the three code examples from the Tuesday, January 13 lecture, but inadvertently left them out of the zip files that I posted on the web site. The README files have now been added.
W 1/14 A refinement of the Schedule through tomorrow's lecture, including some new readings, is now available.
W 1/14 The remaining example from last night's lecture is now available in the Code Examples section.
W 1/14 Two of last lecture's three code examples are now available. The third will be available soon.
Su 1/11 Assignment #1 and Thursday's code examples are now available.
Th 1/8 I've added a reading to the Schedule accompanying today's lecture, which corresponds nicely to the next two to three lectures, while we're covering aspect-oriented programming using AspectJ. I'm not expecting you to memorize all of it, and I do grant that it's a long read, but this is an excellent resource for more information about the "why" behind the language, in addition to the "how."
M 1/5

Welcome! A few things:

  • The first lecture will meet on Tuesday, January 6. For more information about meeting times and course policies, see the Course Reference. For information about lecture material and readings, see the Schedule.
  • I encourage you to spend some time reading through the material on this course web site. Notice the set of links at the top of this (and every) page, leading you to the Course Reference, the Schedule, and the Lab Manual, as well as a set of commented Code Examples that will be posted during the course of the quarter.


This course web site has been validated against the XHTML 1.1 and CSS 2.0 standards. To ensure that your own Web pages meet established Web standards, visit validator.w3.org.

Valid XHTML 1.1! Valid CSS 2.0!