Back to Search
Start Over
Techniques and tools for visually introducing freshmen to object-based thread abstractions
- Source :
- Journal of Parallel and Distributed Computing. 157:179-200
- Publication Year :
- 2021
- Publisher :
- Elsevier BV, 2021.
-
Abstract
- An approach to adding concurrency to an existing undergraduate course should integrate driving problems used in analogies, worked examples, and assignments; amplify the subject/topics of the existing course; and ensure that the addition does not have a negative impact on (a) conceptual focus, and (b) student learning, struggle, and engagement. When concurrency is added to a course covering object-based programming, five related design principles for meeting these, sometimes conflicting, requirements are: (a) analogies, worked examples, and assignments are all implementations of simulations of moving physical objects, (b) the user-interface components of the simulations are created automatically or implemented manually using the MVC design pattern, (c) assignment implementations are layered to follow the logical dependence among concepts, (d) the concurrency aspects of the functional components of the simulations are implemented using reusable loop and design patterns, and (e) students can experiment with concurrency extensions to implementations of worked examples and assignments. We followed these principles in multiple course offerings that added concurrency to two different courses on object-based programming. Our data-based evaluation of these offerings, using new inferencing algorithms, analyzed the number of posts and contributions to class discussion forums; the number of entries in class participation diaries; the number of times an automated test is run before it passes; and the percentage of attempts to implement different aspects of concurrency that yield no success. The results show that adding thread execution and creation, synchronization, and coordination has little or no significant effect on measures of engagement, learning, and struggle.
- Subjects :
- Class (computer programming)
Computer Networks and Communications
Programming language
Computer science
Concurrency
Thread (computing)
computer.software_genre
Object (computer science)
Theoretical Computer Science
Artificial Intelligence
Hardware and Architecture
Model–view–controller
Synchronization (computer science)
Software design pattern
computer
Implementation
Software
Subjects
Details
- ISSN :
- 07437315
- Volume :
- 157
- Database :
- OpenAIRE
- Journal :
- Journal of Parallel and Distributed Computing
- Accession number :
- edsair.doi...........f8269db21041fd7c168dc30be63915e7
- Full Text :
- https://doi.org/10.1016/j.jpdc.2021.05.013