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.

Ubuntu

Other linuxes

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

Windows

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.

Mac

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

Download

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

Install

There is no installing required.

Testing

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

PNGImg

In a terminal go to the folder where PNGImg.cc 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

./save-test.exe

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

Math

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.

Programming

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 https://www.programiz.com/cpp-programming/ are oversimplified, yet cover a bit more than what you need to know.