Sunday, February 27, 2011

Dave's Top 10 Films Of 2010

Yes, it's time for the long-awaited Dave's Top 10 Films Of 2010 list! This year, Virg and I saw pretty much everything. First, a few honorable mentions:

Most Over-Rated Movie of 2010: I Am Love. It sucked through and through. 2 hours of artsy fartsy sap and scenery, utterly devoid of characters or plot.

Favorite Fun Movies of 2010:
Kick-Ass
(great premise, with a hilariously lethal little girl)
Despicable Me (cute, clever, and great use of 3D)
The Other Guys (great opening hot-shot cop sequence spoof)
Easy A (very clever dialogue, and Emma Stone is great as the lead)

Dave's Top 10 Films Of 2010
Now for the real list. I've done my best to describe these movies without spoiling their endings. Which was difficult, because there were some great endings this year, and I loves me a good ending.

10. Buried
Ryan Reynolds trapped in a coffin for 90 minutes, with only his cell phone to save him. The entire movie takes place in the coffin. No flashbacks or fantasies. You never see anyone but Ryan Reynolds, and half the time you don't see anything at all. It was a lot like watching 127 Hours, except you didn't know how it would end. And like Black Swan, the movie really messes with you, finding the perfect ending in the final seconds.

9. A Solitary Man
Michael Douglas gives a good performance as a not-so-likeable guy, who you become increasingly sympathetic for. A smart movie with good dialogue, made more interesting by a small twist.

8. The Town
Ben Affleck was excellent as writer, director, and star of this intense bank-robber story set in Boston. I was on the edge of my seat the whole time, but disappointed by the cheesy ending.

7. Toy Story 3
Sadly, we only saw it in 2-D, as a rental. I wasn't crazy about Pixar's first Toy Story, and I thought the second one was pretty dumb. Last year's Up was 10 very moving minutes followed by 80 minutes of somewhat entertaining silliness. Toy Story 3 was similar, but saved the 10 good minutes for the end of the movie, delivering some surprisingly haunting footage.

6. 127 Hours
The true story of a guy whose arm gets trapped under a boulder in Canyonlands, and who escapes 127 hours later by amputating it with a dull knife. Before the movie had even started, Virg was cringing at a preview of a movie about people trapped in a cave, and I instantly regretted dragging her to this. When the hero first falls in the canyon, you realize just how absurd it would be for him to cut off his arm. The movie does a great job of walking you to the point where you understand his desperate act. James Franco is wonderful, and the script is fantastic. And yes, I covered my eyes for the amputation scene.

5. Animal Kingdom
If The Town was a glorified look at the life of bank robbers, Animal Kingdom seemed like the real thing. It's an Australian movie about a young guy who is taken in by his seemingly sweet grandmother, and 3 criminal uncles. The movie feels distant and spacy, as the main character is increasingly caught between the police's attempts to make him their star witness, and his loyalty to his increasingly mistrustful family. The final resolution makes for an excellent ending.

4. The King's Speech
The story of King George VI struggling to overcome a terrible stutter. Colin Firth is fantastic (and my pick for best actor), as is Geoffrey Rush, and the script is excellent.

3. Barney's Version
As soon as we left the theater, we were ready to see it again. Paul Giamatti stars in this very clever, very funny, and very touching film. Rosamund Pike is great as his love interest, Dustin Hoffman is very funny as his father, and Minnie Driver is hysterical as his cartoonishly awful wife.

2. Blue Valentine
Ryan Gosling and Michelle Williams are both phenomenal in this complex relationship study. The movie alternates between telling the story of a single day in their married life, and telling their back-story, with an absolutely heartbreaking ending. This great script and its very human characters leave much food for thought. Were they good for each other, and who was to blame for their troubles? Typically, Virg sides with the wife, whereas I found the husband more sympathetic.

1. Black Swan
Darren Aronofsky wrote and directed this brilliant psychological thriller--a surreal behind-the-scenes look at ballet that is part Wrestler and part Pi. Like Animal Kingdom, it's about a good but weak character needing to find strength. It put us on the edge of our seats from the very beginning, and the final 15 minutes of the film are absolutely chilling. It's one of those movies you continue to analyze for days afterward. And Natalie Portman is truly perfect in it. This is my pick for best picture, best director, best actress, and best screenplay.

Saturday, April 17, 2010

CMU: Year 2

Apparently, I haven't blogged about my life in a long time, so here's a summary of the past year.

Summer 2009
Graded AP exams for a week. Then spent a few weeks preparing for a one-week workshop on Principles of Computation for area high school math/science teachers. This meant putting together four 90-minute lectures for an audience that wasn't necessarily interested in computer science, so I stressed out quite a bit about how to make my talks relevant to them. The talks were on recursion (not my choice), how computers work (in which I ran over my audience), information and randomness, and cryptography (these last two went very well). In the middle of the workshop, it really felt like the teachers were "getting" that computer science is so much more than programming. Unfortunately, we muddied that message by also teaching programming later in the workshop, and so an overwhelming number of the teacher's presentations on the last day focused on programming.

Thankfully, I've been able to re-use pieces of those lectures quite a bit in the past year, starting with the CS4HS workshop, in which I gave a guest lecture on randomness and then cryptography to an audience of enthusiastic high school CS teachers. I then co-lead a one-week workshop for AP Computer Science teachers. This was a lot of fun, and much less stressful than the first workshop. I was a little nervous, given that some of the attendees had been teaching AP computer science for much longer than I have. But I think the workshop proved to be valuable, even for veteran teachers. I did feel bad for those teachers who had very little Java experience, because it takes far more than a week to learn enough Java to teach the AP course well. (I would love to see the AP exam back off on teaching so much Java, so that more schools could offer the course--especially in lower income areas.)

I spent the last weeks of the summer writing a paper about the high school network protocol course I created. The paper got very positive reviews, so I got to present it at the SIGCSE conference in March. I thought it was really cool to lecture about networking to a big room full of networking professors, when I've actually never even taken a networking course.

In the background of all this, there were a lot of very bad things going on in my department. The dept held a meeting to determine which teaching track jobs to eliminate, apparently putting me in the "maybe" category. Also, I tried to convince my group that we could better serve students who only take 1 semester of CS by teaching them about digital representations, the Internet, exponential growth, etc., instead of emphasizing Java-specific minutia and object-oriented programming. This discussion turned frustrating fairly quickly.

Meanwhile, the department appointed a committee to replace the introductory CS curriculum, and actively prevented the teaching track faculty from informing the process. By a fluke, I happened to be at work one day when my boss was unable to attend one of these committee meetings, and I happened to attend the meeting when the committee was beginning to discuss our CS1 course. I was asked to write a proposal for what I would do in CS1. But my proposal (less programming, more CS, use Python) was apparently not what the committee wanted to hear, and it was mocked mercilessly in the following meeting. In email, I spoke out strongly against the whole process, and was thankfully never invited back again. Nonetheless, sometime in the fall, the committee announced that, starting in the fall of 2010, CS1 will be taught in Python, and will introduce bigger CS ideas.

Fall 2009
I taught CS1 in the fall to four sections of 30 students. With so few computer labs in the Gates building, I was forced to teach in a lecture hall 3 days a week, and have students program on computers just once a week. I decided to use the extra lecture time to present bigger CS ideas on Fridays. These were mostly well received, but were seen as disconnected from the course.

It turns out that the fall semester CS1 students are very different from the spring. Two thirds of my fall semester students planned to take CS2, as opposed to just one third in the spring. This meant that my fall students were much stronger programmers, and much more engaged in the course. I gave large assignments, and my students ate up everything. Overall, I had a blast with that group, I received stellar scores on teaching evaluations, and my students earned the highest average on our common final exam.

And it was at about that moment when my department announced that 9 of my colleagues' contracts would not be renewed, that those of us that remained would soon be teaching 200+ students each semester, and that we would continue to be treated as second-class citizens. Thus, a great semester ended on a big downer.

Spring 2010
In light of the direction my department was moving, I decided to try out teaching larger CS1 sections: two groups of 60 students. I got a killer schedule, with my first class after 1pm. But on the day before classes, a visiting instructor quit. My boss picked up that section, and decided to use my course materials, which was a little stressful for me. Then, in the middle of the first day of classes, I suddenly felt very sick, went home immediately, and ended up going to the hospital, probably with some GI virus. I got sick again a couple weeks later, which luckily coincided with a few snow closings.

It turns out there's a huge difference between teaching 30 students at a time and teaching 60. I tried calling out all 60 names on the first day, but it took so long I never did it again. It took me weeks to learn the students' names, and I wouldn't have learned them at all if it weren't for attending the 30-student recitations and helping students in lab. I delivered lectures in long wide rooms, with the students sitting between me and the doors. My students clearly felt anonymous, and would often come to the first few minutes of class and then get up and leave--something that had never happened to me before. I frequently found students working on laptops, reading books, doing other homework, etc., during class. The students were sitting so far away from me, that they would start up conversations with each other during class, and I often had to stop and ask them to quiet down. I felt like I was just standing at the front of the room speaking as if from a textbook, while my students came and went and ignored me.

Then my boss offloaded his section onto me. So, suddenly I was teaching 180 students, with class every other hour, and managing 11 course assistants. And having barely learned the names of the first 120 students, I didn't even bother learning the next 60. Students would say hi to me in the hall, and I had no idea if they were even in my class. Students from the previous semester would say hi, and I couldn't remember their names.

Not surprisingly, more students meant many more cases of inappropriate collaboration. This drained all my time, and I felt like I was constantly meeting with the students who were blowing off the course, instead of working with the ones who were trying hard and needed help. I began to wish my assignments were more open-ended, so that it would be easier to identify cheating cases. Also, my colleagues kept reminding me of how soft my course was. So, in week 8, I decided to have students program an arcade game. I had done this sort of thing the previous semester, but this time I removed a lot of hand-holding from the assignment: no more examples of test code, no more telling them how to break down each task into simple methods, no more providing method signatures. For the first third of the course, very few students had come into lab for help. But on this assignment, the lab was absolutely packed. Stopping by lab, I felt like I was walking through an impoverished third world country, with 50 students in a 30-student lab, every seat filled and students sitting on the floor everywhere, every hand up and desperate, saying, "Dave, just one thing. Just one quick question ..." The lab was still packed even a couple days after the assignment was due, with so many students still struggling to finish it. And although the students scored very well on the following quiz, morale had sunk to the point where I lost my class, and I've never really won them back.

About 20 of 180 students have dropped the class. Those that remain are becoming very strong programmers. I still don't know names in one section, and they hate me. As usual, the sections that meet later in the day are going much better. At this point, we've got one more assignment to go, and then this bad semester will come to a close. I'm hoping for some better news on the final exam, but I expect very little from evaluations.

Annual Mix CDs

For a long time, I've wanted to create a mix CD at the end of each year with the music I got into that year, largely as a way to remember the music and events of my life. However, it's always seemed daunting to figure out if I got into a song this year, or was that 2 years ago, etc. So a few months ago, I made a big spreadsheet, went through all my CDs, tried to remember exactly where I was living and what I was doing when I got into an album, searched for receipts for music purchases, etc., and I worked out what I listened to in each of the past several years. I've now started making my annual mix CDs, working backward in time. I've avoided putting multiple songs by the same artist on a given CD, unless it was a slow year. The result so far is a lot of post rock and Batman music:

2009
1. Route 12 from the Revolutionary Road soundtrack
2. Malachite by Jakob
3. The Day Shift by Pg. Lost
4. Ybe 76 by Subheim
5. Taijin Kyofusho by Evpatoria Report
6. A Notion I Can't Shake ... Accidents Happen So Fast by September Malevolence
7. Incirculation by This Is Your Captain Speaking
8. White Seraphs Wild by Immanu El
9. Sapphire by Seabound
10. In Your Room by Depeche Mode
11. Hero by Regina Spektor
12. Enlightened False Consciousness by French Teen Idol

2008
1. Marching Bands Of Manhattan by Death Cab For Cutie
2. Cerda's Plan by Near The Parenthesis
3. Void by Red House Painters
4. Aggressive Expansion from the Dark Knight soundtrack
5. Psiu! Puxa! by Lights Out Asia
6. Define Dancing from the Wall-E soundtrack
7. The Second Nave by Near The Parenthesis
8. Denouement from the Atonement soundtrack
9. What Sarah Said by Death Cab For Cutie
10. The Cottage On The Beach from the Atonement soundtrack
11. Six Points Of Fire by Lights Out Asia
12. A Dark Knight from the Dark Knight soundtrack

2007
1. Analyse by Thom Yorke
2. Outlast By Rain by Readymade
3. Tepid Coat by Damiak
4. All I Need by Radiohead
5. Worst Taste In Music by Radio Dept.
6. Pace Is The Trick by Interpol
7. Soma by Smashing Pumpkins
8. I Remember It Differently by Near The Parenthesis
9. And Triage by Bitcrush
10. The Funeral from the Pan's Labyrinth soundtrack
11. Watching Over You by Seabound
12. Spiti Elfas by Lights Out Asia
13. Mortal City by Dar Williams

2006
1. Pulling Our Weight by Radio Dept.
2. Eptesicus from the Batman Begins soundtrack
3. Medicine Bottle by Red House Painters
4. 10,000 Days (Wings Part 2) by Tool
5. Fair by Remy Zero
6. Sometimes by My Bloody Valentine
7. Alone In Kyoto by Air
8. No Quarter by Tool (a Led Zeppelin cover)
9. Svo Hljott by Sigur Ros
10. Corynorhinus from the Batman Begins soundtrack
11. Let Go by Frou Frou
12. Love On A Real Train by Tangerine Dream
13. A Lack Of Color by Death Cab For Cutie

Due to lack of data, mix CDs before 2006 will probably have to span multiple years.