Mastodon Skip to content
  • Home
  • Aktuell
  • Tags
  • Über dieses Forum
Einklappen
Grafik mit zwei überlappenden Sprechblasen, eine grün und eine lila.
Abspeckgeflüster – Forum für Menschen mit Gewicht(ung)

Kostenlos. Werbefrei. Menschlich. Dein Abnehmforum.

  1. Home
  2. Uncategorized
  3. Wanted: Advice from CS teachers

Wanted: Advice from CS teachers

Geplant Angeheftet Gesperrt Verschoben Uncategorized
teaching
359 Beiträge 191 Kommentatoren 1 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bumblefish@mastodon.scotB bumblefish@mastodon.scot

    @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

    cppguy@infosec.spaceC This user is from outside of this forum
    cppguy@infosec.spaceC This user is from outside of this forum
    cppguy@infosec.space
    schrieb zuletzt editiert von
    #171

    @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 Antwort Letzte Antwort
    0
    • jenesuispasgoth@pouet.chapril.orgJ jenesuispasgoth@pouet.chapril.org

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

      hakona@im.alstadheim.noH This user is from outside of this forum
      hakona@im.alstadheim.noH This user is from outside of this forum
      hakona@im.alstadheim.no
      schrieb zuletzt editiert von
      #172

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

      jenesuispasgoth@pouet.chapril.orgJ 1 Antwort Letzte Antwort
      0
      • futurebird@sauropods.winF futurebird@sauropods.win

        Example of the problem:

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

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

        Student 2: "Mine's broken too!"

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

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

        abucci@buc.ciA This user is from outside of this forum
        abucci@buc.ciA This user is from outside of this forum
        abucci@buc.ci
        schrieb zuletzt editiert von
        #173
        @futurebird@sauropods.win I don't know your class or students, and all of this might be stuff you already do or not relevant at all, but here are some things that popped into my mind from my own experiences, in case it's of any use:

        • Recent CS education research suggests that functions are one of the hardest intro programming concepts for most students, and shouldn't be introduced till some other concepts are mastered first (search "concept inventories for introductory computer programming"). It can help to first practice associative arrays/hashtables/dictionaries. Modularization into functions is harder still. The fact that many of your students are struggling with creating a function might indicate that they haven't mastered the concept yet and you might do well to back up a bit. If they need some remedial work, I cannot praise Parson's puzzles enough
        • When running a lab-style section, where students are actively working on something with your support, I think it helps to interleave lecture time, work time, and debrief time. When you lecture, lecture rules (including controlling when interruptions can happen) apply. Work time is when you let interruptions happen more freely as you walk around to see how folks are doing. When I run such things I tell the students at the beginning of the section what the plan is. After a week or two they get it. I think it's useful to keep each work session on the shorter side, 10-15 minutes, with a well-scoped task and well-defined goal, and then have a debrief afterward where students can describe their experience, vent, brag, what have you. That way they know they'll have opportunities to talk and might be less inclined to shout out randomly
        • If you don't have assistants to help you, recruiting other students to help field questions can be very effective. In the past I've had success dividing students into pods of 2 or 3, but only after observing the class for a few weeks. I strategically designed each pod to have at least one student who seemed to be on top of the material and another who seemed to be struggling. This setup requires communicating with the students regularly and adjusting the group assignments throughout the course, but it can lighten the load quite a bit, especially after the students get to know each other. I design classes such that the first few weeks are for setting the stage and warming up, and for me to get to know the students
        • I've found it can be helpful to tell students some variation of "I know it's frustrating that your code doesn't work. Even today, code I write doesn't usually work the way I want on the first go. This is an experience you're likely to have the rest of your life when writing code. One thing to take away from this course is how not to be set back by this feeling. It's a normal part of the experience of coding, and it's telling us something". If that lands you can follow up by asking them what they think their frustration/struggle/what have you is telling them. The self reflection can be helpful and you can learn important things about your students this way (it can also lead to awesome discussions). Some students react very positively to hearing that this is a normal part of the process (they think there's something wrong with them, or that they are doing something wrong, if they're feeling frustrated).
        Hopefully something in there is of use. I have references for concept inventories and Parson's puzzles if those would help. Good luck!

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

          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.

          vga256@mastodon.tomodori.netV This user is from outside of this forum
          vga256@mastodon.tomodori.netV This user is from outside of this forum
          vga256@mastodon.tomodori.net
          schrieb zuletzt editiert von
          #174

          @futurebird when i was teaching undergrads with lecture sizes of 200-400 students, they were unbelievably effective at writing everything i said down and understanding 1% of it

          it wasn't until my third year teaching that i realized they hadn't learned how to learn yet. teaching them how to learn became my job.

          i don't know if i succeeded in doing that, but it fundamentally changed my understanding of what education is. it's not teaching coding or philosophy or history - it's teaching how to listen.

          1 Antwort Letzte Antwort
          0
          • hakona@im.alstadheim.noH hakona@im.alstadheim.no

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

            jenesuispasgoth@pouet.chapril.orgJ This user is from outside of this forum
            jenesuispasgoth@pouet.chapril.orgJ This user is from outside of this forum
            jenesuispasgoth@pouet.chapril.org
            schrieb zuletzt editiert von
            #175

            @hakona I'm OK with the copying part to be honest (including typos). However, I'm far less OK when it comes to figuring out what went wrong and the students declare that the code isn't working. I used to sit with the students and basically point out the error message, have them read it in full, then if they still didn't get it (remember, English is not their first language), literally copy the message in a search engine to show them how to get the explanation.

            @futurebird

            jenesuispasgoth@pouet.chapril.orgJ 1 Antwort Letzte Antwort
            0
            • jenesuispasgoth@pouet.chapril.orgJ jenesuispasgoth@pouet.chapril.org

              @hakona I'm OK with the copying part to be honest (including typos). However, I'm far less OK when it comes to figuring out what went wrong and the students declare that the code isn't working. I used to sit with the students and basically point out the error message, have them read it in full, then if they still didn't get it (remember, English is not their first language), literally copy the message in a search engine to show them how to get the explanation.

              @futurebird

              jenesuispasgoth@pouet.chapril.orgJ This user is from outside of this forum
              jenesuispasgoth@pouet.chapril.orgJ This user is from outside of this forum
              jenesuispasgoth@pouet.chapril.org
              schrieb zuletzt editiert von
              #176

              @hakona but this is the 2nd year that students copy the code without using some kind of critical thinking about what it is they're copying, and whether putting an 'i' or an 'l' here makes sense in the context of the program (not even talking about the logic of the program itself).

              @futurebird

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

                Wanted: Advice from CS teachers

                When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                peterdrake@mstdn.socialP This user is from outside of this forum
                peterdrake@mstdn.socialP This user is from outside of this forum
                peterdrake@mstdn.social
                schrieb zuletzt editiert von
                #177

                @futurebird Huh -- I have the opposite problem. Many of my students seem to think, "Everyone understands this but me. I'd better not say anything to avoid embarrassment." This happens even during the part of class when I'm just answering questions.

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

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

                  ericlawton@kolektiva.socialE This user is from outside of this forum
                  ericlawton@kolektiva.socialE This user is from outside of this forum
                  ericlawton@kolektiva.social
                  schrieb zuletzt editiert von
                  #178

                  @futurebird

                  Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt.

                  (Aside from the question of whether it meets requirements, as originally intended; always the hard part).

                  @david_chisnall

                  futurebird@sauropods.winF zamfr@mstdn.socialZ 2 Antworten Letzte Antwort
                  0
                  • futurebird@sauropods.winF futurebird@sauropods.win

                    Wanted: Advice from CS teachers

                    When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                    I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                    csara@vmst.ioC This user is from outside of this forum
                    csara@vmst.ioC This user is from outside of this forum
                    csara@vmst.io
                    schrieb zuletzt editiert von
                    #179

                    @futurebird Teach them about and the values of rubber duck debugging. Bonus if you can give them all their own duck, even if it’s just one of these: https://www.ebay.com/itm/389128541552

                    1 Antwort Letzte Antwort
                    0
                    • abucci@buc.ciA abucci@buc.ci
                      @futurebird@sauropods.win I don't know your class or students, and all of this might be stuff you already do or not relevant at all, but here are some things that popped into my mind from my own experiences, in case it's of any use:

                      • Recent CS education research suggests that functions are one of the hardest intro programming concepts for most students, and shouldn't be introduced till some other concepts are mastered first (search "concept inventories for introductory computer programming"). It can help to first practice associative arrays/hashtables/dictionaries. Modularization into functions is harder still. The fact that many of your students are struggling with creating a function might indicate that they haven't mastered the concept yet and you might do well to back up a bit. If they need some remedial work, I cannot praise Parson's puzzles enough
                      • When running a lab-style section, where students are actively working on something with your support, I think it helps to interleave lecture time, work time, and debrief time. When you lecture, lecture rules (including controlling when interruptions can happen) apply. Work time is when you let interruptions happen more freely as you walk around to see how folks are doing. When I run such things I tell the students at the beginning of the section what the plan is. After a week or two they get it. I think it's useful to keep each work session on the shorter side, 10-15 minutes, with a well-scoped task and well-defined goal, and then have a debrief afterward where students can describe their experience, vent, brag, what have you. That way they know they'll have opportunities to talk and might be less inclined to shout out randomly
                      • If you don't have assistants to help you, recruiting other students to help field questions can be very effective. In the past I've had success dividing students into pods of 2 or 3, but only after observing the class for a few weeks. I strategically designed each pod to have at least one student who seemed to be on top of the material and another who seemed to be struggling. This setup requires communicating with the students regularly and adjusting the group assignments throughout the course, but it can lighten the load quite a bit, especially after the students get to know each other. I design classes such that the first few weeks are for setting the stage and warming up, and for me to get to know the students
                      • I've found it can be helpful to tell students some variation of "I know it's frustrating that your code doesn't work. Even today, code I write doesn't usually work the way I want on the first go. This is an experience you're likely to have the rest of your life when writing code. One thing to take away from this course is how not to be set back by this feeling. It's a normal part of the experience of coding, and it's telling us something". If that lands you can follow up by asking them what they think their frustration/struggle/what have you is telling them. The self reflection can be helpful and you can learn important things about your students this way (it can also lead to awesome discussions). Some students react very positively to hearing that this is a normal part of the process (they think there's something wrong with them, or that they are doing something wrong, if they're feeling frustrated).
                      Hopefully something in there is of use. I have references for concept inventories and Parson's puzzles if those would help. Good luck!

                      futurebird@sauropods.winF This user is from outside of this forum
                      futurebird@sauropods.winF This user is from outside of this forum
                      futurebird@sauropods.win
                      schrieb zuletzt editiert von
                      #180

                      @abucci

                      I'm kind of shocked that functions are hard. Are they hard for students who understand functions in the context of mathematics?

                      abucci@buc.ciA 1 Antwort Letzte Antwort
                      0
                      • futurebird@sauropods.winF futurebird@sauropods.win

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

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

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

                        You can be a great programmer.

                        2/2

                        nonplayableclown@postnstuffds.lolN This user is from outside of this forum
                        nonplayableclown@postnstuffds.lolN This user is from outside of this forum
                        nonplayableclown@postnstuffds.lol
                        schrieb zuletzt editiert von
                        #181
                        You could run the error code on chatgpt assuming it's something generic 😂
                        1 Antwort Letzte Antwort
                        0
                        • futurebird@sauropods.winF futurebird@sauropods.win

                          Wanted: Advice from CS teachers

                          When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                          I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                          devwouter@mastodon.socialD This user is from outside of this forum
                          devwouter@mastodon.socialD This user is from outside of this forum
                          devwouter@mastodon.social
                          schrieb zuletzt editiert von
                          #182

                          @futurebird

                          Software developer trainer here.

                          Silly question, but do they read the *entire* error description? And once they solved it do they understand the relationship between the cause, the message, and the fix?

                          It might be worthwhile to force them to slow down by asking them to write down the entire message on paper.

                          Try making a game out of it: Who can generate the strangest error message with the fewest amount of “bad” code.

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

                            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.

                            purrperl@noc.socialP This user is from outside of this forum
                            purrperl@noc.socialP This user is from outside of this forum
                            purrperl@noc.social
                            schrieb zuletzt editiert von
                            #183

                            @futurebird

                            When they reach more advanced levels, you will have to teach them to step even farther back, look outside the frame of the monitor, and account for a different layer of the stack.

                            What if your code works, so well in fact, that it threatens the empires of incumbent elites? What if they break down your door, unperson you, arrest you illegally dozens of times, jail you, brutalize you, deny you legal and medical care, and leave you in pain?

                            1/n

                            purrperl@noc.socialP 1 Antwort Letzte Antwort
                            0
                            • ericlawton@kolektiva.socialE ericlawton@kolektiva.social

                              @futurebird

                              Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt.

                              (Aside from the question of whether it meets requirements, as originally intended; always the hard part).

                              @david_chisnall

                              futurebird@sauropods.winF This user is from outside of this forum
                              futurebird@sauropods.winF This user is from outside of this forum
                              futurebird@sauropods.win
                              schrieb zuletzt editiert von
                              #184

                              @EricLawton @david_chisnall

                              "Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt."

                              At first it did not, but they have added a routine to run it through a compiler until it at least runs without syntax errors and probably produces output that seems like what you asked for for a limited example of input.

                              This is a bolted on extra check, not some improvement in the base LLM.

                              But some people are acting like it does represent advances in the LLM.

                              ben@mastodon.lubar.meB silvermoon82@wandering.shopS matt@istheguy.comM aredridel@kolektiva.socialA llewelly@sauropods.winL 5 Antworten Letzte Antwort
                              0
                              • devwouter@mastodon.socialD devwouter@mastodon.social

                                @futurebird

                                Software developer trainer here.

                                Silly question, but do they read the *entire* error description? And once they solved it do they understand the relationship between the cause, the message, and the fix?

                                It might be worthwhile to force them to slow down by asking them to write down the entire message on paper.

                                Try making a game out of it: Who can generate the strangest error message with the fewest amount of “bad” code.

                                futurebird@sauropods.winF This user is from outside of this forum
                                futurebird@sauropods.winF This user is from outside of this forum
                                futurebird@sauropods.win
                                schrieb zuletzt editiert von
                                #185

                                @DevWouter

                                They are middle school kids totally new to programming so reading the whole thing is a challenge and they will encounter too many words they are still learning.

                                And really their errors are nearly always typos. Or not putting their function call in main body of the program. Or using a variable they have not defined.

                                So, for them reading deep isn't that important IMO.

                                The responses can be very verbose and technical.

                                devwouter@mastodon.socialD 1 Antwort Letzte Antwort
                                0
                                • purrperl@noc.socialP purrperl@noc.social

                                  @futurebird

                                  When they reach more advanced levels, you will have to teach them to step even farther back, look outside the frame of the monitor, and account for a different layer of the stack.

                                  What if your code works, so well in fact, that it threatens the empires of incumbent elites? What if they break down your door, unperson you, arrest you illegally dozens of times, jail you, brutalize you, deny you legal and medical care, and leave you in pain?

                                  1/n

                                  purrperl@noc.socialP This user is from outside of this forum
                                  purrperl@noc.socialP This user is from outside of this forum
                                  purrperl@noc.social
                                  schrieb zuletzt editiert von
                                  #186

                                  @futurebird

                                  How would you regain digital identity, access to your domains, and your money, and get back to doing what you love?

                                  That's what I would like to learn. How to repair a broken body and mind, heal yourself, and go after the systemic injustices that made possible the violence done to a hacker, who could do things the rich and powerful could not? How to fix the system so you won't be bothered on your next coding run, in case your code really works!

                                  It's more fun to compute! 🖤🤖🎵

                                  2/2

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

                                    @EricLawton @david_chisnall

                                    "Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt."

                                    At first it did not, but they have added a routine to run it through a compiler until it at least runs without syntax errors and probably produces output that seems like what you asked for for a limited example of input.

                                    This is a bolted on extra check, not some improvement in the base LLM.

                                    But some people are acting like it does represent advances in the LLM.

                                    ben@mastodon.lubar.meB This user is from outside of this forum
                                    ben@mastodon.lubar.meB This user is from outside of this forum
                                    ben@mastodon.lubar.me
                                    schrieb zuletzt editiert von
                                    #187

                                    @futurebird @david_chisnall In my (very limited) experience, all that resulted in is pseudocode with // before each line

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

                                      @EricLawton @david_chisnall

                                      "Now I'm curious about whether LLMs' code compiles and executes error-free on their first attempt."

                                      At first it did not, but they have added a routine to run it through a compiler until it at least runs without syntax errors and probably produces output that seems like what you asked for for a limited example of input.

                                      This is a bolted on extra check, not some improvement in the base LLM.

                                      But some people are acting like it does represent advances in the LLM.

                                      silvermoon82@wandering.shopS This user is from outside of this forum
                                      silvermoon82@wandering.shopS This user is from outside of this forum
                                      silvermoon82@wandering.shop
                                      schrieb zuletzt editiert von
                                      #188

                                      @futurebird @EricLawton @david_chisnall
                                      "I have improved my LLM"
                                      *looks inside*
                                      *improvement is 100% classical handcrafted algorithmic code*

                                      silverfish@yourwalls.todayS 1 Antwort Letzte Antwort
                                      0
                                      • ben@mastodon.lubar.meB ben@mastodon.lubar.me

                                        @futurebird @david_chisnall In my (very limited) experience, all that resulted in is pseudocode with // before each line

                                        futurebird@sauropods.winF This user is from outside of this forum
                                        futurebird@sauropods.winF This user is from outside of this forum
                                        futurebird@sauropods.win
                                        schrieb zuletzt editiert von
                                        #189

                                        @ben @david_chisnall

                                        They've added some new feature that will pull up a little virtual machine and it will let you run the code in there. It also seems to test that the code will at least compile first.

                                        I worry that people seem to think that the LLM just... "evolved" these features when clearly a human person had to add them.

                                        ericlawton@kolektiva.socialE 1 Antwort Letzte Antwort
                                        0
                                        • futurebird@sauropods.winF futurebird@sauropods.win

                                          Wanted: Advice from CS teachers

                                          When #teaching a group of students new to coding I've noticed that my students who are normally very good about not calling out during class will shout "it's not working!" the moment their code hits an error and fails to run. They want me to fix it right away. This makes for too many interruptions since I'm easy to nerd snipe in this way.

                                          I think I need to let them know that fixing errors that keep the code from running is literally what I'm trying to teach.

                                          cubeofcheese@mstdn.socialC This user is from outside of this forum
                                          cubeofcheese@mstdn.socialC This user is from outside of this forum
                                          cubeofcheese@mstdn.social
                                          schrieb zuletzt editiert von
                                          #190

                                          @futurebird a couple things I do. (It sounds like you're already doing some of these with slight variation):

                                          1. Tell them I make errors when programming. My former boss who worked for 30 years as a programmer still makes errors.
                                          Errors are not a bad thing. They are part of programming. Part of the process.
                                          Errors are hints. They are clues to figure out how to make the program work.

                                          cubeofcheese@mstdn.socialC 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen



                                          Copyright (c) 2025 abSpecktrum (@abspecklog@fedimonster.de)

                                          Erstellt mit Schlaflosigkeit, Kaffee, Brokkoli & ♥

                                          Impressum | Datenschutzerklärung | Nutzungsbedingungen

                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Über dieses Forum