From Principles to Practice with Class in the First Year

Sam Tobin-Hochstadt
(Northeastern University)
David Van Horn
(Northeastern University)

We propose a bridge between functional and object-oriented programming in the first-year curriculum. Traditionally, curricula that begin with functional programming transition to a professional, usually object-oriented, language in the second course. This transition poses obstacles for students, and often results in confusing the details of development environments, syntax, and libraries with the fundamentals of OO programming that the course should focus on. Instead, we propose to begin the second course with a sequence of custom teaching languages which minimize the transition from the first course, and allow students to focus on core ideas. After working through the sequence of pedagogical languages, we then transition to Java, at which point students have a strong command of the basic principles. We have 3 years of experience with this course, with notable success.

In Philip K.F. Hölzenspies: Proceedings Second Workshop on Trends in Functional Programming In Education (TFPIE 2013), Provo, Utah, USA, 13th May 2013, Electronic Proceedings in Theoretical Computer Science 136, pp. 1–15.
Published: 8th December 2013.

ArXived at: https://dx.doi.org/10.4204/EPTCS.136.1 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org