On-the-Fly Programming Lessons
This is what programming looks like. I didn’t expect a lesson tonight, but it sort of just happened in the course of our project-planning conversation.
As context, I know HTML/CSS. I tried learning PHP online last year but didn’t get very far. I tried to learn Flash last summer from a book but only got to chapter 2. A couple weeks ago, I started a Ruby on Rails tutorial online, and got as far as “Hello World” in the Terminal.
What’s missing from the books and the online tutorials is that they all skip the context and the framing. I need a mental model of how this all works. And I need a teacher(s) who is willing to meet me where I am instead of me trying to catch up to where the book wants me to start. It also helps to work with real examples and something you’ re trying to actually build.
For me, a mental model includes: what the file looks like and where it’s stored and how Rails plays together with HTML in the same file.
As Ryan was walking me through his sketched mental model of how Model-Views-Controller theory works, I was able to sketch out my own model, and we were able to trade metaphors. Then Chap showed me some programming in real time on his laptop and flipped through the various screens he had open in response to some of my questions. Now, some of the puzzle pieces I had picked up trying to DIY are starting to make sense.
So I’m going to try to take advantage of the people in our class who are already great at programming and learn some stuff. And it’s cool that we don’t have to sit through a typical class on programming when we will learn it through trial and error as we build our own stuff. Side-by-side programming is better than teacher-projector-group learning in this case.
And in validation of the work Ruby and Alex are doing on their (as-of-yet-unnamed) peer teaching project idea, Ryan totally went from sleepy to chipper as he was “teaching.” He even gave me a pop quiz, made me tell the process back to him, and slightly annoyed me—which are all signs of a good teacher!
P.S. (or maybe P.S.A.) Have you backed up lately? My back-up external harddrive failed last week, and now my laptop is acting up. Very funny…