I’m nearly at the end of my first time round teaching GCSE Computing and something has been bothering me. I decided to leave the topic of networking until the end, because I think it’s one of the hardest and also because I thought it would be beneficial to do it in Year 11 when my students are at their most knowledgeable. So I am teaching such objectives as:
“f) explain the terms IP addressing, MAC addressing, packet and protocols”
Eh? That’s quite a big ask really, isn’t it. My Year 11 group are as sharp as a hedgehog carrying a bag of knives to a cactus convention, so when I offer my GCSE level definitions with a casual “this is the stuff you need to know for the exam” I get questions along the lines of:
- Why does a computer on a LAN need a MAC address and an IP address?
- If packets are addressed to and from an IP address, how does that work when IP addresses are allocated dynamically?
- Is it possible for someone with malicious intentions to create two pieces of hardware with the same MAC address? or to ‘steal’ your MAC address?
- If a web server has an IP address which is looked up via DNS, how is it possible to host multiple websites on the same server with different domain names?
Now if you read the textbook, it just glosses over all of these things, which is sort of fair enough because a GCSE textbook isn’t meant to be a comprehensive tome on networking. I’m also not saying that I either don’t already know the answer or am lacking the ability to look up the answer to these things. The point I’m making is not that I need some help googling this stuff – stand down industry, I’ve turned off the bat signal. I’m stuck in a hideous choose your own adventure game where you can’t cheat and turn ahead. Do I…
a) Say “that’s not on the spec, don’t worry about that”
(crushing the student’s natural curiosity and undermining their confidence in me)
b) Say “I don’t know but I think it’s probably because of x…”
(fudge over the details until they get bored, not something I enjoy doing to my students, and something they HATE)
c) Tell the student the real answer
(and in the process waste lesson time on something that isn’t going to come up in the exam, confusing some students and opening up all sorts of other “but why is THAT” time sink questions)
No option is acceptable. It’s like when I did GCSE Biology and then I found out afterwards that everything I had learnt was actually a vastly simplified version of reality. And the cake being a lie doesn’t stop at GCSE – it’s all over A-Level as well. Computer architecture and processor design? A lie. Compilers? Lies. Networking? Still fib-a-licious. I really hope Professor Davenport doesn’t show up and say that everything in Uni networking lectures was a lie too otherwise I might cry.
So what do YOU do about this?
Image from http://cdn.meme.am/instances/250×250/59745067.jpg
I generally take route (c), but I make it clear that what I’m about to tell them is above and beyond what they need to know, so listening to it is optional (those who don’t want to know, and who are happier in (a) land, have other tasks to be getting on with).
I don’t see (c) as ‘wasting time’… Feeding student curiosity, especially when they’re capable of understanding, is why I teach! Plus I hated having facts / reasons glossed over by teachers at school, so I’m keen not to do so myself.
Even taking this approach, I’m still really doing (b) since I soon hit the limits of (i) my knowledge, (ii) my students’ understanding, and (iii) the time available… But at least they know a lot more than they did before, and more than is needed for GCSE, which makes them feel super-smart!
Likewise! Sometimes I am happy and able to deviate from planned content – although this can turn into a game with some classes when they try and see how far they can get me off original topic… Sometimes – especially when closer to exams – I simply don’t have the time in lessons, so suggest they stay back at break or come and see me at lunch – and they do. Eating and talking has become an art form. Sometimes I flip it and suggest they find out and tell the class (feels like a cop out but it does limit the ‘sink’ questions).
The biggest problem of all though is that, when I expand on a topic students may well then give an ‘accepted but not expected’ type of answer in response to a question in an exam and the examiner may stick to the mark scheme and not credit the answer.
Life is one big abstraction — computers, doubly so.
The abstraction and detail only has to be good enough for the level you are teaching up to, so that you can reason about a system and ask and answer sensible questions. It’s like a rule of thumb – it’s good enough to give you a ‘good enough answer’ for the task at hand.
I use string and envelopes, and we walk through a real IP packet switching example as a cs-unplugged activity. Then we configure the network on a Pi and use it to send messages between computers. The jargon we do via ‘buzzword bingo’ cards, it’s huge fun, try it!
Click to access Connectivity-LessonPlan.pdf
Netmask is explained using a piece of paper with a hole cut in it, and I hold it over a piece of paper with an IP address written on it. One of my volunteers plays the role of a web server, another volunteer plays the role of a router. Messages fly along the string in envelopes, with the sender IP address on the back, the recipient IP address on the front and the payload inside the envelope.
For little man computer and compilers, try this:
https://github.com/whaleygeek/MyLittleComputer
Usually programming is the module that gets left for last but I can see why networking at that level can be harder than coding. They are very sharp
Hehe, I feel that from your comment you’re not a teacher (not a criticism!) Programming is taught throughout the entire course for most, largely because there’s a lengthy programming controlled assessment (coursework) to be done!
Sorry I was speaking from our context here in Guyana and the Caribbean in general where programing is an independent module and usually teachers not up to it and students don’t mind. Your arrangement is fun
I teach at uni
Wow, how awesome that my blog is being read in Guyana! *wave* 🙂 I guess there are always variations depending on the teacher’s strengths.
I read widely because to learn what others are doing as part of my general interest in CS education. I’ve been following closely the introduction of the new curriculum in England
So yes…I read…waves back
Think I agree that its a point between b) and c). b) should really be “I don’t know, but why don’t you go and find out and tell me … “
Maybe good teaching is a process of telling smaller and smaller lies to build understanding?
On a more serious note I think this is one of the challenges of our subject, other subjects have had plenty of time to develop appropriate explanations for different age groups, we are still feeling our way through some of this.
I often go with c) mind you and also use other subjects simplifications as examples of abstraction like Magnetism, rainbows and the aerobic respiration equation.