Five days. Four different software challenges to expand your Python skills and your computational thinking.
There are numerous tutorials, classes, and resources that can teach you the basics of Python. However, if you want to take your skills to the next level, you need to put what you've learned into practice. 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 set of thought-provoking programming projects that cover a wide range of Python topics including systems design, algorithms, data structures, concurrency and more.
This course is aimed at developers who have already learned the basics of Python, but want to continue building their skills. In addition to learning more about Python, you're also likely to learn a bit about core topics in computer science and unusual things 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. 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 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.
The projects are designed to cover a variety of different topic areas from programming. These include:
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. Most 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 and is a well known speaker and tutorial instructor at Python conferences. [ Talks | Tutorials ]
Questions about the course can be addressed to firstname.lastname@example.org. The following resources may be useful: