13 votes

What is the best way to teach Python for my 11-year-old sister that lives in another state?

This may seem an obvious question, but not as much as it seems. She uses Windows, I’m currently using Linux/macOS. How to instruct her to install her Python environment? Should I use Zoom, Skype, Google Hangouts, or another solution? Is there and easy way for live-drawing (online blackboard) to explain things to her visually? And, perhaps most importantly, how can I do that for free?

9 comments

  1. [3]
    stu2b50
    Link
    I'm not sure if that's a typo but if she has a Linux or Mac computer, they come with a python distribution installed. You can use any of the conference software. I'm most familiar with zoom...

    She uses Windows, is use Linux/macOS

    I'm not sure if that's a typo but if she has a Linux or Mac computer, they come with a python distribution installed.

    You can use any of the conference software. I'm most familiar with zoom because of work, but there is an option when screensharing for anyone in the call to annotate (I.e draw)

    4 votes
    1. [2]
      mrbig
      Link Parent
      I’m the one on macOS/ Linux, she’s on Windows Does Zoom have a whiteboard? That’s kinda important.

      I’m the one on macOS/ Linux, she’s on Windows
      Does Zoom have a whiteboard?
      That’s kinda important.

      1 vote
      1. teaearlgraycold
        Link Parent
        Zoom does have a whiteboard feature as well as remote desktop control.

        Zoom does have a whiteboard feature as well as remote desktop control.

        1 vote
  2. arghdos
    Link
    First, for setting up python on windows, I'd highly recommend Conda (specifically Miniconda). This takes out all the pain of trying to find pre-compiled packages for whatever VS edition that...

    First, for setting up python on windows, I'd highly recommend Conda (specifically Miniconda). This takes out all the pain of trying to find pre-compiled packages for whatever VS edition that version of Windows was built with (though if you insist on going that route, use this).

    As far as a development environment .... I would actually suggest maybe looking at a Jupyter notebook. It's designed to have short code snippets that can easily be run and re-run to immediately show output, has inline plotting support, can drop into pdb on an error, and is a decent intermediate development env. Heck, you can even write cells in Markdown for commenting / text. Here's an example of a pre-rendered notebook from a combustion code I used to work on so you get an idea what it looks like.

    Unless she really wants to learn programming, I would make your goal to find something she'll find fun that you can work towards, and incrementally teach her the things she'll need to learn how to get there. One of the things I always turned to when I was teaching programming to kids was Conway's Game of Life because:

    • it's simple, but still requires you to know about things like variables, arrays, conditionals, for-loops, etc.
    • it's cool
    • and it can be written like 50 lines of code (though your first version will likely be way more if-then heavy :))
    2 votes
  3. knocklessmonster
    Link
    What do you know in terms of chat services? Skype and Zoom are your best options, and support all platforms. Zoom definitely supports annotating over your shared screen (I've had professors use...

    What do you know in terms of chat services? Skype and Zoom are your best options, and support all platforms. Zoom definitely supports annotating over your shared screen (I've had professors use it), and Skype might, but I can't find anything conclusive, so you'll want to look into it. Both are easily installed on Windows, Mac and Linux. Both are available for free, no strings attached.

    Which editor are you using to teach her? I'd recommend IDLE, as it's already in the Python distribution, or eric, as both allow you to interact with the shell if you're going to be showing her how to process basic user inputs. eric is extremely useful if you want to introduce her to GUI programming with PyQt5. Getting eric set up in Windows fully takes a couple of small extra steps to get Qt Designer running fully (feel free to ask if you go that route), and is a full IDE, so it may be a little overwhelming at first.

    Which version of python? Maybe match your distro, as they're all vary similar, and if she gets into it, any API changes are listed in the docs pretty well as far as I've seen (I'm learning Python myself).

    1 vote
  4. mxuribe
    Link
    May i suggest the book "A Smarter Way to Learn Python: Learn it faster. Remember it longer." by Mark Myers amazon link I used this book myself, and my teen daughter is going through it now. The...

    May i suggest the book "A Smarter Way to Learn Python: Learn it faster. Remember it longer." by Mark Myers amazon link

    I used this book myself, and my teen daughter is going through it now. The chapters are really short (perfect for attention spans that have not been trained in computer science), and then you go to a companion website to complete a dozen or so exercises per chapter. The model for learning via this book's approach is really neat and impressive! It will seem simplistic at first, but after several chapters, when the student sees how quickly they became proficient, its creates a virtuous cycle. I'm not at all affiliated with this book...i just bought it per someone else's recommendation, and was impressed.

    As far as "following along" with your sister, using zoom, jitsi, etc. might be good. In fact, if you sister uses the above book, then you could both connect via zoom/jitsi as she goes through the exercises so that you can provide real-time assistance, answer her questions, etc. Kudos to you for helping your sister learn python, and good luck!! 👍

    1 vote
  5. entangledamplitude
    Link
    These days, you can install Ubuntu an an “app” in Windows: https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6 I expect that would make several practicalities easy because setting up Python in...

    These days, you can install Ubuntu an an “app” in Windows: https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6

    I expect that would make several practicalities easy because setting up Python in Windows is not the easiest thing.

    Also refer “windows subsystem Linux”

    For a shared online whiteboard, see Twiddla.

    ——

    Also, if you’re open to suggestions other than Python, I might recommend scratch.

    1 vote
  6. Staross
    Link
    Are you set on python ? otherwise I would go with processing, it's much easier to setup and more fun for a kid : https://processing.org/examples/bezier.html

    Are you set on python ? otherwise I would go with processing, it's much easier to setup and more fun for a kid :

    https://processing.org/examples/bezier.html