Michael Andrews - PIC 10A


No prior programming experience is assumed. I cover the basic principles of programming using C++, and provide practice for algorithmic and procedural problem solving.

Topics covered are:

Online lectures

I teach by live-coding. To the right of my code, I use Notability to draw visual representations of the code. Sometimes I also make use of pre-prepared pdfs and online documentation.

Here is an extract from one of my lectures on references. An example is cut from 13:12:08-13:23:50 and this extract does not start at the beginning of lecture. It is provided for other educators as a short (less than 20 minutes) example of my teaching. A student's response to a midterm question on function calls and references is provided below. It is satisfying for me to see my students find my visual representations useful.


During the COVID quarters, I give my students a week to submit their midterms. My questions ask students to explain code execution. I am careful to clarify my expectations of what a good response should look like. This encourages a thorough understanding of how C++ works. I believe that the midterm has been a good learning experience for students because some of the answers I read this quarter were exceptional.

Here is my most recent midterm. Here are the instructions I provided. At the bottom, there is a video explaining how to respond to question 3. Here is a response to question 3 that I particularly enjoyed grading.