학술논문

A Structured Design Methodology for Concurrent Programming
Document Type
Conference
Source
Proceedings of the 6th Computer Science Education Research Conference. :1-9
Subject
Education
Java
concurrency
object-oriented programming
program design
Language
English
Abstract
Learning how to design and implement a concurrent program is hard. Most textbooks on Java programming only treat concurrency in terms of syntax and examples. They pay little attention to systematically designing concurrent programs. As a result, design experience is to be acquired in a master-apprentice setup of supervised lab classes with immediate, personal feedback. In this paper, we describe a systematic design method in which the development of a concurrent program is divided into a sequence of explicit, manageable steps which scaffolds students' learning of concurrency concepts and their application. This methodology is intended to improve the procedural development skills of students, providing them with the necessary knowledge and self-efficacy to tackle the problem at hand. Furthermore, current education moves towards more independent learning. In distance education, for example, immediate feedback on how to proceed in case of problems is often absent. Additionally, enrollment in university courses increased steadily over the last decade which forces educators to spend less time on individual support: students often have to solve problems on their own. To make such independent learning feasible, also as regards providing feedback, a systematic approach is indispensable.

Online Access