Live data from Hacker News

Teaching how to code is broken

neil.computer

111–120 of 258 posts

Re: Teaching how to code is broken

#111

Earlier quoted context omitted.

> 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…

True to some degree, but I think it does help girls get involved in areas where boys are dominant. In high school the comments from boys towards girls interested in such pursuits can deter them. Having a space free of that, at least until they've developed the motivation to continue, is important.

As a high school CS teacher, I've seen how boys can be towards girls interested in coding.

All of this swings both ways, of course, and men are deterred from positions like elementary school teacher, nursing, and secretary roles. Gender being attached to jobs is just dumb in general, and keeps a lot of capable people from doing what they'd love.

Re: Teaching how to code is broken

#113
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)?

My feeling, from ~eight years as a mostly-highschool math and science teacher plus parenting as my main work these last few years, is that this motivation to learn is best established very early on, hence my support for universal birth-to-three support (I’m in the USA) in the interest of minimizing adverse childhood experiences (ACEs/trauma) and teaching parents how to cultivate a growth mindset. Intrinsic motivation is powerful. I was not a beneficiary of such care, and have done a lot of re-learning, especially around what I’m feeling, and being okay with not doing “perfect”.

Re: Teaching how to code is broken

#114
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…

Do you know of any comparative studies with other countries? Or is this a predominately US/Canada issue? For example, do BIPOC students in Botswana drop out at similar rates? Do non-BIPOC students in Taiwan experience similar drop out rates? What are the classes and course materials like in these countries in comparison to the US/Canada? What about drop out numbers from international students? For example, do Polish…

I can speak as someone who has taught CS in high school in a few different East Asian countries, including Taiwan. The bias exists, but is less pronounced than it was 10 or 15 years ago. Boys will make remarks, but if you nip it quickly at the start then it's generally ok.

I teach all four years in high school and each year I get more females rolling up. My recent graduating classes have had more females, but still only 20% or so, but my entry level classes now are 50/50.

Oddly, every female I've had who takes the higher level CS classes has graduated with the highest mark you can get on the exit exams. They routinely destroy the boys on any test and with regard to programming skills. Sadly, some of those who take it at the lower level are pushed by their parents to take other classes at higher levels in preparation for university admission. Parents sometimes carry that bias that females should not be engineers.

Re: Teaching how to code is broken

#115
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…

What places?

Re: Teaching how to code is broken

#116
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.

But you need some concept of what kinds of problems are solvable with a computer before you could really be inspired to program one. And more than that, you need to have a concept of the difficulty of a given problem for a beginner or expert. Obviously a beginner will be wildly off, but probably needs some concept of the level of difficulty. For example, lots of people have motivation to write a game. But few have th…

> you need to have a concept of the difficulty of a given problem for a beginner or expert

I thought writing a C++ compiler would be just some new keywords and member functions, and would take 3 months.

10 years later...

Re: Teaching how to code is broken

#117
post #47

(Disclosure: I do corporate training (Python and Data Science) for a living.) I generally don't teach coding to newbies, so a lot of the coding I teach is correcting poor mental models and teaching features (somewhat) unique (or different) in Python. My best Pandas courses have been when the client opts to use their data for the course (instead of my canned data). The students are already subject matter experts with…

Any teaching, training, has to hook with the experience of students. Otherwise, it will lead to cramming, etc; that's what we see in grade-driven teaching. You are doing a great service by using the client data to solve "mini-problems" of your students.

> grade-driven teaching

I've never understood the modern theory that one can master a subject yet not be able to answer questions about it.

Re: Teaching how to code is broken

#118
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 feel like I have a reasonably good track record of helping people get into tech (and was myself helped) and I'd note two things I've found very helpful:

1. It is very useful to let people know that the first ~500 hours of programming are the worst (not unusual for hard skills). I've seen now successful developers reduced to scream crying by the feelings lack of agency and overwhelming complexity during this period. Knowing it gets better can help them push through this phase.

2. Many people capable of being good developers respond badly to "Go build something you want to build!" because they don't actually want to build things, or the things they want to build are too outside their skill range and they feel disempowered. Giving someone a list of projects to do and textbooks to work through can be much more effective for certain people (like myself!).

Re: Teaching how to code is broken

#119
post #66

Earlier quoted context omitted.

On the other hand, our University course started with half-baked explanation of what "public static void main" means (Java entry point) on the first day. It was horrible and no one understand anything until a few classes later we go to the meat of making/building stuff.

Yeah, I probably already commented on this some time ago, but I think Java is really, really bad as a teaching language. The language itself is just fine and much better than most people give it credit for, if you are a professional developer . As a teaching language is full of cerimony and it forces upon you an object model that you can't fully understand until much later. It's too much "in the weeds", if that makes…

Yea, AFAICT, Java has fallen off in schools in favor of Python, which is less opinionated about things like that. It has classes if you want them, lambdas if you want them.

Re: Teaching how to code is broken

#120
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…

It's like exercise. Everyone wants to be fit, but very few are willing to put out the sustained effort to get fit. There are no shortcuts, either. You can't pretend to be fit, you can't buy it.
Post reply on HN