In this paper, we present an education-focused Python IDE and runtime library which can run entirely in desktop, laptop, tablet, and mobile device web browsers. Our solution provides features useful for an engaging CS1 course, and eliminates the need for a server-based runtime. We describe a new, open source, methodology for running interactive Python entirely in the browser by solving the “WebAssembly blocking problem," a core technical challenge to a web-based Python solution. Because our method enables Python entirely in the browser, it unlocks many new features. For example, students can share their code with others, without incurring extra costs to the instructors or institutions. Other features include line by line code highlighting as a program executes, highly intuitive interactive graphics, mouse and touch integration, and use of a wide selection of Python modules such as Numpy and Pandas. Currently, our IDE has been used in 4 classes, covering more than 10,000 students and teachers, with over 350,000 projects created. We found that students and instructors appreciated the variety of tools and abilities the IDE made possible. We benchmark the performance of running code with our method against other online Python solutions and we discuss the benefits and additional possibilities that our method allows, such as mobile device and/or offline code execution. We provide full free public access to our IDE and open source the core libraries which enable the conversion of student written Python to WebAssembly.
Sat 23 MarDisplayed time zone: Pacific Time (US & Canada) change
10:45 - 12:00 | CS1 ToolsPapers at Meeting Rooms C120-122 Chair(s): Sergio Gago-Masague University of California, Irvine | ||
10:45 25mTalk | A Framework that Explores the Cognitive Load of CS1 Assignments Using Pausing BehaviorCC Papers DOI | ||
11:10 25mTalk | Hearing Iterative and Recursive BehaviorGlobalCC Papers DOI | ||
11:35 25mTalk | PyodideU: Unlocking Python Entirely in a Browser for CS1GlobalCC Papers Thomas Jefferson Stanford University, Chris Gregg Stanford University, Chris Piech Stanford University DOI |