3 ms·
What is the goal of the class? Is it to become a professional programmer or more of an introduction to programming? If the answer is the first, nothing beats h
by d0m 16y ago
What is the goal of the class? Is it to become a professional programmer or more of an introduction to programming?
If the answer is the first, nothing beats hours of hacking and curiosity to learn in their free time.
However, if the answer is the second, maybe another approach could be used. For instance, is it really important to know the syntax of all small details if those students won't even use it? (Remember, I'm assuming it's more of an introduction).
Maybe, something more educational, would be to have a bigger view of what software engineer is. Talking about the re-usability of modules, the different platforms/languages/patterns/paradigms or real world example huge projects. This way, the student will get a way better "feeling" of what programming is rather than trying to get a theoretical/trivial program to compile due to lack of experiences in that field.
Another suggestion would be to give the students a better set of high level tools to solve bigger problems. Let them have the role of a software architect working for Apple which is working on the next version of iPhone. So, instead of focusing on the small details, the student choose the features, carefully design the UI, think in terms of money/time, etc.
- regularfry 16y ago> If the answer is the first, nothing beats hours of hacking and curiosity to learn in their free time. Why need that be true? There's nothing in the nature of the problem to prevent there being a method for improving skills at a rate faster than hours spent hacking would. I just don't know what it might look like. It's definitely the case that small study groups can accelerate learning, but it's so dependent on the composition of the groups that I don't think it's generalisable reliably. Dedicated one-on-one tuition can be astonishingly effective, but it's highly dependent on the tutor and again, not generalisable until we can figure out how to efficiently train tutors.