This is an idea that I had when I TAed 33-121 Physics I for Science Students in Fall 2016 at CMU to rewrite all computer labs, in a modern, and more pedagogical way. My ideas for this are:
- Rewrite all packets inside the Jupyter notebooks and add hints to relate it more to the lecture material. It would include all instructions they need, and also spaces (and e.g. empty figures) for students to fill in. Can be printed out and handed to the students as a substitute to the packets.
- All students would be working within a Jupyter notebook and editing the code in it. Students would have the option to either fill in the hard copy that we hand out, or fill in the notebook electronically and print it.
- More practically; the TA/instructor would be performing the lab on the projector along with the students (to show the students how the code works etc, and discuss with them how this relates to the lecture material), and giving them time between parts to try it and discuss the questions in the packet within groups. Jupyter notebooks are completely interactive, so one can change a single line of code and immediately see the results (probably helpful on the projector). This is an active learning approach. In the lab, I'd imagine the TAA would be going around to help groups of students individually, and the TA would do that in between lab parts. (Use sticky notes as in CS workshops?)