Links überspringen

IT-Schulungen

Grundlagenjahr

Dauer 3 Phasen à 6 Wochen + Projektpräsentation
Voraussetzungen:  keine
QUALIDY Schulungen die begeistern

Unterrichtsgestaltung

(inkl. Theorie-/Praxisanteile)

Die Unterrichtsgestaltung besteht aus drei Konzepten, welche sich gegenseitig ergänzen, um einen maximalen Lernerfolg zu erzielen.

Vorlesung

Den ersten Teilbereich dabei bildet die Vorlesung.

Innerhalb der Vorlesungen werden neue Themen kurz und knapp von den Dozenten vorgestellt. In der Vorlesung geht es primär um die Vermittlung neuen Wissens, sodass hier der Theorieanteil bei 95-100% liegt. Zum Abschluss einer Vorlesung werden Übungsaufgaben, zu den Themen der Vorlesung, an die Lernenden herausgegeben.

Anhand der Vorlesung können die Lernenden selbst entscheiden, wie sie die Themen weiter vertiefen möchten.

Praktische Übung

Das zweite Konzept, welches für die Erlangung des praktischen Know-Hows zuständig ist, ist die Übung.

Nach einer Vorlesung findet eine Übung zu den Themen der Vorlesung statt, welche die Lernenden freiwillig besuchen können. In der Übung stellt ein Dozent die Themen der Vorlesung noch einmal detaillierter vor. Darüber hinaus unterstützt der Dozent die Lernenden bei der Bearbeitung der Aufgaben oder gibt Hinweise bei der Projektarbeit. Der Theorieanteil hier beläuft sich auf ein Minimum, sodass die Lernenden sich möglichst dauerhaft mit der Praxis auseinandersetzen.

Selbstorientiertes Lernen

Komplettiert wird das Lernkonzept durch das Selbstorientierte Lernen.

Beim Selbstorientierten Lernen können die Lernenden die Übungsaufgaben oder das Projekt selbstständig (ohne Dozentenunterstützung) bearbeiten. Dadurch werden die Themen der Vorlesung gefestigt. Da hier kein Dozent anwesend ist, beläuft sich der Theorieanteil auf 0%.

Unsere Lerninhalte

Phase 1

Einsatz der Sprache C/C++, Vergleich zu anderen Sprachen

Vergleich zu Java

Einführung in die Arbeitsweise des Compilers

Prozess

Befehle

Arbeitsumgebung

Prozess

Befehle

Endungen

Getting started

Semantik (Verhalten)

Boolesche Ausdrücke kombinieren

Logisches UND

Logisches ODER

Negation

Schleifen

Arbeitsweise

while-Schleife

do-while-Schleife

for-Schleife

Inkrement/Dekrement

Sprünge in Schleifen

Endlosschleifen

Grundliegende C Bibliotheken, Ein- und Ausgaben

Datentypen

Standarddatentypen in C

Datentypen verwenden

Anweisungen und Schleifen

Felder und Arrays

Einfache Arrays

Mehrdimensionale Arrays

Funktionen

Funktionsaufruf

Lokale Variable

Signatur

Strukturen

Anwendung

Zeiger

Zeiger (Pointer) deklarieren

Zeigerarithmetik

Speicherzugriffsfehler

Call by Value/Call by Reference

Speicherverwaltung in C

Zeiger auf Zeiger und Zeigerarithmetik

Best Practice mit Zeigern

Fehlersuche / Debugging / GDB

Phase 2

Einführung in C++ und Standardbibliotheken

OOP mit UML und C++

Klassen

Sichtbarkeiten

Methoden

Abstrakte Klassen

Speicherverwaltung in C++

Beispielprogramm Fahrzeugverwaltung

CodeReview

Dateioperationen und Streams

Überladen vs Überschreiben

Phase 3

friend Funktionen

Makefiles/CMake

Vererbungsmuster (Liskovsche Substitutionsprinzip)

Mehrfachvererbung

inline Funktionen

spezielle Methoden

Mathematische Berechnungen

Assembler (Speicher und Befehle)

Rechnen mit Assembler

Assembler in C++

Phasenübergreifend:
Die Lernenden werden über das gesamte Grundlagenjahr in kleinen Gruppen ein Projekt, mit wöchentlichen neuen Anforderungen, durchführen und dokumentieren. Die wöchentlich neuen Anforderungen orientieren sich dabei an den jeweils aktuell gelehrten Inhalten, innerhalb der Vorlesungen.

Mithilfe des Projektes bekommen die Lernenden so durchgehend, wie im späteren Arbeitsalltag, eine Aufgabe, die sie bearbeiten und verbessern müssen, während sie immer neue Themen erlernen, die direkt im Projekt Anwendung finden.

Lernziele/Kompetenzen

Nach Abschluss des Grundlagenjahres können die Lernenden:

  • Die Funktionsweise eines Compilers erläutern
  • Zwischen Compiler und Interpreter unterscheiden
  • C als Untermenge von C++ differenzieren
  • Datentypen in C benennen
  • Auskunft über Größen verschiedener Datentypen geben
  • Die main Funktion korrekt schreiben
  • Funktionen schreiben
  • Übergabeparameter definieren
  • Rückgabewerte definieren
  • Die Bestandteile einer Funktionssignatur benennen
  • Einen Programmablauf umsetzen mittels If-Anweisungen, Schleifen, break und continue Anweisungen
  • Ein Struktogramm erstellen
  • Einen Programmablaufplan erstellen
  • Fehler in einem Programm finden und beheben
  • Entscheiden,  welche Datentypen in bestimmten Situationen verwendet werden sollten
  • Code formatieren
  • Variablen und Funktionen nach Best-Practice benennen
  • Fachliche Inhalte mit logischen Operatoren abbilden
  • Den Programmcode strukturieren
  • Den Unterschied zwischen C und C++ erkennen
  • Streams verwenden
  • Makros definieren
  • Klassen erstellen
  • Vererbung zwischen Klassen herstellen und Objektorientierte Konzepte verstehen
  • Methode überschreiben
  • Abstrakte Klassen definieren
  • Abstraktion einsetzen in Form einfacher Patterns
  • Speichermanagement betreiben
  • Speicherfehler auffinden
  • Speicheroptimiert programmieren
  • Entwicklerwerkzeuge verstehen und sicher einsetzen
  • Selbstständig einfache Probleme mithilfe von externen Quellen lösen
  • Mithilfe von Suchmaschinen Lösungen für unbekannte Probleme lösen

Zusätzlich zur Entwicklung der Fachkompetenz erfolgt eine Förderung der sozial-kommunikativen, personalen und Aktivitäts- und Handlungskompetenz.

Lehrmethoden

Frontalunterricht/Präsentation

Vermittlung von gesichertem Wissen durch vom Dozenten vorbereitete Präsentationen

Plenumsdiskussion bzw. dialogisches Lernen

Direkter Einbezug der Lernenden, Mitgestaltung des Prozesses

Partnerarbeit (Pair Programming)

Behandlung eher schwierigerer Aufgaben, Notwendigkeit gegenseitiger Hilfe, Arbeitsteilung und eigenverantwortlichem Arbeiten

Einzelarbeit

Phasen des Übens und Wiederholens, Übung der Sorgfalt, Konzentration und eigenverantwortlichem Arbeiten

Selbstorganisiertes Lernen

Vorgabe der Lehrmaterialien durch Dozent. Art, Weise und Intensität der Nutzung obliegt dem Lernenden.

Lernen an Lösungsbeispielen

Erläuterung des Lerninhalts durch konkrete Beispiele

Projektarbeit in kleinen Gruppen

klare Arbeitsstruktur und sinnvolle Kooperation notwendig

Weiterbildungen

Angeleitete Lernen in Weiterbildungseinheiten als Selbststudium, Einarbeitung in die eigentlichen Inhalte, Vertiefung und Vervollkommnung der Inhalte

Projektpräsentationen

Präsentationen der Lernenden, Schulung der Präsentationskompetenz und Vermittlung von Wissen

Technische Ausstattung für Schulungsräume

Beamer, Smartboard, Arbeitsplätze mit Monitor und einen Moderationskoffer pro Schulungsraum

Einen Rechner für jeden Lernenden mit:

  •  Entwicklungsumgebungen
    • GCC/G++
    • GDB/LLDB
    • Notepad++
    • VS Code
  • PDF-Viewer
  • MS-Office
  • einem aktuellen Internetbrowser
  • Kopfhörer und Mikrofon
  • Internetverbindung
  • Git-Bash
  • Zugriff auf das Azure Portal
  • lokalen Administratorrechten
  • Zugang zum Bitbucket im Devstack

Lernmaterialien

  • Modulskripte
  • Präsentationen
  • Live-Codings
  • Projektbeispiele
  • Übungsaufgaben mit Musterlösungen

Weitere Hinweise

Modulsprache ist Deutsch, die Dokumentation, die zur Aufgabenlösung benötigt wird, ist jedoch größtenteils auf Englisch

Kennen Sie schon unser Grundlagenjahr Pathway Python?