A System for Introductory Computer Science Education with A
Total Page:16
File Type:pdf, Size:1020Kb
Genost: A System for Introductory Computer Science Education with a Focus on Computational Thinking by Garret Walliman A Thesis Presented in Partial Fulfillment of the Requirements for the Degree Masters of Science Approved April 2015 by the Graduate Supervisory Committee: Robert Atkinson, Co-Chair Yinong Chen, Co-Chair Yann-Hang Lee ARIZONA STATE UNIVERSITY May 2015 ABSTRACT Computational thinking, the creative thought process behind algorithmic design and programming, is a crucial introductory skill for both computer scientists and the population in general. In this thesis I perform an investigation into introductory computer science education in the United States and find that computational thinking is not effectively taught at either the high school or the college level. To remedy this, I present a new educational system intended to teach computational thinking called Genost. Genost consists of a software tool and a curriculum based on teaching computational thinking through fundamental programming structures and algorithm design. Genost’s software design is informed by a review of eight major computer science educational software systems. Genost’s curriculum is informed by a review of major literature on computational thinking. In two educational tests of Genost utilizing both college and high school students, Genost was shown to significantly increase computational thinking ability with a large effect size. i ACKNOWLEDGEMENTS Special thanks to the following individuals: My thesis advisors Dr. Yinong Chen, Dr. Robert Atkinson, and Dr. Yann-Hang Lee for opening many doors and providing an enormous amount of feedback. Active Capstone team members Rizwan Ahmad, Garth Bjerk, Tracey Heath, David Humphries, Corey Jallen, Ian Plumley, Stephen Pluta, Randy Queen, and Matt Rechia, for helping to create both the Genost design and the Genost software and robot. Tracy Ryan and the staff of the Arizona School for the Arts, for helping to organize and run the ASA test. The Fall 2014 FSE100 professors Jadiel de Armas, Refika Koseler Emre, Ryan Meuth, Phillip Miller, Tahora Nazer, Yoalli Hidalgo Pontet, Satyabrata Sharma, and Chao Zhang, for assistance with the FSE100 test. Monica Dugan, Theresa Chai and the rest of the Brickyard staff, for their constant willingness to provide materials and rooms for my work and testing. And my wife, Naomi Walliman, for her support, feedback and considerable patience ii TABLE OF CONTENTS Page LIST OF TABLES ............................................................................................................ xv LIST OF FIGURES ........................................................................................................ xvii CHAPTER 1. INTRODUCTION ....................................................................................................... 1 1.1. The Status of STEM ............................................................................................. 1 1.1.1. The Demand for STEM ................................................................................ 2 1.1.2. The STEM Crisis .......................................................................................... 3 1.1.3. The STEM Crisis is a CS Crisis .................................................................... 5 1.1.4. A Response to the STEM Crisis ................................................................... 7 1.2. Computational Thinking ...................................................................................... 8 1.2.1. The Definition of Computational Thinking .................................................. 9 1.2.2. Components of Computational Thinking.................................................... 10 1.2.3. Computational Thinking is not Programming ............................................ 12 1.2.4. Computational Thinking is Important for CS Students .............................. 14 1.2.5. Computational Thinking is Important for Everybody ................................ 15 1.3. Thesis Outline .................................................................................................... 17 2. REVIEW OF COMPUTER SCIENCE EDUCATION ............................................. 19 2.1. Educational Goals of Introductory Computational Thinking Education ........... 20 iii CHAPTER Page 2.1.1. Is Computational Thinking Teachable? ...................................................... 20 2.1.2. Ability to Read and Understand Algorithms .............................................. 24 2.1.3. Ability to Engage in Abstraction ................................................................ 27 2.1.4. Ability to Decompose a Problem into Solvable Processes ......................... 30 2.1.5. Ability to Identify the Quality of a Solution ............................................... 33 2.1.6. Introductory Computational Educational Goals – Conclusion ................... 36 2.2. The Need for Introductory Computational Thinking Education ........................ 36 2.2.1. Introductory Computer Science Education Ought to Involve Computational Thinking ............................................................................. 37 2.2.2. Introductory Computer Science Education Ought to ONLY Involve Computational Thinking (and not Formal Syntax) ........................ 38 2.3. Review of Traditional Introductory Computer Science Education .................... 42 2.3.1. Review of Introductory Computer Science Education in United States Colleges ................................................................................ 43 2.3.1.1. Course Selection Criteria ..................................................................... 43 2.3.1.2. Course Information / Data Collected ................................................... 45 2.3.1.3. Course Review Results ........................................................................ 47 2.3.1.4. College Review Conclusion ................................................................ 49 2.3.2. Review of Introductory Computer Science Education in United States High Schools ........................................................................ 51 iv CHAPTER Page 2.3.2.1. Review of Literature on High School Computer Science Education .. 52 2.3.2.2. Review of AP Computer Science ........................................................ 57 2.3.2.3. High School Review Conclusion ......................................................... 59 2.3.3. The Poor State of Current Introductory Computer Science Education ....... 60 2.3.3.1. Failure Rates ........................................................................................ 60 2.3.3.2. Attrition Rates...................................................................................... 61 2.3.3.3. Student Ability to Program .................................................................. 62 2.3.4. The Reasons for this Poor State .................................................................. 63 2.4. Review of Newer Introductory Computer Science Education Software ............ 66 2.4.1. Methods and Themes in the Review of Newer Introductory CS Software ................................................................................................ 67 2.4.2. Overview of Newer System Categories ...................................................... 72 2.4.3. Code Based Virtual World Systems ........................................................... 77 2.4.3.1. Benefits of Code Based Virtual World Systems ................................. 80 2.4.3.2. Problems of Code Based Virtual World Systems ................................ 80 2.4.3.3. Takeaways of Code Based Virtual World Systems ............................. 81 2.4.4. Code Based Robotic Systems ..................................................................... 81 2.4.4.1. FIRST Robotics Competition .............................................................. 81 2.4.4.1.1. Benefits of First Robotics Competition ............................................ 83 v CHAPTER Page 2.4.4.1.2. Problems of First Robotics Competition .......................................... 84 2.4.4.1.3. Takeaways of First Robotics Competition ........................................ 85 2.4.4.2. Myro .................................................................................................... 85 2.4.4.2.1. Benefits of Myro ............................................................................... 86 2.4.4.2.2. Problems of Myro ............................................................................. 87 2.4.4.2.3. Takeaways of Myro .......................................................................... 88 2.4.5. Summary of Code Based Systems .............................................................. 89 2.4.6. Drag and Drop Virtual World Systems ....................................................... 91 2.4.6.1. Alice..................................................................................................... 91 2.4.6.1.1. Benefits of Alice ............................................................................... 93 2.4.6.1.2. Problems of Alice ............................................................................. 95 2.4.6.1.3. Takeaways of Alice .......................................................................... 96 2.4.6.2. Scratch ................................................................................................. 97 2.4.6.2.1. Benefits of Scratch ............................................................................ 98 2.4.6.2.2. Problems of Scratch .......................................................................