I've started teaching part time - web dev for grad students in IS, half way through my 5th semester.

It has been fascinating, learning what does and doesn't work in teaching. I'm still a fumbling amateur, but I'm getting rave review scores so far and I know what I'm trying to emulate.

Given your experience you likely know everything I've gotten so far, but on the off chance there is something helpful here:

My best reactions come from the fact that I have a class Slack workspace and am pretty reachable there. I've found Blackboard to be monstrous and Outlook is terrible when it comes to sharing code. I have a github repo for each student that I send class notes, examples, and assignments to (also how they submit their assignments). Because I use tools they will likely use on the job, I can talk about those tools from a future professional stance (such as how code reviews are NOT judgements, but opportunities, or posting code snippets, or pull requests and merging). My availability to answer simple questions at random hours is highly praised, even if 50% of the questions just require me to restate something that was explicitly raised in class.

Next big praise from students comes from discussing coding on the job. Things like "most classes teach you to write a new program to solve an issue, but the vast majority of your work will be changing existing code" and then giving them practice at that, showing them how solutions that work in the short term can cost you when you need to make changes.

I make a point of trying to build from fundamentals, so for example while my class is both JS and React specific for the tools, I first have them write Html to interact with a backend of any language, then write dynamic front end with vanilla JS, the write with React while stressing that the lessons they should learn should be conceptual and not React specific because React will get replaced like every library before it. I have to walk a fine line between giving them enough to be suggestive while not reducing them to just copying verbatim. Cant say I've nailed that down, but I feel my students end up better prepared to learn something else than just churning out an app using a framework without having a clue WHY it works or how to use any other tools. (On the whole, this experience has not left me impressed with the normal curriculum/habits of schools even as I have gained sympathy for the difficulty)

Where I'm weak is having prepared material...I end up doing most classes on the fly, with only a vague list of what to cover each day. I reuse some material from semester to semester, but I'm experimenting so much that often it is just that the material is more familiar to me, not that I'm actually reusing slides or written code or even assignments.

I'm also weak on TAs and office hours. I'm available before class for an hour each week and have tas for the larger semesters, but these are the wants that students complain are the least fulfilled.

I have a separate slack channels for good topical articles that aren't required for class, as well as for job hunting/interview tips. These get positive comments but not rave reviews, yet former students that weigh in (I have a separate slack workspace for former students) often benefitted from these.

Being web dev this involves minimal algorithm work, or even much in terms of performance concerns, and though I make a point to cover SQL injection, salting, hashing, and the basics of public key encryption these are easier to tie to practical demonstrations than what you list. (Easy to google for companies with hugely embarrassing exposes due to poor web security than to poorly written outer joins, because the latter is more private)

Hopefully something there is helpful, and if not I'm very open to hear where I can improve myself.