Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python 3 IDE for teaching [closed]

With Python 3 maturing and slowly gaining adoption, we're taking the plunge and adopting it in our introductory programming classes for kids aged 12-18. Is there a free (preferably open source) IDE you'd recommend that supports Python 3, preferably meeting the following criteria in order of necessity:

  1. Cross platform (Windows and Linux)
  2. Standard features: syntax highlighting, auto-indent, etc.
  3. Run button, rather than console where you have to type "python foo.py".
  4. Context-sensitive help (e.g. when they hover over math.floor() it should give help for the function).
  5. Embedded Python shell.
  6. Built-in debugger
  7. Useless crud stripped, e.g. they don't need refactoring tools during an intro class and auto-completion gets in the way of teaching. Along the same lines, it should be lightweight as some kids will go home to old PCs unable to run beefy IDEs such as Eclipse.
like image 562
moinudin Avatar asked Nov 27 '10 17:11

moinudin


People also ask

Which Python IDE is used for learning and teaching programming?

Thonny. Thonny is a popular python based IDE preferable for beginners that comes with excellent features to learn python programming. This IDE is ideal for learning and teaching python. It allows developers to see how their code and shell commands influence the Python variables.

Which Python IDE is best for beginners?

Beginner - IDLE, Thonny would be the perfect choice for first-time programmers who are just getting into Python. Intermediate - For intermediate level users PyCharm, VS Code, Atom, Sublime Text 3 are good options.

Which Python IDE is best for low end PC?

Spyder is another good open-source and cross-platform IDE written in Python. It is also called Scientific Python Development IDE and it is the most lightweight IDE for Python.


1 Answers

Komodo Edit meets most of your requirements (as others mentioned in the comments) and supports Python 3 from version 6:

  • Open source and free.
  • Cross platform (Windows and Linux, also Mac) ― built on XULRunner.
  • Standard features: syntax highlighting, auto-indent, etc. ― Komodo has the best Python auto-completion I've seen; they'll do automatic type inference from variable assignments.
  • Run button, rather than console where you have to type "python foo.py". ― Can be simply added.
  • Context-aware help ― supported when you press ( plus it will do this nicely on objects that have been instantiated from other classes.
  • Embedded Python shell ― The full Python shell integration is only in the commercial IDE, but you can easily hook up a shell into a command output window by adding a toolbox recipe for python -i.
  • Built-in debugger ― Unfortunately not (but neither do lots of the light-weight IDEs recommended above) ― this is only in the commercial Komodo IDE. I'd recommend using Winpdb alongside Komodo Edit for development ― it's faster than the Komodo IDE debugger (and lots of other debuggers) in my experience. Whether this'll fly with high school students would be the question.
  • Useless crud stripped ― Komodo's clearly got more stuff in it that IDLE so it depends how you see this. Auto-completion can be turned off.
  • Lightweight for kids who go home to old PCs unable to run beefy IDEs such as Eclipse ― This may also be a downfall ― I'd say Komodo is less beefy than Eclipse though.

Extra things to consider:

  • Komodo is great at web development: it supports nice syntax highlighting and code completion on embedded CSS inside HTML etc…
  • Support for extensions (along the same lines as Firefox, plus the extensions can be written in Python) ― this could be useful if you need some tweaks to the UI etc for the courses.
like image 170
David Fraser Avatar answered Sep 19 '22 11:09

David Fraser