Teaching programming online is challenging stuff. All the concepts, tools, and practices we use everyday are not so easy to teach absolute beginners. How do I share all that I’ve learned? One can’t see the beauty in a recursive function without first understanding what a function is. So we start at the bottom.
What is a function? We use them all day but still they are hard to explain. Not coming from a computer science background I was never taught directly how to program from someone so I lack the common analogies and explanations. Making it up as I go. Some things like code style have proven particularly hard to explain. Why should the code look like that vs that? Well.. because thats how its done. The other teachers agree but some times we are at a lack of works.
The collaboration has been difficult, each teacher has different ideas of how to teach. We agree on what to teach more or less but the how varies at times. Reminds me of the words of Larry Wall
“We all agree on the necessity of compromise. We just can’t agree on when it’s necessary to compromise”
- Larry Wall
In volunteering there is less patience, no one is getting paid. Everyone wants to do things in their own way. Separating domains trying not to step on others toes has worked so far. We are all just want to help students learn something that has been so life changing for all of us.
The students are great. They come from all over: Finland, Russia, other Eastern European countries, and Africa. Some are professionals looking to pivot to tech, others refugees looking to begin career in tech. Either way its super exciting to work with people who are just beginning to see the possibles of programming. The sounds of joy over when they solving simple problems with code reminds me why I enjoy programming in the first place. Also a great social interaction during corona.
For a peak at what we are teaching here are the slides. Besides creating curriculum in for form of slides, class work / homework markdown files. I’ve also been creating some videos. They can be found in the snippet section of my site.
I look forward to sharing more as the semester goes on.