Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse

Chebucto Regional Softball Club

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

Wanted: Advice from CS teachers

Scheduled Pinned Locked Moved Uncategorized
233 Posts 143 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • myrmepropagandistF myrmepropagandist

    Wanted: Advice from CS teachers

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

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

    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
                • Eric LawtonE Eric Lawton

                  @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 This user is from outside of this forum
                  myrmepropagandistF This user is from outside of this forum
                  myrmepropagandist
                  wrote last edited by
                  #194

                  @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 Lubar (any pronouns)B Mx. Eddie RS 1970-05-04R Read along with MattM ? 5 Replies Last reply
                  1
                  0
                  • Wouter LindenhofD Wouter Lindenhof

                    @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 This user is from outside of this forum
                    myrmepropagandistF This user is from outside of this forum
                    myrmepropagandist
                    wrote last edited by
                    #195

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

                    Wouter LindenhofD 1 Reply Last reply
                    0
                    • Ashwin DixitP Ashwin Dixit

                      @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 This user is from outside of this forum
                      Ashwin DixitP This user is from outside of this forum
                      Ashwin Dixit
                      wrote last edited by
                      #196

                      @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 Reply Last reply
                      0
                      • myrmepropagandistF myrmepropagandist

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

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

                        myrmepropagandistF 1 Reply Last reply
                        0
                        • myrmepropagandistF myrmepropagandist

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

                          Mx. Eddie RS This user is from outside of this forum
                          Mx. Eddie RS This user is from outside of this forum
                          Mx. Eddie R
                          wrote last edited by
                          #198

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

                          1 Reply Last reply
                          0
                          • Ben Lubar (any pronouns)B Ben Lubar (any pronouns)

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

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

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

                            Eric LawtonE 1 Reply Last reply
                            1
                            0
                            • myrmepropagandistF myrmepropagandist

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

                              1970-05-04R This user is from outside of this forum
                              1970-05-04R This user is from outside of this forum
                              1970-05-04
                              wrote last edited by
                              #200

                              @futurebird Software engineering is the stuff around software coding. The AI-vangelists have decided to re-discover the field from scratch, while expressing increasingly hubristic contempt for the lived experience of the entire field.

                              @EricLawton @david_chisnall

                              Eric LawtonE 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.

                                CubeOfCheeseC This user is from outside of this forum
                                CubeOfCheeseC This user is from outside of this forum
                                CubeOfCheese
                                wrote last edited by
                                #201

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

                                CubeOfCheeseC 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
                                  #202

                                  @futurebird I tell my students that debugging is 50+% of the work, *even* for me with 10+ years of experience. Then I tell them that what makes me a good programmer is not my ability to write error-free code the first time, but my ability to quickly debug code based on oodles of experience.

                                  You could try intentionally making a few common mistakes and showing off the error messages that result if you're projecting an IDE instead of just writing on the whiteboard.

                                  I've also built a Python library called "optimism" that can do "did you use X construct" or even "X inside Y" which helps write certain kinds of practice problems for beginners. It can generate an error message for "you're not using an if statement inside a loop but the problem requires that" for example. Reading other responses here I'm reminded that I should probably put more effort into the error messages...

                                  ? 1 Reply Last reply
                                  0
                                  • CubeOfCheeseC CubeOfCheese

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

                                    CubeOfCheeseC This user is from outside of this forum
                                    CubeOfCheeseC This user is from outside of this forum
                                    CubeOfCheese
                                    wrote last edited by
                                    #203

                                    @futurebird
                                    2. When a student tells me their code doesn't work, I almost never tell them how to fix it. Here are my steps:
                                    a. Did you read the error? Okay then read the error.
                                    b. What does it say? What line is the error on? Do you know what the words mean? Okay let's break it down. *Go word by word through the error to check their understanding and explain the words they don't know*
                                    c. What part of the line do you think is the problem? How can we change it? What else could we put there instead

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

                                      ? Offline
                                      ? Offline
                                      Guest
                                      wrote last edited by
                                      #204

                                      @futurebird @david_chisnall As a retired coder. The job description hasn’t changed. Just the ratios on tasks performed. Much more reading code vs lots less writing actual lines of code. I like the sound of this debugging approach, as it forces reading and understanding. I have long said the CS courses needed more reading/reviewing code. Like a large part of traditional art courses teach art “criticism”. You have to be able to tell “good” art from “ bad” art to be able to judge if you work is achieving the goals you want from it. The same applies to code.

                                      1 Reply Last reply
                                      0
                                      • myrmepropagandistF myrmepropagandist

                                        I think they become anxious when their code isn't working the same as what I have up on the projector and they want to get it fixed RIGHT AWAY so they won't fall behind.

                                        Then when one of them starts calling out they all do it.

                                        I may take some time to explain this.

                                        This never happens when I'm teaching math. Something about coding makes them forget some of their manners, and become less self-sufficient. "It's broke! I'm helpless!"

                                        What is that about?

                                        AvnerA This user is from outside of this forum
                                        AvnerA This user is from outside of this forum
                                        Avner
                                        wrote last edited by
                                        #205

                                        @futurebird 🤔 maybe you already do something like this, but I wonder if some sort of preamble to set expectations around errors will help? Something like "computer programming can look like math but the the instant feedback makes it feel very different. Eventually that will feel like a good thing, but know that you may get error messages when you dont expect them and that a large part of learning to code is learning how to read and understand what those error messages are saying."

                                        1 Reply Last reply
                                        0
                                        • 1970-05-04R 1970-05-04

                                          @futurebird Software engineering is the stuff around software coding. The AI-vangelists have decided to re-discover the field from scratch, while expressing increasingly hubristic contempt for the lived experience of the entire field.

                                          @EricLawton @david_chisnall

                                          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
                                          #206

                                          @raganwald

                                          Having spent thousands of hours working with various involved parties, trying to understand what they did and how IT could help, I came up with Lawton's Law,
                                          > Everybody's job is a lot more complex than you think it is. Including IT folks' jobs.

                                          @futurebird @david_chisnall

                                          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