This report describes a variety of programming assignments that can be used to teach quantum computing in a practical manner. These assignments let the learners get handson experience with all stages of quantum software development process, from solving quantum computing problems and implementing the solutions to debugging the programs, performing resource estimation, and running the code on quantum hardware.