Merge branch 'presentation-slides'
[cipher-training.git] / slides / aims.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Aims</title>
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <link href='http://fonts.googleapis.com/css?family=Calligraffitti' rel='stylesheet' type='text/css'>
7 <style type="text/css">
8 /* Slideshow styles */
9 body {
10 font-size: 20px;
11 }
12 h1, h2, h3 {
13 font-weight: 400;
14 margin-bottom: 0;
15 }
16 h1 { font-size: 3em; }
17 h2 { font-size: 2em; }
18 h3 { font-size: 1.6em; }
19 a, a > code {
20 text-decoration: none;
21 }
22 code {
23 -moz-border-radius: 5px;
24 -web-border-radius: 5px;
25 background: #e7e8e2;
26 border-radius: 5px;
27 font-size: 16px;
28 }
29 .plaintext {
30 background: #272822;
31 color: #80ff80;
32 text-shadow: 0 0 20px #333;
33 padding: 2px 5px;
34 }
35 .ciphertext {
36 background: #272822;
37 color: #ff6666;
38 text-shadow: 0 0 20px #333;
39 padding: 2px 5px;
40 }
41 .quote {
42 -moz-border-radius: 5px;
43 -web-border-radius: 5px;
44 background: #e7e8e2;
45 border-radius: 5px;
46 font-size: 26px;
47 font-family: 'Calligraffitti', cursive;
48 }
49 .indexlink {
50 position: absolute;
51 bottom: 1em;
52 left: 1em;
53 }
54 </style>
55 </head>
56 <body>
57 <textarea id="source">
58
59 layout: true
60
61 .indexlink[[Index](index.html)]
62
63 ---
64
65 # Aims
66
67 Material aimed for two (three?) audiences
68
69 1. Teacher CPD
70 2. In-school resources for children
71 3. Outreach resources, mainly Bletchley Park
72
73 After your suggestions on how to extend these notes to hit these audiences
74
75 ---
76
77 # Programming != Computing
78
79 .quote[
80 > Computational thinking is like architectural thinking.
81 >
82 > Programming is like bricklaying.
83 ]
84
85 This course will cover four things, in increasing order of importance.
86
87 1. Teach some ideas about ciphers and cryptanalysis.
88 2. Show off some tools: IPython, git, doctest.
89 3. Explore some different corners of Python (itertools, multiprocessing).
90 4. Expose my thinking for how to solve these problems.
91
92 ---
93
94 # Idiomatic Python
95
96 Pythonistas are keen on writing idiomatic Python.
97
98 It's often clearer and more efficient than writing C, Perl, or even Ruby in Python.
99
100 * [PEP-8](http://legacy.python.org/dev/peps/pep-0008/) is the fundamental
101 style guide. Consider getting a linter (`pylint`?)
102 * [Python Cookbok](http://shop.oreilly.com/product/9780596001674.do) has lots of
103 recipies for doing things in Python
104 * [Idiomatic Python](http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html):
105 Good style, but dated for Python 2
106 * [Writing Idiomatic Python](http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/):
107 Enough there to tempt me to buy [the book](http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/)
108 * [Python Guide](http://docs.python-guide.org/en/latest/writing/style/): nice
109 complement to the above
110 * [Python antipatterns](http://lignos.org/py_antipatterns/): things to avoid
111 when writing Python
112
113 </textarea>
114 <script src="http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type="text/javascript">
115 </script>
116 <script type="text/javascript">
117 var slideshow = remark.create({ ratio: "16:9" });
118 </script>
119 </body>
120 </html>