Beginning programmers: welcome to PyCon! Jumpstart your Python and programming careers with this 3-hour interactive tutorial. By the end, you'll have hands-on exposure to many core programming concepts, be able to write useful Python programs, and have a roadmap for continuing to learn and practice programming in Python. This class assumes no prior programming experience.
Although Python programs may be slow for certain types of tasks, there are many different ways to improve performance. This tutorial will introduce optimization strategies and demonstrate techniques to implement them. Another of the objectives of this course is to give participants the ability to decide what might be the optimal solution for a certain performance problem.
Are you a Python-curious programmer? Learn by writing your first project! You'll build a complete quiz creation web application. We will cover topics from data structures and classes, to debugging and testing.
Before the day of the workshop, you will need to have Python 2.7, CherryPy, IPython, and Jinja2 installed. Alternatively, you may arrive at the venue an hour early to receive assistance.
IPython provides tools for interactive and parallel computing that are widely used in scientific computing, but can benefit any Python developer.
We 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.
All materials for this tutorial can be found on our github repository
In this tutorial we'll set ourselves the goal of building a minimal recommendation engine, and in the process learn about Python's excellent Pydata and related projects: numpy, pandas, and pytables.
A recommendation engine is a software system that analyzes large amounts of transactional data and distills personal profiles to present its users with relevant products/information/content.
Why do pianos sound different from guitars? How can we visualize how deafness affects a child's speech? These are signal processing questions, traditionally tackled only by upper-level engineering students with MATLAB and differential equations; we're going to do it with algebra and basic Python skills. Based on a signal processing class for audiology graduate students, taught by a deaf musician.
Together we will build a basic social bookmarking application using Django!
Pyramid has emerged as a fast, modern, lightweight web framework. This lively, hands-on tutorial covers a little about a lot: practical introductions to the most common facilities. Fun, fast-paced, and most certainly not aimed at experts.
Learn how to deploy an python application to the cloud in under 45 minutes. In this hands-on workshop, you will get understanding the basics of cloud architecture (IaaS, PaaS, and SaaS), learn how to push your python application from github to the cloud in under 45 minutes, make it available for others to deploy, and integrate monitoring services.
Tutorial participants will build a real-world web application rapidly using lightweight tools, such as Flask, Jinja2, MongoDB, and Twitter Bootstrap. By building the apps from scratch using tools whose size matches the task at hand, participants will be able to churn out working applications by the end of the tutorial that can solidify their Python and modern web dev knowledge.
Social Network data is not just Twitter and Facebook - networks permeate our world - yet we often don't know what to do with them. In this tutorial, we will introduce both theory and practice of Social Network Analysis - gathering, analyzing and visualizing data using Python, NetworkX and PiCloud. We will walk the attendees through an entire project, from gathering data to presenting results.
Want to up your Python game? Come learn how to write decorators, generators, list comprehensions, context managers and more. Bring a laptop with Python (2.x or 3.x) installed and come ready to program. You will leave knowing these intermediate constructs and how to write them. This always sells out so sign up early.
Django is a popular, powerful web framework for Python. It has lots of "batteries" included, and makes it easy to get started. But all of the power means you can write low quality code that still works. Effective Django means building applications that are testable, maintainable, and scalable. This tutorial will introduce attendees to Django with an emphasis on testing, maintenance, and scale.
Accelerators are the hottest tool in high performance computing but applicable to all fields. We present how to use Python's amazing ability to abstract away the low-level boiler-plate code turning accelerators from an exotic curiosity to a daily tool.
What's more fun than learning Python? Learning Python by hacking on public data! In this tutorial, you'll learn Python basics by reading files, scraping the web, building data structures, and analyzing real world data. By the end, you will have set up your Python environment, installed some useful packages, and learned how to write simple programs that you can use to impress your friends.
An introduction to Bayesian statistics using Python. Bayesian statistics are usually presented mathematically, but many of the ideas are easier to understand computationally. People who know some Python have a head start.
We will use material from Think Stats: Probability and Statistics for Programmers (O’Reilly Media), and Think Bayes, a work in progress at http://thinkbayes.com.
Do you want to create a script to warp your photos, scrape your photo archive for images of cats, or create a dart turret that follows your face? This tutorial will show you how to do this and a whole lot more with computer vision. The tutorial will be suitable for all levels of developers and is a great way for python novice’s to explore the world of computer vision.
Projects can succeed or fail because of their documentation. When you write, you need to concentrate on your prose—not on how to get text rendered, indexed, highlighted, and cross-referenced. The Sphinx documentation framework exists to make these parts easy so you can focus on writing. This tutorial will use hands-on exercises to teach you to write, theme, and deploy documentation using Sphinx!
This tutorial is for software developers who've been using Python with success for a while but are looking for a deeper understanding of the language. It focuses on how Python differs from other languages in subtle but important ways that often confuse folks, and it demystifies a number of language features that are sometimes misunderstood.
The Internet is a dangerous place, filled with evildoers out to attack your code for fun or profit, so it's not enough to just ship your awesome new web app--you have to take the security of your application, your users, and your data seriously. You'll get into the mindset of the bad guys as we discuss, exploit, and mitigate the most common web app security flaws in a controlled environment.
The concept: run through the official Django tutorial, but with full TDD.
So, Browser-based testing with Selenium + in-depth unit-testing;
TDD Discussions: what to test, what not to test;
Aimed at beginners (new to Django, TDD or Selenium)
Come prepared! you’ll need Git, Firefox, Python2.7, Django1.4 and Selenium installed
Python has long played a role in analyzing large scale data. From tightly-knit super-computers running MPI-based applications to heterogeneous clusters woven together with scripts, Python has had a role to play in making it easier to processes data. This tutorial will cover the tried and true techniques as well as introduce new trends.
This tutorial will offer an introduction to the scikit-learn package and to the central concepts of Machine Learning. We will introduce the basic categories of learning problems, and explore practical examples based on real-world data, from handwriting analysis to facial recognition to automated classification of astronomical images.
How do you start a new project? How do you deliver a script to co-workers? How do you develop it with best practices? How do you use virtualenv and pip? How do you package it? How do you automate testing, building, uploading to PyPI?
This class will walk you through creating your own simple script and ending with something that is worthy of others.
Want to contribute to a Python project or the core language, but not sure where to start?
Join us for 3 hours learning the nuts and bolts of open source contribution. By the end of this tutorial, you'll have the tools and practice to confidently contribute to your favorite projects.
Beginning programmers are welcome and encouraged!
This tutorial will offer an in-depth experience of methods and tools for the Machine Learning practitioner through a selection of advanced features of scikit-learn and related projects. This tutorial targets developers already familiar with machine learning concepts and scikit-learn who wish to learn how to apply those tools on larger datasets using multicore machines or distributed clusters.
This tutorial will walk the attendees through development of a simple game using PyGame with time left over for some experimentation and exploration of different types of games.
Writing tests for networking code presents special challenges, which Twisted tries to address. In this tutorial you will implement a toy HTTP server using test-first methodology: first the tests are written, and then the code. You will learn how to write well-tested network applications using Twisted, and the general virtues of doing test-driven development.
Some of the most significant changes in Python 3 are related to metaprogramming. In this tutorial, I'll cover decorators, class decorators, descriptors, and metaclasses. However, the focus will be on idioms and examples that are only made possible using features that are unique to Python 3. For instance, making free use of function annotations, signatures, new metaclass features and more.
In this tutorial we shall review three different and distinct approaches to parallel computing which can be used to solve problems in all manner of domains, including machine learning, natural language processing, finance, and computer vision. The first two approaches to be reviewed will be embarrassingly parallel in nature while the third approach will leverage fine-grain parallelism.
The goal of the tutorial is a broad-based introduction to SQLAlchemy, spanning the Core and ORM components as well as the systems that underlie them. The tutorial takes the "harder" approach teaching from fundamentals first, emphasizing details on how the library interacts with the database and SQL and concluding with an introduction to the ORM, providing a solid perspective for continued study.
You just finished the Django tutorial. What do you do now? You wire in Django Packages! Django is part of an ecosphere of over 20,000 packages, which can be leveraged to great effect. This tutorial wil teach the evaluation, use, and extension of third party Python and Django applications in your projects. This tutorial will be a lecture with a lot of detailed and annotated code examples.