KS3 Computing/Hardware/Connectivity
This is a page of notes and links, that could be turned into a set of resources later
The curriculum progression links are here: https://teachinglondoncomputing.files.wordpress.com/2014/07/computing_progression_pathways_with_computational_thinking_v2-3.pdf
This comes from the "Computing and Networks" strand of the above pdf Bdgghvhghbjkmmkkoo USAGE
- use of a web browser
- navigate and search
- use of a range of internet services
- how to effectively use search
- use secure services
(how to know if web traffic is secure, https) (lots of nice cryptography resources Prof Chris Bishop, Royal Institution xmas lectures, National Museum of Computing) Yo mama so fat RESPONSIBLE/SAFE USE
- safe and respectful communication
- social interaction safety
- safe and responsible use
- identify acceptable and unacceptable behaviours
- knows how to report concerns
KNOWLEDGE
- names of key components of network (hubs, switches, routers)
(might be able to use GNS3 simulator to build your own network)
- names and purpose of key protocols POP, HTTP, SMTP, IMAP, FTP TCP/IP
(should also add DHCP and DNS)
- purpose of hardware of key components of network
- online protection and privacy
UNDERSTANDING
- difference between internet and an internet service
(internet is the connectivity, internet service are the applications that run using the internet)
- how search engines select and return results (webcrawlers)
(resources from james)
- search rank algorithms
(video from james)
- data transmission over computer networks, IP address, packet switching
(probably a csunplugged for this, I did one at pi bakeoff with string and envelopes, perhaps we should just video this in a lead school that can get permissions?)
- client server model esp with ref to web and server side scripting
(looking at the HTTP protocol would help here)
- difference between WANs and LANs
(need to talk about netmask and routing here - see Raspberry Pi networking lesson plan here:) https://github.com/whaleygeek/pibakeoff/tree/master/docs
- MAC addresses
(how to find the MAC address of your device?) (difference between a MAC address and an IP address?)
Creating
- creating static web pages with HTML and CSS
(could create your own very simple markup with a python text web browser, just like LMC is a cut down computer, have a cut down web browser that you can read and understand all the code)
Other Stuff (not explicitly listed in progression pathways)
DHCP/Static - see https://www.raspberrypi.org/learning/networking-lessons/lesson-3/README.md DNS - see https://www.raspberrypi.org/learning/networking-lessons/lesson-4/README.md BONJOUR (printing)
Possible resources to create
1. understanding of protocols
use a web browser to fetch data from a web server
use telnet to fetch a web page from an external website http://blog.whaleygeek.co.uk/a-tiny-python-web-server-for-the-raspberry-pi/
use/modify/write a small python text mode web browser and web server (use square brackets for links like LYNX, move cursor with TAB key or cursor keys a bit like the emacs doc system does) understand that a protocol is just a set of rules that enable collaboration
perhaps introduce simple message sequence charts as a way of diagramming simple protocols (see http://www.mcternan.me.uk/mscgen/)
develop a simple protocol of your own - a simple socket server using network.py from here as the transport: https://www.raspberrypi.org/learning/networking-lessons/lesson-1/README.md
protocols you might develop: TIMEP (time protocol) QOTDP (quote of the day) RJP (random joke protocol) These are all single request/response and single threaded servers (simple but not that interesting)
Other protocols you could develop - a simple textual adventure game protocol, the server could be a simple python program that accepts commands from identified users, moves them in a simple grid, and sends back information about other stuff around you) - users would provide their identity, send a command, and wait for some data to come back. Students could be challenged to say how easy this protocol is to hack to masquerade as different users, they could suggest a password scheme to protect each message. One group of students could write the server and the teacher could facilitate writing the protocol, then lots of other students could write their own client python programs. When the protocol has to change, all of the client programs have to be modified - this embeds deeper understanding of the standardisation of protocols and the need for standards and versions.
TEACHING NOTES
The problem with a lot of resources is kids don't want to know how things work.
If you can show by this extra understanding, that you can take advantage of this yourself...
An analogy, if you understand a bit about how a car engine works, putting your foot on the pedal too much floods the engine.
You don't want to become a mechanic, but a better understanding of the engine makes you a better driver)
i.e. is it possible to explain some technology that you use, dig into how it works, then helicopter back up to using the package
and show that the extra knowledge of how it works helps you to do more with the package)