Initial commit
This commit is contained in:
117
README.md
117
README.md
@@ -1,2 +1,115 @@
|
||||
# python-mastery
|
||||
Advanced Python Mastery
|
||||
# Advanced Python Mastery
|
||||
|
||||
A course by David Beazley (https://www.dabeaz.com)
|
||||
Copyright (C) 2007-2023
|
||||
|
||||
## Synopysis
|
||||
|
||||
An exercise-driven course on Advanced Python Programming that was
|
||||
battle-tested several hundred times on the corporate-training circuit
|
||||
for more than a decade. Written by David Beazley, author of the
|
||||
Python Cookbook, 3rd Edition (O'Reilly) and Python Distilled
|
||||
(Addison-Wesley). Released under a Creative Commons license. Free of
|
||||
ads, tracking, pop-ups, newletters, and AI.
|
||||
|
||||
## Target Audience
|
||||
|
||||
This course is for Python programmers who want to move beyond
|
||||
short scripts to writing more sophisticated programs. Topics
|
||||
focus on programming techniques that get used in popular libraries and
|
||||
frameworks. The primary goal is to better understand the Python language
|
||||
itself so that you can understand other people's code and so that you
|
||||
can apply your newfound knowledge to your own projects.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You already know some Python. This is not a course for beginners.
|
||||
For more introductory material, you might consider the
|
||||
[Practical Python Programming](https://dabeaz-course.github.io/practical-python) course.
|
||||
|
||||
## How to Take the Course
|
||||
|
||||
To take the course, you should first fork/clone the GitHub repo to your own
|
||||
machine.
|
||||
|
||||
It is assumed that you are working locally in a proper Python
|
||||
development environment. That means a proper installation of Python,
|
||||
an editor/IDE, and whatever other tools that you would normally
|
||||
install to work on Python. Due to the use of multiple files and
|
||||
module imports, the use of Notebooks is not recommended.
|
||||
|
||||
The [`PythonMastery.pdf`](PythonMastery.pdf) file contains detailed
|
||||
presentation slides. Course exercises and suggested timings are
|
||||
clearly indicated. You'll want to keep this by your side (I recommend
|
||||
downloading and viewing it with a local PDF viewer). Start here!
|
||||
|
||||
The [Exercises/](Exercises/index.md) directory has all of the
|
||||
course exercises.
|
||||
|
||||
The [Solutions/](Solutions/) directory has fully worked out solution code.
|
||||
|
||||
The [Data/](Data/) directory has some datafiles used during the course.
|
||||
|
||||
The course was originally taught over 4-5 days in an in-person
|
||||
classroom setting with a mix of lecture and hands-on exercises.
|
||||
Successful completion of the course will likely require 30-50 hours of
|
||||
work. Exercises tend to build upon each other. Solutions are always
|
||||
provided in case you get stuck.
|
||||
|
||||
## Supplemental Material
|
||||
|
||||
The Advanced Python Mastery course often suggested more in-depth tutorials
|
||||
on selected topics. These were presented at the PyCon conference and
|
||||
might be of interest:
|
||||
|
||||
* [Generator Tricks for Systems Programmers](https://www.dabeaz.com/generators/)
|
||||
* [A Curious Course on Coroutines and Concurrency](http://dabeaz.com/coroutines/index.html)
|
||||
* [Python3 Metaprogramming](https://dabeaz.com/py3meta/index.html)
|
||||
* [Generators: The Final Frontier](https://dabeaz.com/finalgenerator/index.html)
|
||||
* [Modules and Packages: Live and Let Die](https://dabeaz.com/modulepackage/index.html)
|
||||
|
||||
## Questions and Answers
|
||||
|
||||
**Q: Are any videos available?**
|
||||
|
||||
**A:** No. You will be able to more quickly read the presentation slides which contain
|
||||
technical information. However, the [Python Programming Language: LiveLessons](https://www.safaribooksonline.com/library/view/python-programming-language/9780134217314/) video
|
||||
available on O'Reilly's Safari site is closely related to the material in this course.
|
||||
|
||||
**Q: Can I use these materials in my own course?**
|
||||
|
||||
**A:** Yes. I just kindly ask that you give proper attribution.
|
||||
|
||||
**Q: Do you accept bug reports or pull requests?**
|
||||
|
||||
**A:** If you've found a bug, please report it! However, I'm not
|
||||
looking to expand or reorganize the course content with new topics or
|
||||
exercises.
|
||||
|
||||
**Q: Are the presentation slides available in any format other than PDF?**
|
||||
|
||||
**A:** No.
|
||||
|
||||
**Q: Is there any forum/chat where the course can be discussed?**
|
||||
|
||||
**A:** You can use [GitHub discussions](https://github.com/dabeaz-course/python-mastery/discussions) to discuss the course.
|
||||
|
||||
**Q: What wasn't topic/tool/library X covered?**
|
||||
|
||||
**A:** The course was designed to be completed in an intense 4-day
|
||||
in-person format. It simply isn't possible to cover absolutely
|
||||
everything. As such, the course is focused primarily on the core
|
||||
Python language, not third party libraries or tooling.
|
||||
|
||||
----
|
||||
`>>>` Advanced Python Mastery
|
||||
`...` A course by [dabeaz](https://www.dabeaz.com)
|
||||
`...` Copyright 2007-2023
|
||||
|
||||
. This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user