Introduction to Programming with Python -- Cogmaster
HTML Jupyter Notebook JavaScript Python CSS Makefile Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Introduction to Programming (AIP2016)

For the academic year 2016-17, the lecture is split into two series: info1 and info2

If you are already programming fluently in some languages other than Python, we will happily recommend some books to learn Python and give you some programming challenges


These courses are mostly intended for beginners but students who already have rudiments in programming (e.g. only know Matlab) can benefit from them. Also, note that knowledge of Python and of the skills listed below is a requirement for the other hands-on classes of the Cogmaster (Atelier d'experimentation, de simulation, ...) .

The aim of these lectures 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

At the end of this series of lectures, you should:

Know a little bit about computers' architecture

  • Computer = Automaton + Memory store (Turing machines)
  • Intro to Machine language (Register machine Rodrego)
  • High-level languages. Compilation/interpretation.
  • What does an operating system do?

Know the basic programming concepts:

  • forever loops
  • conditional statements
  • constants integers/floats/strings (insist that there are different types)
  • variables
  • lists/dictionaries
  • loops over sequences
  • functions/parameters/local variables/recursion
  • modules
  • 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


Lecture materials:

The files of the lectures are available on the web site

In particular, check the books folder and the list of all html and pdf documents.

You can keep a local copy of all the lectures using git with the repository at, following these instructions. (NOT YET UPDATED FOR 2016!!! WAIT)

External Resources

For beginners:

For intermediate students:

For advanced students: