This is a collection of Python assignments aimed at math students with little to no programming experience. Each assignment guides the student through the relevant topics and has them write their own code at various steps.
These assignments are meant to help the student understand good techniques and methods, not just memorize snippets. To do this I sometimes introduce bad code and refine it as examples make its shortcomings clear.