skip to main content
article

PL-detective: A system for teaching programming language concepts

Published: 01 December 2004 Publication History

Abstract

The educational literature recognizes that people go through a number of stages in their intellectual development. During the first stage, called received knowledge or dualism, people expect knowledge to be handed to them by authority figures (thus “received”) and think in terms of black and white (thus “dualism”). Our experience indicates that many computer science students are at this first stage of learning. To help students move beyond this stage, we describe a system and strategy, the PL-Detective, to be used in a Concepts of Programming Languages course. Assignments using this system directly confront students with the notion that they can create knowledge via interactions with the PL-Detective and that discussion with students (rather than asking the instructor) is an effective way of learning how to reason. We present experimental results that show that the PL-Detective is effective in helping students move beyond the stage of received knowledge.

References

[1]
Abercrombie, M. L. J. 1960. The Anatomy of Judgment; An Investigation into the Processes of Perception and Reasoning. Hutchinson, London.
[2]
Alavi, M. 1994. Computer-mediated collaborative learning: An empirical evaluation. MIS Quarterly 18, 2, 159--174.
[3]
Arnold, K., Gosling, J., and Holmes, D. 2000. The Java Programming Language, 3rd ed. Addison Wesley, Reading, MA.
[4]
Belenky, M. F., Clinchy, B. M., Goldberger, N. R., and Tarule, J. M. 1997. Women's Way of Knowing. Basic Books.
[5]
Diwan, A., Jackson, M. H., Waite, W. W., and Dickerson, J. 1995. Pl-detective: Experience and results. In 36th ACM Technical Symposium on Computer Science Education (SIGCSE). St. Louis, Missouri.
[6]
Diwan, A., Waite, W. M., and Jackson, M. H. 2004. PL-detective: A system for teaching programming language concepts. In 35th ACM Technical Symposium on Computer Science Education (SIGCSE). Norfolk, VA.
[7]
Folger, J. P., Hewes, D. E., and Poole, M. S. 1984. Coding social interaction. Progress in communication sciences 4, 115--161.
[8]
Folger, J. P. and Poole, M. S. 1981. Relational coding schemes: The question of validity. Communication Yearbook 5, 235--247.
[9]
Gosling, J., Joy, B., Steele, G., and Bracha, G. 2000. The Java Language Specification, 2nd ed. Addison Wesley, Reading, MA.
[10]
Jensen, K. and Wirth, N. 1991. PASCAL---User Manual and Report. Springer Verlag.
[11]
Kernighan, B. W. and Ritchie, D. M. 1988. The C Programming Language, Second edn. Software Series. Prentice-Hall, Englewood Cliffs, NJ.
[12]
Leonardi, P. M. 2003. The mythos of engineering culture: A study of communicative performances and interaction. M.S. thesis, University of Colorado, Boulder.
[13]
Milner, R., Tofte, M., and Harper, R. 1990. The Definition of Standard ML. MIT Press, Cambridge, Massachusetts.
[14]
Nelson, G., Ed. 1991. Systems Programming with Modula-3. Prentice Hall, Englewood Cliffs, New Jersey.
[15]
Perry, W. G. 1970. Forms of Intellectual and Ethical Development in the College Years. Holt, Rinehart and Winston, New York.
[16]
Sebesta, R. W. 2003. Concepts of Programming Languages, 6th edn. Addison Wesley, Reading, MA.
[17]
Shaw, M. E. 1981. Group Dynamics: The Psycholoogy of Small Group Behavior, 3rd edn. McGraw Hill, New York.
[18]
Shaw, M. E. and Blum, J. M. 1965. Group performance as a function of task difficulty and the group's awareness of member satisfaction. Journal of Applied Psychology 49, 151--154.
[19]
Stroustrup, B. 1991. The C++ Programming Language, 2nd edn. Addison-Wesley, Reading, MA.
[20]
Waite, W., Jackson, M., and Diwan, A. 2003. The conversational classroom. In 34rd ACM Technical Symposium on Computer Science Education (SIGCSE).
[21]
Waite, W. M., Jackson, M. H., Diwan, A., and Leonardi, P. 2004. Student culture vs group work in computer science. In 35rd ACM Technical Symposium on Computer Science Education (SIGCSE). Norfolk, VA.
[22]
Williams, L. and Kessler, R. 2000. Experimenting with industry's pair programming model in the computer science classroom. Journal of Computer Science Education 10, 4 (Dec.).

Cited By

View all
  • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
  • (2022)Towards a Notional Machine for Runtime Stacks and Scope: When Stacks Don’t Stack UpProceedings of the 2022 ACM Conference on International Computing Education Research - Volume 110.1145/3501385.3543961(206-222)Online publication date: 3-Aug-2022
  • (2020)The PL-detective revisitedProceedings of the 2020 ACM SIGPLAN Symposium on SPLASH-E10.1145/3426431.3428655(12-22)Online publication date: 20-Nov-2020
  • Show More Cited By

Index Terms

  1. PL-detective: A system for teaching programming language concepts

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Journal on Educational Resources in Computing
    Journal on Educational Resources in Computing  Volume 4, Issue 4
    December 2004
    55 pages
    ISSN:1531-4278
    EISSN:1531-4278
    DOI:10.1145/1086339
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 December 2004
    Published in JERIC Volume 4, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Concepts of programming languages
    2. collaboration
    3. educational tools

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
    • (2022)Towards a Notional Machine for Runtime Stacks and Scope: When Stacks Don’t Stack UpProceedings of the 2022 ACM Conference on International Computing Education Research - Volume 110.1145/3501385.3543961(206-222)Online publication date: 3-Aug-2022
    • (2020)The PL-detective revisitedProceedings of the 2020 ACM SIGPLAN Symposium on SPLASH-E10.1145/3426431.3428655(12-22)Online publication date: 20-Nov-2020
    • (2019)Mystery functionsProceedings of the 31st Symposium on Implementation and Application of Functional Languages10.1145/3412932.3412934(1-9)Online publication date: 25-Sep-2019
    • (2016)Process-Based Development of Competence Models to Computer Science EducationJournal of Educational Computing Research10.1177/073563311562221454:4(563-592)Online publication date: 3-Jan-2016
    • (2009)18The Enactment-Externalization Dialectic: Rationalization and the Persistence of Counterproductive Technology Design Practices in Student EngineeringAcademy of Management Journal10.5465/amj.2009.3731547152:2(400-420)Online publication date: Apr-2009

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media