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 unless Python 2 is specifically requested.
- We start immediately with working programs.
- Testing is integral to our approach.
- Taught on Windows, Linux or Mac OS X.
- Knowledge level of Python for Programmers course is assumed
- 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.
Robert has worked in senior architecture and technical management roles for several software companies providing tools in the energy sector for dealing with the masses of information flowing from today's digital oil fields. He has dealt with understanding, designing, advocating and implementing effective architectures for sophisticated scientific and enterprise software in Python, C++, C# and F#. He believes in the necessity of a strong engineering culture and enjoys performing the coaching and training necessary to achieve one. Robert is a regular speaker at conferences, meetups and corporate software events and can be found speaking about topics as diverse as behavioural microeconomics in software development to implementing web services on 8-bit microcontrollers. He is organiser of the Oslo Python group and holds a Ph.D. in a natural science. Robert has recently founded Sixty North, a software product and consulting business in Norway