SCOOT: an object-oriented text based computer programming teaching tool for novices, with an emphasis on ease-of-use

McArdle, Eugene (2017) SCOOT: an object-oriented text based computer programming teaching tool for novices, with an emphasis on ease-of-use. PhD thesis, James Cook University.

[img]
Preview
PDF (Thesis)
Download (1MB) | Preview
View at Publisher Website: https://doi.org/10.4225/28/5ac6a9c4bfaff
 
160


Abstract

IT educators have developed many tools and techniques to help novices learn to program computers, and yet learning to program is still hard. Some solutions attempt to remove the initial language barrier by replace code entry with another system, such as manipulating a graphical interface. There have been several attempts to create a visual language which allows 'novice' programmers to quickly learn programming skills including Tynker, Scratch and Alice. Case studies with Alice and other visual languages have shown a short learning curve, such that users are often able to create running programs, of varying degrees of complexity, within the first hour of exposure. Visual languages overcome initial barrier of code entry for novice programmers, and when combined with a good teaching environment and community they are a powerful tool for novices to learn - a fact which is supported by numerous case studies. Initially these visual languages were aimed at children, who would be more easily engaged by the visual interface, however in recent years visual languages (particularly Alice) have been implemented as part of introductory tertiary courses on programming. This lead to several case studies using Alice and other languages at a University level, where the focus is particularly on the transferability of the rapidly developed programming skills. Some studies indicate that many students are overwhelmed, confused and discouraged upon seeing their first 'real' programming language, whilst other studies indicate more successful transferability. The transferability of programming skills from a children's language has not always been seen as essential, but in light of the Queensland government's "Coding counts" initiative, and the inclusion of these languages in tertiary courses, their usefulness must be examined. This has coincided with a shift in how programming is taught at university, with object-oriented (OO) concepts now being introduced far earlier than in previous years. This dissertation argues that a text-based teaching tool designed to teach OO computer programming along with some foundational logical thinking skills is needed. The Student-Centric Object-Oriented Teaching Tool (SCOOT) was designed as a stepping stone to full 'commercial' programming languages, with a focus on transferability of skills to those languages. SCOOT was developed by selecting appropriate educational principles and examining existing novice languages. Papert developed three principles for teaching, the "Continuity principle", the "Power principle" and the "Principle of Cultural Resonance". These design principles influence many areas of education, including programming education. Research into the design of novice programming languages also identified common mistakes made when designing a programming language. Several design principles to avoid these pitfalls have also been researched. Based on modern coding principles and Papert's educational principles, the design principles for SCOOT were developed. They are: Predictability (the interface must behave in logical ways), Familiarity (new concepts must build on old concepts) and Simplicity (the interface and commands must be as clear and simple as possible). SCOOT's interface was designed to be as minimalist as possible, in order to minimise extraneous cognitive load. SCOOT incorporates basic programming skills, including conditional and iterative statements, all within an OO framework, where all variables and methods are part of an object. Simple inheritance is also provided, as are dynamic object editing capabilities. The effectiveness of SCOOT was tested in a series of half-day case studies involving university students, where participants learned some OO programming theory and subsequently completed a series of programming tasks using the SCOOT environment. All participants were novices to computer programming either half way through their first semester, or with no experience at all. The tasks completed by the participants included code writing, reading and debugging components. The participants experiences with the SCOOT environment were examined, using a series of constructs measuring perceived ease-of-use, usefulness and enjoyment (based on the Technology Acceptance Model, TAM). A similar series of sessions were conducted using C++, the computer programming language used in the introductory programming course at the University where this project was conducted. Steps were taken to ensure that the interface for both SCOOT and C++ were similar in visual style and complexity. The results showed significant reductions in the time to complete almost all tasks for SCOOT users, as well as significant increases in their performance in those tasks. SCOOT users also reported that they found SCOOT significantly easier to use than the users of C++. A correlation was also found between perceived ease-of-use and performance in most tasks. The simplicity of the SCOOT GUI did not introduce significant learning barriers in addition to the material. The degree to which users found the teaching tool easy to use is related to their performance using the principles being taught. A simplified teaching tool can teach basic programming principles without the constraints and overhead complexity found in typical introductory languages. A textual teaching tool overcomes the issue of transferability of skills.

Item ID: 53050
Item Type: Thesis (PhD)
Keywords: C++, computer programming languages, familiarity, lexer tokens, object-oriented, predictability, programming, SCOOT, simplicity, Student-Centric Object-Oriented Teaching Tool (SCOOT), teaching tools
Date Deposited: 05 Apr 2018 23:29
FoR Codes: 08 INFORMATION AND COMPUTING SCIENCES > 0803 Computer Software > 080308 Programming Languages @ 70%
08 INFORMATION AND COMPUTING SCIENCES > 0806 Information Systems > 080602 Computer-Human Interaction @ 30%
SEO Codes: 89 INFORMATION AND COMMUNICATION SERVICES > 8902 Computer Software and Services > 890201 Application Software Packages (excl. Computer Games) @ 70%
93 EDUCATION AND TRAINING > 9302 Teaching and Instruction > 930203 Teaching and Instruction Technologies @ 30%
Downloads: Total: 160
Last 12 Months: 9
More Statistics

Actions (Repository Staff Only)

Item Control Page Item Control Page