Although this is an interesting post, I&#x27;m disappointed from a pedagogical point of view. The article covers these topics, in this order:<p>1. What book do we assign?<p>2. What should we lecture?<p>3. What sort of code review work should we have students do?<p>4. What kind of assignments should we use? But only to say that he won&#x27;t cover it in the article!<p>This is the almost the exact opposite order of what is most useful in terms of learning. Yes, some people (especially auto-didactic and well-focused students) are able to learn tremendous amounts on their own through books. But they are a relatively poor tool for teaching, compared to active learning methods. Lecture can be great, but usually is passive and worse than useless.<p>I want to acknowledge the importance of defining what you will teach and what successful (end-of-course) students look like and how to assess them. After you&#x27;ve decided that, it is proper to devise assignments and assessments, and then to decide on lectures and supplemental materials that support students in completing the assignments and assessments successfully. The time students spend should be active and practical - not that readings can&#x27;t be provided, but they should be on-point and meaningful. Proper application of Instructional Design principles and theories of learning can make a world of difference for students.<p>But kudos for thinking about it, kudos for thinking about feedback mechanisms, and kudos for<p>PS: Obviously, I believe C has a great place in the curriculum - shouldn&#x27;t leave undergrad without it!