One of the things they get most excited about–especially, he says, the girls–is cryptography. They think it’s really cool that they can use their just-beginning programming skills to reverse-engineer passwords and crack codes and stuff like that.
Stuart says he gets them up & running in Python and this is one of the first “real” applications they try. He teaches them about hashes and string manipulation. He shows them how to put for loops to use in order to cycle through combinations of characters. And as a bonus, he pivots to personal internet security: they use Ghostery (a browser plugin) and start to understand web tracking and privacy first-hand.
New to me
I have to admit, it never would have occurred to me to teach security or cryptography to teenagers.
I would have assumed that crypto is strictly for kids who are naturally inclined toward codes, security (of a white-hat or black-hat pursuasion), or maybe pure math. Those kids exist, but they’re not the majority. And I would have assumed that everyone else would find that dry and uninteresting, and that they would much rather create interesting functional programs, games, or programmatic content (animation, etc.). But Stuart says no, this is a favorite in his classes.
Who knew? Cool!