Learning Outcomes
This class teaches how to program effective Java code, based on current standards for Java 9. The discussed techniques will be applied to problems in the field of agent-based transport simulations. Participants of this class will be better prepared to participate in large team Java projects and produce efficient, clean and effective Java code.
Content
The content will be based on the book “Effective Java” by Joshua Bloch, third edition. At the beginning of the semester, the sections of the book will be distributed among the participants. During the semester, the sections will be presented by the participants in 10min talks followed by discussion and experimental work. Everybody should roughly give 5 of these short talks during the semester.
The class includes, but is not limited to the following topics:
• Creating and Destroying Objects
• Methods Common to All Objects
• Classes and Interfaces
• Generics
• Enums and Annotations
• Lamdas and Streams
• Methods
• General Programming
• Exceptions
• Concurrency
• Serialization
Description of Teaching and Learning Methods
This class is highly based on mutual experimenting / lab work. Please bring your own laptop to work with (we might be able to borrow some devices, if required).