Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3375258.3375266acmotherconferencesArticle/Chapter ViewAbstractPublication PagescsercConference Proceedingsconference-collections
research-article

Evaluation of a Structured Design Methodology for Concurrent Programming

Published: 07 March 2020 Publication History

Abstract

Learning how to design and implement a program is hard. Teaching methods and textbooks on Java programming often treat a new subject in terms of syntax and examples. Little attention is paid to systematically designing programs with these new concepts. Research has shown that such a complex task requires not only conceptual knowledge, but also explicit procedural support.
In this paper, we investigate the effect of combining conceptual and procedural guidance to teaching and learning concurrent programming. We build on earlier research in which we have introduced such a structured design methodology which divides the development of multi-threaded Java programs into a sequence of explicit, manageable steps: the Steps Plan.
We present our experiences with applying the Steps Plan in an introductory course on object-oriented programming, with multithreading. The main questions addressed are: "What problems did the students encounter in direct relation to the Steps Plan?", and "What general problems surfaced?"
As to the first question, two important issues were that using a relatively far developed sequential solution as a stepping stone towards a multi-threaded solution wrong-footed some students, and that remedying race condition situations turned out to be supported at a too high level of abstraction.
As to the second question, two notable issues were that deciding on the right amount and type of concurrency by themselves is maybe too difficult for students at this level, and that the notion of (establishing) correctness or quality of a solution is, different from the sequential case, not intuitively clear to students.
For these issues, the paper recommends remedies and indicates directions for future work. We discuss the consequences for education as regards teaching materials and forms of teaching.

References

[1]
A. Bijlsma, C. Huizing, R. Kuiper, H. J. M. Passier, H. J. Pootjes, and J. E. W. Smetsers. 2017. A Structured Design Methodology for Concurrent Programming. In Proceedings of the 6th Computer Science Education Research Conference (Helsinki, Finland) (CSERC '17). ACM, New York, NY, USA, 1--9. https://doi.org/10.1145/3162087.3162088
[2]
Louis Cohen, Lawrence Manion, and Keith Morrison. 2013. Research methods in education. London, New York: Routledge.
[3]
Paul De Bra. 2002. Adaptive Educational Hypermedia on the Web. Commun. ACM 45, 5 (May 2002), 60--61. https://doi.org/10.1145/506218.506247
[4]
E.W. Dijkstra. 1975. How do we tell truths that might hurt. https://www.cs.utexas.edu/users/EWD/welcome.html EWD 498.
[5]
E.W. Dijkstra. 1985. On anthropomorphism in science. https://www.cs.utexas.edu/users/EWD/welcome.html EWD 936.
[6]
E. W. Dijkstra. 1983. Solution of a Problem in Concurrent Programming Control. Commun. ACM 26, 1 (Jan. 1983), 21--22. https://doi.org/10.1145/357980.357989
[7]
Katrina Falkner and Edward Palmer. 2009. Developing Authentic Problem Solving Skills in Introductory Computing Classes. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (Chattanooga, TN, USA) (SIGCSE '09). ACM, New York, NY, USA, 4--8. https://doi.org/10.1145/1508865.1508871
[8]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2001. How to Design Programs: An Introduction to Programming and Computing. MIT Press, Cambridge, MA, USA.
[9]
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, Doug Lea, and David Holmes. 2006. Java Concurrency in Practice. Addison-Wesley, Upper Saddle River, New Jersey.
[10]
Lars Hvam, Jesper Riis, and Benjamin Loer Hansen. 2003. CRC cards for product modelling. Computers in Industry 50, 1 (2003), 57 - 70. https://doi.org/10.1016/S0166-3615(02)00143-4
[11]
M. Kallery and D. Psillos. 2004. Anthropomorphism and Animism in Early Years Science: Why Teachers Use Them, how They Conceptualise Them and What Are Their Views on Their Use. Research in Science Education 34, 3 (01 Sep 2004), 291--311. https://doi.org/10.1023/B:RISE.0000044613.64634.03
[12]
P.A. Kirschner, J. Sweller, and R.E. Clark. 2006. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching. Educational psychologist 41, 2 (2006), 75--86. http://www.cogtech.usc.edu/publications/kirschner_Sweller_Clark.pdf
[13]
Yifat Ben-David Kolikant. 2005. Students' Alternative Standards for Correctness. In Proceedings of the First International Workshop on Computing Education Research (Seattle, WA, USA) (ICER '05). ACM, New York, NY, USA, 37--43. https://doi.org/10.1145/1089786.1089790
[14]
Gary Lewandowski, Dennis J. Bouvier, Robert McCartney, Kate Sanders, and Beth Simon. 2007. Commonsense Computing (Episode 3): Concurrency and Concert Tickets. In Proceedings of the Third International Workshop on Computing Education Research (Atlanta, Georgia, USA) (ICER '07). ACM, New York, NY, USA, 133--144. https://doi.org/10.1145/1288580.1288598
[15]
K.J. McCaffree. 2014. Is Magical Thinking Good?. Skeptic 19, 1 (2014), 59 - 61. http://search.ebscohost.com.ezproxy.elib11.ub.unimaas.nl/login.aspx?direct=true&db=afh&AN=95050096&site=ehost-live
[16]
T. Plomp. 2013. Educational Design Research: An Introduction. In Educational design research, T. Plomp and N. Nieveen (Eds.). Enschede: SLO, 10--51.
[17]
L. Vaillant. 2015. Anthropomorphism Gone Wrong: Poor Motivating Example for OOP. URL:http://loup-vaillant.fr/articles/anthropomorphism-and-oop
[18]
Jeroen J.G. van Merriënboer, Richard E. Clark, and Marcel B.M. De Croock. 2002. Blueprints for complex learning: The 4C/ID-model. Educational Technology Research and Development 50, 2 (2002), 39--61.
[19]
Jeroen J.G. van Merriënboer and Paul A. Kirschner. 2013. Ten Steps to Complex Learning, a systematic appraoch to four-component instructional design (second ed.). Taylor & Francis, New York, NY, USA.
[20]
Jeroen J. G. van Merriënboer and John Sweller. 2005. Cognitive Load Theory and Complex Learning: Recent Developments and Future Directions. Educational Psychology Review 17, 2 (01 Jun 2005), 147--177. https://doi.org/10.1007/s10648-005-3951-0

Cited By

View all
  • (2024)Example Output: A Sequentialist Rabbit Hole for Students Solving Concurrent ProblemsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699565(1-11)Online publication date: 12-Nov-2024

Index Terms

  1. Evaluation of a Structured Design Methodology for Concurrent Programming

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    CSERC '19: Proceedings of the 8th Computer Science Education Research Conference
    November 2019
    133 pages
    ISBN:9781450377171
    DOI:10.1145/3375258
    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]

    In-Cooperation

    • University of Cyprus

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 March 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Education
    2. Java
    3. concurrency
    4. object-oriented programming
    5. program design

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    CSERC '19

    Acceptance Rates

    Overall Acceptance Rate 24 of 60 submissions, 40%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 03 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Example Output: A Sequentialist Rabbit Hole for Students Solving Concurrent ProblemsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699565(1-11)Online publication date: 12-Nov-2024

    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