Preparation for the workshop

The instructions below should be followed two weeks before the workshop.

Installing gcc and libpng

In case of failure, use Internet searches and/or help from friends before trying to contact me.


Other linuxes

Similar, but the package manager may be different from apt. Use an Internet search to find out.


You may instead try and use the Microsoft Visual C++ compiler from the command-line, install libpng yourself, but I will not provide assistance in this case.


What are they

GCC: the Gnu Compiler Collection, contains a compiler for C++

libpng: the official C language library for saving/loading PNG image files to/from arrays of pixels. It is C++ compatible.

My code


Go to the following Github page where I have put some code I wrote, download the source code and unzip it:


There is no installing required.


As opposed to the first section, in case of problems, you are encouraged to contact me quickly.


In a terminal go to the folder where sits with its test file save-test.cpp and type

g++ -std=c++11 -Wall --pedantic-errors save-test.cpp -lpng -o save-test.exe

It should create a program file called save-test.exe. Execute it by typing


It should create (overwrite if it already exists) an image file called test.png in the folder where you called the program. If it does not work contact me.

Basic knowledge


You should know complex numbers and have notions about polynomials of a complex variable, and the two equivalent definition of holomorphic functions of a complex variable : as a function that is complex-differentiable everywhere and as a function that is power series expandable everywhere.


Familiarity with C++ is not required but I will assume that the participant has basic knowledge of programming: for loops, if then else, functions (aka methods, procedures, subroutines). Since C++ is a typed language, the participant should get familiar with that aspect (no need to learn pointers, though). We will barely use the advanced features of C++, so no need to learn them in advance.

If you have never done it: type (do not copy-paste: type every character!) and compile a basic "Hello world!" minimal C++ program.

The first three chapters of are oversimplified, yet cover a bit more than what you need to know.