Topic: children vs. adults
Topic: experimental results on programming
Topic: event controlled processing
Topic: declarative vs. procedural representation
Topic: constraints
Topic: conditional expression
Group: repetitive control
Group: sets
Topic: termination of control unit
Topic: exceptions and undesired events
Topic: state machine
Topic: temporal relationships
Group: programming notation
Topic: programming with natural language
Topic: ease of use
Group: types of programming languages
Topic: logic
Topic: else clause
Topic: statement language
Topic: problems with logic programming
Topic: state
Group: conditional control
Topic: generic operations and polymorphism
Topic: object-oriented objects
Topic: problems with type inheritance
Topic: visual programming
Group: graphical user interface
Topic: mental models, consistency, and interface metaphors
Topic: non-constraining system
Topic: vivid representation of programs
Topic: programming language design
| |
Reference
Pane, J.F., Ratanamahatana, C., Myers, B.A.,
"Studying the language and structure in non-programmers' solutions to programming problems",
International Journal of Human-Computer Studies, 54, 2, February 2001, pp. 237-264.
Google
Notes
The Natural Programming Project, http://www.cs.cmu.edu/~NatProg
Quotations
240 ;;Quote: studies of paper solutions to programming tasks by non-programming children and adults; used PacMan video game and a database of names and values
| 241 ;;Quote: 1/2 of children used event-based rules in their paper solution to a programming task; no programming experience
| 241+;;Quote: in paper solutions to programming problems, 18% used constraints, 16% used declarations; 12% used imperative programming; children without programming experience
| 245 ;;Quote: in paper solutions to programming problems, AND mostly used for boolean conjunction, then sequencing
| 245 ;;Quote: in paper solutions, OR used much less frequently than AND; primarily for boolean disjuction, then clarification
| 246 ;;Quote: in paper solutions, sets or subsets used for 95% of statements on multiple objects; 5% loops or iteration
| 246 ;;Quote: in paper solutions with looping constructs, 75% had only a terminating condition
| 247 ;;Quote: in paper solutions with multiple options, 33% with mutually exclusive rules, 25% with general condition modified by exception
| 247 ;;Quote: in paper solutions that referred to past events, 50% used the present tense to mention a past event, 20% used the word 'after', 10% used a state variable
| 247 ;;Quote: in paper solutions, 85% treated progress as all or nothing instead of counting
| 247 ;;Quote: paper solutions specified mathematical operations in natural language, often with no missing information
| 249 ;;Quote: studies of paper solutions to database access tasks by non-programmers, both adults and children
| 251 ;;Quote: in paper solutions, 75% used AND incorrectly; e.g., "starts with G and L" instead of "G through L"
| 257 ;;Quote: allow multiple program styles; in paper solutions, participants used many styles including event-based, constraint, graphical constraints, declarative, imperative
| 258 ;;Quote: prefer set and subset expressions over iterative operations; avoids loop counters, terminating flags, and current object
| 259 ;;Quote: in paper solutions, participants preferred mutually exclusive rules or a general case followed by exceptions; allow an 'unless' clause everywhere
| 259 ;;Quote: in paper solutions, negation seldom used; e.g., 'and' appeared 6.1 times per participant while 'not' appeared 0.1 times
| 260 ;;Quote: in paper solutions, participants used future and past tense instead of state variables; but most programming languages require state variables
| 260 ;;Quote: in paper solutions, 90% of occurrences of 'then' concerned sequencing; instead of consequence
| 261 ;;Quote: in paper solutions, entities have state and they respond to requests for action; but no use of inheritance or polymorphism; object-oriented is not natural
| 261 ;;Quote: in paper solutions, 66% of participants used pictures or diagrams
| 261+;;Quote: pictures and diagrams used early in a solution, when defining setup and layout
| 262 ;;Quote: use paper solutions to capture mental plans; as transformed into a programming language
| 262+;;Quote: unnecessarily large gap between mental plans and programming languages
|
Related Topics
Topic: children vs. adults (33 items)
Topic: experimental results on programming (75 items)
Topic: event controlled processing (46 items)
Topic: declarative vs. procedural representation (54 items)
Topic: constraints (35 items)
Topic: conditional expression (11 items)
Group: repetitive control (7 topics, 117 quotes)
Group: sets (7 topics, 148 quotes)
Topic: termination of control unit (22 items)
Topic: exceptions and undesired events (29 items)
Topic: state machine (67 items)
Topic: temporal relationships (40 items)
Group: programming notation (14 topics, 221 quotes)
Topic: programming with natural language (27 items)
Topic: ease of use (47 items)
Group: types of programming languages (29 topics, 611 quotes)
Topic: logic (84 items)
Topic: else clause (11 items)
Topic: statement language (10 items)
Topic: problems with logic programming (10 items)
Topic: state (35 items)
Group: conditional control (7 topics, 142 quotes)
Topic: generic operations and polymorphism (67 items)
Topic: object-oriented objects (39 items)
Topic: problems with type inheritance (20 items)
Topic: visual programming (32 items)
Group: graphical user interface (24 topics, 512 quotes)
Topic: mental models, consistency, and interface metaphors (49 items)
Topic: non-constraining system (25 items)
Topic: vivid representation of programs (22 items)
Topic: programming language design (53 items)
|