[Bluej-discuss] back to Java
Lon Levy
LXL at oregon.k12.wi.us
Tue Oct 16 15:59:02 BST 2007
Part of what I do in the transition from Scheme to Java is to spend almost a week (I teach at a high school) away from the computers. We do one or two role-playing exercises based on those written by David Levine of St. Bonaventure University ( http://www.cs.sbu.edu/dlevine/RolePlay/roleplay.html ). We build up an inheritance and attribute set for fruit (orange, apple, lemon) and then for transportation (bus, car, bicycle) and look at the relationships (culminating with the terrible joke that a car is neither citrus nor fruit but might nonetheless be a lemon).
Once in Java, I spend a lot of time on a set of small lies:
All classes start with an upper case letter. All fields and methods start with lower case letters. Methods have parenthesis but fields do not. .this is required for all instance field calls, all instance method calls, and all internal instance constructor calls (where one constructor is called by another).
That and taking advantage of BlueJ's graphical layout of the classes and objects gives my pre-AP students a pretty good feel for what Java is like. I don't teach a lot of Java that last quarter of their first year in computer science, just a lot of Java syntax. Most of the learning they do in their first year, algorithms and problem solving, is not in Java. Most of the syntax they learn is in Java.
The second year class is AP Computer Science "AB": Data Structures. That is a more select group of students who can handle a bit more rigor. They have to handle more rigor because of concepts like overloading a method.
That first week away from the computers makes a huge difference for my students. The concept of an object, where data and functions are encapsulated together along with non-instantiable data and functions in the originating class, is a lot for kids to wrap their brains around. Again, BlueJ helps a great deal accomplishing that end.
Stephen, I have talked with a number of the PLT team about ProfessorJ. I like the concept of language levels. I wish I could do it in BlueJ. Or I wish that I could pick and choose which elements to include at which language levels in ProfessorJ. Neither is a perfect IDE for my students. For now, at least, BlueJ has the edge with the graphical layout. I tip my hat to Michael Kolling, to Kathy Gray, and to the many others who are providing so many great tools for today's students.
Regards,
Lon.
Lon Levy, MS-CSEd
Computer Science Teacher
Volunteer Computer Club Advisor
Oregon High School
608-835-1316
Lon.Levy at oregonsd.org
LXL at oregon.k12.wi.us
cs at levytree.net
non somnos requiem
>>> Stephen Bloch <sbloch at adelphi.edu> 10/16/2007 9:30 AM >>>
Lon writes:
>Most of my students find the infix notation of Java trivial. They
>have more confusion with dot notation (we spend a lot of time on
>that) and remembering when something is a class and when it is an
>object (which BlueJ helps considerably).
I don't know how many times I've seen students write
class Posn(int x, int y) {
...
}
because they're confused about what a "class" is, as opposed to a
method or an object.
How do people get this across?
--
Stephen Bloch
sbloch at adelphi.edu
_______________________________________________
mailing list bluej-discuss at bluej.org
To unsubscribe or change your preferences, go to
http://lists.bluej.org/mailman/listinfo/bluej-discuss
More information about the bluej-discuss
mailing list