Two posts in an hour — lots on my mind.
Assumption: all students coming into 345/545 are at least novices at HCI by virtue of their having used computers and thought about them.
Assumption: many students are already Advanced Beginners at HCI. They have done some elementary GUI programming, read at least a few chapters or tutorials on the topic. They can already follow simple instructions. Those students who are only novices will become advanced beginners during the semester by going through the Android Development tutorials and documentation. (NB: if a student doesn’t do this, they may stay a novice—certainly the squandering of a unique learning experience).
Observation: the biggest hurdle is getting over the second-order ignorance of the advanced beginner, making the transcendent leap into competent, which is my target for all students. I’m hoping some may actually hop up to Proficient, if they put in the effort, but Competent is my target. For what it’s worth, Andy Hunt told me in private email that Competent is his target for undergraduates and Proficient for those with masters degrees.
Conclusion: design a learning experience that forces students to confront their second-order ignorance. I do not think this can effectively be done by lectures and assignments. Rather, get students intrinsically motivated by allowing them to define their own goals and metrics of success, forcing them into a metacognitive situation. I need to provide the scaffolding for this, of course.
A few students have told me that they are loving the class. I suspect they love it because they “get it”, and it’s not just the novelty of Android and mobile apps. As the Shmenge brothers say, how do you get the little baby to take the aspirin?