Python tutoring · Online & Durban

Python tutoring for South African students one line at a time

For many students, Python is the first programming language they meet, and the first place things stop making sense. I'm Jorryn, a Durban tutor who learned to code from zero during my own IIE degree. I tutor Python one-on-one, online anywhere in South Africa or in person in the Durban area, working on your own code.

  • Full Stack Impact Award 2025
  • Top of class of 200+
  • 150+ students guided
  • Featured in IOL
Jorryn Panjasuran, tutor and web designer, at his 2025 graduation
Top of class · Impact Award 2025

Who Python tutoring is for

Mostly first and second-year university and college students taking a programming module that uses Python. Some have never written code before. Others got through the first few weeks fine, then hit functions or classes and stalled. Both are normal. I started my degree with no coding experience at all, so I never assume anything is obvious.

I fit sessions around your course: this week's practical, the topic your lecturer moved through too fast, or the test coming up. If you're coping but want cleaner, better-organised code, we can work on that too. My support is aimed at beginners and intermediates, so we start wherever you actually are, not where the module outline says you should be.

What we can cover in Python

I teach Python the way you'll be assessed on it. You need to read code, predict what it does, write it from a blank file, and fix it when it breaks. So we don't just admire finished examples. We build small programs, change one thing at a time, and watch what happens.

If your trouble is less about Python and more about the thinking behind it, like sorting, searching or choosing the right structure for your data, my algorithms and data structures tutoring goes deeper into that side, with Python or Java examples.

  • Variables, data types, input and output
  • If statements, loops and the logic of conditions
  • Functions, parameters and return values
  • Lists, dictionaries and working with strings
  • Classes, objects and what self actually means
  • Reading error messages and debugging your own code

The Python moments that trip people up

A few moments come up again and again in first-year Python. The first is the difference between printing a value and returning it. Your function shows the right answer on screen, but the next line of code gets None. Nothing is broken: the function displayed the answer and then handed back nothing. Once you see that, functions start fitting together.

The second is indentation. In Python, spacing isn't decoration. It decides which lines belong to a loop or an if statement. Move one line a few spaces and your total gets printed ten times, or not at all. The third is the jump to classes and self, which feels like a new language until you've built a class yourself. None of these mean you're bad at programming. They're just the next step.

How I explain Python: a quick example

Say your practical asks you to add up a list of marks, and you've written “for mark in marks:” with “total = total + mark” indented underneath. I'll ask you to read it out loud in plain English: take each mark in the list, one at a time, and add it to the total. Good. Now, what is total before the loop starts?

That question is usually where it clicks. If total was never set, Python stops with a NameError saying total is not defined. The error isn't random. It's telling you exactly what's missing. Add “total = 0” above the loop and it runs. The fix is one line, but the idea that a variable has to exist before you can update it sticks for every program after.

Most of my Python sessions look like this: small pieces, explained in plain language, with you doing the typing. Even a quick question about one error turns into a lesson in reading a traceback from the bottom up, so that next time you can fix it without me.

Online across South Africa, or in person in Durban

Python works well online. We meet by video call, you share your screen, and we work in your own editor on your own files. That matters, because a lot of beginner Python problems turn out to be about indentation, a typo in a variable name or a file saved in the wrong folder, and I can only spot those on your machine.

If you're in Durban and prefer to sit next to someone, in-person sessions can be arranged in the Durban area. Sessions usually run 60 to 90 minutes, and can go longer for intensive exam prep. Rates depend on how often we meet and for how long, so you'll get a personalised quote. My online tutoring page explains the remote set-up in more detail.

Why students work with me

I'm in my second year of an IIE Bachelor of Computer and Information Sciences in Application Development, and Python and Java were part of my programming studies. I graduated top of a class of 200+ in the IIE Higher Certificate in Mobile Application and Web Development and won the Full Stack Impact Award 2025. In 2+ years of tutoring, I've guided 150+ students.

Nomvelo Dlamini (First-Year Computer Science) wrote: “I was genuinely lost in my first semester, falling behind and too embarrassed to ask for help in class. Jorryn made everything feel manageable. The sessions were calm, structured, and I finally understood what I was supposed to be learning. My grade improved significantly in two weeks.”

One thing I won't do is write your Python homework for you. I'll help you understand the question, plan the program and find the bug in your own code, and you'll leave able to do the next one alone. Programming tests are written without anyone beside you, so that's the skill that counts.

What we cover

  • Python basics
  • Conditions and loops
  • Functions
  • Lists and dictionaries
  • Strings
  • Classes and objects
  • Python OOP
  • Reading tracebacks
  • Debugging
  • Code structure

Questions people ask

Is Python hard to learn?

For most beginners, Python is one of the gentler languages to start with. The syntax is short and reads close to English. What makes it feel hard is usually the logic, not Python itself: breaking a problem into steps and keeping track of what each variable holds. That part gets easier with practice and someone to explain the why.

Is Python harder than Java?

Usually not, at first. Java asks you to declare types and wrap even a tiny program in a class, while Python lets you start with a few lines. But the thinking is the same in both: conditions, loops, functions, objects. I studied both, and if your course moves on to Java, my Java tutoring picks up from there.

Can you help with a Python error I'm stuck on?

Yes. Message me on WhatsApp at 065 838 9320 with the error and what you're working on, and I'll usually reply within 24 hours to set up a session. Online, you share your screen and we read the error together. I'll show you how to trace it, so you understand why it happened, not just how to make it disappear.

Can you help with Python OOP and classes?

Yes. Classes are where many Python learners stall, usually on self and on the difference between a class and an object. We'll build a small class together, create a couple of objects from it, and watch how each one keeps its own data. Once you can see that happening, methods and attributes stop feeling abstract.

Are online Python lessons as good as in person?

For coding, online sessions work very well, because we're looking at your actual screen, files and errors. You need a laptop with your Python setup, a stable connection and somewhere quiet for a video call. If you're in Durban and learn better face to face, in-person sessions in the Durban area are also an option.

How many Python sessions will I need?

It depends on where you're starting and what's coming up. Some students book one focused session before a test; others meet regularly through the semester. In our first conversation I'll ask where you're stuck and what you're aiming for, and we'll decide on the format together.

Stuck on a Python practical?

Send me a WhatsApp on 065 838 9320 with the topic or error that's holding you up, and we'll book a session around your module. Prefer email? Use the contact form. I typically reply within 24 hours.