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

    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.

    ? Offline
    ? Offline
    Guest
    wrote last edited by
    #174
    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
      #175

      @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
        #176

        @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
          #177

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

            ? Offline
            ? Offline
            Guest
            wrote last edited by
            #178

            @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
              #179

              @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
                #180

                @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
                  #181

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

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

                    ? Offline
                    ? Offline
                    Guest
                    wrote last edited by
                    #182
                    @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!

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

                      ? Offline
                      ? Offline
                      Guest
                      wrote last edited by
                      #183

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

                        ? Offline
                        ? Offline
                        Guest
                        wrote last edited by
                        #184

                        @futurebird I inherited/borrowed a system from a veteran computer teacher before me: Provide students with a stack of three cups next to their computer — red, yellow, green. Students could change the stack if they had a problem: green = everything’s OK, yellow = non-urgent question, red = totally stuck. I would wander around helping people who quietly and patiently used their cup signals, and would reset their cups to green after I visited them.

                        Another expectation was to collaborate and problem-solve with their neighbors first before shouting out or seeking help from me. (And yeah, we had to spend some time defining what “honest collaboration” should look like.)

                        It wasn’t perfect — there were still noisy shouters — but they learned over time that I wasn’t going to immediately run to them when they got stuck, and that persistence, honest collaboration, and active problem-solving were essential parts of the learning/coding process.

                        1 Reply Last reply
                        0
                        • Speed demon 🇪🇺 🇳🇴🇺🇦🇵🇸H Speed demon 🇪🇺 🇳🇴🇺🇦🇵🇸

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

                          Je ne suis pas gothJ This user is from outside of this forum
                          Je ne suis pas gothJ This user is from outside of this forum
                          Je ne suis pas goth
                          wrote last edited by
                          #185

                          @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

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

                            @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

                            Je ne suis pas gothJ This user is from outside of this forum
                            Je ne suis pas gothJ This user is from outside of this forum
                            Je ne suis pas goth
                            wrote last edited by
                            #186

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

                              Peter DrakeP This user is from outside of this forum
                              Peter DrakeP This user is from outside of this forum
                              Peter Drake
                              wrote last edited by
                              #187

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

                                Eric LawtonE This user is from outside of this forum
                                Eric LawtonE This user is from outside of this forum
                                Eric Lawton
                                wrote last edited by
                                #188

                                @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

                                myrmepropagandistF ? 2 Replies Last reply
                                0
                                • myrmepropagandistF myrmepropagandist

                                  Wanted: Advice from CS teachers

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

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

                                  ? Offline
                                  ? Offline
                                  Guest
                                  wrote last edited by
                                  #189

                                  @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 Reply Last reply
                                  0
                                  • ? Guest
                                    @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!

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

                                    @abucci

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

                                    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

                                      ? Offline
                                      ? Offline
                                      Guest
                                      wrote last edited by
                                      #191

                                      You could run the error code on chatgpt assuming it's something generic 😂

                                      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.

                                        Wouter LindenhofD This user is from outside of this forum
                                        Wouter LindenhofD This user is from outside of this forum
                                        Wouter Lindenhof
                                        wrote last edited by
                                        #192

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

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

                                          Ashwin DixitP This user is from outside of this forum
                                          Ashwin DixitP This user is from outside of this forum
                                          Ashwin Dixit
                                          wrote last edited by
                                          #193

                                          @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

                                          Ashwin DixitP 1 Reply Last reply
                                          0

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


                                          • 1
                                          • 2
                                          • 5
                                          • 6
                                          • 7
                                          • 8
                                          • 9
                                          • 10
                                          • 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