70 likes | 175 Vues
This paper explores advancements in end-user programming (EUP), focusing on code reuse and collaboration. Proposed ideas include generating intelligent tutors from Java code and incentivizing scientists to share domain-specific Java code. It also suggests creating an Excel classroom deployment package to ease integration of EUP tools in education settings. Additionally, the integration of Whyline into Scratch programming tool is discussed for better code understanding and debugging. The research aims to address challenges in EUP adoption, validation, and collaborative learning environments.
E N D
E Pluribus Unumfor end-user programming Christopher Scaffidi EUSES 2010
Uniting people, uniting code • Previous successes in supporting EUP code reuse and, to a lesser extent, EUP collaboration: • AgentSheets • CoScripter • Forms/3 • Matlab • Scratch • Topes • Yahoo pipes (and probably others that I’m forgetting… no offense intended!)
Several projects underway • High-level question: How to capture and use what programmers learn in order to help other programmers? • Different variants & specializations of this question in different contexts: • Web macros • Spreadsheets • Animations • Java code • Scientific code • Topes • GreaseMonkey scripts Spreadsheets Animations Java code Scientific code
Instructional repositories • Problem: We can’t teach every little programming technique in the classroom. • Idea #1: Automatically generate intelligent tutors (intelligent interactive instructional media) from open-source Java code. • Idea #2: Help programmers (particularly scientists) to share, find and adapt domain-specific Java code. • Some issues (suggestions appreciated): • How to validate effectiveness besides field study? • How to incentivize scientists to share their code (in a useful form)?
Raising adoption of EUP tools in classrooms • Problem: Many teachers are too intimidated by EUP tools to integrate them into the classroom. Excel is a good example. • Idea: Create an Excel “classroom deployment package” based on minimalist learning theory. • Stripped down Excel (all features turned on/off incrementally) • Repository of manuals (written by other teachers) showing how to use Excel for realistic classroom tasks (generalizing Maggie’s work) • Organized by topical domain, grade level, geography, … • Essentially integrating gardening with minimalist learning theory • An issue (suggestions appreciated): • What underlying foundational knowledge would you find interesting as a product of this research?
Understanding and debuggingcode during whitebox reuse • Problem: Users make many mistakes when trying to adapt existing code. Animation code is a good example. • Approach: Integrate a Whyline into Scratch programming tool • So that users can more easily understand what code causes outputs • So that users can debug faults that they observe or create • Some issues (suggestions appreciated): • How can we leverage the “reuse-ness” of this situation? • E.g., if users U1 and U2 both reuse an animation A, can we capture what U1 learns about A from Whyline, then use that knowledge to help U2?
Thank You… • For your questions, thoughts, and constructive feedback… • How to validate new collaborative environments w/o field studies? • How to incentivize participation in such an evaluation (or in real life)? • How can we capture and leverage user experiences and learning? • What new foundational knowledge would you find interesting?