Teaching...

Craz

[H]ard|Gawd
Joined
Mar 9, 2000
Messages
1,566
I would like to know how most of you were taught in a classroom setting, the reason being is that I'm in my first programming class this semester and we are learning ANSI C.

The problem is that the teacher does not follow/teach out of the textbooks we are required to buy for the class. He has stated that we do not need the textbooks even though when I take a look around the room there's a few people fiddling through looking up commands(myself too). The way he teaches the class is he writes the code on the board then explains it. However he does not write down what he explains on the board and very often after he introduces a new command he erases it before you can comprehend what he just said.

Another thing is that he does not provide any documentation, notes or any reference to the project we have as homework. It is extremely frustrating as a newcomer to programming to learn from a professor that teaches in a manner where he expects you to automatically know every use that a command has just by writing it on the board.

That being said, I want to know how most of you were taught programming (any language) in a classroom setting and how did the teacher go about teaching the class?
 
Well, C in my case was a very simple class. The teacher focused more on flow charts than anything else. I haven't used a flow chart to visualize my code since. But it was baiscally just the teacher writing code and explaining it. Then group homework every once in a while and simple projects helped to apply the knowledge.

For C++ it was just code and explanation, nothing else, really. Of course, with some interaction between teacher and students (questions and stuff), but that was it. We had to do about 4 projects for the semester, but the specifications given were very specific and elaborate.

For data structures, so far it's been code and explanation... I don't really see any other way of going about it, tbh. Project instructions are very well made, though. Can check them out at htttp://www.ece.uprm.edu/~manuel/class/fall04/icom4035/projects.htm if curious at all.

The teachers always followed the book, though. This made it easy to fall back on the book for whenever a reference was needed.
 
I really like the way my Java class works. My teacher has a bunch of powerpoint presentations that he shows us with one of those overhead projectors. He'll point at the board and explain things while every once in a while minimizing the powerpoint presentation and going on SciTE or JCreator and having us follow along with typing up a program so we can see exactly how something works.

One of the best parts of the class is that my professor isn't like evil Spanish teachers. What I mean by this is that he doesn't teach at the rate that the best students in the class learn.

Then he has all his really detailed lessons online. You log in to what they call "WebCT" and you have access to the syllabus, style guide (for how to write code), the discussion board, your grades, and of course the lessons, exercises and quizes. You don't have to take ANY notes in class because everything you possibly need to know is all online and very well organized. WebCT is EXTREMELY user-friendly, so if you don't know what to do or you fail then it's entirely your fault (I wish I could say the same about my math class...).
 
I lecture VB, Java and Internet Tech ... and I can tell you there is no surefire way to teach
an artform. Some people understand flow charts, some love IPO charts, some prefer UML
models, some even perve over pseudo-code.

I like to conquer the following topics in the indicated order:
0. Procedural Logic
1. Code formatting conventions.
2. Data types
3. Operators
4. Flow control
5. Loops
6. Functions
7. Object Oriented Programming

I do this by typically showing real life examples and code fragments, and then referring to
the text for further reference and refinement. I also try to establish ties between previous
experience, say for example showing a VB programmer how a for loop in Java differs from
the same construct in VB.

All in all ... programming is a gift ... most people don't care much for it since they don't
have the gift, those that have it may battle, but will always win. ;)
 
Craz said:
The problem is that the teacher does not follow/teach out of the textbooks we are required to buy for the class. He has stated that we do not need the textbooks even though when I take a look around the room there's a few people fiddling through looking up commands(myself too). The way he teaches the class is he writes the code on the board then explains it. However he does not write down what he explains on the board and very often after he introduces a new command he erases it before you can comprehend what he just said.

Would you rather have him stand up there and read the textbook to you? I much prefer to have a teacher give a different perspective on the subject than the text - it's easier to learn when you can get the same information in multiple ways.

I'm assuming this is for college. You're paying to be there. If you think he's going to fast, say something; from a lecturer's point of view, there's very little distinction between the "I'm completely lost so there's no point in trying to follow the lecture" look and the "I know this shit like the back of my hand, there's no point in trying to follow this lecture" look.
 
ameoba said:
Would you rather have him stand up there and read the textbook to you? I much prefer to have a teacher give a different perspective on the subject than the text - it's easier to learn when you can get the same information in multiple ways.

I'm assuming this is for college. You're paying to be there. If you think he's going to fast, say something; from a lecturer's point of view, there's very little distinction between the "I'm completely lost so there's no point in trying to follow the lecture" look and the "I know this shit like the back of my hand, there's no point in trying to follow this lecture" look.

Agreed.

You should speak to your teacher after your next class. I've taught Linux and other stuff before, and as others have mentioned, it is a very difficult subject to teach. We as professors/instructors, don't *really* know if you are "getting it" or not. (Although we can only suspect when we see 30 people looking back at us with dumb-founded stares.) :D

Most teachers are very reasonable, and care about their students - I am quite certain he/she will sit down with you and even help you find where to get more help from the book.
 
ameoba said:
Would you rather have him stand up there and read the textbook to you?

You know as well as I that was not the point I was trying to make...

What I mean is that the fundementals of the project he is trying to teach he gives no reference for, in every other college course I have taken the teacher references the book or online material to resort too. He does not.

On a personal note I halfway blame myself, my brother has taken this same programming course from this same teacher and told me about his teaching style.To sum it up he ended up dropping the course because of the frustration, he later took the course again the next semester with another teacher and got a B in the class.
 
Craz said:
You know as well as I that was not the point I was trying to make...

What I mean is that the fundementals of the project he is trying to teach he gives no reference for, in every other college course I have taken the teacher references the book or online material to resort too. He does not.

On a personal note I halfway blame myself, my brother has taken this same programming course from this same teacher and told me about his teaching style.To sum it up he ended up dropping the course because of the frustration, he later took the course again the next semester with another teacher and got a B in the class.

Well, I'm a programmer but I studied Maths at university, and I can tell you that most of my classes were taught that way. The lecturers would always expect you to scribble furiously, not having a clue about 60% of what you've just written down, and then research it afterward. It's the research and self-learning which teaches you, and then you can ask questions which are really bugging you in the tutorials. Other people can only teach you so much.

This isn't kindergarten - you're expected to be able to find this stuff out yourself. If you don't want to do that but would rather be spoonfed, then perhaps you're on the wrong course.
 
:LJ: said:
Well, I'm a programmer but I studied Maths at university, and I can tell you that most of my classes were taught that way. The lecturers would always expect you to scribble furiously, not having a clue about 60% of what you've just written down, and then research it afterward.

We'll stop there. Thanks.

Anyway, I don't expect to be spoonfed. I expect to learn in a classroom with the teacher's experience aiding the process. At the moment reading the ANSI C book in my spare time seems to be a better solution.

I appreciate the feedback, minus the smartass ;)
 
Craz said:
We'll stop there. Thanks.

Anyway, I don't expect to be spoonfed. I expect to learn in a classroom with the teacher's experience aiding the process. At the moment reading the ANSI C book in my spare time seems to be a better solution.

I appreciate the feedback, minus the smartass ;)

Sorry, mate....feeling a little peaky tonight. It's 5am, and this damn project still ain't working ;)
 
:LJ: said:
Sorry, mate....feeling a little peaky tonight. It's 5am, and this damn project still ain't working ;)

Aaaah... the memories of sitting at the Hopkins CS lab @ 5am eating last night's pizza and working on an Object-Oriented Programming project.

Damn... I actually miss those days A LOT nowadays (me thinks about last 17 months being out of school) :(
 
Craz said:
We'll stop there. Thanks.

Anyway, I don't expect to be spoonfed. I expect to learn in a classroom with the teacher's experience aiding the process. At the moment reading the ANSI C book in my spare time seems to be a better solution.

I appreciate the feedback, minus the smartass ;)
that really IS better a lot of the time. I haven't been to CS class in months, still sittin at the top of the class.
 
My instructors would do the same as those you've all experienced. I just didn't pay attention. College professors in general suckass at teaching. They may be smart, but smarts do not equate to good teaching skills.

Don't get me wrong, however. I had some engaging people leading classes, but a programming class wasn't one in which focusing on what was being said was important. I had already learned programming fundamentals once; why should I listen to someone speak about syntax when I can figure out myself (I like figuring things out).

I dunno . . . it's topics like these that make me enjoy being a graduate. Heh. . .if only I had a job. :D er. . . :( or something along those lines. ;)
 
I'm blessed with teachers that put copies of their notes online after each lesson. Makes life a lot easier, but I guess that won't work if he doesn't use any pre-prepared materials.
 
I teach programming at a local college, so from that perspective - you DEFINITELY should talk to your teacher. If he goes to fast - tell him. You're paying to sit in that seat (I assume), and it's your right as a student to ask the instructor to make any reasonable accommodations necessary for you to learn in that class (including slowing down, or handing out copies of his notes to you for future reference). It would not be unreasonable for you to request copies of his notes, or for him to create a set of notes or outlines to hand out, since he does in fact cover material that is not in the book. Hopefully, his goal is the same as yours - that you learn the material - and if that's true, he should be more than willing to make adjustments to help students reach that goal.

Personally, I use a combination of the book and my own experiences to teach a class. I follow the book in the sense that I always reference particular chapters that match what I'm talking about. But, I also tell students that I won't read the book to them, because I feel my purpose in being there is to share what I've learned through experience with them. If you just wanted to learn out of a book, you could buy the book and sit down with it at home and save yourself the tuition and time of attending class. Most students choose to attend a class because they want some direction in learning, or want the benefit of learning from a human being who presumably has some experience in the topic or field.

I find that I spend most of my discussion time going over the logic of programming, and those "intangibles" that books don't seem to cover very well. I like to give lots of examples - both storytelling and concepts examples, as well as code examples other than what's in the book. I always give handouts, particularly for material that I know is not in the book.

In fact, I offer recycling to students who don't want to keep the handouts, since I kill so many trees in the course of a semester that I feel a bit guilty! I have yet to have a student give back my handouts though, and have had people come back later on and say they still use them for reference. I'm glad - hopefully students find them useful.

So on that note - talk to your teacher. Let him know your concerns. I'm sure he'll make accommodations for you. And if he doesn't - and sadly, some teachers just don't care enough to bother - take it a step higher. Contact the coordinator of the program, or the department chair. And if that doesn't get the job done, go to the administration (deans, etc).

One of the most frustrating things for me to see or hear about is a student who isn't satisfied with a course, for very "fixable" reasons, but for one reason or another he/she doesn't let anybody know of their concerns. It's a shame because in most cases, the issues can be resolved, and that benefits everybody.

Good luck!
 
Many of my professors taught from Powerpoint slides/PDF slides that they posted onto the course website or throught the portal (myWPI blackboard), and while other people might like to learn that way, I hated it because all they did was read off the slides.

The best classes I took were the theory classes (algorithms and foundations with NFAs, DFAs, Turing machine, etc) because the professor (who is the man btw) was really into it, and took the time to explain why a theorem/corollary/etc. was important and he made it really fun to learn, and supplemented lectures with some problems that were usually challenging, but if you solved them, you would be prepared for the quizzes. I also just took a class on OO Analysis and Design, and it was a fun class too, since the prof had stuff that was from the book, or from other sources and told us where to look for more info if the lectures weren't good enough (they were for the most part).

Either way, have fun, don't be afraid of talking with the prof if you have a problem.
 
Back
Top