When it comes to learning Python, there are numerous tutorials, classes, and resources that can teach you the basics. However, to take your knowledge to the next level, you need to apply what you've learned to a more challenging set of coding projects. That is exactly what you'll do in this hands-on week of Python coding. Join David Beazley, author of the Python Essential Reference and Python Cookbook, as he guides you and five other students through a small set of interesting programming projects that cover a wide range of Python topics including systems programming, I/O, algorithms, data structures, concurrency and more.
This course is aimed at developers who have already learned the basics of Python, but want to continue applying their skills to new and more interesting problems. In addition to learning more about Python, you're also likely to learn a bit about topics outside your main area of work. So, if you like learning new things, this is for you.
The course is conducted in a round-table format that is strictly limited to 6 students. During the week, you will be presented with three or four challenge projects. Brief presentations will introduce the underlying concepts required for each project, but after that, most of the day will be spent writing code and discussing implementation options. It's important to note that this is not a free-form hackathon or a coding contest. The projects are carefully chosen to explore a wide range of Python topics and the small course size makes it easier to have meaningful discussion.
You should already have experience editing, running, and debugging simple Python programs. You don't need to be an expert, but you should generally know about Python built-in datatypes (lists, tuples, dicts), functions, modules, and simple class definitions. Parts of certain projects may involve mathematical calculations involving algebra, pre-calculus, or statistics. There's not going to be an exam, but if a project happens to involve computer graphics, game physics, or machine learning, you'll need to do a bit of calculation.
There is no fixed syllabus, but over the course of the week, the projects aim to touch upon the following topic areas:
It is important to note that the week is NOT structured around the use of existing frameworks or simply plugging data into various API functions. All of the code is to be written from scratch using nothing more than the core Python language and the standard library. The idea is to build Python programming skills while also learning how things actually work. You can always plug data into an API later.
The week is led by David Beazley, author of the Python Essential Reference, 4th Edition (Addison Wesley) and Python Cookbook, 3rd Edition (O'Reilly Media). David has been actively involved with the Python community since 1996 and was one of the early pioneers of using Python with scientific software. From 1998-2005, he was an assistant professor in the Department of Computer Science at the University of Chicago. He has been actively developing and teaching Python courses since 2007.