This two-day course is designed for developers who already know the fundamentals of Python. This course will get more “under the hood” and introduce the students to powerful tools and techniques that go beyond the basics. There are a lot of intermediate topics in Python, and this course can be customized based on need. The class will focus on Python 3.
- We start immediately with working programs.
- Testing is integral to our approach.
- Taught on Windows, Linux or Mac OS X.
- Function and class decorators
- Creating context managers
- Packaging and distribution of Python packages
- Callable objects, lambdas, and extended argument syntax
- Properties, class methods, and static methods
- String representations of objects
- Specialized numeric and scalar types
- Functional-style programming tools
- The iteration and iterable protocols
- Multiple inheritance, method resolution order, and super()
- Collection protocols and implementing collections
- Advanced error handling with exceptions
This workshop requires that you bring a laptop with the following software installed:
- Python 3.3 or greater installed. Python 3.5.1 would be ideal. https://www.python.org/downloads/
- An editor for Python code. Attendees can use whatever editor they prefer, but we recommend PyCharm which is a full-featured Python IDE : https://www.jetbrains.com/pycharm/
- The ability to either connect to the Internet or accept USB flash drives so we can distribute course materials on the day.
Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an experienced presenter and teacher, having spoken at numerous conferences, software groups, and internal corporate venues. Austin is also an active member of the open source community, contributing regularly to various Python and Emacs projects, and he's the founder of Stavanger Software Developers, one of the largest and most active social software groups in Stavanger. Austin holds a Master of Science in Computer Engineering from the University of Texas at Austin.