[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)