Live data from Hacker News

Ask HN: How to Teach Coding?

news.ycombinator.com

81–90 of 126 posts

Re: Ask HN: How to Teach Coding?

#81
post #22

There's the entire field of CS Education, besides all the initiatives outside of that. There are also off-the-shelf intro textbooks, such as: https://htdp.org/ If 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 th…

Great link and feedback.

I will give that book a shot!

Git is something on my earlier Todo list, I just introduced the existence of git at first and think we will investigate there more soon.

Re: Ask HN: How to Teach Coding?

#82
Logic was an important piece of the puzzle for me when I was learning. When I started my CS degree, I didn't have this, and some of the courses were extremely helpful in building it.

If you are a very math-oriented person, you might expect that people already know this. But it's not true. We are not born with innate knowledge of it.

I'm talking about stuff like basic propositional logic, maybe a little first-order logic, definitely some boolean algebra, and maybe some Hoare logic.

You might not have to or want to get too formal or hardcore with it, but it really helps to at least have some basic grounding in the subject.

Before I had that grounding, I would spend a lot of effort trying to get code working, but it was often a jumble that I couldn't sort out. The conditions in my if statements were a mess. My loops wouldn't terminate, or I couldn't figure out how to write them.

Re: Ask HN: How to Teach Coding?

#84
This is my advice for someone who didn't success as a software engineering major in University but ended up making a career out of it anyways.

Focus more on the concepts and less on the syntax. Have the student make up their own syntax for the concepts. That will verify they know the concept.

Re: Ask HN: How to Teach Coding?

#85
post #56

I completed the MIT and Harvard introduction to computation courses on EDX. I did it for fun, but both turned out to be truly inspiring on the subject on how to teach CS. It depends on what you’re teaching though. If it’s bringing a new hire up to speed what works best for us is to give them access to a portfolio of how we do things and let them hack away at a problem on their own. If they have questions we help, and…

sounds like you have a lot of programmers and little system engineers / 'devops' engineers. in my opinion it's a different kind of person who can fight environmental details into working with some programs (i.e setting up some environment / server and getting everything tested / deployed) than a person who can write the thing being deployed. Generally i think both have very different information to their disposal. So…

What good is a developer who can’t deliver outside of a debugging/development environment?

I mean, I get what you are saying, but who can afford people who are that specialised?

Re: Ask HN: How to Teach Coding?

#86

1. Tell them what to do but do not tell them how to do it. (Just give a few pointers otherwise they'll be lost.) 2. Give them a playground to fail - Offload any non-business critical tasks and let them make mistakes. No one I know ever learnt programming without making any mistakes. Immediately tell them about best practices and how to avoid such mistakes in future. 3. Show them the impact of their work - There's not…

I have never liked the “make a sandwich” task. It sets people up for failure, because the teacher can always take things literally enough to make the student wrong. (For example, when given the instructions: "Take out two slices of bread", the teacher can rip open the side of the plastic bag rather than use the opening.) Some students end up with the feeling of “If I can’t even explain how to make a sandwich, how wil…

The whole point of the exercise is for the teacher to do it in an unexpected manner. The exercise is about established structures and constraints, isn't it?

The point being "I can't even tell someone how to make a sandwich without establishing the platform we're building on". If you start a python app writing in assembly or Fortran then (in general, you pedants!) it's not going to work.

If you do the same exercise with cooperative people then you don't normally emphasise the point because they do a lot that's not clearly defined, and that hides the point about defining the parameters and metrics you're working with.

Re: Ask HN: How to Teach Coding?

#87
Code reviews and more code reviews. In both directions. Walk him/her through your stuff, explaining "why" as much as "what" and "how". Also, give your trainee a small coding task (ideally, one both simple and also similar to something you've walked them through). Review their stuff together, line by line, providing feedback as you go. Strive for some small wins they can build on to generate confidence. If there's an opportunity to refactor, that can be very instructive too. Also, take the time to sit w/ them and ensure their dev env is in good shape so the tools don't get in the way. Linters and the like can provide solid guardrails. Also, provide guidance on how to look things up (e.g. "mdn" search prefix, and bookmarks for your preferred reference materials). Finally, since your novice developer as yet has no bad habits to unlearn, strive for best practices in everything you do together (eg TDD; in fact starting w/ tests might be the best 1st step after the dev env is set up). /$.02

Re: Ask HN: How to Teach Coding?

#88
Has anybody found that, while coding is simple super to us, your less fortunate friends who are actively stuck in career paths like bartender/waiter/laborer with no path out don't find it as simple?

Do you guys think coding (low level, junior frontend developer type stuff) could be taught to anybody?

Re: Ask HN: How to Teach Coding?

#89
It depends. What is the situation? You've mentioned internships so I am guessing it is business? What is the end goal?

I am far from a programmer but what I have learned has been through exploration. Here's a web page. how can I make a userscript to get rid of that nag screen? (I know I can use a popup blocker or something but I'm trying to learn) I want to make a little browser addon. let me find one that does something similar and look at the code. Search for the particular problem and find answers.

From the comments below it sounds like this person is farther along than that (probably farther along than me) but I think learning how to find answers is one of the best life skills.

Re: Ask HN: How to Teach Coding?

#90
"One size fits all" is what you're looking for at school but you have the luxury of only having one person to mentor so they are a good person to ask first! They will tell you about their learning experiences, what worked and didn't work, etc.
Post reply on HN