Live data from Hacker News

Teaching how to code is broken

neil.computer

71–80 of 258 posts

Re: Teaching how to code is broken

#71
post #5

I have opinions™, but mostly agree with this article. Most intro coding classes and course materials read more like a glossary than a lesson. This contributes (rather directly) to the failure to retain a diverse student base in intro CS program. We've gotten a lot better at recruiting CS students from underrepresented groups (women and BIPOC chiefly), but numbers drop off quickly[1]. Studies in math education have sh…

Yes, I remember back in the day the girls would always try to come into the computer lab to play video games. My friends and I were always like, "GET OUT! WE HATE WOMEN!" Then they left. The girls wanted to learn how to code so badly, but we wouldn't let them. My friends and I were getting lots of sexual attention from women, but we thought that was boring, and preferred to spend our time alone on computers. The girls were having sex, but they thought it was boring, and wanted to learn to code instead, but my friends and I physically prevented them from entering the computer lab, using our strong muscles. My friends and I all had zero sex drive, and if we had any attention from the opposite sex we would have rejected it and continued to spend all our time on computers.

Re: Teaching how to code is broken

#72
post #13

Earlier quoted context omitted.

This comment covered several hot topics. 1. Girls in STEM: society needs to quit telling people "math is hard, tee hee" and quit shopping in the Pink Aisle at the toy store and reinforcing that culture. Buy your kids Lego and Raspberry Pi circuit kits and see what happens. 2. CS is part coding, part science of algorithms, and part software engineering. We have to quit intertwingling all terms into the catchall "CS" b…

> 1. Girls in STEM: society needs to quit telling people "math is hard, tee hee" and quit shopping in the Pink Aisle at the toy store and reinforcing that culture. Buy your kids Lego and Raspberry Pi circuit kits and see what happens. Girls in STEM =/= Girls becoming professional programmers. There are plenty of girls in STEM fields such as medicine, biology, geology, physics, Math, civil engineering... The fact that…

> Girls in STEM: society needs to quit telling people "math is hard, tee hee"

To me, the very existence of "Girls in STEM" groups is sending a weird message to girls (and I’m apparently not the only one to think that). Something along the lines of “sure you can do STEM, you’re just not good enough to do it the regular way so we created a group just for you”.

Honestly that’s the message a lot of diversity initiatives end up sending.

Re: Teaching how to code is broken

#73
post #23
post #17

I have always struggled with how to advise my friends & family on this path of learning. It seems like everyone wants to be a WFH developer these days, but I don't know how to enable them to succeed on that path. "Go build something you want to build!" is something I keep reiterating (as does this article). But most don't seem to be interested in that for whatever reason (presumably because its fucking hard). Maybe I…

I've attempted to teach multiple family members/friends over the years "how to code", and they give up almost immediately. They "just don't get it", and I'd argue one needs to seriously find enjoyment in building things, and knowing how long things can take, to get started.

I'm not trying to level this against your friends and family, just an observation that I've been meaning to share, spurred by "just don't get it":

When I was in community college I had to take "Critical Thinking" as a pre-req for Symbolic Logic.

We spent the first 1/3 of the class, 8 weeks, analyzing truth statements, basically and, or and not. I was bored to tears, but attendance was mandatory, so I got to see how people absolutely struggled with this, and "just didn't get it". The average score on the mid-term covering that was a low D after 8 weeks of (excruciating for me) examples. I finished in When you are in a bubble of people who work in engineering fields, especially in tech where logic is fundamental, I think it's easy to think that logic comes naturally to everybody, but it's far from ubiquitous and reading on here it sometimes feels like some people just don't realize this, especially those deep in tech.

Re: Teaching how to code is broken

#74
I think people are missing the main point here. It's not about problem solving.

From my experience people that are good programmers are people that like to tinker with things. The logical part of programming can be learned by any intelligent person reasonably fast. It's not about variables, statements, expressions, ifs, loops etc. It's about having a conversation with the machine and trying things out. The tools, languages, frameworks are just extensions of this.

Computers and the way they work are fundamentally alien to our human way of thinking about things. You need patience and dedication. One approach might work for person A, but not for person B. At the end with time just like everything else in life you forge a meaningful "relationship" where you understand each other and can work together with the machine.

Re: Teaching how to code is broken

#75
post #5

I have opinions™, but mostly agree with this article. Most intro coding classes and course materials read more like a glossary than a lesson. This contributes (rather directly) to the failure to retain a diverse student base in intro CS program. We've gotten a lot better at recruiting CS students from underrepresented groups (women and BIPOC chiefly), but numbers drop off quickly[1]. Studies in math education have sh…

> We've gotten a lot better at recruiting CS students from underrepresented groups (women and BIPOC chiefly), but numbers drop off quickly

Are you really better at it if you can’t retain them in the long run? The stats you shared are interesting, but to me it seems to highlight that students are getting “weeded out” at the beginning of the course. I would be curious to attempt a correlation with High school GPA and SAT scores. Because, if lower performing students leave, regardless of gender or race, that’s to be expected. But if overachieving students of color leave and their (white or asian) peers with lower grades don’t, now that’s an interesting issue.

> Students arrive in intro CS courses, are sat next to students who have been coding since they were 10, and are rightfully intimidated even though they could succeed in the course.

I would argue the solution here is to have different “levels” of intro courses. Because the converse is also true; students that are coming in with a decade of coding and who already had an introduction to programming might assume they will be able to “coast out” courses and then suddenly realize they are falling behind their peers. And then drop out.

Re: Teaching how to code is broken

#76
post #5

I have opinions™, but mostly agree with this article. Most intro coding classes and course materials read more like a glossary than a lesson. This contributes (rather directly) to the failure to retain a diverse student base in intro CS program. We've gotten a lot better at recruiting CS students from underrepresented groups (women and BIPOC chiefly), but numbers drop off quickly[1]. Studies in math education have sh…

> This is especially important in CS especially when boys are encouraged from a young age to do "techy" and "geeky" things in ways that girls usually aren't. Just be aware that this is not everyones experience. Many places boys are held back and girls are pushed forward. And then afterwards boys gets told they are somehow "privileged" and would never be were they are if it wasn't for "male privilege". Obviously this…

This seems entirely created out of thin air.

Re: Teaching how to code is broken

#77
My approach is to employ folks with enthusiasm. If they're teachable, they'll figure out whatever pile of tools they get thrown into on the first task. Then they'll have some skills and the next task will seem less daunting.

Of course some mentoring is useful. But just the stuff that's pertinent to the task at hand; concrete help that gets them moving forward. Because, somebody is paying for results. And because producing results has a very positive effect on confidence.

I just offered work yesterday to a young person helping me at a big box store. I mentioned I was buying a device to test an Android build, and they got excited and started making cogent comments about the tool chain and devices available. I game them my card, and when they graduate in 3 months (from a local community college) I'll find them work on a client's contract.

The first project will cost me more than I earn from subcontracting them (because it takes me away from my high-rate work I would otherwise be billing). Maybe break even by the 2nd. But it's a sort of enlightenened-self-interest thing. If young people get into the field, everybody benefits.

And of course as an old guy with resources, I can afford to take some risks. Because it's everybody's job to look out for the other guy.

Re: Teaching how to code is broken

#78
post #23

Earlier quoted context omitted.

I've attempted to teach multiple family members/friends over the years "how to code", and they give up almost immediately. They "just don't get it", and I'd argue one needs to seriously find enjoyment in building things, and knowing how long things can take, to get started.

That's like most hobbies/careers. People want to learn the guitar|piano|violin, until they realize the amount of work it takes. People want to get fit and jacked, until they realize the amount of work it takes. People want to be a lawyer/doctor/engineer, until they realize the amount of work it takes. Or they realize that they just don't really like it. Programming isn't any different. One needs a particular mindset,…

E'ybody wants to be a bodybuilder, but don't nobody want to lift no heavy-ass weights.

https://youtu.be/4UlgXIL0-3g?t=10

Re: Teaching how to code is broken

#79

Interestingly related to the author's point of teaching using cards. When I used to give coding interviews one of my favorite tasks was to implement the scoring rules of poker[1]. People would often ask "why ask them about poker?" and I'd show them that there is a ton of skill coverage 1. Decomposition of requirements into sub problems 2. pattern matching for code reuse and composition 3. seeing if they can come up w…

If you truly believe that "poker" isn't the subject matter being tested, run the same interview question (this weekend) with a friend, blind, on scoring hands of cribbage. I'll wait. https://bicyclecards.com/how-to-play/cribbage/

Re: Teaching how to code is broken

#80
post #36

Earlier quoted context omitted.

I always thought the best way to learn programming is to find a program you want to create, and then figure out how to make that happen. This is still how i learn (most effectively) today. If i want to learn a new language or something, i write something that i always wanted to write in it anyways. That way it doesn't get boring. I think what you're describing might be similar in that canned-data is not interesting.

Yes, learning is much easier if you have motivation. How do you motivate kids, if they rather play games rather than coding (and they even ignore in-game scripted coding such ad Minecraft or Roblox coding)?

Try a game like Factorio or Satisfactory. Even just Minecraft can be good enough to train their problem solving and critical thinking skills.

They don't need to start with redstone to learn to code. They should play the game and naturally realize that redstone is a way to solve their problem (like making an automatic sliding 2x2 door) and then solve it.

I feel like those skills will take you much further in life because now you have an extra tool to solve problem no matter what field you end up going into. And since programming is so powerful, it's often one of the best tools for the job so kids will naturally pick it up.

Post reply on HN