This page contains links to archived versions of the Stanford CS106A (Programming Methodology) webpage in the quarters I've taught it.
I made a few pretty major changes to the course on this iteration. I updated my presentation of core programming topics at the beginning of the course (variables, loops, etc.) based on my experience with Girl Code over the summer, which I think was an interesting experiment with mixed results. I liked how the new presentation focused both on the holistic effect of various loop structures and on the specific mechanical details, though I think it might be a good idea in the future to clean up some of the particular examples. I also thought that my presentation on methods and parameters might need some work going forward. Afterwards, the course primarily ran just as it has in the past.
Next time around, I think I'm going to slow things down a bit right when we get to arrays and perhaps interchange the presentation of arrays and strings to help make the transition a bit easier. I think I've been underestimating the difficulty of making the jump to sequence structures, so some extra support there probably wouldn't hurt. I also think it might be worthwhile to spend more time on parameters and methods. Finally, taking a cue from CS103, I think it would be beneficial to students to provide more practice problems beyond just those from the section handouts - that seemed to work really well in CS103, so I'd imagine it would also work quite well here!
This offering of CS106A was huge - with 644 students, it was so large that we had to split it into two lectures, a morning time and an afternoon time. In this iteration of CS106A, I introduced a new assignment (Readability Indices) and reordered some of the topics to introduce objects later and sequences earlier. I'm pretty happy with how it turned out and am definitely looking forward to the next iteration!
This was my second offering of CS106A and enrollment was enormous - there were 566 students enrolled! This quarter, I introduced the "Array Algorithms" assignment in place of Yahtzee and introduced a lecture on machine learning toward the end.
This was the first time I taught CS106A and it was one of the most fun experiences I've ever had. The class was huge (over 400 students!) and it was exciting watching people discover just how fun, exciting, and rewarding CS can be. I also had a blast putting together some of the lecture demos - you should definitely look at the XKCD color wheel, FDIC bank failure demo, and PageRank of Wikipedia.