Final grades from the spring semester were available by web today. I got an A in both classes that I took - an online geography class, which required a minimal amount of work, and Computer Science 3.
CS3 was the interesting one. It was a tough class that required a lot of work, and a lot of thinking. Writing complex programs (complex relative to one's skill level, that is) makes for tricky homework, because you really cannot put it off until the last minute. A project that takes 15 hours to complete may have to be done in 15 sessions of 1 hour each just so that your brain can spend time inbetween working on the problems that it has to solve.
For the first half of the class, we finished learning the remaining data structures. (Data structures are abstract models of holding and accessing data, and can be implemented in any language - most were invented decades ago - but this class used Java and C++. An example of a data structure is a queue, where the first item in is the first out.) There were four major programming projects - three in Java and one in C++. Every project involved writing not only the functional code, but also other code to extensively test that code. I got full credit on all of these assignments.
For the last few weeks of the class, we had a group project. Ours was to create a graphing calculator. (We chose this ourselves.) As with all such things, it soon devolved into the Project from Hell. The other people in my group seemed, variously, incompetent, lackadasical, disorganized, distracted, and unmotivated. (If you watch any reality TV at all, you learn that whenever you think your groupmates are all incompetent, it invariably means you are actually the problem person in the group. So, hmm...) But we did get some kind of a project sort of done. Scarily, I think our group might have done better than the other two groups.
Then there was the final, which was kind of a fiasco. Half was multiple choice, and it was straightforward. The other half was free response, mostly problems where you had to code something new. There was not nearly enough time to finish, and everyone basically bombed it. I probably got about 40% of it done - or, you know, 60% of it done, and 2/3 of what I did was actually right.
I went to talk to Dr. Paul afterwards about something else, and found a crowd of CS3 students outside his door (keep in mind only 9 of us even took the final) with pitchforks and torches. After they all left, he was somewhat distressed because, in his opinion, the test was something we should have been able to handle, and the fact that we weren't indicated that he had failed to teach the class properly. (Presumably this is worse than merely finding out that you wrote an unreasonably hard test.)
Anyway, prior to getting my grades today, I hadn't gotten any more information, like a grade on the project or the final. (I got a 92 on the midterm, which I failed to mention earlier. That was 25% of the grade, the final was 45%, and all the homeworks and projects were 30%.) I was pretty sure that if he applied a curve, I would get an A based on my percentile in the class. But I also thought a B would have been fair considering that there were areas where I could have put in more effort, and certainly my numerical average would not have been an A.
I just found out tonight that one of my teammates - the other one out of us four who actually did a substantial amount of work on the project - got a D. This means he'll have to retake the class, since only C's and up count toward your major. Bummer for him.