Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • 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

Chebucto Regional Softball Club

  1. Home
  2. Uncategorized
  3. Wanted: Advice from CS teachers
A forum for discussing and organizing recreational softball and baseball games and leagues in the greater Halifax area.

Wanted: Advice from CS teachers

Scheduled Pinned Locked Moved Uncategorized
233 Posts 143 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

    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.

    azA This user is from outside of this forum
    azA This user is from outside of this forum
    az
    wrote last edited by
    #87

    @futurebird caveat: Not a teacher!

    I'm not sure what level your students are at, what specifically you are teaching them or how much control you have over the course but...

    If you've not seen it already you might like to look at https://hedy.org . It's a language designed for teaching that gradually adds syntax as you explore concepts until you reach a subset of syntactically valid Python. The error messages are also very useful, thoughtfully designed and tested in classroom settings.

    Excellent talk by the creator here www.youtube.com/watch?v=6ED36HvQSvk

    Honorable mention to Elm and Rust for having excellent error messages too!

    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

      Bryan WrightC This user is from outside of this forum
      Bryan WrightC This user is from outside of this forum
      Bryan Wright
      wrote last edited by
      #88

      @futurebird

      Also: If you see pages and pages of errors, start by looking at the first error message. Often, that's the cause of all the others. Students sometimes just give up when confronted with a wall of errors.

      1 Reply Last reply
      0
      • myrmepropagandistF myrmepropagandist

        Sometimes when you are teaching you need to stop the lecture, change the plan because there is an error in the worksheet, or the problem is too hard.

        What's really annoying me is that some students think that when their code doesn't run this is "a problem with the lesson" I should stop everything until we fix it.

        But, my lesson is fine. The student just made a typo.

        They are so focused on the code running they aren't listening to the lesson which would teach them WHY it's not running.

        JimmyJ This user is from outside of this forum
        JimmyJ This user is from outside of this forum
        Jimmy
        wrote last edited by
        #89

        @futurebird I guess this was an advantage of punch cards for teachers. We had to take our deck down to the mainframe and put it in the queue to find out if it ran, then figure out why it didn't on our own.

        Maybe try having the students debug for themselves instead of begging for handholding.

        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.

          William WittemanW This user is from outside of this forum
          William WittemanW This user is from outside of this forum
          William Witteman
          wrote last edited by
          #90

          @futurebird @wakame The metaphor I use with line numbers in error messages is "I fell down on line 32. I don't know where I tripped, but this is where I fell."

          It is a hint, and you can find it from there, but the cause could be before. Students understand that tripping and falling are distinct, causal actions, and that knowing what you tripped on may be unknowable until you go back and look.

          Bytebro πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡¦B 1 Reply Last reply
          0
          • myrmepropagandistF myrmepropagandist

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

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

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

            SemitonesS This user is from outside of this forum
            SemitonesS This user is from outside of this forum
            Semitones
            wrote last edited by
            #91

            @futurebird I am just a humble outdoor educator, so my tools are primitive compared to yours, but maybe they would be interesting anyway. I am interested how they compare to yours.

            My classroom management methods all tie back to the concept of mutual respect, and I'll write a symbol of an eye, an ear, and a heart on the whiteboard. These represent and remind students "what does respect look like, sound like, and feel like?"

            One thing respect sounds like is One Voice. (1 / )

            SemitonesS 1 Reply Last reply
            0
            • SemitonesS Semitones

              @futurebird I am just a humble outdoor educator, so my tools are primitive compared to yours, but maybe they would be interesting anyway. I am interested how they compare to yours.

              My classroom management methods all tie back to the concept of mutual respect, and I'll write a symbol of an eye, an ear, and a heart on the whiteboard. These represent and remind students "what does respect look like, sound like, and feel like?"

              One thing respect sounds like is One Voice. (1 / )

              SemitonesS This user is from outside of this forum
              SemitonesS This user is from outside of this forum
              Semitones
              wrote last edited by
              #92

              @futurebird When we're doing something together as a group, the group has one voice. Sometimes it's my voice if I'm giving instructions. Sometimes it is your voice if you're sharing. It feels good when you have the respect of the group. We are not in One Voice all the time, but when we are, itis respectful and helpful to wait until the person before you is finished talking.

              One group development game I play to reinforce this is called Buried Treasure. (It probably goes by many names). (2 /)

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

                Press RouchP This user is from outside of this forum
                Press RouchP This user is from outside of this forum
                Press Rouch
                wrote last edited by
                #93

                @futurebird This is a great idea. As a software engineer I would love to see debugging being actively taught as a skill. There are plenty of professionals who are lacking in that area.

                1 Reply Last reply
                0
                • MCDuncanLabM MCDuncanLab

                  @futurebird

                  Thanks this is really helpful. We teach a graduate class on quantitative cell biology based in python. Many ppl don’t have prior coding experience, we probably need a section like this.

                  Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                  Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                  Iris Young (he/they/she) (PhD)
                  wrote last edited by
                  #94

                  @MCDuncanLab @futurebird I also found exercises fixing someone else's code to be much less frustrating than fixing my own, and revelatory as to how something done apparently-right can work very wrong. I needed lots of practice with this before I could approach errors with a cool head.

                  1 Reply Last reply
                  0
                  • SemitonesS Semitones

                    @futurebird When we're doing something together as a group, the group has one voice. Sometimes it's my voice if I'm giving instructions. Sometimes it is your voice if you're sharing. It feels good when you have the respect of the group. We are not in One Voice all the time, but when we are, itis respectful and helpful to wait until the person before you is finished talking.

                    One group development game I play to reinforce this is called Buried Treasure. (It probably goes by many names). (2 /)

                    SemitonesS This user is from outside of this forum
                    SemitonesS This user is from outside of this forum
                    Semitones
                    wrote last edited by
                    #95

                    @futurebird One way I might play is have all the kids stand on a line they can't get off of. One volunteer can move freely, blindfolded, and has to listen to the group to find the treasure (usually a pool noodle on the ground).

                    During the game/debrief they'll almost always figure out that talking over each other doesn't work, and come up with a way to have one voice (often electing a leader).

                    This does not address the CS aspect of your challenge, but I hope it was helpful / interesting. (3/3)

                    1 Reply Last reply
                    0
                    • Adam β™ΏV Adam β™Ώ

                      @itgrrl also self taught, from what I can see this is rarely in courses - can ask some recent grads this week. @futurebird

                      ? Offline
                      ? Offline
                      Guest
                      wrote last edited by
                      #96

                      @voltagex @itgrrl @futurebird Definitely not a standard part of academic courses. Software Carpentry workshops include it, in part by live coding the demos so the participants both see the instructor making mistakes *and* their process for resolving them. Teaching the trial & error loop also comes up most years at the PyCon AU Education Seminar (since it is far from being a solved problem)

                      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.

                        Jeffrey HaasJ This user is from outside of this forum
                        Jeffrey HaasJ This user is from outside of this forum
                        Jeffrey Haas
                        wrote last edited by
                        #97

                        @futurebird My employer at the ISP I worked for in the 90s used to say that, "Working with computers requires a huge ego. The computer is always telling you that YOU ARE WRONG."

                        The thing you're trying to teach is harder because it's two things at the same time: Learning how the language parser reports errors. The student learning to debug how they think.

                        I've been coding for years. Parser errors are hard enough and are often obscure in some languages.

                        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.

                          Hans-Cees πŸŒ³πŸŒ³πŸ€’πŸ¦‹πŸˆπŸˆπŸ‹πŸ‹πŸπŸœH This user is from outside of this forum
                          Hans-Cees πŸŒ³πŸŒ³πŸ€’πŸ¦‹πŸˆπŸˆπŸ‹πŸ‹πŸπŸœH This user is from outside of this forum
                          Hans-Cees πŸŒ³πŸŒ³πŸ€’πŸ¦‹πŸˆπŸˆπŸ‹πŸ‹πŸπŸœ
                          wrote last edited by
                          #98

                          @futurebird @Pollinators to nerd snipe. Yet another concept has entered the fediverse

                          1 Reply Last reply
                          0
                          • William WittemanW William Witteman

                            @futurebird @wakame The metaphor I use with line numbers in error messages is "I fell down on line 32. I don't know where I tripped, but this is where I fell."

                            It is a hint, and you can find it from there, but the cause could be before. Students understand that tripping and falling are distinct, causal actions, and that knowing what you tripped on may be unknowable until you go back and look.

                            Bytebro πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡¦B This user is from outside of this forum
                            Bytebro πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡¦B This user is from outside of this forum
                            Bytebro πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡¦
                            wrote last edited by
                            #99

                            @willyyam

                            This a brilliant 'trick' for understanding what actually may have happened.

                            @futurebird @wakame

                            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/

                              Rich Puchalsky  β©œβƒR This user is from outside of this forum
                              Rich Puchalsky  β©œβƒR This user is from outside of this forum
                              Rich Puchalsky β©œβƒ
                              wrote last edited by
                              #100

                              @futurebird

                              "The error message *tries* to help you": the error message was written by people who had no interest in helping you

                              1 Reply Last reply
                              0
                              • myrmepropagandistF myrmepropagandist

                                @Zwifi

                                I do this with my older students and with those with more experience. This is the one course that I teach that EVERYONE must take. So there are kids there who have never programmed anything. Kids who were confused when I had them use a computer with a mouse since they'd never seen one in person before.

                                I'm glad we have such a course. But they just don't know enough to do this yet.

                                And I have an agenda: I want them to have fun.

                                Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                                Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                                Iris Young (he/they/she) (PhD)
                                wrote last edited by
                                #101

                                @futurebird @Zwifi how are you currently teaching that debugging is a skill and part of what they're learning? Do they take notes on, or see presentations of, how bugs (including typos) were identified and fixed? Maybe even presenting to each other the problems they each got stuck on, or debugging as a class on occasion so they can see the process in real time while they're not currently panicking?

                                1 Reply Last reply
                                0
                                • Tim CowlishawM Tim Cowlishaw

                                  Argh, this sounds very familiar, I've been trying to teach *from the very start* that encountering errors is useful - they're opportunities to learn, and to think / design in successively more detailed levels of abstraction - working "outside in" - calling methods which don't exist yet to sketch out the general shape of a procedure, watching it fail, then defining them... (1/2)

                                  Tim CowlishawM This user is from outside of this forum
                                  Tim CowlishawM This user is from outside of this forum
                                  Tim Cowlishaw
                                  wrote last edited by
                                  #102

                                  ... This worked very well for a while, until I got a cohort who were already *deep* into LLMs who would encounter the errors, not wait for the rest of the class to catch up, paste the message into ChatGPT, and set out on confusing, frequently completely wrong paths that it was difficult to bring them back from πŸ˜• (2/2)

                                  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.

                                    Tim CowlishawM This user is from outside of this forum
                                    Tim CowlishawM This user is from outside of this forum
                                    Tim Cowlishaw
                                    wrote last edited by
                                    #103

                                    Argh, this sounds very familiar, I've been trying to teach *from the very start* that encountering errors is useful - they're opportunities to learn, and to think / design in successively more detailed levels of abstraction - working "outside in" - calling methods which don't exist yet to sketch out the general shape of a procedure, watching it fail, then defining them... (1/2)

                                    Tim CowlishawM 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/

                                      Jon QuassJ This user is from outside of this forum
                                      Jon QuassJ This user is from outside of this forum
                                      Jon Quass
                                      wrote last edited by
                                      #104

                                      @futurebird
                                      I've been a professional software engineer for over a decade now. I still make errors.

                                      What's interesting is that at a certain level it's possible to write code that in isolation works exactly as you want it to, but it doesn't work in combination with the rest of the existing code.

                                      But I also have tools to help me. My IDE checks for typos or syntax errors for me and flags them. It suggests solutions and offers to apply them. I have build tools written by other engineers to catch problems I might not have ever thought about.

                                      No one person knows everything, but anyone can learn enough to be effective

                                      1 Reply Last reply
                                      0
                                      • myrmepropagandistF myrmepropagandist

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

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

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

                                        ? Offline
                                        ? Offline
                                        Guest
                                        wrote last edited by
                                        #105

                                        @futurebird I have done some classes, explicitly saying I had not prepared anything, completed the exercises improvising there and then, made some mistakes of my own and corrected them. Showing that correcting yourself is part of the game.

                                        1 Reply Last reply
                                        0
                                        • ? Guest

                                          @futurebird Not a teacher, but that sounds great.

                                          Learning what error messages are and what they can tell you is so important. It's so different to many other subjects where you don't get that kind of information when something goes wrong, plus they will have grown up using computers of various kinds where an error message really is just a cryptic string of words that they can't do anything with.

                                          Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                                          Iris Young (he/they/she) (PhD)I This user is from outside of this forum
                                          Iris Young (he/they/she) (PhD)
                                          wrote last edited by
                                          #106

                                          @phronetic @futurebird I can imagine a classroom where there's a running list of error messages encountered, and you get a sticker or bonus points or something for finding a new one, and explaining to the class what it means once you've figured it out. These days I can get an error message and approach it with "ooooohhhh never seen that before", but in my earlier years, hah!

                                          1 Reply Last reply
                                          0

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


                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          • 6
                                          • 7
                                          • 11
                                          • 12
                                          • 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