Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Interactive systems for learning programming at scale
Philip Guo.YouTube,01:07:37,published onFeb 23, 2016,stanfordonline,https://www.youtube.com/watch?v=F4B3zEQxB5A.Type:Video
Date Reviewed: Sep 15 2016

Are you designing interactive learning services for teaching programming? Are you curious to explore how to improve the learner’s experience while learning a programming language for the first time using an online service? This video seminar by Philip Guo, Assistant Professor at the University of Rochester, is for you. Guo gives a clear and simple description of his work in the human–computer interaction (HCI) area, as applied to enabling novices learning programming. He discusses the challenges in learning programming languages and how he has designed a scalable visualization that addresses the need for fidelity in tutor–learner communication.

We are living in the era of massive open online courses (MOOCs). Guo presents the challenges in learning programming for a novice and the benefits of communication effectiveness between tutor and learner in a face-to-face situation. Inspired by face-to-face situations, Guo goes on to describe his solutions that are effectively deployed in online situations. Python Tutor, which he created, visualizes the program execution for the learner [1]. It presents a dynamic, diagrammatic visualization of a code segment as it executes. The unique contribution in this part of the work is the aspect of language-independent graphical vocabulary and grammar. This novel grammar of graphics makes it easy to represent data for visualization, as a memory block address of primitive data elements, data structures, and so on.

Python Tutor supports seven popular, contemporary programming languages. About 1.5 million people in more than 180 countries have used Python Tutor to visualize their code. This talk dives into details of Python Tutor and the associated HCI technology.

Guo covers the details of the Rosetta platform deployed at pythontutor.com. This enables visualization of program execution using program traces. It also enables the user to trace back the history of execution, a capability effectively used in multiple ways.

Guo goes on to describe Codechella, a synchronized visualization with chat that can foster authentic one-to-one tutoring and peer learning. This process is inspired by the in-lab interactions learners and tutors usually have. How could this high-fidelity interaction be enabled in a remote learning situation? Guo demonstrates Codechella, the multiuser, real-time visualization system achieving this experience.

Then, Guo goes on to describe the observation of lab tutor behavior in a programming lab. He draws inspiration from specific lab tutor behaviors such as timely, targeted, and proactive help, based on learner context. Guo demonstrates Codeopticon, a powerful tool for the tutor to monitor hundreds of learners in real time and proactively help the needy. These technologies can be effectively combined with MOOC services and labs for novice learners to improve their effectiveness in teaching programming to the uninitiated. The whole presentation is based on real-life inspirations, grounding it in reality.

Guo uses the term “scale” to indicate the architecture approach in designing Rosetta to deliver programming language independence to the solution. It does not necessarily mean to indicate the concurrent user scalability of the web service.

The model is currently conceived as a synchronous communication model but could be extended for communication across different time zones when the participants are not online together. Guo presents details on the user experience aspects and what was learned from users of this solution. He indicates the possibility of using this HCI method for nonprogramming domains such as art making and law.

Guo’s talk is just shorter than an hour, followed by questions and answers. He delivered this talk on February 19, 2016 at the Stanford Center for Professional Development. Guo deserves kudos for making an engaging presentation. The demos and concepts explained in this video are most valuable for anyone designing an online course for a programming language or other creative tasks. If you are a novice learner of any contemporary programming language, try using pythontutor.com.

Reviewer:  Sundara Nagarajan Review #: CR144770 (1612-0938)
1) Guo, P. Python Tutor, http://pythontutor.com (08/21/2016).
Bookmark and Share
  Featured Reviewer  
 
Computer Science Education (K.3.2 ... )
 
 
Python (D.3.2 ... )
 
 
Programming Languages (D.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Computer Science Education": Date
Pascal
Meyers R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780137256235)
Oct 1 1992
Software engineering education: the educational needs of the software community
Fairley R., Gibbs N.  Software engineering education: the educational needs of the software community,Carnegie-Mellon Univ. Software Engineering Institute, Pittsburgh, PA,1987. Type: Whole Proceedings
Aug 1 1988
Fundamentals of computing I
Tucker A., Bradley W., Cupper R., Garnick D., McGraw-Hill, Inc., New York, NY, 1992. Type: Book (9780070654495)
Feb 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy