In my humble estimation, my class projects both turned out pretty well. As in Spring, I'll post the term papers on my web site in a few days or so. One of my projects was about writing a distributed program to calculate whether very large numbers are prime. (For more information, the basis of our project is www.seventeenorbust.com) I wrote an entire peer-to-peer application from the ground up in Java, which is a very cool thing to know how to do. My other project was a neat little graphics program -- I often miss writing graphics -- which simulated a network of sensors that can detect when a car drives past it. Since the sensor network is fun to play with, I would like to turn it into a Java applet and post it on my project page, but that will take a little work to convert.
I was quite proud of my 4.0 average through the summer, but I predicted that it wouldn't last and I think I'm ready for my prediction to come true now. I won't be completely shocked if I pull an A in either of these classes, but if I do then it will be by the skin of my teeth. Distributed systems was HARD, and while I studied for the final as much as I could, I know there was one question that I completely botched, and a few others that I struggled with. As for Mobile Computing, about 40% of my grade hangs on my performance in three quizzes. I screwed up the first one badly, did well on the second, and mediocre on the third. So I think my performance there is a bit below average. I'm going to guess that I'm getting both B's, and I'll be happy with it. I've honestly never been a straight A student, and I think I'm just satisfied with the fact that I got in here and am lasting.
Next year will be tougher, because I have to write a Master's Thesis while still taking the same full course load that I did this year. Fortunately, there are two classes which I've deliberately lined up, one per semester, which people tell me are easy.
The last day of class is always excruciating, because I've finished a grueling month of work and I frankly don't care that much about other people's projects. Unfair, maybe, but they probably don't care about mine. Some of them are somewhat interesting as explorations of side topics we covered in class, but the problem is that they're explained by computer science grad students who, as a whole, are not known for their public speaking abilities.
There are a few happy exceptions, and I like to believe that I am one. I try to begin or end on a good joke and scatter in some pop culture references, and I often throw in some wacky things in my slides just to keep people awake. I know they'd rather not be there, but I try to make it as painless as possible. Video game references are often a winner in this crowd.
Oh, while I'm on the subject of slides, let me say a few words about Powerpoint presentations. I'm pretty much a Powerpoint novice, but in the last year I've worked on four presentations and observed way too many presentations by others. Here are my words of wisdom, limited in experience as they are:
- Please oh please don't include large amounts of text on your slides. I don't want to hear you recite things straight off the slide. The bullet points in your slides need to be short, punchy, and highlight what you are saying, rather than repeat it. See, the thing is, I am not reading your slides. I am glancing at them to see if they say anything I need to know beyond what you are telling me.
- Give me pictures! We're writing computer programs; if you can't show me how your program , I want to see screenshots. Or diagrams. A picture is worth a thousand words, you know, and if I can visualize what you're talking about then I might be more eager to know how you did it.
- If your slides get your point across enough, you don't have to switch slides every 30 seconds. If your going to be talking about one major theme for three minutes, one slide that captures the central issue and hits the big topics can sit on screen for three minutes. Unless you want to break it up with a picture. Did I mention pictures are good?
By the way, this last guy who is talking is doing everything right. He has pictures, he's explaining what they're for, he includes minimal terminology on screen to identify the important development issues, and he even made a silly analogy to explain the issue he tackled.
Ten minutes now! Freedoooooooommmmmmm!