author | Anoop Jacob Thomas<anoop@fossee.in> |
Sat, 18 Dec 2010 12:54:49 +0530 | |
changeset 524 | b602b4dcc87d |
parent 444 | 1aa91f8d8d59 |
permissions | -rw-r--r-- |
181 | 1 |
1 Module 1: Basic Plotting (16) |
2 |
================================ |
|
3 |
||
4 |
1.1 ABCD |
|
5 |
--------- |
|
6 |
* Audience |
|
7 |
+ same |
|
8 |
* Behaviour |
|
9 |
- should be able to generate plots with any combination of built-in |
|
10 |
mathematical functions provided by pylab |
|
11 |
* Condition |
|
12 |
- being learnt in a self-study tutorial. |
|
13 |
- have python setup in their machine |
|
14 |
* Degree |
|
15 |
- RBT - Ap |
|
16 |
||
17 |
||
18 |
1.2 LO: getting started with =ipython= (2) [punch] |
|
19 |
--------------------------------------------------- |
|
20 |
* Objective |
|
21 |
Participants will be able to invoke and use basic features of ipython. |
|
22 |
* ABCD |
|
23 |
+ Condition |
|
24 |
- have =python= & =ipython= setup in their machine. no mention of =pylab= |
|
25 |
* Assessment Strategy |
|
26 |
Built-in interspersed exercises |
|
27 |
- workbook |
|
28 |
+ errors, make connection with error message |
|
29 |
* Outline |
|
30 |
+ invoking ipython |
|
31 |
if there's a problem, pre-requisites are not met. |
|
32 |
+ getting out |
|
33 |
+ explain the prompt |
|
34 |
+ typing commands |
|
35 |
- 1+2 |
|
36 |
* careful wording to differentiate from print |
|
37 |
- print 1+2 |
|
38 |
- history (up, down arrows) |
|
39 |
- backspace, delete key |
|
40 |
- tab completion |
|
41 |
* ab |
|
42 |
* a |
|
43 |
* rou |
|
44 |
* ro |
|
45 |
* r |
|
46 |
+ =abs?=, =round?= |
|
47 |
+ handling typing errors |
|
48 |
- round(2.48, |
|
49 |
+ close it |
|
50 |
+ use ^C |
|
51 |
||
52 |
1.3 LO: using the =plot= command interactively (2) [amit] |
|
53 |
---------------------------------------------------------- |
|
54 |
* Outline |
|
55 |
+ ipython -pylab |
|
56 |
- pylab brings in the libraries necessary for Scientific Computing. |
|
57 |
+ =linspace=, |
|
58 |
+ =len= |
|
59 |
+ =clf= |
|
60 |
+ =plot= |
|
61 |
+ using the plot ui |
|
62 |
||
63 |
1.4 LO: embellishing a plot (2) [nishanth] |
|
64 |
------------------------------------------- |
|
65 |
* Outline |
|
66 |
+ [X]line width, color, style |
|
67 |
+ [X]Title |
|
68 |
+ [X]Label |
|
69 |
+ [X]annotations |
|
70 |
||
71 |
1.5 LO: saving plots (2) [anoop] |
|
72 |
--------------------------------- |
|
73 |
* Outline |
|
74 |
+ basic savefig |
|
75 |
+ png, pdf, ps, eps, svg |
|
76 |
+ going to OS and looking at the file |
|
77 |
||
78 |
1.6 LO: multiple plots (3) [madhu] |
|
79 |
----------------------------------- |
|
80 |
* Outline |
|
81 |
+ overlays |
|
82 |
- linspace |
|
83 |
* give one with very few points, more points |
|
84 |
* show smoothness of the curve |
|
85 |
+ legend |
|
86 |
+ figure 1, figure2 |
|
87 |
+ subplots |
|
88 |
||
89 |
1.7 LO: additional features of IPython (2) [nishanth] |
|
90 |
------------------------------------------------------ |
|
91 |
* Outline |
|
92 |
+ =%save=, =%history=, =%run= |
|
93 |
||
94 |
1.8 LO: module level assessment (3) [madhu] |
|
95 |
-------------------------------------------- |
|
96 |
* 10-12 question, time the questions |
|
97 |
* pause & and play when ready to look at answers |
|
98 |
* show the answers |
|
99 |
* one large or two medium questions |
|
100 |
* ex: four_plot |
|
101 |
||
102 |
||
103 |
2 Module 2: Plotting Experimental Data (12) |
|
104 |
============================================ |
|
105 |
||
106 |
2.1 ABCD |
|
107 |
--------- |
|
108 |
* Audience |
|
109 |
+ same |
|
110 |
* Behaviour |
|
111 |
- should be able to generate plots with numeric data from files. |
|
112 |
* Condition |
|
113 |
- being learnt in a self-study tutorial. |
|
114 |
- have python setup in their machine |
|
115 |
* Degree |
|
116 |
- Same |
|
117 |
||
118 |
2.2 LO: loading data from files (3) [punch] |
|
119 |
-------------------------------------------- |
|
120 |
* loadtxt with unpack=True |
|
121 |
+ primes.list (one col) |
|
122 |
+ pendulum.txt (two col) |
|
123 |
||
124 |
2.3 LO: plotting the data (3) [amit] |
|
125 |
------------------------------------- |
|
126 |
* plot L vs. T^2 |
|
127 |
+ using square function |
|
128 |
* problem with 3 cols |
|
129 |
+ 3rd column is error |
|
130 |
+ error bar |
|
131 |
||
132 |
2.4 LO: other types of plots (3) [anoop] |
|
133 |
----------------------------------------- |
|
134 |
* scatter |
|
135 |
* pie chart |
|
136 |
* bar chart |
|
137 |
* log |
|
138 |
* illustration of other plots, matplotlib help |
|
139 |
||
140 |
2.5 LO: module level assessment (3) [nishanth] |
|
141 |
----------------------------------------------- |
|
142 |
* pos.txt is evaluation |
|
143 |
||
144 |
||
145 |
3 Module 3: Handling Large Data Files (17) |
|
146 |
=========================================== |
|
147 |
||
148 |
3.1 LO: getting started with lists (2) [amit] |
|
149 |
---------------------------------------------- |
|
150 |
* empty |
|
151 |
* filled lists |
|
152 |
+ heterogenity |
|
153 |
* accessing |
|
154 |
* len |
|
155 |
* =append= elements |
|
156 |
* del (+ remove) |
|
157 |
||
158 |
3.2 LO: getting started with =for= (2) [anoop] |
|
159 |
----------------------------------------------- |
|
160 |
* blocks in python |
|
161 |
+ (indentation) |
|
162 |
* blocks in ipython |
|
163 |
+ ... prompt |
|
164 |
+ hitting enter |
|
165 |
* =for= with a list |
|
166 |
* =range= function |
|
167 |
||
168 |
3.3 LO: getting started with strings (2) [madhu] |
|
169 |
------------------------------------------------- |
|
170 |
* strings |
|
171 |
+ single, double, triple quoted |
|
172 |
* accessing elements |
|
173 |
* show immutability |
|
174 |
* tell that there are methods for manipulation |
|
175 |
||
176 |
3.4 LO: getting started with files (3) [punch] |
|
177 |
----------------------------------------------- |
|
178 |
* show file object |
|
179 |
* read the file with =read= |
|
180 |
* closing the file |
|
181 |
* for line in file: |
|
182 |
* print a line |
|
183 |
* append the lines to a list |
|
184 |
||
185 |
3.5 LO: parsing data (3) [nishanth] |
|
186 |
------------------------------------ |
|
187 |
* explain what is parsing |
|
188 |
* strip (with strings) |
|
189 |
* split (with strings) |
|
190 |
+ with delimiters |
|
191 |
- specify space as delimiter |
|
192 |
* datatype conversion |
|
193 |
* reading from files |
|
194 |
+ do the same problem done with loadtxt (for pendulum) |
|
195 |
+ basic parse sslc text |
|
196 |
||
197 |
3.6 LO: statistics (2) [amit] |
|
198 |
------------------------------ |
|
199 |
* mean |
|
200 |
+ summing |
|
201 |
* median |
|
202 |
* std |
|
203 |
||
204 |
3.7 LO: module level assessment (3) [madhu] |
|
205 |
-------------------------------------------- |
|
206 |
* mean g |
|
207 |
||
208 |
||
209 |
4 Module 4: Arrays and Matrices (14) |
|
210 |
===================================== |
|
211 |
||
212 |
4.1 LO: getting started with arrays (2) [anoop] |
|
213 |
------------------------------------------------ |
|
214 |
* why arrays |
|
215 |
+ speed - simply say |
|
216 |
+ array level operations |
|
217 |
* creating arrays |
|
218 |
+ direct data |
|
219 |
+ list conversion |
|
220 |
+ homogeneous |
|
221 |
+ builtins - identitiy, zeros, |
|
222 |
* array operations |
|
223 |
+ =+ - * /= |
|
224 |
||
225 |
4.2 LO: accessing parts of arrays (4) [punch] |
|
226 |
---------------------------------------------- |
|
227 |
* accessing individual elements |
|
228 |
* slicing, striding |
|
229 |
* image manipulation |
|
230 |
||
231 |
4.3 LO: Matrices (3) [anoop] |
|
232 |
----------------------------- |
|
233 |
* creating matrices |
|
234 |
+ direct data |
|
235 |
+ list conversion |
|
236 |
+ builtins - identitiy, zeros, |
|
237 |
* matrix operations |
|
238 |
+ + - * / |
|
239 |
+ dot |
|
240 |
+ inv |
|
241 |
+ det |
|
242 |
+ eig |
|
243 |
+ norm |
|
244 |
+ svd |
|
245 |
||
246 |
4.4 LO: Least square fit (2) [nishanth] |
|
247 |
---------------------------------------- |
|
248 |
* show pendulum |
|
249 |
+ use loadtxt |
|
250 |
* lstsq |
|
251 |
||
252 |
4.5 LO: Assessment (3) [punch] |
|
253 |
------------------------------- |
|
254 |
* extract faces from a group photograph |
|
255 |
||
256 |
5 Module 5: using Sage (13) |
|
257 |
============================ |
|
258 |
||
259 |
5.1 LO: getting started with sage notebook (3) [madhu] |
|
260 |
------------------------------------------------------- |
|
261 |
* about sage |
|
262 |
+ ... |
|
263 |
* starting the notebook server |
|
264 |
* using the UI |
|
265 |
+ typesetting & print |
|
266 |
+ selecting language |
|
267 |
- sage |
|
268 |
- LaTeX |
|
269 |
- python |
|
270 |
+ help |
|
271 |
- sum(<tab> |
|
272 |
- ? |
|
273 |
||
274 |
5.2 LO: getting started with symbolics (3) [amit] |
|
275 |
-------------------------------------------------- |
|
276 |
* symbolic expressions |
|
277 |
+ built-in constants & functions |
|
278 |
+ algebraic expressions, |
|
279 |
+ series |
|
280 |
+ integration, differentiation |
|
281 |
+ matrices |
|
282 |
* symbolic functions |
|
283 |
+ defining |
|
284 |
* simplification |
|
285 |
* finding roots & factors |
|
286 |
* substituting expressions |
|
287 |
* output formats |
|
288 |
||
289 |
5.3 LO: using Sage (4) [punch] |
|
290 |
------------------------------- |
|
291 |
* ABCD |
|
292 |
+ Degree |
|
293 |
- RBT - U |
|
294 |
* Calculus |
|
295 |
+ limits |
|
296 |
+ differentiation |
|
297 |
+ integration |
|
298 |
- indefinite |
|
299 |
- definite |
|
300 |
+ piece-wise functions |
|
301 |
+ differential equations |
|
302 |
+ maxima, minima |
|
303 |
* Linear Algebra |
|
304 |
+ Vectors and Matrices |
|
305 |
- constructions |
|
306 |
+ Vector Operations |
|
307 |
- linear combination |
|
308 |
- dot |
|
309 |
- cross |
|
310 |
- pairwise |
|
311 |
+ Matrix Operations |
|
312 |
- linear combination |
|
313 |
- matrix multiplication |
|
314 |
- inverse |
|
315 |
- transpose |
|
316 |
- adjoint |
|
317 |
- rank |
|
318 |
- determinant |
|
319 |
- trace |
|
320 |
- norm |
|
321 |
+ Solving equations |
|
322 |
+ Eigenvalues, eigenvectors |
|
323 |
* Graph Theory |
|
324 |
* Number Theory |
|
325 |
||
326 |
5.4 LO: using sage to teach (3) [nishanth] |
|
327 |
------------------------------------------- |
|
328 |
* @interact |
|
329 |
* 2D, 3D graphics |
|
330 |
* Graph Theory |
|
331 |
* Share, Publish |
|
332 |
||
333 |
||
334 |
5.5 LO: Assessment (3) [anoop] |
|
335 |
------------------------------- |
|
336 |
* 5 questions |
|
337 |
* choice of exercises from one area |
|
338 |
||
339 |
6 Module 6: Python Language: Basics (12) |
|
340 |
======================================= |
|
341 |
||
342 |
6.1 LO: basic datatypes & operators (4) [amit] |
|
343 |
---------------------------------------------- |
|
344 |
* int |
|
345 |
+ L, long |
|
346 |
* float |
|
347 |
+ repr, str |
|
348 |
* complex |
|
349 |
+ methods like imag, real |
|
350 |
* boolean |
|
351 |
+ short circuit logic |
|
352 |
* conversion functions |
|
353 |
* sequence datatypes & mutability |
|
354 |
+ list available sequence datatypes |
|
355 |
- string |
|
356 |
- list |
|
357 |
- tuple |
|
358 |
+ mutability |
|
359 |
+ conversion |
|
360 |
+ common stuff |
|
361 |
- len |
|
362 |
- in |
|
363 |
- max, min, sum, sorted, reversed |
|
364 |
- accessing individual elements |
|
365 |
- slicing, striding |
|
366 |
- containership |
|
367 |
||
368 |
6.2 LO: I/O (1) [nishanth] |
|
369 |
-------------------------- |
|
370 |
* print statement |
|
371 |
* raw_input |
|
372 |
||
373 |
6.3 LO: conditionals (2) [Madhu] |
|
374 |
-------------------------------- |
|
375 |
* if, elif, else |
|
376 |
* pass |
|
377 |
* ternary operator |
|
378 |
||
379 |
6.4 LO: loops (2) [punch] |
|
380 |
------------------------- |
|
381 |
* while |
|
382 |
* for |
|
383 |
* pass, break, continue |
|
384 |
||
385 |
6.5 LO: Assessment (3) [Anoop] |
|
386 |
------------------------------ |
|
387 |
* 10 Questions |
|
388 |
* One of collatz or armstrong numbers |
|
389 |
||
390 |
||
391 |
7 Module 7: Python Language: Datastructures (14) |
|
392 |
================================================ |
|
393 |
||
394 |
7.1 LO: manipulating lists (3) [Madhu] |
|
395 |
-------------------------------------- |
|
396 |
* concatenation |
|
397 |
* slicing |
|
398 |
* striding |
|
399 |
* .sort |
|
400 |
* sorted |
|
401 |
* .reverse |
|
402 |
* reversed |
|
403 |
||
404 |
7.2 LO: manipulating strings (2) [punch] |
|
405 |
---------------------------------------- |
|
406 |
* upper, lower, |
|
407 |
* replace |
|
408 |
* slicing |
|
409 |
* [::-1] |
|
410 |
* reversed |
|
411 |
* palindrome check |
|
412 |
||
413 |
7.3 LO: getting started with tuples (2) [nishanth] |
|
414 |
-------------------------------------------------- |
|
415 |
* immutability |
|
416 |
* tuple packing, unpacking |
|
417 |
+ a, b = b, a |
|
418 |
* accessing individual elements |
|
419 |
* slicing, striding |
|
420 |
||
421 |
7.4 LO: dictionaries (2) [anoop] |
|
422 |
-------------------------------- |
|
423 |
* empty |
|
424 |
* filled |
|
425 |
* accessing via keys |
|
426 |
* .values(), .keys() |
|
427 |
* in |
|
428 |
* iteration |
|
429 |
||
430 |
7.5 LO: sets (2) [nishanth] |
|
431 |
--------------------------- |
|
432 |
* Operations |
|
433 |
+ Union |
|
434 |
+ Intersection |
|
435 |
+ Complement |
|
436 |
+ Symmetric Difference |
|
437 |
* Containership |
|
438 |
* Subset |
|
439 |
* len |
|
440 |
||
441 |
7.6 LO: Assessment (3) [amit] |
|
442 |
----------------------------- |
|
443 |
* 10 Questions |
|
444 |
* Anagrams for sets and dictionaries |
|
445 |
* A problem for lists and strings |
|
446 |
||
447 |
8 Module 8: Python Language: Advanced (16) |
|
448 |
========================================== |
|
449 |
||
444
1aa91f8d8d59
added script getting started with functions.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
181
diff
changeset
|
450 |
8.1 LO: getting started with functions (3) [anoop] |
181 | 451 |
----------------------------------------------------- |
452 |
* defining function |
|
453 |
* arguments |
|
454 |
* docstrings |
|
455 |
* return values |
|
456 |
+ can return multiple values |
|
457 |
* code reading exercises |
|
458 |
||
459 |
8.2 LO: advanced features of functions (3) [punch] |
|
460 |
-------------------------------------------------- |
|
461 |
* default arguments |
|
462 |
* keyword arguments |
|
463 |
* built-in functions show off |
|
464 |
||
465 |
8.3 LO: using python modules (3) [anoop] |
|
466 |
---------------------------------------- |
|
467 |
* executing python scripts from command line |
|
468 |
* import |
|
469 |
* scipy |
|
470 |
* pylab |
|
471 |
* sys |
|
472 |
* STDLIB modules show off |
|
473 |
||
474 |
8.4 LO: writing python scripts (2) [nishanth] |
|
475 |
---------------------------------------------- |
|
476 |
* importing our own modules |
|
477 |
* if __name__ == '__main__' |
|
478 |
||
479 |
8.5 LO: testing and debugging (2) [amit] |
|
480 |
---------------------------------------- |
|
481 |
* Types of errors and exceptions |
|
482 |
* Strategy for debugging |
|
483 |
+ Using print |
|
484 |
||
485 |
8.6 LO: Assessment (3) [punch] |
|
486 |
------------------------------ |
|
487 |
* 10 Questions |
|
488 |
* Find four digit numbers whose digits are all even |
|
489 |
* Write a script to use methods from pylab (like plot, show and other commands) and execute it as a stand-alone script |
|
490 |
||
491 |