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

    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.

    David WestonD This user is from outside of this forum
    David WestonD This user is from outside of this forum
    David Weston
    wrote last edited by
    #156

    @futurebird Do they work in groups? And ask them to consult with other groups . Record that plays "It isn't broken, the code is doing exactly what you asked it to do" on loop.

    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.

      David Chisnall (*Now with 50% more sarcasm!*)D This user is from outside of this forum
      David Chisnall (*Now with 50% more sarcasm!*)D This user is from outside of this forum
      David Chisnall (*Now with 50% more sarcasm!*)
      wrote last edited by
      #157

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

      myrmepropagandistF CaptainAyeAyeC fraggleF 3 Replies 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.

        Panicky_PatzerP This user is from outside of this forum
        Panicky_PatzerP This user is from outside of this forum
        Panicky_Patzer
        wrote last edited by
        #158

        @ligasser @futurebird I'm stealing this just so I can start saying, "You're interrupting my me time." Thanks. 🙂

        1 Reply Last reply
        0
        • David Chisnall (*Now with 50% more sarcasm!*)D David Chisnall (*Now with 50% more sarcasm!*)

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

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

          @david_chisnall

          Tangentially related:

          "AI can write code so why teach how to code?"

          "Great point! It can write an essay too, so why teach how to read."

          Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

          mhoyeM Dawn AhukannaD 0xC0DEC0DE07EAC Ben Lubar (any pronouns)B Ray McCarthyR 7 Replies Last reply
          0
          • myrmepropagandistF myrmepropagandist

            @david_chisnall

            Tangentially related:

            "AI can write code so why teach how to code?"

            "Great point! It can write an essay too, so why teach how to read."

            Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

            mhoyeM This user is from outside of this forum
            mhoyeM This user is from outside of this forum
            mhoye
            wrote last edited by
            #160

            @futurebird @david_chisnall I mean… if AI could do what it promises, why are these companies hiring?

            dataramaD 1 Reply Last reply
            0
            • David Chisnall (*Now with 50% more sarcasm!*)D David Chisnall (*Now with 50% more sarcasm!*)

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

              CaptainAyeAyeC This user is from outside of this forum
              CaptainAyeAyeC This user is from outside of this forum
              CaptainAyeAye
              wrote last edited by
              #161

              @david_chisnall @futurebird it's not exactly the same, but it feels like the same ballpark ... When I started learning to program, the instructor used a pseudo language (based on Pascal, but modified) so there was no compiler available.
              We analysed problem code visually before writing our own, but the process was the same - visually follow program flow, and analyze it for errors.

              1 Reply Last reply
              0
              • David Chisnall (*Now with 50% more sarcasm!*)D David Chisnall (*Now with 50% more sarcasm!*)

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

                fraggleF This user is from outside of this forum
                fraggleF This user is from outside of this forum
                fraggle
                wrote last edited by
                #162

                @david_chisnall @futurebird when I was a teenager I developed my first Doom source port and it was how I truly learned to program in C. Having an existing codebase of good code to work within is a godsend because you are constantly being subconsciously taught what "good code" looks like. Plus yes, everything you've said here too: most of the work involved in programming is about changing code and not just writing it. Learning to debug, read code and reason about it are all essential

                1 Reply Last reply
                0
                • mhoyeM mhoye

                  @futurebird @david_chisnall I mean… if AI could do what it promises, why are these companies hiring?

                  dataramaD This user is from outside of this forum
                  dataramaD This user is from outside of this forum
                  datarama
                  wrote last edited by
                  #163

                  @mhoye @futurebird @david_chisnall It is always the same: Six months from now, the models will obsolete the humans they're hiring now.

                  I don't know* why I keep freaking out and getting terrified and depressed now, 36 months into "programmers will be gone in 6 months".

                  *) I suppose I do know; it's because I have an anxiety disorder.

                  Duchamp PérezH 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.

                    Dawn AhukannaD This user is from outside of this forum
                    Dawn AhukannaD This user is from outside of this forum
                    Dawn Ahukanna
                    wrote last edited by
                    #164

                    @futurebird do your students think that writing code is like writing a word document and you are the “auto-correct” typo utility? 🤦🏾‍♀️

                    1 Reply Last reply
                    0
                    • dataramaD datarama

                      @mhoye @futurebird @david_chisnall It is always the same: Six months from now, the models will obsolete the humans they're hiring now.

                      I don't know* why I keep freaking out and getting terrified and depressed now, 36 months into "programmers will be gone in 6 months".

                      *) I suppose I do know; it's because I have an anxiety disorder.

                      Duchamp PérezH This user is from outside of this forum
                      Duchamp PérezH This user is from outside of this forum
                      Duchamp Pérez
                      wrote last edited by
                      #165

                      @futurebird @david_chisnall @datarama @mhoye It is hard because the hype men keep saying that now, for real, it got so much better, we are blown away, this changes everything, etc etc. So we end up wondering if this actually happened.

                      That and anxiety

                      1 Reply Last reply
                      0
                      • myrmepropagandistF myrmepropagandist

                        @david_chisnall

                        Tangentially related:

                        "AI can write code so why teach how to code?"

                        "Great point! It can write an essay too, so why teach how to read."

                        Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

                        Dawn AhukannaD This user is from outside of this forum
                        Dawn AhukannaD This user is from outside of this forum
                        Dawn Ahukanna
                        wrote last edited by
                        #166

                        @futurebird @david_chisnall
                        Yes! AI-LLM is a “word calculator for grammatically correct responses”. No intelligence present

                        Intelligence = ability to acquire and apply knowledge and skills.

                        1 Reply Last reply
                        0
                        • myrmepropagandistF myrmepropagandist

                          @david_chisnall

                          Tangentially related:

                          "AI can write code so why teach how to code?"

                          "Great point! It can write an essay too, so why teach how to read."

                          Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

                          0xC0DEC0DE07EAC This user is from outside of this forum
                          0xC0DEC0DE07EAC This user is from outside of this forum
                          0xC0DEC0DE07EA
                          wrote last edited by
                          #167

                          @futurebird I feel like one of the things that annoys me about LLM use is that it’s not being treated in that same manner. You need to be able to check the output of your tools. To use a calculator, you need to understand what you’re doing with it and also the underlying domain: that’s math and whatever you’re trying to apply math to.

                          There’s other things like the nondeterminism and waste and ethics and how well-formed language biases the brain to thinking the thing that produced that language is both conscious and has thoughts.
                          @david_chisnall

                          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.

                            oriO This user is from outside of this forum
                            oriO This user is from outside of this forum
                            ori
                            wrote last edited by
                            #168
                            When I was in high school, the introductory programming class didn't let us use a computer for about a month. Instead, we would get programs on paper, and would be asked to trace out what they did.

                            When I taught friends how to code, I was less strict, but writing out the steps on paper was still a big part of it. I also wouldn't let people make changes to their code without first telling me what they thought was broken, and predicting/explaining what the change would do.

                            I think it's a very effective approach.
                            1 Reply Last reply
                            0
                            • myrmepropagandistF myrmepropagandist

                              @david_chisnall

                              Tangentially related:

                              "AI can write code so why teach how to code?"

                              "Great point! It can write an essay too, so why teach how to read."

                              Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

                              Ben Lubar (any pronouns)B This user is from outside of this forum
                              Ben Lubar (any pronouns)B This user is from outside of this forum
                              Ben Lubar (any pronouns)
                              wrote last edited by
                              #169

                              @futurebird @david_chisnall I use math that I wasn't taught at all in school like matrix multiplication all the time, but I have never once in my adult life used the two digit times table I was forced to memorize. I can just type any multiplication I want into a random box on the computer I sit in front of all day and odds are it'll give me the answer.

                              The non-memorization-based stuff I did learn in school like trig does come in handy but all the memorization is entirely useless.

                              I did take a few classes in high school that were called "computer science" but were actually just very basic introductions to Java programming. (After I had already been self-taught programming for a few years at that point.) They had the calculus teacher who was smart but didn't really know how to program teaching them, and I distinctly remember him and the kid who sat next to me not being able to figure out why that kid's code wouldn't compile and it was something like

                              if (x == 1) && (y == 2)

                              Anyway the reason that people need to learn stuff that AI "can do" is that "AI" can't actually do those things. It can make stuff that's in the shape of whatever, but it's not actually comprehending the text it's writing or knowing what the apple it's drawing a still life of is or intentionally writing the code that you asked it to write.

                              It's just copying stuff the company that made it stole from the internet. If nobody was publicly making art or writing or programming, the company would have nothing to steal and plagiarize. (Although that's definitely not a reason why people should make art.)

                              Generative AI is a very impressively space efficient lossy compression algorithm for a database of numbers and nothing more.

                              1 Reply Last reply
                              0
                              • myrmepropagandistF myrmepropagandist

                                @david_chisnall

                                Tangentially related:

                                "AI can write code so why teach how to code?"

                                "Great point! It can write an essay too, so why teach how to read."

                                Like. We've had calculators for decades and still teach arithmetic. And functionally the average person needs to know probably more about mathematics and needs to read more than they did a century ago. The same will apply for code.

                                Ray McCarthyR This user is from outside of this forum
                                Ray McCarthyR This user is from outside of this forum
                                Ray McCarthy
                                wrote last edited by
                                #170

                                @futurebird @david_chisnall
                                Except only Marketing believes that LLM / Generative AI can write code or write essays.

                                It's either plausible junk or plagiarism.

                                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.

                                  🚲D This user is from outside of this forum
                                  🚲D This user is from outside of this forum
                                  🚲
                                  wrote last edited by
                                  #171

                                  @futurebird I used to teach machine learning to Masters students — Masters students who did not have a coding background. So we were basically starting from square 1. The were older so they didn’t interrupt, instead they would sit there with non-functional code and do nothing until I came around and asked how they were getting on. I have a puzzle solving/tinkering nature, so it was eye opening to me to see that a lot of people don’t share that at all; and must learn it as a skill instead.

                                  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.

                                    RealGene ☣️R This user is from outside of this forum
                                    RealGene ☣️R This user is from outside of this forum
                                    RealGene ☣️
                                    wrote last edited by
                                    #172

                                    @futurebird
                                    CWSL: "Compiler Warnings as a Second Language"

                                    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!"

                                      Scott Murray :neurodiversity:S This user is from outside of this forum
                                      Scott Murray :neurodiversity:S This user is from outside of this forum
                                      Scott Murray :neurodiversity:
                                      wrote last edited by
                                      #173

                                      @futurebird Wow! A touchy bunch.

                                      You already have a ton of replies here AND know what you’re doing so you don’t need me (random internet person but former professor with lots of experience teaching anxious undergrads coding) to chime in.

                                      FWIW when teaching I tried to normalize “errors” even by referring to them as “messages” because calling it an error feels like “oh I already did something wrong”. But “errors” only happen because computers are truly not very smart; an error is when it can’t understand our instructions, what we are telling it to do. The human can’t make an “error”; only the computer does. Anyway I’d also shorten the cycle between coding and compiling - having students re-compile/run the program after every tiny little change shortens the feedback loop, normalizes “errors” (like exposure therapy), and makes troubleshooting easier.

                                      Again you don’t need my input at all — thanks for the flashback to my teaching days! 😅

                                      Best of luck with this group! ❤️

                                      1 Reply Last reply
                                      0
                                      • That’s a morayB That’s a moray

                                        @futurebird I work closely with a CS teacher snd I am a language teacher and just this past Friday we had a conversation about this exact phenomenon, which we both experience. I think because they can use their first language 'perfectly' and I think because their devices work 'perfectly' they think it should be easy to do right the first time and panic when they can't. They don't know what 'perfect' looks like in math so maybe they're more patient with it. 1/2

                                        C++ Wage SlaveC This user is from outside of this forum
                                        C++ Wage SlaveC This user is from outside of this forum
                                        C++ Wage Slave
                                        wrote last edited by
                                        #174

                                        @Bumblefish

                                        Exactly. To the untrained eye, imperfect maths can look like good-enough maths. A compiler error is unambiguously not a good-enough anything.

                                        @futurebird

                                        1 Reply Last reply
                                        0
                                        • Je ne suis pas gothJ Je ne suis pas goth

                                          @futurebird no great insight to be honest. If I was explaining something I tell them to first listen to what I have to say, and later read carefully the error message. Recently I've witnessed students sometimes misread severely what to write (they confuse upper case I's and lower case l's), but mostly because they don't even try to make sense of what they're writing: they're just copying without thinking.

                                          Speed demon 🇪🇺 🇳🇴🇺🇦🇵🇸H This user is from outside of this forum
                                          Speed demon 🇪🇺 🇳🇴🇺🇦🇵🇸H This user is from outside of this forum
                                          Speed demon 🇪🇺 🇳🇴🇺🇦🇵🇸
                                          wrote last edited by
                                          #175

                                          @jenesuispasgoth Nailed it: "copying without thinking" . @futurebird

                                          Je ne suis pas gothJ 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