amanset, Kimmy_Gibler, Vinyl Turnip, arguably JKilz, and possibly Really Not All that Bright by inference.
God save me from those “marketable” half-assed coders.
You describe the professor accurately, I believe. Consider that he added a bunch of new crap after being called on the old stuff. But why the fuck is this considered a good thing?
That’s something you do before accepting someone’s money. It’s fucking easy to tell people ahead of time what the class will require so they can make a decision before taking a class. Heck, many classes will even test you to see if you can make it through. People don’t pay for classes in order to have a sadistic professor try to make them quit. They take the classes to learn.
I can possibly understand a hard teacher, but one that is deliberately trying to sabotage their students is beyond the pale. Professors that have classes in order to cull the weak themselves need to be culled from education. Their classes only exist so they can feel superior to everyone else.
Reminds me of a lot of people who post in the Pit, honestly.
Because
This is an honest question: are you a retard?
Re-read your post, then think about it…that’s it keep thinking…do you see the problem yet?
I think you’re misunderstanding those posts.
“The world needs ditch diggers, too”, for example, is not advising the OP to quit college and go do menial labor. It’s a jibe suggesting that he step up his game, lest he find himself unemployable.
OK, let me make this simple.
Let’s say I want to do a motion capture of a drummer to teach people correct drumming technique. In addition to a bunch of coders and a drummer, you also need someone who can talk to both programmers and drummers intelligently. That person doesn’t have to have the most perfect drum technique in the world, nor do they need to be the best programmer in the world, either. They just need to be competent enough at both so that they can understand what the drummer and the coders have to do to create the best product.
And that’s far from the only possible example.
Taking your first CS course doesn’t have to end with one of these two scenarios:
-
I hate coding! I quit the class after 4 weeks, and I never want to learn any more about it.
-
I love coding, and I got my doctorate in CS, and I just finished working on a new OS that will end up replacing Android, iOS, AND Windows.
There’s a middle ground. Seeing as how computers are doing more and more things in our world, including even driving cars, it would probably be a GREAT idea to train up a bunch of people who can
A. understand a specific task that a computer/robot is being designed to take over
B. Understand programming well enough to talk to REAL programmers and explain exactly what is needed.
We are going to need a lot of people with one foot in the programming world, and another in some other area.
If this is an entry level course it really, really shouldn’t be. Designing and developing a game engine is an incredibly complex, difficult task that of the small number of companies that even attempt it, it often takes the better part of a decade (and is often still kind of buggy and not perfectly optimized by that point). Even my 400-level, upper division game design course was extremely difficult and could only go over the broad strokes. Even then we were restricted to 2D only and no networking in our projects. Making it an entry level course, like the OP is making it sound like, is flat out ridiculous to me.
Sure, you can make a working engine for a specific genre in 4-5 months, I’m not saying you can’t, but this really isn’t something you want your CS 201 students doing. Wait until they learn basic formal data structure analysis at least.
The OP needs more cursing.
Or recursing, whatever.
It’s only recursing if you fuck yourself, which isn’t allowed in the pit.
I learned recursive in grade school, which is why I understand my grandma’s handwriting. My kids have to bring the cards they get from her to a “Growed-Up” to decipher. I curse their lack of education, and then I recurse.
As others have said in this thread, and as a former PhD student in Computer Science myself, this seems pretty much par for the course for these sorts of classes.
In my experience, if you’re an not in a first or second year course, you’re pretty much expected to either know or be able to learn languages and various other programming tools on your own. I remember my first AI class, and in the first lecture the professor basically said that LISP was the go-to language for AI, gave some incomprehensible examples in LISP, and assigned the first project that night. I was frustrated as hell, particularly because, as anyone who knows LISP, will probably admit it’s quite intimidating looking. People who already knew it were at an advantage, but I buckled down, learned it. And these days, while I don’t have much opportunity to use it, I quite like the elegance of the language and that professor eventually became my PhD advisor.
The thing is, I was paying for an AI class, not a LISP class, and any time he had spent in class teaching LISP was time not spent teaching the topic that I was interested in and paying for. To some extent, I can understand if a class is using a particularly niche language, but a class that is using C++ and Visual Studio, that’s one of the most common languages and one of the most common tools. Frankly, I’d have been upset if a professor had spent valuable lecture time on teaching either.
I’m really not understanding the complaint here. Why is optional homework bad? I actually vastly prefered optional homework and, again, in my experience it’s pretty common. If I understand a topic well from the lecture and reading, why should I spend hours doing homework? The idea behind the homework is that he is providing you with extra examples that are relevant to the lecture, so you can get practice if you need it, or skip it if you don’t. And if you do skip it, just because you’re not graded on it, you’re still expected to know the concepts that it covers.
Particularly in programming classes, they cover a HUGE amount of material in a very limited amount of lecture time. And, as is the nature of programming, sitting in class isn’t the best way to learn the concepts, sitting in front of a compiler and programming is the best way to learn. The professor absolutely should be spending the lecture time teaching the stuff that translates well to the classroom, which is generally stuff like theory and algorithms, and the more practical stuff is best left to you on your own time.
Also, in my experience, these sorts of classes just take a huge amount of time outside of the classroom. I learned that pretty quickly when I made some poor scheduling choices early in my junior year. So I’d look at the course description and consider the material that I expect to be covered and try to balance it so I’d have a heavy course load class or two, like AI, compilers, operating systems, etc. and a low course load class or two, like algorithms, HCI, vision, etc.
[quote]
Here’s to you uniquely screwing us over on the test. It’s nothing new that tests have a practical half and a theory half - this is standard operating procedure in most programming subjects thus far. But normally all that means is that you need a total of 50% to pass. Not 50% on each half, meaning that most of those who failed (over half the course) failed on the absolutely unreasonable theory half.
[quote]
This, too, is pretty common. If you can crush the theory, but can’t do the practical half; you have a bunch of useless knowledge, because you can’t apply it. But you’re not arguing that half. Rather, if you can do the practical half but not the theory, you didn’t even learn the material. That’s like a kid saying he should pass a math class because, even though he can’t do long division, he can use a calculator. Yes, that usually works in the real world, but it’s important for the purposes of the education, and the fact that you’re paying for the class, to not just know how to get the answer, but to know WHY it’s the answer.
It’s quite common, in my experience, to break exams up and require passing all or most of the parts, not just get a cumulative passing score. Particularly in a course like the one you’re describing, theory is every bit as important as the practical side. I’m not sure exactly what your total course of study is, but as a computer scientist myself, it’s the theory that separates us from just regular programmers. In fact, I’ve met a number of people who can code faster than I can, but I’ll often have more efficient and/or compact code, which makes up for that.
I heard a number of complaints like this through my academic career, but this is just the way the field is. I’d heard of several of these professors and, often, I’d work to avoid their classes, but then I’d get forced into one of their classes, sometimes the complaints were legitimate, where they were terrible teachers, but sometimes they were actually great teachers, just exceptionally hard; some people have difficulty telling the difference. In my last semester of PhD work, I had another professor who fits a lot of your descriptions, talking theory in class but putting all the practical work in the homework and projects, extremely difficult examples where most of the class scored 30-40%. I actually struggled a fair amount with the projects, and though I usually do exceptionally well on exams, I struggled on those as well, and it was the only class I got anything other than an A in in my whole program. But at the end, I learned a lot, and I respected him. I’d highly recommend him to anyone.
In the previous semester, I had another professor who had gotten similar complaints, and he was legitimately a poor teacher. He would often ramble on about his research, despite not really being particularly relevant to the topic. At the same time, though, it was a course I was particularly interested in, so I had no problem spending the extra time on my own and would sometimes just skip the lectures because they weren’t all that useful. So, to that extent, I was a little upset that I was paying for the course and essentially getting nothing out of the money other than the credits, but had the course been in something I didn’t have interest in, I probably would have been a lot more upset.
To some extent though, depending on the university, that’s just how it is with professors. Of these two examples, the first one loved teaching, and he would teach more courses than he was required to. The second one hated teaching, but brought more research grants into the school than anyone else and is considered one of the foremost experts on that field, and he was doing the bare minimum amount of teaching he could get away with, and supposedly even got to do less than most precisely because of the grant money and visibility he brought to the school.
Either way, a lot of this transfers pretty well to how working in programming is in real life. Sometimes I get insane deadlines that make me work extra hours, sometimes I get extremely ambiguous requirements which I inevitably interpret differently from how they were intended. Hell, I spent two FULL days in meetings this week doing exactly that, trying to convince them why their requirements were ambiguous and asking them to make a choice between the interpretations, and them not understand why they were mutually exclusive and had additional constraints they didn’t understand. If you’re going into game programming, which it sounds like, as I understand, deadlines are as hard or harder there than in almost any other field you could program in. But other times, I get difficult tasks, on tight deadlines, and I enjoy the challenge of solving the problem and then.
In the OP’s case, maybe the teacher really is just that bad, but none of that really sounds as harsh as you’re perceiving it. Maybe you and himMaybe it’s just a very difficult area and it’s expected that most people will fail; I can’t really say, I only did one course in anything graphic related, didn’t like it at all, and so I didn’t take any more courses in it. I don’t really know what advice to give, but it does sound like you have somewhat unrealistic expectations about the field.
It is a first-year course though. And this after we had literally an entire class on how to use Java and Eclipse the last semester.
I understand, but damn, what a kick in the teeth, huh?
Because it was claimed as “optional”, but the material done almost exclusively in the homework was 50% of the test.
This is why I skipped the homework in another class (boy, that was not a good idea of mine).
Which wouldn’t be so bad if the optional nature wasn’t taken as an excuse to crank the difficulty up to 12. I understand what you’re saying, and most of it rings true, and I agree with most of it, but this situation was kinda different.
Eehhhh… Again, not quite what happened. Essentially the theory and the practice were two very different subject matters, and then refer to the problem with the homework…
I’ll say right now that the professor was in the latter category. No question. He was an excellent teacher. He knew how to explain fairly complex concepts in a way that the majority could understand. I liked the guy, in the moments where I wasn’t fantasizing It’s just… God DAMN. The workload and the test. He didn’t seem to get why we didn’t succeed, or how we could find it difficult.
I respect your opinion a lot (indeed, it really helped me figure out where I stand), and I understand that this isn’t the worst coming my way by any stretch of the imagination. I just felt like a little bit of harmless venting, is all. That thing this semester though, with access to the other course? Dick move.
Crap like this is one reason I jumped programs out of CS and into the physical sciences. The short list…
Department standard? Hah! You’re a slave to whatever the particular professor’s environment is. Have fun hopping from Linux to MS Visual to OSX. Trying to get your virtual machine to compile without errors in the 1-2 weeks before you won’t get your tuition refunded? Even attaching documented bug and exception reports to my homework explaining exactly why my program executed perfectly in spite of a compiler error known in the only gcc/gnu compiler I could get working on my laptop still got marked wrong.
Using MATLAB for two quarters and walk into quarter three with a different professor who refused to acknowledge the previous classes and expected the same level of proficiency in his pet whatever-version on his Apple book?
TAs completely unable to explain anything beyond their own obscure “it works for me this way” spaghetti logic. Visions of spending 4 years of my life on some twisted perpetual help desk call where the support is only available a few short hours a week? And needs to be in person? And being a grad student, never took your particular class or worked your homework problems? And has zero people skills?
A developing sense that the department’s decision to transition all of us to Microsoft J++ in mid-degree stream to “capitalize on industry expectations” may not be fueled by objective interest in academic quality.
Very true, but I’d bet a buck that they didn’t screen their applicants with that kind of rigor. It’s amazing how much money private colleges parasitically consume from bait-and-switch weed out classes that, if they were honestly presented by advisors, brochures, et al, would get a very skilled and enabled set of incoming students into their class. Instead they get unaware student fodder to consume. I’ve seen public universities do the very same.
Every wonder why full-tuition refund dates are such short flow?