Generators are powerful constructs in Python. In this course, we'll look at how to use generators to neatly create custom iterators with complex logic and minimal boilerplate. Although generators can also be used for implementing things like coroutines and asynchronous operations, these uses are not what you find in the typical Python program, so we won't cover them here, but this is still a good introduction to the topic.
Students should already be comfortable with Python language fundamentals, including: writing and using classes, methods, and functions, using container objects (e.g., list or dictionary), using decorators, using string formatting, using conditional operators
Michael Dougherty is an experienced full-stack engineer, functional programming aficionado, and musician. When he was 13 he brought a "Learn C++ in 21 days" book with him on a family vacation, and he has been writing code ever since.
For the past few years, Michael has worked as a Web Development Mentor, as a Full Stack Senior Software Engineer, as well as on several side projects.