NDAK15000U CANCELLED: Advanced Java

Volume 2018/2019

Programming systems software requires managing complexity. Among the myriad of software programming languages, Java has gained prominence recently, as evidenced by projects such as JBoss, Tomcat, Lucene, and Hadoop. In this course we take a look at Java and the available programming methods and paradigms that develop it an excellent tool to develop competitive, distributed systems. This is not a beginner Java course and is intended for students with basic understanding in structured and object-oriented Java programming.


Learning Outcome


  • Advanced Java concurrency and communication constructs and libraries.
  • Advanced Java generics and reflection constructs.



  • Design and implement unit tests. 
  • Implement multi-threaded Java programs. 
  • Build distributed programs with network communication as the primary form of communication.
  • Make effective use of Java generics in elegant system design.
  • Use Reflection for runtime code generation and introspection.
  • Analyze and tune the performance of an application running on the Java Virtual Machine. 
  • Use database adapters to connect to databases.



  • Use the Java platform as a tool to build distributed competitor systems and reason about their behavior. 


To be defined. 

Knowledge of basic Java programming.
Operating systems concepts, such as concurrency and communication abstractions.
Full-time lectures and labs, in which students will continuously solve assignments. In addition, there will be a larger project assignment given at the end of the course with hand-in at a pre-determined date.
  • Category
  • Hours
  • Exam
  • 14
  • Lectures
  • 15
  • Practical Training
  • 25
  • Preparation
  • 15
  • Total
  • 69
Continuous feedback during the course of the semester

Written feedback is provided as comments to submitted assignments in Absalon.

Continuous feedback will only be provided during the week of teaching.  

2,5 ECTS
Type of assessment
Written assignment, 5 days
To pass the course, the student must pass the final larger project assignment. The assignment is take-home, and its duration will be set to five days. Submission in Absalon.
Exam registration requirements

To qualify for the exam, the student must pass 60% of the assignment points of the five assignments offered during the week the course is held.

All aids allowed
Marking scale
passed/not passed
Censorship form
No external censorship
One internal examiner.
Exam period

The exam will be held in the week following the course. 


The re-exam will consist of a resubmission of the larger project assignment used as the regular exam.

Students who do not qualify for the exam can qualify for a re-exam by passing 60% of the assignments of the five assignments offered during the course. The qualification must be obtained at least two weeks before the re-exam.

Criteria for exam assesment

See learning outcomes.