“In all domains of learning, the development of expertise occurs only with major investments of time” (Bransford, et. al., 2000, p. 58). Contrary to the testimonies of the books above and many YouTube videos, learning a programming language (especially C) is neither quick nor easy. Frankly, neither are most worthwhile things. As an introduction for non-programmers, C is one of the first and most difficult programming languages, but it still has wide usage because of its simplicity and sheer speed of execution.
In my previous two posts (see the first and second here), I chronicled my journey of learning to this point. I was fortunate to find a great resource in the CS50x class which Professor David Malan and Harvard University have made free to the public with all of the resources included. Mirroring my own pedagogical philosophy, Malan teaches students to not just use the computer, but to really seek to understand how it works. Yet, since many of his students are not computer science majors, CS50x has the broader goal of teaching students the 21st-century skill of thinking more critically and then transferring these skills to other endeavors. This is why he uses the language C as a starting point because it forces students to examine what is going on “under the hood,” as he often says.
There are a plethora of resources available in the program, all of which combine to support the learner in their journey. The core is the video lecture for each week, but this is supported by condensed notes with embedded diagrams and screen captures of the exercises shown in the videos. There is an automated code grader on the connected edX platform which allows the user to get feedback on their work. Finally, there are active social media learning networks on Facebook, Reddit, and many more platforms.
This approach illustrates the power of the TPACK framework. If a teacher with solid pedagogical knowledge truly understands the content at a deep level and has the experience teaching the content to know the best ways and technological tools to teach it, then truly remarkable and life-changing lessons can be taught. It is the combination of the pedagogical, technological and content knowledge skills that enable this transformation (Mishra & Kohler, 2006).
TPACK is reproduced by permission of the publisher, © 2012 by tpack.org
Along the way, I discovered an insight which has shaped my own teaching practice. Even though I had watched each of the videos multiple times and thought I could code on demand, this passive learning did not lead to ultimate understanding or competency. This was made embarrassingly evident in my programming class when I failed miserably at trying to demonstrate a particular concept for a student.
It was not until I actually sat down at the computer and actively struggled with the skills and concepts that I felt like I really understood. I had actually use the thing I was learning about. Similar to learning a sport, I had to do drills to create the muscle memory necessary with the syntax and commands so that I could take ideas from my head and translate them into functioning programs that did something useful.
The future of networked education looks bright. Karen Cator (2010), former Director of the Office of Educational Technology of the U.S. Department of Education, said that a key 21st-century skill is learning how to learn (“How do you”). Because of the pace of technological change, people will most likely work several jobs in their lifetime which will require an acquisition of new skills and a transfer of old skills with each change. Knowing how to navigate the various networks of learning that are available can make the difference between glowing success and dismal failure.
I look forward to continuing my journey in becoming a more competent C programmer and I am excited to see what I can learn after that.
I'm Ready Doc Brown GIF By Back To The Future Trilogy. Used under Fair Use.
References
Bransford, J. D. (2000). How people learn: Brain, mind, experience, and school. National Academy Press.
How Do You Define 21st-Century Learning? One question. Eleven answers. (2010, October 12). Teacher Professional Development Sourcebook, 04(01), 32. https://link.gale.com/apps/doc/A240390984/ITOF?u=msu_main&sid=ebsco&xid=fd29c14c
Mishra, P., & Koehler, M. J. (2006). Technological pedagogical content knowledge: A framework for teacher knowledge. Teachers College Record, 108(6), 1017-1054.
Streeter, K. (2022, February 25). Learning by doing [Video]. YouTube. https://youtu.be/VTfB12IvTqU