I’m back from Oxford, after an intense six weeks of teaching “Computational Freakonomics” and “Media Computation.” Since I did new things in Media Computation this term, I put together a little survey to get students’ feedback on what I did — not for research publication, but to inform me as a teacher. It’s complicated to interpret their responses. Only 11 of my 22 students completed my survey, so the results may not be representative of the whole class. (The class was 10 males and 12 females. I didn’t ask about gender on the survey, so I don’t know gender of the respondents.) The first thing I was wondering was whether the worked examples was perceived by students as helping them learn. “I found it useful to type in Python programs and figure them out at the start of class.” 4 strongly agree, 6 agree, 1 neutral.
That seems generally positive — students thought that the worked examples were useful. How about helping with Python syntax? ”Getting the characters exactly right (the syntax of Python) was difficult.” 2 agree, 1 neutral, 8 disagree. That’s in the right direction.
In the written portion, several students commented that they liked being able to focus on “understanding” programs “rather than just executing them.” One student even suggested that I could have questions about the program after they studied them, or I could have them make a change to the program afterward, to demonstrate understanding. I loved this idea, and particularly loved that it was suggested by a student. It indicates seeing a value in understanding programming, even before doing programming, while seeing value in that, too. This worked examples approach really does lead to a different way of thinking about introductory computer science: Programs as something to study first, before designing and engineering them. When I asked students what their favorite part of the course was, and what their least favorite part of the course was, Excel showed up on both lists (though more often on the least favorite part). Here’s one of the questions that stymied me to interpret: “Python is harder to learn and use than Excel.” Could not be a more perfect bell curve — what does that mean?!?
“I wish I could have learned more Excel in this course.” An almost perfectly uniform distribution!
Their reaction to Excel is so interesting. On the written parts of the survey, they told me how important it was for them to learn Excel, that it was very important for their careers. But they did not really like doing something as inauthentic (my word, not their’s) as pixel manipulation in Excel. They wished they could have done something more useful, like computing “expenses.”
The responses above suggest to me a hypothesis: The students don’t really know how to think about Excel in relation to Python. It’s as if they’re two different things, not two forms of the same thing. I was hoping for more of the latter, by doing pixel manipulations in both Python and Excel. This may be someplace where prior understanding influences the future understanding. I suspect that the students classify these things as.
“Excel is for business. It’s not for computing. Doing pixel manipulations in Excel is just weird and painful.”
“Python is for computing. I have to go through it, but it doesn’t really have much to do with my future career.” On the statement, “Learning programming as we have in this course is not useful to me,” 3 were neutral, and 8 disagreed. I read that as, “It’s okay. Sorta.” Something that I always worry about: Are we helping students to develop their sense of self-efficacy in an introductory course, especially for non-majors?
“I am more confident using computers now, after taking this course.” Quite positive: 10 agree, 1 neutral.
“I think differently about computers and how they work since taking this class.” Could not get much more positive: 8 strongly agree, 6 agree!
And yet, “I am not the kind of person who is good with computers.” Mostly, students agree with that: 3 strongly agree, 4 agree, 1 neutral, 3 disagree. One average, my students still don’t see themselves as among the people who are “good” with computers.
There was lots for me to be happy about. Some students said that the lectures on algorithmic complexity and the storage hierarchy were among their favorites; that they would have liked to have learned more about the “big questions” of CS; and they they liked writing programs. On the statement, “I learned interesting and useful computer science in this course,” 3 students strongly agreed, and 8 agreed. They got that this was about computer science, and some of them even found that useful. Even in a class of only 22, even seeing them every day for hours, even with grading all their papers — I’m still surprised, intrigued, and confounded by how they think about all of this. That’s fine by me. As a teacher and a researcher, my job isn’t done yet.