Teaching beginners predicate transformer semantics for imperative languages is not a trivial task. For Computer Science majors, the teaching of the theoretical material must be su...
In 1995, my team and I decided to create an outreach project that would use our research on functional programming to change the K-12 computer science curriculum. We had two diffe...
Open-source development, social production, social networks and other factors change the way we understand software systems. The paper motivates the use of social thinking to desi...
We present a series of programming exercises that use scaling as a theme for teaching design techniques in the introductory computer science course sequence. All exercises are on ...
As ASSETS attendees, we are clearly interested in promoting accessibility in computing. One way to do this is to teach courses on the topic. Most such courses are aimed at upper-l...