project/templates/about/tutorial.html
branch2011
changeset 447 f91c329e13b5
parent 358 c09beee32d9b
child 448 7167b896d8de
equal deleted inserted replaced
446:e98f6525c7b0 447:f91c329e13b5
    44 </ul>
    44 </ul>
    45 
    45 
    46 <h3 id="sec-4"><span class="section-number-3"></span>Coverage </h3>
    46 <h3 id="sec-4"><span class="section-number-3"></span>Coverage </h3>
    47 
    47 
    48 
    48 
    49 <h4 id="sec-1">Day 3 </h4>
    49 <!-- <h4 id="sec-1">Day 2 </h4> -->
    50 
    50 
    51 
    51 
    52 <ul>
    52 
    53 <li>
    53 <li>
    54 Sage (2 hr 30 min)
    54 	Jarrod Millman, Git/Github + NumPy/SciPy/MPL basics: 2 hrs
    55 <ul>
    55 	<ul>
    56 <li>
    56 		<li>Git/Github</li>
    57 getting started with Sage notebook (45 min) (<b>Prabhu</b>)
    57 		<li>NumPy and SciPy basics along with the most important Matplotlib commands.
    58 <ul>
    58 			This could be thought of as a quick refresher on the basic tools used in Python for scientific computing.
    59 <li>
    59 		</li>
    60 introduction
    60 	</ul>
    61 </li>
    61 </li>
    62 <li>
    62 
    63 starting the server
    63 <li>
    64 </li>
    64 	Emmanuelle Gouillart, Image processing: 2 hrs<br />
    65 <li>
    65 
    66 the UI
    66 <u>Image manipulation and processing using NumPy, SciPy and scikits-image</u>
    67 </li>
    67 
    68 <li>
    68 	<ul>
    69 getting help
    69 		<li>This tutorial will show a bag of basic recipes in order to efficiently
    70 </li>
    70 manipulate and process images in the form of NumPy arrays.
    71 <li>
    71 		</li>
    72 overview of what's available in Sage
    72 		<li>Target audience: scientists and engineers working with images
    73 <ul>
    73 		</li>
    74 <li>
    74 		<li>
    75 basic calculus
    75 		Prerequisites : being able to code Python scripts and use an
    76 </li>
    76  interactive Python shell + some knowledge of NumPy
    77 <li>
    77 		</li>
    78 basic algebra
    78 		<li>
    79 </li>
    79 		Software requirements: IPython, NumPy, SciPy, Matplolib, <a href="http://skimage.org">scikits-image</a>, and optionally sklearn
    80 <li>
    80 		</li>
    81 basic plotting 
    81 		<li>
    82 </li>
    82 		Topics covered
    83 </ul>
    83 		<ul>
    84 </li>
    84 			<li>I/O: how to open different image formats, how to open raw images, how to deal with very large raw files.</li>
    85 </ul>
    85 			<li>Basic visualization of images, and interaction with image data</li>
    86 </li>
    86 			<li>Transforming images: changing the size, resolution, orientation of an image; image filtering; image segmentation.</li>
    87 <li>
    87 			<li>Extracting information from images: measuring properties of segmented objects; image classification</li>
    88 symbolics &amp; calculus  &amp; basic plotting(1 hr) (<b>Bhanu</b>)
    88 		</ul>
    89 <ul>
    89 		<li>
    90 <li>
    90 		This tutorial will by no means be a course on digital image processing.It is rather a bag of tricks on how to 
    91 parametric plots
    91 		tinker with images, and how to use the goodies of Python/NumPy/SciPy to make this task easier. A large part 
    92 <ul>
    92 		of the talk will be devoted to hands-on exercises using the NumPy, SciPy 
    93 <li>
    93 		and Matplotlib modules. Some other modules will be mentioned during the 
    94 2D
    94 		tutorial for more advanced uses.
    95 </li>
    95 		</li>
    96 <li>
    96 		<li>The course materials are available <a href="http://scipy-lectures.github.com/advanced/image_processing/index.html">here</a></li>
    97 3D
    97 	</ul>
    98 </li>
    98 </li>
    99 </ul>
    99 
   100 </li>
   100 <li>
   101 </ul>
   101 Gael Varoquaux,   scikit-learn:  2 hrs<br />
   102 </li>
   102 <u>Machine learning with scikit-learn</u>
   103 <li>
   103 	<ul>
   104 linear algebra (30 min) (<b>Nishanth</b>)
   104 		<li>
   105 </li>
   105 		Introduction to machine learning and statistical data processing with the
   106 <li>
   106 		features in scikit-learn, and how to use it to solve real-world problems:
   107 Misc (15 min)
   107 		from handwritten digits classification to stock market prediction.
   108 <ul>
   108 		</li>
   109 <li>
   109 		<li>
   110 QA
   110 		Target audience :   Engineers and scientists using Python for scientific
   111 </li>
   111 		and numerical computing. No knowledge needed in statistical learning.
   112 </ul>
   112 		</li>
   113 </li>
   113 		<li>
   114 </ul>
   114 		Prerequisites: Being able to code scripts and function in Python. Basic
   115 </li>
   115 		knowledge of numpy and matplotlib.
   116 <li>
   116 		</li>
   117 Basic Plotting (using pylab) (1 hr 30 min) (<b>Fernando</b>)
   117 		<li>
   118 <ul>
   118 		Software requirements: IPython, scikits.learn, matplotlib.
   119 <li>
   119 		</li>
   120 getting started with ipython  
   120 		<li>
   121 </li>
   121 		Outline
   122 <li>
   122 			<ul>
   123 using the plot command interactively
   123 				<li>The settings: datasets, estimators, and the prediction problem.</li>
   124 </li>
   124 				<li>Regression and classification: Support Vector Machines, sparse regressions... Example: recognising hand-written digits</li>
   125 <li>
   125 				<li>Model selection: choosing the right estimator, and the right parameters</li>
   126 embellishing a plot
   126 				<li>Clustering: KMeans, Affinity Propagation. Example: finding structure in the stock market.</li>		
   127 </li>
   127 			</ul>
   128 <li>
   128 		
   129 saving plots
   129 		
   130 </li>
   130 		</li>
   131 <li>
   131 	</ul>
   132 multiple plots
   132 </li>
   133 </li>
   133 <li>
   134 <li>
   134 Ole Nielsen: Mapping and Geoprocessing with Python, 2 hrs
   135 saving to scripts and running them (from ipython)
   135 	<ul>
   136 </li>
   136 		<li>
   137 <li>
   137 		Putting information on a map and analyzing spatial data are fundamental to a 
   138 running the same thing in sage notebook 
   138 		wide range of areas such as navigation, working with climate or geological data, 
   139 <ul>
   139 		disaster management, presentation of modelling results, demographics, social networking etc.
   140 <li>
   140 		</li>
   141 change language to python, import pylab, simple plot, savefig
   141 		<li>
   142 </li>
   142 		This tutorial will give a practical introduction to tools and techniques 
   143 </ul>
   143 		available for processing spatial information and, through a few hands-on 
   144 </li>
   144 		exercises, give the participants a sense of how to manipulate and visualise 
   145 </ul>
   145 		spatial data using Python. Topics covered include reading and writing 
   146 </li>
   146 		of important data formats for both raster and vector data, looking at the layers, 
   147 <li>
   147 		awareness of issues with datums and projections, calculating centroids of polygons, 
   148 Plotting Experimental Data (1 hr) (<b>Puneeth</b>)
   148 		calculation of distance between points on the surface of Earth, interpolation from raster 
   149 <ul>
   149 		grids to points etc. The tutorial has been developed for Ubuntu Linux and will provide source code, 
   150 <li>
   150 		tests and data for this platform. However, the content and messages should be general and apply to any platform.
   151 plotting points with lists
   151 		</li>
   152 <ul>
   152 		<li>
   153 <li>
   153 		I assume that participants know how to write and run 
   154 basic lists
   154 		Python scripts and would suggest you install qgis as well as 
   155 <ul>
   155 		the python dependencies numpy, matplotlib and gdal on your 
   156 <li>
   156 		laptop. I don't assume any previous knowledge of mapping or Geographic Information Systems (GIS).		
   157 indexing
   157 		</li>
   158 </li>
   158 		<li>
   159 <li>
   159 		If you have some spatial data you want to manipulate in Python feel free to bring it along and grab me during a lunch break.
   160 appending
   160 		</li>
   161 </li>
   161 	</ul>
   162 </ul>
   162 </li>
   163 </li>
   163 
   164 </ul>
   164 <li>
   165 </li>
   165 Eric Jones/Puneeth/Pankaj: Traits + Traits UI. 2 hrs. 
   166 <li>
   166 	<ul>
   167 loading data from files using loadtxt
   167 		<li>
   168 </li>
   168 		Enthought’s traits package provides for a powerful object model which 
   169 <li>
   169 		provides a host of useful functionality with a clean and expressive syntax.  
   170 using for loop with lists
   170 		It is an open source library and forms the basis of the Enthought Tool Suite and many of 
   171 <ul>
   171 		Enthought’s internal commercial projects.  In this tutorial we will cover the basics of using 
   172 <li>
   172 		Traits along with the UI library TraitsUI which makes it very easy to build powerful and 
   173 pendulum example
   173 		interactive, user interfaces using Traits.
   174 </li>
   174 		</li>
   175 </ul>
   175 	</ul>
   176 </li>
   176 </li>
   177 </ul>
   177 
   178 </li>
   178 <li>
   179 </ul>
   179 Prabhu Ramachandran and  Gael Varoquaux, Mayavi for 3D visualization: 2 hrs
   180 
   180 
   181 
   181 	<ul>
   182 
   182 		<li>
   183 
   183 		At the end of this tutorial attendees will learn how to visualize numpy
   184 
   184 		arrays using Mayavi's mlab interface.  They will also learn enough about
   185 
   185 		mayavi to be able to create their own simple datasets and visualize
   186 
   186 		them.  If this tutorial follows one on traits, then attendees will learn
   187 <h4 id="sec-2">Day 4 </h4>
   187 		how easy it is to embed 3D visualization in their own application UIs
   188 
   188 		(provided they are written in wxPython or PyQt).
   189 
   189 		</li>
   190 <ul>
   190 		<li>
   191 <li>
   191 		In this tutorial, we first provide a rapid overview of Mayavi_ and its
   192 Arrays (1 hr) (<b>Perry</b>)
   192 		features.  We then move on to using Mayavi via IPython_ and mlab.  This
   193 <ul>
   193 		is done in a hands-on fashion and introduces the audience to visualizing
   194 <li>
   194 		numpy arrays and the basic mayavi visualization pipeline.  We then
   195 Why use arrays
   195 		introduce the audience to the basic objects and data sources used in
   196 <ul>
   196 		Mayavi.  We end with an example of creating custom dialogs using Traits
   197 <li>
   197 		and embedding 3D visualization in these dialogs with Mayavi.
   198 finding sine of a list of million numbers
   198 		</li>
   199 </li>
   199 		<li>
   200 </ul>
   200 		Packages required
   201 </li>
   201 			<ul>
   202 <li>
   202 				<li><a href="http://code.enthought.com/projects/mayavi">Mayavi</a></li>
   203 getting started with arrays
   203 				<li><a href="http://ipython.scipy.org">IPython</a></li>
   204 </li>
   204 				<li><a href="http://code.enthought.com/projects/traits">Traits</a></li>
   205 <li>
   205 				<li>numpy, scipy</li>
   206 accessing parts of arrays
   206 			</ul>
   207 <ul>
   207 		</li>
   208 <li>
   208 	</ul>
   209 1d slicing 
   209 </li>
   210 </li>
   210 
   211 <li>
   211 
   212 1d striding
   212 <li>
   213 </li>
   213 Pankaj Pandey and Prabhu Ramachandran, An introduction to Cython: 1 hrs
   214 <li>
   214 	<ul>
   215 2d slicing
   215 		<li>
   216 </li>
   216 		At some level, Cython (http://www.cython.org) can be thought of a Python to C compiler.  
   217 <li>
   217 		It allows someone to write extension modules in a language very similar to Python and 
   218 2d striding
   218 		therefore makes it rather easy to write C-extensions.  In this tutorial we will cover 
   219 </li>
   219 		the basics of building extension modules with Cython.
   220 </ul>
   220 		</li>
   221 </li>
   221 		<li>
   222 <li>
   222 			Package requirements: You will require to have Cython, the 
   223 lena example of above
   223 			Python development headers and a working C-compiler to run the hands-on exercises.
   224 </li>
   224 		</li>
   225 <li>
   225 	</ul>
   226 element wise operations
   226 </li>
   227 </li>
   227 
   228 <li>
   228 <li>
   229 matrices
   229 Puneeth Chaganti, Sage introduction/tutorial: 1 hr.
   230 <ul>
   230 	<ul>
   231 <li>
   231 		<li>This tutorial will feature a demonstration and a brief review of some of the capabilities of the <a href="http://www.sagemath.org">Sage notebook</a>.</li>
   232 operations on matrices like det, inv, norm.
   232 	</ul>
   233 </li>
   233 </li>
   234 </ul>
   234 
   235 </li>
   235 <li>
   236 </ul>
   236 Mateusz Paprocki,  SymPy:  2 hrs<br />
   237 </li>
   237 <b>Details awaited</b>
   238 <li>
   238 </li>
   239 Scipy (1 hr 30 min) (<b>John</b>)
       
   240 <ul>
       
   241 <li>
       
   242 least square fit
       
   243 </li>
       
   244 <li>
       
   245 Roots
       
   246 <ul>
       
   247 <li>
       
   248 introduction to functions
       
   249 </li>
       
   250 </ul>
       
   251 </li>
       
   252 <li>
       
   253 Solving Equations
       
   254 </li>
       
   255 <li>
       
   256 ODE
       
   257 <ul>
       
   258 <li>
       
   259 revisiting functions
       
   260 </li>
       
   261 </ul>
       
   262 </li>
       
   263 <li>
       
   264 FFT
       
   265 </li>
       
   266 </ul>
       
   267 </li>
       
   268 <li>
       
   269 Python Language: Basics (1 hr) (<b>Asokan</b>)
       
   270 <ul>
       
   271 <li>
       
   272 basic data-types 
       
   273 <ul>
       
   274 <li>
       
   275 strings
       
   276 </li>
       
   277 </ul>
       
   278 </li>
       
   279 <li>
       
   280 Operators
       
   281 </li>
       
   282 <li>
       
   283 I/O
       
   284 </li>
       
   285 <li>
       
   286 conditionals
       
   287 </li>
       
   288 <li>
       
   289 loops
       
   290 <ul>
       
   291 <li>
       
   292 while
       
   293 </li>
       
   294 <li>
       
   295 for loop and its usage with range
       
   296 </li>
       
   297 </ul>
       
   298 </li>
       
   299 </ul>
       
   300 </li>
       
   301 <li>
       
   302 Python Language: Data structures (1hr 30 min) (<b>Asokan</b>)
       
   303 <ul>
       
   304 <li>
       
   305 manipulating lists
       
   306 </li>
       
   307 <li>
       
   308 dictionaries
       
   309 </li>
       
   310 <li>
       
   311 manipulating strings
       
   312 </li>
       
   313 <li>
       
   314 getting started with tuples
       
   315 </li>
       
   316 <li>
       
   317 sets
       
   318 </li>
       
   319 <li>
       
   320 examples
       
   321 </li>
       
   322 </ul>
       
   323 </li>
       
   324 </ul>
       
   325 
       
   326 
       
   327 
       
   328 
       
   329 
       
   330 
       
   331 
       
   332 <h4 id="sec-3">Day 5 </h4>
       
   333 
       
   334 
       
   335 <ul>
       
   336 <li>
       
   337 Python Language: Advanced (1 hr) (<b>Madhu</b>)
       
   338 <ul>
       
   339 <li>
       
   340 functions
       
   341 <ul>
       
   342 <li>
       
   343 defining functions
       
   344 </li>
       
   345 <li>
       
   346 keyword arguments and default arguments
       
   347 </li>
       
   348 </ul>
       
   349 </li>
       
   350 <li>
       
   351 using python modules
       
   352 </li>
       
   353 <li>
       
   354 writing re-usable python scripts
       
   355 </li>
       
   356 <li>
       
   357 PEP-8?
       
   358 </li>
       
   359 </ul>
       
   360 </li>
       
   361 <li>
       
   362 More Numpy? (broadcasting, indexing tricks&hellip;) (1hr) (<b>Stefan</b>)
       
   363 </li>
       
   364 <li>
       
   365 Mayavi (1 hr) (<b>Prabhu</b>)
       
   366 </li>
       
   367 <li>
       
   368 Cython (1 hr) (<b>Stefan</b>)
       
   369 </li>
       
   370 <li>
       
   371 Version Control (Hg/Git) (15 min) (<b>Madhu</b>)
       
   372 </li>
       
   373 <li>
       
   374 ReST &amp; Scipy/Numpy Documentation Editor (45 min) (<b>Stefan</b>)
       
   375 </li>
       
   376 </ul>
       
   377 
       
   378 
       
   379 <p>Any participants using their own laptops should have the required
       
   380 software installed on their machines, before coming to the venue of
       
   381 the tutorials. The installation instructions are available <a href="http://fossee.in/installation-how-to">here</a>.
       
   382 </p>
       
   383 
       
   384 
   239 
   385 <h3 id="sec-5"><span class="section-number-3"></span>Methodology </h3>
   240 <h3 id="sec-5"><span class="section-number-3"></span>Methodology </h3>
   386 
   241 
   387 <ul>
   242 <ul>
   388 <li>
   243 <li>
   394 <li>
   249 <li>
   395 We shall be conducting quizzes during the course of the workshop to evaluate the degree to which the objectives have been accomplished.
   250 We shall be conducting quizzes during the course of the workshop to evaluate the degree to which the objectives have been accomplished.
   396 
   251 
   397 </li>
   252 </li>
   398 </ul>
   253 </ul>
   399 
       
   400 <p>Laptops can be brought by participants, and additional laptops/computers can be provided for use for those required. Charging points will be available.
       
   401 </p>
       
   402 <p>
   254 <p>
   403 As far as installations go, you would require the following:
   255 As far as installations go, you would require the following:
   404 </p>
   256 </p>
   405 <ul>
   257 <ul>
   406 <li>
   258 <li>