wow great questions! right now www.pythontutor.com is my ongoing effort to support Python CS0/CS1. REPLs are important for live programming via trial-and-error. see:
http://pgbovine.net/teaching-librarians-programming.htm
ideally you want to mix the best of both worlds. here's a prototype demo: https://www.youtube.com/watch?v=Q3oarDuZPL0