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.
  • 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
                            • 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?

                              johan@social.terbeest.orgJ This user is from outside of this forum
                              johan@social.terbeest.orgJ This user is from outside of this forum
                              johan@social.terbeest.org
                              schrieb zuletzt editiert von
                              #303

                              @futurebird I think it’s because code is supposed to do something. So when it doesn’t they get anxious. I still have this whenever I do a training and for some reason my code doesn’t work. It’s a fear of falling behind and a feeling of inadequacy

                              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.

                                k4gi@aus.socialK This user is from outside of this forum
                                k4gi@aus.socialK This user is from outside of this forum
                                k4gi@aus.social
                                schrieb zuletzt editiert von
                                #304

                                @futurebird ive been having the exact same problem haha. i think maybe it helps to have moments where, if everything goes right, the program will crash in a particular way, and we can look at what the error is saying and then at what that actually means. perhaps?

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

                                  Things to Try:
                                  * look for typos
                                  * look at what the error message indicates.

                                  If these don't work consider reverting your last changes to the last working version of your code. Then try making the changes again, but be more careful.

                                  If you can't revert the changes, start removing bits of the code systematically. Remove the things you think might cause the error and run the code again. Isolate the change or code that causes the problem.

                                  You can be a great programmer.

                                  2/2

                                  amyworrall@mastodon.socialA This user is from outside of this forum
                                  amyworrall@mastodon.socialA This user is from outside of this forum
                                  amyworrall@mastodon.social
                                  schrieb zuletzt editiert von
                                  #305

                                  @futurebird reminds me of the helpful guides in the Usborne books I learnt programming from.

                                  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.

                                    jdeisenberg@tech.lgbtJ This user is from outside of this forum
                                    jdeisenberg@tech.lgbtJ This user is from outside of this forum
                                    jdeisenberg@tech.lgbt
                                    schrieb zuletzt editiert von
                                    #306

                                    @futurebird I address this issue by giving students a working program and have them purposely make mistakes to see what happens: https://langintro.com/comsc020/lets-think-python.pdf (page 22) You might even want to make a contest for “who can get the most error messages/ weirdest error message with a mistake in one line?”

                                    As for looking at the wrong line for the error, I use the analogy of buttoning your shirt wrong. You find out it’s wrong when you run out of buttons at the bottom of the shirt, but that’s not where the error really started. (https://youtu.be/kJ4FGD2sQzE)

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

                                      Example of the problem:

                                      Me: "OK everyone. Next we'll make this into a function so we can simply call it each time-"

                                      Student 1: "It won't work." (student who wouldn't interrupt like this normally)

                                      Student 2: "Mine's broken too!"

                                      Student 3: "It says error. I have the EXACT same thing as you but it's not working."

                                      This makes me feel overloaded and grouchy. Too many questions at once. What I want them to do is wait until the explanation is done and ask when I'm walking around. #CSEdu

                                      J This user is from outside of this forum
                                      J This user is from outside of this forum
                                      jmj@hachyderm.io
                                      schrieb zuletzt editiert von
                                      #307

                                      @futurebird I’m not in the education loop. But I saw this with some of the new hires for the last 5-10 years. Rightly or wrongly, I attributed this to the teaching to test mentality. The kids are taught that there are always “right” answers, you cannot figure them out yourself you just have to ask the teacher and they will give it to you. There isn’t time to teach creative problem solving.

                                      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?

                                        triplefox@pounced-on.meT This user is from outside of this forum
                                        triplefox@pounced-on.meT This user is from outside of this forum
                                        triplefox@pounced-on.me
                                        schrieb zuletzt editiert von
                                        #308

                                        @futurebird a bit late to the thread but this sounds a lot like the phenomenon of livestreamers when they play a new video game for the first time - they make a lot of noise in the first few minutes about settings and controls and how they like this or don't like that. When the barrier to playing feels high and their energy level is low they may quit before feeling involved in the game and leave a remark about some aspect of polish that they weren't happy with. I've worked on games like that and addressed literally every polish item. Then they find an excuse like "uh, it looks really promising but not for me". I did a lot of browbeating at demo nights to get a sense of what player feedback's limits were, because beyond a certain point they just don't know what they want and don't have answers for why it feels bad or they got overwhelmed or intimidated by the experience.

                                        If the game is well-constructed it doesn't rely on explicit hand-holding to march them through - it rapidly involves them in a puzzle or process that warms up some plan or mental model of what is going on. It lets them build up their energy investment as they do this, and then their rate of utterances slows down dramatically and becomes less "i don't get it, i need help, this sucks" and more "hmm. That's interesting. I wonder what happens if" and before you know it hours have passed.

                                        But players who burn out on games return right back to citing minor polish issues. 1000 hours in and now you're suddenly complaining about the controls being unresponsive and leaving a negative review on Steam.

                                        When the computer displays messages, it does something similar to set expectations by involving the student in conversation. The student, being human, reacts to being spoken to by saying something back, out loud. Once the first person normalizes that response the whole room lights up.

                                        For the same reason that the livestreamer's first complaints aren't really an issue, the students aren't *actually* in need of help - that's a displacement of their reaction into words that resemble their feelings. And error messages with misleading qualities compound this. The industrial standard of tooling is guided around having the compiler act as a tiny bureaucrat that rubber-stamps things and makes you fill out forms, but it's a bureaucrat with the savvy of cost-optimized customer support - terse, formulaic, mostly addressing the surface issues.

                                        There's a type of programmer that, when they get errors and warnings, goes looking for the settings to turn them off. I think that is a related thing - the compiler frustrates them on a base emotive level. This type of programmer is probably very satisfied with LLM coding because of the sycophancy.

                                        On your end, you know that the student copying off a lecture slide probably has it 95% right, but they need models preparing them to react to these messages, otherwise they spiral out and quit.

                                        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.

                                          landa@graz.socialL This user is from outside of this forum
                                          landa@graz.socialL This user is from outside of this forum
                                          landa@graz.social
                                          schrieb zuletzt editiert von
                                          #309

                                          @aredridel unfortunately, in corporate environments none of the gains that might show up are invested in those tasks* because allocation of resources is generally not in the hands of those who would see that as important.

                                          *) at least I haven’t seen it

                                          @EricLawton @unlambda @maco @futurebird @david_chisnall

                                          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