NotesFAQContact Us
Search Tips
Peer reviewed Peer reviewed
Direct linkDirect link
ERIC Number: EJ930411
Record Type: Journal
Publication Date: 2011
Pages: 14
Abstractor: As Provided
Reference Count: 16
ISSN: ISSN-1547-9714
Two-Dimensional Parson's Puzzles: The Concept, Tools, and First Observations
Ihantola, Petri; Karavirta, Ville
Journal of Information Technology Education, v10 pIIP 119-IIP 132 2011
Parson's programming puzzles are a family of code construction assignments where lines of code are given, and the task is to form the solution by sorting and possibly selecting the correct code lines. We introduce a novel family of Parson's puzzles where the lines of code need to be sorted in two dimensions. The vertical dimension is used to order the lines, whereas the horizontal dimension is used to change control flow and code blocks based on indentation as in Python. Python blocks have no explicit begin/end statements or curly braces to mark where the block starts or stops. Instead, indentation is used to define starts and stops of blocks and functions. In addition, we introduce tools supporting two-dimensional Parson's puzzles: (1) MIT licensed JavaScript widget to embed our puzzles to any HTML, and (2) server to create, share, and solve puzzles. We have observed how experienced programmers solve our puzzles. Such users often start by dragging the method signature to the beginning and continue by defining majority of the control flow (i.e., loop statements, assignments, conditional statements). Only after these are done, details, including initialization of variables and handling of corner cases, are dragged to correct positions in the middle of the previously structured code. This shows that even experts are not able to solve puzzles linearly, i.e., line by line, starting from the first. Thus, user interfaces (UIs) should minimize the work needed to insert a line between two adjacent lines of existing code. In some of the existing Parson's Puzzle UIs this is not the case. Another observation we made is that too often users don't ask or use automated feedback. Why this happens needs further investigations. Perhaps experienced users are too proud to ask a tool to help them (especially when being observed), or perhaps users don't recognize when they are stuck and should ask for help. Providing constant feedback is one way to tackle this problem. However, the obvious downside of the constant feedback is that solving an exercise can become trial-and-error repetition. (Contains 5 figures.)
Informing Science Institute. 131 Brookhill Court, Santa Rosa, CA 95409. Tel: 707-537-2211; Fax: 480-247-5724; Web site:
Publication Type: Journal Articles; Reports - Evaluative
Education Level: N/A
Audience: N/A
Language: English
Sponsor: N/A
Authoring Institution: N/A