And although I did great in the test, I think even
better than I did on the
SAT test, already I wasn't sure about getting a post-graduate degree.
The
thing is that Berkeley, along with most universities, doesn't want you
to
get a post-graduate degree at Berkeley. The theory is that you should
go to
another school and get a different perspective on whatever and it also
promotes a bit of cross-pollination among the universities. The only
times
when it's not done is for really brilliant students who are too
valuable to
give up. Now I'm not that great a student and although I could get into
any
Masters program, I really didn't want to go to another school. This is
before
I became sick and tired of the whole school thing by the way.
On to my last semester. This is the semester when I tried to take as
many
computer classes as I could, coming a bit short of taking every class
available at Berkeley. CS 164 (Programming Languages and Compilers), CS
169
(Software Engineering), CS 172 (Computablility and Complexity), CS 188
(Introduction to Artificial Intelligence) and CS 184 again. 20 units in
all
which back then I thought I could maybe do (especially since CS 184 I'd
be
coasting since I took it before) but now I realize that it was an
impossible
lot of work for me. I think if you went over 20.5 units you had to get
clearance from the Dean.
Not to worry, because I dropped CS 169 almost immediately. I had heard
that
Professor Hilfinger was the toughest professor in the CS Department,
but also
one of the best. First day in the class, once he explained what the
class was
about, I realized I couldn't do this. Get into small 4-5 person teams,
develop a project plan and documentation and then implement a fairly
sophisticated software project and do it in C++ which you'll have to
learn
on your own (as well as learn RCS for version control). The problem
being
that since I'm really bad about getting into a group I'd probably end
up in
a group of castoffs and that's not a recipe for success. And it looked
like
a hell of a lot of work considering my other classes.
CS 164, Compilers with Prof Larry Rowe (no relation to Eric I think).
We
learned about parsers and lex and yacc and wrote our own compiler. Lots
of
coding but a fun class. CS 172, the last theory class. P and NP
problems,
finite automata and Turing machines. Lots of proofs. I don't think all
that
well in this class. In CS 164 I didn't do that much of the work, so my
partner and I did well in that class.
CS 188. Since I had to retake CS 184, I could only choose one of CS 186
or
CS 188. CS 186 is databases and back then I thought that was boring,
hence
why I chose artificial intelligence. Now that I work for a database
company
and have to understand databases it's a bit ironic. But back then I was
happy
with CS 188. LISP, prolog, logic programming, heuristics and game
theory,
neural networks and expert systems. All interesting although very
reasearchy
like, years away from practical applications and even today still a few
years
away, because the humand mind is quite hard to duplicate.
|
So we come to CS 184 again. Officially I did not retake
this class.
Apparently you need to get a signature from the Dean or someone like
that
to retake a class (especially a failed class). I only got a signature
from
the Professor and afterwards I didn't care enough to try to get my
grades
corrected. Anyway, the second time around the class was much easier.
The
Professor did change a couple of things (he liked to bring in guest
lecturers, so naturally those people were different than the ones
brought
in last semester).
I had a good partner, I actually did a lot of work in this class,
though I
also reused a lot of code from last semester. The cool thing is the
class
project. Just for fun, each team of two (or three) gets access to an
SGI
workstation and we can use all the SGI facilities to produce some sort
of
3d application. So we don't have to write renderers or anything like
that,
we can use the SGI rendering routines and so forth.
We wrote a miniature golf game. He designed two courses, one was cool
in that
it had a loop and the other course I don't really remember. I wrote the
game
engine. Basic physics, gravity, friction. You could spin the course to
change
the view. Hitting the ball was just a simple point and drag with the
farther
you drag the harder you hit the ball. You could also do balls-eye-view
of the
shot. I thought it was quite cool and we got third place out of a dozen
teams
or so. One group wrote a gymnastics simulator (uneven bars). You had a
person
and could tell it what moves to do and the person had good physics. I
forget
what the other good project was.
Graduation was great. Late May (21st?) at the Greek Theatre all the
EECS
students graduated. I saw practically nobody I knew but lots of people
I'd
seen in my classes throughout the four years. Sitting there in the hot
sun,
it was hard to imagine that I'd gone through four years of college. I
think
I learned a lot, not just school studies but about life too. I still
had a
lot to learn and you never really stop learning because you never know
all
there is to know. College gives you the tools to continue learning and
to use
your knowledge effectively, but it's only one more step in life.
I'm happy with my college career. I made mistakes, but I wouldn't take
them
back. I made good friends that I still see every week. I got hooked on
Macintosh. Yup, a grand time.
|