PyCon UK 2019

Benefits of competition based libraries for beginners in Python
2019-09-15 , Room D

How can using a competition specific library enhance the learning of beginners in programming and what to keep in mind when developing one?


As in many fields, first impressions matter in programming too. A student's first encounter with programming will play a significant role in defining their relationship with it for the rest of their life. Will they fall in love with it or completely hate it? Having the right motivations can encourage the student to learn more while the tiny bits of frustrating errors can accumulate and push even the most eager beginner away. We believe that utilizing a competition specific library can act as a significant catalyzer in the enthusiastic beginner’s process of learning Python.

The idea for developing a physical computing library targeted towards beginners was born while we were organizing the first PiWars Turkey event at our high school in Istanbul. In the event, 20 mostly rookie high school teams from all around Turkey competed in various autonomous and remote controlled challenges with their Raspberry Pi based robots. Unlike many other competitions, we held a two-day long workshop a moth before the competition where we gave lessons on Introduction to Python, Electronics with Raspberry Pi, OpenCV and 3D design and supplied our participants with robot kits. Most importantly, we supplied the teams who had nearly no prior experience in programming with a custom PiWars Turkey library.

Having gone through the process of learning Python by creating Raspberry Pi based robots ourselves just a few years ago, we decided to develop a library for the use of our 20 rookie teams. This helped us gain significant knowledge on writing and developing a library for beginners in physical computing with Python, and once we received the participants’ feedback, we saw that the presence of the library had facilitated their learning.

In this session, we will try to tackle questions such as “Do libraries really benefit beginners while learning Python?”, “Is a competition based approach a good motivator for inexperienced programmers?”, and “What should a developer keep in mind while creating a library for beginners?”. We will also go over the codes and feedbacks of the teams who utilized the PiWars Turkey library to analyze the efficacy of this approach.

You can access the library from here
https://github.com/HisarCS/PiWarsTurkey-Library-Folders

Our website:
https://piwars.hisarcs.com/


Is your proposal suitable for beginners?: yes

I am a High School student going to 11th grade in Hisar High School, Istanbul Turkey. I have been enthusiastically developing projects in our school's computer science team and attending robotics competitions, hackathons and conferences all around the world.