December 21, 2006 12:07 PM

Wrapping Up the Semester

Well, the exams are all graded and final grades are submitted. I enjoyed this semester; I hope you did, too. Media computation was a fun way to learn about computation more generally, and a little about programming in Java, and a little bit about computer science. I hope that during those times when the course got tough you still felt like your hard work was worth it, that you were learning something interesting and valuable. At times this semester I may have sounded like a cheerleader, but I really do mean all I said about computer science -- it is a discipline that is at the edge of forward progress in every other discipline; it is redefining our lives as we live them; it is creating new possibilities for expression and for doing.

Good luck in CS II or wherever next semester finds you. I'd love to hear from you as you continue your studies at the university.

And please do stop by to pick up your final exam. Those things take up a lot of space in my file drawer!


Posted by Eugene Wallingford | Permalink | Categories: General

December 07, 2006 4:53 PM

Session 28

Today we wrapped up the course.

We looked at an images page generator and then extended it to post real thumbnails produced by our own Picture class.

Then I closed the circle on the course by demonstrating a very simple steganography program, implemented using a Picture class augmented with hide() and recover() methods. This code is far from bulletproof (hide() can create an RGB value out of the range 0..255, and recover() tries to read from pixels that do not hide text), but it shows the idea well -- and serves as a great place for you to jump off on your own programming fun!

I closed with a short presentation of some key Big Ideas from the course this semester. Media computation is a useful end in its own right, but we also saw many of the most important ideas from CS, including representation, algorithm, and layers of abstraction.

Here are the slides I used today, along with a script of some of my Dr. Java interactions.

Our next time together is the final exam, at 3:00 PM next Thursday, December 14. It will cover material from both midterms and a bit of Chapter 13 that didn't make it onto Exam 2. Same format, somewhat longer (but nowhere near twice as long, though you'll have twice as much time).

Homework 8, is due Saturday afternoon. Though I'll be out of town most of tomorrow and all day Saturday, I will be within e-mail reach, so feel free to send your q$a.uestions Electronic submission only, no print-out required.


Posted by Eugene Wallingford | Permalink | Categories: Sessions

December 05, 2006 2:42 PM

Session 27

Today was a day of review. We listened to some wonderfully doctored voices from Homework 5. Then we looked at Exam 2. The scores were much lower than I expected, which means that I almost certainly misjudged what we had prepared you to do well. Don't worry too much about those low scores -- I will take the results from Exam 2 into account when I assign grades at the end of the semester. Finally, we closed our review by looking at Homework 7, especially some very cool images produced by you all with your graphics interpreters. My discussion of the solutions focused on how we can use helper methods to make our interpreter more flexible. If the code for drawing circles and squares is implemented in separate methods, then we can call them as a part of other helper methods. The result can be some rather interesting commands that are implemented in terms of simpler commands!

I planned to show you a web page generator for an images thumbnails page, but I managed to delete it before getting to class. Then I couldn't find it. That's how the day went... Of course, upon returning to my office, I found it: ImagePageGenerator.java. Take a look at it before next class. Run it, using the path to your mediasources directory, and see the web page it generates right into your mediasources directory. Here is the index.html that the program generated for my mediasources directory.

The ending of the day was perfect: In what was either the stupidest move of my teaching career or a sign of great boldness and confidence -- and trust in you -- I closed this session with stduent evaluations. I doubt you'll encounter many other professors who will return an exam with an average grade of 43% and do student evals the same day!

Here are the slides I used today when discussing the exam questions. Study those questions and solutions!

For next time, read Section 13.3 and study the images-page generator class. And don't forget Homework 8, which is due Saturday afternoon. Yes, Saturday afternoon -- electronic submission only, no print-out required.


Posted by Eugene Wallingford | Permalink | Categories: Sessions

December 02, 2006 9:36 AM

Homework 8: Generating a Web Page of Your Own Design

Extend our PageGenerator class to generate a web page of your personal design. Your generator must add at least two new features to the page. Here are some possible features you might add:

  • Read a headline from a favorite news site, such as Reddit, Sports Illustrated, or ABC, and display it on your page. Use the same sort of "scavenger hunt" as I did to locate the day's cartoon on the FoxTrot home page.
  • Display a list or table of all the sound files in a directory, as links that the user can follow to play the sound. (You can use a standard <A HREF=""></A> tag for the link.)
  • Add thumbnails of all or some subset of the images in a given directory, with links to the full image.

If you have ideas of other features that you would like to add, just ask!!

Additionally, you may also modify the existing methods of the generator to rearrange the page, change its presentation, etc. (Such changes won't count toward your assigned quota of two unless they are substantial and I approve them as such in advance.)

This assignment is worth 20 points.

Extra Credit Opportunities

Add more than two new features... (2 points)

Any other ideas?

Deliverables

By the 4:00 PM on Saturday, December 9, submit a zip file of a directory that contains these files:

  • PageGenerator.java
  • two different web pages generated by your program, from two different days
  • a short write-up of your additions to the generator
following the submission instructions for the course.

For this assignment, you do not need to submit a printout. We will grade from the electronic submission alone.


Posted by Eugene Wallingford | Permalink | Categories: Homework