Title
An aspect-oriented approach to the undergraduate programming language curriculum
Abstract
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 courses + electives model is being superseded by a more flexible approach based on tracks/threads; and (3) project-based courses are increasingly relying on a notion of just-in-time teaching in which particular skills are not bundled into a particular course, but are covered at a point when they are needed for particular project work. The undergraduate programming language curriculum is feeling the pressure of these forces. Core courses on programming languages and compilers are being changed to electives, relegated to a software/systems track, or phased out altogether. Particular programming languages and programming language concepts are being taught in a more piecemeal fashion on an as-needed basis. Unfortunately, these changes make it increasingly likely that CS majors can graduate without being exposed to certain "big ideas" of programming languages. Programming languages (along with many other subdisciplines of CS) contains ideas that every well-educated computer scientist needs to know and which are relevant to a wide variety of projects/careers. In a CS curriculum based on tracks and projects, how can we ensure that vital intellectual components are not lost in the shuffle? One way to think about this problem is to view the CS curriculum as a collection of aspects that can be combined in different arrangements to produce various projects/courses. In this paper, we consider the benefits and challenges of an aspect-oriented view of the CS curriculum, particularly in regard to programming language concepts.
Year
DOI
Venue
2008
10.1145/1480828.1480855
SIGPLAN Notices
Keywords
Field
DocType
programming languages curriculum,aspect-oriented view,cs curriculum,particular programming language,particular project work,programming language,particular skill,aspect-oriented approach,programming language concept,undergraduate programming language curriculum,cs major,particular course,aspect oriented,just in time teaching,software systems
Second-generation programming language,Programming language,Aspect-oriented programming,Programming paradigm,Computer science,Fourth-generation programming language,Compiler,Extensible programming,Curriculum,Programming language theory
Journal
Volume
Issue
ISSN
43
11
0362-1340
Citations 
PageRank 
References 
1
0.46
6
Authors
2
Name
Order
Citations
PageRank
Mark A. Sheldon1338204.84
Franklyn Turbak2554.54