In diesem Kurs werden wir untersuchen, was es bedeutet, ein professioneller Softwareentwickler zu sein, insbesondere Prozesse, Tools und Techniken für die termingerechte Entwicklung von qualitativ hochwertigem Code. Themen beinhalten: Ethos der Softwareentwicklung, Testing, Dependency Management, Versioning und Branching mit Git, agile Entwicklung, Clean Code, Clean Architecture, XP, Refactoring, Arbeiten in einem Team.

Wir setzen voraus, dass Sie über Vorkenntnisse in der Programmierung von Software in einer prozeduralen oder objektorientierten Sprache verfügen. Wir werden Java für alle Beispiele und Übungen verwenden. Darüber hinaus sollten Sie wissen, wie Sie eine Kommandozeilenschnittstelle verwenden, z.B. eine Linux-Shell.