NDAK15000U Advanced Java

Volume 2016/2017

Programming systems software requires managing complexity.  Among the myriad of software programming languages which are used to build systems, 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 techniques and paradigms which make it an excellent tool to develop concurrent, 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 adaptors to connect to databases.



  • Use the Java platform as a tool to build distributed concurrent 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 workshops, 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
2,5 ECTS
Type of assessment
Written assignment
To pass the course, the student must pass the final larger project assignment. Submission via 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.

The re-exam will consist of a resubmission of the larger project assignment used as the main exam. Students that did not qualify for the exam can qualify for the re-exam by passing 60% of the assignment points of the five assignments offered during teaching. The qualification must be obtained at least two weeks before the re-exam.

Criteria for exam assesment

See learning outcomes.