Last week, engage 3D Education Director James McNutt shared his thoughts on our new Python course, computational thinking, and learning in community on the 4th Floor’s blog. We’re grateful to Mary and the whole 4th Floor team for letting us post his comments here as well. Like what you’re reading and want to join the Python fun? E-mail James at james[at]engage3d[dot]org.
Regardless of motivation or interest, learning new skills on your own is difficult, to say the least. Assuming you find a few good resources, have an idea of the ways you learn best, and have the discipline to stick to a self-prescribed regimen, there’s a good chance that you’ll lose interest, deviate from your schedule, and eventually give up. Why is that? While the answer to that question is quite complicated and depends on which field of motivational psychology you adopt, we could answer it in short by simply saying “feedback.”
As learners, we want to see ourselves progressing, and we often discount our achievements without the context of others and the reinforcement of feedback on our progress. People put some unreasonable expectations on themselves. One of the most difficult aspects of learning something alone is developing a vocabulary around it. In general we develop our lexicon by a means of association. We hear a word and make a rough idea of what it means and then refine it through context as we hear it used. During that process we have to be alright with incorrectly using those words and using feedback to further inform our understanding of the word.
When learning in a community we have other learners around who are doing that same thing so the stake for mistakes are lowered, and we feel more open to take risks. And often fellow learners can explain difficult concepts in a more meaningful way as a result of having similarly developed vocabularies. Having a community to work alongside provides that context and feedback.
One other aspect that I felt rather strongly about when planning this course was using what is referred to as a “flipped classroom” structure. A flipped classroom is a design in which most of the formal content is covered outside the classroom so that during class students can learn by experience and meaningful practice with the skill that is being learned. In the context of the Community Py class, this will take the form of students watching lectures provided by MIT’s Open Courseware during the week before classes so that during classes they can concentrate on actual programming, but we certainly will spend at least a portion of class debriefing.
What are the benefits of such a design?
Especially in a class like this where all the students are coming from different backgrounds and knowledge bases and even in traditional primary and secondary education, it is simply unreasonable to assume that students are learning at the same rate. A good number of students will be ahead of the curve and held back by the teacher’s pace in a traditional classroom and on the other end of the spectrum there are always a number of students lacking fundamental/key knowledge for accessing the lecture. What results? Teaching to the relative few students who are on the same pace.
Instead, with recorded lessons outside of class followed by in class discussion, students can move at their own pace. Students build the metacognition to realize that they need to re-watch content or to notice that they are getting bored and losing interest and might be best served by skipping ahead and judging whether their knowledge base is strong enough to account for the lack of continuity. So, when it’s time for everyone to come together again everyone is on the same page.
Lastly, I want to foster a community around computational thinking and computer science. I think Python is a terrific language for learning to program, but the language isn’t the important part; the important part is that people are gaining the skill of thinking like computer scientists. I’m not trying to deify computer science, but I am being pragmatic in the assumption that it is an important skill for the future. A recent article on Forbes.com quoted Rich Milgram, CEO of career network Beyond stating “The most sought-after skill-sets for recruiters are becoming less and less about proficiency in specific processes and coding languages, and more about how you think systems through and work within the context of the team…Having the mindset to apply it, having the mindset and logic to process it, being thorough and detail-oriented while doing so, these are the critical skills.” Similarly, Dr. Guttag of MIT said that computational thinking is one of the most essential skills for entry into the job market not only for future generations but for current ones as well.
We need a more visible community around this way of thinking that acknowledges its importance in education and is dedicated to fostering a community.