First SIGPLAN Workshop on Undergraduate Programming Language Curricula

May 29 and 30th, 2008 at Harvard University

Sponsored by the National Science Foundation and SIGPLAN.

Final Report

SIGCSE Panel:
Combined Slides: pdf(6 up), pdf, ppt, key.tar
Individual Slides: Bruce.key.tar, Fisher.key.tar, Harper.pdf, Reges.ppt, Bailey.pptx

HCSS Talk: pdf, ppt,


Overview

Programming languages play a critical role in computer science by providing a flexible and robust means by which human beings interact with and control computer systems. Programming language design and implementation has advanced significantly in the recent past in response to the increasing pervasiveness of computer science and technology. Unfortunately, higher-education curriculum has not kept pace, and so it does not appropriately reflect the expansive growth and evolution. This lag is a critical challenge because an up-to-date curriculum is essential to prepare a globally competitive workforce, able to generate and to apply new knowledge, and to take the lead in advancing computer science and technology.

The goal of this workshop is to bring together leaders in the field of programming languages with expertise in research, teaching, and industrial use to discuss the role of programming language design, implementation, and application in modern, undergraduate, computer science education. Our objective with this effort is to build a community for these experts to discuss, critically evaluate, and identify the transformational changes needed to best prepare undergraduates to participate in the rapidly changing field of computer science and technology.

In particular, this workshop should provide a forum for the community (1) to evaluate recent changes and likely trends in computing technology and their impact on programming language design, implementation, and application (and vice versa), (2) to discuss the implications of these changes on programming language curricula, and (3) to explore strategies for designing new curricula. For the first task, we will consider trends that include the looming ubiquity of multi-processing systems, the proliferation of domain-specific languages, the increasing diversity of relevant programming languages, infrastructures, and support tools, the growing heterogeneity of device architectures (high-performance computing systems, desktops, game consoles, mobile phones, hand-held devices, etc.), and the increasing complexity of systems (operating, runtime, and application-level). For the second task, we will consider how these trends impact what and how we should be teaching our undergraduates about programming languages. Finally, for the third task, we will explore various tactics for designing new programming language curricula that incorporate the insights from these discussions and yet fit within the constraints of existing undergraduate programs.

Call for Participation

Travel Information

Workshop Schedule

Mission Statement

Contributions

Instructions for authors for final whitepaper submission

New! The report for the workshop has been published in the November 2008 issue of SIGPLAN Notices

Important Dates

Submission deadline: April 9th, 2008
Author notifications: April 21st, 2008
Pre-meeting white papers due: May 22nd, 2008
Workshop meeting: May 29th and 30th
Final white papers due: July 1st, 2008

Steering Committee

Participants

NSF Program Manager