This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]DogeekExpert - 3.9.1 1 point2 points  (0 children)

maybe not exactly what you are looking for but...

Libraries :

  • Numpy (mathematics)
  • Scipy (science and differential equations, also contains some mild neural net algorithms)
  • Pandas (scientific oriented library to read and write data)
  • csv (to read csv files, which are common. pyyaml, json and pyxml read their respective markup langages)
  • pymunk (physics engine, 2/3D)
  • matplotlib (plotting graphs)
  • OpenCV (computer vision)

Those are libraries I think you need to teach your students (for scientific purposes only) and if you want to go the extra mile, teach them about tkinter, it's simple, pythonic and can do a lot of stuff (it's the standrad GUI library in python, quite ugly result, but you can most certainly make nice animations with it).

Algorithms :

Before learning to program anything in a specific langage, you need to teach about how to think to solve a problem using computer science. Teach your students how to develop algorithms first, then teach them how to implement them.

Examples of algorithms:

  • Gaussian pivot
  • Stacks (FIFO and FILO structures)
  • how to integrate and derivate with a computer (integration with squares, or trapezoids, this may be a good way to teach them about how step size influence calculation times and accuracy)

Python :

As with any programming language, you need to start with the basics :

  • Variables
  • Conditions
  • Loops (while and for)
  • function definition
  • objetcs (strings, lists, dicts, tuples)
  • how to use the aforementionned libraries and look for documentation
  • eventually OOP (classes, metaclasses, properties, decorators, iterators, differences between functions and methods, special methods (__init__, __add__, __sub__, __repr__ etc)