Teaching Python with VEXcode VR
Schools have always had to deal with the tension between vocational and academic interests. Students will often ask, “When will I ever do this in real life?”.
Arguably, in Computer Science this tension is greater. Computer Science is a science, just like physics, biology, or chemistry. Most people do not assume that a high school student that is taking biology is going to be a biologist. However, high school computer science classes are often evaluated on whether the tools that they use will prepare students for a computer science career. We see this tension when people advocate that block-based programming is not “real” programming and also when there are arguments over which text-based programming language students should be taught first. The good news is that when it comes to the Python programming language, many of these tensions disappear.
Python is arguably the most in-demand programming language for job seekers. It is also one of the most popular programming languages for introductory Computer Science classes. The reasons why Python is popular in classrooms are many of the same reasons that Python is popular in the workspace — Python has easy to read syntax and it is also platform agnostic. You can use Python in any operating system on just about any device. And now, you can program a VR Robot with Python also.
A key to learning a new programming language is the support that is provided. If you are just getting started learning Python, you can still use VEXcode Blocks to begin learning the Python commands. As you are building a project using VEXcode Blocks, you can see the Python project being built in the Code Viewer.
Most students find it easier to read and understand what a block of code does because the blocks are written in a more “natural” language. VEXcode VR allows you to become familiar with the Python language while still using VEXcode Blocks. Also, to get started coding with Python, you just need to launch VEXcode VR. No install is necessary. Just like with VEXcode VR blocks, you can use any major browser and most devices.
VEXcode VR Eases the Transition from Blocks to Text
Since there is no syntax when programming with blocks, many assume that the difficulty in transitioning from blocks to text-based programming is the learning of the syntax in a text-based programming language. While syntax can be a hurdle, it is by no means the only one. Research has identified numerous difficulties for learners when transitioning from blocks to text. VEXcode VR attempts to scaffold the transition from blocks to text-based programming by providing a visual representation of the Python language as the students create their project in blocks. Students can also convert their VEXcode Blocks project to a Python project–allowing them to make additional changes in Python, or to save their project in Python. If students are learning a new programming concept (e.g. making a variable), they can always begin to apply that knowledge in blocks and then convert their project to Python. Using the Code Viewer allows the transition from blocks to text to be much easier for students and teachers.
Programming with Python
Once students become familiar with the Python language, they can also start a new text project. However, all of the supports that were built into VEXcode VR Blocks still exist for Python.
- You can access help for each command
- You can use example projects as a reference or as a starting point for a new project
- You don’t have to memorize the Python commands. Instead, you can drag them into the workspace just like you would with VEXcode VR blocks
- You can watch a tutorial video on many different topics
- You can use the Knowledge Base for more information and support
When using Python with VEXcode VR, you still get the benefit of seeing immediate feedback from your robot. You can create a project, test it, make edits to your project, and test it again. The same tight feedback loop that you’ve become accustomed to with VEXcode VR also applies to Python.
One thing for Python that is different from blocks is the share feature. Using the share feature in blocks results in a PDF with an image of the project. With Python, using the share feature saves your project as an industry-standard .py file that you can now open in your text editor. This provides you with a very easy way to read the code.
Teaching Computer Science with VEXcode VR
There are many advantages to introducing Computer Science with blocks. VEXcode VR also adds the engagement and authenticity of using robots to learn Computer Science and to easily integrate Computer Science into STEM. Now, we’ve added Python and have done it in a way to make the transition from blocks to text-based programming easier. Every day, more and more students around the world are learning valuable programming concepts while using VEXcode VR, and now they’ll have the opportunity to continue their learning with Python.
About the author: Jason McKenna is the Director of Global Educational Strategy for VEX Robotics, overseeing all curriculum development and classroom integration for the VEX IQ and VEX V5 platforms. McKenna is an accomplished educational practitioner and strategist with 20 years of classroom experience and success in implementing STEM programs and robotics competitions for students at all levels.