This advanced course covers both advanced development techniques such as metaprogramming, and cutting-edge technologies such as git and hadoop. Students completing this course will be able to create sophisticated modules and frameworks that can be leveraged by other programmers. As with all our programming classes, this custom Python course has a generous complement of exercises that allow the student to immediately practice new concepts. Students will write numerous real-world Python scripts, which manipulate real-world data. Because of the advanced audience, the instructor may cover other topics as requested by students.
Before taking this course, students should be comfortable writing intermediate Python scripts, using basic and complex data types, program structures and the standard Python library. In addition, they should be able to create basic classes, and understand intermediate concepts such as decorators and generators. This is not a class for beginners.
Five Days/Lecture & Lab
This course is appropriate for experienced Python programmers who want to learn very advanced Python skills. The course content can be applied to a wide range of tasks.
- Unit testing (unittest, pytest, nose, pymock)
- git/github (gitlib)
- Remote processes (paramiko, pexpect)
- Advanced XML (validation, schema generation, namespaces)
- Emulating container classes (dict, list)
- Parsing complex text (pyparsing)
- Design patterns
- Web scraping (scrapy, BeautifulSoup)
- Functional tools (single-dispatch, lru_cache, map/reduce)
- Advanced metaprogramming (descriptors, __new__)
- Virtual Python environments (virtualenv, pyenv)
- Advanced Iterables (itertools, generator functions & classes)
- Cloud computing (Hadoop, et al)
- Packaging and distributing modules