I have taught operating systems for many years to undergraduate and graduate students. Operating systems are a complex technology difficult to master and it is easy for students to fall into unproductive moods while studying them. More often than I would like, my students were unable to escape their unproductive moods and wound up not learning the technology and being dissatisfied with the course.
We often encounter the same problem in our professional work. New technologies are constantly emerging and some are producing disruptive avalanches of change.3,4 The emerging technologies are unfamiliar, complex, and difficult to master. We fall into unproductive moods and wind up missing deadlines, getting left behind other colleagues, or being swept away by an avalanche of change. Since we do not often pay attention to our moods, the obstruction to learning seems like a mysterious, unidentifiable force that compounds our frustration.1
In every aspect of learning, teachers are often guilty of forgetting who their learners are. The same goes with studying computers, educators in the field often forget that every learner have backgrounds and goals totally different from each other. Often times they assume that most of their learners has had some high level of exposure to computing. This assumption often brings to the learner confusion and added frustration, many times telling themselves that they are not for this field or they are simply not smart enough to be in this field.
When I was in high school, Addison-Wesley published a series of books for computing fundamentals. I am neither their salesman nor their representative from marketing, but this series that they created revolved around the concept on what can go wrong?. For beginners this is the preferred pedagogy, giving the breathing space to learn and make mistakes. To a beginner, to a learner, the hardest part is hitting a dead end. Helping learners recover from these dead ends make them more aware of why computing failed, and how it can be avoided. This encouragement and knowledge will help them hurdle through their level of noob-ness to a level that understands and appreciates, making them ready for a more advance learning.
Their peers that they study with will also have a big impact on their learning. Understanding the reality that not all learners are like them, that each learner does not have the same starting point as them, will make them more ready to help those who are learning with them. The practice of paired programming is a very good example of this concept. Both learners review their code, both learners learn from each other thus building up each others knowledge in the domain at the same time embodying the idea of working as part of a team.
Computing offers a lot of promise, and the only way to encourage more learners to enter this domain is to make the environment conducive to learning. This is not to water down the requirements or the instructions but to make a better choice of pedagogy to use.
A.S. in Mathematics
These are all good observations to help teachers appreciate that their students are beginners. Beginners frequently fall in bad moods such as overwhelm, frustration, and embarrassment. One of the jobs of a teacher is to help students return to the sense of adventure and celebration of aha! discoveries. A procedure like paired programming helps -- but the paired beginners will still need help from their teacher when they encounter unproductive moods.
And don't forget that you are often a beginner. Students are not the only beginners. Help yourself past these unproductive moods when you must learn something new and you don't know what is going on.
-- Peter Denning
Displaying all 2 comments