NDAK15000U Advanced Java
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.
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.
To be defined.
Operating systems concepts, such as concurrency and communication abstractions.
- Category
- Hours
- Exam
- 14
- Lectures
- 15
- Practical Training
- 25
- Preparation
- 15
- Total
- 69
If you are not a student at The Faculty of Science at The University of Copenhagen click here.
- Credit
- 2,5 ECTS
- Type of assessment
- Written assignmentTo 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.
- Aid
- All aids allowed
- Marking scale
- passed/not passed
- Censorship form
- No external censorship
One internal examiner.
- Re-exam
The re-exam will consist of a resubmission of the larger project assignment used as the ordinary 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.
Course information
- Language
- English
- Course code
- NDAK15000U
- Credit
- 2,5 ECTS
- Level
- Full Degree Master
- Duration
- Placement
- Summer
The course will be held in week 34.
- Schedule
- The course will consist of full time lectures and workshops for one week.
- Course capacity
- 100 students.
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Course Coordinators
- Marcos Antonio Vaz Salles (7-7970647566727643676c316e7831676e)