User Tools

Site Tools


2ip90 in 2012

New: added information to the Grading section

This wiki page is about the course Programming that is being taught in September and October 2012. The course 2ip05, that was given in 2011, is a predecessor of this course and covers the same material. The homework assignments of 2ip05 were somewhat more demanding and warrant the 6 ects, whereas 2ip90 has 5 ects. Students of 2ip90 have to take the Professional Skills class on 18 October. This is not required for students of 2ip05. Both courses will have a laptop examination on 30 October 2012, 9:00-12:00.


Preferred means of contact above all: Lectures and instructions.

Before contacting us, please check the newly created Programming FAQ for already answered questions!

Email with X replaced by 1/2/3/4/5 (your instruction group). can be used as fallback.

Use this address to ask questions of any type about the course.

Mail to this address is read by a Dutch student assistant at least every hour (except during the night) and quickly answered or forwarded to the person who can answer it.

There have been some problems with the Please use the Gmail for now.

Support Hours

For students that have trouble with their exercises and/or assignments, there are extra voluntary support hours:

Schedule Location Present
Thursday hours 5-8 MF 3.102 1 Student assistant (Dutch)
Friday hours 3-break LaPlace 1.19 (basement) 2 Student assistants (English)
Friday hours 5-6 MF 3.102 1 Student assistant (Dutch)


Teacher: Kees Huizing office: MF 7.094; telephone: 040-2474120; email: c.huizing at; twitter: @mackees

Instructors: Dion Boesten, Elisa Costante, Ruurd Kuiper, Meilof Veeningen, Gerard Zwaan

Student assistants



The reader is written by Kees Huizing and Ruurd Kuiper. The lectures more or less follow the reader.

Online book

For those who want to read more about Java or want some further explanation, we recommend the online book Introduction to Programming Using Java by David J. Eck, 6th edition. It is available as online HTML and as downloadable PDF via

Weekly material

Week 7

Week 6

Week 5

Week 4

Week 3

Week 2

Week 1


Homework assignments

Every week there is a Homework assignment to be submitted via Peach. The assignment is usually visible from Tuesday morning. Most assignments can be made in pairs (individual submissions are allowed as well). If you work in a pair, submit from one account and add the other student as an author in the submission procedure. Some assignments might be individual only. This will be clearly stated in the description. Assignments must be submitted via Peach before the deadline. The instructor can extend your deadline in special cases.

Instruction exercises

During the instruction sessions, exercises have to made, supervised by an instructor. Some exercises are designated as exercises that have to be submitted. These exercises are not graded, but feedback will be provided and they are compulsory.


Students will get an exam with Java programming exercises, corresponding to the level of the instruction and homework assignments. During the examniation you may use your laptop. Using internet or other means of communciations is forbidden and will be blocked.

Try to practice with the old exams!


  • The 5 best results of the homework assignments and your work on the exercises contribute 40% to the final grade.
  • The examination contributes 60% to the final grade.
  • To qualify for a grade, the Professional Skills assignment has to be performed.
  • Aa a general rule in the Bachelor College, the grade of the examination has to be a 5.0 at least to pass.

The result of the homework assignment also counts with the result of the second chance examination in January.

Professional Skills

Instead of the lecture and instruction class, there is a session on Professional Skills on Thursday 18 October 8:45-12:30 in the scheduled rooms. Participation is compulsory for all students Software Science, Web Science, and Psychology and Technology. You will not get a grade for this course if you did not successfully participate.

Students who have missed the session of 18 October can send an email to Maurits van der Graaf (m.vdgraaf@pleiade.nl0. You will then get an assignment that you have to complete before 7 November.

Programming Competition

The competition is a completely optional part of this course: it does not affect your grade for 2IP90 in any way. You are free to choose how much of this competition you take part in: you can join or leave the competition at any time. If you take part in any part of the competition, your scores will be tracked and these scores will be publicly viewable along with your name. Of course, the person who has the highest score at the end of the course will be crowned the best programmer of the course, and Kees Huizing intends to give this person a prize.

The competition consists of 8 weeks of 3 exercises per week. 7 weeks coincide with the normal homework assignments, and the last week is longer and during the exam weeks. Every exercise can give you 5 points, for a total of 15 per week. The competition must be done individually: working together is not allowed. The deadline for all exercises is midnight in the night from Wednesday to Thursday, at which point the next exercise becomes available. The exercises are available through Peach, and this site will contain a changelog if a mistake is made in the exercise.

The exercises are designed to be short but difficult. They fit into the theme under consideration that week (except there will be no exercises about UIs). You will be able to complete all the exercises knowing just the topics that have been treated until that point in the course. The difficulty of the exercises should not change from week to week - if this is the case, then I have made a mistake.

The programs you submit should be clearly understandable: you may have to add comments to this effect. If I don't understand your code, even if it is correct, I cannot give you full points. Note that I am quite an experienced programmer, so I ought to be able to understand most submissions, except if you make a mess of things - comments for obvious things are not needed.

I will post solutions to all the exercises after the deadline is up. It may be a good idea to look at this code, if you are looking for code examples.

Cheating is obviously not allowed. Working together is not allowed. As all exercises are new, you won't find the solutions on the internet. I will grade all submissions, so I *will* find out if you cheat or work together. If you copy some solution from an online source, chances are very high that I will find out as well - the exercises are designed that solutions that can be found online are both suboptimal and easily recognisable as copied. Cheating will result in a ban from the competition, along with any measures Kees Huizing may see fit to take.

You can contact the organizer of the competition at a.p.t.brink at If you have questions about the competition, please use this address - you can also ask other questions about the course if you want.


Round 7

  • 28 oct 14:56: added example solutions for rounds 5 and 6.
  • 28 oct 14:04: unlocked deadline, updated scoreboard.

Round 6

  • 18 oct 12:24: unlocked deadline, updated scoreboard.

Round 5

  • 17 oct 20:54: an error was found in line 30 should be “for (int i = 0; i < secondN; i++)”.
  • 15 oct 18:48: an error was found in on line 147 the comment should be “While B != 0”. Also fixed automated testing.
  • 13 oct 16:19: added example solution for week 4, unlocked deadline, updated scoreboard.

Round 4

  • 7 oct 12:38: added example solution for week 3, unlocked deadline, released additional tests, updated scoreboard.
  • 4 oct 8:49: relaxed the constraints on what may be changed slightly: you are allowed to replace literal ints by static final ints (see the paragraph starting with 'update:').

Round 3

  • 1 oct 23:28: moved second paragraph to the 'input and output' section, to increase the likelihood the paragraph is read.
  • 1 oct 12:47: explained where points on the cuts in part 1 go, major clarification of part 3 (no actual changes, just a clarification).
  • 29 sept 16:19: added example solution for week 2, unlocked deadline, released additional tests, uploaded scoreboard.

Round 2

  • 21 sept 20:56: added example solution for week 1.
  • 21 sept 20:33: all submissions have been reviewed. Additional Peach tests have been added, so you can see where your code went wrong. Submissions have been unlocked (so you can submit code again, though this will of course not give you any points for the competition). Example solutions will be up in a moment.

Round 1

  • 17 sept 22:33: part 1: clarified that N is the number of pairs of islands and that costs are integer.
  • 16 sept 11:47: minor fix to part 3 examples (should not affect anyone).
  • 14 sept 17:30: added numeric bounds for all inputs.
  • 13 sept 19:57: part 2: emphasized that one can only go to the three cities immediately to the south/southeast/southwest of a city.


Example solutions

Teacher's corner

2012/2ip90_in_2012.txt · Last modified: 2013/09/02 17:34 by keesh