Navigating Pedagogies; Teaching Theory-Heavy Courses to Software Engineering Students
Date:
The The landscape of teaching pedagogies is a rich one, and not always easy to navigate. While there has been a shift towards student-centered, "constructivist" approaches to teaching, the more traditional teacher-centred approaches like direct-instruction are still prevalent, more so in theory-heavy courses.
For this talk, I will use theory-heavy courses I teach to Software Engineering Graduate Apprenticeship students as conduits for exploring this pedagogy landscape, discussing experiences with using a number of teaching instruments along the way. This will lead to the specific pedagogy that I have been converging on (but not able to practice as much as I'd like to) called "Competency-Based Education" (CBE), similar to what's called "mastery learning". Based on the outcome of a working group on CBE that I was part of, I will go a bit more into what CBE is, how it relates to some other pedagogies, how we can draw inspiration from other teaching domains, and what it might mean to use it for computing education.
Finally, I will connect this discussion to theory-heavy computing science courses in general, and share some thoughts on how (or if) CBE can work for such courses. This part of my talk is very much work-in-progress, and I have quite a few open questions here myself. I would love to hear questions, comments, and ideas in this regard from the audience.
