Fundamentals of Chemistry
Professor: Nakon
Final Grade: B

Despite being a topic I have absolutely no interest in, this class was actually pretty decent. It was probably decent simply because of the teacher, though, who was entertaining as well as thoroughly informative. I can't say I cared for the material, but I didn't mind doing the work. The lab, on the other hand, was nightmarish. I am completely inept at working with lab equipment, and this lab made sure that my grade reflected that quality.

Introduction to Computer Science
Professor: Atkins
Final Grade: A

To really understand why I thought this course was worthless, you need a little background on me. I've been programming since I was twelve years old. I know a wide range of languages, and over the years I've adopted some of the problem-solving skills necessary to be a halfway-decent programmer. I took the Computer Science AB AP exam (I was the only one in my high school to take it), and I aced it. The exam gave me college credit, but unfortunately that credit did not get me out of this class - for reasons I will never quite understand. Essentially, this class was just a rehashing of everything I had taught myself and everything that I was just tested on a year prior. However, that's just why the class was worthless to me. In general, it was actually a pretty good class taught by a very talented teacher. Dr. Atkins is the Computer Science professor I most respect at the university for two reasons - first, he is awfully good at teaching. Second, he doesn't cater to slackers/idiots, which is a quality that is far too uncommon in even the upper-level classes. So even though this class was worthless to me, I didn't particularly mind going.

Composition and Rhetoric
Professor: Forgot his Name
Final Grade: A

Despite how much I dreaded this class, it actually wasn't so bad. The teacher - a grad student - was very relaxed and casual. The atmosphere was very different from many of the class I've taken: there was always an informal, conversational mood. However, in terms of learning, all this class really did was pat me on the back for being able to write decently.

Freshman Engineering Design
Professor: Forgot his Name
Final Grade: A

I really don't have much to say about this class on account of it was entirely worthless. I didn't care for the teacher nor did I care for the material. Essentially, it was just a class that I did the work for and promptly forgot about.

Orientation to Engineering
Professor: Byrd
Final Grade: A

If there's something I completely despise at WVU, it's a class that caters to the lowest-common-denominator (to abuse a boring cliche). It is my vehement belief that if a student doesn't study and lets himself get behind - despite being given all the help he could possibly need - then he should fail. Furthermore, if said student would prefer to drink himself silly and plunder and pillage and, in that very process, bring about his own demise, then by all means let him. This is a university, the students aren't babies, and they are responsible for their own actions. This class was basically designed to gently ease such students in to the university, and it wasted the time of those of us who could take care of ourselves. Its only redeeming quality was that it was only one credit hour and it boosted my GPA a little. And Dr. Byrd was a nice guy.

Calculus 1
Professor: Bromel
Final Grade: A

Even though I passed the AP Calculus exam with a 4, I took this class as a precaution to make sure I was ready for college-level math. As it turns out, my AP class covered everything in this course and most of the information in Calculus 2. Needless to say, this was mostly remedial. Despite that, I really didn't mind. The math was still interesting the second time around, and the teacher was decent - he wasn't remarkable, but he covered the material decently.

Principles of Human Communication
Professor: Forgot His Name
Final Grade: A

I really can't remember much about this class, except that it was excessively easy. The teacher, whatever his name was, was also a nice guy. I really only tossed it in as a Cluster B class, and it was so easy I never had to think about it.

Human Communication - Intersonal Context
Professor: Forgot Her Name
Final Grade: A

Again, all I remember about this class is that I liked the teacher. Also, love is defined as, "A deep desire to have a romantic relationship with another person." Other than that, it was just an easy Cluster B class.

Introduction to Data Structures
Professor: Hiergeist
Final Grade: A+

This was another class which I already had a wealth of knowledge of going in. However, it still had some benefits - I learned a few things about the STL that I didn't know before, and I learned about inner classes, and I met Lori. Dr. Hiergeist was also a pretty cool teacher who explained things in a clear, straight-forward fashion. I have no complaints about taking this class.

Calculus 2
Professor: Marsden
Final Grade: A

As I have mentioned previously, my AP Calculus class covered most of the material that was taught in this course. That was good, since the teacher was completely useless in terms of teaching. He told interesting stories about slide rules and pigeon guided missle systems and the second best mathematician ever, but in terms of teaching he had a way of over-convoluting things and choosing the most complex examples to introduce simple concepts. His tests, on the other hand, were so easy they were borderline silly - he actually gave us the derivative of the square root of x on the first two to use as a reference. When he finally got to the material I didn't know, I struggled a little bit, but I pulled through (when Atkins covered the same material two years later for a different course, I grasped it with ease). I didn't really mind the course, despite not liking the style of teaching.

General Physics
Professor: Keopke
Final Grade: B

'Lo unto the man who can get an A in Keopke's class, for he is truly powerul and all-knowing. This was easily the hardest, most frustrating class I ever took, and I'm not sure how I received a B. I went in thinking I would like Physics, and after a little while I realized I was probably going to change my mind. The topic, though interesting, fails to "click" with me - I have trouble getting it, despite the concepts being understandable enough. As such, it was a struggle to keep up. This was not at all helped by Dr. Keopke, who is the most arrogant and irritating professor I ever encountered. A simple conversation with anyone who took the class will reveal that I'm not alone in that assessment. In the end, I dreaded having to take another Physics class.

Introduction to Digital Logic Design
Professor: Klinkachorn
Final Grade: B

This class was actually pretty useful. The beginning was basic boolean logic and the manipulation thereof. Afterward, we started getting into heavier, more computer-oriented topics that directly related to low-level hardware. Dr. Klinkachorn wasn't a remarkable professor, but he wasn't bad either - he got the information across without any bells or whistles, and in the end I definitely knew more than what I entered with. The reason I got a B? No good reason - the tests were very complete, and often I would have some small gap in my knowledge that lowered my grade.

Digital Logic Laboratory
TA: Dantla
Final Grade: A

This lab served to be one of the biggest headaches in the world. Basically, here's the challenge: you have a hardware problem that is designed to take a little less than three hours to solve. However, while you solve this problem, you are encountered with the realization that a good percentage of the hardware doesn't work properly. Therefore, the biggest hurdle is to figure out exactly what doesn't work and what needs to be replaced, and even then you'll often replace the hardware with another piece of hardware that doesn't work. In fact, very rarely is the problem on your end. If I gained anything in this laboratory, it was the desire to take my breadboard into a field and beat it with a baseball bat.

Principles of Programming Languages
Professor: Hiergeist
Final Grade: A

This CS course essentially examined the differences between programming languages. For being a 300 level course, it was remarkably easy. Unfortunately, I don't really feel like I took anything away from it.

Programming Competition
Professor: Eschen
Final Grade: A

Ah, I remember the programming competition fondly. The class was negligible - essentially, the TA would come and examine some type of algorithm and give us some tricky problem related to that algorithm. The non-negligible part was when we went to the University of Virginia to compete against various other colleges. We lost. Miserably. But it was still a lot of fun.

General Physics II
Professor: Devoto
Final Grade: B

I dreaded coming into this course, and my feelings didn't particularly change after I left. Basically, this was General Physics I all over again - the information didn't sit well with me, and I had a hard time. The teacher was better, at least. Devoto was probably the happiest man in the world, and we affectionately referred to him as "Super Mario." He was also a significantly better teacher than Keopke - at the end, though I didn't perform remarkably, I felt like I had a better understanding of the material.

Introduction to Sociology
Professor: Forgot His Name
Final Grade: A

For being one of the random cluster B classes I chose, this was actually pretty good. First, the teacher was pretty effective. Second, the structure of the class actually pleased me - essentially, we watched a lot of movies and then discussed them and the various social situations they addressed. We talked about everything ranging from circumcision to racism to poverty to gun control. A lot of interesting questions were raised, and the general premise of the class was this: don't believe common sense, because it's worthless. There wasn't a lot of information to gain from the class, but it definitely helped to sharpen thought processes.

Introduction to Anthropology
Professor: Rice
Final Grade: B

For being one of the random cluster B classes I chose, this was terrible. The teacher was uninspiring on her best days, and "throwing Zach at her" was our ideal way of dealing with her on her worst. Regardless of what I did, I could not manage to care about this class.

Microprocessor Systems
Professor: Klinkachorn
Final Grade: C

I talk about this class with great shame, because it was my only C thus far. In my defense, most of the students dropped, but that's still no excuse. The class was tricky and involved the memorization of lots of complicated circuit diagrams and the implications of placing certain things in certain positions and connecting them to certain things. Eventually, the information just became overwhelming. Coupled with the fact that I didn't particularly care about Computer Engineering at this point, I let myself slip a little more than I should have.

Microprocessor Lab
TA: Forgot His Name
Final Grade: A+

Despite doing so poorly in the class, I took a lot from this lab: essentially, effective ASM programming. I was very interested in the material, and I was able to grasp it much more efficiently than complicated circuit diagrams. It was the sequal to the Digital Logic Lab, but luckily we rarely had to deal with broken hardwdare. Note, however, that I say rarely instead of never. Faulty hardware is probably the thing that completely turned me away from CpE.

Discrete Mathematics
Professor: Henry
Final Grade: B

How I got a B in this class, I couldn't tell you - I thought I nailed it. Anyhow, it was an online class that covered simple mathematics. It was all set theory and combunatorial math and inductive reasoning - none of which is hard. The pacing was so slow it was silly, but it was still a decent course.

Introduction to Software Engineering
Professor: Reddy
Final Grade: A

My God. I don't think I've ever written more in my life. This class covered the formal documentation and design of complex software systems. When I say complex, I mean complex - we had to design a system to manage the ground and air workings of an airport. By the end of the class, our team had a 200+ page document that was carefully formatted and covered a lot of information. The dry nature of the class was only augmented by the teacher, who was dry and dull on levels unimaginable. However, I do believe that the class will be one of the most applicable when I'm actually out in the job market. Really, it wasn't the class that was bad - the essence of the material isn't one that particularly lends itself to exciting discourse.

Composition and Rhetoric
Professor: Dennis
Final Grade: A

This was the final English class I had to take. Again, I didn't particularly look forward to the class, but I didn't mind it either. The majority of the material was focused around presenting an effective argument, which I'm already fairly decent at. Again, I didn't learn a whole lot, but the writing could sometimes be taken in interesting directions.

File and Data Structures
Professor: Dierwechter
Final Grade: A

I appreciated this class the most for its general usefulness and applicability once I leave college. Essentially, we examined how to use (and on a very basic level, create) database systems that are currently in use today. We learned a lot of interesting and useful information about database design and maintenance. The projects were decent, although once we got into the programming aspect - that is, when the class shifted from the usage to the building of databases - they became a bit whimpy. Dierwechter as an instructor was pretty good. He presented the information in a clear, concise way and he showed plenty of examples. My only qualm is that he moved a bit slowly for my tastes. The class definitely inspired me to take the advanced Database class taught by Atkins.

Analysis of Algorithms (Attempt 1)
Professor: Henry
Final Grade: W

I am thoroughly ashamed of myself for what I did in this class. Have you ever had a class where things moved at such a crawl and were so mind-bogglingly easy that you just couldn't make yourself care? Essentially that's what happened with me. I neglected to do homework and failed to study at all. By the time I realized just how much I was hurting my grade, it was too late to rectify the situation. I dropped the class to take it next semester under Atkins.

Computer Systems Concepts
Professor: Cukic
Final Grade: A

There was a major flaw in this class, in that the first 2/3 of it was essentially a rehashing of previously taught material. The focus of the first 1/3 was on C, which was close enough to C++ that spending so much time on it was wasteful. That may not entirely be true - some of the students might have had trouble with some of the more subtle differences, but I worked with C for a few months so I was much more familiar. The second 1/3, however, focused on pointer arithmetic - information taught almost exclusively in Introduction to Data Structures. The last 1/3 was pretty useful - it covered asynchronous programming and mutli-processor programming. At this point, things got a little more interesting, and the project wasn't as much of a push-over. Cukic as a teacher was good. He knew what he was talking about, and he knew how to explain it. I'd like to take a class with him that was full of new information instead of one that had new information in small doses near the end.

Elementary Japanese I
Professor: No
Final Grade: A+

Those that know me know that I'm a bit of a Japanese freak. I'm not as bad as many of the fanboys you'll meet, but I have my moments. When I finally got a chance to take Japanese, I was elated. When I actually started taking the class, I only became more elated. The teacher is awesome in a very powerful way. She's basically the most entertaining, pleasant, energetic, and enjoyable professors I've had the pleasure of encountering. I also learned quite a lot, and although I can't use the language with any level of proficiency, I can still pick out random phrases.

Introduction to Probability and Statistics
Professor: Gunel
Final Grade: B

I'm going to say very little about this course. It was very dry, and it went along this format: memorize an equation and its usage, and apply it to the specific problem.

Analysis of Algorithms
Professor: Atkins
Final Grade: A

I'm glad I took this class a second time. Under Atkins, this was easily the most difficult math class I've ever taken, but it was also the most fulfilling. I learned a lot about analyzing algorithms. There was also quite a bit of challenge involved - I'm pretty sure I just barely received an A.

Elementary Japanese II
Professor: No
Final Grade: A

Everything I said about Elementary Japanese I stands. However, I've become moderately annoyed with sitting through a class. The drill sessions are the most nerve-racking events of my day. My natural inclination is to say something as fast as is natural to me, which is at a decent speed (but in no way does it sound fluent). Most of the class, however, tends to move at a snail's pace. Countless times every day I found myself stopping halfway through a sentence so I didn't get too far ahead of the class. This radical slow-down became very annoying, and I really hope No-sensei encourages students to speed up next semester.

Introduction to Operating Systems
Professor: Mooney
Final Grade: A+

I had both love and hate for this class. I liked the project, which was engaging and challenging. I liked my team, who were all very talented. I even liked Mooney, who was a decent guy. I disliked the lecture, which was dull and elementary. I very much disliked the TA, who was of no help. As an example, on one of our project modules we were finding a rather nasty glitch. I summoned the TA for help and talked for what felt like a good ten minutes about our problem in the most social, kind way that I am capable. His response was, "Looks like a stack problem." He walked away. Oh, and he was very wrong. Otherwise, everything else was fine.

Distributed Applications (aka Web Services)
Professor: Juggy
Final Grade: A

This class was good in that it was a graduate level class, and as such it contained a good deal of information. Furthermore, the information we learned was immediately applicable to real-world solutions. The only qualm I had was that Juggy's expectations were extremely low of us. As an example, we wrote a fifteen page paper which was worth twenty points. Four of those points were given for the paper being turned in on time. Four were given if the paper was fifteen pages. In fact, only four of the points addressed the quality of the paper. This was a little surprising, and the tests/major assignments were all graded with similar ease. Even though it was an easy A, though, I took a good deal from it - like learning some .NET, how to use web services, and becoming familiar with complicated system architectures.

Data Communications
Professor: Montgomery
Final Grade: A

Wow. I gained a lot from this class. Every lecture was full of information, and most of that information was useful in some way or another. The teacher was awesome, and he clearly knew just about everything there was to know on the topic. The first project was really interesting to write (and I could even adapt it for my own personal use). The second project was useless, but I won't fault him for that. I would highly recommend this course.

Introduction to Artificial Intelligence
Professor: Reddy
Final Grade: A

Despite having a large amount of distaste for the teacher, I didn't think this class was so bad. It helped to shed light on the true nature of AI as it is understood today, and much of the information was applicable to developing something. I'm a little disappointed that we didn't go deeper in the class, but I kept the book and I have a few internet links to do further research. The project was alright - it wasn't amazing or particularly interesting, but it wasn't bad to write and it posed me with a few interesting challenges. I would recommend the class, but not the teacher.

Database Design and Theory
Professor: Atkins
Final Grade: A

Easily one of my favorite classes during my school term, Database Design illustrates what a college course should be like. Although the material resembled CS 210 at first, that only lasted about two days before completely blowing 210 away. Atkins shines here, as databases are his specialty. His method of teaching - introducing a new topic and then hammering the point with concise exmamples - lends itself perfectly to the topic. The coursework was challenging, and the homework had me spewing obscenity more than once. I enjoyed every second. This class is also the most easily marketable, giving me skills that I could translate directly into a database job. Any CS major should take this class (with this teacher).

Compiler Construction
Professor: Van Scoy
Final Grade: A

This class was largely a mixed bag. The lectures, first, were ill-prepared. It seemed as though the teacher took slides from the previous year (and sometimes slides she did not write) and tried to make sense of them as she introduced them. The content was not all that well explained, and while I have a vague idea of many of the components of a compiler, I wouldn't know how to go about writing something serious. The only real substance I walked away with was the knowledge of Yacc and Lex, two useful tools for writing some nifty programs. The projects were interesting but strange. The first two were amazingly easy - an hour's worth of work on a bad day. The last project smacked everyone in the face by being disproportionately harder, but I still didn't have much of a problem. I wouldn't really recommend this class, but instead would recommend a good book instead.

Senior Design
Professor: Cooley
Final Grade: A

Enter Software Engineering again, but this time the professor doesn't actually know anything about software. It wasn't a bad class, really. There was a lot of design work and, as a result, a lot of writing, but it all seemed pretty natural and never became overwhelming.

Finding a Job in Engineering
Professor: Nailler
Final Grade: A

I really can't say much about this class. It doesn't apply much to me, as I'm going to grad school, but I could see other people gaining benefit. All the material seemed sort of "common sense"-ish, but the advice on resumes and interviews could come in handy.

Intermediate Japanese 1
Professor: No
Final Grade: A

That's it. I'm fed up with this class. It became the biggest annoyance throughout my week. The teacher moves at a snail's pace and doesn't particularly catch my interest anymore. The drill sessions are tedious and mind numbing, and I feel knowledge actually draining from me at this point. I'm probably taking one more semester, just to even things out, and then any more Japanese I learn beyond that point will be from a book.

Parallel Programming
Professor: McLaughlin
Final Grade: A

Pretty good. The material should be interesting to pretty much any CS student. The professor is good - he covers things clearly and explains every topic thoroughly. The workload was about right. We had a steady stream of homework to keep us familiar with the material along with a term project, which I think I did pretty darn well on. Overall, I'd definitely say the class was worthwhile.

Theory of Operating Systems
Professor: Mooney
Final Grade: A

As this class went on, I grew more and more appreciation for the subject matter. Operating Systems in general seemed to become more interesting than I had previously believed. The ideas behind mutual exclusion, concurrent and real-time systems, and memory management are things every student should have familiarity with. It all has applications well beyond just writing an OS - I've found the material useful in both cluster and network development. My appreciation for the material was in direct opposition to the style of teaching, which was bland and uninspiring. Eventually I found that ignoring the professor almost entirely was OK so long as I read the book. Challenge-wise, I expected more from a graduate level class, but I'm still glad I took it.

Game Design
Professor: Baker
Final Grade: A

I dropped Japanese 203 to take this class knowing full-well what I was getting into. The entire class is based around the 5 students developing a game together. I've developed something of a disdain for team-based projects, and the first time someone violated the naming convention we established for our projects, I knew this would be no different. The project started out with a lot of steam, but eventually the morale degraded and we were left with something only mediocre. Still, it was nice to do something I enjoy for a class.

Shader Study
Professor: Baker
Final Grade: A

There's not much to say about this class, really. It was just me studying shaders on my own.

Senior Project
Professor: Cooley
Final Grade: A (?)

The grand finale of my undergraduate term, the senior project was the direct follow-up to the Senior Design class. Here we implemented what we spent last semester designing. Boy, I'm glad we spent that whole last semester writing documents that turned out pretty much worthless. While they offered a nice direction, implementation requirements forced us to deviate from the documents so much that they were practically outdated by day 2. This was another team-based project, and although my team was pretty good this time around, there were still a few of the problems that plague every project of this sort. When we finally went to demonstrate our project (not at the Design Fair, but for a grade), the product crashed incessantly and was flawed in ways that made me visibly frustrated. We cleaned it up and made it ready for the Design Fair, where it worked pretty well. I think we had a decent final product.