In my software engineering class, at one point they have to refactor their command line app (in Python) from handling all argument handling by hand given nothing but a list derived from the invocation string to using the built in library argparse. They then have to write an essay comparing the two and providing a technical recommendation. It’s a great set of interlocking coursework (and lectures).
Kyle Purdon has a really nice blog post comparing Python command line libraries. (There are others!) Of course, it’s not exactly my essay assignment because I saw Kyle’s post (and others like it) and was worried about confusion and academic malpractice. But perhaps I overthought it? Maybe I could find a library not covered and ask them to extend the analysis?
Most of my students, I’m guessing, don’t look for stuff like this anyway.
Perhaps I should keep my essay the way it is, point them to Kyle’s post, and then have them revise it?
This is a very complex era to design coursework in.