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.
  • futurebird@sauropods.winF futurebird@sauropods.win

    My students aren't lazy, but they *can* be a little perfectionist: scared to take risks or sit with not having the answer right away.

    They are really upset when their code won't run... but staying calm and *systematically* looking for the cause of the problem, knowing that if you just work through the tree of possible causes you will find it is not something they are good at.

    I think I need to teach this.

    Maybe I will give them some broken code and we will find the errors together.

    thib@mamot.frT This user is from outside of this forum
    thib@mamot.frT This user is from outside of this forum
    thib@mamot.fr
    schrieb zuletzt editiert von
    #283

    @futurebird @tito
    Yes, I started to teach how to fix broken code in some classes: read and understand errors, where to look, etc. These are skills they really need but we let them figure them out by themselves. By teaching them how a code can be broken and how to fix it they figure out what is correct code.
    It's much better this way than the other way around IMHO.
    And yes they are scared to do mistakes, it's even worse in electronics classes!

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

      @Catfish_Man @futurebird

      "If debugging is the process of removing bugs, then programming must be the process of putting them in." - Dijkstra

      sayrer@mastodon.socialS This user is from outside of this forum
      sayrer@mastodon.socialS This user is from outside of this forum
      sayrer@mastodon.social
      schrieb zuletzt editiert von
      #284

      @wakame @Catfish_Man @futurebird ha, I like "no one is dumber than yourself yesterday" because you know that person's flawed thought process.

      1 Antwort Letzte Antwort
      0
      • merula@masto.nuM merula@masto.nu

        @futurebird Yes, when I taught young adults I had an explicit section, right after the first ones that gave them a taste of success, on reading error messages.

        Showed an error -- intimidating, eh? But we can pick out parts. Line number, file, error type, message, and a traceback. Highlight those as I pointed them out. New raw error message: hey, same structure! Can we pick out the line number? etc.

        1/

        merula@masto.nuM This user is from outside of this forum
        merula@masto.nuM This user is from outside of this forum
        merula@masto.nu
        schrieb zuletzt editiert von
        #285

        @futurebird
        So that was step one, teach their eyes to pick info from the error text, instead of sliding off it. Next step teach them to see error as a call for their action. I did this by running through 2-3 common errors and the action, repeating 'WHEN I see an X error, THEN I do Y' language.

        WHEN I see a NameError, THEN I read the error, look up the line, and look for a mistyped name.

        WHEN I see a SyntaxError, THEN I double-check my quote marks / parentheses / colons.

        2/

        merula@masto.nuM 1 Antwort Letzte Antwort
        0
        • unlambda@hachyderm.ioU unlambda@hachyderm.io

          @EricLawton @maco @aredridel @futurebird @david_chisnall we don't know exactly how much it costs for the closed models; they may be selling at a loss, break even, or a slight profit on interference. But you can tell exactly how much inference costs with open weights models, you can run them on your own hardware and measure the cost of the hardware and power. And there's a competitive landscape of providers offering to run them. And open weights models are only lagging behind the closed models by a few months by now.

          If the market consolidates down to only one or two leading players, then yes, it's possible for them to put a squeeze on the market and jack up prices. But right now, it's a highly competitive market, with very little stickiness, it's very easy to move to a different provider if the one you're using jacks up prices. Right now each of OpenAI, Anthropic, Google, and xAI are releasing frontier models regularly which leapfrog each other on various benchmarks, and the Chinese labs are only a few months behind, and generally release open weight models which are much easier to measure and build on top of. There's very little moat right now other than sheer capacity for training and inference.

          And I would expect, if we do get a consolidation and squeeze, it would just be by jacking up prices, not by generating too many tokens. Right now inference is highly constrained; those people I work with who use these models regularly hit capacity limitations all the time. These companies can't build out capacity fast enough to meet demand, so if anything they're motivated to make things more efficient right now.

          I have a lot of problems with the whole LLM industry, and I feel like in many ways it's being rushed out before we're truly ready for all of the consequences, but it is actually quite in demand right now.

          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
          #286

          @unlambda @EricLawton @maco @futurebird @david_chisnall All of this. I remain with a position of "this is a net negative for society”. However the utility to a programmer is pretty hard to deny.

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

            @stilescrisis

            If you haven't been coding for a few years, you won't be a skilled programmer. It won't take a lifetime to run out of them.

            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
            #287

            @EricLawton @stilescrisis This. I see it undermining knowledge in a _myriad_ of ways very quickly.

            But also affixing us to 2025 technology because it will be good at known quantities more than novel things.

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

              I think they become anxious when their code isn't working the same as what I have up on the projector and they want to get it fixed RIGHT AWAY so they won't fall behind.

              Then when one of them starts calling out they all do it.

              I may take some time to explain this.

              This never happens when I'm teaching math. Something about coding makes them forget some of their manners, and become less self-sufficient. "It's broke! I'm helpless!"

              What is that about?

              evana@hachyderm.ioE This user is from outside of this forum
              evana@hachyderm.ioE This user is from outside of this forum
              evana@hachyderm.io
              schrieb zuletzt editiert von
              #288

              @futurebird one part of it may be that you get instant-ish feedback. When you're doing a math problem with pen and paper, you can write down a wrong answer and not know it until someone shows the expected answer.

              That "run"/"compile" button (or IDE feedback / warnings) is happy to tell you almost immediately if there's something the computer can't figure out. And since the computer does a bunch of big mysterious stuff (and is always right), if there's a problem, it's definitely that YOU are WRONG.

              Starting with something about getting unstuck on your own (and grounding it in patterns they already know from math) sounds like a good idea.

              1 Antwort Letzte Antwort
              0
              • aredridel@kolektiva.socialA aredridel@kolektiva.social

                @unlambda @EricLawton @maco @futurebird @david_chisnall All of this. I remain with a position of "this is a net negative for society”. However the utility to a programmer is pretty hard to deny.

                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
                #289

                @aredridel

                The utility to employers of programmers, yes.

                I'm not clear how individual programmers benefit. Obviously not those who are laid off.
                Not for those who take pride in their work.

                @unlambda @maco @futurebird @david_chisnall

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

                  @aredridel

                  The utility to employers of programmers, yes.

                  I'm not clear how individual programmers benefit. Obviously not those who are laid off.
                  Not for those who take pride in their work.

                  @unlambda @maco @futurebird @david_chisnall

                  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
                  #290

                  @EricLawton @unlambda @maco @futurebird @david_chisnall i disagree with some strong asterisks. But I do think that making something you can really be proud of in detail is a bit uphill.

                  But also this enables a lot of time to spend on the planning and documenting side of things, which are absolutely things that programmers have wanted more time to do well, and processes that support. This might be providing them.

                  aredridel@kolektiva.socialA landa@graz.socialL 2 Antworten Letzte Antwort
                  0
                  • merula@masto.nuM merula@masto.nu

                    @futurebird
                    So that was step one, teach their eyes to pick info from the error text, instead of sliding off it. Next step teach them to see error as a call for their action. I did this by running through 2-3 common errors and the action, repeating 'WHEN I see an X error, THEN I do Y' language.

                    WHEN I see a NameError, THEN I read the error, look up the line, and look for a mistyped name.

                    WHEN I see a SyntaxError, THEN I double-check my quote marks / parentheses / colons.

                    2/

                    merula@masto.nuM This user is from outside of this forum
                    merula@masto.nuM This user is from outside of this forum
                    merula@masto.nu
                    schrieb zuletzt editiert von
                    #291

                    @futurebird

                    Also IndentError, KeyError, and IndexError.

                    (Optional: 'hunt the Big Five': can they deliberately make code that has this error? and then fix it?)

                    Finally TypeError, for which more than the previous errors the fix depends on what you were doing. New phrase: 'I THOUGHT I had a number, but I HAVE a string. Can I change what I HAVE, or should I change what I THINK?"

                    Change what I have: int(my_string)

                    Change what I think: Ah, x can also be a string. `if type(my_x) is str: ...`
                    3/

                    merula@masto.nuM 1 Antwort Letzte Antwort
                    0
                    • aredridel@kolektiva.socialA aredridel@kolektiva.social

                      @EricLawton @unlambda @maco @futurebird @david_chisnall i disagree with some strong asterisks. But I do think that making something you can really be proud of in detail is a bit uphill.

                      But also this enables a lot of time to spend on the planning and documenting side of things, which are absolutely things that programmers have wanted more time to do well, and processes that support. This might be providing them.

                      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
                      #292

                      (Certainly not all programmers, but people proud of the craft and of doing a good job.)

                      simon_brooke@mastodon.scotS 1 Antwort Letzte Antwort
                      0
                      • aredridel@kolektiva.socialA aredridel@kolektiva.social

                        @futurebird @maco @EricLawton @david_chisnall Oof. A sales pitch embedded in it sounds miiiiiserable.

                        As far as pricing ... man it's hard to tell. The training of models is very expensive, and energy-consuming. That has to be amortized somehow. But the actual running takes only a little more than 'home computer' level. (and cruddier models do run on home computer scale things)

                        ingalovinde@embracing.spaceI This user is from outside of this forum
                        ingalovinde@embracing.spaceI This user is from outside of this forum
                        ingalovinde@embracing.space
                        schrieb zuletzt editiert von
                        #293

                        @aredridel @futurebird @maco @EricLawton @david_chisnall but the actual running of all these popular LLMs has long ago outgrown the training? With vast majority of e.g. OpenAI expenses being on inference and not on training.

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

                          So Your Code Won't Run

                          1. There *is* an error in your code. It's probably just a typo. You can find it by looking for it in a calm, systematic way.

                          2. The error will make sense. It's not random. The computer does not "just hate you"

                          3. Read the error message. The error message *tries* to help you, but it's just a computer so YOUR HUMAN INTELLIGENCE may be needed to find the real source of error.

                          4. Every programmer makes errors. Great programmers can find and fix them.

                          1/

                          asilata@mathstodon.xyzA This user is from outside of this forum
                          asilata@mathstodon.xyzA This user is from outside of this forum
                          asilata@mathstodon.xyz
                          schrieb zuletzt editiert von
                          #294

                          @futurebird
                          Wonderful. I would suggest a small change to 4. Even though the rest of your message explains how to become a great programmer, students may get hyper-fixated on #4. They may think "oh I'm just not a great programmer" before even reading ahead, or even after. So may I suggest something like: "Finding and fixing the errors is an essential step towards becoming a great programmer." This frames it as a process from the get-go, rather than a binary.

                          1 Antwort Letzte Antwort
                          0
                          • ingalovinde@embracing.spaceI ingalovinde@embracing.space

                            @aredridel @futurebird @maco @EricLawton @david_chisnall but the actual running of all these popular LLMs has long ago outgrown the training? With vast majority of e.g. OpenAI expenses being on inference and not on training.

                            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
                            #295

                            @IngaLovinde @futurebird @maco @EricLawton @david_chisnall Yup. Not mostly for coding, where the demand is pretty direct, but ChatGPT is wildly popular itself _and_ wildly integrated even in the most ridiculous places. So even in the places it's hated, someone's inducing demand.

                            1 Antwort Letzte Antwort
                            0
                            • merula@masto.nuM merula@masto.nu

                              @futurebird

                              Also IndentError, KeyError, and IndexError.

                              (Optional: 'hunt the Big Five': can they deliberately make code that has this error? and then fix it?)

                              Finally TypeError, for which more than the previous errors the fix depends on what you were doing. New phrase: 'I THOUGHT I had a number, but I HAVE a string. Can I change what I HAVE, or should I change what I THINK?"

                              Change what I have: int(my_string)

                              Change what I think: Ah, x can also be a string. `if type(my_x) is str: ...`
                              3/

                              merula@masto.nuM This user is from outside of this forum
                              merula@masto.nuM This user is from outside of this forum
                              merula@masto.nu
                              schrieb zuletzt editiert von
                              #296

                              @futurebird

                              Okay, last bits, sorry for going on so long!

                              1. My inspiration was Software Carpentry's module on reading errors. https://swcarpentry.github.io/python-novice-inflammation-2.7/07-errors.html
                              2. I also taught them about 'rubber ducking'. Made it all conspiratorial, let them in on the secret, tell them the pros do this. (We do!) The secret is: draw a little duck, and when you get errors explain your problem to the duck. Duck is simple duck, so explain every detail. Often, because you explain it, you'll realise how to fix it! 4/4

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

                                @mensrea @futurebird

                                That is something I should definitely try sometime.

                                When the broken code comes from another person, it is more "improving something" and less "getting your work dissected".

                                mensrea@freeradical.zoneM This user is from outside of this forum
                                mensrea@freeradical.zoneM This user is from outside of this forum
                                mensrea@freeradical.zone
                                schrieb zuletzt editiert von
                                #297

                                @wakame @futurebird and i do need to brag about one of them. one day one of the interns told me of how she started getting answer to problems she couldn't figure out. she created 2 stack overflow accounts, with her main she asked her question. with her alt, she'd confidently give herself a wring answer. and then sit back and wait for the well actuallies. i was so proud

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

                                  So Your Code Won't Run

                                  1. There *is* an error in your code. It's probably just a typo. You can find it by looking for it in a calm, systematic way.

                                  2. The error will make sense. It's not random. The computer does not "just hate you"

                                  3. Read the error message. The error message *tries* to help you, but it's just a computer so YOUR HUMAN INTELLIGENCE may be needed to find the real source of error.

                                  4. Every programmer makes errors. Great programmers can find and fix them.

                                  1/

                                  linebyline@mastoart.socialL This user is from outside of this forum
                                  linebyline@mastoart.socialL This user is from outside of this forum
                                  linebyline@mastoart.social
                                  schrieb zuletzt editiert von
                                  #298

                                  @futurebird I mean, the computer *does* just hate you, but that's not why your code isn't running. Completely separate issue.

                                  1 Antwort Letzte Antwort
                                  0
                                  • mansr@society.oftrolls.comM mansr@society.oftrolls.com

                                    @futurebird I know what you mean, and you're perfectly right when it comes to sane programming languages. However, C++ compilers have a habit of spewing out error messages the size of a Tolstoy novel in response to mistakes as trivial as a missing comma. Now I assume you're not teaching the kids C++ as that would be quite irresponsible.

                                    linebyline@mastoart.socialL This user is from outside of this forum
                                    linebyline@mastoart.socialL This user is from outside of this forum
                                    linebyline@mastoart.social
                                    schrieb zuletzt editiert von
                                    #299

                                    @mansr @futurebird *cries in PHP*

                                    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.

                                      morten_skaaning@mastodon.gamedev.placeM This user is from outside of this forum
                                      morten_skaaning@mastodon.gamedev.placeM This user is from outside of this forum
                                      morten_skaaning@mastodon.gamedev.place
                                      schrieb zuletzt editiert von
                                      #300

                                      @futurebird random : don't do big changes. Do small changes and validate with compiler or tests. That usually solves 90% of problems.

                                      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.

                                        misterdave@tilde.zoneM This user is from outside of this forum
                                        misterdave@tilde.zoneM This user is from outside of this forum
                                        misterdave@tilde.zone
                                        schrieb zuletzt editiert von
                                        #301

                                        @futurebird I'm gonna be brief because I'm a parent, not a teacher, but this experience rhymes with mine.

                                        what I tend to do is respond in a way that addresses the existence of a good question without answering it. even if the response equates to "I'm doing something so I'm not ready to help with that yet", I try to encourage the aspect of wondering. so for example "you've stumbled on a surprise part of the lesson! it's ok, keep following along while i get everyone there."

                                        or something. I'm just a guy.

                                        1 Antwort Letzte Antwort
                                        0
                                        • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                                          @futurebird

                                          I’ve taught programming like this, but I’m an increasingly huge fan of the debugging-first approach that a few people have been trying more recently. In this model, you don’t teach people to write code first, you teach them to fix code first.

                                          I’ve seen a bunch of variations of this. If you have some kind of IDE (Smalltalk is beautiful for this, but other languages usually have the minimum requirements) then you can start with some working code and have them single-step through it and inspect variables to see if the behaviour reflects their intuition. Then you can give them nearly correct code and have them use that tool to fix the issues.

                                          Only once they’re comfortable with that do you have them start writing code.

                                          Otherwise it’s like teaching them to write an essay without first teaching them how to erase and redraft. If you teach people to get stuck before teaching them how to unstick themselves, it’s not surprising that they stop and give up at that point.

                                          obscurestar@mastodon.socialO This user is from outside of this forum
                                          obscurestar@mastodon.socialO This user is from outside of this forum
                                          obscurestar@mastodon.social
                                          schrieb zuletzt editiert von
                                          #302

                                          @david_chisnall @futurebird I remember being excited when I learned Ruby was supposed to be a test-first language (you design the tests then code to them)

                                          Unfortunately, the language was Ruby and few if any of its users even tried to adopt such an ideology.

                                          But I agree with you! On that, have any reading materials with tips for modern practices, I'm still clinging to a worn copy of 'Working Effectively With Legacy Code'

                                          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