Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → Class/Instructor Rant
Class/Instructor Rant
2008-04-16, 9:58 PM #1
Last fall, I took a computer science class, which dealt with C, and then I took one in the spring (and am currently in now) which is the next class in the course, studying Data Structures and Classes in C++. There's a few reasons why I'm upset with this class and the instructor.

First, there was no transition between Computer Science I and Computer Science II. I didn't have much trouble going from the last class to this one, but there were a few people who dropped the class because they didn't have any clue how to do the assignments or how to transition from C to C++. We came in the first day and were given an assignment to create a game like Hangman. No explanation or anything about it.

Second, the instructor is completely unwilling to help when you have trouble with source code. If you ask him to help he'll come over tou your station, tell you to clean the build directory, then build the program.... even if you tell him that it won't compile and show him the error log. Then he reads through the area of code that you're having trouble with and says something like "I can't see anything wrong" or tells you to put in print statements to find what isn't being called (even if it's obvious that I already have some in the code) or says "you have this backwards" (pointing to where I have 'count++;' rather than '++count;') and walks back to his desk.

Third, He doesn't teach the class, he reads off of a power point presentation, tells us to read the chapter and do the assignment. I'm basically wasting 3 hours a week (plus the time it takes me to drive to campus, walk to and from class, then drive home) and wasting tuition money being there when I can be at home doing the exact same thing on my own. It's not hard to read a power point and a chapter in a book and I'm pissed off that I'm paying someone to do that for me.

Now I'm struggling with the latest assignment (which is now almost a week overdue) and I can't get him to give me any decent help aside from what I explained earlier.

I was planning on declaring my major as Computer Science, but this class has completely turned me off from it. Am I being unreasonable in asking for more from this class and instructor?
2008-04-16, 10:22 PM #2
Had a teacher like that once. He doesn't know what he's doing, and is probably doing it only to fulfill the job quota or some ****.

Good luck man, if I were you I'd try dropping the class if I could (which I don't think you can now).
D E A T H
2008-04-16, 10:30 PM #3
i don't know anyone that can learn a programming language just from going to class. you have to do assignments and look stuff up online and read a textbook if you must; thats the only way to really learn this stuff.

if its a syntax error, look up the error codes to find out why its throwing it.
if its a logic error, step through the program and see what its doing, thats where you find out what your program is really doing. its usually obvious once you do that.

also, they say programming is something you have to do without anyone's help or any outside influence. thats a load of BS, talk to other people in the class, talk to other people that know any programming. it helps to talk with people.
free(jin);
tofu sucks
2008-04-16, 10:49 PM #4
Lawl, nerds being social.
2008-04-17, 2:09 AM #5
Originally posted by landfish:
also, they say programming is something you have to do without anyone's help or any outside influence.


Who's "they"? As you point out, that's utter rubbish. Looking up error codes and such is fine once you're technically competent, but unfortunately most references you find will be as cryptic as the assignment in the first place if you're only a learner. You really need someone who will guide you through this sort of stuff: letting you make the most horrendous of messes with your code and then give you a hand to dig yourself out of the pit you've made. Sounds to me like your instructor is pretty useless: I've had courses run by people like this before. It is a complete waste of time, but fortunately it's been my employers training budget that's being burnt, not my own money.
2008-04-17, 4:55 AM #6
That's college. It happens. Get over it. Do what you have to to pass the class, avoid that professor in the future.
2008-04-17, 5:16 AM #7
Originally posted by Dj Yoshi:
Had a teacher like that once. He doesn't know what he's doing, and is probably doing it only to fulfill the job quota or some ****.

Good luck man, if I were you I'd try dropping the class if I could (which I don't think you can now).
I think maeve will also agree that we had a teacher like this at QM, I remember spending the 3hrs using the college network to download stuff.

still managed to get an A in the course but that was because I'd actually done some programming before, but some of the other folks in the class didn't stand a hope in hell.
People of our generation should not be subjected to mornings.

Rbots
2008-04-17, 7:24 AM #8
Programming is something that classes really don't teach, experience and a "go out and learn it yourself" attitude are what is required. What do you do when the teacher isn't there to correct your code? Hence, the internet was born.

Seriously, Programming is very hard for an instructor to give homework help on because how do you give help without giving the answer away? Not only that, but every answer is different in programming so why should he be able to glance at your code and instantly know what is going on? The responsibility is yours to know what the heck your code is doing.
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-04-17, 7:38 AM #9
Originally posted by Cogman:
Programming is something that classes really don't teach, experience and a "go out and learn it yourself" attitude are what is required. What do you do when the teacher isn't there to correct your code? Hence, the internet was born.

Seriously, Programming is very hard for an instructor to give homework help on because how do you give help without giving the answer away? Not only that, but every answer is different in programming so why should he be able to glance at your code and instantly know what is going on? The responsibility is yours to know what the heck your code is doing.


Sorry, I can't agree with that. This argument could equally be applied to any teaching - so why do we have schools?

Yes, experience is vital - you can't learn to program from a lecture. You have to sit there and type in code, play around with it, experiment on your own and see what works and what doesn't work. But that doesn't mean that it is sufficient on its own. You need someone well versed in programming to explain concepts to you, and point you in the right direction when you're stuck - maybe with leading questions such as "Why are you doing that there..." or "What would happen if over here you did this...". That's what the teacher is supposed to be doing, and it sounds like he really isn't.
2008-04-17, 7:51 AM #10
Originally posted by Cogman:
Programming is something that classes really don't teach, experience and a "go out and learn it yourself" attitude are what is required. What do you do when the teacher isn't there to correct your code? Hence, the internet was born.

Seriously, Programming is very hard for an instructor to give homework help on because how do you give help without giving the answer away? Not only that, but every answer is different in programming so why should he be able to glance at your code and instantly know what is going on? The responsibility is yours to know what the heck your code is doing.

If programming was something classes didn't teach, people would be out there teaching themselves and getting jobs alongside the kids who paid 120k for college to get their masters in Software Engineering.

Hint: they're not.
D E A T H
2008-04-17, 12:05 PM #11
I did computer science for 1 year.

I'm graduating in 1 month with a business major.

That's all I've got to say.
This signature agrees with the previously posted signatures. To violate previously posted signatures is a violation of the EULA for this signature and you will be subject to unruly behavior.
2008-04-17, 12:13 PM #12
Is your CS teacher by any chance named Joel Castellanos? >_> I had a teacher just like that so I dropped his class.
twitter | flickr | last.fm | facebook |
2008-04-19, 12:08 PM #13
Originally posted by Stormtrooper:
I was planning on declaring my major as Computer Science, but this class has completely turned me off from it. Am I being unreasonable in asking for more from this class and instructor?

Probably. I learned everything I needed to know in my Data Structures course by reading the book. The instructor was helpful (and boring as hell), but ultimately unnecessary. My only recommendation is to read books on the subject you are having trouble with and find a tutor or some other form of outside help if desperation sets in.

If you are not enjoying it all, then you should probably consider a different field of study. The worst thing you can do get a job in a field that you despise.
[This message has been edited. Deal with it.]
2008-04-19, 1:15 PM #14
Originally posted by Dj Yoshi:
If programming was something classes didn't teach, people would be out there teaching themselves and getting jobs alongside the kids who paid 120k for college to get their masters in Software Engineering.

Hint: they're not.


...if most SE students didn't work to learn things on their own (which a lot do) they would either be working for the Government (provided they had a good GPA) where they write ****ty code or working for UPS.

The long and short of it is that there are a lot of places where you simply don't get much out of SE classes (especially undergrad). You have to learn a lot on your own and use it to get your internships. If you do that, you can land yourself a pretty good job.

When someone tells me they have a Masters degree in Software Engineering, I see it as exactly that -- you forked out the cash to get that degree. I'm not convinced that you're a good programmer because of that...especially when I interview people with Masters degrees that can't even implement a remotely efficient isPrime() or isPalindrome() method. >.<
2008-04-19, 1:28 PM #15
Originally posted by Giraffe:
- so why do we have schools?


that's a good question.. I'm a comp/info science drop out from OSU.. everything I learned about programming I taught myself. And now I'm employed as a PHP programmer. But that was because I worked on my own projects and taught myself. My boss could care less about my schooling he just wanted to know I could do the tasks.
"Nulla tenaci invia est via"
2008-04-19, 1:36 PM #16
Computer Science isn't supposed to teach you how to program.
2008-04-19, 2:03 PM #17
Originally posted by Dj Yoshi:
If programming was something classes didn't teach, people would be out there teaching themselves and getting jobs alongside the kids who paid 120k for college to get their masters in Software Engineering.

Hint: they're not.


A large part of this is due to the attitudes that companies have towards hiring, rather than any particular ability or skill that is imparted by education.

Programming is simply the expression of an idea in a language that can be interpreted by a computer. There's nothing special or particularly unique about it. If we had better AI and better language processing algorithms we would be able to write programs in English simply by providing the computer with a detailed explanation of what we want.

I'm going to labor this metaphor a bit. Let's say you want to become an award-winning poet. You go to University and take an English language major. Does that make you a skilled writer? No. You've gained a lot of general experiences and knowledge you can draw upon, and learned about a lot of useful tools for critical study, but you need to have a lot of talent and you need to spend a lot of personal time and effort if you want to be the next Frost.

Programming is no different. You can be an exceptional Computer Scientist or Software Engineer and still be utterly lost behind a copy of Eclipse. The most accomplished computer scientists aren't known for writing something that looks cool, they're known for theoretical works - guys like Donald Knuth, Edsger Dijkstra, Alan Turing and John von Neumann. And a software engineering degree's value isn't in the code, it's in project management, development patterns and other business-related issues.

But here's what's really going to make you wet your pants: If you go to school to learn how to program, and you "luck out" and attend a Javaschool that focuses on teaching ability to the detriment of theory, you're still going to be behind. Why? Because in the world of software development there are billions of frameworks, trillions of lines of unreadable code in hundreds of different programming languages that you will have never learned in school, making the whole exercise pointless.
2008-04-19, 2:29 PM #18
Originally posted by Jon`C:
words

Understandable, and I know this to a certain extent, but it teaches you a lot about structure, a lot of ideas/abilities that you otherwise would have had to "reinvent the wheel" to discover. Having to learn EVERYTHING on your own is very much a detriment to the idea of taking a course on the issue, and should not be an acceptable form of teaching. However, in college the status quo changes, and a lot of professors are not there to teach, they're there to further their studies or for some other reason, and therefore don't really care about their students.

That's just my take on it though.
D E A T H
2008-04-19, 2:35 PM #19
Oh, a computer science degree from a reputable university is invaluable. It just won't teach you how to program. You need to do that on your own.

Computer Science isn't about programming, it's about computing. There's a huge difference even if the modern market (and educational system) has clouded the issue.
2008-04-19, 2:54 PM #20
Originally posted by Jon`C:
Oh, a computer science degree from a reputable university is invaluable. It just won't teach you how to program.

Right, you get a whole lot of CS theory, and not that much actual programming. Which is like, you know, what computer science is.

What most people want is actually a degree in software engineering, where you do learn how to program.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2008-04-19, 2:58 PM #21
Originally posted by IRG SithLord:
...especially when I interview people with Masters degrees that can't even implement a remotely efficient isPrime() or isPalindrome() method. >.<

You can't expect people to write efficient algorithms on the spot. Especially since most people with a software engineering degree haven't done something like isPrime() since their first year.

The whole point of asking interviewees to do programming problems is to see how they approach the problem, not how good their actual implementation is. No one can be expected to rattle off an implementation of the Sieve of Atkin for an efficient isPrime() during an interview.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2008-04-19, 3:08 PM #22
I wouldn't expect a computer scientist to be able to give a very good answer for that question either.

But, eh. Part of the problem and not part of the solution. The only correct answer is to google for the algorithm invented by the guy who spent his entire professional career researching the most efficient way of writing an isPrime() function and implementing it within your framework.

Edit: I'm kinda curious IRG SithLord. As a guy who interviews propsective programmers, how does asking a candidate to implement isPrime() and isPalindrome() demonstrate the ability to work on a large project? Most of the test questions I've seen just prove you're able to pick up a copy of GCC and go. That seems fairly retarded since 9/10ths of programming is based on a person's ability to learn, while ignoring spec, style guidelines and a cavalier attitude about documentation are easily much more destructive than someone not remembering algorithms that you'd never implement yourself in a real world situation.
2008-04-19, 4:08 PM #23
Originally posted by Jon`C:
Edit: I'm kinda curious IRG SithLord. As a guy who interviews propsective programmers, how does asking a candidate to implement isPrime() and isPalindrome() demonstrate the ability to work on a large project? Most of the test questions I've seen just prove you're able to pick up a copy of GCC and go. That seems fairly retarded since 9/10ths of programming is based on a person's ability to learn, while ignoring spec, style guidelines and a cavalier attitude about documentation are easily much more destructive than someone not remembering algorithms that you'd never implement yourself in a real world situation.



isPrime() is more of a tuning sort of question followed by a discussion to identify the algorithm's problems, limitations and how it can be improved. The idea is for the candidate to implement an algorithm that will solve the problem (which we usually just do with pseudo code and any clarifications necessary) and then engage them in a discussion about the algorithm's implementation. Challenge them to identify the limitations of the algorithm, what improvements can be made and their approach putting together an improved solution. Additionally, the problem is put into perspective with algorithms in real world applications (consider algorithms in an executive dashboard to collect tons of licensing and distribution information across thousands of outlets for thousands of assets to be displayed). In a private industry, performance for such algorithms are critical (what kind of client wants to wait 15+ seconds for the dashboard to load?).

Of course the isPrime() method isn't going to be implemented in a real world environment. However, engaging them in said discussion identifies their practice (and what needs improvement) and tests their ability to identify what needs to be fixed, how it can be fixed and why it needs to be fixed.

My frustation in my earlier post is from a candidate (had a masters) who struggled to implement a brute force-like algorithm (using abstract pseudocode and several hints) and failing to identify obvious limitations and needed improvements (which made getting him engaged in a good discussion pretty tedious). It was my first time interviewing someone with a masters and I (and a couple of my coworkers) expected someone with a masters to be able to engage in a good discussion. It was really a bad assumption on our part at the time. I simply think you cant trust a "Masters degree" flag to set high expectations.
2008-04-19, 7:27 PM #24
Originally posted by Dj Yoshi:
However, in college the status quo changes, and a lot of professors are not there to teach, they're there to further their studies or for some other reason, and therefore don't really care about their students.

That's just my take on it though.


I was a "visiting lecturer" at the local university for a couple of years, and taught 2 classes while I was also taking education classes. As if you guys didn't already know this, 99% of professors do not have any sort of teaching license or even took a "teaching" class. It's simply not a job requirement or a masters requirement. Should it be (required for teaching at a university)? Maybe. A lot of education classes I had to take were total crap, but I did learn some important stuff in a few classes.

But anyway, everyone has had crap professors like that. There's plenty of them out there.
"Harriet, sweet Harriet - hard-hearted harbinger of haggis."
2008-04-19, 8:46 PM #25
Originally posted by Chewbubba:
Should it be (required for teaching at a university)? Maybe. A lot of education classes I had to take were total crap, but I did learn some important stuff in a few classes.

Y'know. That would be an excellent idea for universities to adopt. If I'm dropping thousands upon thousands of $$$ to take these courses, I better have someone qualified to teach the subject and can actually do it! Crap professors really are a waste of time and $$.

I may have just thought out a new CA proposition...*phones up state representative*
Code to the left of him, code to the right of him, code in front of him compil'd and thundered. Programm'd at with shot and $SHELL. Boldly he typed and well. Into the jaws of C. Into the mouth of PERL. Debug'd the 0x258.
2008-04-19, 9:21 PM #26
Isn't there any sort of student evaluation? Not that it will do much for tenured professors, but still.
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2008-04-19, 9:38 PM #27
Originally posted by Emon:
Right, you get a whole lot of CS theory, and not that much actual programming. Which is like, you know, what computer science is.

What most people want is actually a degree in software engineering, where you do learn how to program.

I don't think that is the case. One of my coworkers graduated from RIT with a degree in SE. He feels very strongly that SE is more about process (requirements, design/architecture, verification, managing large projects, etc) than it is about actually writing code. Sounded boring to me, but to each his own I suppose.

If all you want to learn is how to program, go to ITT or DeVry and get some half-baked associate's degree. If you want some insight on how to solve problems commonly involved in computing and software design, go for a CS or SE degree.

Originally posted by IRG SithLord:
isPrime() justification blah blah blah

The idea is noble, but I think your choice of question is kind of narrow. Perhaps something a little more open-ended would facilitate discussions instead of a canned response.
[This message has been edited. Deal with it.]
2008-04-19, 10:06 PM #28
Originally posted by Giraffe:
Sorry, I can't agree with that. This argument could equally be applied to any teaching - so why do we have schools?

Yes, experience is vital - you can't learn to program from a lecture. You have to sit there and type in code, play around with it, experiment on your own and see what works and what doesn't work. But that doesn't mean that it is sufficient on its own. You need someone well versed in programming to explain concepts to you, and point you in the right direction when you're stuck - maybe with leading questions such as "Why are you doing that there..." or "What would happen if over here you did this...". That's what the teacher is supposed to be doing, and it sounds like he really isn't.


Lol, no, it really doesn't. Programming is very different from different forms of education. Take Physics for example, a Lecturer is absolutely necessary for correct understanding, or at least a faster uptake, of physics concepts. A physics teacher cant expect their students to go out and learn Guass's law through experience with the electrical outlet, or rubbing a rubber balloon on their head. That would be unrealistic. It is possible for the student to just go out and find it, but very hard.

Programming, on the other hand, you have to learn the art first hand and cant expect a teacher to hand you all knowledge of the subject with it being perfectly understandable. How does a programming teacher start teach their students their first language? By showing the code for a hello world program. They SHOW them the code. For the most part, that is all they do is show code with some theory. So what prevents a student from looking up code on his own and writing his own code? Nothing.

BTW, I should note that too much code copy and paste is almost always detrimental to the learning of the student, just like a teacher of any other class giving the answers to the students homework without the students trying would leave the students in no better a position.

Like Jon'C said, programming is an art. And like any art it has to be practiced by the student. And, like most art, it should be an expression of the student not the instructor.

[qoute]...You need someone well versed in programming to explain concepts to you, and point you in the right direction when you're stuck - maybe with leading questions such as "Why are you doing that there..." or "What would happen if over here you did this...".[/qoute]

Hence a good book can often be much better then a good teacher. Seriously it is impossible and unreasonable for a teacher to be expected to know every error code that is spat out by the compiler or how to solve every bug that you create. Again, ultimately if your code doesn't work you should be the one that understands it best, not your teacher.

Really the most important lesson you can gain from taking a programming class is learning how to solve problems on your own, not how your teacher would solve problems or how to ask for help solving problems, but for you to solve problems. (Don't get me wrong, teamwork would be the very next important thing to learn, but unfortunately classes discourage teamwork buy disallowing code sharing, at least at my school. That can be a very good example of where school learning could actually be detrimental to self learning)

I still stand by my claim, programming is best learned on your own, teachers are nice but those who have to often rely on teachers are just not cut out for the programming industry.
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-04-20, 8:36 AM #29
Like most things, there's the practical component and the theoretical, and while there's no reason you couldn't learn to program on your own having some kind of structured education is a helpful to the process. (especially when there's an established pedagogy)
COUCHMAN IS BACK BABY
2008-04-20, 10:43 AM #30
Originally posted by Tracer:
Like most things, there's the practical component and the theoretical, and while there's no reason you couldn't learn to program on your own having some kind of structured education is a helpful to the process. (especially when there's an established pedagogy)


University isn't supposed to teach you the practical component. It's not vocational training.

It's really hard to explain how horribly useless a programming-heavy cs degree would be to someone who doesn't know about either subject. There are so many different approaches and uses for different languages, so many libraries and so many operating systems that trying to squeeze enough practical application into a 4-year program is impossible. If you try to train for the "typical" job and learn the Microsoft Trifecta (VB6, C# and C++), as soon as you take one look at a language like Haskell or Scheme you're going to realize you just wasted thousands of dollars and 4 years of your life.

But it's okay, because practical knowledge is useless to a COMPUTER SCIENTIST, for much the same reason that absolutely no programming ever requires you to break out a pad of paper and prove the computability of a function. Because programming and computer science aren't the same thing. The nice thing about computer science is that it teaches you algorithms and concepts you can implement, but the same goes for just about any other degree program - like, if you wanted to program a graphics engine or a physics simulator, you'd be much better off with a math major than a cs major (and you'd be getting more programming experience in class, too).

↑ Up to the top!