Saturday, May 10, 2014

Programming Core Concepts

Have you seen the movie, Men in Black?

Benno dressing like a rock star

Ricky dressing like a rock star

Lita, an upcoming nano mentor

Matt forgot to bring his rock star suit

I can see who got the munchkins



(Photography by Jennifer)


The mentors have differing views on teaching computing concepts. Few (including myself) favor constructionism, others are more into instructionism (and lecturing). The 1-1 teaching model is probably the most effective learning model; however, in my opinion, it doesn't translate well into collaborative learning which has been an objective from the start. Given our open-ended and flexible mentoring context (sometimes it's just myself, sometimes we have a full house enough for a comfortable 1-1), I'm becoming less dogmatic about the "one" ideal approach, instead it seems that exposure to multiple differing approaches is working quite well. I like a balanced approach where we do have effective learning as well as a collaborative component, such as pairing (and/or eventually full team collaboration). We'll do what works. Given that we have very committed mentors, we are all eager to make it work. So far, we have done a nice exploratory exposure to different aspects in web programming: web page (html/css), audio, video, animation and graphics. From our last mentor's discussion, we decided to cover core programming concepts: loops, lists/arrays, booleans, if-conditions, and dom events. The hacking model is based on providing enough of a working small program that nano hackers can tinker and add features without deep understanding of the core concepts. It's been effective for engagement and getting things done. It's about time to cover the programming core concepts now.