outline_and_allocations.rst
changeset 181 6c460c0cb353
child 444 1aa91f8d8d59
equal deleted inserted replaced
180:cb005c033fdb 181:6c460c0cb353
       
     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 * print 
       
   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 
       
   450 8.1 LO: getting started with functions (3) [nishanth]
       
   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