Skip to content

PyBCPyBc

Katy Huff edited this page Jan 25, 2012 · 5 revisions

Python Bootcamp

January 12-14, 2010 - Room 1106 of the Mechanical Engineering Building

Registration for the python bootcamp is over. Thanks for coming! Please peruse the notes to see what you missed or remember what you learned.

Questions? Email hacker.within.admin at gmail.com

The Hacker Within, in collaboration with the American Nuclear Society UW Student Chapter, is pleased to offer a free three day workshop on the Python programming language. There will be four one hour sessions each day. The final three sessions of the bootcamp will be composed of breakout sessions in order to cover more specific topics. The bootcamp will take place in the Mechanical Engineering Building, 1513 University Ave. The bootcamp will include several hands-on examples, so participants must bring their own laptops.

The bootcamp has an associated [http://hackerwithin.org/cgi-bin/hackerwithin.fcgi/raw-attachment/wiki/PyBcPlanning/Publicity/THW_PyBc_Flyer.png flyer]. Please distribute it to anyone who might be interested.

#!comment

Image(wiki:PyBcPlanning/Publicity:THW_PyBc_Flyer.png, 20%)

What is Python and why should I learn it?

Wikipedia has a good description of Python: "Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python claims to '[combine] remarkable power with very clear syntax', and its standard library is large and comprehensive." I have listed what I consider to be a few of the main reasons to learn Python:

  • Python and many of its associated libraries are free
  • Python is a good ''general purpose'' programming language - i.e. there is isn't much you can't do in Python
  • Python's syntax is easy and powerful
  • Python is an up and coming language - many projects are adopting python as their language of choice

If you want to learn Python, then the bootcamp is a great place to start. Not only will we teach the basics of the language, but you'll also get the opportunity to build interdisciplinary contacts by meeting students from other departments.

The Python Boot Camp is Beginning on Tuesday January 12

Please arrive at around 10:00 AM at room 1106 of the Mechanical Engineering Building for registration. The first talk will be given at 10:15 AM. Room 1106 is immediately on your left if you enter Mechanical Engineering Building from the Engineering Drive entrance.

Remember that you will need a laptop capable of running the required software to participate.

Go [wiki:Session01 here] for software installation instructions for Windows, Mac and Linux computers. Due to the large number of participants and the large downloads required to install the software, we are asking participants to attempt the installation themselves. If you do not want to install the software on your own laptop or do not own one, you may borrow Windows and Mac laptops for free from the UW libraries. Go [http://ecs.library.wisc.edu here] for more information.

Bootcamp Outline

The boot camp is going to be divided into three segments:
1. Python Installation/Basics 1. Python for Scientific Computing 1. Advanced Python and breakout sessions

A three day outline is shown below. Each day is broken into four one hour sessions. Each session is followed by a break or lunch.

Day 1 Will begin with an introductory talk at 10:15 AM. Please arrive around 10:00 AM for registration.

|| || Day 1 - Python Basics || Day 2 - Scientific Python || Day 3 - Advanced Python || || 10:30 - 11:30**|| Installation || Numpy || Working with Python || || **12:00 - 1:00 || Basic Data Structures || Plotting with Matplotlib || Breakout sessions 1 || || 1:00 - 2:00 ||**Lunch** || Lunch || Lunch || || 2:00 - 3:00 || Functions || Scipy || Breakout sessions 2 || || 3:30 - 4:30 || Classes, Modules, Packages || Statistics with rpy2 || Breakout sessions 3 ||

|| ||**Multilanguage Programming**||**Python on the Web**|| Python for Programmers || Breakout Session 1, 12:00 - 1:00 || [wiki:f2py f2py] / [wiki:PyBc/swig SWIG]] || Breakout Session 2, 2:00 - 3:00 || [wiki:Cython Cython] / [wiki:PyBc/Cpython C/Python]] || Breakout Session 3, 3:30 - 4:30 || [wiki:PyTables PyTables] / [wiki:PyBc/PyTaps PyTaps]]

#!html

<h2 style="color: #bb0000">Tuesday, January 12th - Installation and Python Basics</h2>

The first day will simply involve installing python and any required packages. We will then cover some basic syntax.

[wiki:Session01 Session 1: Installation, 10:30 - 11:30]

We will teach you how to install Python on a variety of platforms, including OSX and Windows if you do not already have it. If you already have python installed and are comfortable with your installation, then you can use this time to help out or meet others.

During this session, you will learn how to setup and run simple Python scripts. You will also learn how to manipulate some of the basic data types in Python. We'll start with numeric data types and strings and will move onto lists, tuples, and dictionaries.

Functions in Python are really powerful. You will learn how to call and write functions to get the most mileage out of them using things like lambda expressions, default arguments, keyword arguments and more.

In this session, you'll learn the basics of writing your own classes and modules in python.


#!html

<h2 style="color: #bb0000">Wednesday, January 13th - Scientific Computing with Python</h2>

The second day topics will teach participants how to use Python for scientific computing. We will introduce a few must-have packages during this day.

[wiki:Session05 Session 5: Numpy, 10:30 - 11:30]

We will introduce the Numpy package during this session. Numpy allows users to create really powerful and fast multi-dimensional arrays - a must have for writing speedy scientific applications. It also contains easy to use constructs for linear algebra and discrete Fourier transforms.

[wiki:Session06 Session 6: MatPlotLib, 12:00 - 1:00]

Generating beautiful graphs is obviously an important part of science. Fortunately, the !MatPlotLib library is an extremely easy to use and full featured plotting package for Python and you will learn how to use it in this session.

[wiki:Session07 Session 7: Scipy, 2:00 - 3:00]

There are other common mathematical operations that are really important, such as evaluating special functions and performing interpolation. During this session you will learn about the Scipy package which provides this functionality.

This session will teach you about how to perform statistical calculations on datasets in Python. We will focus on using the RPy2 package to using the R statistics language from within python.


#!html

<h2 style="color: #bb0000">Thursday, January 14th - Advanced Python and Breakout sessions</h2>

The final day of the boot camp will begin with covering some advanced Python syntax. The last three sessions will be spent on breakout sessions where a number of speakers will present simultaneously. Participants can go to whichever presentation seems most interesting to them. The breakout sessions are broken into three "tracks" which focus on a different area.

During this session, the members of the THW Python team will share some of their Python work flow tips and tools.

Session 10: Breakout Session 1, 12:00 - 1:00

Session 11: Breakout Session 2, 2:00 - 3:00

Session 12: Breakout Session 3, 3:30 - 4:30

#!html <h2 style="color: #bb0000">Finally - Your Feedback </h2>

Finally, if you attended the bootcamp, we hope you can find the time to fill out the feedback form at [http://python.hackerwithin.org/feedback python.hackerwithin.org/feedback].


Image(wiki:PyBcPlanning/Publicity:Logo-with-Disclaimer-Small.jpg)