Hello All, In the present economic situations, getting a computer job is so difficult. And last week I got a offer to teach Java ( I have 1 year of experience in Java). it consists of 4hrs class * 10 days ( 1 day in a week, so 10 weeks) for a small salary. I am preparing slides but any suggestions on how to start the class ( especially 1st week). I should teach OOPs concepts for the first week ( 4 hrs). Not sure if I can just teach OOPs for 4hrs!!! ( I can finish it in 1 hr). Any Suggestions would be very helpful. Regards Adithi.
Maybe you could fill in the remaining three OOP hours with stuff like simple UML diagrams and how they relate to OOP, and maybe one or two "from the trenches" stories of how you used OOP to solve a particular problem. (Unlike most programmers whose works I've read, I don't believe OOP is a cure-all or the only way to program. There are times when a simple procedural/structured approach is appropriate, even in Java, though Java would require an OO "wrapper" to any procedural code.) Good luck and congratulations!
Give a man a fish, he'll eat for one day. Teach a man to fish, he'll drink all your beer.
Cheers, Jeff (SCJP 1.4, SCJD in progress, if you can call that progress...)
Have you had any other teaching experience or training? In my experience I always find that things take a lot longer to properly teach than I naively expect. People have such a wide range of motivation and learning styles that it's effectively impossible to teach a topic in one way that suits everyone. In practice I usually need to reinforce the teaching by covering the same basic material in several different ways (say an open discussion of needs and principles, a short lecture/slide-show of current thinking, and a creative, exploratory or problem-solving practical exercise) The very first thing you should do in the first lesson (or before, if you can) is find out about your students. The course will be a waste of time if you pitch the material wrong. Find out what experience your learners have already, and weave your material into that context: if your students are most/all C/C++ programmers, intrioduce Java features in terms of differences from C/C++. If your students work in developing corporate middleware, emphasis how to use Java on the server side, and so on. Find out how they learn and what motivates them to pay attention, then play to those strengths. If you plan to use practical programming exercises in your course, you should take some time during the first lesson to get them up all up to the same level of basic familiarity with the system you will be using for the work. Let them play (and/or do some simple familiarity exercises) with whatever editor you plan to use (or evaluate and choose from several, if you allow that). Give them a pre-written code example, so they can get comfortable with compiling and running stuff. Introduce how you (or they) will be testing/evaluating any code they produce and how you will be assessing the course as a whole. It's vital that students feel comfortable with what is expected of them and what the course will cover as early as possible. If they are worried about things like this you will find it much harder to get your message across. This hasn't really been much about teaching Javaspecifically, but I hope it has helped.
We start out with the basic questions like "what is your programming background?", "Languages you know", etc. I use different approaches based on whetyer I have a class with computer experience or not. The list below is the order we cover material in our intro course: Java Environment Basic Syntax OOP Concepts,Simple Programs Variables, Prog. Environment Statements, Assignments, Operators, Basic Console Input Debug Techniques, Coding Style Common Problems, Code Analysis Decisions Advanced Decisions Repetitive Behavior Methods This is the first of three courses. (RIT also has a rather intense course for experienced programmers that attempts to cover the entire langugae in 10 weeks.) We do spend considerable time on OOP concepts and problem solving skills. Since I deal with college freshmen, many come in without a lot of problem solving experience. We go over breaking a problem down. We use CRC cards and UML as design tools. What text are you using (if any)? That may affect how you approach the material.