For assignments: I would recommend using Continuous integration in the classroom. You could have Grad students help you setup the system. Here is my related blog post: https://blog.github.com/2017-03-01-real-time-feedback-for-st...
For the Lecture: This could be subjective, but I would look at online MOOCS to see what presentation style lecturers use these days.
Packt Publishing has great books to jump start on many technologies. The books are written by programmers, for programmers. They have a library subscription that I use.