The first lesson for me is that learning Java syntax and OO at the same time is information overload. Worse, elements of Java syntax actually get in the way of effective understand of OO, particularly statics. However, using the traditional pattern of Java teaching, it's hard to get away from statics, because the static main method is one of the first things we teach!
So I and the team put our heads together and we came up with a few ideas:
- Spend two or three days just teaching OO concepts, devoid of any Java sytax. The CRC card execise fits into this.
- The last part of teaching OO concepts could be UML. They can model a system using a UML tool, then... generate the Java code! Voila! They've created the stubs for a Java application without even knowing Java! That should be a good segue for learning Java.
- Instead of exercises using the main method, we'll give them classes with method stubs... and UNIT TESTS! They have to implement the method stubs to make the unit tests pass. That way, while they only need to know a narrow aspect of the Java language to do an exercise, they get to see how a Java class is properly written and they get a taste of Test-Driven Development!
hi calen,
ReplyDeletenice to know that your team is thinking on ways on ways how to lower the entry point to learning Java.
i hope this kind of thinking/approach becomes a trend especially on FOSS advocacy. that would greatly accelerate adoption.
rock on!
nox
Thanks, Nox!
ReplyDeleteOur currently-running boot camps will graduate almost 50 Java developers! That's 50 more competent professionals that can contribute to the Philippine economy!
It's been very exciting and we have high hopes for the students that we are training.
Hi Sir Calen,
ReplyDeleteI just love when one is concerned about the Philippine economy and society. Hopefully, we developers can significantly contribute in the Philippine's progress.
good blog
ReplyDeletehello
Hey, thanks! =)
ReplyDelete