Files
practical-python/Notes/Contents.md
David Beazley ea22c0913f Added setup
2020-05-27 15:15:27 -05:00

67 lines
2.8 KiB
Markdown

# Practical Python Programming
When I first learned Python nearly 25 years ago, I was immediately
struck by the ease at which I could apply it to all sorts of messy
work projects. Fast-forward a decade and I found myself teaching
others the same joy. The result of that teaching is this
course--material that has been actively taught to more than 400
in-person groups since 2007. Traders, systems admins, astronomers,
NASA rocket scientists, and even a few software engineers--they've all
taken this course. Now, the course is available for free. Enjoy!
--David Beazley (http://www.dabeaz.com)
## Prerequisites and Target Audience
The material you see here is the core of an instructor-led Python
training course. It is typically taught in-person over the span of
three or four days--requiring approximately 25-30 hours of work. This
includes the completion of approximately 130 hands on coding exercises.
The target audience is scientists, engineers, and programmers who
already have experience in at least one other programming language. No
prior knowledge of Python is required, but knowledge of common
programming topics is assumed.
The goal of the course is to cover foundational aspects of Python
programming with an emphasis on script writing, data manipulation, and
program organization. The course does NOT focus on Python tooling,
IDEs, or third-party packages (i.e., it's not focused on using data
science libraries in Jupyter Notebooks or on deploying web apps).
To complete this course, you simply need a basic installation of
Python 3.6 or newer and time--especially the latter.
## Table of Contents
* [0. Course Setup (READ FIRST!)](00_Setup)
* [1. Introduction to Python](01_Introduction/00_Overview)
* [2. Working with Data](02_Working_with_data/00_Overview)
* [3. Program Organization](03_Program_organization/00_Overview)
* [4. Classes and Objects](04_Classes_objects/00_Overview)
* [5. The Inner Workings of Python Objects](05_Object_model/00_Overview)
* [6. Generators](06_Generators/00_Overview)
* [7. A Few Advanced Topics](07_Advanced_Topics/00_Overview)
* [8. Testing, Logging, and Debugging](08_Testing_debugging/00_Overview)
* [9. Packages](09_Packages/00_Overview)
## Acknowledgements
Llorenç Muntaner was instrumental in converting the course content from
Apple Keynote to the online structure that you see here.
Various instructors have presented this course at one time or another
over the last decade. This includes (in alphabetical order): Ned
Batchelder, Juan Pablo Claude, Mark Fenner, Michael Foord, Matt
Harrison, Raymond Hettinger, Daniel Klein, Travis Oliphant, James
Powell, Michael Selik, Hugo Shi, Ian Stokes-Rees, Yarko Tymciurak,
Bryan Van de ven, Peter Wang, and Mark Wiebe.
I'd also like to thank the thousands of students who took this
course and contributed to its success with their feedback and discussion.