November 28th, 2011, 04:27 PM
Teaching programming, any advice?
I am a teacher and I have been teaching for many years. I have taught a few programming languages at different levels at a community college.
If you have never taught programming then let me tell you that it is a lot more difficult than teaching more traditional subjects; especially when your students are weak. So for all these years I have managed to survive and have actually done quite well. However this year I have been asked to teach Java to two groups of first year university students but the problem is that most of them are not at the right level since this is a franchise type of course for a university and these are not traditional university students (e.g. older people with little IT knowledge, who decided to go back into education) and some students really struggle. For example we are a few weeks into the course and there are some students who still donít know what a variable is! They learn and forget. Trust me I am not a poor teacher and I was especially asked to teach these courses because of my ability, but there is only so much you can do with weak students. Some of the better students are getting frustrated with how slow progress is. I am really going slowly but the weaker students say that I am too fast!
So I need some advice. I really want these people to learn. I know for a fact that some other teachers would just let them get away with plagiarism and may even assist them with their work but that isnít me.
I think the way to solve this problem is to make them do lots of graded (in terms of difficulty) exercises starting with the very basics and then very slowly and gradually increasing in difficulty. This will ensure that the students keep having to write out the code over and over again whilst slowly increasing their knowledge and understanding. I canít find any material online like that. Most of the material is not suitable for very slow learners. Can anyone help me with this?
Also what Java textbook would you recommend for a mixed ability class of novice programming students?
December 1st, 2011, 09:36 AM
What most administrators and older students don't realize is that "computer science 101" has a prerequisite of "general computers 605." If they're not sufficiently advanced in general computer knowledge, they're going to be spending their time learning how to save a document rather than how to clone a variable.
The first thing you need to do is isolate their misunderstandings and their fundamental problems. You say they don't know what a variable is. Make a poster defining variable types, hang it in a visible area.
As for the project specifications, start them with the very basics. Make a form with two inputs, a button, and a label. When they click the button, the numbers in the inputs are added together and the result is put in the label.
From there, you can move on to slightly more complex math. Maybe doing a factorial calculation in a loop. Maybe calculating logarithms longhand (probably not). You can get through a lecture on every single control structure with the "two inputs, button, output" form. Once they're comfortable with control structures, then you can move on to other form elements. learn the algorithms first, then the interfaces.
As for the book, a "for dummies" guide might actually be good, but all the O'Reilly books are of high quality and they're available at local bookstores for the most part.
HEY! YOU! Read the New User Guide and Forum Rules
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin
"The greatest tragedy of this changing society is that people who never knew what it was like before will simply assume that this is the way things are supposed to be." -2600 Magazine, Fall 2002
Think we're being rude? Maybe you asked a bad question
or you're a Help Vampire.
Trying to argue intelligently? Please read this.