[HN Gopher] Two years of teaching high school CS
       ___________________________________________________________________
        
       Two years of teaching high school CS
        
       Author : csmeyer
       Score  : 301 points
       Date   : 2023-06-16 12:06 UTC (10 hours ago)
        
 (HTM) web link (blog.charliemeyer.co)
 (TXT) w3m dump (blog.charliemeyer.co)
        
       | sharkbird2 wrote:
       | For me, things like coding is only interesting in the context of
       | being useful as a tool to do cool stuff.
       | 
       | I understand that some people like coding in itself, for the
       | intellectual stimulation, but for me it's just a means to an end.
       | I don't like coding, but I love building cool stuff, and coding
       | lets me do that.
        
         | keernan wrote:
         | >For me, things like coding is only interesting in the context
         | of being useful as a tool to do cool stuff.
         | 
         | I took Fortran in my freshman year in college in 1970 (the only
         | computer course offered). I bought a Tandy Model I in 1979 and
         | that began a life-long love of programming as a hobbyist. I'm
         | now 70 and still programming.
         | 
         | And in all that time I've never been interested in programming
         | unless it was to do "cool stuff" (e.g. build something I
         | wanted; or learn how to do something because it would lead to
         | my building something I wanted).
         | 
         | In other words, your definition is the definition that drives
         | most programmers who love programming (which is why I am glad I
         | never did it for a living... I suspect I might lose interest in
         | working on a project if the project4 itself wasn't something
         | that interested me).
        
         | empressplay wrote:
         | I don't teach kids how to code, I teach them how to make games
         | -- that difference dramatically changes their interest.
        
       | TrackerFF wrote:
       | When I studied electrical engineering, we first had the usual
       | intro to programming and a C class, for many students - that was
       | the first time they had ever coded. There must have been a
       | 40/40/20 split between hate/tolerate/love.
       | 
       | But the next semester we had a microcontroller class, which was
       | almost universally loved. We wrote C for AVR microcontrollers,
       | and the projects were varied. I remember when we were learning
       | about signal modulation, some of the students hacked together a
       | very rudimentary mono synth. Fun stuff all around, maybe my
       | favorite class in undergrad.
       | 
       | On the other hand, I also had programming in HS - it was a Java
       | class, focusing on OOP. The teacher was a retired programmer who
       | had worked on "enterprise" style code, and so we learned Java
       | that way.
       | 
       | While he was a very good teacher, the material was just...quite
       | boring. No fun projects, lots and lots of design patterns.
        
       | h2odragon wrote:
       | Too bad we can't let people learn about things they're actually
       | interested in.
       | 
       | "You take programming class because its time to take programming
       | class"; without any concern for "is the student interested in
       | learning how to program?" is not going to have good results for
       | anyone, is it? And yet that's how we've decided to teach most
       | things.
        
         | gorbachev wrote:
         | Most kids don't know what they're interested in. It's best to
         | expose them to a lot of things and hopefully most of them will
         | develop an idea what they like.
        
           | melagonster wrote:
           | I know someone go to mathematics department because they like
           | calculating trigonometric functions in first year.
        
         | francisofascii wrote:
         | They might not be interested until after they try it. I think
         | an important part of education is to get exposure to a wide
         | array of disciplines and then see what sticks.
        
         | vel0city wrote:
         | Most high schools in my area have CS as an elective class. They
         | can choose CS out of a lot of different classes such as music
         | theory, extra social studies (additional histories, psychology,
         | theory of knowledge, etc), various art classes (drawing, 2D
         | art, 3D art, art history, etc), health sciences (human body
         | systems, medical interventions, practicum in health science,
         | higher level biology classes, etc) AP-level language classes,
         | other engineering classes (aerospace, digital electronics,
         | engineering design, etc), lots of music classes, agriculture,
         | food science, debate, theatre, automotive, etc. One can easily
         | get an accredited diploma without ever taking a computer
         | science class.
         | 
         | Many students like to take CS without having any interest in
         | programming, as its often seen as the goof off class where you
         | get to spend an hour every day playing videogames when the
         | teacher isn't looking.
        
       | macspoofing wrote:
       | > While I failed to get 100% of students to enjoy coding
       | 
       | Surely that wasn't the goal, though it echos the well-intentioned
       | but flawed "everyone should learn to code" initiatives.
       | 
       | You need the right temperament for programming, and some people
       | find it mind-numbing, in the same way I find reading legal
       | documents mind-numbing.
        
         | arethuza wrote:
         | "I find reading legal documents mind-numbing"
         | 
         | My wife is a lawyer and I find her capacity to make sense of
         | very complex and large documents quite amazing - particularly
         | as there is no debugger, no unit tests and the execution
         | environment is unpredictable!
        
           | SoftTalker wrote:
           | I'm not a lawyer, so I might be wrong, but I think one thing
           | that lawyers do is they learn that in a legal sense,
           | documents (and laws) are more about intent and how the
           | various parties understand them. They are _not_ computer code
           | where there is only one correct way to interpret them and
           | where nothing is open to debate. That 's why it's hard for
           | computer programmers to read contracts and legal documents,
           | because we try to parse and interpret them like code and very
           | quickly get caught up in minutia that really doesn't matter
           | in the bigger picture that lawyers operate within.
        
             | arethuza wrote:
             | Worth noting that sometimes the minutia do matter - cases
             | have hinged on whether a comma was present:
             | 
             | https://www.theguardian.com/books/2017/mar/16/oxford-
             | comma-h...
        
       | empressplay wrote:
       | In my experience, coding is not interesting to teenagers,
       | generally. But making games is, as is 3D printing, and robotics.
       | 
       | So, don't teach 'programming', teach game development, CAD,
       | robotics etc. Start with blocks / agent (turtle) based languages.
       | Jump right in to doing fun things! Things like turtlestitch (Logo
       | for sewing machines) turtlespaces (3D logo with STL export for 3D
       | printing) cospaces (block-based 3D games) etc.
       | 
       | Starting with Python is always going to be a slog. Leave it for
       | later
        
         | [deleted]
        
       | markles wrote:
       | I've taught CS for about 15 years now. To get the majority of
       | kids in a class actively involved is an art. It's less about the
       | tools, though those can help, and more about who you are, as a
       | teacher. It takes time to develop that. The ability to read kids,
       | adjust your lessons on the fly, and keep their attention.
       | Sometimes it's about developing relationships and trust within
       | the school, which can take months or even years.
       | 
       | For me, there is no silver bullet, and every year I adjust to
       | suit the class I'm teaching. This year the kids were much less
       | able than the year before, so we played more revision games, and
       | came back again and again to the basics, just from different
       | angles. The year prior was a solid lot, and I was able to go
       | beyond the curriculum and have fun with them exploring things.
       | 
       | Edit: You'll never get all the kids to leave the class loving CS,
       | but you can usually get all of them to leave the class not
       | feeling frustrated by it.
        
         | Izkata wrote:
         | For a totally different way of getting it to work than the
         | others:
         | 
         | Back in my highschool there was an intro to programming course
         | and no teacher, so every year one of the math teachers was
         | recruited to take it over the summer and teach the class the
         | next year. The best one was the geometry teacher, who kinda
         | took the lazy route - she was the one I found out about this
         | scheme from, and was totally willing to admit when she didn't
         | know something.
         | 
         | She ended up encouraging students to help each other and was
         | extremely lax with the rules, resulting in: two or three of us
         | who wandered the classroom to help others, one showoff who kept
         | people interested in what they could create (one example, in
         | the classroom he made a chat program and gave everyone a copy,
         | then weeks later activated a hidden feature that popped open
         | the CD tray of everyone using it, which turned out to be about
         | half the students), and another who joked about using the
         | "blackboard compiler" - we somehow got one more student than
         | computers so he volunteered to go without, and did his work in
         | chalk on the blackboard (yes, where everyone could see it, and
         | the teacher was in the room and knew what he was doing), only
         | actually coding it once someone else was done and a computer
         | freed up.
         | 
         | Some people did get frustrated at times, but it never lasted
         | long because of how she encouraged us to help each other for
         | all the work. Only during tests was she strict.
        
           | otoburb wrote:
           | I've seen parents fall into two camps when this dynamic
           | arises in classes with a wide(r) spectrum of ability:
           | 
           | First group of parents are happy that kids are helping each
           | other out, acting as "teacher aides" for their class peers,
           | especially the parents of kids being helped because this
           | dynamic drops the "teacher"-to-student ratio (i.e. slightly
           | more individualized attention per student at the expense of
           | the student teaching assistants).
           | 
           | Second group of parents acknowledge that student teaching
           | assistants develop some form of leadership skills but aren't
           | happy that the tradeoff seems to be at the expense of
           | learning new knowledge that the teacher should, in theory, be
           | imparting. Also, there's probably a limit where student
           | teaching assistants might/can become bored teaching instead
           | of learning if the dynamic continues on too long or across
           | multiple classes.
        
             | SturgeonsLaw wrote:
             | > knowledge that the teacher should, in theory, be
             | imparting
             | 
             | I get that teachers at high schools are not subject matter
             | experts, but it blows my mind that they're expected to
             | teach topics that they themselves do not understand.
             | 
             | I come from a family of teachers and I've seen the effort
             | that some of them put in behind the scenes to learn these
             | topics, and they do have the best of intentions, but if I
             | was a parent and found out my kid's teacher was all "I
             | don't know this topic so you guys just do whatever" I'd be
             | a bit peeved as well.
        
         | smn1234 wrote:
         | I've seen this phrase a few times and absolutely love it:
         | "teach kids, not subjects"
        
         | geek_at wrote:
         | I was a CS teacher for 8 years and the way I was able to hook
         | like 85% of classes was I was introducing them to Hackits [1].
         | They all loved it because they use the web so much and this
         | gave them the feeling of being able to look inside the matrix
         | 
         | This was also how I got into CS many years ago. The old tricks
         | still work
         | 
         | [1] https://blog.haschek.at/2014/why-hackits-are-the-first-
         | thing...
        
           | elboru wrote:
           | You just unlocked a nice memory for me! I remember many years
           | ago going to a website like that (probably the one mentioned
           | in the blogpost) and feeling a lot of satisfaction every time
           | I was able to "hack" the exercise. Thank you!
        
           | soulofmischief wrote:
           | Breaking peers into groups and letting them compete on
           | wargames is also a fun exercise. Not sure how this will be
           | impacted by LLM-powered coding software, however.
        
           | jtchang wrote:
           | These are fantastic!
        
           | mehere14 wrote:
           | I am bookmarking this website for when my kid is old enough.
           | So please don't shut this down. Host it on cloud flare or
           | something which has a good free plan.
        
             | geek_at wrote:
             | I detached the hackits from socialcube so now they are on a
             | open source repo and here -> https://www.0xf.at/
        
             | Dah00n wrote:
             | It is already broken. If you follow the link in the blog
             | post you get a 404:
             | 
             | https://www.socialcube.net/hackits
        
               | geek_at wrote:
               | https://www.0xf.at/ is the correct link, I'll change it
               | in the blog post, thanks
        
           | another_story wrote:
           | These are great. Reminds me of some of the puzzles from
           | hackthissite.org.
           | 
           | Do you mind me asking what you did after you left teaching?
        
           | kareemm wrote:
           | These are genius. Thanks for sharing. I'll definitely be
           | sharing w/ my kids when they get old enough. What's your take
           | on the lower bound where kids are generally capable of
           | figuring these out?
        
             | Mezzie wrote:
             | It's going to depend on the kid. I was doing this sort of
             | thing at 4 or 5.
        
             | geek_at wrote:
             | I was using this with the youngest kids in our school which
             | were like 11 but for real learning benifit I'd recommend 13
             | and up
        
         | kitsunesoba wrote:
         | > Edit: You'll never get all the kids to leave the class loving
         | CS, but you can usually get all of them to leave the class not
         | feeling frustrated by it.
         | 
         | I'm not a teacher but I think this is probably true of most
         | subjects. I wish my high school math teachers had applied this
         | idea in their teaching.
        
         | 908B64B197 wrote:
         | > Edit: You'll never get all the kids to leave the class loving
         | CS, but you can usually get all of them to leave the class not
         | feeling frustrated by it.
         | 
         | There's nothing wrong with kids not enjoying CS at the end of
         | the class. It's an elective, meaning some of them are there
         | because they aren't sure they'll enjoy the subject and want to
         | test the water. Your (I'm sure excellent) teaching probably
         | saved a few from enrolling in CS and then dropping out or
         | wasting a year switching majors.
         | 
         | This might be somewhat controversial, but I believe the point
         | of early CS education should be to expose students to
         | computational thinking and get them a sense that some problems
         | are easy to solve with computers (if you can break it down as a
         | series of steps) and some are incredibly hard. I think it's
         | normal it'll click for some students and not others (intro to
         | programming at the college level is reputed to be completely
         | bimodal as well). [0]
         | 
         | [0] https://blog.codinghorror.com/separating-programming-
         | sheep-f...
        
         | troelsSteegin wrote:
         | "The Skillful Teacher", by Saphier, Haley-Speca, and Gower, is
         | an authoritative and comprehensive guide to the craft of
         | teaching. Like the commenter says, there's a lot going on, and
         | so potentially a lot to juggle.
         | 
         | https://www.rbteach.com/resources/skillful-teacher-7th-editi...
        
         | scns wrote:
         | The "best" professors/teachers i saw yet, where radiating an
         | exhuberant joy while talking about their topic. It is fun to
         | listen. They where a russian teaching in america who recorded a
         | series about physics for TTC, The Teaching Company. He got
         | voted best professor in america twice.The other one was David
         | Malan of Harvards CS50 on [0]. Beware though, it sadly spoils
         | you for later lectures by others.
         | 
         | [0] https://edx.org
        
           | nati0n wrote:
           | Interested in the first professor mentioned, but can't narrow
           | it down and find who they are. Can you provide any more
           | information?
        
             | g8geufg wrote:
             | I found him: Alex Filippenko
             | https://en.wikipedia.org/wiki/Alex_Filippenko
        
           | hotpotamus wrote:
           | I don't know how they do it though - I could imagine enjoying
           | teaching a subject once in awhile, but to be "on" for 5 or 6
           | identical classes a day and then repeat that until the
           | pension kicks in seems pretty tough. Of course, professors
           | have it better than high school teachers since teaching isn't
           | their primary job.
        
             | bigtunacan wrote:
             | Some people really like to teach others, so I can
             | understand how teachers would find joy in this.
             | 
             | I think it has to be especially hard to maintain that in
             | K-12 where all the children have to be, but most of them
             | don't want to be.
             | 
             | At least college is optional, so there is a higher
             | percentage that actually desire to learn. I think that
             | would make it easier for a teacher to keep their passion
             | for the job.
        
         | indymike wrote:
         | > Edit: You'll never get all the kids to leave the class loving
         | CS, but you can usually get all of them to leave the class not
         | feeling frustrated by it.
         | 
         | I wish more teachers would understand this.
        
           | hutzlibu wrote:
           | I think most teachers do understand, but most of the teachers
           | I had, simply did not care (anymore).
           | 
           | (CS teachers were an excemption, though)
        
       | mywittyname wrote:
       | > By the end of my class, many were determined to never try
       | coding again in their lives.
       | 
       | I think that's okay. There are lots of careers I'd never want to
       | do. School is as much learning about yourself as it is learning
       | about content.
       | 
       | Several people I graduated college with were determined to never,
       | ever use their CS degree because they hated coding so much.
        
       | sourcecodeplz wrote:
       | While watching some math videos from Eddie Woo [0], I was
       | surprised at how the students were behaving throughout his
       | lessons. They were joking with each other, being loud etc. This
       | was not how I experienced school. The teacher is talking and you
       | are listening. You are to talk when the teacher asks you to,
       | otherwise you get kicked out of the class.
       | 
       | Dunno why I wanted to post this but is that really how it is in
       | USA highschool?
       | 
       | [0] https://www.youtube.com/@misterwootube
        
         | rychco wrote:
         | I skimmed through a few videos and my impression is that it was
         | incredibly well-behaved for a USA highschool (though I believe
         | Eddie Woo teaches in Australia). My classroom in the USA was
         | regularly far worse than these videos, which felt (at least to
         | me) pretty normal amongst highschoolers.
        
       | paulcole wrote:
       | > Leaving teaching this soon wasn't my original plan
       | 
       | Since the author is also OP (here to promote their new startup
       | Pickcode), what was your plan to leave teaching and why did it
       | change?
        
         | csmeyer wrote:
         | I had no particular plan, my point in that sentence was that 2
         | years was on the shorter end of the distribution of how long I
         | expected to stay. I'm leaving now because I think I can make a
         | bigger impact on student learning building a product which
         | incorporates what I've learned these past two years.
        
           | heartbreak wrote:
           | There's something very "Silicon Valley" about doing something
           | approximately four times and using the acquired expertise to
           | found a startup.
        
             | MSFT_Edging wrote:
             | While I don't want to be mean, I'm sure OP is great.
             | 
             | It does remind me of the tiktok "investors" who sell
             | classes on how to get rich, but the classes teach others
             | how to sell classes.
        
               | paulcole wrote:
               | I worked for a guy who loved these get rich quick
               | schemes.
               | 
               | Once, for $50 he bought a zip file off some random
               | website that was supposed to contain everything he'd need
               | to get rich online.
               | 
               | The zip file contained the HTML file and assets for the
               | page that he'd bought the zip file from, with
               | instructions on how to integrate his own PayPal checkout
               | info, of course.
        
           | phonescreen_man wrote:
           | Have you ever tried using processing or p5js as a way to
           | engage students with code? I think the visual aspect would be
           | a great way to engage young learners. Also are you looking
           | for volunteers?
        
             | criddell wrote:
             | Forty-some years ago, my first programming experience was
             | moving a pen wielding turtle around the screen with Logo. A
             | visual introduction was great then and I think your
             | suggestion is a good one for new students today.
        
       | dwater wrote:
       | This blog post is not enough background for me to make a
       | judgement about this particular teacher, but I will say as
       | someone who spent a decade teaching high school, I have general
       | disdain for people who spend 2 years teaching and think they have
       | learned enough to leave the classroom forever and improve the
       | system by becoming an instructional advisor. 2 years is about how
       | long it goes from being completely underwater and just struggling
       | to get through the year, to being competent enough that you stop
       | worrying about the basic responsibilities and start thinking
       | about how to fine tune your approach.
        
         | goostavos wrote:
         | I've never seen so much bitterness. Teachers in this thread are
         | really, really salty. Just ask for his hall pass already and
         | demand he call you "MISTER dwater".
         | 
         | Imagine if we talked about people learning programming the same
         | way?
         | 
         | I have a general disdain for anyone who programs for 2 years
         | and then thinks they have learned enough to teach anyone or
         | improve the system in any way. 2 years is how long it takes
         | just to learn git, let alone be comfortable teaching it. You
         | better wait awhile, chief. Programming is the most important,
         | most hardest, most critical thing in the world. Imagine
         | thinking you could just stroll into MY world and make a
         | possible difference in somebody's life with your abysmal and
         | inexperienced self. The hubris! Y'know what? Go to the
         | principle's office. This will be on your permanent record.
        
           | hospitalJail wrote:
           | I think there is an eternal battle between Cosmetologists and
           | Teachers who are fighting over who is the most miserable,
           | while still saying "I love my job".
        
             | chasd00 wrote:
             | > ...fighting over who is the most miserable, while still
             | saying "I love my job".
             | 
             | my wife is a HS teacher of about 15 years, truer words have
             | never been said.
        
           | Graffur wrote:
           | It's like people who spend 2 years programming and become an
           | engineering manager or worse director
        
           | phlakaton wrote:
           | The English teacher in me reminds you it's "principal's" in
           | this case. These teachers sure can be an obnoxious lot.
        
         | phlakaton wrote:
         | I think you're right: as a _teacher,_ they clearly have much to
         | learn, and as an instructional _advisor,_ their authority ought
         | to be suspect. But as an EdTech _entrepreneur?_ Eh, let 's see
         | what they come up with. They're not instructing anymore;
         | they're building. If they're smart and work with experienced
         | teachers, it might be interesting.
        
         | Rapzid wrote:
         | Sounds almost expected for anyone stuck in public education for
         | a decade or more would have disdain for anyone talented and/or
         | ambitious enough to get out.
        
         | gowld wrote:
         | It's pretty clear that the guy is more of a hobby programmer
         | than a teacher, and is trying to hobby program teacher. It's
         | unlikely to succeed.
        
         | germinalphrase wrote:
         | I agree. I had the benefit of going through the top curriculum
         | and instruction program in the nation. I was considered a high
         | performer right out of the gate; however, I don't think that I
         | _really_ started to "get it" as a high school English teacher
         | until around 4-5 years in.
         | 
         | Edit: I don't mean to be dismissive of the submitter. You very
         | well may have a unique insight into CS instruction based on
         | your time in the classroom. I would just caution that - from a
         | marketing point of view - two years in the classroom is not
         | going to instill confidence in your expertise with long term
         | educators (so avoid making it a selling point as such).
        
         | [deleted]
        
         | haswell wrote:
         | I don't have much insight into the teaching environment so take
         | this with a grain of salt, but in general, when bringing new
         | people into an environment, one of the most useful periods of
         | time to get feedback is during and just after the onboarding
         | process. This is when all of the things long-timers have become
         | blind to are most visible.
         | 
         | Someone who has been in a role for years has often absorbed the
         | issues and found ways to navigate around the biggest pain
         | points (the upside of this is a deeper understanding of the
         | environment). But someone who just joined can often see some
         | issues more clearly than anyone else, and someone who is just
         | finding their stride is in a sweet spot for delivering useful
         | feedback.
         | 
         | I'm not claiming to know the ins/outs of classrooms, nor do I
         | know enough about this person to pass judgement, but _disdain_
         | seems rather misplaced and counterproductive.
         | 
         | Neither should all decisions about improving the system fall on
         | newcomers, but they will have extremely important and valuable
         | feedback. This seems like unnecessary gatekeeping if not
         | tempered by reasonable policies that seek feedback from
         | numerous sources, especially at a time when classrooms are in
         | crisis and improvement is critical.
         | 
         | Blanket disdain is always a red flag.
        
           | whimsicalism wrote:
           | At least for the urban school district I went to - of which
           | many school districts are similar (although less represented
           | among the HN crowd), I think your comment is totally off
           | base. There is no chance of learning what to do in these
           | schools during the 'onboarding' process.
        
           | jeremymcanally wrote:
           | I have a lot of friends (including my spouse) who are
           | teachers, and I can pretty confidently say that an office
           | environment/culture/work sphere as we as engineers are used
           | to is vastly different than working in a classroom. We don't
           | often value experience because, you're right, often times
           | fresh eyes do bring useful insights. But in the case of
           | teaching (and probably many other things), consensus seems to
           | be that experience does vastly affect one's effectiveness.
           | 
           | I applaud the OP for their attempt to bring something new,
           | but I feel like if maybe they'd waited a couple more years
           | they may have an easier time thinking through the problem set
           | and creating a product to fit the need. Perhaps I'm wrong!
           | But that's just my feeling from the many conversations I've
           | had with teacher friends.
        
             | haswell wrote:
             | > _We don't often value experience because, you're right,
             | often times fresh eyes do bring useful insights._
             | 
             | This isn't quite what I'm getting at. Even in an office
             | environment, I bias towards valuing experience over naive
             | and idealistic attempts to fix everything that's wrong.
             | 
             | My point is closer to: those fresher experiences are
             | ephemeral and also an important signal _alongside_ deeper
             | experience and institutional knowledge.
             | 
             | Office environments are also full of inexperienced people
             | trying to fix systems they don't understand.
             | 
             | My point is not that inexperienced people should be taking
             | over, but that people in positions to institute change
             | should be listening to newcomers along with seasoned
             | veterans. I don't see this as an either/or stance.
        
           | dwater wrote:
           | For me the disdain comes from the fact that in my time in the
           | classroom, I was constantly given advice on how to do my job
           | from people who either had never done my job themselves, or
           | like the OP had done it briefly before bailing out of the
           | classroom to become consultants or administrators. There is a
           | whole industry of education consultants who couldn't hack it
           | as educators. All of the other educators commenting on this
           | post are echoing that 2 years is not enough to understand the
           | job while the OP is happily tearing down Chesterton's Fence.
        
             | haswell wrote:
             | > _the disdain comes from the fact that in my time in the
             | classroom, I was constantly given advice on how to do my
             | job from people who either had never done my job
             | themselves_
             | 
             | I've been in tech for ~20 years, and if there's one thing
             | that never changes, it's that newcomers are eager to tell
             | me how to do my job.
             | 
             | Fresh grads come in convinced it's their time to shake
             | things up.
             | 
             | Management brings in consultants to tell me how to do my
             | job.
             | 
             | The new SVP comes in and tells me how to do my job despite
             | not understanding the environment, etc.
             | 
             | Over the years I've found it far more useful to frame this
             | kind of feedback as just another signal among a myriad of
             | signals, which collectively can be quite valuable.
             | 
             | It seems common to any human organization, especially those
             | that rely on specialized skills, and I'd argue that the
             | outcome is similar: just as experience and deep
             | understanding can be important for stability, questioning
             | the status quo can be just as critical for navigating
             | societal change and long term success.
             | 
             | I'm here to argue against the binary position, not to claim
             | that newcomers should be running the show.
        
         | vannucci wrote:
         | I taught physics for about 7 years and I completely agree. I
         | had a number of students who suggested teaching as a "backup"
         | or a "temporary" career between college and something else, and
         | I tried my best to dissuade them. It's not enough to have
         | people who come in for just two years, get frustrated and leave
         | because of "bugs" in teaching software. It took me about four
         | years to really get the hang of the job and the idiosyncrasies
         | of HS students and how they work, and even when I left I never
         | felt like I truly got the hang of it.
        
       | drunkan wrote:
       | I'm sorry but you can't be serious... you have 2 years of
       | teaching, your essentially a junior teacher and your here to
       | promote an education startup you've left to make to teach kids.
       | 
       | While normally I would applaud work in this area, the sheer
       | arrogance to claim in your article you have the experience to
       | build curriculum's or indeed that you can build a better
       | education platform for teaching kids to code with this experience
       | is insulting to the teaching profession as well as those building
       | existing platforms in collaboration with teachers and schools
       | alike.
       | 
       | My parents taught for decades. In the same way an experienced
       | programmer takes decades to hone there craft to the point where
       | others should really take note of how and what they have to say,
       | the same can be said for teachers.
       | 
       | Sorry but I just can't take this seriously and maybe it's wrong
       | but it just feels... disrespectful to teachers in a way as if 2
       | years is somehow enough to have mastered the profession and
       | impart knowledge and wisdom to the education world or indeed
       | students.. as if after 2 years you know better than everyone
       | else, you've seen enough.
        
         | LordKano wrote:
         | I completely agree. In any field of sufficient complexity, 2
         | years isn't enough time to learn enough to have an informed
         | opinion on reforming it.
         | 
         | Like many others here, I work in IT and that's the kind of
         | thinking that led to every new project being "Ruby On Rails"
         | about 12-15 years ago and every time a new underlying library
         | gets updated, a bunch of code breaks. Meanwhile, C/C++, COBOL
         | and FORTRAN programs from 30-50 years ago are still running the
         | infrastructure of the world.
         | 
         | Newer doesn't always mean better.
        
         | pkdpic wrote:
         | My wife and I taught for 7 years before we couldn't make it
         | work anymore financially. And that was in higher education
         | which is infinitely less challenging than k-12.
         | 
         | We both agreed that we learned most of what we learned about
         | the job in the first 2-3 years.
         | 
         | Also we saw a lot of teachers hit burnout at around 2-3 years
         | and become infinitely less engaged / less passionate / more
         | toxic.
         | 
         | Two years is a perfect amount of time to put into teaching.
        
           | drunkan wrote:
           | I am sorry to hear that, it is a great shame of society that
           | education is continually neglected, underfunded and
           | politicised.
           | 
           | I believe it is largely accepted by economists from accross
           | the spectrum that a key driver and indeed one of the only
           | gurantees of long term economic growth is investing in
           | education and yet we routinely do not do so to the point
           | where it is simply not financially viable for teachers to
           | remain in the profession.
           | 
           | As to your argument that 2-3 years is where you learn most, I
           | would argue that is probably the same for ever profession out
           | there, but the experience of time is what adds that extra
           | 10%. Just like we complete 90% of a programming task in the
           | scheduled time, its really that last 10% where most of the
           | difficulty lies.
        
             | jimbokun wrote:
             | > continually neglected, underfunded
             | 
             | In the US, we pour staggering amounts of money into
             | education. It's certainly not underfunded in raw dollar
             | terms.
             | 
             | Now, the lion's share of that money going to administrators
             | of one kind or another, is a big problem.
        
         | dumpster_fire wrote:
         | I took CS in the equivalent of a US highschool. The classes
         | were taught by teachers ranging from 2 years experience to 15
         | YOE.
         | 
         | We enjoyed (and aced) the classes from the teacher with fewer
         | YOE. Maybe the more experienced teacher was more jaded, maybe
         | the younger teacher was more relatable. Who knows.
         | 
         | I have relatives who are educators their entire lives. One
         | thing I've taken away from listening to them complaining about
         | their work, is that there is an abundance of teachers with long
         | YOE, who are totally checked out from their job, and use their
         | long tenure to bully the younger teachers. There's an idiom
         | they use a lot during these complaints: "Using their tenure to
         | sell their experience."
         | 
         | Finally, it's "you're". Not "your". It was difficult to parse
         | your text when you're not doing it right.
        
           | drunkan wrote:
           | I can see you're point about newer teachers being more
           | engaging with more energy and enthusiasm but there is a
           | balance to be struck in education between engagement and
           | experience/ability to teach. They are not the same thing.
           | 
           | I would also argue that while some of the most 'fun' teachers
           | I had were newer, they were not the best teachers and many of
           | the best teachers I had were older with far more experience
           | but, like you said, had not lost their enthusiasm. When you
           | apply that to the discussion in question I would argue that
           | the author might indeed know how to engage with students, and
           | has come to the frankly not so orginal conclusion that kids
           | like to have fun, but does not have the experience/ability to
           | do more than those that have come before.
           | 
           | Another user replied to my comment about Khan academys
           | founder having no prior experience beyond tutoring relatives,
           | well, there existed a market gap that no longer exists. What
           | killer features are being proposed here? What are the
           | technical solutions to the obvious technical issues that they
           | point out? How do they plan to monetise this solution aimed
           | at high school kids or indeed underfunded schools? How will
           | they help teachers engage their students in the classroom
           | itself via this platform - a poor teacher blames his tools -
           | students need engaging in the classroom not online where you
           | are competing with dopamine inducing auto scrollers.
           | 
           | I appreciate you educating my punctuation, perhaps you have
           | the experience to start an education platform of you're own!
        
         | boxed wrote:
         | Playing devils advocate a bit:
         | 
         | Maybe he's starting that project because the state of the art
         | is just so abhorrently bad that two years is plenty of time to
         | see some really low hanging fruit.
         | 
         | I mean, this seems very plausible to me. There's plenty of
         | areas where this type of things happen. All the time.
        
           | joenot443 wrote:
           | But it's _not_ abhorrently bad. There are so, so many high
           | quality platforms out there which exist solely to teach
           | coding. It's not 1990 where people learn C++ from a textbook
           | anymore, the bar for good programming education is actually
           | incredibly high now.
           | 
           | I'm of the opinion that coding just something not everyone is
           | going to like, just as I've never enjoyed painting or
           | basketball. I don't think there's a lack of good tools, we
           | just started with an incorrect premise that it's possible to
           | design a tool that makes someone like something that they
           | assuredly don't.
        
             | boxed wrote:
             | Can you name some? I know of Scratch.. and that's mostly
             | it.
        
           | 411111111111111 wrote:
           | It really isn't plausible at all. The students are teenagers
           | so the biggest hurdle is always going to be social, not
           | tools.
           | 
           | It just can't be solved by tech, unless it's a complete
           | paradigm shift such as sentient AI teachers with emotions
           | having productive 1on1s with students in a full-dive style VR
           | style environment.
        
         | [deleted]
        
         | munificent wrote:
         | Presumably you are OK with this person getting in front of a
         | class of kids and being responsible for teaching them CS on
         | their first year of employment. Even though they are a new
         | teacher and still have much to learn, they will learn on the
         | job and get better.
         | 
         | I don't see how starting a startup is any different. Yes,
         | today, this person probably doesn't know everything they need
         | to know for their startup to succeed. But they will learn that
         | over time.
        
         | ignoramous wrote:
         | > _While normally I would applaud work in this area, the sheer
         | arrogance to claim in your article you have the experience to
         | build curriculum 's or indeed that you can build a better
         | education platform for teaching kids to code with this
         | experience is insulting to the teaching profession as well as
         | those building existing platforms in collaboration with
         | teachers and schools alike._
         | 
         | I think you mistake conviction and ambition for arrogance. I
         | mean, how much of a fintech wiz were Patrick and John when they
         | started _/ dev/payments_? How many call taxi companies did
         | Travis and Garrett run before starting an on-demand Limo
         | service? Experience counts for naught. Insights matter more
         | when it comes to inducing mass change in human behaviour:
         | https://www.youtube.com/watch?v=qnav9vgHDHs&t=350s /
         | https://ghostarchive.org/varchive/qnav9vgHDHs
        
           | drunkan wrote:
           | Sure but the insights the author has had are that kids like
           | fun and that cs education platforms have bugs. I don't see
           | any original insights here tbh they are just insights that
           | should be obvious to anyone who has ever stepped foot in a
           | class room or used an interactive course.
           | 
           | There is also the fact that your examples and indeed the
           | likes of khan academy filled a market gap or had a niche
           | offering. The education platform market is saturated and if
           | your entire product is to create and deliver educational
           | courses for high school kids I'd wager teaching experience,
           | and more of it, is key.
        
             | [deleted]
        
         | cyrialize wrote:
         | 100% agree with this.
         | 
         | There's so much more to teaching than the actual teaching part.
         | Interacting with kids, controlling a classroom, etc. Those are
         | things you start to pick up as a student teacher, but you
         | really nail it several years in.
         | 
         | I feel like many base their opinions on teaching through their
         | experience as a student or through what they hear from others.
         | 
         | It also highly depends on the school, students, and what type
         | of teaching you are doing (specialist, classroom, support,
         | etc).
         | 
         | A classroom teacher who has well behaved students for two years
         | will have different opinions about teaching than a classroom
         | teacher who has rough classes for two years. Admins do their
         | best to spread kids out, separate kids that cause trouble
         | together or fight, etc.
         | 
         | Sometimes though it's just down to the luck of the draw - you
         | enter your third year and by the end of the day you are crying
         | on the car ride home.
        
         | mehere14 wrote:
         | This is a very dismissive reply. Some of the replies to this
         | comment are better.
        
         | reacweb wrote:
         | The author had two years of experience, during which he saw
         | things that surprised him. He didn't say he was a know-it-all
         | or that others taught badly. He wasn't very satisfied with his
         | own results. He decided to try something different. I have not
         | seen arrogance.
        
         | kickaha wrote:
         | I teach university biochemistry. After eight or ten years, _I
         | began to feel that I was no longer a novice._
         | 
         | "Move fast and break things" is a monument to an aberrant
         | culture of arrogance and dismissive impatience. Based on
         | hypercompetitive greed. (That for a generation was funded by
         | cheap money chasing itself around I search of a drain.)
         | 
         | It's no coincidence that importing this culture to education
         | produces experiences that are superficial and brittle. It's
         | difficult to think of a counterexample.
        
           | [deleted]
        
           | cyclotron3k wrote:
           | "chasing itself around in search of a drain" - beautiful
           | metaphor!
        
           | [deleted]
        
           | Zetice wrote:
           | Glass houses, my friend. Academia demands people spend their
           | entire lives slowly crawling up a ladder while simultaneously
           | threatening to kick them off that ladder for a large portion
           | of that climb. Spend your life working towards tenure only to
           | get denied and wash out after 15-20 years seems insane.
           | 
           | a _decade_ of your life to get past  "novice" level for
           | teaching something like CS to high school students is not
           | something we should be pushing to replicate in other fields.
           | 
           | Education is _begging_ to be disrupted. Maybe this guy doesn
           | 't have all the answers, but pretending like what we have is
           | good is a joke. He's on a better track than sitting in a
           | classroom trying to get past "novice" during the most
           | productive time of his life.
        
             | kickaha wrote:
             | >> "Move fast and break things" is a monument to an
             | aberrant culture of arrogance and dismissive impatience.
             | 
             | > Education is _begging_ to be disrupted.
             | 
             | I rest my case.
             | 
             | Substantively, _believe me_ , I agree with you. Culturally,
             | though, you're proving my point.
        
               | Zetice wrote:
               | I think you know better than to claim that anyone who
               | disagrees with you "culturally" proves your point.
               | 
               |  _My_ whole point is that the culture of academia is not
               | something worth replicating, and indeed needs to be
               | fundamentally... disrupted.
        
               | afavour wrote:
               | You're talking about different things.
               | 
               | You are talking about the restrictive, punitive world of
               | academia where you constantly have to please the powers
               | that be in order to step up. OP was talking about their
               | own feelings about their own abilities in their job.
               | 
               | The parallel to software engineering feels correct to me,
               | particularly if we're talking about working at a giant
               | company like Google. No matter how good of a developer
               | you are you still need to battle yearly reviews, stack
               | ranking, peer review etc. etc in order to advance. But
               | you can strip all that away and still recognize that
               | after two years in the industry you're not that advanced
               | as a developer.
               | 
               | The crucial difference is that in the software
               | engineering world you can take your misplaced confidence,
               | strike out and try something. Worst case it'll fail and
               | you move on. As a teacher with misplaced confidence you
               | can strike our, try something and mess up the educations
               | of children and parents who put their trust in you.
        
               | [deleted]
        
               | lifeonlars wrote:
               | Statistically, what are the odds that you're someone who
               | actually understands enough about teaching and learning
               | to be able to identify why education is 'broken' and
               | successfully 'disrupt' it, as opposed to someone who just
               | thinks they understand it but actually is suffering from
               | Dunning-Kruger syndrome?
               | 
               | If a guy in a dirty denim jacket comes to you outside the
               | bus station and tells you he's Jesus, he absolutely might
               | be Jesus. However assuming that he's not is a perfectly
               | good heuristic.
        
               | Zetice wrote:
               | "Statistically" implies some kind of measurable "teacher
               | skill unit" that one is
               | 
               | a) fully aware of or
               | 
               | b) could be measured, and
               | 
               | c) is precise enough to differentiate between "able to
               | help improve education" and "not able to improve
               | education", and
               | 
               | d) this skill unit is in any way accurate.
               | 
               | Of course none of these are true, and in fact teaching is
               | an amorphous and situation-specific concept that defies
               | all attempts to replicate or quantify success. All
               | attempts thus far to do so have failed in glorious and
               | spectacular ways at every level (e.g. No Child Left
               | Behind Act of 2002).
               | 
               | In reality, the skillset a person who can successfully
               | improve the state of CS education has may _or may not_ be
               | related to their time spent actually teaching or their
               | skill at teaching.
               | 
               | Hell, even one's time spent teaching is mostly
               | uncorrelated with one's skill at teaching. We all know
               | teachers in our childhoods who had many years of
               | experience and yet remained terrible at their jobs.
               | 
               | A good teacher may in fact be the very worst kind of
               | person to fix teaching.
        
             | [deleted]
        
           | sdwr wrote:
           | A large part of that is that tools + procedures expand to
           | fill the available space - if there are people willing to
           | spend 20 years doing the same work, the work expands to fill
           | 20 years of your life.
           | 
           | It's more about the social landscape than the practical
           | requirements.
        
         | protastus wrote:
         | I disagree with this interpretation.
         | 
         | If Bill Gates took this advice he wouldn't have dropped out of
         | university to run Microsoft. That's fueled by ambition and
         | initiative, not arrogance.
         | 
         | Arrogance is telling OP or young Bill Gates that they aren't
         | qualified enough to do it.
        
         | packetslave wrote:
         | On the other hand, OP probably knows the difference between
         | "your" and "you're", so there's that...
        
         | koonsolo wrote:
         | How many years of teaching experience do you think is necessary
         | before you start an educational platform?
         | 
         | I have 0 experience in teaching, never created a product
         | focussed on education, and schools are paying me to use my
         | product in their class.
        
           | brewdad wrote:
           | I know nothing of your product, so this isn't a shot against
           | you personally, but there are plenty of products schools are
           | paying for that provide little value and a handful of them
           | that are providing negative value.
           | 
           | You've reached the first step in the process, getting into
           | schools. The next step is show value in outcomes rather than
           | just another grift.
        
             | koonsolo wrote:
             | The original point I was trying to make is that you don't
             | need to be an experienced teacher to create a useful
             | educational product.
             | 
             | Like I said, my product is not really made for schools, and
             | it's also not my main focus. But plenty of teachers and
             | students seem to get value out of it. I just have to trust
             | their word on that of course.
             | 
             | Calling someone arrogant because they want to create an
             | educational product with _only_ 2 years of experience is
             | really weird for me.
        
           | analog31 wrote:
           | Maybe they're orthogonal. The trick is making the two work
           | together.
        
           | gowld wrote:
           | You don't need any experience. You don't even need a quality
           | competitive product. You just need a landing page and
           | marketing to administrators. Even better if you have
           | connections to school boards.
        
         | vxNsr wrote:
         | The old adage holds true: it's a poor craftsman who blames his
         | tools.
        
           | smn1234 wrote:
           | in my culture this is said often; however, I'd be very
           | careful with using this in modern day. The right tool for the
           | job can make tremendous difference on your result. Also, some
           | tools can abstract away some of the unnecessary
           | detail/undifferentiated heavy lifting and help you reach your
           | outcome faster.
           | 
           | Up to a certain point... the bad dancer may be wearing
           | terrible shoes that impedes from learning and becoming great,
           | instead focusing attention on improving unnecessary skill.
        
         | snapetom wrote:
         | Too much of that here on NN. "The state of x is terrible... so
         | here's my new startup." "Increasing the performance of y
         | tenfold.... with our new product."
        
         | Bostonian wrote:
         | There are people who never worked as teachers who have created
         | education startups. Salman Khan was informally tutoring
         | relatives before starting Khan Academy.
        
         | flippy_flops wrote:
         | Strongly disagree with this take and especially the tone.
         | 
         | "Is two years enough experience to create a curriculum?" is a
         | good discussion prompt but it's hardly a silver bullet for
         | dismissing the project. A counter argument is that being new to
         | the field gives the OP a fresh perspective.
         | 
         | OP never claimed to be an expert and there is nothing
         | disrespectful in this post. It's too bad it's the top comment.
         | Best of luck to OP on pursuing a new way of engaging students.
        
           | Rapzid wrote:
           | Why would you even need to create a curriculum in a HS
           | setting? The tests are standardized and there are hundreds or
           | thousands of people teaching the same subject in the same
           | schedule state wide...
        
       | melesian wrote:
       | A teacher should know the difference between disinterested and
       | uninterested.
        
       | zabzonk wrote:
       | when i was a trainer for a commercial training company i had this
       | COBOL programmer on our "Programming in C" course (which was not
       | a bad course, though i did eventually re-write bits of it). He
       | came up to me after the second day (when we started to introduce
       | things like malloc) and asked "But what is this 'memory' stuff?
       | And why should I care about it?'" just goes to show you can never
       | assume anything. and maybe he had a point - it was quite hard to
       | explain!
        
         | [deleted]
        
         | commandlinefan wrote:
         | > it was quite hard to explain
         | 
         | Was it actually hard to explain? Or was it hard to explain in a
         | way that didn't risk coming across as condescending? I'm
         | "fortunate" in that I never needed to be motivated to study and
         | learn computer programming, so I have about 40 years of
         | computer programming knowledge now. Some of it (cryptography,
         | networking, recursion, pointers) was hard won and took me a
         | _long_ time to grasp. Now I find myself frustrated by the
         | Braeden 's of the world who assume that every question has a
         | two-word answer that if I don't know, I'm either incompetent or
         | worse, deliberately hiding something from them.
         | 
         | I can explain memory to anybody, but I have to start from the
         | basics of computation - and if somebody doesn't know what
         | "memory" is, that's where they need to start! But if there's an
         | art form to starting from the beginning without pissing off the
         | person who asked to start from the beginning, I've yet to
         | master it.
        
           | zabzonk wrote:
           | My explanation went something like this (M is me, H is him,
           | and yes, he was male) and this was many years ago:
           | 
           | M: you know the COBOL MOVE statement?
           | 
           | H:Yup.
           | 
           | M: So when I say 'MOVE "hello world" INTO greet' what is
           | happening?
           | 
           | H: The sequence of characters gets moved into the variable
           | greet.
           | 
           | M: Nearly right. The characters get copied - MOVE should
           | really be called COPY. And where do you think those
           | characters get copied from?
           | 
           | H: I don't know.
           | 
           | M: Well, they are copied from one area of memory to another.
           | When your compiled program is run, things like "hello world"
           | are loaded along with the actual executable code, and given
           | an address in memory.
           | 
           | [at this point i drew a diagram, but cannot be arsed doing so
           | now]
           | 
           | H: OK so far
           | 
           | M: So when we do the COPY of "hello world" we need to have
           | some memory to copy it into. Now, in COBOL the compiler takes
           | care of generating code to do this, but (for a variety of
           | reasons) the C compiler does not. So we have to do it
           | ourselves using functions like malloc. Anyway, don't worry -
           | you've been doing well on the course so far, and we can go
           | through this again tomorrow, if you would like.
        
             | marktangotango wrote:
             | This one of the main things about cobol people don't
             | understand; all memory is statically allocated, there is no
             | dynamic memory allocation. Well there can be, but not
             | generally. No call stack, no heap. In reality, cobol, the
             | 85 standard and before was really very primitive. The new
             | standards have changed this obviously, but no one uses
             | those. The terminology this person would have understood is
             | "working storage".
        
       | kkielhofner wrote:
       | I think this touches on another issue prevalent in schools
       | (especially in the US) - the lack of vocational training.
       | Students who aren't on the "college path" need to hit the world
       | with a chance at income and career prospects to support
       | themselves. The fact that you can achieve a solid middle-class
       | life (compared to a lifetime of minimum wage/unemployment)
       | without incurring > $100k of debt is another clear bonus. Many of
       | their outcomes actually exceed those of their peers who took the
       | college path.
       | 
       | We need to admit to ourselves that a tiny portion of us actually
       | do anything that could reasonably be described as "Computer
       | Science" or anything beyond 8th grade math. The vast majority of
       | us read API docs, pull in a bunch of libraries, and often cobble
       | things together thanks to Google/Stack Overflow/ChatGPT/etc.
       | 
       | Most of the employment in this industry is something more akin to
       | being a plumber or electrician than it is to the vast majority of
       | what is taught in many (most?) computer science curriculums. We
       | spend the majority of our time building familiarity with tools
       | and learning from experience which tool is the right one for the
       | job.
       | 
       | Very, very few of us are nuclear physicists designing or building
       | a reactor. We're electricians that run Romex through walls and
       | wire up switches and outlets. If you think this is a simplistic
       | view or poor comparison watch contractors (project managers)
       | building a house with coordination of all of the disparate
       | systems, integration of various architectures, coordination
       | across teams and disciplines, etc. It looks remarkably similar to
       | all of the startups and projects I have been involved in. Watch
       | an electrician on a datacenter build out - what they end up doing
       | (at various levels) is mind blowing.
       | 
       | That's not to say electricians aren't educated and don't
       | understand the fundamentals and a bit of theory - look at the
       | glossary of terms for electrician certification in California as
       | one example[0]. You see things that demonstrate familiarity with
       | concepts such as phase, harmonics, four-wire Delta system, etc.
       | 
       | The reality is that people without a college education with less
       | formal training (time and especially cost), work in an
       | apprenticeship (Junior Dev, anyone?), and pass licensing tests
       | work with things that can kill them, other people, burn down
       | buildings, explode, etc. If vocational training is good enough
       | for that it's good enough for what most of us are doing.
       | 
       | [0] - https://www.dir.ca.gov/DLSE/ECU/ECGlossaryofTerms_EG.pdf
        
       | crabbone wrote:
       | OP comes from a perspective that the goal is for as many students
       | as possible to succeed.
       | 
       | I don't believe in this in the context of high-school (where
       | education is sort of mandatory). From what I've seen, in order to
       | make content more engaging, correctness and coherence are the
       | first to fly out of the window.
       | 
       | I'm not against teaching to program, but I'm against calling that
       | "an introduction to CS", because that confuses students: they
       | might think they've been introduced to CS, but they are usually
       | given a practical skill vaguely related to CS + a number of
       | superstitions about CS instead.
       | 
       | I think that CS can be taught as a bridge between language
       | (especially in the sense how language grammar is taught) and
       | geometry (in the way it's taught in high-school, where it's
       | typically Euclidean geometry with emphasis on proofs). And it can
       | be, and perhaps preferably should be taught w/o exposure to
       | "practical" programming languages. Where "practical" programming
       | languages may be an elective class, similar to how some high-
       | schools have vocational training in say, truck driving, or
       | plumbing etc.
       | 
       | If this were the case, those who find CS interesting would have a
       | better idea of what's to come, should they continue on this path
       | in a college, while those who found vocational training in
       | programming more interesting would see themselves as continuing
       | on a path to a trade school. And, eventually, this would help fix
       | the confusion associated with naming and curriculum context.
       | Present day situation is very confusing because industry needs
       | programmers, but colleges know (sort of) how to make computer
       | scientists, and trade schools teach college curriculum, just
       | watered down. Also, college curriculum is littered with junk like
       | "Intro to programming with Python / Java / etc. 101" that should
       | never have existed, but exists because, in reality, those who
       | went to college want to become programmers, not academics.
        
       | pshirshov wrote:
       | Just my personal opinion:
       | 
       | I'm pretty sure that the key to getting pupils interested in
       | programming is a typed language with lean featureset. Such
       | language should allow low-level access to hardware and has no
       | memory management features. And the hardware must be as simple as
       | possible.
       | 
       | In my school almost everyone who tried to code was motivated to
       | continue. We were using extremely ancient primitive soviet
       | machines running some homebrew Pascal implementation.
       | 
       | Later I've seen students trying to learn programming in more
       | complex environments and noticed success rates falling with
       | growing system complexity.
       | 
       | Dynamically typed languages make things extremely bad.
       | 
       | I still consider Pascal running under DOS as one of the best
       | possible learning environments.
       | 
       | Paradoxically, an XT clone like Monotech NuXT plus Borland Turbo
       | Pascal may be the best platform for kids due to its relative
       | simplicity and abundance of good documentation. Or, maybe, even
       | something based on Z80.
        
         | analog31 wrote:
         | I agree. My first language, in 1981, was the original line
         | numbered BASIC. We all know its shortcomings as a language, but
         | for most operations, you could at least form a concrete mental
         | model of what the computer was doing. You could "run" your
         | program on paper.
         | 
         | Helping people learn Python, I end up explaining things like
         | variables by treating them like the old BASIC variables -- hard
         | memory locations containing values, associated with a name. I
         | don't mention that an integer is an object with properties and
         | methods. On the other hand, a beginner tutorial that starts
         | with "venv" is criminal.
         | 
         | Sure, the language was primitive, but none of us who learned on
         | obsolete languages were scarred for life. The teacher explained
         | to us the shortcomings of BASIC, and we learned the hard way
         | what spaghetti code is. Most of us were destined to learn
         | Pascal if we made it to college.
        
         | nemo44x wrote:
         | I agree with this. It's counter intuitive but lower level
         | languages without layers of abstraction are easier to
         | understand to new programmers. It's all very literal.
         | Abstractions are great for experienced developers because you
         | _get it_. But new learners have no context and abstractions are
         | too much of a black box.
         | 
         | I found learning MIPS asm and C early on were nice and learning
         | functional languages and things like Python and JS more
         | difficult. It was after I had gained experience that the power
         | Python and JS and Rust and whatever became evident and the
         | abstractions and concepts made sense and were useful.
        
         | randcraw wrote:
         | Small languages that can be learned quickly that have a limited
         | number of ways to perform an action (like iterative loops) make
         | for a more straightforward learning experience than the giant
         | languages that are popular today. I think explicit strict
         | typing (e.g. Pascal) also helps. The more subtle and flexible
         | the type system, the harder it is to learn the language's model
         | of abstraction (examples: C pointers or OOP class hierarchies
         | or polymorphism).
         | 
         | I agree about the value of simplicity, such as learning Pascal
         | in a terminal-based interface. That interface is minimalist in
         | the extreme (no GUI to complicate things), and the language's
         | design and type system have a crystalline clarity that
         | undercomplicate learning how to think like a computer.
         | 
         | It's like learning to use a hammer vs Windows.
        
         | eimrine wrote:
         | Why typed PL Pascal is better than typeless PL Lisp for
         | absolutely beginners? I am a beginner mentor to some students
         | but I can not even think about setting up the DOS. BTW I am
         | also from post-Soviet country and my first PL I ever wrote a
         | program was Pascal but all I can remember about it is Pascal-
         | strings, := operator and segregation between functions and
         | procedures.
        
           | pshirshov wrote:
           | I have an explanation why, but regardless I observe that
           | complex environments, advanced abstractions and weakly typed
           | or dynamically typed languages work worse than primitive
           | systems with tiny strictly typed languages and minimal
           | abstractions.
           | 
           | I haven't personally seen LISPs in action as environments and
           | languages for programmiag beginners, but personally I think
           | that they are way too abstract for the purpose. And it might
           | be lot harder to explain the ideas behind the loop with
           | substitution rules than manipulations with bytes of video
           | memory directly represented on the screen.
        
             | kazinator wrote:
             | Video memory directly represented on the screen now
             | requires you to understand considerable abstractions:
             | opening some framebuffer device using some operating system
             | calls, then using some other calls to map it to memory.
             | Then knowing the parameters of the framebuffer: what is the
             | pixel representation. What is the stride: how many pixels
             | per row. This could be in some record from an ioctl or
             | whatever.
             | 
             | This is not 1984 where you're on some 8 bit micro or IBM PC
             | with a video buffer at a fixed address, and hard-coded
             | format such that POKE(12345, 15) is all you need to have
             | something show.
        
             | eimrine wrote:
             | > way too abstract for the purpose.
             | 
             | I see my teacher's mission/purpose as making my students as
             | flexible as possible. This and my personal dedication to
             | Lisp and the fact that my students are too young to bother
             | about looking for job right now makes me teaching Lisp but
             | not JavaScript/Python.
             | 
             | > And it might be lot harder to explain the ideas behind
             | the loop with substitution rules than manipulations with
             | bytes of video memory directly represented on the screen.
             | 
             | I have some C skills but my choice is to teach all the bit-
             | jogging tricks on paper while real coding sessions are
             | mostly on Lisp. This is my first group ever, but at least I
             | proud that the teenagers are happy with my lessons and
             | their number is not decreasing.
        
               | pshirshov wrote:
               | I guess you are using Racket? Anyway, it's good to know
               | that your approach works.
        
         | asdff wrote:
         | Bash is honestly the perfect learner language. It's installed
         | on a lot of computers already. It has good built in
         | documentation. The code doesn't demand a lot of byzantine
         | syntax, its honestly the most "legible" language I work with by
         | far.
        
       | throwaway71271 wrote:
       | I think programming is literacy. People who can code can see
       | through the fabric of our world in the same way as people that
       | can read can see different worlds.
       | 
       | Teaching programming is so incredibly difficult, I am trying to
       | teach my daughter, 343 days so far (12 yo, log here:
       | https://github.com/jackdoe/programming-for-kids/blob/master/...)
       | and I am not sure it is a tooling problem at all. The problem
       | seems to be to be able to understand what the student does not
       | understand. And to be able to keep their focus.
       | 
       | I also use a lot of incentives (custom tshirts, vbucks, displate
       | posters etc) to compete with the million developers in
       | snap/facebook/tiktok/epic/etc that are trying to steal and sell
       | every bit of her attention.
       | 
       | I constantly try different methods, we even made programming card
       | games together (like https://punkjazz.org/programming-time/), or
       | downloading music or generating music, writing games with
       | python/lua/c, making autoclickers or bots, pranks, hacking things
       | (e.g. explaining and using the whatsapp url parse bug recently
       | was very fun), playing war games etc, but every day I have to
       | spend a lot of time thinking about what is the "right" next
       | lesson, what does she need to learn to level up.
       | 
       | Learning programming is not a curve at all, it is a staircase and
       | stairs are like walls for some people. It might take 10 years to
       | get to the next level. You can have people programming whole
       | complex programs without having any idea what is going on.
       | 
       | That being said, the future of programming pedagogy and andragogy
       | is very open, and I am very happy for every attempt to try to
       | make a dent in it.
        
       | GnarfGnarf wrote:
       | Programming is not for everybody. It's hard. It takes patience
       | and humility. That's why those few who master it get paid the big
       | bucks.
        
         | booleandilemma wrote:
         | And to some extent it results in a level of ostracism from
         | wider society, unfortunately. Even now, at worst you're painted
         | as socially inept geek, at best you're called a tech bro.
        
       | yardshop wrote:
       | Hi Charlie, is the Python music library something you have
       | available somewhere? It sounds very interesting!
        
       | quacked wrote:
       | > To them, I would need to also point to the sizable fraction of
       | my student population who absolutely despised the project, and
       | may have found that project as the last straw in making their
       | decision that they hate coding.
       | 
       | There are many reasons why I despise the modern model of
       | education, and this phenomenon might be at the top. Students are
       | presented a miniscule, neutered, cherry-picked slice of a
       | discipline that's thousands of years old, and then they form
       | opinions about it based on their ability to stay interested and
       | perform over the 90-200 hours they're forced to engage with it
       | per year. They think they know what "computer science",
       | "chemistry", "history", "creative writing" is like based on their
       | experiences, but they're always wrong. It's not their fault.
       | 
       | You can't know if you're "good at" or "enjoy" "math" based on
       | your experience in school. In school they're not measuring your
       | ability to do _math_ , they're measuring your ability to do _math
       | class_. Every class has students of deeply mixed abilities
       | soldiering on through a curated set of exercises and practice
       | problems, progressing regardless whether or not they understand
       | the fundamental mechanics of their exercises. Some people end up
       | believing they 're "good" at their subject, some people believe
       | they're "bad" at it. They're almost certainly both incorrect.
        
         | commandlinefan wrote:
         | I think you're correct - at least, you're definitely correct
         | about me. The only things I've ever actually learned were
         | things that I was self-motivated to seek out and study on my
         | own timeline. OTOH, what's the alternative to modern education?
         | I don't think I ever would have gotten around to calculus if
         | I'd waited until I independently "discovered" it.
        
           | quacked wrote:
           | There are so many things that would have to change about
           | society for a suitable alternative to modern education to be
           | put in place that my answer would be so politically radical
           | that most would find it either unpalatable or unpractical.
           | However, here are a few things I think should change about
           | the existing system:
           | 
           | - School should start later so the students have more time to
           | sleep.
           | 
           | - Phones should be fully banned from classrooms. ("But what
           | if my parents need to reach me?" They can call the school.)
           | 
           | - Teachers should be empowered to permanently remove students
           | who cause trouble from their classes.
           | 
           | - Students should have the option to test out of any class at
           | any time.
           | 
           | - By 11th grade, working a part-time job should count for
           | credit toward graduating, to the point where you can work 40
           | hours per week and still obtain a diploma.
           | 
           | - The GPA on your diploma should be changeable if you come
           | back to night school or summer school as an adult.
           | 
           | - The GPA on your diploma should be changeable if you retake
           | the tests from earlier classes.
           | 
           | - Students whose parents are capable of homeschooling should
           | be supported by the system to pursue all- or mixed-time
           | homeschooling, while still participating in the community and
           | extracurriculars at school. This is especially true for
           | students who are the target of bullying or who perpetually
           | need more out of the system than it can give them.
           | 
           | - Parents who are successfully homeschooling (as measured by
           | high test scores and student-reported satisfaction) should
           | consider taking on a second and even third pupil.
        
       | fredgrott wrote:
       | What the author is missing(my bias, I am currently writing some
       | app design books):
       | 
       | 1. It's not puzzles alone, but puzzles in their subject of
       | interest. 2. The underlying math is reachable if its presented as
       | a puzzle in their subject of interest.
       | 
       | Some puzzles are more sneaky, how many know that the game
       | monopoly is an economic game about cash flows?
        
         | [deleted]
        
       | moomoo11 wrote:
       | How does one become a CS teacher?
       | 
       | I used to be an active mentor in Big Brothers Big Sisters, and I
       | really enjoy mentoring and seeing them evolve into better more
       | confident versions of themselves. And I learned patience and
       | understanding from them.
       | 
       | I have no interest in getting a teaching degree over a couple
       | years.
       | 
       | Do I just apply to a school? It would be cool to go teach CS in
       | middle America.
       | 
       | Imagine if folks like us who are competent swe take leaves of 3-5
       | years (we make a ton of money, so it's not a huge hit) and over a
       | decade or two we are able to build tech centers that elevate and
       | boost the quality of life in places like the Midwest and South.
       | These kids will learn how to think outside the box and have a
       | creative outlet.
        
       | SamBam wrote:
       | A general question about the benefits of teaching coding:
       | 
       | For at least the past ten years, there's been a big emphasis on
       | teaching coding to as many people as possible. I think a big part
       | of that was the general assumption that, for many people, being
       | able to code would be a ticket to a solid middle-class life, at
       | minimum.
       | 
       | With the rise of LLMs, do we still think that assumption is
       | viable? What are going to be the number of software engineering
       | jobs in 10 or 20 years? I worry that there will be half as many.
        
         | screwturner68 wrote:
         | Coding is the solution to all problems; can't get a job, learn
         | to code. Not making enough money working a cash register,
         | become a web developer. Nobody wants to hire you with your
         | comparative religions degree, don't worry just learn COBOL. It
         | reminds me of 1998 when the road to riches was paved with an
         | MCSE and every time you got into a cab you'd see MCSE study
         | guides sitting on the front seat. This is not the career for
         | everyone, it's not easy and it takes constant tooling and
         | retooling to remain relevant -this isn't the case in a lot of
         | occupations and people looking for easy money are in for a rude
         | awakening.
         | 
         | I've been through the Dot.Bomb and the Bush I & II recessions
         | and I've seen thousands get laid off (The first day at my
         | current job they laid off 15,000 people and over the 20 years
         | they've laid off another 200,000). Some of the purging is good,
         | companies hire just to hire and end up with a lot of crap
         | employees the unfortunate fallout is good employees get fired
         | too. I don't know where the industry is going, it's certainly
         | not the industry I started in, I've been expecting our downfall
         | for years and we just keep moving along. We shall see.
        
           | Sohcahtoa82 wrote:
           | > I've been expecting our downfall for years and we just keep
           | moving along.
           | 
           | Yeah, with the massive layoffs over the last year, I expected
           | salaries to cool off a bit.
           | 
           | Then I got laid off in January, and it took me about 6 weeks
           | to find a new job, and I ended up getting a slight pay _bump_
           | with my new position. Though FWIW, I work in Application
           | Security, which still has considerable demand.
        
       | yardie wrote:
       | > a minor bug or incorrect instruction step doesn't seem like a
       | big issue, but when those fifteen minutes represent some of the
       | first minutes a student is programming,
       | 
       | As an experienced programmer nothing kills me more than getting
       | interested in a new language, setting up your environment, diving
       | into the documentation to get your very first "Hello World!" spun
       | up, and it doesn't fucking compile! And that is me, a patient
       | adult. I can imagine the frustration of a green, teenager not
       | understanding the errors the compiler is spitting when you've
       | done everything correct.
        
       | narrator wrote:
       | I taught intro CS for a bit. The difference between people who
       | are good at it and people who are not good at it is like sketch
       | art. Some people cannot draw a straight line to save their lives,
       | while some people are natural artists. Some people can work
       | extremely hard to perform at an ok level, while others perform at
       | that level without even trying.
       | 
       | I know it's unamerican, and everyone should master the basics,
       | but there should be some simple aptitude tests given to tell
       | people what kind of optional classes they are going to be good at
       | and what kinds they are just not going to like at all.
       | 
       | This isn't a one dimensional axis of smart/dumb either. For
       | example, most lawyers have extremely good memories, but are
       | notoriously bad at math. Many talented artists and creatives are
       | not good at traditional academic subjects. It would be optimal if
       | the test examined as many talent areas as possible.
        
       | dimmke wrote:
       | > Programming is about identifying a goal for a program, and
       | iterating on code to achieve it regardless of what bugs you
       | encounter. More than that, programming is about harnessing the
       | computer to express yourself creatively, systematizing the
       | contents of your imagination until they come alive in the real
       | world
       | 
       | I don't think this is a useful definition of programming in
       | general, but perhaps a good way to frame it for an intro class.
       | 
       | The way he described his curriculum touched on something that
       | always bothered me (and made me a D-F student for most of high
       | school)
       | 
       | It sounds like the course was a series of projects, like "learn
       | to do X in Python"
       | 
       | That's how geometry and algebra and chemistry were for me, it was
       | just "memorize this formula" and be able to solve problems with
       | it on this test, then make sure you can also solve it on another
       | test at some point in the future (midterm or final.)
       | 
       | It was never explained what the actual purpose of these
       | algorithms were used, why they are significant. Not just "how am
       | I going to use this?" But "how is this used by people in the
       | world I live in?"
       | 
       | And because of that, it was impossible to motivate myself to
       | learn any of it. I just didn't care. I think a more holistic view
       | would have been helpful for me. But other students got through it
       | just fine.
       | 
       | But I taught myself web development during the same time because
       | I wanted to learn to make websites. Because the applications of
       | programming are so broad, maybe it makes more sense to design a
       | curriculum where instead of forcing students to do every project,
       | you have a list of projects that after a certain point students
       | can pick to pursue themselves (or if they are high performers,
       | they can propose their own)
       | 
       | It sounds like he was writing custom libraries for these projects
       | too. Why not encourage the use of open source libraries instead?
       | 
       | And is Python really the best language to use for this stuff? I'm
       | not sure. I know the syntax is more simple but I think teaching
       | JS (a simple subset obviously not every language feature) would
       | be more realistic and give more flexibility into the types of
       | projects that can be done?
        
         | fragmede wrote:
         | I think which language to teach is getting into the weeds a
         | bit, but imo python is the right language to start with because
         | it's so straightforwards. There's no pointers like C or
         | anonymous functions/await in JavaScript to learn. once there is
         | some confidence, more advanced concepts can be introduced, but
         | there needs to be a solid foundation first.
         | 
         | JavaScript makes for a great diving off point though. Have the
         | class open a webpage on their laptops, then open the developer
         | console, type in some JavaScript, and do a thing to the page
         | they're on. Choose the right thing and the kids will be hooked
         | on programming.
        
           | dimmke wrote:
           | I mean how does Python handle asynchrony? Callbacks? I'm not
           | sure if that's really better.
           | 
           | I think my issue with it is where is Python widely actually
           | used by programmers? It mostly seems popular with data
           | science people.
           | 
           | So it just feels like choosing a language because the syntax
           | is a little simpler on the surface isn't a good enough
           | reason, especially since when writing modern JS it's not
           | _that_ much more verbose.
        
       | JohnMakin wrote:
       | Seems like the author's problem is that he thinks "CS" is
       | "programming." It isn't, and that's sometimes a harsh reality CS
       | students realize a couple years into their studies when the
       | difficult math starts coming at you hard and fast.
        
         | jandrese wrote:
         | I don't think we are expecting the CS 101 class in High School
         | to start with inductive proofs. His problem is mostly getting
         | the kids engaged at all.
        
         | whatscooking wrote:
         | What difficult math are you talking about? In my experience,
         | most CS math was pretty basic
        
           | JohnMakin wrote:
           | computational geometry was pretty hard. algorithm theory
           | isn't easy for everyone. lots of people can struggle with
           | linear algebra. cryptography classes can be hard.
        
       | dicroce wrote:
       | I have been a paid software engineer for about 30 years. 10 to 15
       | years in I learned to love computer science, but for the first
       | huge portion of my career what motivated me was making things.
       | Demos, Games, etc... Maybe the key is to start building things
       | immediately? Things the learner is interested in making.
        
       | _fat_santa wrote:
       | One thing I noticed about CS once I started out in the industry
       | is how boring it was. When I started learning programming I often
       | got the "what" (what is an array, what is a floating point
       | integer, etc) but never a "why" (why do we need arrays?). To
       | folks that code that answer is obvious, but it wasn't obvious to
       | me when I started. I remember on many occasions going "great, but
       | how does this tie into an actual real world application".
       | 
       | And I think that's a big reason so many loose interest. You learn
       | all these concepts but you have almost nothing to tie them
       | together or to tell you why you should care about them.
       | 
       | This is why I think the "Python Music" exercise was so engaging,
       | students now had a "why" behind what they were doing, they could
       | tie it to a larger goal. And I remember back in college when I
       | got really into programming was right around the time we started
       | submitting full blown apps as projects (full blown in terms of a
       | CS student)
        
         | burnished wrote:
         | I think the real world application angle is a common framing
         | but misses the mark just a little - most people really just
         | want to understand what would motivate someone to develop or
         | need the concept.
         | 
         | I only mention it because I felt similarly very frequently and
         | learned to start diffing for that context to learn better, but
         | I have noticed that the 'real world application' framing comes
         | with a lot of baggage.
        
         | laiwjrtlai wrote:
         | It reminds me of the math professors I had in grad school who
         | were insulted when you asked for examples or even alternate
         | explanations. Ugh. I love learning but I couldn't wait to get
         | out of academia.
        
         | screye wrote:
         | Math education has the same issue.
         | 
         | 3B1B videos draw you in with a cool visualization that makes
         | you ask the 'why' of 'why did this happen' first. This maps
         | onto the techniques used by the best professors I've learned
         | from. Hell, it is exactly how competent sales-men sell their
         | product.
         | 
         | Start with a cool demo -> confuse the audience -> make them ask
         | why -> this motivates them to want to learn the what -> all the
         | tools learned in the 'what' comes together to teach you the
         | 'how' -> you just made the cool demo happen -> MAGIC.
         | 
         | My favorite subjects were ones where the 'why' was obvious to
         | me as I learned the 'what'. I distinctly remember disliking
         | inorganic chemistry, because none of the facts seemed to go
         | anywhere. You learned the facts for the facts. Nothing came
         | together to reveal a grander intuition. I disliked history for
         | the longest time, because I viewed it as some form of culture
         | acquisition and status signaling. Once I started reading real
         | history from an 'early warning system' perspective, I couldn't
         | stop searching for repeating patterns and universal casual
         | links within it.
         | 
         | With AI tools gaining prominence, it will actually be possible
         | to build these fully contained dopamine cycles. "Dangle carrot
         | -> difficult task -> reward", all within a single self-
         | contained assignment. But even besides that, too many teachers
         | simply do not have an intuition for how that dopaminergic cycle
         | works.
        
           | tstrimple wrote:
           | I took all the advanced math classes available to me in high
           | school. This was despite me hating school and being a
           | terrible student. But I enjoyed math as puzzles to solve.
           | This was until I got into calculus. The teacher didn't have a
           | strong grasp of the subject and more importantly it was just
           | memorizing calculus formulas instead of understanding any
           | sort of real-world application. In contrast, my AdMatics
           | (advanced math and physics) class had us doing real-world
           | physics based experiments. The application of the tools was
           | immediately obvious.
           | 
           | If I had a calculus lesson that broke down the problem space
           | like this (https://youtu.be/WUvTyaaNkzM) I probably wouldn't
           | have stopped my formal education in math at that point. When
           | I discovered that video, all the formulas they tried to make
           | me memorize started making a LOT more sense.
        
         | nlh wrote:
         | I had exactly this problem as a student -- it turns out I need
         | to really grok the WHY before I am able to grok the what (and
         | it only took me about 30 years to figure that out ;).
         | 
         | So my best STEM subjects were always physics and geometry (they
         | 'why' is built-in) and my worst ones were calculus et al. The
         | absolute worst I ever did in a class was my first linear
         | algebra class because it was taught in a purely 'what' sort of
         | way (this is a matrix, this is how you multiply a matrix, etc.)
         | and nobody ever explained why you'd need a matrix or what
         | practical applications any of it involved. So it just never
         | clicked and the class to me was a series of memorization and
         | mechanical calculation steps. And THEN, years later....I
         | discovered 3D rendering....:)
         | 
         | The challenge is that there are often kids for whom this just
         | doesn't matter, and often enough of them that teachers and
         | educators in general don't feel a particularly strong need to
         | modify the traditional way of teaching.
        
           | alistairSH wrote:
           | Yeah, I didn't really "get" basic calculus until I started
           | taking economics courses where there was an application.
        
           | TheOtherHobbes wrote:
           | With most STEM you're getting the API reference with no
           | useful sample code or applications.
           | 
           | Some people love the abstractions as puzzles. I was fine with
           | calculus and matrix algebra at that level, but I was doing an
           | EE course and the gap between abstraction and real world
           | problems was not huge.
           | 
           | But I had a mental block at school about the moment of
           | inertia, because I had no idea what it was for.
           | 
           | At some point the penny dropped and I worked out that it was
           | basically the m in F=ma but for spinny things. Until that
           | happened it was a mess of confusing diagrams with no obvious
           | meaning or application, in an uncanny valley between pure
           | abstraction and physical relevance.
           | 
           | After it happened it became much easier to do the math.
        
           | the_only_law wrote:
           | Calculus is unfortunate because I knew it had "practical
           | uses" I just didn't think those practical uses were for me
           | and couldn't describe what they were outside of vague
           | references to "engineering".
           | 
           | Fast forwards during Covid, I was doing a lot of work on the
           | side with retro telecom projects and for the first time in my
           | life I wished I had paid much attention to calculus or at the
           | very least anything before it.
        
         | jimbokun wrote:
         | A long, long time ago, when the only computer I had access to
         | was an Apple IIe in my high school's computer lab, I decided to
         | write a basketball game. Using ASCII characters to draw a
         | basketball court, and literal Xs and Os to represent the
         | players. Then typing in player stats from the newspaper to
         | determine odds of making a shot, etc. I would write BASIC code
         | on my school notebook at night, so I could type it in at school
         | the next day.
         | 
         | Not sure how this idea clicked for me, as no teachers suggested
         | it to me. But this basketball game idea was what drove me to
         | learn how to program. I've been programming one thing or
         | another for decades since.
        
         | andersa wrote:
         | I had this problem with math in uni. All abstract concepts,
         | zero explanations why we should care about it in the real
         | world. So it goes in one ear and out the other. That has to be
         | one of the least effective ways of learning about something,
         | like my brain is not wired to retain information if it doesn't
         | know what the use of it is.
         | 
         | Now I'm slowly discovering the "why do I need this" for much of
         | it as I learn graphics programming, and it makes me wish I had
         | known to pay more attention back then.
        
           | thebigwinning wrote:
           | The teachers don't know how it's used either. Math teaching
           | selects for study habits and that's about it.
        
           | kitsunesoba wrote:
           | Same here, but with high school math. Despite my efforts it
           | was almost impossible to pay attention because I had no
           | practical applications at hand, and the teachers didn't
           | really care to change that. They stopped right at teaching
           | the abstract concepts and let the students sink or swim.
           | 
           | As a 30-something adult, I think I'd do much better at these
           | classes now simply because of greatly improved self-
           | discipline, but uptake and internalization of information I
           | have immediate use for is still vastly faster than it is for
           | abstract bits and bobs.
        
         | snarf21 wrote:
         | Especially at a younger age, you have to focus on some concrete
         | "thing" with constant little minor improvements. I think most
         | high school kids would be best served building out something
         | like Battleship or Yahtzee (e.g.) in Javascript and the
         | browser. Let the kids pick what part to build next. But doing
         | it in a webpage with the ability to simple add new UI elements
         | one at a time and new small functions, progress is obvious and
         | immediate. At this age, we should be focused on exposure and
         | excitement not inheritance and typing.
        
         | hospitalJail wrote:
         | On a similar note, I tried learning OOP every year for 10
         | years, never stuck. Everything always felt like functions at
         | its core, didn't matter the language.
         | 
         | Then one day I had a problem where we got a lot of value out of
         | a class. At this point I was a professional programmer, I had
         | already made plenty of websites and apps.
         | 
         | When I teach people programming, I basically make this
         | simplification so people can get programming cool stuff
         | immediately. Of course I explain there is OOP, but we don't
         | waste time on it. You don't need to understand it to make a
         | text based video game.
         | 
         | EDIT: I started programming when I was 17, I didn't start a
         | programming career until I was 30. I only dabbled as a hobby.
        
           | unethical_ban wrote:
           | My one liner for what oop is: Objects are groupings of data
           | (constituting a new data type, in a typed language) with
           | specialized functions that only work on them.
           | 
           | I know you know, but it even took me a long time to get the
           | utility.
        
             | hospitalJail wrote:
             | Lets see, what I would describe it as:
             | 
             | You would use classes if you have a category of something
             | with similar attributes that you would want to do various
             | manipulations on and get various outputs.
             | 
             | My next sentence was going to be an example about a car and
             | calculating the number of seats. Its a shame how quickly I
             | need to move to a real world example, but when talking to a
             | programming noob, I feel bad for saying the word
             | attribute/class/method.
             | 
             | I feel less bad about functions, they should know this
             | stuff from 8th grade.
        
           | thebigwinning wrote:
           | > 10 years
           | 
           | Wow thats usually the amount of time it would take to become
           | an expert in a completely new field.
        
             | hospitalJail wrote:
             | That is basically my story.
             | 
             | Started learning programming in high school. Went to
             | college for engineering. Worked in (real) engineering for 8
             | years.
             | 
             | Now I automate engineering jobs.
        
             | bentcorner wrote:
             | I was in tech for several years (although not always
             | programming) and it took me an embarrassing long time to
             | grok the "why" of OOP. I read the vehicle/car/truck and
             | animal/cat/dog/makeSound kind of examples many times in
             | school but it never clicked why this approach would be
             | useful. It's only when you start working with other people
             | and dealing with stuff you can't keep all in your head when
             | you get the "why" of OOP.
        
               | [deleted]
        
             | Solvency wrote:
             | Yeah, honestly, I'm finding that comment a little hard to
             | believe or even remotely understand...
        
         | inconceivable wrote:
         | as a middle aged veteran i still get frustrated by the lack of
         | intermediate-level examples in lib/framework documentation.
         | even a link to a suitable github repo showing a full usage of
         | features would be useful. i can stare at the auto-generated API
         | documentation or look at the source (or maybe even your test
         | suite) for hours trying to hunt down features and flags and
         | methods i can override and undocumented tricks i can use but
         | why not just give people a useful example beyond hello world?
         | 
         | the best libs start with examples. here's a great one. it
         | covered my entire use case in the first page of documentation.
         | 
         | https://tenacity.readthedocs.io/en/latest/
         | 
         | like, how did you actually test this lib? surely you wrote
         | something - anything - that uses some more of these features
         | other than a test harness?
        
           | sheepybloke wrote:
           | This was a huge frustration for me as I got into embedded
           | programming. Once I got beyond the basics, it was
           | incredibility hard to find information to take my engineering
           | to the next level. For example, I was doing some work with
           | ADCs and had a deep question about how to do the conversions
           | properly for a sensor. Google kept taking me to site for
           | beginners using Adafruit libraries or basic tutorials how to
           | connect a sensor to an Arduino. There is so much information
           | on helping people start now days, but not enough helping them
           | get to becoming an intermediate developer.
        
           | duxup wrote:
           | Yeah best practices / structure/ strategies beyond the basics
           | are often a mystery.
        
         | asdff wrote:
         | Intro to programing courses/classes/etc usually suck. Its hello
         | world and building calculators. It sucks. People want to do
         | stuff like make video games and get turned off immediately from
         | this boring mind numbing stuff designed for beginners.
        
         | duxup wrote:
         | In college I wanted to learn how to code.
         | 
         | My first class was in C, the instructor read from the book and
         | then we did exercises from the book. I dropped the class, moved
         | on in life.
         | 
         | 20+ years later I was between jobs and ready for something new.
         | I had an awesome instructor who was energetic and explained why
         | we do things, we built silly apps, and it all made sense. I'm
         | enjoying my new career a great deal.
        
         | samsolomon wrote:
         | This resonates with me. I was always interested in "websites
         | that did things" that was before things were called web
         | applications. I took a couple of CS classes in college, but
         | they were dull, challenging, and left me with uninteresting
         | Java apps. It put me off computer science entirely.
         | 
         | A year later, I started tinkering with Wordpress and found it
         | far more fulfilling than my CS coursework. In 2012I joined The
         | Starter League--an early code bootcamp--and began my learning
         | Rails.
         | 
         | For me--and probably for many others--the real excitement lies
         | in seeing how we can apply what we learn to build cool things.
         | It makes learning so much more interesting.
        
         | [deleted]
        
         | JimtheCoder wrote:
         | I sometimes think that software/app architecture is something
         | that should be integrated into a students introduction to
         | coding.
         | 
         | Having a high level understanding of how the apps you use on
         | your phone actually work, some of the steps that the program is
         | doing (database writes, etc) seems to be interesting.
         | 
         | Writing the same, boring functions over and over again so
         | someone can reverse a list of strings...sorta kills the vibe,
         | as the youth might say...
        
           | vel0city wrote:
           | When I was a teenager first learning the basics of coding, I
           | usually found programming books that focused on actually
           | making things to be the best tools for learning. Books like
           | "Beginning C++ through Game Programming" and "Teach Yourself
           | C# in 24 Hours" were way more engaging and picking apart the
           | code samples probably taught me more than what most of my
           | peers did in the intro to CS class in college.
           | 
           | When you can actually see the changes to things and have a
           | real interesting project to work on its way more engaging
           | that just going over the theory of things. Obviously, one
           | should follow up with actually learning the theory as well to
           | get a deeper understanding, but I often just can't grok
           | things unless I can play with them.
        
             | pph wrote:
             | I started "programming" by taking a game server script
             | (template) and building my way around:
             | 
             | > Let's spawn a car there! > Let's make a multidimensional
             | array of car types & location to spawn! > Let's load the
             | data from another file! > What is this "database" thing I
             | just heard of?
             | 
             | And down the rabbit hole they go.
        
         | phonescreen_man wrote:
         | I felt like that about a lot of education particularly science
         | and maths, okay so yes your telling me it is a -insert term-
         | but why is it called that, why do we need to know that, how
         | does it fit in with a larger picture...
        
           | randomdata wrote:
           | The traditional way of schooling, where it starts with small
           | pieces and works its way up to something grander, is
           | decidedly backwards.
           | 
           | In practice, one is best served with starting with something
           | grand and then breaking it up into smaller and smaller pieces
           | until those pieces are digestible. Learning becomes
           | infinitely easier this way.
           | 
           | On the surface it may seem like the same thing: The learning
           | takes place around a concept of of small pieces of a larger
           | puzzle. However, the process of breaking down the puzzle is
           | where the most important information is gleaned.
        
             | the_new_guy wrote:
             | So, mathematics, for instance.....you'd start with
             | differential equations and work your way down
             | to......addition/subtraction?
        
               | Solvency wrote:
               | That's a low effort interpretation.
               | 
               | Every kid in the world understands the concept of 3D
               | games, Minecraft, etc. That's a perfect vehicle to begin
               | breaking it down into relevant simple math concepts.
        
               | alistairSH wrote:
               | Or just a basic web site that has some JavaScript. Or a
               | form/submit.
        
       | gowld wrote:
       | A little tacky to use a high school class as research fordder for
       | the startup. I hope Charlie pays the students and/or the school.
       | 
       | What's missing from CS education the 100th new teaching language.
        
       | micromacrofoot wrote:
       | Leaving teaching to run a startup seems indicative of a societal
       | problem. This person seemed genuinely invested in getting kids
       | interested in coding... and from their perspective the best way
       | to do that was to start a business instead of teaching them
       | directly. It's no wonder why the public school system seems to be
       | falling apart.
        
       | acegas wrote:
       | Two years is nothing. The first year is usually an unmitigated
       | disaster/full time panic, as you learn to teach while you are
       | teaching. Very few programs ever train people to teach before
       | they are let loose. The second year you are just starting to gain
       | your footing, barely doing better all the stuff that didn't work
       | the first year. During that year you start to learn all the
       | skills and tricks you keep in the back pocket to make things
       | work. You are dealing with real live things, so they change and
       | have millions of parameters that nobody has control over. Having
       | a good roster of things you can pull out on the fly to adjust is
       | crucial. Maybe by the third year you have enough to become a good
       | teacher. However if you truly care about them and work hard
       | because you care, and they know you care it all works out in the
       | end.
        
       | njharman wrote:
       | I'm surprised that educators think their goal is to get
       | "more"/"most" students involved in the subject they are teaching.
       | 
       | Lower education's educational goals are to expose students to all
       | the things. So, that they have the opportunity to find out what
       | education (including none/little) and what life they would enjoy.
       | Secondary goals would be to instill a joy of learning, to prep
       | the few that should go to college for it.
        
       | stevespang wrote:
       | [dead]
        
       | phonescreen_man wrote:
       | Fifteen minutes of lost time to a minor bug or incorrect
       | instruction step doesn't seem like a big issue
       | 
       | I think this should be part of the curriculum - it's a daily part
       | of the job of a SWE, introduce it in the class, make it fun and
       | explain the frustrations and rewards when figuring out bugs. It's
       | not a set back of the day, it becomes part of the day, another
       | side adventure to solve.
        
         | dagw wrote:
         | It's only fun if you know there is a light at the end of the
         | tunnel as it were. If you're no yet convinced that programming
         | is fun or even has any value then this "side adventure" will
         | instantly kill any enthusiasm. Once they 'get' programming and
         | see it as something they want to do, then learning how to deal
         | with these "side quests" has value.
        
         | jjkaczor wrote:
         | Thanks - I was going to chime in on this.
         | 
         | However - I was also an instructor (not high-school, but IT
         | professionals) - and the biggest problem with "15-minute" bugs,
         | or basic knowledge-gaps (like... how to open a command prompt
         | and type correctly) is when you have multiple students who
         | encounter different bugs simultaneously... Which will delay the
         | entire class/session and frustrate those who are not having an
         | issue. (Hopefully those who are not having an issue can proceed
         | independently if there is a workbook/lab instructions)
        
         | eythian wrote:
         | In this case, they're not teaching software engineering.
         | They're teaching CS/programming. Having to figure out finnicky
         | tools gets in the way of that.
        
       | AlphaWeaver wrote:
       | > One thing that led me to start creating Pickcode was the number
       | of bugs I encountered in existing tools for coding education.
       | Fifteen minutes of lost time to a minor bug or incorrect
       | instruction step doesn't seem like a big issue, but when those
       | fifteen minutes represent some of the first minutes a student is
       | programming, they have an outsized impact in changing the
       | student's attitude toward the subject.
       | 
       | As a young CS student who had self-taught before taking a formal
       | curriculum, this was one of the things I found the most
       | disgusting about the state of high-schools CS ed.
       | 
       | When the exercises and grading code have bugs, that's a major
       | problem. When the instructor can't recognize those bugs when you
       | point them out, that's even worse.
       | 
       | I moved on to tutoring and teaching CS later in life, (on the
       | side, as a mentor with a FIRST Robotics program,) and
       | encountering bugs in the curriculum like these were some of the
       | things that set my students back the most.
        
         | malfist wrote:
         | When I was getting my BS in CS, that drove me the most nuts
         | when the professor just didn't understand the coding language
         | they were teaching.
         | 
         | In my assembly class I still remember asking the professor for
         | help with a code challenge, and he comes over and looks at what
         | I've got done and starts asking me what a snippet of code was
         | doing when it was a snippet of code he provided us with. That
         | didn't work. And to top it all off, the assembly we were
         | learning was heavily dependent on a custom library provided by
         | a CD from the book publisher that included no documentation and
         | couldn't be applied outside of class.
        
           | rgblambda wrote:
           | >that drove me the most nuts when the professor just didn't
           | understand the coding language they were teaching.
           | 
           | A lot of people will have the same experience. It all clicked
           | when I learned that often the lessons were written by
           | consultants or by their predecessor, and the professor is
           | just faking it until they can get back to their research.
        
       | brandonmenc wrote:
       | > I did not succeed in getting 100% of my students interested in
       | programming. (Not even close)
       | 
       | > By the end of my class, many were determined to never try
       | coding again in their lives.
       | 
       | Replace "high school CS" with "shop class" or "biology" or "auto
       | body" or "english composition" and you'll get the same result.
       | 
       | Most people are not interested in most things as a career or
       | hobby. It's bizarre that programmers think their thing is or
       | should be any different.
        
         | eimrine wrote:
         | Bad teachers are not like good ones but with kind of less
         | juice. Bad teachers are opposite to good ones, their "juice" is
         | strictly worse than useless.
        
       | Rapzid wrote:
       | Out of curiosity do these HS CS classes uh... Teach Computer
       | Science? I took three years of CS in high school and it was
       | prepping us for the AP CS test. So memory layout, algorithms,
       | data structures, logic, base conversions, and tons of self-guided
       | study and projects.
       | 
       | But when I read a lot of these articles I come away with the
       | impression the conclusion is that the best way to teach CS is
       | to... Not teach CS at all.
        
       | danpalmer wrote:
       | The point about bugs at the end echoes what I've heard from other
       | CS teachers. I know Python well, and thought I knew what
       | constituted a sharp edge, but talking to a CS teacher was eye
       | opening about what actually constitutes a sharp edge (in
       | hindsight, obvious).
       | 
       | I think when teaching to students who haven't explicitly selected
       | for CS/programming, languages like Scratch are better because
       | they have been designed to file off all these edges and have no
       | pretence about providing a general purpose language, and bringing
       | all the annoying practicalities that go along with that.
       | 
       | To start with Python, C#, JavaScript, Java, Haskell, or other
       | popular first languages that are also general purpose programming
       | languages, I think it's critical to first teach the process, the
       | fact that there will be sharp edges but that there are reasons
       | for those even if you might not understand for years to come.
       | Some students just don't care about this, and others find it
       | motivating, and that's why I think it comes down to selection and
       | compatibility for the subject. Not to say that there are only
       | some people who "get" programming, but many aren't motivated
       | enough to manage the relatively steep learning curve.
        
         | Rapzid wrote:
         | Hey I asked this elsewhere but when you say "CS" do you really
         | mean computer science? Are you prepping students for the
         | college exam?
         | 
         | I learned CS in HS 20 years ago and we used DJGPP; it was fine.
         | Python could be fine but it almost seems too high level for the
         | purpose of CS?
         | 
         | The articles and comments I see make HS CS sound like a
         | glorified Intro to Computer Media class.
        
           | phlakaton wrote:
           | TEALS, a popular program in the US for building up CS
           | programs in high school, offers several courses: a general
           | introduction, a cybersecurity course, an AI course, and two
           | courses targeting AP CS exams.
           | 
           | The general introduction teaches in Snap or Python. Python is
           | plenty capable for the level this course us at. You're not
           | going deep into algorithms or datastructures or performance.
        
         | jermaustin1 wrote:
         | Its a weird double-edged sword choosing to go with something
         | like Scratch or even a stripped down framework that makes
         | things WAY easier is you lose the interest of the people who
         | ARE interested in Comp Sci.
         | 
         | In my high school, we had CS1 and CS2, both were AP classes.
         | While 90% of the students had no interest in computer science,
         | there were a couple of us who were, and if we weren't kept
         | engaged by the challenge of learning a new language for most of
         | us (Java), then none of them would have gone on to CS2 (I say
         | them, because I didn't even know about CS1 until I was picking
         | my Senior classes).
         | 
         | The failure rate of that class was around 75%, and you could
         | chalk that up to a bad teacher, disengaging lessons, or the
         | fact that CS is hard and not meant for the general school
         | population, but for those of us who loved computer science, it
         | was the first time outside of building crappy applications in
         | VB6 or PHP that we experienced "proper" programming (handling
         | exceptions, worrying about performance, actual logic not just
         | click events).
         | 
         | I don't think high-shcool-level CS should be gate kept, but I
         | think to sign up for it, maybe students should have to go to a
         | lab or something ahead of time, with some hands-on experiments,
         | and then get accepted into it because they showed some level of
         | enthusiasm.
        
           | phlakaton wrote:
           | Scratch is ECMAScript with a GUI. Snap is practically Scheme
           | with a GUI. You do yourself a disservice discounting either
           | of these as a CS language. You wouldn't build big general-
           | purpose programs with them for their limited domain and
           | programming ergonomics, true, but you aren't building big
           | general-purpose programs in high school.
        
           | Jtsummers wrote:
           | The way my CS teacher in high school handled this (we had the
           | benefit of 2-hour class periods twice a week and a normal
           | 1-hour class period on Mondays) was to let the students go to
           | their own level. Essentially running 2-3 classes at once.
           | 
           | The first part of the first semester was the same for
           | everyone more or less: An introduction to the language
           | (BASIC, this was in the 90s) and some basics of computing.
           | Then for the very motivated/advanced (had already learned
           | some programming or were just more interested0 students he
           | provided instruction on deeper topics in CS and programming
           | and it became increasingly self-directed. For the less
           | motivated (pretty much everyone else) it was a series of
           | projects that kept most of them engaged enough to learn the
           | material. So students who came in knowing some programming or
           | who were particularly motivated got an "honors" introductory
           | course (in university course description terms) and the rest
           | got the typical introductory course.
           | 
           | That did take him being particularly motivated as a teacher
           | and knowing the material well enough to pull it off, though).
           | Evaluations can be challenging if students obsess over
           | "fairness". The advanced students are getting As almost as a
           | given, and some of them might resent that the other students
           | can also get As for doing less work. But that's just kids
           | being kids. The advanced students opted to go in for extra
           | work, it wasn't forced on us and technically we could have
           | fallen back to the regular coursework at any point.
        
       | jeffrallen wrote:
       | > to understand the joy of using coding to create programs
       | they're proud of
       | 
       | I'm coming up on 40 years of programming and I can only think of
       | a few toy programs that gave me this joy. The rest of the time, I
       | was using my computer skills to sate my curiosity on how it works
       | and often times sooner or later translating that into service to
       | others, either for pay or for the joy of sharing and helping.
       | 
       | IT is too big to know entirely, just as the Earth is too big to
       | know entirely. All you can hope for is to enjoy exploring it, and
       | learn to live with/on/among instead of against it.
        
         | commandlinefan wrote:
         | > IT is too big to know entirely
         | 
         | It is now... but I kind of feel like it wasn't 40 years ago. My
         | 19-year-old son is studying CS now and I have a lot of sympathy
         | for how complex it's all become since I was studying it 30+
         | years ago. Although computers can do way more than they could
         | back then, you have to understand a lot more than you used to
         | before you can get them to do the things they can do now.
        
           | fragmede wrote:
           | Yes and no. On a computer, you can open the developer console
           | in the web browser and be there immediately. Go to a Github
           | project and hit . and go to codespaces and be right there.
           | Once you're there though, what to do becomes much harder.
        
           | jeffrallen wrote:
           | 40 years ago, you could know one or several microcomputers
           | well, from BASIC down to assembly. But there was even at that
           | time CAD happening on Unix, VAxes driving CAM, the entire IBM
           | universe (from punched cards to RDBMS), and numerical codes
           | like NASTRAN and LINPACK.
           | 
           | Generalists are more valuable than specialists. But
           | generalists are doomed to never knowing everything, and
           | knowing what they don't know.
        
       | xphos wrote:
       | I think you are right on the mark. Even as an experienced
       | programmer I can get overwhelmed with the breath of whats
       | possible with coding. I can only imagine how overwhelming and
       | disengaging long wrote programming can be. I spent sometime in
       | highschool thinking I could build a programming course when i was
       | very inexperienced and how something and did a presenation but I
       | think i only convinced a single person that programming which was
       | cool but also humbling. Teaching programming is exceedingly
       | difficult
        
       | dayvid wrote:
       | The article confirmed what I thought. The best way to teach
       | students CS is to work to their interests. Almost everything any
       | student wants to do is involved with computers. Find some way to
       | give them a project related to their interest and introduce a CS
       | way to do it or enhance what they would already do.
        
       | luxuryballs wrote:
       | So where's the music??
        
       | poopsmithe wrote:
       | When I took high school chemistry, I repeatedly failed the
       | alebra-esque conversions between one molecule to another (I don't
       | remember what that was called.) The teacher saw this and one day
       | took me aside and asked why I was not progressing like the other
       | students. I told the teacher I didn't care one bit about the
       | topic. Instead of trying to make the subject more interesting for
       | me, the teacher suggested I drop the class and take something I
       | actually liked. I switched to video production, something I was
       | really passionate about, where I did very well. I will always
       | appreciate the chemistry teacher who helped me find my way.
        
         | arethuza wrote:
         | How do you know if you will like something without trying?
        
           | the_af wrote:
           | I think trying to present the topic in an interesting and
           | engaging way is worthwhile.
           | 
           | But thinking you can get 100% students interested in it is
           | probably unrealistic. I don't think you can get all the
           | students interested in any given topic, so why think of this
           | as a failure? Getting a decent number of students interested
           | is good enough. Getting all of them? Unrealistic.
           | 
           | I don't even think this is a failure of the students. Coding
           | isn't universally interesting. It's ok to find it boring,
           | through no fault of either the teacher or the students.
        
             | csmeyer wrote:
             | Maybe I wasn't clear in the article. 100% is a nominal goal
             | (give everyone a chance!) but obviously not everyone will
             | like it and that's not a problem.
        
         | wcedmisten wrote:
         | Stoichiometry?
         | 
         | https://en.m.wikipedia.org/wiki/Stoichiometry
        
         | gniv wrote:
         | I felt the same way about chemistry in high school. I only
         | cared about math really. Recently, 30+ years later, I got
         | interested in human physiology and ended up reading chemistry.
         | Really basic stuff, since I had forgotten the little I knew.
         | And I found it so interesting. It's not math, it's not data
         | structures, and yet it has enough of that, plus the connection
         | to the real world, and I found it all very satisfying.
         | 
         | Anyway, I don't really have a point. But I think chemistry is
         | just hard, as in trying to make it (the theory, not the lab
         | work) approachable and interesting at high school level is
         | nearly impossible.
        
         | drc500free wrote:
         | The standard chemistry curriculum was strange to me. It seemed
         | like we had to learn every incorrect model that civilization
         | ever had about atoms, molecules, and electrons.
         | 
         | It seemed like the kids who were into chemistry were frustrated
         | by the distraction, and the kids who weren't were overwhelmed
         | by the sheer volume of concepts. They didn't seem like useful
         | stepping stones to how things actually worked, just wasted time
         | on things that then had to be un-learned for the next module.
         | 
         | I didn't need much of a "why" to crunch through stoichiometry
         | as a kid who was into physics and algebra who liked puzzles,
         | but I also stopped doing chem after my freshman undergrad
         | requirement. I didn't really understand organic chem and the
         | tie between carbon backbones and interesting organic molecules
         | that can actually do things. I think I would have taken it
         | farther if we hadn't exclusively focused on simple ions in
         | solution for like 2 years, implying to a high schooler that the
         | only career available was more efficient ways of manufacturing
         | ammonia.
        
         | nemo44x wrote:
         | My chemistry teacher was passionate and seemed over qualified
         | and I think that made him sort of come across as bitter at
         | times. He didn't always understand why other people weren't as
         | passionate. Anyways, I heard he had got sick and left teaching.
         | But about a year or so later he was all over the news as he was
         | apparently making really pure meth at a macro level for a
         | cartel and had somehow ended up with some biker gang and was
         | found dead. Crazy story.
        
           | firesteelrain wrote:
           | Breaking Bad reference. The other two commenters missed the
           | joke.
        
           | tezgon wrote:
           | Weird, my chemistry teacher was the exact opposite. He didn't
           | even have a degree in chemistry, it was in physics. He hated
           | teaching that class but loved us as students so we did
           | basically nothing all year. May explain why my knowledge of
           | chemistry is equivalent to that of a medieval peasant. Cool
           | guy though.
        
           | the_only_law wrote:
           | Tbf I imagine mass meth production pays a lot better than
           | even the best industry jobs when it comes to chemistry.
        
         | bee_rider wrote:
         | Chemistry pissed me off. We spent like 3 months learning all
         | these arcane and arbitrary combinations, and then it turns out
         | there are some algebra-like equations at the end that you can
         | just compute your way through.
         | 
         | I'm sure I missed something important because all the
         | memorization was super annoying and so I basically checked out,
         | but I regret nothing and revel in my ignorance of the topic.
         | Chemistry, ugh, may as well be alchemy as far as I'm concerned.
        
           | the_only_law wrote:
           | I've found channels like a NileRed to be incredibly
           | interesting and pique my interest in chemistry years too
           | late.
           | 
           | But I hated HS chemistry class. Of course we never did any
           | sort of cool experiments, most of what I remember is
           | tediously drawing models of different atoms.
        
         | jdihfjv wrote:
         | https://en.wikipedia.org/wiki/Chemical_reaction
        
       | AndrewKemendo wrote:
       | >He completed this in 25 minutes and played web games for the
       | other three weeks available for the project
       | 
       | Sounds like he's a software engineer at heart
        
       | [deleted]
        
       ___________________________________________________________________
       (page generated 2023-06-16 23:00 UTC)