The aim of this post is to help you:
- Learn the principles of how computers work
- Learn the basic concepts of programming (instructions/variables/loops)
- learn the bases of Python programming
- Learn how to execute, design, write and debug programs
Know the basic programming concepts:
- For loops
- Conditional statements
- Cnstants integers/floats/strings (insist that there are different types)
- Loops over sequences
- Functions/parameters/local variables/recursion
- File input/output
Have acquired some practical skills:
- Download some source code (e.g. Python) from the Internet (e.g. Github) and display it.
- Run a program from the command line
- open a terminal, interact with the shell
- navigate the directory structure with cd/ls
- type commands, possibly with options or arguments
- interrupt a running program (using the process manager)
- Execute a python script.
- Install missing modules
- Launch ipython and use it interactively (distinction shell/interpreter python)
- Use an editor (atom) to view/edit a Python script
- Find/read Python’s documentation
- What to do when there is a crash/error message
- Read the free online introduction to programming and computer science.
- Read How to think like a computer scientist.
For intermediate students:
- MIT’s Introduction to computer science and programming online course.
- Another excellent resource to go beyond this lecture is found here
For advanced students:
- Read Think Complexity, a book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science.
- Python for signal processing: http://www.scipy-lectures.org/