Conventional wisdom places programming early in the curriculum, and places emphasis on basic coding skills before advanced subjects like abstract data types, object-oriented programming, etc. This paper presents an experience of doing things backwards: students are exposed first to abstraction, then to classes, objects and application programming interfaces (APIs) and finally to coding. Java turns out, in its latest form with much-improved libraries, to be well-suited to this approach. (PDF 263K)
Everyone talks about how important our subject is, yet many academic departments are stretched to their limits: understaffed, underfunded and with more students than they can handle. How has this situation arisen? This paper proposes some causes of the problem, and the need for a general survey of industry and academic perceptions. (PDF 128K)