Logo     Photos

12 Member(s) Online

PyCon is a 100%
Volunteer-run
Conference Organized by
Members of the
Python
Community.

Site/Questions etc ?

Valid XHTML 1.0 Transitional

Valid CSS!

PyCon 2007 is sponsored
in part by
Zenoss - The Next Step in IT Management Google Microsoft .Net Framework EWT LLC Enthought, Inc. ITA Software
Platinum
Wingware Python IDE Accense Technology, Inc.
Gold
Quality Vision International Inc. MerchantCircle Big Nerd Ranch, Inc. High Speed Rails Canonical ZeOmega -- Open Minds' Open Solutions Open Source Applications Foundation CCP Games Tummy.com - we do linux AG Interactive ActiveState - Dynamic Tools for Dynamic Languages
Silver
Python411 Podcast Series O'Reilly Media, Inc.
Media

Tutorials Offered in the Morning of Tutorial Day

AM1: Django Tutorial

Instructor: Jacob Kaplan-Moss (jacob at jacobian dot org)

Class Description:

Django is a high-level web development framework designed for rapid development of database-backed web sites.

This tutorial is designed to introduce developers to Django. It will take attendees from a blank screen to a fully-functional web application. I'll cover:

  • The philosophies and culture behind Django.
  • Designing data models, and using the automatic admin interface.
  • Writing public-facing views.
  • Developing templates that designers can use to make sites pretty.
  • Using generic views to speed up many common development tasks.
  • Using Django with other tools from the Python ecosystem (such as external template engines, image/PDF generation, etc.).

Along the way, I'll discuss some of the best practices that Django developers should follow (and try to point out some pitfalls).

Class Outline

Intended Audience:

Since this is the Python Conference, I expect that attendees will have at least a passing familiarity with Python. However, anyone even those without any Python knowledge should be able to follow along to a great extent.

In a similar vein, I expect that most attendees will have some experience doing web development (in Python or another language). I'll explain many of the common web development problems that Django is designed to solve, but I won't spend much time looking at alternatives or prior art.

I don't expect attendees to have any experience with Django, however; the tutorial will start from the very beginning.

Instructor Qualifications:

I gave a Django tutorial similar to this one OSCON this July. The slides and handouts from OSCON can be found at http://toys.jacobian.org/presentations/2006/oscon/tutorial/; they should give a pretty good idea of the type of tutorial.

AM2: Introduction to Web Application Development with TurboGears

Instructor: Mark Ramm-Christensen (mark dot ramm at gmail dot com)

Class Description:

The class is aimed at TurboGears beginners, and would cover the basics of building an application with TurboGears. SQLObject, CherryPy, Kid and projects used in TurboGears will also be covered.

Both TurboGears classes will be a mix of instructor-led training, and participatory learning. I'm convinced that people learn by doing, and so I want people to get their hands on some real code as quickly as possible.

Take-away presentation materials will be provided to all participants. These materials will go into more depth on some subjects than we were able to cover in the three hour tutorial, and will be designed to help the participants to take what they learned in the tutorial to the next level.

Class Outline

Intended Audience:

Beginning to intermediate Python developers interested in web application development.

Instructor Qualifications:

I'm the author of "Rapid Web Applications with TurboGears" and I've previously taught a 12 week TurboGears course for open source developers in SE Michigan. I've done nearly two dozen speaking engagements, and two web development classes in the last 18 months.

AM3: Using the DB API

Instructor: Steve Holden (steve at holdenweb dot com)

Class Description:

This tutorial will introduce the student to the relational model and SQL. It will present the Python DB API and show how it can be used in a relatively platform-independent way to maintain source portability of Python database applications.

Class Outline

Intended Audience:

Intermediate Python programmers with a desire to understand how to build cross-platform database applications.

Instructor Qualifications:

AM4: Faster Python Programs through Optimization and Extensions I

This is a two-part class either of which may be taken separately. Each part counts as one tutorial. Check the class outlines to see how the topics are split out to decide which to take.

Instructor: Mike Müller (mmueller at python-academy dot de)

Class Description:

Although Python programs may be slow for certain types of tasks, there are many different ways to improve performance. This tutorial will demonstrate some of them. Examples for algorithmic improvements are given that significantly improve performance. Furthermore, several ways to speed up Python will be introduced including Numpy, Psyco, Pyrex, ctypes, C extension writing by hand, SWIG, Jython as well as f2py.

One computationally-intensive example will be used with all these techniques. Run time measurements will be carried out to compare performance gains.

The objectives of this course are to give the participants an overview over available techniques, to enable them to apply these techniques, and to give them the ability to decide what might be the optimal solution for a certain performance problem.

Participants are strongly recommended to bring laptops because all techniques are introduced with examples and exercises.

All participants will be provided with:

  • sample code for all topics on CD along with current versions of all used tools
  • handout with about 25 pages formulated text (no slide-printouts)
  • all examples are explained in details in the handout

This is an interactive, hands-on course.

Class Outline

Intended Audience:

Python programmers with intermediate knowledge. Some knowledge in other languages such as C, C++, Java or Fortran is of advantage but not required.

Instructor Qualifications:

I give commercial courses about Python on a regular basis in German (http://www.python-academy.de) and English (http://www.python-academy.com). I offer two-day and three-day open courses as well as tailor-made customer courses. Customers that ordered courses include large companies from across Europe.

I also gave talks at EuroPython 2006 and 2004 as well as at the Scipy Workshop 2003. Furthermore, I gave short courses and numerous talks at various scientific conferences in Germany and the USA.

AM5: Python 101

Instructor: Walter Martin (wemartin at unch dot unc dot edu)

Class Description:

Everyone attending should have a laptop with some version of Python loaded so they can follow along and try the examples presented. Each topic will include a short exercise (5 minutes) that will be discussed and several major examples will be analyzed in detail. Source code for the major examples along with sample output will be available on CD.

Class Outline

This tutorial is an expansion of an invited faculty seminar on Python I presented last August at the National University of Western Samoa.

Intended Audience:

Non-Python programmers wanting an introduction to the language, programmers with one or more languages under their belts wanting to come up to speed on python syntax and functionality.

Instructor Qualifications:

I have eight years teaching experience at Monroe Community College, Rochester, NY where I was an Assistant Professor of Computer and Information Science. During my 11 years at SAS Institute I both developed software tools and did internal training at both the Cary, NC and Austin, TX offices. I am currently a senior systems analyst with the University of North Carolina Health Care System working with python/zope/plone. Academic degrees: BS, Chemistry, Clemson University; MS Computer Science, Rochester Institute of Technology.

I have forgotten more programming languages than I currently know.

AM6: How to Document a Python Open Source Project

Instructor: Tarek Ziadé (ziade dot tarek at gmail dot com)

Class Description:

Documentation plays a vital role in open sources projects. Well designed, it attracts new people into the project, help the users use it, and raises the quality of the code base and the team work. In other words, it builds the shared knowledge. An example code base will be provided and used for all exercises.

By the end of the tutorial, people should be able to integrate documentation in their development process, the same way they probably did one day with unit testing.

Class Outline

Student Preparation Guide

Intended Audience:

Non-programmers, beginning programmers, advanced users, core Python developers, etc.

Instructor Qualifications:

This tutorial is based on a talk I've made at EuroPython about zope-cookbook.org, and goes further by giving a complete set of practical methods that can help a team to create and maintain an up to date documentation with no pain.

AM7: Zope Component Architecture and zc.buildout

Instructor: Jim Fulton (jim at zope dot com)

Class Description:

This tutorial consists of two mini-tutorials. The first will present component-based development and the Zope Component Architecture: why, why not, and how.

The second discusses the new zc.buildout system, which is a tool for automating system assembly and for automating Python application assembly with eggs. To get the most from zc.buildout requires some knowledge of using and creating eggs. The mini tutorial will provide a lazy programmer's introduction to using and creating eggs.

Class Outline

Intended Audience:

Python developers.

Beginners to advanced programmers should benefit from the presentations.

The component-architecture mini tutorial is suitable for both Zope developers and people who have no interest in working with Zope. The Zope component architecture is usable and useful outside of Zope and, even if it isn't used, the ideas and concepts presented are relevant to most projects. Zope developers will gain insights that help them take advantage of the component architecture in their applications.

The buildout mini tutorial should be useful to any Python developer. zc.buildout is useful for people who need to assemble systems from parts. It is also useful to people who want to leverage Python egg technology but need more control than is provided by easy_install.

This class is lecture and demo, not hands-on.

Instructor Qualifications:

Jim Fulton is the Chief Technology Officer of Zope Corporation and leads the development of the Zope content management solution. He has more than 20 years experience in software development, including over 15 years with object-oriented software development techniques.

He has an M.S. in systems engineering from Case Western Reserve University, an M.S. in software systems engineering from George Mason University, and a B.S. in civil engineering from Case Institute of Technology.

Content Last Modified: January 12, 2007, at 07:43 AM