Software Engineering

For almost 20 years, I have taught software engineering at both the undergraduate and graduate levels at the University of Hawaii.  My approach has evolved considerably over the years.  Currently, I favor an approach in which I create screencasts of all my lecture material in advance and post them to YouTube.  Students are responsible for watching the lectures as homework, allowing all in-class time to be spent on group and individual project activities.

Here is an example lecture from a recent semester:

My approach has interesting parallels to the recent emergence of “massively online open courseware” such as Coursera. Like Coursera courses, I eschew in-class lecturing.  Unlike Coursera, I rely heavily on local classroom interaction to help students assimilate material and to form a learning community that they can utilize both for my course and for future semesters as they progress through our degree program.

For a more complete understanding of my current software engineering pedagogy, please take a look at the ICS 314, Fall 2013 course website.  In this course I am experimenting with a new software engineering pedagogy called “Athletic Software Engineering”. For an overview of the approach please see this posting.