Theo Holroyd's Journey: From Code Jumper to Python

Slide Note
Embed
Share

Theo Holroyd, a 15-year-old from Cambridge, England, shares his remarkable journey into the world of technology, coding, and Python programming. Despite facing challenges accessing traditional coding classes, Theo's passion for coding led him to explore Python with the help of accessible tools. Through his involvement with Code Jumper and dedicated learning methods, Theo embraced Python to enhance his coding skills and empower himself in the world of programming.


Uploaded on Dec 13, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. GETTING STARTED WITH PYTHON AND WHERE IT LED ME BY THEO HOLROYD

  2. ABOUT ME My name is Theo Holroyd and I am 15. I go to a mainstream secondary school in Cambridge, England. I am really interested in technology and how it works. I have also become interested in coding as it is very exciting for me to be able to build programs myself. I am a braillist and access the computer using screen readers such as JAWS and NVDA as well as through braille on a braille display.

  3. MY INVOLVEMENT WITH CODE JUMPER A few years ago, when I was 7, I was invited by Microsoft to help test out the first prototypes of Code Jumper. For several months, I made regular visits to the Microsoft Research office with three other young VI people where we thought of new ideas and helped design the way Code Jumper is today. We worked on design things like the indent on the loop pod to show how a loop works, which I thought would be really helpful. I really liked the physical system of using dials to set what each pod does, instead of using text coding on the computer (which would have been hard for me at this point). One of my favourite things about the process was debugging and one of the outcomes of a session Tim and I had together trying to think of all the different ways people could create bugs is the cool burp sound you hear nowadays when there is a bug in Code Jumper. By now, I had totally caught the coding bug.

  4. MEETING PYTHON I was barred from coding classes at school. Sadly, once my class at school started to learn about coding, they used an inaccessible, image-based system called Scratch and I could not join in the lessons. My QTVI thankfully set up some individual lessons instead to try to teach the same concepts but in a way that was accessible. I loved them. This is how I started to use Python.

  5. STARTING WORK ON PYTHON Using Code Jumper I prepared to move on to text-based coding by listening to the audio output of the code from code jumper when I made circuits. This gave me an idea of how code was structured. Python was a good next step for me as it expanded on the concepts that I was already familiar with such as variables, output, loops and conditionals.

  6. EARLY PYTHON SETUP My QTVI set me up in the following way. I used a laptop with JAWS (I did not have a braille display at this point). Hard copy braille code with correct indentation Started with Python shell (where you run one line of code at a time) and then installed the EdSharp text editor so I could write and save longer programs. EdSharp is accessible and nice and simple for beginners but you have to remember to put the text input() at the end of each program so that JAWS would read and add .py to the end of each filename so that the code would run.

  7. MY FIRST PYTHON PROGRAM The first Python program I wrote was very simple. It just outputted a simple, one-line message to the computer screen. I achieved this using only one line of code, a print statement. One of the first things I learnt was that in Python, print meant outputting to the screen and not sending something to a printer. You can try this out by simply saving a file with the name test.py containing the following two lines of code: print( This is a test ) input()

  8. PYTHON EARLY CONCEPT ACTIVITIES Finding jewels in a maze Printing out times tables in an accessible format Creating a simple hangman game and making it accessible Playing simple sounds based on a choice (e.g. asking if somebody liked robots and choosing sounds based on their answer)

  9. input() import random treasure = 0 print("You enter a dark old castle, you are in search of 5 treasures because you need them to get out. Instructions: to go left press l to go straight press s and to go right press r.") while treasure < 5: ran = random.randint(0,4) user_reply = input("You can go right, left or straight") if user_reply == "l": print("You find ", ran," treasures!") treasure += ran elif user_reply == "s": print("You find a bag containing ", ran ," treasures!") treasure += ran elif user_reply == "r": print("You go right and find a monster. Your treasures all get stolen and your are let through a trap door back to the beginning") treasure = 0 else: print("Sorry, please press l s or r") print("You have", treasure, "treasures") print("Your out! you walk out the door into the dark night. You arrive back home!") input()

  10. DRAWBACKS WITH THIS SET UP Not able to debug independently. The error messages were inaccessible as they were only on the screen for a very short time. I didn t have any output in braille so I couldn t see the structure of the code in real time (e.g. indents). Switching files in EdSharp is hard and requires digging around menus every time Although EdSharp was a great way to start, once I started to work with my mentor Tim, we made some changes to increase independence.

  11. MORE ADVANCED SET-UP Using the command line enables me to debug independently. In this setup the screenreader can read out error messages As debugging helps you learn how to code and problem solve I think the command line is vital Braille display connected to my computer. This way I can see the code outputted in real time and see indentations. I am much more independent. I usually input via the computer keyboard and read on the braille display.

  12. HANGMAN Example game I developed Many versions over time Python, very basic Swift, Experimental iOS App HTML, CSS and JavaScript, on website now: https://games.tactiletimes.org/hangman.php

  13. USEFUL ADDITIONS We started using GitHub to keep track of changes as we developed more complex programmes. This system also lets us work together on code. This has allowed me to work on projects with my friends and see what they had done as well as being able to share my code. Allows me to glance at my friends code which sighted people do by looking at each others computers Goki game example GitHub repository with this example and more: https://github.com/LegendusMaximus/symposium-example-code

  14. OTHER LANGUAGES Using HTML allowed me to build simple websites. The drag and drop builders are not accessible but raw HTML coding works really well for me. (e.g Tactile Times website) Java script and CSS for making more interactive websites Swift to learn about App development Django (using python) for current project

  15. PROBLEM SOLVING Important to know where to find examples of others work in different languages Git hub has been very useful for this. Cloning with command line. Looking up syntax error solutions on coding forums Working with an expert so I can learn by asking and doing together Asking others for help, having a community to ask

  16. GREAT THINGS ABOUT CODING It gives me: Feeling of independence Space to be creative Hobby to share with sighted and blind friends A way to solve problems I come up against empowering A possible career path It is FUN!

  17. ANY QUESTIONS? Do ask any questions you have Tim and I are also really happy to answer any questions you might have on the example Python exercise worksheets

More Related Content