I’d like to explain why, in my previous post, I showed the steps through which I (awkwardly) completed an exercise for my Coursera class.
For one thing, I want teachers of programming to know that sharing of answers, in the case of learning code, is not a bad thing. In particular, for a MOOC class (such as my Coursera class) where one has up to 100 times to attempt a quiz (until one gets 100% right or tired of doing it), one certainly has plenty of opportunities to get help elsewhere. So it defies logic that showing code in the Help Forum is not allowed. Seeing the answer can be a very effective way of learning, at least in the early stages. In fact, if a student has no clue where to start, let alone continue, she may be discouraged to the point of quitting. One post titled “Ready to give up” received a huge number of responses, both from teaching assistants and from fellow students with offers of encouragement and “sample” code. Although I have not seen too many “dramatic” posts like this one, I have seen a lot of expressions of frustration.
Secondly, programming course design should take into consideration those who truly want to learn, who will try hard, but who lack blocks of fundamental knowledge – and who may not even be able to articulate what the missing knowledge may be. A MOOC class certainly should not immediately assume students are lazy or stupid. It is easy for people who teach – who decide what to emphasize, what direction the argument should take, and what minutia to test on – to cast students who ask seemingly simple questions as being lazy or stupid. Classes, especially MOOC classes, designed for mass appeal, must be prepared to provide assistance for people with massive knowledge gaps for the particular field in question. Even those of us who can break down the steps and figure out where the “knot” is, aka having better learning skills, cannot always learn everything without help. Sometimes, the knowledge gap is so fundamental that people who teach forget to cover it. That is ok, but please don’t get irritated when questions come up that seem to be below your level.
When a person willingly signs up for a class, that person has enough initiative in her and can’t be 100% lazy. Those who are truly lazy probably wouldn’t take the time and effort to ask questions – and ask follow-up questions. Those who are truly stupid would not take an online class on programming. Though all teachers enjoy having “smart” students in a class, it is wise not to equate “smart” with “advanced.” Learners of programming, gifted or otherwise with a solid foundation in programming, would not choose Programming 101, would they?
Whenever I begin to learn a subject, I am always reminded how incredible elementary school teachers are. I have spent many years teaching university level classes. I know I’d be a terrible failure as a tertiary school teacher, at least initially, until I learn how to teach at that level. That is because so much of what I, a university professor, assume to be “common knowledge” in a college classroom usually has not been learned at the secondary level. It is the secondary school teacher that bridges the knowledge gaps so the student comes to college equipped with “common knowledge.” As a college professor, I have the easy task of building upon that foundation – It’s like explaining to potential homebuyers how to appreciate the potential of a house without having to lay the foundation, put up the frame, or install the windows, doors, and roof. A lot of the grunt work has been done – by others.
Granted, there are lazy people, and there are definitely stupid people (or else who’d be there to receive the Darwin Awards?). I have encountered students who aren’t best suited to be a writer or a linguist or a thinker, but who certainly have plenty of talent elsewhere – I can think of a few who I’d like to have near me should there be a calamity of any kind. For this reason, I feel it’d be stupid of me to call them stupid.
Thirdly, people who teach should not forget what it feels like to be a student trying to understand a lecture – it is like trying to get into the professor’s head. Student cannot necessarily figure out what a goal is for an exercise, sometimes even when the professor explicitly explains it. That’s the nature of learning: We cannot learn everything all at once. Sometimes we learn a skill, but forget the purpose of that skill. Sometimes we learn the purpose of a skill, but have trouble learning that skill. Certain things require repeated explaining. Just because the professor has said a thing once doesn’t mean that that piece of information has registered. And certainly don’t expect students to completely grasp what the professor intends to say. There is nothing wrong with guessing, if that is the explicit goal of the class. If a professor said, “If you can guess what I am thinking, you’ll get an A,” I would either drop the class or do my best to guess. But learning should NOT be about guessing what’s in a professor’s head. When a student refuses to do so, she is hardly being lazy.
For all my complaints, one may get the impression that I am dissatisfied with my Coursera class, Programming for Everyone. THAT is absolutely false. In fact, I can’t imagine lectures or textbooks on such a technical subject can get any better in terms of bridging the gap between students and the knowledge they need to master. Because this is an online class, a MOOC class with thousands of students, much of what a student needs in terms of support comes from the teaching assistants. Yet, the easy accessibility is not always present from the support staff.
To be continued…
Images from http://openclipart.org
©YUMEI LEVENTHAL AND CODE BY LINE 2015- ALL RIGHTS RESERVED.