Wanted: Advice from CS teachers
-
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.
@futurebird
I just made it a rule that they had to give it the old college try before they called me. I don't remember if I had any formal time limit or number of tries or anything. Probably not. I also encouraged them to help each other, with the caveat that they needed to make sure the person they were helping understood the help. And I really really emphasized asking for help when they needed it, after giving it the old college try, of course. -
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.
@futurebird An old mentor of mine introduced me to a useful acronym: KMAFYOYO
'Kiss My Ass Fella, You are On Your Own'
It is even phonetic.
-
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.
@futurebird Maybe give them a homework assignment: Pay close attention to how many times in a day you hear somebody misspeak and correct themself, no matter how small it is. We all do this a lot, but it happens so fast and so often that we rarely notice.
When it happens in a computer program, we call that a bug. But the computer won't have the zillion shared context clues that human language enjoys. It can't work out what you mean by itself. And it has very limited ways to ask for help.
-
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.
@futurebird @nicklockwood to me that’s one of the fundamental truths of programming (or doing real math or science). Most of the time you’re wrong and trying to figure out how to fix it or address it. We do t spend much time on our successes we go on to the next thing that isn’t working. So I agree with your thoughts
-
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.
@futurebird
Thank you for asking this. It made me feel useful, and brought back good memories now that I'm retired. Something else it made me think of was students' reaction when I'd come over to help with a problem they'd been struggling with for a while and point right at it. They would be all amazed and say how did you do that, and I'm like, well I've seen it hundreds of times. 😄 -
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?
@futurebird Some of it may be the lack of confidence in being able to fix it. I have seen devs who, as soon as they hit an issue, immediately look to make it someone else’s problem, so I fully support teaching them how to debug.
I like the idea of giving them buggy code. A lot of being a developer is finding the mistake the past developer (often yourself) made. :)
-
@futurebird my student tutor had an annoying habit of answering questions like that with "try doing it right instead of wrong", which was pretty obviously just a way to not get flooded with this exact type of comment.
On the one hand, it's smarmy and unhelpful. On the other hand, sometimes it's useful to tell someone to sit down and not panic in your face so you can continue doing your thing (for their benefit)
@fortunos @futurebird pretty funny if you can pull it off. Can destroy some kids though.
-
I do this with my older students and with those with more experience. This is the one course that I teach that EVERYONE must take. So there are kids there who have never programmed anything. Kids who were confused when I had them use a computer with a mouse since they'd never seen one in person before.
I'm glad we have such a course. But they just don't know enough to do this yet.
And I have an agenda: I want them to have fun.
@futurebird oh I see, indeed this was with university students, I've never teached computer science to younger students so I'll read what others have suggested. But at any stage of learning, I completely agree that some fun being involved greatly greases the wheels :)
-
@futurebird I usually have clear me/them speaking parts in the course. While I speak, they listen, which I enforce up to the last whisper.
Also, the "me" parts only take 15-20 minutes each, then it's time for questions, https://github.com/ineiti/livequiz, or other interactions.
For the exercise sections, the "me" parts are of course much shorter.
Yes, that's exactly what I did! I already posted a couple of answers, but after looking at the whole thread I realized I didn't really understand the question. Yes, I think this is the answer to the question.
-
undefined oblomov@sociale.network shared this topic
-
This is helpful for me. I had a hard time understanding why one student was upset, almost to the point of tears (they are very sensitive) that the error message said "error on line 32" but, really the problem was the way they originally named the variable.
"Why couldn't it just say the error was on line 4? 😢 I tried everything I could to fix line 32. 🥺 😢 "
My sweet child... it's just not that smart, not like you.
@futurebird i think Microsoft in the 90s set up this attitude towards computers that still lives today: “it’s your fault if it doesn’t work”.
I never had to use Windows — ever — and every time I would sit down to try, something glaringly bad would be right there interfering.
And I’ve been a dev and UX person for nearly 40 years.
-
@futurebird Maybe give them a homework assignment: Pay close attention to how many times in a day you hear somebody misspeak and correct themself, no matter how small it is. We all do this a lot, but it happens so fast and so often that we rarely notice.
When it happens in a computer program, we call that a bug. But the computer won't have the zillion shared context clues that human language enjoys. It can't work out what you mean by itself. And it has very limited ways to ask for help.
@futurebird Also, I tell junior devs to think back to science class. Every change you make to code is an experiment; your hypothesis is that the new code will be somehow better than the old. But you can't put too many variables in an experiment, or you won't know which changes mattered and why.
So test often. Test after every line of code if you have to. It sounds annoying but it's much easier than the avalanche of bugs you get when running 1000 new lines the first time.
Go slow to go fast.