kcw | journal | 2001 << Previous Page | Next Page >>

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.

Copyright (c) 2001 Kevin C. Wong
Page Created: August 20, 2004
Page Last Updated: August 20, 2004