# HG changeset patch # User Nishanth # Date 1285165182 -19800 # Node ID 6c460c0cb353df7652129077136dbb73d2b2e565 # Parent cb005c033fdba6fe97e99a0563cf2890fe069513 added outline file diff -r cb005c033fdb -r 6c460c0cb353 outline_and_allocations.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/outline_and_allocations.rst Wed Sep 22 19:49:42 2010 +0530 @@ -0,0 +1,491 @@ +1 Module 1: Basic Plotting (16) +================================ + +1.1 ABCD +--------- +* Audience + + same +* Behaviour + - should be able to generate plots with any combination of built-in + mathematical functions provided by pylab +* Condition + - being learnt in a self-study tutorial. + - have python setup in their machine +* Degree + - RBT - Ap + + +1.2 LO: getting started with =ipython= (2) [punch] +--------------------------------------------------- +* Objective + Participants will be able to invoke and use basic features of ipython. +* ABCD + + Condition + - have =python= & =ipython= setup in their machine. no mention of =pylab= +* Assessment Strategy + Built-in interspersed exercises + - workbook + + errors, make connection with error message +* Outline + + invoking ipython + if there's a problem, pre-requisites are not met. + + getting out + + explain the prompt + + typing commands + - 1+2 + * careful wording to differentiate from print + - print 1+2 + - history (up, down arrows) + - backspace, delete key + - tab completion + * ab + * a + * rou + * ro + * r + + =abs?=, =round?= + + handling typing errors + - round(2.48, + + close it + + use ^C + +1.3 LO: using the =plot= command interactively (2) [amit] +---------------------------------------------------------- +* Outline + + ipython -pylab + - pylab brings in the libraries necessary for Scientific Computing. + + =linspace=, + + =len= + + =clf= + + =plot= + + using the plot ui + +1.4 LO: embellishing a plot (2) [nishanth] +------------------------------------------- +* Outline + + [X]line width, color, style + + [X]Title + + [X]Label + + [X]annotations + +1.5 LO: saving plots (2) [anoop] +--------------------------------- +* Outline + + basic savefig + + png, pdf, ps, eps, svg + + going to OS and looking at the file + +1.6 LO: multiple plots (3) [madhu] +----------------------------------- +* Outline + + overlays + - linspace + * give one with very few points, more points + * show smoothness of the curve + + legend + + figure 1, figure2 + + subplots + +1.7 LO: additional features of IPython (2) [nishanth] +------------------------------------------------------ +* Outline + + =%save=, =%history=, =%run= + +1.8 LO: module level assessment (3) [madhu] +-------------------------------------------- +* 10-12 question, time the questions +* pause & and play when ready to look at answers +* show the answers +* one large or two medium questions +* ex: four_plot + + +2 Module 2: Plotting Experimental Data (12) +============================================ + +2.1 ABCD +--------- +* Audience + + same +* Behaviour + - should be able to generate plots with numeric data from files. +* Condition + - being learnt in a self-study tutorial. + - have python setup in their machine +* Degree + - Same + +2.2 LO: loading data from files (3) [punch] +-------------------------------------------- +* loadtxt with unpack=True + + primes.list (one col) + + pendulum.txt (two col) + +2.3 LO: plotting the data (3) [amit] +------------------------------------- +* plot L vs. T^2 + + using square function +* problem with 3 cols + + 3rd column is error + + error bar + +2.4 LO: other types of plots (3) [anoop] +----------------------------------------- +* scatter +* pie chart +* bar chart +* log +* illustration of other plots, matplotlib help + +2.5 LO: module level assessment (3) [nishanth] +----------------------------------------------- +* pos.txt is evaluation + + +3 Module 3: Handling Large Data Files (17) +=========================================== + +3.1 LO: getting started with lists (2) [amit] +---------------------------------------------- +* empty +* filled lists + + heterogenity +* accessing +* len +* =append= elements +* del (+ remove) + +3.2 LO: getting started with =for= (2) [anoop] +----------------------------------------------- +* blocks in python + + (indentation) +* blocks in ipython + + ... prompt + + hitting enter +* =for= with a list +* =range= function + +3.3 LO: getting started with strings (2) [madhu] +------------------------------------------------- +* strings + + single, double, triple quoted +* accessing elements +* show immutability +* tell that there are methods for manipulation + +3.4 LO: getting started with files (3) [punch] +----------------------------------------------- +* show file object +* read the file with =read= +* closing the file +* for line in file: +* print a line +* append the lines to a list + +3.5 LO: parsing data (3) [nishanth] +------------------------------------ +* explain what is parsing +* strip (with strings) +* split (with strings) + + with delimiters + - specify space as delimiter +* datatype conversion +* reading from files + + do the same problem done with loadtxt (for pendulum) + + basic parse sslc text + +3.6 LO: statistics (2) [amit] +------------------------------ +* mean + + summing +* median +* std + +3.7 LO: module level assessment (3) [madhu] +-------------------------------------------- +* mean g + + +4 Module 4: Arrays and Matrices (14) +===================================== + +4.1 LO: getting started with arrays (2) [anoop] +------------------------------------------------ +* why arrays + + speed - simply say + + array level operations +* creating arrays + + direct data + + list conversion + + homogeneous + + builtins - identitiy, zeros, +* array operations + + =+ - * /= + +4.2 LO: accessing parts of arrays (4) [punch] +---------------------------------------------- +* accessing individual elements +* slicing, striding +* image manipulation + +4.3 LO: Matrices (3) [anoop] +----------------------------- +* creating matrices + + direct data + + list conversion + + builtins - identitiy, zeros, +* matrix operations + + + - * / + + dot + + inv + + det + + eig + + norm + + svd + +4.4 LO: Least square fit (2) [nishanth] +---------------------------------------- +* show pendulum + + use loadtxt +* lstsq + +4.5 LO: Assessment (3) [punch] +------------------------------- +* extract faces from a group photograph + +5 Module 5: using Sage (13) +============================ + +5.1 LO: getting started with sage notebook (3) [madhu] +------------------------------------------------------- +* about sage + + ... +* starting the notebook server +* using the UI + + typesetting & print + + selecting language + - sage + - LaTeX + - python + + help + - sum( + - ? + +5.2 LO: getting started with symbolics (3) [amit] +-------------------------------------------------- +* symbolic expressions + + built-in constants & functions + + algebraic expressions, + + series + + integration, differentiation + + matrices +* symbolic functions + + defining +* simplification +* finding roots & factors +* substituting expressions +* output formats + +5.3 LO: using Sage (4) [punch] +------------------------------- +* ABCD + + Degree + - RBT - U +* Calculus + + limits + + differentiation + + integration + - indefinite + - definite + + piece-wise functions + + differential equations + + maxima, minima +* Linear Algebra + + Vectors and Matrices + - constructions + + Vector Operations + - linear combination + - dot + - cross + - pairwise + + Matrix Operations + - linear combination + - matrix multiplication + - inverse + - transpose + - adjoint + - rank + - determinant + - trace + - norm + + Solving equations + + Eigenvalues, eigenvectors +* Graph Theory +* Number Theory + +5.4 LO: using sage to teach (3) [nishanth] +------------------------------------------- +* @interact +* 2D, 3D graphics +* Graph Theory +* Share, Publish +* print + +5.5 LO: Assessment (3) [anoop] +------------------------------- +* 5 questions +* choice of exercises from one area + +6 Module 6: Python Language: Basics (12) +======================================= + +6.1 LO: basic datatypes & operators (4) [amit] +---------------------------------------------- +* int + + L, long +* float + + repr, str +* complex + + methods like imag, real +* boolean + + short circuit logic +* conversion functions +* sequence datatypes & mutability + + list available sequence datatypes + - string + - list + - tuple + + mutability + + conversion + + common stuff + - len + - in + - max, min, sum, sorted, reversed + - accessing individual elements + - slicing, striding + - containership + +6.2 LO: I/O (1) [nishanth] +-------------------------- +* print statement +* raw_input + +6.3 LO: conditionals (2) [Madhu] +-------------------------------- +* if, elif, else +* pass +* ternary operator + +6.4 LO: loops (2) [punch] +------------------------- +* while +* for +* pass, break, continue + +6.5 LO: Assessment (3) [Anoop] +------------------------------ +* 10 Questions +* One of collatz or armstrong numbers + + +7 Module 7: Python Language: Datastructures (14) +================================================ + +7.1 LO: manipulating lists (3) [Madhu] +-------------------------------------- +* concatenation +* slicing +* striding +* .sort +* sorted +* .reverse +* reversed + +7.2 LO: manipulating strings (2) [punch] +---------------------------------------- +* upper, lower, +* replace +* slicing +* [::-1] +* reversed +* palindrome check + +7.3 LO: getting started with tuples (2) [nishanth] +-------------------------------------------------- +* immutability +* tuple packing, unpacking + + a, b = b, a +* accessing individual elements +* slicing, striding + +7.4 LO: dictionaries (2) [anoop] +-------------------------------- +* empty +* filled +* accessing via keys +* .values(), .keys() +* in +* iteration + +7.5 LO: sets (2) [nishanth] +--------------------------- +* Operations + + Union + + Intersection + + Complement + + Symmetric Difference +* Containership +* Subset +* len + +7.6 LO: Assessment (3) [amit] +----------------------------- +* 10 Questions +* Anagrams for sets and dictionaries +* A problem for lists and strings + +8 Module 8: Python Language: Advanced (16) +========================================== + +8.1 LO: getting started with functions (3) [nishanth] +----------------------------------------------------- +* defining function +* arguments +* docstrings +* return values + + can return multiple values +* code reading exercises + +8.2 LO: advanced features of functions (3) [punch] +-------------------------------------------------- +* default arguments +* keyword arguments +* built-in functions show off + +8.3 LO: using python modules (3) [anoop] +---------------------------------------- +* executing python scripts from command line +* import +* scipy +* pylab +* sys +* STDLIB modules show off + +8.4 LO: writing python scripts (2) [nishanth] +---------------------------------------------- +* importing our own modules +* if __name__ == '__main__' + +8.5 LO: testing and debugging (2) [amit] +---------------------------------------- +* Types of errors and exceptions +* Strategy for debugging + + Using print + +8.6 LO: Assessment (3) [punch] +------------------------------ +* 10 Questions +* Find four digit numbers whose digits are all even +* Write a script to use methods from pylab (like plot, show and other commands) and execute it as a stand-alone script + +