My first love was theatre. As a freshman in high school, I found it to be a welcoming and fun after school club. I auditioned for all of the shows, enrolled in the elective every year and participated in every event. Even while I began to discover my love for math through AP Calculus during my senior year, I was simultaneously absorbed with competing in the state monologue competition and auditioning for colleges. When Willamette University offered me an acting scholarship, the only reason I decided to double major in mathematics was because my grandparents asked me to consider a back-up plan. I was actually hoping to go into education anyway, so during a time when funding for the arts was constantly being cut, it sounded wise to keep my options open.
The acting scholarship made demands on my time that overshadowed anything the math department asked of me. I had to take on a responsibility in each of four shows every year and even my work study was in the theatre's set building shop. Nevertheless, the joy of mathematics continued to grow in me all the while. The math major required a semester of computer science, which I begrudgingly took during my junior year. While I am sure there must have been an exam in that course, I don't remember taking any; I remember working on several projects. I enjoyed it far more than I expected. That was also the same year when, for the fist time, I questioned whether I might prefer to teach math over theatre. The day I found Math for America's ad in the math magazine in the department lobby was a day of fate. "If I can land that fellowship in NYC," I told myself, "I will teach math instead of theatre."
Well, all of that happened. Six years later I found myself well into my career teaching math (and sometimes physics.) One day, I realized if I could revitalize those old programming skills, I could use them to automate routine tasks, saving both time and frustration.
Programming to simplify my work became an addiction. As soon as I realized the ability to automate something simple, I wanted to expand into more complex tasks. I spent hundreds of hours studying programming and integrating it into my day-to-day work. I also began meeting professions and learning what it was like to have a career in computer science. This is how, with no more than a semester of formal course study, I had the nerve to volunteer to teach AP Computer Science.
Unlike what I could say about the coursework I did in earning my credentials to teach mathematics, I cannot remember ever having to prepare for an exam in computer science. The lens through which I understand and experience C.S. isn't like mathematics at all. I would say computer science is a tool – a source of empowerment (or something) – but whatever it is that I find useful about C.S. could easily be said about mathematics. The difference is, what I've learned about math, I've learned through years of studying for exams. I hate to say it, but examinations are the one, consistent trend in every course I've ever taken. In turn, while I prepare my students for an exam year after year in my own math class, I justify it, thinking I myself have witnessed how these exams, however arbitrary, are a means to a greater end. But I cannot say the same thing in a computer science course. To me, computer science is more like theatre.
There is one advantage about studying theatre that is easily missed. Recall: I participated in every production in high school and was required to participate in every production in college. That amounts to twenty four productions over the course of my education. Each of those productions required me to play a varying role in a much greater, artistic vision. Each required that I reach achievable goals –whether it be memorizing lines or building a set - before an inevitable deadline. Each required me to work with a team, respect a chain of command, and rely on others when the pressure was on. Each required me improvise when something outside of my control went amiss – whether it be a costume malfunction or a missed line. By comparison, I wrote essays in English, I wrote lab reports in science, I took exams in math. In my own education, I can think of no other discipline that has provided more than twenty four opportunities to practice such a diversity of real life, professional skills.
So when I started teaching AP Computer Science, I began by asking myself, how could I make computer science for my students what theatre was for me? I began talking to the friends I had made in the industry and asking how they worked on a project. I learned how to use the tools they used to communicate and collaborate and I began to write an outline for a game design project that could be completed by students using the same tools. I wrote all of this into my course syllabus and, after two revisions, it was approved by the college board.
I just completed my first year of teaching AP Computer Science and - while everything I've said up until now paints it much rosier than real life, it was still a wonderful year. If you're curious about what I actually did, you can find everything I gave my students here and here, and I will continue to update these resources throughout my second year. I'm planning on writing more in my next post about how I've actually implemented such a project in addition to preparing students for the AP exam. Until then, I'd like to leave you with a question or two. In STEM classrooms, would you consider exams as commonplace as I do and if so, is there good reason for this? And if – like me – you don't think there is a good reason for this, is there a way to instruct students in what is really important that deemphasizes any required exam without being a detriment to it?