Peter Norvig also has two implementations of Prolog in Paradigms of AI Programming (first one is interpreted, second is complied) in Common Lisp. The book is highly recommended because Norvig's code is very elegant and his exposition is wonderful.
Allegro Prolog  is based on Norvig's implementation, although I'm sure they've done a fair bit of optimizing.
You should totally do it... it's fantastic. Norvig makes it quite clear in the beginning that he expects you to know atleast some lisp beforehand (the "intro" chapter is a bit sparse), so you might want to brush you on your CL skills before you dive in.
Yeah, that's kind of what I'm curious about: did Dropbox learn about it through that guy's discovery? If so, we're lucky that that guy came across it the very same day the bug was introduced. I'd assume there aren't that many people who would have found the security hole, been nice not to abuse it and cared enough to let Dropbox and the world know…
The older EOPLs are much longer then the newer ones. I've found that the 1st edition requires less sophistication than the 3rd and spends more time explaining things. You might want to take a look at it.
There's also "design concepts in programming languages".
I found it worthwhile to read the erlang books concurrently. Other than a few misalignments, they present topics in roughly the same order, but the way they explained the different topics were different enough that I found myself learning something new.
Almost everyone registers for atleast 4 courses a term. You need to work on all of them because every course counts. However, when you're going to take the Junior Lab (if you're in Physics) or the digital death lab/ software labs (if you're in EECS), you take classes that are relatively easy. For example, you might take extra humanities classes to work on the HASS requirement and then in a later semester not take the humanities class and replace them with courses in your own major.
I don't know about the junior lab (i'm in eecs), but when I take classes that are difficult (which has been pretty much every semester for the past 2 years :(), I am working overtime on these classes. Besides attending lectures/recitations during the day, I spend every evening, and all of my weekend coding for the projects. Having projects and labs that took over 20-30 hours to complete were the norm, and in a particularly bad semester, I'd have one of those due almost every two weeks.
Initially, there would be people who could get by without putting in as much effort because they already knew the material, but as you go higher and start talking about lab classes (where the work is punishing regardless of your knowledge/experience) or graduate classes (very intensive, almost no one can coast), you don't see people coasting.
I think there's a misunderstanding about how the class actually works.
First off, this is for students in Aero-Astro program. It's not something that all engineers take; it's simply the starting courses for the aero astro people.
Second, even though the name suggests that it's some course that tries to teach you the intersection of all the topics, it's actually teaching you the union of the topics. From the course overview:
"Over the course of each semester, students engage in seven disciplines of study, listed below. Each discipline is taught for a fraction of the semester, through a series of lectures. When one discipline concludes, students are quizzed and begin a new discipline."