Python
Foundations
- MITx: Introduction to computer science and programming using Python: designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.
- Programming Foundations: aims to introduce students to programming in Python and working with computers.
- Programming with Python: a first introductory Python tutorial. This introduction to Python is built around a common scientific task: data analysis.
Intermediate
- Python for collaborative software development: highly suggested tutorial. You can learn the best-practices for collaborative software development and design. You will learn how to use Git and Github, how to leverage integrated development environments (IDEs), how to setup tests for your code and which are the most important software architectures and software management actions.
- Object-oriented programming (OOP) in Python: a simple first introduction to OOP in Python. The website contains many other useful resources also reachable through hyperlinks.