diff --git a/10 Enums/Program.cs b/10 Enums/Program.cs
index 90630a4aca22d2dbaec892f2f10d513fa9b8c30c..d217e2409879644bc951d92b1efdc1e871560c3e 100644
--- a/10 Enums/Program.cs	
+++ b/10 Enums/Program.cs	
@@ -4,8 +4,32 @@ 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 }
+    
 
+    struct Xyz
+    {
+        int x;
+        Ampelfarben a1;
+        public Xyz(int X, Ampelfarben ampel)
+        {
+            x = X;
+            a1 = ampel;
+        }
+    }
+
+    struct Xyz2
+    {
+        public enum Ampelfarben2 { rot, gelb, grün, blau, lila }        
+            // enum in der struct --> muss public sein, damit es z.B. im Konstruktor aufgerufen werden kann
+            //       sonst: eine privater enum in der Schnittstelle einer öffentlichen Funktion
+        int x;
+        Ampelfarben2 a1;
+        public Xyz2(int X, Ampelfarben2 ampel)
+        {
+            x = X;
+            a1 = ampel;
+        }
+    }
     class Program
     {
         static void Main(string[] args)
@@ -13,6 +37,10 @@ namespace _10_Enums
             //enum Ampel { rot, gelb, grün};   
             //Ampel = Ampel.rot;              // FALSCH!!! Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN
 
+            Xyz yz = new Xyz(1, Ampelfarben.gelb);           // enum auf struct Ebene --> kann einfach verwendet werden
+            Xyz2 yz2 = new Xyz2(1, Xyz2.Ampelfarben2.gelb);  // enum IN struct --> Zugriff über struct-Name.enum
+
+
             int ampel1 = 0;
 
             if (ampel1 == 0) // Ist die Ampel == rot?
diff --git a/12 Fibonacci/12 Fibonacci.csproj b/12 Fibonacci/12 Fibonacci.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..d92629935f81cf57f5395ae226daaf2148ff69c5
--- /dev/null
+++ b/12 Fibonacci/12 Fibonacci.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_12_Fibonacci</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/12 Fibonacci/Program.cs b/12 Fibonacci/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..78ec3650a10990414e6bd0eb180b9ce0d4c9b013
--- /dev/null
+++ b/12 Fibonacci/Program.cs	
@@ -0,0 +1,24 @@
+using System;
+
+namespace _12_Fibonacci
+{
+    class Program
+    {
+        // Fib(n) = Fib(n-1)+Fib(n-2)
+        // Fib(0|1) = 1
+        static int Fib(int n)
+        {
+            if (n <= 1)
+                return 1;
+            return Fib(n - 1) + Fib(n - 2);
+        }
+
+        static void Main(string[] args)
+        {
+            for (int i = 0; i < 10; i++)
+            {
+                Console.WriteLine($"{i,2} | {Fib(i)}");
+            }
+        }
+    }
+}
diff --git a/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj b/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj
new file mode 100644
index 0000000000000000000000000000000000000000..21a3e162652446c48c60978948090163a2471092
--- /dev/null
+++ b/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_12_Mediendaten__alte_Klausur_</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/12 Mediendaten (alte Klausur)/Program.cs b/12 Mediendaten (alte Klausur)/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5ee064bf089a3b68a6be2e57f9c990df878ec9ca
--- /dev/null
+++ b/12 Mediendaten (alte Klausur)/Program.cs	
@@ -0,0 +1,35 @@
+using System;
+
+namespace _12_Mediendaten__alte_Klausur_
+{
+    enum MTyp { mp3, mp4, Bilder}
+    struct Medium
+    {
+        public string name;
+        public MTyp typ;
+        public Medium (string Name, MTyp Typ=MTyp.Bilder)
+        {
+            name = Name;
+            typ = Typ;
+        }
+    }
+    class Program
+    {
+        static int[] statistik(Medium[] mfeld)
+        {
+            int[] anzahlen = new int[3];
+            foreach (Medium medium in mfeld)
+            {
+                anzahlen[(int)medium.typ]++;        // hier wird ein enum als Index verwendet!
+                //if (medium.typ == MTyp.mp3)
+                //    anzahlen[0]++;
+                //  :                
+            }
+            return anzahlen;
+        }
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello World!");
+        }
+    }
+}
diff --git a/12 Strings/12 Strings.csproj b/12 Strings/12 Strings.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..0e63e5c73424b8f9c50e1e9594b1b3222dfeed9b
--- /dev/null
+++ b/12 Strings/12 Strings.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_12_Strings</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/12 Strings/Program.cs b/12 Strings/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..747ea27ac53025553fe3628072d6e22e54fd2a62
--- /dev/null
+++ b/12 Strings/Program.cs	
@@ -0,0 +1,24 @@
+using System;
+using System.Text;
+
+namespace _12_Strings
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            string s = "Hello World!";
+            Console.WriteLine(char.ToUpper(s[4]));
+            // s[4] = char.ToUpper(s[4]);   -- Zeichen in strings sind readonly!!!
+            string s2 = s.Substring(0, 4) + char.ToUpper(s[4]) + s.Substring(5);
+            string s3 = s.Replace("o", "O");
+            Console.WriteLine(s2);
+            Console.WriteLine(s3);
+
+            StringBuilder sb1 = new StringBuilder(s);
+            sb1[4] = char.ToUpper(sb1[4]);  // -- Zeichen in StringBuilder-Variablen sind veränderbar
+            string s4 = sb1.ToString();
+            Console.WriteLine(s4);
+        }
+    }
+}
diff --git a/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj b/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..6625503e5b54a4d2bcab77c3a06338c0e1a0f37f
--- /dev/null
+++ b/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_12_StructLehrveranstaltungsplanung</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/12 StructLehrveranstaltungsplanung/Program.cs b/12 StructLehrveranstaltungsplanung/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5c9ea0b6659c6d5f4ae2a513eb67f13f5f1260e6
--- /dev/null
+++ b/12 StructLehrveranstaltungsplanung/Program.cs	
@@ -0,0 +1,45 @@
+using System;
+
+namespace _12_StructLehrveranstaltungsplanung
+{
+    enum LVArt {  Vorlesung, Uebung, Seminar}
+    struct LehrVeranst
+    {
+        public string fach, raum, semgruppe;
+        public LVArt art;
+        public int id;
+
+        public LehrVeranst(string Fach, string Raum, string Semgruppe, int Id, LVArt Art=LVArt.Vorlesung)
+        {       // vor dem Konstruktor KEIN static
+            fach = Fach;
+            raum = Raum;
+            semgruppe = Semgruppe;
+            art = Art;
+            id = Id;
+        }
+                // vor einem etwaigen ToString() ebenfalls KEIN static
+    }
+    class Program
+    {
+        public static int GetId(LehrVeranst lv) => lv.id;
+        public static bool Kollision(LehrVeranst lv1, LehrVeranst lv2)
+        {
+            if (lv1.id == lv2.id)
+                return false;
+
+            //bool b = lv1.raum == lv2.raum || lv1.semgruppe == lv2.semgruppe;
+            //return b;
+
+            if (lv1.raum == lv2.raum || lv1.semgruppe == lv2.semgruppe) // if (bool:true oder false)
+                return true;
+            else
+                return false;
+        }
+        static void Main(string[] args)
+        {
+            LehrVeranst lv1 = new LehrVeranst("ProzProg", "KA.034", "MIN1/AMP", 1001);
+            LehrVeranst lv2 = new LehrVeranst("ProzProg", "HQ.205", "MIN1/AMP", 1002, LVArt.Uebung);
+            Console.WriteLine(Kollision(lv1, lv2));
+        }
+    }
+}
diff --git a/12 StructToString/Program.cs b/12 StructToString/Program.cs
index fcbd7f93c6aced88e447db80052316c71fd30d76..1fe9006e9d85cebedeacd73694f4d788631823e9 100644
--- a/12 StructToString/Program.cs	
+++ b/12 StructToString/Program.cs	
@@ -2,11 +2,11 @@
 
 namespace _12_StructToString
 {
-    struct Person
+    struct Person 
     {
         public string name, vorname;
-        public static string PersonToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; }
-        //public static string ToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; }
+        //public static string PersonToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; }
+        ////public static string ToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; }
         public override string ToString() { return $"Name: {name}, Vorname: {vorname}"; }
     }
     class Program
@@ -16,8 +16,8 @@ namespace _12_StructToString
             Person p1 = new Person();
             p1.name = "Müller";
             p1.vorname = "Anton";
-
-            Console.WriteLine(p1);
+            
+            Console.WriteLine(p1.ToString());
         }
     }
 }
diff --git a/Prog1_WS2021_22.sln b/Prog1_WS2021_22.sln
index 1ff467a14d0f0681a10b7cf3acb95fe352871958..6b4d7c22cc940f27e16d1d1d8b169c3c19fc9dd1 100644
--- a/Prog1_WS2021_22.sln
+++ b/Prog1_WS2021_22.sln
@@ -115,13 +115,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11 ThrowIntro", "11 ThrowIn
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 PW_Check (SoSe2019)", "12 PW_Check (SoSe2019)\12 PW_Check (SoSe2019).csproj", "{0EC7D975-1D95-40B7-BBDF-73A475231A1F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Params", "12 Params\12 Params.csproj", "{4EBDD0DB-69AC-4D1D-8D52-20C01CA0EF1F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 Params", "12 Params\12 Params.csproj", "{4EBDD0DB-69AC-4D1D-8D52-20C01CA0EF1F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructToString", "12 StructToString\12 StructToString.csproj", "{D7CB06EE-32B9-499C-9AE7-4391D4AC6438}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StructToString", "12 StructToString\12 StructToString.csproj", "{D7CB06EE-32B9-499C-9AE7-4391D4AC6438}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructBruch", "12 StructBruch\12 StructBruch.csproj", "{D087E2B4-9E89-4456-ABB6-CCF348CB7E79}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StructBruch", "12 StructBruch\12 StructBruch.csproj", "{D087E2B4-9E89-4456-ABB6-CCF348CB7E79}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StringConcat", "12 StringConcat\12 StringConcat.csproj", "{B4191FF6-95B7-4577-AE98-9B42BC338F5A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StringConcat", "12 StringConcat\12 StringConcat.csproj", "{B4191FF6-95B7-4577-AE98-9B42BC338F5A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Strings", "12 Strings\12 Strings.csproj", "{F734F09D-F050-47AB-9A61-36598C31FA62}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Fibonacci", "12 Fibonacci\12 Fibonacci.csproj", "{5D02394C-9622-41A8-A54C-6E86820824CF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructLehrveranstaltungsplanung", "12 StructLehrveranstaltungsplanung\12 StructLehrveranstaltungsplanung.csproj", "{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Mediendaten (alte Klausur)", "12 Mediendaten (alte Klausur)\12 Mediendaten (alte Klausur).csproj", "{6009194F-17E8-4EAA-B29E-47FA15EC53C9}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -369,6 +377,22 @@ Global
 		{B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F734F09D-F050-47AB-9A61-36598C31FA62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F734F09D-F050-47AB-9A61-36598C31FA62}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F734F09D-F050-47AB-9A61-36598C31FA62}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F734F09D-F050-47AB-9A61-36598C31FA62}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5D02394C-9622-41A8-A54C-6E86820824CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5D02394C-9622-41A8-A54C-6E86820824CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5D02394C-9622-41A8-A54C-6E86820824CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5D02394C-9622-41A8-A54C-6E86820824CF}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE