• Home
  • Search
  • Evaluation of a Structured Design Methodology for Concurrent Programming
  • Open Access IconOpen Access
  • Cite Icon3
  • https://doi.org/10.1145/3375258.3375266Copy DOI Icon

Evaluation of a Structured Design Methodology for Concurrent Programming

  • Nov 18, 2019
  • Lex Bijlsma +5 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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.

Similar Papers
  • Conference Article
  • Citations7

The heart of object-oriented concurrent programming

  • Jan 01, 1988
  • J Lim +1
  • Conference Article
  • Citations4

A Structured Design Methodology for Concurrent Programming

  • Nov 14, 2017
  • A Bijlsma +5
  • Research Article
  • Citations168

Distributed Computing: Fundamentals, Simulations and Advanced Topics

  • Jan 03, 2001
  • Scalable Computing Practice and Experience
  • Marcin Paprzycki
  • Research Article
  • Citations321

Concurrency State Models and Java Programs

  • Jan 01, 2000
  • Scalable Computing Practice and Experience
  • William F Gilreath
  • Research Article
  • Citations4

Debugging Tools for Concurrent Logic Programming

  • Apr 01, 1992
  • The Computer Journal
  • T Conlon +1
  • Conference Article
  • Citations21

Design of an Empirical Study for Comparing the Usability of Concurrent Programming Languages

  • Sep 01, 2011
  • Sebastian Nanz +3
  • Research Article
  • Citations20

SimpA: An agent-oriented approach for programming concurrent applications on top of Java

  • Jul 05, 2010
  • Science of Computer Programming
  • Alessandro Ricci +2
  • Research Article
  • Citations68

Types for atomicity

  • Jul 01, 2008
  • ACM Transactions on Programming Languages and Systems
  • Cormac Flanagan +3
  • Conference Article
  • Citations33

Predictive Typestate Checking of Multithreaded Java Programs

  • Sep 01, 2008
  • Pallavi Joshi +1
  • Conference Article
  • Citations5

<u>T</u>i<u>d</u>d<u>l</u>e

  • Jul 20, 2009
  • Caitlin Sadowski +1
  • Conference Article

Introducing Adaptivity to eLessons on Object-oriented Programming

  • Jan 01, 2009
  • Zivana Komlenov +2
  • Video Transcripts

Practices and Concepts in Physics Labs: Can We Do Both?

  • Jul 19, 2021
  • Underline Science Inc.
  • Jason May
  • Book Chapter
  • Citations98

A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives

  • Jan 01, 1999
  • John Hatcliff +4
  • Research Article
  • Citations6

Actors as a special case of concurrent constraint (logic) programming

  • Sep 01, 1990
  • ACM SIGPLAN Notices
  • K Kahn +1
  • Book Chapter

Objects The Building Block

  • Jan 01, 2004
  • Tony Jenkins +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.