Mastodon Skip to content
  • Home
  • Aktuell
  • Tags
  • Über dieses Forum
Einklappen
Grafik mit zwei überlappenden Sprechblasen, eine grün und eine lila.
Abspeckgeflüster – Forum für Menschen mit Gewicht(ung)

Kostenlos. Werbefrei. Menschlich. Dein Abnehmforum.

  1. Home
  2. Uncategorized
  3. Wanted: Advice from CS teachers

Wanted: Advice from CS teachers

Geplant Angeheftet Gesperrt Verschoben Uncategorized
teaching
359 Beiträge 191 Kommentatoren 1 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • petealexharris@mastodon.scotP petealexharris@mastodon.scot

    @futurebird @wakame

    The thing I keep saying is: an error message is not a person telling you what specifically went wrong this time. It's a string somebody writing the program months or years ago thought would describe what they *guessed* back then might cause the code to reach that state unexpectedly.

    1. Code can always be wrong, sometimes in ways the programmer hadn't thought of (in fact often since they probably handled the ways they'd thought of) and,
    2. Error handling code is code.

    elplatt@greatjustice.netE This user is from outside of this forum
    elplatt@greatjustice.netE This user is from outside of this forum
    elplatt@greatjustice.net
    schrieb zuletzt editiert von
    #206

    @petealexharris @futurebird @wakame maybe counterintuitive, but I've found that human communication skills are often helpful in learning and understanding programming. Example: "error on line 32" means the interpreter got confused on line 32. Maybe because of line 32 or maybe because there was a miscommunication earlier.

    petealexharris@mastodon.scotP 1 Antwort Letzte Antwort
    0
    • cubeofcheese@mstdn.socialC cubeofcheese@mstdn.social

      @futurebird
      4. As we're coding together, I often type the code wrong on purpose, either because a student suggested the wrong thing, or I take advantage of their ambiguity to make syntactical errors.
      And I am careful to not reveal that it's wrong with my tone. So the whole class including me has errors that we work through together. This gets them used to solving errors, shows them that others including me make errors, and they don't expect that the code I show on the screen is always perfect.

      grant_h@mastodon.socialG This user is from outside of this forum
      grant_h@mastodon.socialG This user is from outside of this forum
      grant_h@mastodon.social
      schrieb zuletzt editiert von
      #207

      @cubeofcheese @futurebird all of the above, but particularly #4. Model the behaviour you want. Cold call what the error that you just made is. Let it become a thing to audit your code.

      Another thing that works is pair programming. Building that culture and trust can take a little while, but both parties learn a lot.

      @MrBerard mihjt have ideas?

      cubeofcheese@mstdn.socialC 1 Antwort Letzte Antwort
      0
      • futurebird@sauropods.winF futurebird@sauropods.win

        Sometimes I have them write the code on paper with the computers closed. And this is fine, but I'd rather have them using the IDE or textedit and there is a limit to how much fun you can have with code on paper.

        And it does tend to be the weaker students who are almost happy to find something to stop the onslaught of information "see it doesn't work! we can't go on!" and that obviously makes me very grouchy.

        I need them to see this is like saying "Teacher my pencil broke! Stop the lesson!"

        jztusk@mastodon.socialJ This user is from outside of this forum
        jztusk@mastodon.socialJ This user is from outside of this forum
        jztusk@mastodon.social
        schrieb zuletzt editiert von
        #208

        @futurebird

        This might be a bit too far (my teaching has been of older kids), but what if instead teaching them "coding" or "programming", you teach them "debugging"?

        I mean start referring to that class exclusively as "debugging". "Okay class, it's time for debugging. Open your....". That way if they write something that doesn't work it's not a mistake - they've produced something that's important for the next step, which is understanding error messages, locating the place in the code ....

        jztusk@mastodon.socialJ 1 Antwort Letzte Antwort
        0
        • elplatt@greatjustice.netE elplatt@greatjustice.net

          @petealexharris @futurebird @wakame maybe counterintuitive, but I've found that human communication skills are often helpful in learning and understanding programming. Example: "error on line 32" means the interpreter got confused on line 32. Maybe because of line 32 or maybe because there was a miscommunication earlier.

          petealexharris@mastodon.scotP This user is from outside of this forum
          petealexharris@mastodon.scotP This user is from outside of this forum
          petealexharris@mastodon.scot
          schrieb zuletzt editiert von
          #209

          @elplatt @futurebird @wakame
          Yeah it only means an inconsistency was detected while trying to interpret/compile line 32, not that the mistake as a human would identify it is on line 32.

          1 Antwort Letzte Antwort
          0
          • donray@mastodon.onlineD donray@mastodon.online

            @futurebird @Flisty

            I like the idea of a posted message.

            You’re not stuck until you’ve tried:
            A.
            B.
            C.

            (Variation on the old “You’re not stuck until you’ve run out of gas.”)

            flisty@mstdn.socialF This user is from outside of this forum
            flisty@mstdn.socialF This user is from outside of this forum
            flisty@mstdn.social
            schrieb zuletzt editiert von
            #210

            @donray @futurebird there are lots of them about https://www.tes.com/teaching-resource/debugging-checklist-poster-for-the-computer-tech-classroom-13223869

            flisty@mstdn.socialF 1 Antwort Letzte Antwort
            0
            • futurebird@sauropods.winF futurebird@sauropods.win

              Wanted: Advice from CS teachers

              When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

              I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

              elplatt@greatjustice.netE This user is from outside of this forum
              elplatt@greatjustice.netE This user is from outside of this forum
              elplatt@greatjustice.net
              schrieb zuletzt editiert von
              #211

              @futurebird I've seen this too. Even in one-on-one instruction. Errors cause the students to panic and jump around quickly without stopping to think. Teaching students to stop and take a breath can be helpful. Sometimes the problem is the students are trying to learn by rote and don't have a mental model of what the code is doing, which takes a lot of time to address.

              1 Antwort Letzte Antwort
              0
              • matt@istheguy.comM matt@istheguy.com

                So I’m a long-time TDD advocate, and I guess this sort of gives up the game? Like, writing trustworthy tests that anticipate every distinct, concrete possibility that matters to us—this has always been The Hard Part of “coding”

                @futurebird @EricLawton @david_chisnall

                ericlawton@kolektiva.socialE This user is from outside of this forum
                ericlawton@kolektiva.socialE This user is from outside of this forum
                ericlawton@kolektiva.social
                schrieb zuletzt editiert von
                #212

                @matt

                That's hard, and so is figuring out the precursor of both code and test cases: the requirements.

                I remember going to the US in the early days of Obamacare, for one State's new system to support it.

                We had various experts representing different interests and they disagreed over so many points that I told them I would get them a neutral negotiations facilitator to help them figure things out, because I couldn't help until they were much closer to agreement.

                @futurebird @david_chisnall

                matt@istheguy.comM 1 Antwort Letzte Antwort
                0
                • jztusk@mastodon.socialJ jztusk@mastodon.social

                  @futurebird

                  This might be a bit too far (my teaching has been of older kids), but what if instead teaching them "coding" or "programming", you teach them "debugging"?

                  I mean start referring to that class exclusively as "debugging". "Okay class, it's time for debugging. Open your....". That way if they write something that doesn't work it's not a mistake - they've produced something that's important for the next step, which is understanding error messages, locating the place in the code ....

                  jztusk@mastodon.socialJ This user is from outside of this forum
                  jztusk@mastodon.socialJ This user is from outside of this forum
                  jztusk@mastodon.social
                  schrieb zuletzt editiert von
                  #213

                  @futurebird

                  .... where the error is likely to be hiding, figuring out how to remove things to get to a basic structure that does work.

                  Honestly, "debugging" is the first thing you gotta learn. Heck "Basic Swimming" is still called swimming, but the key skill you learn is "breathing - while your face is in water half the time".

                  This might be expecting too much patience from your age cohort, but what if "it doesn't work" was met with "Excellent. We'll use that in the next step."

                  jztusk@mastodon.socialJ 1 Antwort Letzte Antwort
                  0
                  • futurebird@sauropods.winF futurebird@sauropods.win

                    Wanted: Advice from CS teachers

                    When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                    I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                    sgharms@techhub.socialS This user is from outside of this forum
                    sgharms@techhub.socialS This user is from outside of this forum
                    sgharms@techhub.social
                    schrieb zuletzt editiert von
                    #214

                    @futurebird a powerful conceptual tool that I have after working in Boot Camp and in professional training is this: your code has billions of configurations, all of them except one are incorrect.

                    Therefore you’re going to spend the majority of your time with not working code. When it does work, that is the exception.

                    Therefore, your goal will be to learn how to gather information and diagnose the nature of the wrongness so that you can get it to the one working state this blunts the Instagram effect.

                    1 Antwort Letzte Antwort
                    0
                    • flisty@mstdn.socialF flisty@mstdn.social

                      @donray @futurebird there are lots of them about https://www.tes.com/teaching-resource/debugging-checklist-poster-for-the-computer-tech-classroom-13223869

                      flisty@mstdn.socialF This user is from outside of this forum
                      flisty@mstdn.socialF This user is from outside of this forum
                      flisty@mstdn.social
                      schrieb zuletzt editiert von
                      #215

                      @donray @futurebird if you wanted to turn it into a Teachable Moment (TM) you could create the list together then put it up on the wall after.

                      1 Antwort Letzte Antwort
                      0
                      • wakame@tech.lgbtW wakame@tech.lgbt

                        @futurebird
                        I totally cried when I was 14 and I tought in my naivety that I knew almost everything and then a simple program failed.

                        [Edit: And seriously: I think it is hard to understand if the voice from god tells your that there is an error line 32, that this could be somehow wrong.

                        I mean, this is a computer, right? It doesn't make mistakes.

                        Maybe emphasizing that the IDE and the compiler and everything else was written by humans and that they discover bugs in those programs all the time could help.]

                        catfish_man@mastodon.socialC This user is from outside of this forum
                        catfish_man@mastodon.socialC This user is from outside of this forum
                        catfish_man@mastodon.social
                        schrieb zuletzt editiert von
                        #216

                        @wakame @futurebird can confirm, I work on the standard library for a major programming language and my working assumption is “you can tell I’m writing a bug because my hands are moving”.

                        Which is why we have tens of thousands of tests and multiple code reviewers and elaborate compiler checking and teams of people dedicated to making sure everyone else’s code that uses my code still works and everyone “dogfoods” the changes and and and… stuff still slips through every once in a while.

                        catfish_man@mastodon.socialC wakame@tech.lgbtW 2 Antworten Letzte Antwort
                        0
                        • jztusk@mastodon.socialJ jztusk@mastodon.social

                          @futurebird

                          .... where the error is likely to be hiding, figuring out how to remove things to get to a basic structure that does work.

                          Honestly, "debugging" is the first thing you gotta learn. Heck "Basic Swimming" is still called swimming, but the key skill you learn is "breathing - while your face is in water half the time".

                          This might be expecting too much patience from your age cohort, but what if "it doesn't work" was met with "Excellent. We'll use that in the next step."

                          jztusk@mastodon.socialJ This user is from outside of this forum
                          jztusk@mastodon.socialJ This user is from outside of this forum
                          jztusk@mastodon.social
                          schrieb zuletzt editiert von
                          #217

                          @futurebird

                          To really overwork the swimming metaphor, once you get the breathing down you can start work on the cool stuff, like learning different strokes, etc.. And once you get debugging down you can start learning algorithms and cool graphics libraries, etc.

                          But you aren't going anywhere until you've learned how to debug, so let's honor it and teach it as a distinct skill, not as something shameful we need to resort to when we've made a mistake. (Forgive the excessively dramatic tone. 😄)

                          1 Antwort Letzte Antwort
                          0
                          • futurebird@sauropods.winF futurebird@sauropods.win

                            @ben @david_chisnall

                            They've added some new feature that will pull up a little virtual machine and it will let you run the code in there. It also seems to test that the code will at least compile first.

                            I worry that people seem to think that the LLM just... "evolved" these features when clearly a human person had to add them.

                            ericlawton@kolektiva.socialE This user is from outside of this forum
                            ericlawton@kolektiva.socialE This user is from outside of this forum
                            ericlawton@kolektiva.social
                            schrieb zuletzt editiert von
                            #218

                            @futurebird

                            Which is how LLMs will "evolve", including soul-destroying work by people in the global south, "training" them.

                            They will become better corporate spokesbots, flooding our communications systems with marketing-driven slop.

                            @ben @david_chisnall

                            su_liam@mas.toS 1 Antwort Letzte Antwort
                            0
                            • futurebird@sauropods.winF futurebird@sauropods.win

                              Wanted: Advice from CS teachers

                              When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                              I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                              feralhousewife@mastodon.socialF This user is from outside of this forum
                              feralhousewife@mastodon.socialF This user is from outside of this forum
                              feralhousewife@mastodon.social
                              schrieb zuletzt editiert von
                              #219

                              @futurebird "That's great! Your journey into coding really begins now, with the debugger!!!!"

                              1 Antwort Letzte Antwort
                              0
                              • ericlawton@kolektiva.socialE ericlawton@kolektiva.social

                                @futurebird

                                Which is how LLMs will "evolve", including soul-destroying work by people in the global south, "training" them.

                                They will become better corporate spokesbots, flooding our communications systems with marketing-driven slop.

                                @ben @david_chisnall

                                su_liam@mas.toS This user is from outside of this forum
                                su_liam@mas.toS This user is from outside of this forum
                                su_liam@mas.to
                                schrieb zuletzt editiert von
                                #220

                                @EricLawton @futurebird @ben @david_chisnall How many Russian children had to be posed naked in front of cameras, so Grok knew how to make those pictures?

                                1 Antwort Letzte Antwort
                                0
                                • futurebird@sauropods.winF futurebird@sauropods.win

                                  @EricLawton @david_chisnall

                                  "Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt."

                                  At first it did not, but they have added a routine to run it through a compiler until it at least runs without syntax errors and probably produces output that seems like what you asked for for a limited example of input.

                                  This is a bolted on extra check, not some improvement in the base LLM.

                                  But some people are acting like it does represent advances in the LLM.

                                  aredridel@kolektiva.socialA This user is from outside of this forum
                                  aredridel@kolektiva.socialA This user is from outside of this forum
                                  aredridel@kolektiva.social
                                  schrieb zuletzt editiert von
                                  #221

                                  @futurebird @EricLawton @david_chisnall @maco Are they though? The only sensible way to evaluate it is as a system — nobody uses the raw LLM, it's always through layers of API, tokenization, and now models or at least separate "trains of thought" leveraged against each other to refine the output. Using the tooling to conform output is a good hack to keep the systems able to deal with new things by using new tools instead of needing new training.

                                  And it's not exactly an extra check — it's embedded in a feedback loop.

                                  futurebird@sauropods.winF 1 Antwort Letzte Antwort
                                  0
                                  • aredridel@kolektiva.socialA aredridel@kolektiva.social

                                    @futurebird @EricLawton @david_chisnall @maco Are they though? The only sensible way to evaluate it is as a system — nobody uses the raw LLM, it's always through layers of API, tokenization, and now models or at least separate "trains of thought" leveraged against each other to refine the output. Using the tooling to conform output is a good hack to keep the systems able to deal with new things by using new tools instead of needing new training.

                                    And it's not exactly an extra check — it's embedded in a feedback loop.

                                    futurebird@sauropods.winF This user is from outside of this forum
                                    futurebird@sauropods.winF This user is from outside of this forum
                                    futurebird@sauropods.win
                                    schrieb zuletzt editiert von
                                    #222

                                    @aredridel @EricLawton @david_chisnall @maco

                                    I've had so many people say "it knows how to write code now" as if this is somehow ... new and different from generating text. As if there as been some foundational advancement and not just the same tool applied again.

                                    aredridel@kolektiva.socialA unlambda@hachyderm.ioU 2 Antworten Letzte Antwort
                                    0
                                    • futurebird@sauropods.winF futurebird@sauropods.win

                                      @aredridel @EricLawton @david_chisnall @maco

                                      I've had so many people say "it knows how to write code now" as if this is somehow ... new and different from generating text. As if there as been some foundational advancement and not just the same tool applied again.

                                      aredridel@kolektiva.socialA This user is from outside of this forum
                                      aredridel@kolektiva.socialA This user is from outside of this forum
                                      aredridel@kolektiva.social
                                      schrieb zuletzt editiert von
                                      #223

                                      @futurebird @EricLawton @david_chisnall @maco Yeah. And it really just is more and more precise force of the same sort. It does however end up at a qualitatively different place, with different impacts to the system of programming work itself because of it.

                                      maco@wandering.shopM 1 Antwort Letzte Antwort
                                      0
                                      • aredridel@kolektiva.socialA aredridel@kolektiva.social

                                        @futurebird @EricLawton @david_chisnall @maco Yeah. And it really just is more and more precise force of the same sort. It does however end up at a qualitatively different place, with different impacts to the system of programming work itself because of it.

                                        maco@wandering.shopM This user is from outside of this forum
                                        maco@wandering.shopM This user is from outside of this forum
                                        maco@wandering.shop
                                        schrieb zuletzt editiert von
                                        #224

                                        @aredridel @futurebird @EricLawton @david_chisnall I’ve heard pricing on these is based on “tokens,” which I understand is in the tokenization/lex/yacc sense. I think that’s based on the number of tokens output, not input.

                                        When it has to make two or three tries at generating code that actually compiles, does each attempt get charged, or just one?

                                        futurebird@sauropods.winF ericlawton@kolektiva.socialE aredridel@kolektiva.socialA unlambda@hachyderm.ioU 5 Antworten Letzte Antwort
                                        0
                                        • catfish_man@mastodon.socialC catfish_man@mastodon.social

                                          @wakame @futurebird can confirm, I work on the standard library for a major programming language and my working assumption is “you can tell I’m writing a bug because my hands are moving”.

                                          Which is why we have tens of thousands of tests and multiple code reviewers and elaborate compiler checking and teams of people dedicated to making sure everyone else’s code that uses my code still works and everyone “dogfoods” the changes and and and… stuff still slips through every once in a while.

                                          catfish_man@mastodon.socialC This user is from outside of this forum
                                          catfish_man@mastodon.socialC This user is from outside of this forum
                                          catfish_man@mastodon.social
                                          schrieb zuletzt editiert von
                                          #225

                                          @wakame @futurebird when I’m feeling extra dramatic I sometimes think of Diane Duane’s “So You Want To Be A Wizard”; we’re in a war against entropy itself, a sandcastle versus the tide, utterly unwinnable. And yet we show up every day and carve out a little place where something is Better for the people relying on our work. A bug fixed here, a tiny efficiency win multiplied by running a trillion times a day there.

                                          “To these ends, in the practice of my Art, I will put aside fear for courage…”

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen



                                          Copyright (c) 2025 abSpecktrum (@abspecklog@fedimonster.de)

                                          Erstellt mit Schlaflosigkeit, Kaffee, Brokkoli & ♥

                                          Impressum | Datenschutzerklärung | Nutzungsbedingungen

                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Über dieses Forum