diff --git a/10 Enums/Program.cs b/10 Enums/Program.cs
index 403e9548eb266b692808557cc7ae7cb31744ad70..90630a4aca22d2dbaec892f2f10d513fa9b8c30c 100644
--- a/10 Enums/Program.cs	
+++ b/10 Enums/Program.cs	
@@ -3,15 +3,15 @@
 namespace _10_Enums
 {
     // Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN
+    enum Ampelfarben { rot, gelb, grün }
+    enum Ampelfarben2 { rot, gelb, grün, blau, lila }
+
     class Program
     {
-        public enum Ampelfarben { rot, gelb, grün}
-        public enum Ampelfarben2 { rot, gelb, grün, blau, lila }
         static void Main(string[] args)
         {
-            //enum Ampel { rot, gelb, grün};  // FALSCH!!!
-            //Ampel = Ampel.rot;              // Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN
-
+            //enum Ampel { rot, gelb, grün};   
+            //Ampel = Ampel.rot;              // FALSCH!!! Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN
 
             int ampel1 = 0;
 
@@ -23,16 +23,17 @@ namespace _10_Enums
             {
                 Console.WriteLine("Die Ampel ist rot");
             }
-            Console.WriteLine((int) ampel2);
+            Console.WriteLine((int)ampel2);
             Console.WriteLine("-----------");
-            ampel2++;
+
+            ampel2 += 2;
             Console.WriteLine(ampel2);
             Console.WriteLine((int)ampel2);
 
             string[] sf = { "Stehen bleiben", "Warten", "Gute Fahrt" };
-            Console.WriteLine(sf[(int) ampel2]);
+            Console.WriteLine(sf[(int)ampel2]);
 
-            ampel2 = (Ampelfarben) 10;
+            ampel2 = (Ampelfarben)10;
             Console.WriteLine(ampel2);
         }
     }
diff --git a/11 StructIntro/11 StructIntro.csproj b/11 StructIntro/11 StructIntro.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..5520aefe3189aa137dc5479311c6a4a57f89d8ff
--- /dev/null
+++ b/11 StructIntro/11 StructIntro.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_11_StructIntro</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/11 StructIntro/Program.cs b/11 StructIntro/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a668d4b0db32a5a2471dfc809c380f8d3890f158
--- /dev/null
+++ b/11 StructIntro/Program.cs	
@@ -0,0 +1,82 @@
+using System;
+
+namespace _11_StructIntro
+{
+    struct Person
+    {                               // Felder einer Struct: Geben an, aus welchen Basiselementen eine
+                                    // Struktur zusammengesetzt sind
+        public string name ;        // public: name ist von Funktionen AUßERHALB der struct Person zugreifbar
+        public string vorname;
+        public int alter;
+        public string ort ;
+        public int plz;
+
+                                    // Konstruktoren: Initialisieren die struct. Allen Feldern der Struktur muss
+                                    //      ein Wert zugewiesen werden!
+                                    // Es kann mehrere Konstruktoren (mit mehr oder weniger Parametern) geben
+        public Person(string Name, string Vorname, int Alter, string Ort, int Plz)
+        {
+            name = Name;
+            vorname = Vorname;
+            alter = Alter;
+            ort = Ort;
+            plz = Plz;
+        }
+        public Person(string Name, string Vorname)
+        {
+            name = Name;
+            vorname = Vorname;
+            alter = -1;
+            ort = "";
+            plz = -1;
+        }
+        public override string ToString()       // Konvertiert eine Person in einen String
+                                                // override ~ die Default-Implementierung namespace.struct wird überschrieben
+            => $"{vorname} {name} -- Alter: {alter}   {plz} {ort}";        
+    }
+
+    class Program
+    {
+        static void PersonAusgeben(string name, string vorname, int alter, string ort, int plz)
+        {
+
+        }
+        static void PersonAusgeben(Person p)
+        {
+            Console.WriteLine($"{p.vorname} {p.name} -- Alter: {p.alter}   {p.plz} {p.ort}");
+        }
+        static void Main(string[] args)
+        {
+            //anton.name = "Meier";
+            //anton.vorname = "Anton";
+            //anton.alter = 27;
+            //anton.ort = "Nürnberg";
+            //anton.plz = 90489;
+
+            Person anton = new Person("Meier","Anton",27,"Nürnberg",90489);
+            PersonAusgeben(anton);
+
+            Person berta = anton;
+            anton.vorname = "Antonia";
+
+            PersonAusgeben(anton);
+            PersonAusgeben(berta);
+
+            Person claudia = new Person("Schneider", "Claudia");
+            PersonAusgeben(claudia);
+            Console.WriteLine(claudia);
+            string s = claudia.ToString();
+            // anton, berta, claudia sind WERTETYPEN, da structs
+        }
+    }
+}
+namespace xyz
+{
+    class prog2
+    {
+        static void tueEtwas()
+        {
+            //_11_StructIntro.Person claudia = new _11_StructIntro.Person();
+        }
+    }
+}
diff --git a/11 Time/11 Time.csproj b/11 Time/11 Time.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..af0545c3ab38e14797c20d27acfdcdd3ac12d383
--- /dev/null
+++ b/11 Time/11 Time.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_11_Time</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/11 Time/Program.cs b/11 Time/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c3fbbaf121b077d836a9c6d66f720715ead7795b
--- /dev/null
+++ b/11 Time/Program.cs	
@@ -0,0 +1,30 @@
+using System;
+
+namespace _11_Time
+{
+    struct Time
+    {
+        public int time;
+        public Time(int stunden, int minuten)
+        {
+            time = 60 * stunden + minuten;
+        }
+        public override string ToString()
+        {
+            return base.ToString();
+        }
+    }
+    class Program
+    {
+        static int TimeDifInMinutes(Time t2, Time t1) => t2.time - t1.time;
+        
+        static void Main(string[] args)
+        {
+            Time t1 = new Time(9, 45);
+            Time t2 = new Time(11, 15);
+
+            Console.WriteLine(TimeDifInMinutes(t2,t1));
+
+        }
+    }
+}
diff --git a/11 UebgKoordinaten/11 UebgKoordinaten.csproj b/11 UebgKoordinaten/11 UebgKoordinaten.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..9b62a0e120cbd04808a87155cc501886fc397d99
--- /dev/null
+++ b/11 UebgKoordinaten/11 UebgKoordinaten.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_11_UebgKoordinaten</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/11 UebgKoordinaten/Program.cs b/11 UebgKoordinaten/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0acd44d64fb14d7e487a7c57d4052bc343f08f6e
--- /dev/null
+++ b/11 UebgKoordinaten/Program.cs	
@@ -0,0 +1,55 @@
+using System;
+
+namespace _11_UebgKoordinaten
+{
+    // Erstellen Sie eine Struct Koordinate Coord(double x, double y) mit
+    //    ToString() und Konstruktor(en)
+    // Erstellen Sie in Program eine Methode CoordDist(), welche den Abstand zwischen zwei Koordinaten bestimmt
+    // Erstellen Sie in Program eine Methode CoordMove(), welche die Koordinate um ein deltaX, deltaY verschiebt
+
+    struct Coord
+    {
+        public double x, y;
+        public Coord(double X, double Y)
+        {
+            x = X;
+            y = Y;
+        }
+        public override string ToString() => $"({x}|{y})";
+        
+    }
+    class Program
+    {
+        static double CoordDist(Coord p1, Coord p2)
+        {
+            double dx = p1.x - p2.x;
+            double dy = p1.y - p2.y;
+            return Math.Sqrt(dx * dx + dy * dy);
+        }
+        static void CoordMove(ref Coord p, double deltaX, double deltaY)
+        {
+            p.x += deltaX;
+            p.y += deltaY;
+        }
+        static Coord CoordMove(Coord p, double deltaX, double deltaY)
+        {
+            p.x += deltaX;
+            p.y += deltaY;
+            return p;
+        }
+        static void Main(string[] args)
+        {
+            Coord c1 = new Coord(1, 2);
+            Coord c2 = new Coord(3, 3);
+            Console.WriteLine(c1);
+            Console.WriteLine(c2);
+            Console.WriteLine(CoordDist(c1, c2));
+
+            CoordMove(ref c1, 4, 3);            // Referenzübergabe der Koord. c1
+            Console.WriteLine(c1);
+
+            Coord c3 = CoordMove(c1, 6, 5);     // Werteübergabe von c1, aber return liefert Ergebnis zurück
+            Console.WriteLine(c3);
+        }
+    }
+}
diff --git a/Prog1_WS2021_22.sln b/Prog1_WS2021_22.sln
index 9cd9ef4f669b43ddb1af6f80796b2017a8fc60c8..c9f67d38a35d448185b8d5139752400c4b912a4a 100644
--- a/Prog1_WS2021_22.sln
+++ b/Prog1_WS2021_22.sln
@@ -93,13 +93,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 UebgSpeisekarteDi", "10
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 UebgMoRekursion", "10 UebgMoRekursion\10 UebgMoRekursion.csproj", "{803E6BCD-791C-4F4A-BBDD-DF88E6F97967}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10 WoerterZaehlen", "10 WoerterZaehlen\10 WoerterZaehlen.csproj", "{83740224-D4AC-4884-B9E5-B13F3AC1DE9A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 WoerterZaehlen", "10 WoerterZaehlen\10 WoerterZaehlen.csproj", "{83740224-D4AC-4884-B9E5-B13F3AC1DE9A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10 StreamWriterIntro", "10 StreamWriterIntro\10 StreamWriterIntro.csproj", "{3186C668-B6EF-4657-AED7-D98675AE40FE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 StreamWriterIntro", "10 StreamWriterIntro\10 StreamWriterIntro.csproj", "{3186C668-B6EF-4657-AED7-D98675AE40FE}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10 StringSplit2", "10 StringSplit2\10 StringSplit2.csproj", "{1D7678D8-3B0D-4178-9F80-2043D18C8BAD}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 StringSplit2", "10 StringSplit2\10 StringSplit2.csproj", "{1D7678D8-3B0D-4178-9F80-2043D18C8BAD}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10 Enums", "10 Enums\10 Enums.csproj", "{0A59F1EF-68BD-43C7-BA85-EC1557017D86}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "10 Enums", "10 Enums\10 Enums.csproj", "{0A59F1EF-68BD-43C7-BA85-EC1557017D86}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11 StructIntro", "11 StructIntro\11 StructIntro.csproj", "{F8A06135-B753-408E-B569-D345AA694667}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11 UebgKoordinaten", "11 UebgKoordinaten\11 UebgKoordinaten.csproj", "{EAAD4537-6255-4C1B-8162-BD7C946F3065}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11 Time", "11 Time\11 Time.csproj", "{A5C6305D-65D0-4B95-9884-F75E61BDD8E9}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -303,6 +309,18 @@ Global
 		{0A59F1EF-68BD-43C7-BA85-EC1557017D86}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0A59F1EF-68BD-43C7-BA85-EC1557017D86}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0A59F1EF-68BD-43C7-BA85-EC1557017D86}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F8A06135-B753-408E-B569-D345AA694667}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F8A06135-B753-408E-B569-D345AA694667}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F8A06135-B753-408E-B569-D345AA694667}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F8A06135-B753-408E-B569-D345AA694667}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EAAD4537-6255-4C1B-8162-BD7C946F3065}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EAAD4537-6255-4C1B-8162-BD7C946F3065}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EAAD4537-6255-4C1B-8162-BD7C946F3065}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EAAD4537-6255-4C1B-8162-BD7C946F3065}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A5C6305D-65D0-4B95-9884-F75E61BDD8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A5C6305D-65D0-4B95-9884-F75E61BDD8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A5C6305D-65D0-4B95-9884-F75E61BDD8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A5C6305D-65D0-4B95-9884-F75E61BDD8E9}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE