Coding
Programmiersprachen und ihre Funktionsweise
Die Teilnehmer lernen die grundlegenden Prinzipien und Konzepte von Programmiersprachen kennen. Es wird ein Überblick über hoch- und niedrigsprachige Programmiersprachen gegeben, wobei die Unterschiede zwischen diesen Typen klar herausgearbeitet werden. Hochsprachen wie Python und Java werden im Vergleich zu maschinennahen Sprachen wie Assembly betrachtet.
Vom Visual Programming zu 0 und 1
In diesem Abschnitt wird die Bandbreite der Programmierung von visuellen Programmiersprachen bis hin zu maschinennahen Sprachen abgedeckt. Beispiele für visuelle Programmiersprachen, wie Scratch, und maschinennahe Sprachen, wie Assembler, werden vorgestellt. Die verschiedenen Ebenen der Programmierung und deren Anwendungen werden erläutert.
Grundlagen der Programmierung
Hier werden die grundlegenden Konzepte der Programmierung vermittelt. Dazu gehören die Syntax und Semantik von Programmiersprachen, die Deklaration und Verwendung von Variablen und Datentypen (wie integer, float, string, boolean), sowie die Verwendung von arithmetischen, logischen und Vergleichsoperatoren.
Design Patterns
Design Patterns sind bewährte Lösungsmuster für wiederkehrende Probleme in der Softwareentwicklung. Die Teilnehmer lernen die Definition und den Zweck von Design Patterns kennen und erhalten Beispiele für gängige Muster wie Singleton, Factory und Observer. Die Anwendung und Vorteile von Design Patterns in der Softwareentwicklung werden ebenfalls besprochen.
Kontrollstrukturen
Dieser Abschnitt deckt die grundlegenden Kontrollstrukturen in der Programmierung ab, einschließlich Bedingungen und Verzweigungen mit if, else und elif-Anweisungen sowie Schleifen wie for- und while-Schleifen. Die Bedeutung der Schleifensteuerung durch break und continue wird ebenfalls erläutert.
Funktionen und Modularität
Die Teilnehmer lernen die Definition und den Aufruf von Funktionen, einschließlich der Parameter, Rückgabewerte und der Wiederverwendbarkeit von Code. Die Grundprinzipien der Modularität und die Aufteilung von Code in überschaubare, wiederverwendbare Module werden ebenfalls behandelt.
Grundlegende Datenstrukturen
Dieser Abschnitt vermittelt ein grundlegendes Verständnis von Datenstrukturen wie Listen, Arrays, Dictionaries, Hashmaps, Tupeln und Sets. Die Teilnehmer lernen, wie sie diese Strukturen erstellen, auf sie zugreifen und sie modifizieren können.
Einfache Algorithmen und Problemlösung
Die Teilnehmer werden in grundlegende Sortieralgorithmen wie Bubble Sort und Selection Sort eingeführt. Außerdem lernen sie Suchalgorithmen wie die lineare und binäre Suche kennen. Es werden systematische Problemlösungsstrategien und Debugging-Methoden besprochen.
Objektorientierte Programmierung (OOP)
Die Grundprinzipien der objektorientierten Programmierung werden vermittelt, einschließlich Klassen, Objekten, Attributen und Methoden. Konzepte wie Vererbung, Polymorphismus und Kapselung werden grundlegend erklärt und mit einfachen Beispielen veranschaulicht.
Einfache Projekte und praktische Anwendungen
Die Teilnehmer setzen ihr Wissen in kleinen, praxisorientierten Projekten um, wie z.B. der Entwicklung eines Taschenrechners, einer To-Do-Liste oder eines einfachen Spiels. Abschließend werden einfache Techniken zur Überprüfung und Verbesserung des eigenen Codes durch Code Reviews behandelt.
