Attendees completing this class should have a good working knowledge of the core Python language, be able to design and create Python objects, classes and modules, as well as have the ability to build a variety of tools and applications. Students will also be prepared to delve deeper into language fundamentals so they're prepared to tackle Python projects immediately after course completion. The goal is that once attendees have some experience under their belts, they're reading to focus on specific areas of application development taught in the following course, Python Applications Programming.
The target audience for this course is NOT someone who has never programmed. It is geared towards:
- Those who already know Python syntax, i.e., either by tinkering on their own, via a study group, have taken courses from Udacity, Coursera, any other publicly offered beginner course, or have completed "Learn Python the Hard Way"... they want to know more and take their skills to the next level plus learn good Python practices along the way.
- Those who know Python well and use it often but want to fill-in gaps in their knowledge or have run into hard-to-explain bugs with their code even if it appears to all be syntactically correct.
Course info sheet (PDF)
Comprehensive Intro + Intermediate Python
Come to San Francisco and experience a rigorous 3-day training course with hands-on labs designed by engineer and Core Python author Wesley Chun. It's designed for developers wanting to learn or enhance their Python skills now! Users supporting or jumping to Java/Jython, Django, Pyramid, Flask, Google App Engine, web2py, IronPython/.NET, and Mailman will also benefit!
This course provides a complete and comprehensive introduction to the Python language, covering these beginner and intermediate topics:
- Language Introduction
- Syntax and Style
- Python 2 vs. Python 3 (the next generation)
- Python Objects, Data Types, and Operators
- Creating and Calling Functions and Methods
- Flow Control: Loops and Conditionals
- Files and Input/Output
- Importing: Modules and Packages
- Errors and Exception Handling
- Object-Oriented Programming
- Objects, References, and Memory Model
- Introduction to Functional Programming Features
- Best Practices: Tips, Tricks, Testing, Tools, Performance
Required Setup: A laptop/notebook is required for lab exercises; select any platform where Python is available. Mac & Linux users should already have Python on their machines while PC users should install Python (2.6 or newer). Java developers may consider Jython, PyDev/Eclipse or PyCharm/IntelliJ while .NET/Mono users should consider IronPython. ChromeOS users can use any "REPL" Python interpreter in a browser tab/windor or switch to developer mode and install Linux. IDEs are optional.