The aim of this school is to introduce students to some aspect of (algorithmic) number theory and arithmetic geometry and the very fruitful interplay between those subjects and the applied disciplines of cryptography and coding theory. This interplay has been very fruitful in the recent and not so recent past, notable examples being the construction of cryptosystems using elliptic curves over finite fields and the construction of codes using algebraic varieties. Our program consists of four courses on algorithmic number theory, elliptic curves, algebraic coding theory and isogeny based cryptography, respectively. These courses will introduce the students to a variety of tools in number theory and arithmetic geometry as well as their applications in cryptography and coding theory. Topics will include class groups of number fields and Buchmann's subexponential algorithm for computing them, the Mordell-Weil theorem for elliptic curves over number fields, Reed-Muller code and Goppa code, algorithms to compute and evaluate isogenies of elliptic curves. Every course will combine theoretical and practical aspects: exercises and programming sessions will be held in all four courses, putting students' proactive learning at the center of this project.