Abstract
Over the course of their careers, students will need to master a number of diverse programming languages because different languages are best suited to different tasks and because the set of "popular" languages evolves over time. In addition, sometimes the best way to solve a problem is to invent a little language particular to the task. Students need to be able to evaluate which languages to use for which tasks and whether to design a domain-specific language. Consequently, it is critical that students develop a sophisticated understanding of programming languages during their undergraduate studies.
- Cryptol. http://www.cryptol.net.Google Scholar
- Dot graph description language. http://graphviz.org.Google Scholar
- Vizgems. http://www.research.att.com/areas/visualization/projects_software/visualdiscovery.php.Google Scholar
- Yoix scripting language. http://www.yoix.org.Google Scholar
- Corinna Cortes, Kathleen Fisher, Daryl Pregibon, Anne Rogers, and Frederick Smith. Hancock: A language for analyzing transactional data streams. TOPLAS, 26(2):301--338, 2004. Google Scholar
Digital Library
- Chuck Cranor, Yuan Gao, Theodore Johnson, Vlaidslav Shkapenyuk, and Oliver Spatscheck. Gigascope: High performance network monitoring with an SQL interface. In SIGMOD, 2002. Google Scholar
Digital Library
- Kathleen Fisher and Robert Gruber. PADS: A domain specific language for processing ad hoc data. In PLDI, pages 295--304, June 2005. Google Scholar
Digital Library
- Sanjeev Kumar, Yitzhak Mandelbaum, Xiang Yu, and Kai Li. ESP: A language for programmable devices. In PLDI, pages 309--320, New York, NY, USA, 2001. ACM. Google Scholar
Digital Library
- Arie van Deursen, Paul Klint, and Joost Visser. Domain-specific languages: An annotated bibliography. http://homepages.cwi.nl/~arie/papers/dslbib.Google Scholar
Index Terms
We need more than one: why students need a sophisticated understanding of programming languages
Recommendations
An aspect-oriented approach to the undergraduate programming language curriculum
Three key forces are shaping the modern Computer Science (CS) curriculum: (1) new topics/courses are squeezing out existing ones; (2) a focus on "big picture" and interdisciplinary aspects of CS is leading to curricula in which the traditional core ...
Rethinking pedagogy for teaching PL with more than PL concepts in mind
Individual department goals drive undergraduate computer science educators to teach with varying priorities on preparing students for continuing to graduate school or embarking on a career that leverages their education immediately after college. ...
Addressing the disconnect between the good and the popular
For several decades universities have taught programming languages as a fundamental part of their un-dergraduate curriculum. These courses cover the core topics used in the design of good programming languages. However, widely used commercial languages ...






Comments