This

Georgia private schools take stand for common-sense gun laws

 

https://search.follettsoftware.com/metasearch/ui/76049/

Advertisements

Why I teach cryptography

I teach a unit in cryptography in my 6th grade computer science course. It’s not an obvious addition to my curriculum, and it’s not one I’ve seen listed in many other CS classes at this level. Here’s why I think it’s important.

Cryptography requires students to practice complex problem solving. Students try different approaches until they find one that works. What works with one problem might not work for another. This is the opposite from problems students usually receive, in which they apply the same methods they’ve learned. It also requires students to research, and to stay with a problem even when it’s frustrating. These are skills that are necessary for higher math and for computer science, but they are very difficult to get to in a classroom. Cryptography presents a way to practice these skills in a game-like format.

Cryptography also encourages students to think about privacy and security in very practical ways. It can lead to really great discussions, particularly since issues around cryptography are very much in the news.

Cryptography allows me to sneak in some other topics the kids may not have been exposed to. Prime numbers, probability, and frequency analysis are easy to talk about in this context. There are also numerous examples of failed cryptography that allow me to delve into history and technology.

The big reason for teaching cryptography, though, is that I really enjoy the topic myself. This gives me the energy to make a lot of practical challenges for class. The kids pick up on my enthusiasm, and really focus on the class. And they love the challenges.

Here’s my latest challenge:


Breakout Winter 2018

 

Open-ended Programming

Inspired by a conference I attended this summer, I decided to try something different with coding for my 6th graders this year. Rather than teach a traditional lesson with exercises, I gave the students an open-ended challenge. Each student or team had to create an original game in Scratch. I gave no further guidance, although I was available to help with specific coding questions. The games would be presented to the class at the end of the unit, and students were encouraged to comment (constructively) on others’ efforts.

I was more than a little nervous about this approach. I had much less time with this unit – only 30 minutes once a week, over the course of about eight weeks. The students had already been introduced to Scratch and seen some demos, but only a few had actually programmed anything themselves. This had the potential to be a colossal waste of time!

Last week was the presentation. Not everyone in the class had produced a game ready to show, and of those games that were ready, only a handful were finished. That said, there were a couple really good games. More importantly, everyone in the class had produced some good code, and had struggled and learned along the way.

I had the students complete a reflection at the end, to see what they thought of the experience and what they had learned. The comments were much more positive than I expected (in fact, I’d hoped for some more criticisms, to help shape changes in the future). Here are some of the more insightful comments:

I got a lot more experience learning how to program. I think it would be fun to make something more in the future and this practice will be very helpful for that. I also learned that there are a lot of challenges making a game- you cant just make it in one day with no problems.
Troubleshooting! When I tried to add things to my scratch game or change some coding, I could make the entire this spiral out of control. this was pretty tricky, and it was sometimes hard to get the sprites or the backdrops to do what I wanted them to do.
I learned about troubleshooting when a code wasn’t working and about how to think out what you wanted your sprite to do.
 I will definitely make some changes with this approach in the future. First, the time I had to work with this year was not terribly conducive to success. The students could have used a longer block of time, without the Winter break right in the middle. I’d also like more collaboration and feedback early in the process. Some of the students really knew what they were doing, and could have helped the others along. A couple more demos of some basic mechanics (like motion using the keyboard or mouse) might help many of the students progress faster to other aspects of the game. And I would like to structure the reflection questions to get more useful feedback. I got a lot of very short answers with the current questions.
Overall I think the open-ended approach produced a much better result than lecture and practice. The students really seemed to enjoy the freedom, and I saw a lot of creative thinking and troubleshooting. While I’ll certainly do some tweaking, this approach is going to become my standard for a while.

Printing Abe

I recently bought a new 3D printer. It was cheap, and had a build area much, much larger than the Flashforge Creator Pros I’ve been using, and the price was great (under $500!). Even so, I almost passed on it, because it’s different. It makes so much sense to have a lot of the same kind of printer – parts are interchangeable, there’s no additional learning curve, etc. But I am SO glad I took this chance. Because now I can print Abe.

One of the benefits I’ve always touted in 3D printing is the ability to reproduce museum pieces. Because, kids, what’s the first rule of museums? Not anymore! And years ago I printed an example of this – a miniature scan of Abraham Lincoln’s head from the Smithsonian. I could pass this around to the kids, and explain that when Lincoln was alive, he had a plaster cast made of his head. That cast was made into a bronze. And that bronze was scanned with lasers, and now you can touch an exact replica of Lincolns head. That still amazes me. But the kids didn’t really get it.

But now, after a hundred hours of printing, I have a FULL SIZE replica of Lincoln’s head!  The kids can’t help but get it! It’s like a museum piece, but you can touch it! Bwhahaha!

Abe's Head

Lock picking in Computer Science

I incorporated lock picking in my 6th grade computer science class many years ago. It began by accident – I was making a point about security. I wanted to teach the kids to question what digital security was, and used a padlock as an analogy. The kids all agreed it appeared secure, and yet in seconds I was able to open it. I’m not sure if the kids got the analogy. But I definitely got their attention!

Each year since, kids have asked me to teach them lock picking, and I’ve promised to show them IFF we can cover the other material I want to cover with time left. It takes about 10 minutes to explain how locks work and show them how to pick them. I have a number of easy locks for them to practice on, and it takes most kids 5-15 minutes to pick their first lock. I generally have about half the class learn to pick (they do this on their own time), and I usually have a handful who really develop their skills. This year I had three develop enough skill to pick a typical front door lock, which meant they spent many hours in practice!

I have had many questions about teaching lock picking, though, so I thought I’d revisit it here and address some of the questions that come up.

  • Lock picking is seldom if ever used to break into houses. I’ve discussed this with several locksmiths, and they all agree.
  • Parents are intrigued. I’ve had many ask me about lock picking, but I’ve never had any express concern. I’ve also had a number of parents tell me how excited their kids were to learn to pick locks, and that they had bought their kids locks.
  • I make sure to emphasize the importance of ethical picking with the kids. Not because of rules, but because they are good people. To drive this home, I have them swear a solemn (well, somewhat comical-they are sixth graders) oath before teaching them.
  • I set them some goals. There are easy locks, so they can experience of hearing the satisfying click of a picked lock. That’s the most important. I also have a 3D printed medal for one of my harder locks. That’s enough for many of them to continue when it begins to get more difficult.
  • I firmly believe that anything that inspires a kid to learn something on their own is worthwhile and important. As much as I like the curriculum I’ve developed, I’d so much rather the kids develop the ability to learn on their own, driven only by their own passions. This is the primary reason I’ve kept the lock picking around.
  • It really is easy to get started. I picked up the very basics at DEFCON, and I’m still basically a beginner. With a bit of time on YouTube and a very small investment, I think anyone can pick their first lock in well under an hour. One on one, I can usually show somebody how to do it in under 10 minutes.

Re-thinking 6th Grade Computer Science

I recently finished my fourth time through this class. I thought it would be nice to reflect on what has changed, so I looked back to my post immediately after my first class had finished. First, here’s what hasn’t changed. It’s still a 6 week unit, with two classes every day. The kids are still great, and I still have great classroom teachers to lean on. They still respond best to lessons that have a physical component, and are wildly enthusiastic about a great number of the topics I cover. Finally, I’m still making my own curriculum from scratch (although now I do have a lot more resources to draw from.)

So what’s different? Well, first of all, there are a LOT more really good resources out there. While I haven’t found a single program that covers everything I want to cover in the time I’ve got to work with, there are an abundance of resources I am pulling ideas from now. For example, Code.org has gone beyond coding to add a library of excellent videos on computer science. I used a lot of these this year! Also, the British have recently revamped their entire national computing curriculum, and they have some great lessons available to the rest of us. It seems like everywhere I look, now, great CS resources are being added. This is a huge departure from the heavy emphasis on coding and applications skills I saw five years ago.

Another thing that’s changed is the amount of emphasis on security. It may be because of my own increase in security-mindedness, or just because of the interest the students take, but we spend more time each year talking about security, frauds, and hacking. I do think that’s fully justified, considering the increasing threats and privacy issues we face on a daily basis. But the kids can’t get enough. Hardly a day went by after I introduced a James Veitch video that I wasn’t asked if we could watch more. And I was really amazed at how many students told stories of their parents or grandparents falling victim to a scammer. I’m fairly confident that my students will not fall for easy scams down the road, at any rate.

Likewise, I’ve given increasing attention to copyright. When I first introduced this into the curriculum, I thought I’d just get through it quickly, because the kids needed to be aware. But we’ve had such great discussions about it that I’ve been devoting a lot more time to the issue.

I have started introducing coding into my class. I give it a couple weeks near the end, and I do get some more time in the winter to code with them. Every year I’ve done this, I’ve added a bit more structure to it, and every year I get better results. I’m still looking for the winning formula, though, to balance having everyone on the same page and making sure everyone is challenged. I’ve started mostly on Code.org’s Express course, with advanced students doing Scratch. And each year I’ve had a couple students move on to Khan Academy’s JavaScript unit.

So here’s what I’m covering as it stands.

Boot Camp
Classroom proceedures, documents, printing, logging in, good passwords, search, basic troubleshooting
Digital Citizenship
Dangers online, creating a positive digital footprint, scams, being a good citizen
Hardware
History of computing, parts of a computer
Networking
How computers communicate, how the Internet works
Data
Binary numbers, encoding text and images, copyright, cryptography
Programming and Computational Thinking
Using Code.org, Scratch, Khan Academy
Other common topics
Presentation software, 3D design, “hacking”

Surface Laptop

I had very high hopes for the new surface laptop when I first saw it. It’s a great looking machine, meant to fit into the education market by competing with the Macbook. The display looks wonderful, and it will work with a pen (although that’s not included. I really like the Surface 4, and thought this might be a less costly alternative. Unfortunately, I think Microsoft really missed the mark. First, the price ensures that this ONLY competes with the MacBook. Microsoft is completely missing the low-end (and the middle!) of the market. Half the laptops in schools are now Chromebooks, and most educators seem to be really happy with them. This is only an inexpensive education computer if comparing it to previous Surface models!

But I think they are also missing the high-end market. This laptop is using a stripped-down version of Windows, which won’t appeal to power users. It also doesn’t have terribly impressive specs in the base model. It doesn’t have a discrete graphics processor. It lacks USB-C and thunderbolt ports. It ships with 4 GB RAM. This makes the machine less useful for video editing or heavy use. In other words, less useful for anything that a Chromebook can’t handle.

All this is unfortunate, because at first glace, this looked like a machine I really wanted to own!

Ars Technica First Look at the Surface Laptop