ABSTRACT
This paper presents Online Python Tutor, a web-based program visualization tool for Python, which is becoming a popular language for teaching introductory CS courses. Using this tool, teachers and students can write Python programs directly in the web browser (without installing any plugins), step forwards and backwards through execution to view the run-time state of data structures, and share their program visualizations on the web. In the past three years, over 200,000 people have used Online Python Tutor to visualize their programs. In addition, instructors in a dozen universities such as UC Berkeley, MIT, the University of Washington, and the University of Waterloo have used it in their CS1 courses. Finally, Online Python Tutor visualizations have been embedded within three web-based digital Python textbook projects, which collectively attract around 16,000 viewers per month and are being used in at least 25 universities. Online Python Tutor is free and open source software, available at pythontutor.com.
- Udacity - 21st Century University. http://www.udacity.com/.Google Scholar
- C. Alvarado, B. Morrison, B. Ericson, M. Guzdial, B. Miller, and D. A. Ranum. Performance and use evaluation of an electronic book for introductory Python programming. Technical Report GT-IC-12-02, Georgia Institute of Technology, 2012.Google Scholar
- M. Bostock, V. Ogievetsky, and J. Heer. D3: Data-Driven Documents. IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis), 2011. Google ScholarDigital Library
- J. Campbell and P. Gries. Learning to Program: The Fundamentals. https://www.coursera.org/course/programming1.Google Scholar
- D. Crockford. JSON (JavaScript Object Notation). http://json.org/.Google Scholar
- J. DeNero. CS61A: Structure and Interpretation of Computer Programs. http://www-inst.eecs.berkeley.edu/ cs61a/.Google Scholar
- R. J. Enbody, W. F. Punch, and M. McCullen. Python CS1 as preparation for CGoogle Scholar
- CS2. In Proceedings of the 40th ACM technical symposium on Computer Science Education, SIGCSE '09, pages 116--120, New York, NY, USA, 2009. ACM.Google Scholar
- A. J. Hartz. CAT-SOOP: A tool for automatic collection and assessment of homework exercises. Master's thesis, MIT Department of Electrical Engineering and Computer Science, Cambridge, MA, June 2012.Google Scholar
- J. Helminen and L. Malmi. Jype - a program visualization and programming exercise tool for Python. In Proceedings of the 5th International Symposium on Software Visualization, SOFTVIS '10, pages 153--162, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- B. Miller and D. Ranum. Beyond PDF and ePub: toward an interactive textbook. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, ITiCSE '12, pages 150--155, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- M. C. Orsega, B. T. Vander Zanden, and C. H. Skinner. Experiments with algorithm visualization tool development. In Proceedings of the 43rd ACM technical symposium on Computer Science Education, SIGCSE '12, pages 559--564, 2012. Google ScholarDigital Library
- A. Petersen, D. Zingaro, Y. Cherenkova, and O. Karpova. Facilitating Code-Writing in PI Classes. In Proceedings of the ACM technical symposium on Computer Science Education, SIGCSE '13, 2013. Google ScholarDigital Library
- S. Porritt. The jsPlumb JavaScript library. http://www.jsplumb.org/.Google Scholar
- D. Pritchard and T. Vasiga. CS Circles: An In-Browser Python Course for Beginners. In Proceedings of the ACM technical symposium on Computer Science Education, SIGCSE '13, 2013. Google ScholarDigital Library
- J. Sorva. Visual Program Simulation in Introductory Programming Education. Ph.D. dissertation, Aalto University, 2012.Google Scholar
- J. Sorva and T. Sirkia. UUhistle: a software tool for visual program simulation. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research, Koli Calling '10, pages 49--54, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
Index Terms
- Online python tutor: embeddable web-based program visualization for cs education
Recommendations
Thonny,: a Python IDE for Learning Programming
ITiCSE '15: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science EducationThonny is a new Python IDE for learning and teaching programming that can make program visualization a natural part of the beginners' workflow. Among its prominent features are different ways of stepping through the code, step-by-step expression ...
"Python first": a lab-based digital introduction to computer science
The emphasis on Java and other commercial languages in CS1 has established the perception of computer science as a dry and technically difficult discipline among undecided students who are still seeking careers. This may not be a big problem during an ...
Engaging Programming Assignments to Recruit and Retain CS0 Students: (Abstract Only)
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationMany universities offer an optional CS0 course taken prior to traditional CS1 and CS2 courses. Students enrolling in CS0 represent a variety of programming experience levels and majors. To more successfully recruit students to CS0 and retain students as ...
Comments