15
15
six weeks, 24 sessions:
16
16
17
17
Week 1: Python Review/Update (including editor/environment, testing)
18
+ 1: set up,
19
+ in class: intros, get editor, github, virtualenv and venvwrapper working
20
+ homework: install git-completion and git-prompt
21
+ 2: Python Basics
22
+ in class: everything is an object lecture, finding your way around
23
+ homework: python book exercises
24
+ 3: Debugging
25
+ in class: tour of pdb
26
+ homework: python book exercises
27
+ 4: Testing
28
+ in class: tour of unittest module, talk about test construction
29
+ homework: python book exercises, read about nosetest and pytest
18
30
Week 2: Python Networking, low-level (sockets, protocols, communications)
31
+ 1: sockets.
32
+ in class: lecture on socket lib, show basics 1.5h
33
+ homework: Create an echo client/server with tests (exact buffer problem)
34
+ 2: protocols.
35
+ in class: lecture on protocols, show basic imap/smtp interactions
36
+ design stories for http server
37
+ homework: Create socket HTTP server with tests
38
+ 3: concurrency.
39
+ in class: lecture on the problem (GIL, synchronous vs async ops)
40
+ homework: recreate the echo server using asyncchat
41
+ 4: concurrency ?? maybe deployment??
42
+ in class: greenlets and coroutines ?? or perhaps deployment stack??
19
43
Week 3: APIs and Libraries (consuming and creating data on and off-line)
44
+ 1:
45
+ 2:
46
+ 3:
47
+ 4:
20
48
Week 4: Networking Project...??? (build some sort of simple wsgi app)
21
-
49
+ project ideas:
22
50
Week 5: Flask and microframeworks (dbapi2, sqlalchemy)
51
+ 1: intro to sqlalchemy
52
+ in class: lecture on dbapi2 and orms
53
+ homework: install postgresql and build sqlalchemy models and tests for flask microblog
54
+ 2: dispatch and views in flask
55
+ in class: lecture on routes, views, config, and 'g'
56
+ homework: build and test views for microblog
57
+ 3: templating in flask
58
+ in class: lecture on Jinja2, app context
59
+ 4: Extending a flask app.
60
+ in-class
61
+ homework: using asyn technologies, add a 'chat room' to our flask app.
23
62
Week 6: Django and full-stack frameworks (django ORM)
63
+ 1:
64
+ 2:
65
+ 3:
66
+ 4:
24
67
Week 7: Traversal, ZODB, Pyramid
68
+ 1:
69
+ 2:
70
+ 3:
71
+ 4:
25
72
Week 8: Web Project (pick a framework and build something non-trivial)
73
+ project ideas:
26
74
27
75
incorporate deployment strategies and ci integration along the way.
28
76
@@ -48,3 +96,5 @@ Editor Setup
48
96
Custom Snippets "pdb"-Tab for breakpoint
49
97
PdbSublimeTextSupport for code following
50
98
99
+
100
+ http://sdiehl.github.io/gevent-tutorial/#chat-server
0 commit comments