Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1121341.1121371acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article

The compiler course in today's curriculum: three strategies

Published: 03 March 2006 Publication History

Abstract

The broadening of computer science education has called into question the roles of many traditional core courses. In order to remain viable, courses such as compiler construction must provide a coherent view of their subject matter that fits with the rest of the institution's curriculum. Three strategies have evolved for this course. As described in this paper, each strategy provides a model that a professor can use to design an appropriate course for their situation.

References

[1]
Catalog of compiler construction tools. http://catalog.compilertools.net/.
[2]
A. Aiken. Cool: The Classroom Object-Oriented Language. http://www.cs.berkeley.edu/~aiken/cool/.
[3]
A. W. Appel and J. Palsberg. Modern compiler implementation in Java. Cambridge University Press, Cambridge, UK, second edition, 2002.
[4]
K. Beck. Test-Driven Devlopment. Addison-Wesley, Reading, MA, 2003.
[5]
N. Chomsky. Three models of the description of language. IRE Transactions on Information Theory, 1:113--124, 1956.
[6]
J. C. Cleaveland. Building application generators. IEEE Software, 5(4):25--33, July 1988.
[7]
Computing Accreditation Commission. Criteria for Accrediting Computing Programs. ABET Inc., Baltimore, MD, 2004. http://www.abet.org/forms.shtml.
[8]
H. Emmelmann. Testing completeness of code selector specifications. In U. Kastens and P. Pfahler, editors, Compiler construction: 4th International Conference CC'92, volume 641 of Lecture Notes in Computer Science, pages 163--175, 1992.
[9]
C. W. Fraser, R. R. Henry, and T. A. Proebsting. BURG: Fast optimal instruction selection and tree parsing. ACM SIGPLAN Notices, 27(4):68--76, Apr. 1992.
[10]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[11]
J. Gough. Compiling for the.NET Common Language Runtime (CLR). Prentice-Hall, Upper Saddle River, NJ, 2002.
[12]
H. C. House and S. E. Harman. Descriptive English Grammar. Prentice-Hall, New York, second edition, 1950. http://webster.commnet.edu/grammar /diagrams/diagrams.htm.
[13]
R. Jeffries, A. T. Turner, P. G. Polson, and M. E. Atwood. The processes involved in software design. In J. R. Anderson, editor, Cognitive Skills and their Acquisition, pages 254--284. Lawrence Erlbaum Associates, Hillsdale, NJ, 1981.
[14]
Joint Task Force on Computing Curricula. Computing Curricula 2001 --- Computer Science. Final report, Dec. 2001. http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/cc2001.pdf.
[15]
C. W. Krueger. Software reuse. ACM Computing Surveys, 24(2):131--183, June 1992.
[16]
J. Larus. SPIM: A MIPS32 simulator. http://www.cs.wisc.edu/~larus/spim.html.
[17]
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley Publishing Company, Reading, MA, USA, second edition, 1999.
[18]
J. Paakki. Attribute grammar paradigms --- A high-level methodology in language implementation. ACM Computing Surveys, 27(2):196--255, June 1995.
[19]
M. Shaw, S. Brookes, M. Donner, J. Driscoll, M. Mauldin, R. Pausch, B. Scherlis, and A. Spector. Proposal for an Undergraduate Computer Science Curriculum for the 1980's, Part II: Detailed Course Descriptions. Technical Report CMU-CS-83-157, Carnegie-Mellon University, 1983.
[20]
A. M. Sloane. An evaluation of an automatically generated compiler. ACM Transactions on Programming Languages and Systems, 17(5):691--703, Sept. 1995.
[21]
D. H. Stienberg and D. W. Palmer. Extreme Software Engineering. Prentice-Hall, Upper Saddle River, NJ, 2004.
[22]
W. Thomas. Automata on infinite trees. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 165--170. MIT Press, 1990.
[23]
W. M. Waite, M. H. Jackson, and A. Diwan. Student culture vs group work in computer science. In Proceedings of the 35th ACM Technical Symposium on Computer Science Education, pages 12--16, New York, 2004. ACM Press.
[24]
D. E. Yessick and J. Jones. Reinventing the wheel or not yet another compiler compiler compiler. In Southeast ACM Conference, 2002. http://citeseer.ist.psu.edu/705273.html.

Cited By

View all
  • (2022)ITTProceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 210.1145/3478432.3499140(1074-1074)Online publication date: 3-Mar-2022
  • (2019)ChocoPy: a programming language for compilers coursesProceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E10.1145/3358711.3361627(41-45)Online publication date: 25-Oct-2019
  • (2019)Implementation of a Training Parser Using Explicit Abstract Syntax TreeProceedings of the 20th International Conference on Computer Systems and Technologies10.1145/3345252.3345283(299-303)Online publication date: 21-Jun-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '06: Proceedings of the 37th SIGCSE technical symposium on Computer science education
March 2006
612 pages
ISBN:1595932593
DOI:10.1145/1121341
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 March 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compilers
  2. course pedagogy
  3. curriculum issues
  4. software engineering
  5. theory
  6. tools

Qualifiers

  • Article

Conference

SIGCSE06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)ITTProceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 210.1145/3478432.3499140(1074-1074)Online publication date: 3-Mar-2022
  • (2019)ChocoPy: a programming language for compilers coursesProceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E10.1145/3358711.3361627(41-45)Online publication date: 25-Oct-2019
  • (2019)Implementation of a Training Parser Using Explicit Abstract Syntax TreeProceedings of the 20th International Conference on Computer Systems and Technologies10.1145/3345252.3345283(299-303)Online publication date: 21-Jun-2019
  • (2014)A compiler project with learning progressionsCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591168(392-399)Online publication date: 31-May-2014
  • (2014)Designing the programming assignment for a university compiler design course2014 37th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO)10.1109/MIPRO.2014.6859688(861-866)Online publication date: May-2014
  • (2013)Using FPGAs as a reconfigurable teaching tool throughout CS systems curriculumProceeding of the 44th ACM technical symposium on Computer science education10.1145/2445196.2445316(397-402)Online publication date: 6-Mar-2013
  • (2011)Targeting FPGA-based processors for an implementation-driven compiler construction courseProceedings of the 49th annual ACM Southeast Conference10.1145/2016039.2016056(31-35)Online publication date: 24-Mar-2011
  • (2011)Comparison of context-free grammars based on parsing generated test dataProceedings of the 4th international conference on Software Language Engineering10.1007/978-3-642-28830-2_18(324-343)Online publication date: 3-Jul-2011
  • (2008)A set of tools to teach compiler constructionACM SIGCSE Bulletin10.1145/1597849.138429140:3(68-72)Online publication date: 30-Jun-2008
  • (2008)Teaching the compilers courseACM SIGCSE Bulletin10.1145/1473195.147319640:4(6-8)Online publication date: 30-Nov-2008
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media