"Big Picture" view of the course

I tend to think of the course as broken into three parts (with exams that match those parts):

  1. "Getting Started"

    Getting used to Python, data types, variables, commands and a lot of "straight-line" code

  2. "Control Structures" (and lots of them)

    Loops, Conditional, Functions, Try/Except

  3. "Object-Orientation" and other more advanced topics

    We'll start to create our own classes, use inheritance, introduce a few more advanced data structures (sets, dictionaries) and techniques (recursion). More generally a focus on how to manage more complex projects (working as a group, testing, naming conventions)

In terms of the day-to-day style of our class, we'll continue to rely on Perusall readings (once we get back to chapters that exist!) so that you can come to class already familiar with most topics.  But we won't have as many of the traditional "hands-on" days with lots of small practice problems and a 10-minute quiz.  I'll still hope to incorporate active-learning and use the class time well, but we're more likely to see more explorations that aren't graded, or more of the 50-minute quiz style activities so that you have more time to do something a bit larger than can be asked in a 10-minute question.


Last modified: Sunday, 22 December 2019