08:00 AM
12:00 PM
Room: 105

To get the most out of the tutorials, you will need to have the correct software installed and running. Specific requirements for each tutorial are specified in the detailed description for each tutorial. But it's best to start with one of the scientific Python distributions to ensure an environment that includes most of the packages you'll need.

NumPy and IPython

Valentin Haenel -


Part 1

Part 2


Valentin Haenel

Valentin Haenel is an software developer with experience working in a scientific context. He is the co-author of a scientific toolbox used in experimental psychology research and has worked on a large-scale brain simulation project in the past.

He has been teaching at the Advanced Scientific Programming in Python Summerschool materials where his main focus is the lecture on best practices and contributing to the schools programming framework Pelita. He has been tutorial chair for the EuroScipy conference in 2011 and 2012 and is one of the editors of the Python Scientific Lecture Notes. Recently, he taught a week-long course for PhD students and Postdocs at the EPFL in Switzerland and authored an article about interfacing Python and C.

See also:


This tutorial is a hands-on introduction to the two most basic building-blocks of the scientific Python stack: the enhanced interactive interpreter IPython and the fast numerical container Numpy. Amongst other things you will learn how to structure an interactive workflow for scientific computing and how to create and manipulate numerical data efficiently. You should have some basic familiarity with Python (variables, loops, functions) and basic command-line usage (executing commands, using history).


Ipython (1 hour)

  • Using the IPython notebook
  • Help system, magic functions, aliases and history

Numpy (3 hours)

  • Basic arrays, dtypes and numerical operations
  • Indexing, slicing, reshaping and broadcasting
  • Copies, views and fancy indexing

The tutorial will feature short bursts of small exercises every 5-10 minutes.

Required Packages

An install of Anaconda should be enough

  • Numpy (Version 1.6 or higher)
  • Ipython (Version 0.13 or higher)
  • Matplotlib (Version 1.2.1 or higher)


I have converted a large part of the Numpy chaper from the Python Scientific Lecture Notes to IPython notebook format using the sphinx2ipynb converter from the nbconvert project. All materials are collected in my scipy2013-tutorial-numpy-ipython Gitub repository at or