I’m teaching 5th Grade Design + Code + Make for the first time this year. Previously, 5th Grade was rolled into our lower school for technology classes and the curriculum was not integrated with our middle school arc. In middle school, we focus on design thinking, entrepreneurship, making, and solving real world problems. Classes happen in our FabLab which is outfitted with laser cutters, CNC machine, 3D printers, robotics and electronics, a wood shop, and a vast array of prototyping materials.
My task: Design a 5th grade curriculum that would fit in to the greater arc of the middle school program and give the students some basic skills they would be able to use as they progress. I am teaching Trimesters 1 and 3. During Trimester 2 they will be doing woodworking with another teacher. I decided to begin with something I have been wanting to do for a long time: a trimester-long unit on how the internet works, how websites work, and basic HTML which would culminate in the students creating hand-coded websites.
I saw each section eight times during Trimester one–the first of which was taken up by an unrelated assessment–and classes are only forty-five minutes so I had to work fast. Here is how I structured it:
- Ask students What is the Internet? Discuss answers.
- Watch short video #1: https://youtu.be/Dxcc6ycZ73M
- Watch short video #2: https://youtu.be/qtmTMvXKKdg
- Play ‘Bit Runner’ — Objective is for students to transmit a text message using binary ones and zeros. Split students into teams of 3-4. Give each team two cards. One has a ‘0’ printed on it, the other has a ‘1’. For each round, teams must decide who is the transmitter, who is the receiver, and who is the runner. Have a ‘text message’ prepared for the students to transmit. It should be about five words. Mine was “Want to go to the beach?” Project an ACSII chart like this one or hand out copies to the students. When students are ready, give the ‘transmitters’ the first word of the message and start the timer. The transmitter must check the ASCII chart, find the first letter or the word, then hand the runner a one or zero card. The runner will have to run across the room and show the card to the ‘receiver’ who will write it down. Once the receiver has received 8 bits, they can decode the first letter. Continue until a receiver successfully decodes the first word. Stop your timer. Have the students help you compute their bit rate. For example, if the first word was four letters (32 bits) and they took sixty seconds to transmit it, their rate was about .5 bits/second. They can move on to the next word and see if they can improve their speed.
- In practice, my students loved this exercise and got very competitive. After they finished, we talked about how fast data is transmitted across various media and how not just text but also images and videos could be encoded and transmitted using binary.
- Ask students What is a website? How do they work? Discuss their answers.
- Watch short video: https://youtu.be/1K64fWX5z4U
- Go over key terms from video and make sure students understand them
- Play ‘Server/Client’ — print out the homepage from a site like nyt.com, espn.com, etc. Make enough copies for half the students. Print out a blank browser window page for the other half. Break students into pairs. Have students sit back to back. The student who has the printed out home page describes it to the student who has the blank browser. Student who is listening has to try to draw the page based on the description. Have them switch and try it the other way around.
- After activity, discuss how it went and what would have made it easier. Maybe some kind of structured system/protocol for describing how web pages look? Maybe something like HTML/CSS?
Have students complete the Khan Academy Basic HTML course. If my students are any indication, they will need lots of help and will have many questions but will be able to get through it.
Students pick a subject for their website and write a website ‘plan’. Once their plan is approved, they can start building it. I had them build their sites using a combination of a Linode web server I set up with chrooted FTP access/home directory in the web root for each student, and codeanywhere. Codeanywhere has education plans so I could get enough accounts for all of my students at a reasonable price. I put a basic website template in each of their folders on the server and they took it from there. Some of them built amazing sites. Some barely got started. Either way, it was fine with me. My objective was for them to understand the underlying technology. They use the internet every day. It’s a huge part of their lives. I wanted them to know what it is and how it works. Along the way we discussed privacy issues like tracking cookies, web browsing history, personal data stored by massive corporations, how mobile apps function, etc.
The one thing I will do differently next year is have them focus on making one really good homepage for their site first. If they finish that, they can start on another page. Some students spent too much time switching back and forth and didn’t finish anything as a result.