--- /dev/null
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Aims</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ /* Slideshow styles */
+ body {
+ font-size: 20px;
+ }
+ h1, h2, h3 {
+ font-weight: 400;
+ margin-bottom: 0;
+ }
+ h1 { font-size: 3em; }
+ h2 { font-size: 2em; }
+ h3 { font-size: 1.6em; }
+ a, a > code {
+ text-decoration: none;
+ }
+ code {
+ -moz-border-radius: 5px;
+ -web-border-radius: 5px;
+ background: #e7e8e2;
+ border-radius: 5px;
+ font-size: 16px;
+ }
+ .plaintext {
+ background: #272822;
+ color: #80ff80;
+ text-shadow: 0 0 20px #333;
+ padding: 2px 5px;
+ }
+ .ciphertext {
+ background: #272822;
+ color: #ff6666;
+ text-shadow: 0 0 20px #333;
+ padding: 2px 5px;
+ }
+ </style>
+ </head>
+ <body>
+ <textarea id="source">
+
+# Aims
+
+Material aimed for two (three?) audiences
+
+1. Teacher CPD
+2. In-school resources for children
+3. (Outreach resources, mainly Bletchley Park)
+
+After your suggestions on how to extend these notes to hit these audiences
+
+---
+
+# Programming != Computing
+
+> Computational thinking is like architectural thinking. Programming is like
+> bricklaying.
+
+This course will cover four things, in increasing order of importance.
+
+1. Teach some ideas about ciphers and cryptanalysis.
+2. Show off some tools: IPython, git, doctest.
+3. Explore some different corners of Python (itertools, multiprocessing).
+4. Expose my thinking for how to solve these problems.
+
+ </textarea>
+ <script src="http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ var slideshow = remark.create();
+ </script>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Breaking caesar ciphers</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ /* Slideshow styles */
+ body {
+ font-size: 20px;
+ }
+ h1, h2, h3 {
+ font-weight: 400;
+ margin-bottom: 0;
+ }
+ h1 { font-size: 3em; }
+ h2 { font-size: 2em; }
+ h3 { font-size: 1.6em; }
+ a, a > code {
+ text-decoration: none;
+ }
+ code {
+ -moz-border-radius: 5px;
+ -web-border-radius: 5px;
+ background: #e7e8e2;
+ border-radius: 5px;
+ font-size: 16px;
+ }
+ .plaintext {
+ background: #272822;
+ color: #80ff80;
+ text-shadow: 0 0 20px #333;
+ padding: 2px 5px;
+ }
+ .ciphertext {
+ background: #272822;
+ color: #ff6666;
+ text-shadow: 0 0 20px #333;
+ padding: 2px 5px;
+ }
+ </style>
+ </head>
+ <body>
+ <textarea id="source">
+
+# Breaking caesar ciphers
+
+![centre-aligned Caesar wheel](caesarwheel1.gif)
+
+---
+
+# Brute force
+
+How many keys to try?
+
+## Basic idea
+
+```
+for each key:
+ decipher with this key
+ how close is it to English?
+ remember the best key
+```
+
+What steps do we know how to do?
+
+---
+# How close is it to English?
+
+What does English look like?
+* We need a model of English.
+
+How do we define "closeness"?
+
+
+ </textarea>
+ <script src="http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ var slideshow = remark.create();
+ </script>
+ </body>
+</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
- <title>Title</title>
+ <title>Caesar cipher</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
/* Slideshow styles */
font-weight: 400;
margin-bottom: 0;
}
- h1 { font-size: 4em; }
+ h1 { font-size: 3em; }
h2 { font-size: 2em; }
h3 { font-size: 1.6em; }
a, a > code {
'b'
"""
if letter in string.ascii_letters:
+ .
+ .
+ .
```
---
-# My tests
-
-```python
-def caesar_encipher_letter(letter, shift):
- """Encipher a letter, given a shift amount
-
- >>> caesar_encipher_letter('a', 1)
- 'b'
- >>> caesar_encipher_letter('a', 2)
- 'c'
- >>> caesar_encipher_letter('b', 2)
- 'd'
- >>> caesar_encipher_letter('x', 2)
- 'z'
- >>> caesar_encipher_letter('y', 2)
- 'a'
- >>> caesar_encipher_letter('z', 2)
- 'b'
- >>> caesar_encipher_letter('z', -1)
- 'y'
- >>> caesar_encipher_letter('a', -1)
- 'z'
- """
- if letter in string.ascii_letters:
-```
----
-
# The magic doctest incantation
```python