Official course description:

Full info last published 14/01-21
Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
MSc. Master
MSc in Software Design
Course manager
Associate Professor
Full Professor
Course semester
Efterår 2020
24 August 2020
31 January 2021
Exam type
ekstern censur
Grade Scale
Exam Language
This course teaches the basics of Java programming, enabling you to work practically in a modern high-level language

Computers operate under the hood by following programs: sequences of instructions of what to do, along the lines of “add 7 to this variable”, “write on the screen”, “proceed this way if x is 7, this other way otherwise”. Programs exist at all levels of abstractions, from the very low-level and verbose assembly language understood by hardware, over the concise and powerful high-level languages used by modern programmers, to domain-specific languages used in special-purpose situations.

This course teaches the basics of Java programming, enabling you to work practically in a modern high-level language.

Object Oriented analysis, design, and implementation Programming in Java:
Classes, objects, methods, fields, variables, simple types, expressions, statements, declarations, conditionals, lazy evaluation, repetition, recursion, class libraries, regular expressions collections, arrays, simple graphical user interface, static vs dynamic typing, virtual dispatching, generic types, class design, abstract classes, interfaces, encapsulation, test and documentation, file input/output, exceptions.

Formal prerequisites
You should be able to use your computer to send e-mails, browse the web, install new software. You don't need any programming experience to take this course.
The course is only open to ITU MSc Software Development - Software Design students.
Intended learning outcomes

After the course, the student should be able to:

  • Apply basic programming constructs in Java.
  • Explain basic programming constructs in Java.
  • Analyze a problem description, with the intent of implementing a solution.
  • Design a system based on an analysis.
  • Implement a system based on a design.
  • Test a system and evaluate to what degree the tests cover the system.
Learning activities

The first half of the semester (before the fall break in week 42) will mainly consist of lectures and exercises, covering most of the textbook. The first few weeks after the fall break will cover more collaboration and project related topics. The last four weeks of the semester is group project work without lectures.
In the first part of the semester, live coding exercises are also included, which are sessions where practical coding is illustrated based on student needs and what the teachers consider necessary.

Mandatory activities
The following activities must be approved to be eligible for the exam:
  • 7 out of 10 weekly assignments
  • 1 midterm (on-site, closed book)
  • group project (four week duration at the end of the semester)

All these activities are pass/fail.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

David J. Barnes & Michael Kölling.Objects First with Java - A Practical Introduction using Blue. Sixth Edition, Pearson, 2016. ISBN (Global Edition): 978-1-292-15904-1

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 30%
  • Lectures: 10%
  • Exercises: 10%
  • Assignments: 20%
  • Project work, supervision included: 20%
  • Exam with preparation: 5%
  • Other: 5%
Ordinary exam
Exam type:
C: Submission of written work, External (7-point scale)
Exam variation:
C22: Submission of written work – Take home
Exam submission description:
4 hour online exam.

Allowed aids: Everything, except communicating or collaborating with others.
Searching online is allowed, but posting questions on fora or chat is not allowed.

Random fraud control with Zoom will be conducted right after the submission.

Student Affairs and Programmes will randomly select 20 % of students who will have to show up in Zoom to check authorship of submitted solutions. The selection of students for fraud control will be published in LearnIT right after the exam together with a link to the Zoom meeting.

More information to follow in LearnIT.

(Please disregard the 1 day duration noted below.)
Take home duration:
1 day

Time and date