Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. Wanted: Advice from CS teachers

Wanted: Advice from CS teachers

Scheduled Pinned Locked Moved Uncategorized
200 Posts 128 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Not a Spring OnionW Not a Spring Onion

    @futurebird
    I know this from people I taught programming.

    And I think the main problem is that the computer is judging you. In a way.

    This can come in two forms:
    a) The program fails to run, shows you an error, etc.
    b) The IDE adds an error or warning to a line saying: This is wrong.

    So there is "objective proof" right there on the screen that you "are a failure". This is not some other person saying it, this is a piece of technology.

    This is also something I hate from a usability/user experience perspective.

    The computer doesn't say: "Sorry, I don't understand what you mean with that line."
    It says: "This line can not be processed because the user is dumb."

    (Not quite, overemphasizing.)

    When taking about critique or blame, there is this typical antipattern: "Everybody uses a fork."

    No, they don't. I use a fork, I want you to use a fork, but instead of saying that, I invoke a mystical "everybody".

    myrmepropagandistF This user is from outside of this forum
    myrmepropagandistF This user is from outside of this forum
    myrmepropagandist
    wrote last edited by
    #26

    @wakame

    This is helpful for me. I had a hard time understanding why one student was upset, almost to the point of tears (they are very sensitive) that the error message said "error on line 32" but, really the problem was the way they originally named the variable.

    "Why couldn't it just say the error was on line 4? 😢 I tried everything I could to fix line 32. 🥺 😢 "

    My sweet child... it's just not that smart, not like you.

    Not a Spring OnionW cuan_knaggsM JakeA Pete Alex Harris🦡🕸️🌲/∞🪐∫P René :zcash:P 7 Replies Last reply
    0
    • Not a Spring OnionW Not a Spring Onion

      @futurebird

      I think this meme captures a point I am trying to make very nicely.

      Not a Spring OnionW This user is from outside of this forum
      Not a Spring OnionW This user is from outside of this forum
      Not a Spring Onion
      wrote last edited by
      #27

      @futurebird

      [Remark: I am not a teacher, but I taught/coached some people 1-on-1.]

      Working with a computer is not like working with a human.

      A computer can't be "wrong". Not in a human sense. It's just a machine.

      So if your program works, then reality and physics and so on validate your work.
      You have made your will manifest outside of your head, independent of judgement or opinion of others.
      Part of you has become immortal.

      If it doesn't work, then there is nobody to console you, nobody you can blame for not understanding you.
      What you did is objectively wrong.

      I think the second thing deals a rather unique blow to your psyche.
      You can't blame your building materials, or other people, or anything else. The blame is yours and yours alone.

      Of course you can "correct" your mistake, fix your bugs and so on.
      But I still think this is a large piece of humble pie you have to digest first.

      GregorDeBalzacG 1 Reply Last reply
      0
      • myrmepropagandistF myrmepropagandist

        @wakame

        This is helpful for me. I had a hard time understanding why one student was upset, almost to the point of tears (they are very sensitive) that the error message said "error on line 32" but, really the problem was the way they originally named the variable.

        "Why couldn't it just say the error was on line 4? 😢 I tried everything I could to fix line 32. 🥺 😢 "

        My sweet child... it's just not that smart, not like you.

        Not a Spring OnionW This user is from outside of this forum
        Not a Spring OnionW This user is from outside of this forum
        Not a Spring Onion
        wrote last edited by
        #28

        @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.]

        1 Reply Last reply
        0
        • myrmepropagandistF myrmepropagandist

          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

          Anna (editie 2026)V This user is from outside of this forum
          Anna (editie 2026)V This user is from outside of this forum
          Anna (editie 2026)
          wrote last edited by
          #29

          @futurebird I gave my students code with errors in it and had them fix it. But they do have to be at a certain level to be able to do that.

          I stole this idea from the Java certification exams, which had code examples that would get most people fired.

          1 Reply Last reply
          0
          • Abram Kedge🏴󠁧󠁢󠁳󠁣󠁴󠁿🇨🇦A Abram Kedge🏴󠁧󠁢󠁳󠁣󠁴󠁿🇨🇦

            @futurebird

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

            I think this is an excellent idea!

            Mint SpiesM This user is from outside of this forum
            Mint SpiesM This user is from outside of this forum
            Mint Spies
            wrote last edited by
            #30

            @AbramKedge @futurebird I do this (in the context of a different academic subject) with "bad" essays, where we work collaboratively to find errors and redraft improvements. Hope it's effective for you.

            SemitonesS 1 Reply Last reply
            0
            • myrmepropagandistF myrmepropagandist

              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/

              Rpsu (326 ppm)R This user is from outside of this forum
              Rpsu (326 ppm)R This user is from outside of this forum
              Rpsu (326 ppm)
              wrote last edited by
              #31

              @futurebird I think CS students and also everyone else should use the list, but in reverse order.
              1). Calm down, you’ll get over it and find a fix in no time. Everyone does.
              2) Read the error and read it again. It tells you pretty much where, or sometimes even what exactly is the problem. Fix is right there.
              3) The error makes sense, it is not magic. Ever.
              4) It is probably a typo, you’ll find it after competing the first 3 points. Go to 1).

              1 Reply Last reply
              0
              • myrmepropagandistF myrmepropagandist

                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.

                FubaroqueF This user is from outside of this forum
                FubaroqueF This user is from outside of this forum
                Fubaroque
                wrote last edited by
                #32

                @futurebird Kids don’t know how to fail anymore. How did that happen? 🤔

                1 Reply Last reply
                0
                • myrmepropagandistF myrmepropagandist

                  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.

                  Phil Thane ✅P This user is from outside of this forum
                  Phil Thane ✅P This user is from outside of this forum
                  Phil Thane ✅
                  wrote last edited by
                  #33

                  @futurebird
                  I used to get the same teaching basic electronics. Plenty of schools for getting it wrong. Polarised components wrong way round, resistor and capacitor values wrong, wires in wrong holes, bad soldering, very, very bad soldering. The worst was a student who managed one huge blob of solder on a board bridging all eight pins on a DIL IC (probably a 555).

                  1 Reply Last reply
                  0
                  • myrmepropagandistF myrmepropagandist

                    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/

                    Mans RM This user is from outside of this forum
                    Mans RM This user is from outside of this forum
                    Mans R
                    wrote last edited by
                    #34

                    @futurebird > The error will make sense.

                    Have you heard of this thing called C++?

                    myrmepropagandistF 1 Reply Last reply
                    0
                    • Mans RM Mans R

                      @futurebird > The error will make sense.

                      Have you heard of this thing called C++?

                      myrmepropagandistF This user is from outside of this forum
                      myrmepropagandistF This user is from outside of this forum
                      myrmepropagandist
                      wrote last edited by
                      #35

                      @mansr

                      Yeah...

                      what I'm trying to convey is that there is a *reason* why the code isn't working and it will make sense in the context of the rules the got dang computer is trying to follow.

                      It might be annoying or silly, but it will "make sense"

                      Mans RM 1 Reply Last reply
                      0
                      • Not a Spring OnionW Not a Spring Onion

                        @futurebird
                        I know this from people I taught programming.

                        And I think the main problem is that the computer is judging you. In a way.

                        This can come in two forms:
                        a) The program fails to run, shows you an error, etc.
                        b) The IDE adds an error or warning to a line saying: This is wrong.

                        So there is "objective proof" right there on the screen that you "are a failure". This is not some other person saying it, this is a piece of technology.

                        This is also something I hate from a usability/user experience perspective.

                        The computer doesn't say: "Sorry, I don't understand what you mean with that line."
                        It says: "This line can not be processed because the user is dumb."

                        (Not quite, overemphasizing.)

                        When taking about critique or blame, there is this typical antipattern: "Everybody uses a fork."

                        No, they don't. I use a fork, I want you to use a fork, but instead of saying that, I invoke a mystical "everybody".

                        MichaelM This user is from outside of this forum
                        MichaelM This user is from outside of this forum
                        Michael
                        wrote last edited by
                        #36

                        @wakame @futurebird Those errors also have their own language and you have to learn it. You have to be able to interprete stuff like "Error 231 in Line 981: None type is not iterable". Most error messages are not "normal" language you can understand with your normal language skills.

                        (feeding the error messages into an LLM and asking to explain them really helped me, btw.)

                        1 Reply Last reply
                        0
                        • myrmepropagandistF myrmepropagandist

                          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.

                          itgrrl :donor:I This user is from outside of this forum
                          itgrrl :donor:I This user is from outside of this forum
                          itgrrl :donor:
                          wrote last edited by
                          #37

                          @futurebird assigning code broken in specific ways & having a rubric for teaching the troubleshooting sounds like it should be SOP for coding courses, is this not normally part of the curriculum? 🤔

                          (def not dumping on you, asking as an Old who is a self-taught potato coder who never did a CS degree & feels like the way I learned basically anything that I do know was: type it in from a magazine or other source / modify working code that’s similar to what I need -> make mistakes in transcription / tweaks -> code doesn’t run or runs with errors -> troubleshoot the mistakes -> learn stuff 🙃)

                          1 Reply Last reply
                          0
                          • Not a Spring OnionW Not a Spring Onion

                            @futurebird

                            I think this meme captures a point I am trying to make very nicely.

                            funnymonkeyF This user is from outside of this forum
                            funnymonkeyF This user is from outside of this forum
                            funnymonkey
                            wrote last edited by
                            #38

                            @wakame @futurebird

                            I love this thread and I love this meme.

                            I'd share this meme with them, and also share that error messages are like Captain Obvious: they might be accurate about showing when a problem exists, but often less helpful when fixing it.

                            I'd also highlight that bugs are a normal part of programming (and that code can "work"but still be shite).

                            From a classroom place, would "silent coding" followed by QA work as a structure?

                            Or is that what's in place when they call out?

                            1 Reply Last reply
                            0
                            • myrmepropagandistF myrmepropagandist

                              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

                              Linus GasserL This user is from outside of this forum
                              Linus GasserL This user is from outside of this forum
                              Linus Gasser
                              wrote last edited by
                              #39

                              @futurebird I usually have clear me/them speaking parts in the course. While I speak, they listen, which I enforce up to the last whisper.

                              Also, the "me" parts only take 15-20 minutes each, then it's time for questions, https://github.com/ineiti/livequiz, or other interactions.

                              For the exercise sections, the "me" parts are of course much shorter.

                              myrmepropagandistF TBYGT Panicky_PatzerP 3 Replies Last reply
                              0
                              • myrmepropagandistF myrmepropagandist

                                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.

                                A This user is from outside of this forum
                                A This user is from outside of this forum
                                aliengasmask
                                wrote last edited by
                                #40

                                @futurebird in my experience the jump from teaching scratch, where there are no syntax errors, to python is huge.

                                None of the courses ive taught (not my own) included anything covering how to deal with parser errors and i think its an entire lesson in itself. Not sure any students i had would have the patience to follow that lesson as it would be hard to have the "i made the computer do something" pay off.

                                Maybe a parser error cheatsheet is the answer?

                                1 Reply Last reply
                                0
                                • myrmepropagandistF myrmepropagandist

                                  @mansr

                                  Yeah...

                                  what I'm trying to convey is that there is a *reason* why the code isn't working and it will make sense in the context of the rules the got dang computer is trying to follow.

                                  It might be annoying or silly, but it will "make sense"

                                  Mans RM This user is from outside of this forum
                                  Mans RM This user is from outside of this forum
                                  Mans R
                                  wrote last edited by
                                  #41

                                  @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.

                                  SemitonesS 1 Reply Last reply
                                  0
                                  • Linus GasserL Linus Gasser

                                    @futurebird I usually have clear me/them speaking parts in the course. While I speak, they listen, which I enforce up to the last whisper.

                                    Also, the "me" parts only take 15-20 minutes each, then it's time for questions, https://github.com/ineiti/livequiz, or other interactions.

                                    For the exercise sections, the "me" parts are of course much shorter.

                                    myrmepropagandistF This user is from outside of this forum
                                    myrmepropagandistF This user is from outside of this forum
                                    myrmepropagandist
                                    wrote last edited by
                                    #42

                                    @ligasser

                                    "I usually have clear me/them speaking parts in the course. While I speak, they listen, which I enforce up to the last whisper.

                                    Also, the "me" parts only take 15-20 minutes each"

                                    This is how I normally teach (although with middle school students I keep "me" bits to under 8 min each) this is why it's so annoying when they call out during these sections. Something they wouldn't ever do normally.

                                    Something about coding and seeing the error makes them not see it as "time to listen"

                                    Linus GasserL 1 Reply Last reply
                                    0
                                    • myrmepropagandistF myrmepropagandist

                                      @wakame

                                      This is helpful for me. I had a hard time understanding why one student was upset, almost to the point of tears (they are very sensitive) that the error message said "error on line 32" but, really the problem was the way they originally named the variable.

                                      "Why couldn't it just say the error was on line 4? 😢 I tried everything I could to fix line 32. 🥺 😢 "

                                      My sweet child... it's just not that smart, not like you.

                                      cuan_knaggsM This user is from outside of this forum
                                      cuan_knaggsM This user is from outside of this forum
                                      cuan_knaggs
                                      wrote last edited by
                                      #43

                                      @futurebird @wakame I'm not a teacher but I have given interns and others learning projects. Like "here is some code that should do <the thing> but it doesn't work. find why it's not doing <the thing>". I also used to come into the room and ask "what's broken?" making the framing, there's always something not working and we're here to find out way. and always starting my help with "what have you tried"

                                      Not a Spring OnionW 1 Reply Last reply
                                      0
                                      • R ActivityRelay shared this topic
                                      • myrmepropagandistF myrmepropagandist

                                        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.

                                        That’s a morayB This user is from outside of this forum
                                        That’s a morayB This user is from outside of this forum
                                        That’s a moray
                                        wrote last edited by
                                        #44

                                        @futurebird This is an excellent exercise and most of your students will get a lot out of it. Be prepared though for the 3-6 who simply will not believe you. Especially if they've used ChatGPT. My CS friend has students who don't believe him when the thing in front of them differs from ChatGPT just like my language students will not accept that the machine translation is not correct/common usage.

                                        citcC 1 Reply Last reply
                                        0
                                        • cuan_knaggsM cuan_knaggs

                                          @futurebird @wakame I'm not a teacher but I have given interns and others learning projects. Like "here is some code that should do <the thing> but it doesn't work. find why it's not doing <the thing>". I also used to come into the room and ask "what's broken?" making the framing, there's always something not working and we're here to find out way. and always starting my help with "what have you tried"

                                          Not a Spring OnionW This user is from outside of this forum
                                          Not a Spring OnionW This user is from outside of this forum
                                          Not a Spring Onion
                                          wrote last edited by
                                          #45

                                          @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".

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups