28.03.2014 Views

isbn9789526046266

isbn9789526046266

isbn9789526046266

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

22.3 VPS can be taken to new users and new modes of use<br />

Last but certainly not least, the future of VPS will be shaped by its future users, the contexts in which<br />

they use it, and the new uses they may find for VPS.<br />

Pedagogical practices, especially ones that require work from the teacher, are difficult to disseminate.<br />

VPS can serve as a useful component of a carefully crafted CS1, but it does not offer a silver bullet<br />

that effortlessly solves students’ or teachers’ problems. It would be unrealistic in the extreme to expect<br />

VPS to be a likely ‘instant hit’ in the mainstream of CS1 education. A more realistic expectation is<br />

that some programming teachers who are concerned about issues regarding program dynamics and the<br />

notional machine – and who have enough time to follow computing education research and actively<br />

develop their teaching – could work VPS into their courses. Some of those teachers may develop their<br />

own assignments. Some may offer assignments for others to use. Scholars within the software visualization<br />

community may implement VPS or something inspired by it into their program visualization systems (as<br />

is already happening in the ViLLE system; see Section 11.3). Through new users and their input and<br />

experiences, VPS may gradually grow and improve.<br />

A broad selection of good ready-made assignments would be an excellent asset in the dissemination<br />

of VPS to the community. I expect to develop and publish a set of assignments for UUhistle in the<br />

not-too-distant future.<br />

Many of the VPS assignments in our studies were unplanlike, which limits their usefulness as workedout<br />

examples of program writing (Section 14.2). The combination of VPS with more planlike programs<br />

should be explored in the future. VPS could also benefit from what is known concerning the use of<br />

examples in learning; training students in explaining VPS assignments to themselves is one potentially<br />

rewarding strategy (see Section 18.4). Instructional design models such as 4C/ID (Section 4.5) have the<br />

potential to inform the design of introductory programming courses and to clarify the role of VPS in such<br />

designs.<br />

In the future, VPS can be used in new combinations with other materials. Hybrid program visualization<br />

assignments (featuring animation, VPS, and quizzes) are one such combination. The integration of<br />

VPS and other modes of program visualization into hypertextbooks is another (cf. Shaffer et al., 2011).<br />

Motivating new contexts for VPS might also be found, for instance by having students simulate buggy<br />

programs.<br />

VPS has been designed primarily to target CS1 courses, but could serve a purpose in some slightly<br />

more advanced courses as well. At Aalto University, a data structures and algorithms course has already<br />

taken the initiative to adopt VPS for a few assignments, with staff reporting largely positive experiences.<br />

Again, all these ideas for the future provide ample opportunities for empirical research.<br />

“Show, don’t tell” is the advice they give to aspiring fiction writers. What they mean is that you should<br />

not directly describe a character’s feelings or thoughts. Instead, you should let the reader get involved<br />

and work things out for themselves from how the character talks and behaves. “Show, don’t tell” also<br />

reflects the thinking behind much of visualization-based education, although there the phrase tends to be<br />

taken more literally: use pictures rather than words.<br />

Why bring this up? Perhaps it is better, dear reader, that I do not tell you.<br />

355

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!