Schaffe innerhalb von 30 Tagen den Einstieg in die C#-Entwicklung
... und lerne, wie du eigene Anwendungen, Spiele, Apps und vieles mehr entwickeln kannst, um all deine Ideen endlich umsetzen zu können und zeitgleich deinen persönlichen Wert auf dem Arbeitsmarkt drastisch zu steigern.
Laufzeit des Kurses
ca. 25 Stunden
Benötigte Vorkenntnisse
Du benötigst keine Vorkenntnisse
Dieser umfassende C# Videokurs folgt inhaltlich einem roten Faden, sodass sichergestellt wird, dich vom absoluten Laien (ohne Vorkenntnisse) in einen fähigen C#-Entwickler zu transformieren. Du wirst also beginnend bei den C#-Grundlagen bis hin zu den fortgeschrittenen Programmierkonzepten von C# alles erlernen und somit sehr gefragte Programmierfähigkeiten erwerben.
Du kannst den kompletten C# Kurs in deiner eigenen Geschwindigkeit durcharbeiten und jede Lektion auch beliebig oft wiederholen. Der Kurs besteht insgesamt aus über 25 Stunden Videomaterial, was bedeutet, dass du den Kurs in ca. 2 bis 3 Tagen durcharbeiten könntest. Um effektiv zu lernen und auch genügend Zeit für die Aufgaben zu haben, empfehlen wir dir, eine Bearbeitungszeit von 15- 30 Tagen einzuplanen.
Im Laufe des Kurses wirst du permanent praxisnahe Programmieraufgaben vorgesetzt bekommen, die dein in der Theorie erlerntes Wissen festigen werden. Neben der Praxiserfahrung erhöht sich dadurch auch deine Fähigkeit, problemlösungsorientiert zu denken und komplexe Problemstellungen in einfache Teilprobleme herunterzubrechen.
Inhaltsverzeichnis des Kurses
In der Programmierung in C# existieren zwei ganz grundlegende Konzepte, nämlich zum einen das Konzept von Variablen und zum anderen das Konzept von Datentypen. In diesem Modul werden wir diese beiden Konzepte ausführlich erläutern und anhand zahlreicher Beispiele vertiefen. Um abschließend bereits erste kleinere Aufgaben umsetzen zu können, werden wir uns zudem auch noch der Ein- und Ausgabe auf der Konsole widmen.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Variablen?
- [Video 2] Variablen deklarieren und initialisieren
- [Video 3] Was sind Datentypen?
- [Video 4] Die Ganzzahlen Datentypen in der Praxis
- [Video 5] Die Fließkommazahlen Datentypen in der Praxis
- [Video 6] Die anderen Datentypen in der Praxis
- [Video 7] Eingaben vom Benutzer entgegennehmen
- [Aufgaben] Programmieraufgaben + Musterlösungen
Um nützliche Programme entwickeln zu können, benötigt man sogenannte Operatoren. Was Operatoren sind und welche Rechenoperatoren in C# existieren, werden wir uns in diesem Modul im Detail ansehen.
Diese Lektionen erwarten dich:
- [Video 1] Einfache Rechenoperationen
- [Video 2] Einfache Rechenoperationen in der Praxis
- [Video 3] Der Modulo-Operator
- [Aufgaben] Programmieraufgabe + Musterlösung
Mithilfe von Methoden kann man gewisse Programmbestandteile in wiederaufrufbare Komponenten auslagern. Wenn also gewisse Funktionalitäten häufiger benötigt werden, dann sollte man diese in Methoden auslagern, um sie später an unterschiedlichen Stellen im Programm beliebig oft aufrufen zu können. Zudem helfen Methoden dabei, die Struktur des Programms zu schärfen.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Methoden?
- [Video 2] Methoden ohne Rückgabewert definieren
- [Video 3] Methoden mit Rückgabewert definieren
- [Aufgaben] Programmieraufgaben + Musterlösungen
Ein C# Programm wird immer Zeile für Zeile von oben nach unten abgearbeitet. Um allerdings sinnvolle Programme umsetzen zu können, muss man das Programm so gestalten, dass an unterschiedlichen Stellen Entscheidungen getroffen werden können. Dies gelingt durch sogenannte Fallunterscheidungen, welche in C# durch If-Statements, Boolesche Operatoren und Switch-Statements realisiert werden. In diesem Modul werden wir uns all diese Konstrukte im Detail ansehen.
Diese Lektionen erwarten dich:
- [Video 1] Was sind If-Abfragen?
- [Video 2] If-Abfragen in der Praxis
- [Video 3] Boolesche Ausdrücke und Operatoren
- [Video 4] Boolesche Ausdrücke in der Praxis
- [Video 5] Was sind Switch-Blöcke?
- [Video 6] Switch-Blöcke in der Praxis
- [Aufgaben] Programmieraufgaben + Musterlösungen
Im Laufe des Kurses haben wir bereits das Konzept von Variablen kennengelernt. Dort haben wir unteranderem erfahren, dass man in Variablen zu einem bestimmten Zeitpunkt immer nur einen Wert speichern kann. Oftmals möchte man aber mehrere Werte gleichzeitig innerhalb einer Variable speichern. Hier kommt nun die Datenstruktur "Array" ins Spiel.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Arrays?
- [Video 2] 1D-Arrays in der Praxis
- [Video 3] 2D-Arrays in der Praxis
- [Aufgaben] Programmieraufgaben + Musterlösungen
In nahezu jedem Programm benötigt man eine Möglichkeit, um gewisse Code-Blöcke mehrmals hintereinander ausführen zu können. An dieser Stelle kommen Schleifen ins Spiel, von denen ganz unterschiedliche Konstrukte existieren, die sich in bestimmten Anwendungsfällen mal mehr und mal weniger gut eignen. In diesem Modul wirst du ein Überblick über alle Schleifen-Arten erhalten. Du wirst auch lernen, wann man welche Schleifen am sinnvollsten verwenden sollte und wie man diese implementiert.
Diese Lektionen erwarten dich:
- [Video 1] Was sind While- und Do-While-Schleifen?
- [Video 2] While- und Do-While-Schleifen in der Praxis
- [Video 3] Was sind For-Schleifen?
- [Video 4] For-Schleifen in der Praxis
- [Video 5] Was sind Foreach-Schleifen?
- [Video 6] Foreach-Schleifen in der Praxis
- [Video 7] Die Schlüsselwörter break und continue
- [Aufgaben] Programmieraufgaben + Musterlösungen
In diesem Modul wirst du dein bisheriges Wissen in einem Praxisprojekt vertiefen. Genauer gesagt wirst du ein komplettes Hangman Spiel programmieren.
Diese Lektionen erwarten dich:
- [Video 1] Einleitung zum Hangman Praxisprojekt
- [Video 2] Der Aufbau des Hangman Projekts
- [Video 3] Die MainMenu-Methode
- [Video 4] Die StartGame-Methode
- [Video 5] Die GameLoop-Methode
Im zweiten Modul haben wir bereits erfahren, dass in C# ganz unterschiedliche Datentypen existieren. Es gibt nun oftmals den Fall, dass man einen Typ in einen anderen Typ umwandeln muss. Dies gelingt durch die Typenkonvertierung, die wir uns in diesem Modul detailliert ansehen werden.
Diese Lektionen erwarten dich:
- [Video 1] Typenkonvertierung in der Theorie
- [Video 2] Typenkonvertierung in der Praxis
Ein Thema, bei dem Programmiereinsteiger oftmals an ihre Grenzen gelangen, ist das Thema "Objektorientierte Programmierung". Solltest du dieses Thema allerdings von vornherein didaktisch gut aufbereitet vorgetragen bekommen, dann ist dieses wichtige und allgegenwärtige Konzept einfach zu verstehen. Genau dies war auch der Anspruch, den wir bei der Entwicklung dieses Moduls hatten.
Diese Lektionen erwarten dich:
- [Video 1] Einführung in die Objektorientierte Programmierung
- [Video 2] Klassen definieren und instanziieren (Theorie)
- [Video 3] Klassen definieren und instanziieren (Praxis)
- [Video 4] Eigenschaften und Datenkapselung (Theorie)
- [Video 5] Eigenschaften und Datenkapselung (Praxis)
- [Video 6] Zugriffs-Ebenen von Membern
- [Video 7] Werte- und Referenztypen
- [Video 8] Der Konstruktor (Theorie)
- [Video 9] Der Konstruktor (Praxis)
- [Video 10] Statische Klassen (Theorie)
- [Video 11] Statische Klassen und Methoden (Praxis)
- [Video 12] Namespaces
- [Video 13] Vererbung (Theorie)
- [Video 14] Vererbung (Praxis)
- [Video 15] Vererbte Konstruktoren
- [Video 16] Die Schlüsselwörter is und as
- [Aufgaben] Programmieraufgaben + Musterlösungen
Interfaces (zu deutsch Schnittstellen) sind ein weiteres sehr wichtiges Konzept im Kontext der C# Programmierung. In diesem Modul werden wir im Detail beleuchten, was Interfaces sind, wie man diese implementiert und welche Vorteile sich dadurch ergeben.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Interfaces?
- [Video 2] Interfaces definieren
- [Video 3] Interfaces implementieren
- [Video 4] Gegen Interfaces programmieren
- [Aufgaben] Programmieraufgaben + Musterlösungen
Auch abstrakte Klassen und Methoden stellen ein weiteres sehr wichtiges Konzept im Kontext der C# Programmierung dar. In diesem Modul werden wir im Detail beleuchten, was abstrakte Klassen und Methoden sind, wie man diese implementiert und welche Vorteile sich dadurch ergeben.
Diese Lektionen erwarten dich:
- [Video 1] Was sind abstrakte Klassen und Methoden?
- [Video 2] Abstrakte Klassen und Methoden in der Praxis
- [Video 3] Virtuelle Methoden
- [Aufgaben] Programmieraufgaben + Musterlösungen
Gerade wenn die Programme größer werden, stellt Polymorphie eine tolle Möglichkeit dar, um Programme übersichtlich zu halten und auch im nach hinein noch um weitere Funktionalitäten erweitern zu können.
Diese Lektionen erwarten dich:
- [Video 1] Was ist Polymorphismus?
- [Video 2] Methoden überladen in der Praxis
- [Aufgaben] Programmieraufgaben + Musterlösungen
In diesem Modul werden wir im Detail die Themen Structs und Enumeratoren behandeln. Du wirst die Konzepte dabei sowohl in der Theorie als auch in der Praxis kennenlernen.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Structs?
- [Video 2] Structs in der Praxis
- [Video 3] Was sind Enumeratoren?
- [Video 4] Enumeratoren in der Praxis
Da Arrays eine sehr statische Datenstruktur darstellen, helfen uns sogenannte Collections mit dynamischeren Konstrukten aus. In diesem Modul wirst du die wichtigsten Collections kennen und anzuwenden lernen.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Collections?
- [Video 2] Lists
- [Video 3] Stacks
- [Video 4] Queues
- [Video 5] Dictionaries
- [Aufgaben] Programmieraufgabe + Musterlösung
In diesem Modul wirst du einen Einblick in die Thematik sogenannter Generics erhalten. Du wirst lernen, was Generics sind und wie man diese in seinen Programmen einsetzt.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Generics?
- [Video 2] Generische Klassen in der Praxis
- [Video 3] Generische Methoden in der Praxis
In diesem Modul wirst du Schritt für Schritt lernen, was sogenannte Delegaten sind und wie man diese definiert. Auch das Thema Multicast-Delegaten wird behandelt.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Delegaten?
- [Video 2] Delegaten in der Praxis
- [Video 3] Anonyme Methoden und Lambda Ausdrücke
- [Video 4] Multicast-Delegaten
Oftmals möchte man mit seinem Programm auf gewisse Aktionen reagieren können. In C# setzt man dies mit sogenannten Events um, welche wir in diesem Modul ausführlich behandeln werden.
Diese Lektionen erwarten dich:
- [Video 1] Was sind Events?
- [Video 2] Events definieren und auslösen
- [Video 3] EventArgs verwenden
Es ist ganz normal, dass während des Programmablaufs hin und wieder Fehler auftreten. Auf diese Fehler muss man allerdings reagieren. In diesem Modul wirst du lernen, welche Arten von Fehlern es gibt und wie man auf diese entsprechend reagiert.
Diese Lektionen erwarten dich:
- [Video 1] Was ist ein Laufzeitfehler?
- [Video 2] Try-Catch (Theorie)
- [Video 3] Try-Catch (Praxis)
- [Video 4] Der Finally-Block
Eine für die Praxis sehr wichtige Klasse stellt die Klasse Math dar. Mit dieser erhältst du Zugriff auf zahlreiche mathematische Formeln und Operationen, die du auf keinen Fall missen solltest. In diesem Modul werden wir uns diese Klasse deshalb im Detail ansehen.
Diese Lektionen erwarten dich:
- [Video 1] Die Math-Klasse (Theorie)
- [Video 2] Die Math-Klasse (Praxis)
Auch Zufallszahlen spielen in der Programmierung eine sehr große Rolle. Aus diesem Grund existiert hierfür bereits eine Klasse, die sich genau dieser Thematik widmet. Die Rede ist von der Klasse Random. In diesem Modul werden wir uns diese Klasse im Detail ansehen.
Diese Lektionen erwarten dich:
- [Video 1] Die Random-Klasse (Theorie)
- [Video 2] Die Random.Next Methode
- [Video 3] Random.NextDouble in der Praxis
- [Video 4] Die Random.NextBytes Methode
- [Video 5] Der Konstruktor von Random und der Seed
Nachdem ein Programm beendet wird, gehen alle Daten, die in Variablen oder anderweitigen Datenstrukturen des Programms gespeichert wurden, verloren. Mithilfe von Dateien kann man wichtige Ergebnisse, die ein Programm produziert, speichern. Wie man über sein C# Programm auf Dateien zugreift und dann mit diesen arbeitet, werden wir in diesem Modul ausführlich behandeln.
Diese Lektionen erwarten dich:
- [Video 1] Der Namespace System.IO
- [Video 2] Verzeichnisse (Directory und DirectoryInfo)
- [Video 3] DirectoryInfo in der Praxis
- [Video 4] Dateien (File und FileInfo)
- [Video 5] FileInfo in der Praxis
- [Video 6] Was sind Streams?
- [Video 7] StreamReader in der Praxis
- [Video 8] StreamWriter in der Praxis
- [Video 9] Das Using-Statement
In diesem umfassenden Praxisprojekt wirst du lernen, wie du die in den letzten Modulen behandelten Konzepte in der Praxis gemeinsam verwenden kannst. Wir werden gemeinsam eine Buchhaltungssoftware programmieren.
Diese Lektionen erwarten dich:
- [Video 1] Einleitung
- [Video 2] Der Aufbau des Programms
- [Video 3] Die Menu Basisklasse und das StartMenu
- [Video 4] Die Klassen Profile ProfileManager und Transaction
- [Video 5] Das CreateProfileMenu
- [Video 6] Das LoadProfileMenu
- [Video 7] Das MainMenu
- [Video 8] Das NewTransactionMenu
- [Video 9] Das ShowTransactionMenu
Während man ein C# Programm entwickelt, entstehen immer wieder lästige Fehler. Oftmals sieht man nicht auf den ersten Blick, was gerade falsch gelaufen ist oder woraus die Fehler resultieren. Mithilfe von Debugging kannst du strukturiert dein fehlerhaftes Programm analysieren und lästige Fehler (Bugs) aufdecken.
Diese Lektionen erwarten dich:
- [Video 1] Debugging in Visual Studio und C# (Einleitung)
- [Video 2] Die Grundlagen vom Debugger
- [Video 3] Fortgeschrittene Techniken bei Breakpoints
- [Video 4] 7 Tipps fürs Debugging
Im bisherigen Kurs haben wir bereits gelernt, wie man Daten in Dateien speichern kann. In der Praxis empfiehlt es sich allerdings bei größeren Programmen nicht mehr, seine Datenhaltung über Dateien zu realisieren. Stattdessen kommen Datenbanken zum Einsatz. In diesem Modul haben wir dir deshalb einen BONUS Kurs vorbereitet, in welchem die Datenabfrage mit LINQ detailliert behandelt wird.
Diese Lektionen erwarten dich:
- [Video 1] Willkommen im Kurs
- [Video 2] Was sind Delegates?
- [Video 3] Anonyme Methoden und Lambda Ausdrücke
- [Video 4] Extension Methods
- [Video 5] Was ist LINQ?
- [Video 6] Die Methoden und Query Syntax
- [Video 7] Die Where Methode
- [Video 8] Die OfType Methode
- [Video 9] OrderBy und ThenBy
- [Video 10] GroupBy
- [Video 11] Komplexere Abfragen mit Aufrufketten
- [Video 12] Einfache Aggreagtionsoperatoren
- [Video 13] Die Aggregate-Methode
- [Video 14] Join
- [Video 15] Join mit der Methoden-Syntax
- [Video 16] Mehr als 2 Datenquellen miteinander verknüpfen
- [Video 17] GroupJoin
- [Video 18] Der Select Operator
- [Video 19] Die Element Operatoren
- [Video 20] GroupBy
- [Video 21] Empty Range und Repeat
- [Video 22] Die Concat Methode
- [Video 23] Die Distinct Methode
- [Video 24] Die Except Methode
- [Video 25] Die Intersect Methode
- [Video 26] Die Union Methode
- [Video 27] Die Skip und Take Methoden
- [Video 28] Sequenzen konvertieren
- [Video 29] Der Aufbau einer XML-Datei
- [Video 30] Was ist LINQ to XML?
- [Video 31] XML im Code generieren, speichern und laden
- [Video 32] XML Dateien mit LINQ abfragen
- [Video 33] XML Dateien bearbeiten mit LINQ to XML
- [Video 34] Einführung in Parallel LINQ
- [Video 35] Die Dauer einer Query messen