28.03.2014 Views

isbn9789526046266

isbn9789526046266

isbn9789526046266

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Each assignment was worth a number of points; the overall assignment grade was determined by the<br />

sum of the points received during the semester. The program-writing assignments were by far the most<br />

valuable in terms of points. VPS assignments were worth considerably less (as was natural, since they<br />

were meant to be easier and quicker to do than the program-writing assignments). Even the program<br />

animations were worth a very small number of points that the student got just for watching the animations.<br />

In total, the program-reading assignments accounted for 14% of all the assignment points available.<br />

Getting the highest grade for the course required the production of a working solution to most<br />

assignments. The overall assignment grade was averaged with the grade from a final examination to<br />

produce the overall grade.<br />

Students could freely choose whether to do any of the program-reading assignments in UUhistle.<br />

Getting the highest grades required them to do at least some of them, but it was possible to pass the<br />

course without ever using UUhistle at all.<br />

Exercise sessions and lectures<br />

All the assignments in CS1–Imp–Pyth – program-reading and program-writing alike – were ‘open labs’.<br />

Students worked on them at their own pace, mostly outside of class. There were no ‘closed labs’ with a<br />

fixed agenda. Instead, teaching assistants supervised ‘exercise sessions’. In these sessions, students worked<br />

freely on whichever assignment they wanted, and could ask the assistant for guidance when they felt they<br />

needed it. Attendance was voluntary. Students could also voluntarily attend lectures. Most students in<br />

CS1–Imp–Pyth did not attend either the lectures or the exercise sessions, preferring to study on their own<br />

or with friends.<br />

The lecturer occasionally made use of UUhistle to illustrate program execution during the lectures. The<br />

visualizations in UUhistle were the main (and almost only) explicit form of teaching about the underlying<br />

execution model of programs in CS1–Imp–Pyth. During one lecture at least, the lecturer drew diagrams<br />

of computer memory to illustrate references.<br />

Staff<br />

For a number of recent years, CS1–Imp–Pyth has been designed, lectured and organized by a teacher<br />

who has not otherwise been involved in UUhistle’s development or this empirical study. She agreed<br />

to adopt UUhistle after it was suggested to her during a demonstration of the tool by the authors.<br />

The program-reading assignments were created by UUhistle’s authors and subsequently approved by the<br />

teacher. UUhistle’s programmer, Teemu Sirkiä, was one of 18 part-time teaching assistants. He did not<br />

play a direct role in conducting the empirical studies presented in the next chapters.<br />

The teaching assistants were asked to familiarize themselves with UUhistle and VPS on their own and<br />

did not receive any other training on the topic.<br />

A few statistics<br />

A total of 562 students did at least one of the program-reading assignments. That means 74% of all<br />

enrolled students, and 81% of those who submitted at least one assignment of some sort – among the<br />

enrolled students there are always some “ghosts” (Mason and Cooper, 2012) who fail to turn up at all or<br />

at least do not put in nearly any work.<br />

The students made 11,010 submissions through UUhistle in total, including a small number of<br />

resubmissions.<br />

The code of each of the program-reading assignments was fairly short, ranging from 2 to 28 lines in<br />

length. The shortest program animation (assignment 1.1, that is, the first program-reading assignment<br />

of round 1) was 13 (correct) steps long, and the longest (assignment 9.3) about 200 steps. The shortest<br />

VPS exercise (assignment 1.2) was 12 steps, and the longest (assignment 4.9) about 80 steps.<br />

The easiest VPS task as measured by the number of mistakes made was assignment 3.3 on while<br />

loops, in which the submissions had a median of 1 misstep. The hardest was assignment 5.1 – which<br />

combined function calls, boolean values, selection, and logical operators – with a median of 30 incorrect<br />

steps per submission.<br />

260

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

Saved successfully!

Ooh no, something went wrong!