Diese Weiterbildung richtet sich an angehende Softwareentwickler, die ihre Fähigkeiten in der Programmierung und agilen Softwareentwicklung mit den Programmiersprachen Java, C, C#, und Python vertiefen möchten. Der Fokus liegt auf der Anwendung dieser Programmiersprachen in agilen Entwicklungsprojekten, wobei Methoden wie Scrum und Kanban zur Steuerung der Projekte vermittelt werden. Teilnehmer lernen, wie sie Softwareprojekte planen, entwickeln und implementieren können, während sie ihre Kenntnisse in objektorientierter Programmierung (OOP) und Best Practices der Softwareentwicklung ausbauen.
Weiterbildungsinhalte:
Grundlagen der agilen Softwareentwicklung
- Einführung in agile Methoden: Scrum, Kanban und agile Prinzipien
- Scrum: Rollen (Product Owner, Scrum Master, Entwicklerteam) und Events (Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective)
- Kanban: Visualisierung von Arbeitsprozessen und Work-in-Progress-Limits
- Vergleich von agilen und traditionellen Entwicklungsansätzen
Programmierung mit Java
- Grundlagen der Java-Programmierung: Syntax, Datentypen, Variablen
- Objektorientierte Programmierung (OOP) mit Java: Klassen, Vererbung, Polymorphismus
- Erstellung von Java-Anwendungen: Konsolen- und Webanwendungen (z.B. Spring Framework)
- Verwendung von Java in agilen Projekten: Testgetriebene Entwicklung (TDD) und Code-Refactoring
Programmierung mit C
- Grundlagen der C-Programmierung: Variablen, Arrays, Zeiger und Speicherverwaltung
- Arbeiten mit Funktionen und Modulen in C
- Entwicklung von eingebetteten Systemen und systemnahen Anwendungen
- Fehlerbehebung und Debugging in C-Projekten
Programmierung mit C#
- Einführung in die C#-Programmierung: Syntax, Variablen und Datentypen
- Entwicklung von Windows-Anwendungen mit C# und .NET Framework
- Arbeiten mit Klassen, Interfaces und Delegates in C#
- Entwicklung von Webanwendungen mit ASP.NET in C#
Programmierung mit Python
- Grundlagen der Python-Programmierung: Syntax, Datentypen und Kontrollstrukturen
- Entwicklung von Anwendungen und Skripten zur Automatisierung von Aufgaben
- Verwendung von Python-Bibliotheken für Webentwicklung (Django, Flask)
- Anwendung von Python in agilen Projekten: Testen, Debugging und Fehlerbehebung
Datenstrukturen und Algorithmen
- Grundlegende Datenstrukturen: Arrays, Listen, Stacks, Queues
- Entwicklung und Optimierung von Algorithmen zur effizienten Datenverarbeitung
- Sortier- und Suchalgorithmen: Quicksort, Merge Sort, Binary Search
- Anwendung von Big-O-Notation zur Laufzeitanalyse von Algorithmen
Testen und Debugging in der agilen Entwicklung
- Einführung in automatisierte Tests: Unit-Tests, Integrationstests
- Verwendung von Test-Frameworks (JUnit für Java, pytest für Python, NUnit für C#)
- Testgetriebene Entwicklung (TDD) und kontinuierliche Integration (CI) in agilen Projekten
- Debugging-Techniken zur Fehlerbehebung in Java, C, C# und Python
Best Practices in der agilen Softwareentwicklung
- Clean Code-Prinzipien: Strukturierung und Lesbarkeit von Code
- Refactoring-Techniken zur Verbesserung der Codequalität
- Versionskontrolle mit Git und Zusammenarbeit in Softwareprojekten
- Verwaltung von Projekten mit Tools wie Jira, Trello und GitHub
Projektmanagement und Zusammenarbeit in agilen Teams
- Planung und Durchführung von Sprints und Aufgabenverwaltung
- Effektive Kommunikation und Zusammenarbeit im Team
- Anforderungsmanagement und Erstellung von User Stories
- Verwendung von agilen Tools für die Projektüberwachung und Dokumentation
Anforderungen für die Teilnahme
- grundlegendes Interesse an IT und Programmierung
- eine abgeschlossene Ausbildung, ein IT-Studium oder eine entsprechende Anpassungsqualifizierung; oder ein bestandener Eignungstest
- Sprachniveau B1 in Deutsch