This commit is contained in:
David Beazley
2020-05-27 17:55:32 -05:00
parent b6c1635662
commit 92777e2cef
2 changed files with 7 additions and 49 deletions

View File

@@ -1,36 +1,5 @@
# Practical Python Programming # 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 ## Table of Contents
* [0. Course Setup (READ FIRST!)](00_Setup) * [0. Course Setup (READ FIRST!)](00_Setup)
@@ -44,20 +13,7 @@ Python 3.6 or newer and time--especially the latter.
* [8. Testing, Logging, and Debugging](08_Testing_debugging/00_Overview) * [8. Testing, Logging, and Debugging](08_Testing_debugging/00_Overview)
* [9. Packages](09_Packages/00_Overview) * [9. Packages](09_Packages/00_Overview)
## Acknowledgements [Home](..)
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.

View File

@@ -16,7 +16,7 @@ taken this course. Now, the course is available for all. Enjoy!
The material you see here is the core of an instructor-led Python 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 training course. It is typically taught in-person over the span of
three or four days--requiring approximately 25-35 hours of work. This three or four days--requiring approximately 25-35 hours of work. This
includes the completion of approximately 130 hands on coding exercises. includes the completion of approximately 130 hands-on coding exercises.
The target audience is scientists, engineers, and programmers who The target audience is scientists, engineers, and programmers who
already have experience in at least one other programming language. No already have experience in at least one other programming language. No
@@ -43,7 +43,8 @@ Python 3.6 or newer and time to work on it--especially the latter.
This is not a course for absolute beginners on how to program a This is not a course for absolute beginners on how to program a
computer. It is assumed that you already have programming experience computer. It is assumed that you already have programming experience
in some other programming language or Python itself. in some other programming language or Python itself. You're not
going to find cute stories about looping--or why you would want to do it.
This is not a course that aims to cover everything there is to know This is not a course that aims to cover everything there is to know
about Python. There is only so much material you can cover in 3-4 days about Python. There is only so much material you can cover in 3-4 days
@@ -53,7 +54,7 @@ reason--it was once included and it made everyone's head explode.
This is not a course that simply covers reference material, tricks, or This is not a course that simply covers reference material, tricks, or
recipes that you could just look up on [python.org](https://python.org), recipes that you could just look up on [python.org](https://python.org),
Google, or Stack Overflow. Yes, there is a certain amount of reference Google, or Stack Overflow. Yes, there is enough reference
material to be functional, but the course is more focused on how to material to be functional, but the course is more focused on how to
work with and think about Python coding. work with and think about Python coding.
@@ -62,7 +63,8 @@ maintain a one-million line Python program. I don't write programs
like that and neither should you. Delete something already! like that and neither should you. Delete something already!
Python is a great language for personal productivity, prototyping ideas, Python is a great language for personal productivity, prototyping ideas,
and hacking cool things together. The course is about doing THAT in and hacking cool things together. The course is about doing THAT in
a way that's both practical and not too "hacky." a way that's both practical and not so "hacky" that you co-workers
give you stink-eye when they look at your code.
## Take me to the Course Already! ## Take me to the Course Already!