Advanced Java

Course content

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

Knowledge

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

 

Skills

  • 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.

 

Competences

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

 

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.

To be defined. 

Knowledge of basic Java programming.
Operating systems concepts, such as concurrency and communication abstractions.

ECTS
2,5 ECTS
Type of assessment
Written assignment
To pass the course, the student must pass the final larger project assignment. Submission via Absalon.
Aid
All aids allowed
Marking scale
passed/not passed
Censorship form
No external censorship
One internal examiner.
Criteria for exam assessment

See learning outcomes.

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 15
  • Practical Training
  • 25
  • Preparation
  • 15
  • Exam
  • 14
  • English
  • 69