About the Course

Welcome to the course page of the Programming course! This course is a continuation of the course Introduction to Programming, in which you have already learned the basics of the Java Programming Language and will make you familiar with some of the concepts that are fundamental to functional and object-oriented programming languages.

This course page will act as the main reference for the course and contains practice assignments to make you familiar with the topics that are studied. In this course, there is a strong focus on assignments that you hand in via Codegrade that you can access via Canvas. Completing these practice assignments will help you to become familiar with the language and train you on how to tackle problems by means of computer programs.


The software that we recommend you to use for this course for programming is called IntelliJ IDEA. This is a so-called Integrated Development Environment (IDE) for writing Java code. IntelliJ is widely used throughout academia and industry and thus provideS you a good basis for any future programming that you do. Instructions on how to set-up IntelliJ on your own PC are given on this page. On university PC's, it will already be installed for use. Note that you are also allowed to use other programs to write Java code, such as Eclipse (which we used for this course last year) or Netbeans. Our aim is to use IntelliJ for our video's and demonstration during the question hours.


For the topics later in the course, a reader can be found on Canvas. Note that the topics covered in the reader are part of the exam materials, unless this is indicated otherwise.

Background Material

If you feel that you need some further background material, we advise you to look at the following two books:

  • Allen Downey, Chris Mayfield, Think Java: How to Think Like a Computer Scientist, ISBN: 9781492072508. An introductory book into Java. Does not cover all the topics that are covered in this course, but still can provide additional insights. A free PDF version can be downloaded via this link. A free e-book version of the book can also be acquired through the university library.
  • Joshua Bloch, Effective Java, ISBN: 9780134686097. This book has a lot of in-depth discussion on good and effective ways to program in Java in short items of a few pages that can be read separately. Some advanced topics we are do not cover are discussed in the book, but these can be easily skipped. The eBook can be accessed for free via the EUR University Library

Sessions and Support

Lectures are provided via Panopto videos, of which the slides are available on Canvas. During tutorials, you can ask questions and support for the work on your assignments. Furthermore, there are weekly demonstration and question hours, where the teacher will provide a hands-on demonstration and provide additional the topics of the previous week based on questions and remarks from the audience. See an overview of the provided sessions on this page.

Canvas Page

Note that more information can ben found on the Canvas page. Visit either the Canvas Page for the Dutch Course FEB22012 or the Canvas Page for the English Course FEB22012X.