Three members of the Codesters team presented at PyGotham, an NYC-based conference for Python developers. In our talk, we discussed the process we used to develop a simplified API tool for younger students just learning to code. We focused on two questions that drive our thinking about developing tools for students:
1. What is the right way to teach younger students to code, particularly in professional text-based languages?
2. Should we modify CS 101 courses to be accessible to young learners or should we do something else?
At Codesters we believe that students can and should move from block-based coding to text-based coding around middle school (fifth or sixth grade). However, this doesn’t mean that we should teach young students to code the same way we teach high school or college students, and teaching differently requires different tools. For example, while we believe Python is the best language for getting students started with text programming, we teach Python in two ways that may be unfamiliar to a Python veteran.
First, we teach Python in an online learning environment, instead of teaching them to use an IDE and run their programs from the command line. We do this because we believe an online professional programming language is made more accessible when taught using tools specifically designed for learning.
Second, we teach standard Python, but we sometimes modify or extend the Python libraries to be effective for teaching a sixth grade classroom with 20 or 30 students. Our team has created a development process for determining when the Python standard library should be taught and when it is more appropriate to create simplified Python modules. This process involves close collaboration between our curriculum and development teams. This way, we can focus on writing clear curriculums that work for each grade level, while still staying true to teaching the fundamentals of Python and computer science.
A good example of this is the simplified API tool we developed for Codesters. This tool allows students to import data from any publicly shared Google Sheet into their Codesters programs with a few simple lines of code. It also imports the data as a list of strings or integers, so students don’t need to have a deep understanding of objects or data types. It’s capabilities open up a door for newer students – even sixth graders just learning to code – to easily bring data into their Python programs, making their projects more interesting and connected to the world.
We were proud to be part of PyGotham and thrilled to see CS education gaining steam. It’s notable presence as a topic at a conference for professional developers was heartening. Most exciting, though, was seeing education so prominently featured as the topic of the closing keynote: Empathy & Teaching by Katie Cunningham. We also, of course, enjoyed other excellent education-themed talks including Young Coders by Barbara Shaurette of letslearnpython.com and Creating a Culture of Computation by Evan Misshula of CUNY – Queens college.
Take a look at the slides from our talk, Opening the Magic Box, and keep an eye out for the forthcoming video. We look forward to playing more of a role in PyGotham and the Python community for years to come.