Files
practical-python/README.md
David Beazley 745fa916fe edits
2020-05-29 04:24:42 -05:00

110 lines
4.2 KiB
Markdown

# Welcome!
When I first learned Python nearly 25 years ago, I was immediately
struck by how I could productively apply it to all sorts of messy work
projects. Fast-forward a decade and I found myself teaching others the
same fun. The result of that teaching is this course--A no-nonsense
treatment of Python that has been actively taught to more than 400
in-person groups since 2007. Traders, systems admins, astronomers,
tinkerers, and even a few rocket scientists who used Python to help
land a rover on Mars--they've all taken this course. Now, I'm pleased
to make it freely available under a Creative Commons license. Enjoy!
--David Beazley ([https://dabeaz.com](https://dabeaz.com)), [@dabeaz](https://twitter.com/dabeaz)
## What is This?
The material you see here is the heart of an instructor-led Python
training course used for corporate training and professional
development. It is usually taught in-person over the span of three or
four days--requiring approximately 25-35 hours of work. This includes
the completion of approximately 130 hands-on coding exercises.
## Target Audience
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. Most participants find the course
challenging--even if they've already been doing a bit of Python
programming.
## Course Objectives
The goal of this course is to cover foundational aspects of Python
programming with an emphasis on script writing, data manipulation, and
program organization.
## Requirements
To complete this course, you need nothing more than a basic
installation of Python 3.6 or newer and time to work on it--especially
the latter.
## What This Course is Not
This is not a course for absolute beginners on how to program a
computer. It is assumed that you already have programming experience
in some other programming language or Python itself.
This is not a course for software engineers on how to write or
maintain a one-million line Python program. I don't write programs
like that, nor do most companies who use Python, and neither should
you. Delete something already! Python is a great language for
personal productivity, prototyping ideas, and getting work done. The
course is about doing THAT in a way that's practical, accessible, and
not so "hacky" that your co-workers give you stink-eye when they look
at your code.
## Take me to the Course Already!
Ok, ok. Point your browser [HERE](Notes/Contents)!
## Community Discussion
Want to discuss the course? You can join the conversation on
[Gitter](https://gitter.im/dabeaz-course/practical-python). I can't
promise an individual response, but perhaps others can jump in to help.
## 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 12 years. 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 have taken this
course and contributed to its success with their feedback and
discussion.
## Questions and Answers
### Q: Are there course videos I can watch?
No. This course is about you writing Python code, not watching someone else.
### Q: How is this course licensed?
Practical Python Programming is licensed under a Creative Commons Attribution ShareAlike 4.0 International License.
### Q: May I use this material to teach my own Python course?
Yes, as long as appropriate attribution is given.
### Q: May I make derivative works?
Yes, as long as such works carry the same license terms and provide attribution.
### Q: Do you accept pull requests?
Bug reports are appreciated and may be filed through the [issue
tracker](https://github.com/dabeaz-course/practical-python/issues).
Pull requests are not accepted except by invitation. Please file an
issue first.