- The API creation assignment didn't link up particularly well with
the web app assignment, mostly because of the Javascript same origin policy.
I wanted the web apps to access the previously created APIs, but instead,
I just had the students write API and website in a single Flask app.
This obscured the value of having a clean HTTP API, since they just
ended up calling Python functions for many of the web app services instead of
going through the API. Possible solutions include the Access-Control-Allow-Origin
HTTP header (which I just learned about), or just separating the API and
web app assignments. I dunno.
- I have got to write a short make/Makefile lab and give it to them
early in the term. Automation gets short shrift, and it deserves early attention.
- Doing TDD and JUnit at the beginning is really good.
- Still don't know how to get them to use assertions or something similar.
- Word Game Assistant was OK. I think I liked the encoding utility better,
since I never got back to encoding as a topic this term. Maybe there's something
even better.
- The regex lab was a good use of time. More of those would be good.
- They still screw up their git repositories. How? I have no idea.
- The books sample web app was super useful in lots of ways. But the
_fetch_all_rows_for_query function made a mistake: I shouldn't have given
them a function that absorbed all the exceptions--they didn't easily figure out
that they could put print statements, etc. into the except blocks.
- Flask's app.run(..., debug=True) flag should be in all my flask demos.