Learn Python

This site will NOT teach you basic Python programming for there are hundreds of excellent sites, videos and books out there that can help you with that. This site is mainly designed to help you learn about the extra commands that are available in EV3 Python that are not available in standard Python, such as commands to interact with the robot's motors, sensors, LCD screen, buttons and loudspeaker. However, I will give you a few words of advice on this page only about learning the basics of standard Python.

Before you study the robot-related commands that are unique to EV3 Python you should get a good feel for standard Python. To get familiar with standard Python you will want run Python on your PC - it is more difficult to work with Python on the EV3 because you have to communicate with the EV3 via a clumsy console interface. You will of course need Python version 3 on your PC (version 2 is now obsolescent) - I'm guessing it's already there but you should make sure and install it if necessary

To edit Python programs you can use any text editor but that would be a mistake - it's much better to use an 'Integrated Development Environment' (IDE) since an IDE will give you extra features like help with debugging and 'autocomplete' where you only have to type the first few characters of a word and the IDE will guess the word that you are wanting to type, saving you a lot of time. The Python IDE that I recommend you use is PyCharm Edu, which is a free version of the very well-known and popular PyCharm. Some reasons why PyCharm Edu is perfect for beginners:
  • as its name suggests, PyCharm Edu is designed for beginners, with a simplified interface
  • PyCharm Edu is designed to allow users to follow interactive Python courses with fill-in-the-blank exercises. A good course on Python basics in included in the PyCharm Edu installation. It is also possible for users of PyCharm Edu to make their own interactive courses.
  • if you want to take your Python skills to a very high level then you can easily upgrade at any time to the full, paid-for version of PyCharm, as used by many professional programmers.
  • the educational institutions using PyCharm Edu include the universities of Princeton, Harvard and Stanford - need I say more?
  • Pycharm Edu is a better choice for learners than the other free version of PyCharm called the 'community edition'.
Only when you have become used to working with standard Python on your PC should you consider learning about the extra functions that EV3 Python offers - when are ready for that you should read this page.

Online Python Courses
I haven't checked which versions are used by the sites listed below. I am not aware of many Python courses specifically aimed at teens but there must be some out there - please let me know about any good ones you come across! Here is a selection of some of the best known Python sites:
  • Codecademy offers a free interactive course which I have used with my students. They like the interactivity but the course is rather limiting - it gives you a feel for what Python is like but doesn't really attempt to get you writing your own programs. The way it tracks your progress (once you're logged in) is nice. No ads.

  • Learn Python the Hard Way Has videos but is not interactive. No ads.

  • Learnpython.org is interactive but has ads.

  • Introduction to Programming with Python by Alison / Khan Academy. Free but with ads.

  • Invent with Python seems to target a younger audience, which is rare. Not interactive. No ads. Based on Python 3.

  • The Python Tutorial. This is the official tutorial on python.org but it's not interactive and teens will find it hard work. No ads.

  • The Hitchhikers Guide to Python suggests many more courses for beginners.