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

                                  CavyherdC This user is from outside of this forum
                                  CavyherdC This user is from outside of this forum
                                  Cavyherd
                                  wrote last edited by
                                  #46

                                  @futurebird

                                  It's probably a missing or extra comma, quote, or paren.

                                  "looking for it in a calm, systematic way" after the requisite freak-out & meltdown....

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

                                    @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 This user is from outside of this forum
                                    GregorDeBalzacG This user is from outside of this forum
                                    GregorDeBalzac
                                    wrote last edited by
                                    #47

                                    @wakame @futurebird

                                    This comment is spot on I think. I’ve seen this with little kids and devices like iPads. When the iPad doesn’t do what they want, they will get mad and say “it’s not doing what I want” to which I have to reply “it’s doing exactly what you told it to do”.

                                    Also, I think for most people computers are a “black box”, so when it errors students may assume they don’t have the skills to fix it.

                                    1 Reply Last reply
                                    0
                                    • myrmepropagandistF myrmepropagandist

                                      @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 This user is from outside of this forum
                                      Linus GasserL This user is from outside of this forum
                                      Linus Gasser
                                      wrote last edited by
                                      #48

                                      @futurebird I'm also interested how to add LLMs to the mix: how to use them in a way we use IDEs now: we still know how to program/read code, but IDEs are so useful.

                                      This will add another level to the me/them, where sometimes I'd want them to use LLMs, other times not.

                                      But first I need to convince the school it's a good approach: I'm an external teacher, and as such have very little influence...

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

                                        U.LancierU This user is from outside of this forum
                                        U.LancierU This user is from outside of this forum
                                        U.Lancier
                                        wrote last edited by
                                        #49

                                        @futurebird give them code that is flawed and without/withbad commentary to fix from the beginning. Also to teach them that this is the default state of *any* code they will encounter in real life.

                                        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

                                          hoertaufH This user is from outside of this forum
                                          hoertaufH This user is from outside of this forum
                                          hoertauf
                                          wrote last edited by
                                          #50

                                          @futurebird You probably already know @b0rk‘s Pocked Guide to Debugging. The thing I love so much about it is how she cherishes the bug, instead of squashing it (in the illustrations too). I love this attitude. Not sure if students can learn to think that way? There is a beautiful poster too:

                                          📰 https://wizardzines.com/zines/debugging-guide/

                                          🖼️ https://store.wizardzines.com/products/poster-debugging-manifesto

                                          rhempelR 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