Master Thesis: End-user Programming
Authors
Dao, Anh Tuan Nguyen ; Bøg, Peter Heino
Term
4. term
Education
Publication year
2010
Abstract
Mange bruger software, men har aldrig programmeret. Dette projekt undersøger, hvordan man kan lære sådanne slutbrugere at programmere, mens de arbejder. Vi byggede en prototype som en udvidelse til et tegneprogram samt et lille, domænespecifikt scriptsprog til programmet. Prototypen anvender Learning by Observation med selvafslørende elementer: når brugeren udfører handlinger, viser den den tilsvarende scriptkode, så man kan se, hvordan handlinger bliver til kode. Vi udviklede også en algoritme, der genkender iterative, gentagende opgaver og kan generere et script til at automatisere dem. Prototypen og scriptsproget videreudvikler vores tidligere SW9-arbejde. En brugervenlighedstest understøtter delvist vores hypoteser: selvafsløring hjælper som læringsgreb, men evidensen er stærkere for slutbrugerprogrammører end for den bredere gruppe af slutbrugere, vi oprindeligt sigtede mod. Samlet set fungerede prototypen godt og giver flere indsigter i slutbrugerprogrammering.
Many people use software but have never programmed. This project explores how to teach such end users to program while they work. We built a prototype extension to a drawing application and a small domain-specific scripting language for the application. The prototype applies Learning by Observation with self-disclosing features: as users perform actions, it reveals the matching script so they can see how actions map to code. We also developed an algorithm that detects iterative, repetitive tasks and can generate a script to automate them. The prototype and language extend our previous SW9 project. A usability test partly supports our hypotheses: self-disclosing helps as a learning approach, but the evidence is stronger for end-user programmers than for the broader group of end users we originally targeted. Overall, the prototype performed well and offers several insights for end-user programming.
[This abstract was generated with the help of AI]
Documents
