PyConTW2013Tutorial
===================

Python Conference Taiwan 2013 Tutorial

The [PyConTW](http://tw.pycon.org) organizer wishes to improve the quality and quantity of the programming cummunities in Taiwan. Though Python is their core tool and methodology, they know it's worth to learn and communicate with wide-ranging communities. Understanding cultures and ecosystem of a language takes me about three to six months. This six-hour course wraps up what I - an experienced Java developer - have learned from Python ecosystem and the agenda of the past PyConTW.

Watch [PyCon Taiwan 2013 Tutorial online](http://www.slideshare.net/JustinSDK/pycon-taiwan-2013-tutorial).

You can find the Traditional-Chinese edition of this tutorial in [CodeData](http://www.codedata.com.tw/python/python-tutorial-the-1st-class-1-preface).

Table of Content
----------------
* The 1st class
  * Preface
  * Picking and Installing an Interpreter
     * Implementations
     * Preparing Course Environment
     * Where’re My Libraries?
     * What’s the Relationship among Distutils, Distribute and Pip?
  * Hello! World!
     * Introduction to Unicode Support
     * Basic Input and Output
  * Integrated Development Environment
  * Reference

***

* The 2nd class
  * Learning Python language
     * Built-in Types
     * Numerical Types
     * String Type
     * List Type
     * Set Type
     * Dict Type
     * Tuple Type
  * if, for, while and for Comprehensions
     * if..else
     * for and while
     * for Comprehensions
  * Functions, Modules, Classes and Packages
     * Functions
     * Modules
     * Classes
     * Packages
  * References

***

* The 3rd class
  * The Community
     * Documentation
     * DocStrings
     * Official Documentation
     * PyDoc
     * EpyDoc
  * Data Management Functions
     * Built-in Functions
     * reduce
  * Persistence
     * marshal, pickle, cPickle
     * DBM
     * shelve
     * DB-API 2.0（PEP 249）
  * References

***

* The 4th class
  * Libraries vs Frameworks
     * Inversion of Control
     * Do We Need a Framework?
  * Getting Started with Django
     * Creating a Project
     * Creating a Database and an App
     * Playing API with the Python shell
  * Writing Your First View
     * Controller? or Views?
     * URLconf
  * References

***

* The 5th class
  * Using the Template System
     * Writing Templates
     * Removing Hardcoded URLs in Templates
     * Namespacing URL Names
     * Writing a Simple Form
  * A Bit About CSRF
     * A Cross-Site Request Forgery Example
     * CSRF Countermeasures
  * Testing
     * assert
     * doctest
  * References

***

* The 6th class
  * unittest（Testing Continued）
     * Test Case
     * Test Fixture
     * Test Suite
     * Test Runner
  * Profiling
     * timeit
     * cProfile（profile） 
  * PyCon Taiwan
     * PyCon Taiwan 2012
     * PyCon Taiwan 2013
  * References

***

http://openhome.cc
