# I pit my Games Engine Design professor

**URL:** <https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589>\
**Category:** The BBQ Pit\
**Created:** [September 24, 2013, 5:08pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589 "2013-09-24T17:08:25Z")\
**Posts on this page:** 15\
**Page:** 3

<div class="post-metadata">

**Author:** ![Miller](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/miller/32/481_2.png) [@Miller](https://boards.straightdope.com/u/Miller)\
**Post date:** [September 26, 2013, 7:02am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/41 "2013-09-26T07:02:21Z")

</div>

> [@Nava](#):
>
> And who has given him such advice?

**amanset** , **Kimmy\_Gibler** , **Vinyl Turnip** , arguably **JKilz** , and possibly **Really Not All that Bright** by inference.

---

<div class="post-metadata">

**Author:** ![Terr](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@Terr](https://boards.straightdope.com/u/Terr)\
**Post date:** [September 26, 2013, 7:04am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/42 "2013-09-26T07:04:40Z")

</div>

> [@get\_lives](#):
>
> There are dozens of careers paths where even half-assed coding ability makes you FAR more marketable.

God save me from those “marketable” half-assed coders.

---

<div class="post-metadata">

**Author:** ![BigT](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bigt/32/12044_2.png) [@BigT](https://boards.straightdope.com/u/BigT)\
**Post date:** [September 26, 2013, 8:00am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/43 "2013-09-26T08:00:57Z")

</div>

> [@Really\_Not\_All\_That\_Bright](#):
>
> Maybe the program is designed to weed out people who thought it would be awesome to design video games but don’t understand what the job actually requires.

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.

---

<div class="post-metadata">

**Author:** ![Nava](https://avatars.discourse-cdn.com/v4/letter/n/da6949/32.png) [@Nava](https://boards.straightdope.com/u/Nava)\
**Post date:** [September 26, 2013, 8:36am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/44 "2013-09-26T08:36:32Z")

</div>

> [@BigT](#):
>
> 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?

Because

> [@Terr](#):
>
> God save me from those “marketable” half-assed coders.

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [September 26, 2013, 4:18pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/45 "2013-09-26T16:18:20Z")

</div>

> [@BigT](#):
>
> Reminds me of a lot of people who post in the Pit, honestly.

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?

---

<div class="post-metadata">

**Author:** ![iamthewalrus\_3](https://avatars.discourse-cdn.com/v4/letter/i/258eb7/32.png) [@iamthewalrus\_3](https://boards.straightdope.com/u/iamthewalrus_3)\
**Post date:** [September 26, 2013, 4:39pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/46 "2013-09-26T16:39:20Z")

</div>

> [@Miller](#):
>
> **amanset** , **Kimmy\_Gibler** , **Vinyl Turnip** , arguably **JKilz** , and possibly **Really Not All that Bright** by inference.

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.

---

<div class="post-metadata">

**Author:** ![get\_lives](https://avatars.discourse-cdn.com/v4/letter/g/ecb155/32.png) [@get\_lives](https://boards.straightdope.com/u/get_lives)\
**Post date:** [September 26, 2013, 11:40pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/47 "2013-09-26T23:40:17Z")

</div>

> [@iamthewalrus\_3](#):
>
> 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:

1. I hate coding! I quit the class after 4 weeks, and I never want to learn any more about it.

2. 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.

---

<div class="post-metadata">

**Author:** ![Jragon](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@Jragon](https://boards.straightdope.com/u/Jragon)\
**Post date:** [September 27, 2013, 2:27am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/48 "2013-09-27T02:27:57Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Bryan\_Ekers](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bryan_ekers/32/183_2.png) [@Bryan\_Ekers](https://boards.straightdope.com/u/Bryan_Ekers)\
**Post date:** [September 27, 2013, 3:05am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/49 "2013-09-27T03:05:26Z")

</div>

The OP needs more cursing.  
Or recursing, whatever.

---

<div class="post-metadata">

**Author:** ![Jragon](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@Jragon](https://boards.straightdope.com/u/Jragon)\
**Post date:** [September 27, 2013, 5:04am UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/50 "2013-09-27T05:04:50Z")

</div>

> [@Bryan\_Ekers](#):
>
> The OP needs more cursing.  
> Or recursing, whatever.

It’s only recursing if you fuck yourself, which isn’t allowed in the pit.

---

<div class="post-metadata">

**Author:** ![digs](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/digs/32/14889_2.png) [@digs](https://boards.straightdope.com/u/digs)\
**Post date:** [September 27, 2013, 2:03pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/51 "2013-09-27T14:03:58Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Blaster\_Master](https://avatars.discourse-cdn.com/v4/letter/b/cab0a1/32.png) [@Blaster\_Master](https://boards.straightdope.com/u/Blaster_Master)\
**Post date:** [September 27, 2013, 4:23pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/52 "2013-09-27T16:23:41Z")

</div>

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.

> [@Budget\_Player\_Cadet](#):
>
> Here’s to you giving us approximately one lecture and five days to get comfortable with C++ and Visual Studio 2012.

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.

> [@](#):
>
> Here’s to you saying that the homework is optional, making the homework _incredibly_ difficult and time-consuming (to the point where even the fastest pairs were spending 10+ hours a week, and some weeks some spent 30+ hours) and then making the material from the homework count almost 50% on the test.
> 
> Here’s to you skimming over most of the “unimportant” topics in class and not offering any practical application exercises or indeed much of any hints on how to apply them at all, then placing practical applications of barely-addressed concepts in the test in very complex exercises.

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.

> [@](#):
>
> Here’s to you applying first-come, first-serve to tutor lessons for your class, but then deciding that the “fairness principle” means that you can’t apply that for the course in 3D modelling, which, for some bizarre reason, is limited to 30 participants, of which half should come from architecture rather than games design.
> 
> And here’s to you making it clear that there’s no guarantee that any given student will _ever_ get to participate in that class.
> 
> And this is why I made the thread - because I was reminded that I’m going to have to deal with this guy over the next few years in my subject. This guy. I thought I was done with him when I passed his unreasonable course (and I’m not just bitching here - as said, half the class failed _after_ they reduced the hurdle to pass the endterm from 40% to 30%). But it never ends. He runs quite a few of the Games Engineering courses. They weren’t kidding when they said I was in for a rough time, but this guy… Ugh. He drives me fucking crazy.

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.

---

<div class="post-metadata">

**Author:** ![Budget\_Player\_Cadet](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/budget_player_cadet/32/205_2.png) [@Budget\_Player\_Cadet](https://boards.straightdope.com/u/Budget_Player_Cadet)\
**Post date:** [September 27, 2013, 7:30pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/53 "2013-09-27T19:30:44Z")

</div>

> [@Blaster\_Master](#):
>
> In my experience, if you’re an not in a first or second year course,

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.

> [@](#):
>
> 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 understand, but damn, what a kick in the teeth, huh?

> [@](#):
>
> I’m really not understanding the complaint here. Why is optional homework bad?

Because it was claimed as “optional”, but the material done almost exclusively in the homework was 50% of the test.

> [@](#):
>
> If I understand a topic well from the lecture and reading, why should I spend hours doing homework?

This is why I skipped the homework in another class (boy, that was not a good idea of mine).

> [@](#):
>
> 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.

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.

> [@](#):
>
> 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.

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 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.

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. 😕

---

<div class="post-metadata">

**Author:** ![GargoyleWB](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/gargoylewb/32/199_2.png) [@GargoyleWB](https://boards.straightdope.com/u/GargoyleWB)\
**Post date:** [September 27, 2013, 7:37pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/54 "2013-09-27T19:37:36Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![GargoyleWB](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/gargoylewb/32/199_2.png) [@GargoyleWB](https://boards.straightdope.com/u/GargoyleWB)\
**Post date:** [September 27, 2013, 8:02pm UTC](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589/55 "2013-09-27T20:02:41Z")

</div>

> [@Really\_Not\_All\_That\_Bright](#):
>
> Maybe the program is designed to weed out people who thought it would be awesome to design video games but don’t understand what the job actually requires.

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?

[Previous page](https://boards.straightdope.com/t/i-pit-my-games-engine-design-professor/669589.md?page=2)
