Mondrian: a teachable graphical editor
INTERCHI '93 Proceedings of the INTERCHI '93 conference on Human factors in computing systems
IEEE Computer Graphics and Applications
Learning programs from traces using version space algebra
Proceedings of the 2nd international conference on Knowledge capture
ChucK: a programming language for on-the-fly, real-time audio synthesis and multimedia
Proceedings of the 12th annual ACM international conference on Multimedia
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Chameleon: adaptive selection of collections
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Communications of the ACM - Scratch Programming for All
FunFonts: introducing 4th and 5th graders to programming using Squeak
Proceedings of the 46th Annual Southeast Regional Conference on XX
Programming with angelic nondeterminism
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Expressing computer science concepts through Kodu game lab
Proceedings of the 42nd ACM technical symposium on Computer science education
TouchDevelop: programming cloud-connected mobile devices via touchscreen
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Comfusy: a tool for complete functional synthesis
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
QuickDraw: improving drawing experience for geometric diagrams
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Communications of the ACM
Synthesizing number transformations from input-output examples
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Complete completion using types and weights
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
The increasing adoption of smartphones and tablets has provided tens of millions of users with substantial resources for computation, communication and sensing. The availability of these resources has a huge potential to positively transform our society and empower individuals. Unfortunately, although the number of users has increased dramatically, the number of developers is still limited by the high barrier that existing programming environments impose. To understand possible directions for helping end users to program, we present Pong Designer, an environment for developing 2D physics games through direct manipulation of object behaviors. Pong Designer is built using Scala and runs on Android tablets with the multi-touch screen as the main input. We show that Pong Designer can create simple games in a few steps. This includes (multi-player and multi-screen) Pong, Brick Breaker, Pacman, Tilting maze. We make available Pong Designer as well as several editable games that we created using it. This paper describes the main principles behind Pong Designer, and illustrates the process of developing and customizing behavior in this approach