For my How to Teach Webcraft and Programming class, we are supposed to describe our students. So, below are some of my descriptions of students present and past as well as myself as a student. I’ve had a wide range of students, but interestingly, they do sort of fit into categories.
I’ve had/have a lot of students who have tremendous artistic talent. They often know their way around Photoshop or Illustrator and are looking to take their talents to the web or into graphics through programming. Many of these, maybe most, are quite independent, perhaps because they have worked independently on their art. They are often the kind of student I can give some key Google terms to or hand them a book and they’ll come back having figured out something cool. Past students have created fabulous flash videos or beautiful-looking web sites. Not all, but some, get confused by the logic of scripting and get frustrated when scripting “messes up” their work.
To me, this is the classic CS student in many ways. These are the kids who enter the science fair without being told to, who read a lot, who take an overload of courses, and, of course, who hack their own computers at the age of 5. Interestingly, my students often do everything but that last one. So, I get students with the smarts and drive to accomplish anything, but who avoid the innards of computers. These students usually pick up things fast, but not always. Sometimes they get frustrated when they don’t because usually everything comes pretty easy to them. But I do find them to be persistent, though sometimes not as independent as the artist-types above.
The Reluctant Learner
I get these when I teach required classes or required training sessions. These students have run the gamut from adults tasked with maintaining a web site to young adults and kids required to take a “computer” class. In the case of required training, the students often really need to understand what I’m teaching. Maybe they need to keep their jobs or they want to get a new one. Whatever it is, the stakes are often high. And yet, they’re not necessarily motivated to learn. Or they don’t have the prerequisite knowledge to learn what I’m now teaching them. On the opposite end of the spectrum, I’ll have students who are required to take a class, but it’s not graded or doesn’t “count” or some such. In other words, the stakes are really low. Sometimes these actually turn out well, if I can find something that will tap into their interests. However, if I can’t find a way to connect what I’m teaching with what these students want or need, then it’s often a lost cause.
I’ve liked computers since I was about 12 when I got Pong. I learned a little bit of BASIC in 7th grade, but mostly I play Haunted House (on a Tandy) and Lemonade Stand (on an Apple). I took a CS class in college (BASIC again). After years of pursuing an English degree, I landed in a tech job, having to learn most of what I needed to know on my own. I’ve continued to move deeper into teaching computing and now teach CS. I’ve run into people like myself teaching in K-12 schools. We are what one might call tech gurus, but we were never formally trained programmers. Some of us have worked as programmers or developers, but most of us have just learned from books or courses here and there. I learn primarily through practice, trying to program nearly every day, often setting myself increasingly difficult tasks. What I’m learning is that while those with full CS degrees can often tap into much of their past material, the field changes so quickly that everyone is almost always learning.