Intro to Computer Science- Programming in C · Computer Science
6 homeworks (starting easy and getting harder) and 6 programs (starting from very easy to really hard), with one of each dropped. The midterm and final are pretty difficult; attending the review session is a must.
Doable. 6 hw assignments, all programming. 1 midterm, 1 final. Both fair. Extra credit assignments at the end are possible. Very fair grader. Readings aren't necessary. Attendance counts. 6 homework assignments, they get progressively harder and longer as you gain skills (in theory). Fun class if you like algorithms.
Disclaimer: I am not a cs person, and this was a summer course, so I have no idea what a "reasonable" workload is. I thought it was reasonable though: We had four time-consuming homework assignments spaced throughout the semester, so about one per week, as well as a final, which wasn't too hard and probably raised my average. He had a very fair system of three "late days" that could be used up as needed. Grade also included class participation, which was considered either questions asked in class or comments submitted at break.
You'll definitely earn your 3 points. His grading is fair and somewhat lax, but don't dare consider cheating.
Where to start? Aho has an impressive background; no one would deny that he doesn't know computer science well. He cowrote his own major programming language called "AWK" and teaches far above an introductory level. The class does start extremely slow, learning HTML and Javascript before the heavy Java programming approaches. Alfred will give you a great first impression. Then you will wonder what evil lurks beneath his genial facade when he screws you over somehow. But by the end you will see he is not such a bad guy. As for the class, much of the lecture is boring, repetitive, and sometimes incomprehensible. The review session will tell you what is on the exams. During class I brought my laptop and chatted/checked email every day; listening when appropriate. I recommend this to any student; otherwise class may be so boring that you will stop showing up.
Ms. Arabshian is a very sweet teacher. She's very young, and she's very approachable. She will give you all the time in the world if you need help understanding something. She presents all her lessons well, using powerpoint presentations. Good speaker. I took the class with no programming experience as a freshman, and got an A. I did, however, go to her office hours every week, so she got to know me and I did get extra review. But I wouldn't do the assigned readings, and usually didn't pay good attention in class. Programming is fun, but sometimes frustrating when you don't see your mistake. She will extend deadlines if everyone is behind.
This instructor is your typical cs nerd. He speaks with a dry wit, and he trails off the end of sentences, but you quickly learn that anything he says under his breath is not important. Personal quirks aside, he taught competently; I don't have any complaints. He explained information clearly and covered everything he said he would. He gave good answers to the many, many questions I asked in class, clarifying a lot of confusing aspects of the language and never making me feel stupid for asking a "dumb" question.
Grossberg recently made a daring escape from the math department, in order to teach computer science classes. What's the difference between a mathematician and a computer scientist? To him, nothing. To us -- well, we all know that the math department professors are the most knowledgeable in their fields. Does it ensure they can teach? Well, he is prepared. It would be nice, however, if he got more than an hour of sleep on the night before lectures. This might help him from stumbling over himself so much, physically, and verbally.
The programming assignments were totally reasonable for an introductory class, and the TAs were indeed generally quite helpful. Ludicrously long and confusing theory homework assignments. A lot of the material wasn't even in the (poorly written) book, so if you missed a class you were screwed. Tedious things like converting words into binary. Really weird stuff about terminal strings and stuff I still don't understand. I managed to walk out with an A anyway.
This class was horribly confusing. Not the programming part, that was pretty easy. I already knew C++, Cocoa, Java, Obj-C, Visual Basic, MySQL, JS, etc. The theory part was what was absolutely ridiculous. The theories introduced were NOT introductory material. They were very abstract, and horribly explained by both the professor and the book. After I kept getting back homework assignments in the 60s, I thought I was going to fail the class until I realized that most people were doing worse than I was.