I have discovered that teaching programming goes much better with my fifth grade students if I take the time to teach them about all the symbols I think of as "normal" that are totally new to them.
-
@feministmom @futurebird This reminds me of my high school Chemistry class, where the teacher suddenly started referring to something called „margaids.“ I had a tenuous grasp on the class to begin with, and margaids really confused me. It wasn’t until I saw the word written down that I realized he was talking about diagrams, and he was amusing himself at the expense of his students. I dropped out of the class and graduated without Chemistry.
I don't understand why he'd call a diagram a margaid? What is a margaid??
-
I'm slowly writing up my best lessons as I develop them with my students and in a few years I may well have a small book on teaching the foundations of computer science for fifth graders.
I want everything in to be mostly "timeless" so it can't be about teaching any particular programming language.
The idea of writing a lesson plan without a group of students in mind has always confused me. Lessons grow out of the students you encounter. I'm always trying new things and refining them. I keep a journal for each of my classes where I try to write up how each lesson worked but this is an easy step to skip since the "benefit" of that work is far in the future when you teach the course again.
But the benefit is HUGE. So I think we teachers have to keep at it.
-
CS is a much younger field than math and many of the people doing the teaching learned from a kind of immersion that obscures more efficient and broadly effective ways to teach these concepts.
I don't even remember how I learned what a bracket was or how lists work and I was implicitly assuming it was "obvious" just something you pick up from using a computer.
This is NOT the case.
Open the door and let more people in.
@futurebird @GinevraCat hmmm interesting idea on the youngness of the field. Also I guess when we oldsters self taught it was way simpler. I could by a book on assembly language for an 8 bit computer and make a game just by screwing around. It was the only computer I had access to. Now just to get started you have to pick one out of forty different subsets of computers and environments.
-
@futurebird Excellent thinking.
It'll also be worth mentioning at some point that the square ones are brackets, the curved ones are parentheses, and "curly-brackets" are in fact braces.
No level-headed person will yell at them for using the wrong term, but it'll help if they can recognise them.OK this is a bit new to me I thought that all of these things:
() [] {}
Are brackets.
{} Braces, Fancy Brackets, Curly Brackets
() Parenthesis, Round Brackets
[] Brackets, Square Brackets, Computer bracketsAre there more names?
I tend to think of [] as the "default" but others have suggested that () are the default ...
-
I have discovered that teaching programming goes much better with my fifth grade students if I take the time to teach them about all the symbols I think of as "normal" that are totally new to them.
"These are square brackets, you'll find them over the 'enter' key we use them for lists. In programming we have three kinds of brackets..."
This reduced confusion so much. And I feel a little silly for not realizing that OF COURSE they don't know what they characters are or how to type them.
@futurebird There is even more to consider here: Maybe you were using a standard ANSI QWERTY keyboard layout (US) with { and [ on one key (reachable via shift) and } and ] on another key (reachable via shift).
Using a standard German keyboard layout those are spread to Alt Gr of 7, 8, 9 and 0. I remember having had similar issues when I ran The Carpentries workshops.
US: https://commons.wikimedia.org/w/index.php?title=File:KB_United_States.svg&oldid=1095945851
German: https://commons.wikimedia.org/w/index.php?title=File:KB_Germany-text.svg&oldid=1059056551 -
@futurebird There is even more to consider here: Maybe you were using a standard ANSI QWERTY keyboard layout (US) with { and [ on one key (reachable via shift) and } and ] on another key (reachable via shift).
Using a standard German keyboard layout those are spread to Alt Gr of 7, 8, 9 and 0. I remember having had similar issues when I ran The Carpentries workshops.
US: https://commons.wikimedia.org/w/index.php?title=File:KB_United_States.svg&oldid=1095945851
German: https://commons.wikimedia.org/w/index.php?title=File:KB_Germany-text.svg&oldid=1059056551Yes those instructions are based on the keyboards that our students use.
They are surprised to notice the full range of the keyboard ... so it's worth getting them to look at it.
-
OK this is a bit new to me I thought that all of these things:
() [] {}
Are brackets.
{} Braces, Fancy Brackets, Curly Brackets
() Parenthesis, Round Brackets
[] Brackets, Square Brackets, Computer bracketsAre there more names?
I tend to think of [] as the "default" but others have suggested that () are the default ...
@futurebird @KatS
Curly braces were introduced in my life as being called Accolades. -
@futurebird @KatS
Curly braces were introduced in my life as being called Accolades. -
@futurebird I once thought I may end up in coding, but I just cannot sustain interest in it. But I did find, after having spent most of the last two decades in at least a Unix-like system or Linux, I like to use Vim for writing. It made me pay attention to things like brackets and suck. It was not at all obvious to me what all those symbols mean, and frankly I still barely know, but I use muscle memory now. But this is a far cry from a college course or technical work in the field.
The meaning of those symbols depends entirely on what software you're using.
Not all software agrees on their meaning. Not even all programming languages agree on their meaning.
The only reason people understand [a, tx, 5] “is a list of 3 items” is because that's what it means in JavaScript.
-
The meaning of those symbols depends entirely on what software you're using.
Not all software agrees on their meaning. Not even all programming languages agree on their meaning.
The only reason people understand [a, tx, 5] “is a list of 3 items” is because that's what it means in JavaScript.
javaScript
python
math (set theory)IDK it's used enough that I think it's worth knowing.
-
I have discovered that teaching programming goes much better with my fifth grade students if I take the time to teach them about all the symbols I think of as "normal" that are totally new to them.
"These are square brackets, you'll find them over the 'enter' key we use them for lists. In programming we have three kinds of brackets..."
This reduced confusion so much. And I feel a little silly for not realizing that OF COURSE they don't know what they characters are or how to type them.
@futurebird This is a very loose equivalent but reminded me non the less. We used to teach kids to play hockey on a full sheet of ice. We then realized for small people to skate those distances was insane. Especially for tiny goalies to cover a full sized net was crazy. Now we play half rink games with special nets. This video hilariously demonstrates the point. https://youtu.be/cXhxNq59pWg?si=CJd6VxRQE5QmjLDJ
-
CS is a much younger field than math and many of the people doing the teaching learned from a kind of immersion that obscures more efficient and broadly effective ways to teach these concepts.
I don't even remember how I learned what a bracket was or how lists work and I was implicitly assuming it was "obvious" just something you pick up from using a computer.
This is NOT the case.
Open the door and let more people in.
@futurebird @GinevraCat but how do you figure out what part of it exactly isn't obvious to others when you never thought about it yourself cause it has always been obvious to you? Like how do you explain it so that it becomes obvious to them too?
Note that I am not a teacher so it's not my job, just curiosity
-
@futurebird @GinevraCat but how do you figure out what part of it exactly isn't obvious to others when you never thought about it yourself cause it has always been obvious to you? Like how do you explain it so that it becomes obvious to them too?
Note that I am not a teacher so it's not my job, just curiosity
This is all about paying careful attention to the students.
I noticed they were kind of struggling with formatting the lists from examples so decided to try taking more time introducing the symbols and this worked.