Course Reflections

Online learning in CSE 143: Computer Programming II.

What a time to teach a new course! While the quarter’s not quite done yet, I wanted to share some reflections on this offering of CSE 143 as we conclude our core lessons.

The biggest change by far is our move to asynchronous, remote learning. Plans to adopt the Ed learning platform and support asynchronous learning workflows have been in the works for a few months, so we were in many ways better prepared for the move than other courses on campus. The course is designed with best practice for online learning and hyflex blended learning in mind. Students have the option of learning by participating synchronously during scheduled Zoom class meetings, or asynchronously with help through the discussion board.

One of the more contentious features of the course was Just-in-Time Teaching. Most Ed lessons consist of two components: pre-class preparation (replacing “lecture” in previous offerings) and in-class discussion seminar during our scheduled class meeting times. These discussion seminars offered a space to learn how to apply programming concepts before the weekly assessments. This pedagogy was motivated by three factors.

  1. Theories of learning.1 While direct instruction (i.e. traditional lecturing) is helpful for learning facts and modeling expert thinking, this can be saved for videos that you can slow down, rewind, and revisit at your own pace. The time we spend in class should reflect the learning goals of the course. Learning requires deliberate practice, and we don’t get deliberate practice through one-way communication.
  2. Affordances of Zoom. Web conferencing tools are inherently low-fidelity and broadcast-oriented. It is low-fidelity in that human emotional information is lost through the medium. It is broadcast-oriented in that it optimizes for one-speaker (and, therefore, one learner1) at a time. Breakout rooms democratize learning.
  3. Undergraduate TAs. The unique of strength of the course is its undergraduate TAs. There’s value in working with other students because communication and self-explanation is one means by which learning occurs. There’s also value in working with mentors who can model expert thinking and provide immediate, specific feedback.

Some changes planned for next time around…

Thanks for the amazing quarter, everyone!

  1. During the latter half of the 1900’s, the primary discourse about learning shifted from behaviorism (learning as a purely behavioral ability to reproduce certain information) to cognitivism (learning as involving brain structures, connections between neurons, memory, and thinking).

    Cognitivism and research on neuroplasticity (changes in the brain) serve as a theoretical foundation for a pedagogy known as constructivism. In constructivism, learners need to construct their own knowledge. Knowledge is not simply transmitted: learning involves the integration of knowledge, requiring active processing to create new connections between prior knowledge and new knowledge. Constructivism suggests that knowledge is formed through experience, not just the information itself.

    While it’s compelling to attribute learning to changes in the brain alone, learning doesn’t occur in isolation. In situated learning theory, learning is a social and participatory process involving communities of practice. We learn from our interactions with more experienced members of the community. Learning is not just about knowledge because knowledge is circumstantial and defined by the community. For instance, in this course, we teach a computer programming model that is only one among many. Java programming is not inherently valuable: its value is largely because experienced programmers in the community consider it important. Moreover, “correct” programs are not intrinsically better than “incorrect” programs.

    A theory of social practice emphasizes the relational interdependency of agent and world, activity, meaning, cognition, learning, and knowing.