The tutorials team is pleased to announce that the PyCon 2012 tutorials have officially been selected and announced. The tutorials will be presented on the two days prior to the main conference - March 7th and 8th.
Each year we struggle to find the best selection of tutorials that will benefit the wider Python community. We only have a few slots, so we want to find tutorials that hit the sweet spot - excellent instructors, timely material, and broad interest. Making the selection was especially difficult this year due to the amazing array of tutorials proposed - and we are grateful for each person who submitted a proposal, even those we regrettably couldn't accept.
Each tutorial was reviewed by a panel of independent reviewers, followed by ten to fifteen hours of meetings where we discussed every proposal and made the hard choices of which tutorials we thought would best serve PyCon and the attendees. It was worth it, though; this year's tutorials present an astounding array of expertise for attendees to enjoy.
We have a new feature this year - Tutorial Tracks. Each year we notice that there are themes in the topics proposed, and we try to schedule accordlingly. This year, though, we have actually arranged a number of multi-session Tutorial Tracks where we are asking the instructors to coordinate their material to present an intensive one or two-day course focused on a particular subject. Tutorial tracks will be presented as a set of two tutorials taught sequentially on one day, or a set of four on both days (Wednesday and Thursday).
Our first two tracks deal with the fast-growing area of data science. If you want to hone your data-modeling chops across a number of domains, these tracks are for you:
Data Analytics I
- Bayesian statistics made (as) simple (as possible) - Allen Downey
- Statistics is the first tool of the data scientist. Allen brings his considerable expertise as the author of "Think Stats: Probability and Statistics for Programmers" to help programmers understand and express statistical models, in particular the Bayesian statistics at the heart of many applications.
- Tutorial: Data analysis in Python with pandas - Wes McKinney
- Wes is the lead developer of Pandas - a Python package known for its fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. Pandas is helps programmers do practical, real world data analysis in Python.
- Social Network Analysis with Python - Maksim Tsvetovat
- Social network data permeates our world - yet many people don't know what to do with it. Maksim uses the approaches developed in his book "Social Networks for Startups" to introduce both theory and practice of social network analysis - gathering, analyzing and visualizing data using Python and other open-source tools.
- Introduction to Interactive Predictive Analytics in Python with scikit-learn - Olivier Grisel
- Once you have your data, it is time to start teaching the computer how to understand it - and scikit-learn makes machine learning accessible to non-specialists while still providing the power of NumPy and SciPy. As lead developer of scikit-learn, Olivier bridges the gap between specialists and programmers to bring a wide range of state-of-the-art machine learning algorithms to your fingertips.
Data Analytics II
- IPython in-depth: high-productivity interactive and parallel python - Fernando Pérez with Min Ragan-Kelley, Brian E. Granger
- IPython provides a rich and powerful set of tools aimed at maximizing developer productivity with Python while using the language interactively. The lead developers of IPython will show how to use IPython in different ways, as: an interactive shell, an embedded shell, a graphical console, a network-aware VM in GUIs, a web-based notebook with code, graphics and rich HTML, and a high-level framework for parallel computing
- Graph Analysis from the Ground Up - Van Lindberg
- Van Lindberg is in love with graphs - and by the end of this tutorial, attendees will be too. Graphs can be used to express and solve a number of very common problems easily and elegantly. This is a from-the-ground up working session; by the end, attendees will have the tools and experience to model and analyze problems on their own.
- Plotting with matplotlib - Mike Müller
- When it comes to plotting with Python many people think about matplotlib. It is widely used and provides a simple interface for creating a wide variety of plots from very simple diagrams to sophisticated animations. Mike is one of our favorite instructors, year after year, and he brings his touch to data visualization and plotting.
- Introduction to NLTK - Jacob Perkins
- So much of today's data is text based - web pages, tweets, even "structured" data in databases frequently contains further meaning than can be unlocked using natural language processing. Jacob, author of "Python Text Processing with NLTK 2.0 Cookbook," shows how to apply NLTK to your data to discover new meaning.
High Performance Computing
Our second track is focused on a subject near to many programmers hearts - performance. Especially when dealing with the large and fast-moving environment on the Internet today, speed matters.
- Faster Python Programs through Optimization - Mike Müller
- This is one of the most consistent favorites at PyCon. Mike walks through profiling and optimization - finding the spots where algorithmic or implementation tweaks will do the most good. He then shows how different data types or different implementations can dramatically speed up your code.
- How to get the most out of your PyPy - Maciej Fijalkowski with Alex Gaynor, Armin Rigo
- One of the most promising new developments in the Python world is the evolution of the PyPy interpreter into a fully JITted speed demon. In this tutorial, three core developers from PyPy will show you how to take advantage of PyPy's capabilities.
- High Performance Python I - Ian Ozsvald
- High Performance Python II - Travis Oliphant
- These tutorials are for when you absolutely need to go as fast as possible. Picking up where the other tutorials left off, Ian and Travis' tutorials show how NumPy, Psyco, Weave, f2py, GPU-based computing, and similar tools can eke out every bit of performance out of your machine.
Our next track focuses on Django - on of, if not the most popular web development framework in the Python world.
- Introduction to Django - Chander Ganesan
- Chander's tutorial covers the fundamentals of development with Django, including generating a data model, dealing with settings and deployment, and putting together a simple web site using the framework. It is just the thing for those just getting started with Django.
- Django in Depth - James Bennett
- James is part of Django's core team and the release manager - there is nobody better to take attendees on a walking tour of Django's deepest components. If you have ever wondered why or how Django does something, this is your chance to learn.
Core Python (1 & 2 on Wednesday)
Continuing with a long tradition, we have excellent beginning, intermediate, and advanced instruction in core Python available at PyCon. Based on attendee feedback, this year we have deeper coverage of early intermediate Python - moving beyond the basics into familiarity.
- Hands-on Beginning Python - Matt Harrison
- Hands-on Intermediate Python - Matt Harrison
- Matt was praised last year for his clear and concise explanations of core Python. These tutorials, from the ground up and on to intermediate Python, will be intensive and hands-on.
- Python Epiphanies - Stuart Williams
- Stuart returns this year with Python Epiphanies - an intermediate course focused on helping programmers move past the initial plateau and become incredibly productive. This tutorial will deconstruct frequent incorrect assumptions about Python and give programmers the global view of Python needed to really excel.
- Advanced Python I and II - Raymond Hettinger (a track all it's own!)
- A runaway success last year, Raymond's advanced Python courses show how the tools built into the Python interpreter or included in the standard library can be combined to solve difficult problems clearly and Pythonically. Raymond's deep insight into Python will leave you astounded - and a better programmer.
In addition to these explicit Tutorial Tracks, we have an amazing array of tutorials addressing a number of subjects:
- Introduction to Game Development - Richard Jones with Katie Cunningham
- This tutorial will walk the attendees from some introductory game development theory (what makes a good game) and through development of a simple game (how to make a good game) with time left over for some experimentation and exploration of different types of games.
- Making and understanding music with Python and a little bit of Math - Pedro Kroger
- Are you interested in learning more about music but have found most material to be kind of patronizing or to present things magically instead of logically? The good news is that much of music can be understood with programming and math, two things you're already good at! In this hands-on workshop you'll learn some elements of music from a (Python) programmer's perspective.
- Developing custom PyQt widgets and graphical interfaces efficiently. - Luis Artola
- PyQT is the leading cross-platform GUI toolkit, and it has two excellent bindings to Python. Luis' advanced PyQT tutorial will show you how to leverage the power of QT to build beautiful and functional interfaces.
- Writing a Pyramid application - Carlos de La Guardia
- A number of complementary web development toolkits have coalesced into Pyramid, a new(er) framework that has a lot of history behind it. Interested in moving beyond Django, or concerned that Django might not be a good fit for your application? This tutorial will help.
- The real-time web with co-routines - John Anderson
- Web applications need to be fast and interactive - calling for a different kind of backend. Learn how to build fast and interactive web applications using Redis/ZeroMQ, Socket.IO, and GEvent while maintaining good test coverage.
- Introduction to Event Driven Programming Using Twisted - Jean-Paul Calderone
- Twisted is one of the most performant and flexible frameworks around - but event and callback-driven programming requires programmers to reason about events in a way that is a bit... twisted. JP detangles event-driven programming into a understandable and useful series of abstractions.
- Web scraping: Reliably and efficiently pull data from pages that don't expect it - Asheesh Laroia
- A highly anticipated return from last year, Asheesh shows you how to scrape the web efficiently and nicely. In this tutorial, you'll learn how to parse those pages and when to apply advanced techniques that make scraping faster and more stable.
- Optimize Performance and Scalability with Parallelism and Concurrency - Bob Hancock
- Sometimes, you need to multitask - and Bob will show you how to do it. From how the operating system handles your requests through design principles on how to use concurrency and parallelism to optimize your program's performance and scalability.
- Making interactive maps for the web - Zain Memon
- When asked to display geodata, most developers decide to put some big red markers on an embeddable Google Map and call it a day. If you're interested in creating maps that are more beautiful, more interactive, and more usable, this tutorial is for you.
- SQL for Python Developers - Brandon Rhodes
- Relational databases are often the bread-and-butter of large-scale data storage, yet they are often poorly understood by Python programmers. (Quick - tell me the different between a LEFT join and a RIGHT join). Brandon's tutorial takes what you already know about Python programming, and advances into a new realm: SQL programming and database design.
- MongoDB and Python - Rick Copeland with Bernie Hackett
- This intermediate-level class will teach you techniques using the popular NoSQL database MongoDB, its driver PyMongo, and the object-document mapper Ming to write maintainable, high-performance, and scalable applications.
- Documenting Your Project With Sphinx - Brandon Rhodes
- Python projects can succeed or fail because of their documentation. Thanks to Sphinx, Python now has a “documentation framework” with indexing, syntax highlighting, and integration with your code.
- DevOps for Python: Doing More With Less - Noah Kantrowitz
- The world of infrastructure as code is becoming far more pervasive and many Python developers are trying to find a way to get started. This class will get you up and running with Chef and Fabric to manage your systems be they in the cloud or under your desk.
All tutorial slots are 3 hours of teaching time, plus a break of 20 minutes for a total of 3 hours and 20 minutes from start to finish. Taught by some of the best trainers in the community - on subjects that are sure to be important, the tutorials at PyCon represent an excellent opportunity and value for anyone thinking about coming to PyCon 2012!
You will be able to register for tutorials along with conference registration shortly. Tutorial pricing has not changed and can be seen on the registration page.
Stuart Williams, Tutorial Committee Chair & the entire PyCon tutorial team