I suspect that students learn more from our programming assignments than from our much worried-over lectures, with their slide transitions and attempts at live coding in lecture. A great assignment is deliberate about where the student hours go, concentrating the student's attention on material that is interesting and useful. The best assignments solve a problem that is topical and entertaining, providing motivation for the whole stack of work. Unfortunately, creating great programming assignments is both time consuming and error prone. The Nifty Assignments special session is all about promoting and sharing the ideas and ready-to-use materials of successful assignments. Each presenter will introduce their assignment, give a quick demo, and describe its niche in the curriculum and its strengths and weaknesses. The presentations (and the descriptions below) merely introduce each assignment. A key part of Nifty Assignments is the mundane but vital role of distributing the materials – handouts, data files, starter code – that make each assignment ready to adopt. The Nifty Assignments home page, nifty.stanford.edu, gathers all the assignments and makes them and their support materials freely available. If you have an assignment that works well and would be of interest to the CSE community, please consider applying to present at Nifty Assignments. See nifty.stanford.edu for more information.