Ask HN: How to Teach Coding?
21–30 of 126 posts
Re: Ask HN: How to Teach Coding?
#22If you have a trainee in a work context, where they're expected to soon be productive in the particular tools your company uses... get them started with those tools, point them to good instructional material, give them appropriate work assignments, and give them lots of mentoring (talk with them at beginning/milestones/end of each assignment, walk them through things they need to know that aren't in the materials, find the right balance of being available for questions but also getting them comfortable finding answers, etc.), and also get them started familiarizing with your organization's stuff and examples of good practices (e.g., reading select internal docs/code, monitoring Git commits, etc.). You'll also notice things they're doing or not doing, that you didn't think to mention before, so you can give tips as you see them. And it's important to be encouraging, not discouraging, even if you're encouraging them to work harder/smarter at something.
Re: Ask HN: How to Teach Coding?
#23[0] https://media.ccc.de/v/35c3-9800-how_to_teach_programming_to... [1] https://htdp.org
Re: Ask HN: How to Teach Coding?
#24So, I'd go for what others have already mentioned. Learn about the person, how they are, how they learn better, what are their interests.
Find something they like and enjoy, so they are motivated in learning.
Be ready and available to answer questions and adapt to their rhythm and needs.
Prepare materials and different options so they can chose their path as they go.
Facilitate them changing their mind, going back and forth, making their own mistakes.
In my case, for example, I learn by doing, and pair programing with somebody helps me a lot, but other people might prefer having a theoretical background first and will want to read a book before diving into coding.
EDIT: adding paragraphs for clarity
Re: Ask HN: How to Teach Coding?
#25Can't really tell objectively how is my process going because my end goal is to be able to sit down imagine a thing a code it, not even close.
I get some concepts a lot better because I am constantly going back to the basics and start over, but still I struggle on low-level real world examples or mid-level problems from websites like codewars and etc.
Here is my advice to you. Make real world examples. What I mean by that, don't make a tutorial how to do a calculator or a weather app or something like that.
Instead, after each new concept or lesson that you make introducing something new about coding, create real life scenario examples with a minimum of 10 examples that your students needs to code. For example make them write 10 different functions that do something in different situations, and niches - business related function, pet related function, vegetables related function, cars related function, water related function and so on.
Why? It is very hard for a new person to grasp the concept of coding, most of the courses and tutorials do that - this is a function, they give you an example with function a + b that returns the sum and that's it. So when you are a complete beginner then you struggle to figure out a function that can applied in complete different situation like a function to sort a music playlist.
By proving different scenarios from the real world for your students and break it into small chunks after each new concept and lesson, it will be easier for them to understand better how you can use this skill in the real world. By making them repeat it with different examples will help them memorize it faster, and recall the solutions when they see something similar that they need to do.
Why this works in my opinion? I live in a small country and in high school I had to learn English. The teacher made us write every single new word that we were introduced to in our notebooks, like minimum of 30 times. Not only that helped to memorize the words and their right way of syntax but then you get to start using them in a more complicated sentences.
My English is far from perfect but I haven't taken any addition classes and it helped me a lot so far.
After all you are also teaching a language, with which you communicate with the computer, I think you can take a look at different disciplines and apply some really good practices to make you a better code teacher.
This of course is from my personal perspective like a super beginner that try to do that in his free time online.
Best of luck to you.
Re: Ask HN: How to Teach Coding?
#26Real teaching is exploring, discovering, inspiring, reminding and pointing in the right direction. Not so much imposing a ready-made system of thought on others. It takes experience, and discipline to get to the point where this is possible without egos crashing the party one way or the other. Someone said that finding good teachers is difficult, and that's true from my experience; but it 's a Sunday walk in the park…
Well after reading your message, i just hope to stick in the "good teacher" category soon.
My feelings say i found a good student who wants to learn, so i have a rock solid base here.
Re: Ask HN: How to Teach Coding?
#27Re: Ask HN: How to Teach Coding?
#28Up to this moment i learned that going with real world examples is the way to go. Since i work in a software department of a real world company and mainly code Inhouse solutions, i am sure that i can provide a lot of them.
Beeing available for Questions and Feedback and provide Learning Material and doing sessions about technology and patterns, before they are needed to solve a problem is the next thing i noted down in my plannings.
I am very thankful for all the Feedback and can't wait to get more!
Re: Ask HN: How to Teach Coding?
#29The concepts of programming can be learned from the noosphere easily, the resources are there to learn but good practices are not. A teacher should pass these as well, in addition to "what is a variable" etc. stuff. And like any course, if the student doesn't actually work on the stuff on his free time it is worthless - another analogy can be a guitar course here. No matter who your teacher is, if you don't play it at home willingly... you won't be able to learn how to play guitar.
My 2 cents...