Teaching new dogs old tricks
In my wildest dreams I never imagined teaching as part of my career path. Seeing my goofy face on the Parsons’ faculty page is one of the great thrills of my career. I’ve been teaching about two years now. I teach Databases, which introduces the concept of saving data to design students just becoming accustomed to the world of programming and Dynamic Interfaces, which is mostly a discussion-led class about what makes good user experience and why, with a little bit of technique sprinkled in.
You’ll note that in the above descriptions I didn’t mention a specific programming language being taught. The problem with teaching students specific programming languages or platforms is that they’re tied to them forever. They don’t want to learn Java because PHP is good enough. They don’t want to learn how to fix browser issues in IE6 because they were trained that Flash did that for them. And yet, they need some sort of chops — design, development or otherwise in order to make it in the real world.
So how’s a student learn in these things? What should they learn? Is Photoshop a valuable skill… or is understanding typography? How far do you go teaching a trade before all you’ve taught them is how to survive right now?
In fact, is Photoshop even a trade skill? We write down that we’re developers, creative programmers, art directors, user experience specialists, information architects and designers. We say we’ve got specific expertise in digital. It seems that that’s just it — our trade is digital. And if that’s so, what are the learnable skills to that trade? The software we use, the concepts around why we use them or something else? That’s a tough question to answer and thus makes teaching harder still.
I got my BFA from the University of the Arts in Multimedia. That term seems to be the most relevant in not just what students learn, but how they’re taught. We can draw from the techniques of liberal arts, fine arts, technical schools and culinary institutions in finding the right way to engage students. At some point their own style and drive will take them where they want to go. As educators, we need to put them in a position to learn how to learn. This starts by helping them figure out how to figure things out… and then challenging them to push themselves creatively.
As Leslie Jensen-Inman points out, it’s very difficult for universities to adjust their curriculum in the increasingly quickening pace of digital revolution. Take programming languages, for example. An undergraduate is in school four years. The iPhone SDK didn’t come out until March 2008. That means universities had two years to react to the relevance of this market, train or staff up with an appropriate professor, build a course into the program and educate the students just to make sure students were exposed to the language before they graduate. It’s very difficult for any individual to want to dive into a new environment like that, it’s harder still to have an entire academic program roll with the punches.
I encourage my students to focus on making good projects. I don’t mind if they cut and paste code from something they find online, ask their peers, or ask me. My Databases class has typically seen an assignment that like “Build your parent’s site, but make it the best site you’d ever make for them.” Or an assignment I ripped from one of my favorite professors when I was an undergrad, “build a site that represents the motifs of a movie or music album you love.” I have the student’s vote on their favorite when the assignment is complete, and the winner gets a Code Ninja trophy I had made.
In other words, I try to put them in a position to complete a homework assignment and add to their portfolio at the same time. It’s up to them to push themselves.
During class I try to stay idealistic. I don’t think of a MySQL table as the place where shopping cart results and WordPress blog junk goes… I think of it as the magic behind the Legend of Zelda. I try to impart on them that being creative with programming, design and user experience is more important than understanding what objects and classes and such mean. If they’re passionate, they’ll learn what that is on their own time anyway.
And I try to apply this same idealism to my career. I want to write the best code I can because I want to do the best job possible… but I’m not just a coder. I’d gladly sacrifice the best code for the best user experience. I think that’s a big piece of the puzzle missing in today’s age, and makes it all the more important to make sure the next generation is equipped to make the better decisions on technologies than the current generation is.
Note: This post was originally published on jamie.kosoy.net in 2010.