The analogy is programming language agnostic and can be used to help turn the abstract parallel programming concepts into concrete mental models. At a high level, the execution of a parallelized program is represented by an office with employees working towards a goal. You can download the full description below.
Collaborative Learning refers to knowledge construction via social interaction, and has the support of many years of research. Students work together in small groups toward a common goal, which promotes critical thinking skills, longer information retainment, and reduced anxiety associated with problem-solving. With this in mind, a set of flashcards have been designed to assist these goals.
Using the Collaborative Flashcards, students discuss the anticipated performance of a parallel system given a combination of workload and scheduling policy. The intended learning outcomes are attained through comparison between different configurations. This Recommended Workflow has been prepared to guide the learning process with the flashcards. Download a sample below.
An augmented reality (AR) application, ParallelAR, takes advantage of the accessibility of mobile technology in the classroom and uses the flashcards to bring the analogy to life. The aim of the app is to reinforce the anticipated performance resulting from the Collaborative Learning discussions. A more detailed description of the app appears below.
Traditional flashcards have been shown to engage active recall. Combining this with a social environment, where students must discuss their reasons for their guess, makes for an even better learning activity. Flashcards are traditionally two-sided, where one side has the prompt and the other side has the solution. However, these flashcards only have one real side. The “solution side” comes in one of two forms: virtual animations enabled by the ParallelAR application, or the solution discussions provided by a teacher. The card in the center below (with the ParallelAR logo) is the main flashcard, prompting for a pairing of one scheduling policy (to its left) and the nature of the workload (to its right). Once selected, the performance of the system can be compared between different configurations. There is a total of 12 possible configurations to explore. You can download these as 12 cards to cut individually, or as pre-configured strips for convenience.
AR applications can detect and track image targets, and augment the printed media or real-world. The flashcards act as these targets and are used as a learning resource to aid in collaboration. Instead of passively being told the pros and cons of different scheduling policies, the student experiences the different combinations in real-time.
The application was built using low poly 3D assets, a technique that shows a reduction in file sizes, mesh-density and loading time on Android devices. Therefore, most smartphones can handle the animations without a problem. Once the flashcards are printed, you only need a phone/tablet running Android (version 4.1.x+) to participate.
After the flashcards have been successfully recognized by the app, a 3D model of an office will be superimposed onto the main flashcard in the device's camera view. The virtual office is animated by employees getting hired, working and switching desks, all depending on the configuration selected by the student. The office has four desks, thereby mimicing a quad-core processor.
The time taken to complete the work by the single employee will be about 4x longer than a parallel program. The students should be able to feel the difference in time, as it mirrors real-world time for the animation to play out. To emphasize these performance measures, a summary screen of the statistics will be displayed after every run through. Comparing the core utilization and timing disparities between different scheduling policies and workloads will reinforce the desirable learning outcomes.
For your convenience, we have made screen recordings of the app in action for some of the activities. You can watch these on our YouTube channel.
ParallelAR and the instructional framework were created for a University of Auckland Master of Software Engineering Studies project.
Student: Marin Abernethy mabe628@aucklanduni.ac.nz
Advisor: Dr. Nasser Giacaman n.giacaman@auckland.ac.nz
Also, a big thanks to Oliver Sinnen, Giuseppe De Ruvo, and Joel Adams!