Exemplo n.º 1
0
        public void SearchInTimetable()
        {
            Console.WriteLine("Search for semester (like MIB 4) or id of lecturer.");
            string query = Console.ReadLine();

            string[]        splittedQuery     = query.Split();
            bool            searchForSemester = true;
            int             grade             = 0;
            int             lecturerId        = 0;
            int             semesterId        = 0;
            List <Semester> semesters         = JsonPersistence.DeserializeSemesters();

            if (splittedQuery.Length == 1)
            {
                searchForSemester = false;
                try {
                    lecturerId = Int32.Parse(splittedQuery[0]);
                } catch {
                    Console.WriteLine("Id needs to be an integer.");
                    return;
                }
            }
            else
            {
                try {
                    grade = Int32.Parse(splittedQuery[1]);
                } catch {
                    Console.WriteLine("Grade needs to be a number. Maybe you also forgot to add a space between major and grade?");
                    return;
                }
                Semester selectedSemester = semesters.Find(x => x.Major == splittedQuery[0] && x.Grade == grade);
                semesterId = selectedSemester.Id;
            }
            EmitTimetable(searchForSemester, semesterId, lecturerId);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            PersistenceDump.AddSemester();
            PersistenceDump.AddRooms();
            PersistenceDump.AddPeriods();
            PersistenceDump.AddCourses();
            Timetable timetable;

            Console.WriteLine("Type yes if you want to do the calculation; otherwise the most recent calculated timetable is used.");
            if (Console.ReadLine() == "yes")
            {
                timetable = TimetableCalculator.CalculateTimetable();
            }
            else
            {
                timetable = JsonPersistence.DeserializeTimetable();
            }

            while (true)
            {
                timetable.SearchInTimetable();
                Console.WriteLine("Type yes if you want to see another timetable.");
                if (Console.ReadLine() != "yes")
                {
                    break;
                }
            }
        }
Exemplo n.º 3
0
        public static Timetable CalculateTimetable()
        {
            List <Course> courses   = GetSortedCourses(JsonPersistence.DeserializeCourses());
            Timetable     timetable = new Timetable();

            Period[]    periods = JsonPersistence.DeserializePeriods();
            List <Room> rooms   = GetSortedRooms(JsonPersistence.DeserializeRooms());

            List <Course> leftoverCourses = new List <Course>();

            foreach (Course course in courses)
            {
                Course leftover = CalcForCourse(course, periods, rooms);

                if (leftover != null)
                {
                    leftoverCourses.Add(leftover);
                }
            }

            if (leftoverCourses.Count > 0)
            {
                RetryLeftoverCourses(leftoverCourses, periods, rooms);
            }

            timetable.Periods = periods;
            JsonPersistence.SerializeTimetable(timetable);
            return(timetable);
        }
Exemplo n.º 4
0
        private static List <OptionalCourse> GetSortedCourses()
        {
            List <OptionalCourse> optionalCourses = JsonPersistence.DeserializeOptionalCourses();

            optionalCourses.Sort((x, y) => x.SortingOrder.CompareTo(y.SortingOrder));
            return(optionalCourses);
        }
Exemplo n.º 5
0
        public static List <Lecturer> AddLecturer()
        {
            List <Lecturer> lecturers = new List <Lecturer>();

            lecturers.Add(new Lecturer("Maik", "Pfeffer"));
            lecturers.Add(new Lecturer("Marko", "Kaufmann"));
            lecturers.Add(new Lecturer("Eric", "Schroeder"));
            lecturers.Add(new Lecturer("Uwe", "Freud"));
            lecturers.Add(new Lecturer("Felix", "Cole"));
            lecturers.Add(new Lecturer("Markus", "Mehler"));
            lecturers.Add(new Lecturer("Antje", "Papst"));
            lecturers.Add(new Lecturer("Kevin", "Bohm"));
            lecturers.Add(new Lecturer("Stephan", "Pfeiffer"));
            lecturers.Add(new Lecturer("Dirk", "Sankt"));
            lecturers.Add(new Lecturer("Florian", "Muench"));
            lecturers.Add(new Lecturer("Melania", "Dolgorukova"));
            lecturers.Add(new Lecturer("Thorsten", "Kaiser"));
            lecturers.Add(new Lecturer("Markus", "Richter"));
            lecturers.Add(new Lecturer("Mario", "Hoffmann"));
            lecturers.Add(new Lecturer("Niklas", "Jung"));
            lecturers.Add(new Lecturer("Martin", "Herrmann"));
            lecturers.Add(new Lecturer("Matthias", "Lange"));
            lecturers.Add(new Lecturer("Erik", "Seiler"));
            lecturers.Add(new Lecturer("Sebastian", "Gaertner"));
            lecturers.Add(new Lecturer("Klaus", "Schuster"));
            lecturers.Add(new Lecturer("Thorsten", "Schulze"));
            lecturers.Add(new Lecturer("Erik", "Osterhagen"));
            lecturers.Add(new Lecturer("Frank", "Junker"));
            lecturers.Add(new Lecturer("Ralf", "Bieber"));
            lecturers.Add(new Lecturer("Max", "Engenhart"));
            JsonPersistence.SerializeLecturer(lecturers);
            return(lecturers);
        }
Exemplo n.º 6
0
 public static void AddPeriods()
 {
     Period[] periods = new Period[25];
     for (int i = 0; i < periods.Length; i++)
     {
         periods[i] = new Period();
     }
     JsonPersistence.SerializePeriods(periods);
 }
Exemplo n.º 7
0
        public static void AddRooms()
        {
            List <Room>      rooms    = new List <Room>();
            List <Equipment> standard = new List <Equipment>();

            standard.Add(Equipment.beamer);
            standard.Add(Equipment.whiteboard);
            standard.Add(Equipment.electricalVenetians);
            standard.Add(Equipment.blackboard);

            List <Equipment> studio = new List <Equipment>();

            studio.Add(Equipment.studio);

            List <Equipment> computer = new List <Equipment>();

            computer.Add(Equipment.beamer);
            computer.Add(Equipment.whiteboard);
            computer.Add(Equipment.electricalVenetians);
            computer.Add(Equipment.blackboard);
            computer.Add(Equipment.computer);

            List <Equipment> vfx = new List <Equipment>();

            vfx.Add(Equipment.vfx);

            rooms.Add(new Room("i0.08", vfx, 80));
            rooms.Add(new Room("i0.13", standard, 60));
            rooms.Add(new Room("i0.14", standard, 60));
            rooms.Add(new Room("i0.15", standard, 80));
            rooms.Add(new Room("i0.16", standard, 120));
            rooms.Add(new Room("i0.17", standard, 120));
            rooms.Add(new Room("i1.17", computer, 40));
            rooms.Add(new Room("i1.18", vfx, 80));
            rooms.Add(new Room("i1.19", computer, 40));
            rooms.Add(new Room("l1.05", standard, 40));
            rooms.Add(new Room("l1.06", standard, 60));
            rooms.Add(new Room("l2.05", standard, 40));
            rooms.Add(new Room("l2.07", computer, 40));
            rooms.Add(new Room("l2.08", computer, 25));
            rooms.Add(new Room("studio", studio, 40));
            rooms.Add(new Room("c0.01", computer, 40));

            JsonPersistence.SerializeRooms(rooms);
        }
Exemplo n.º 8
0
        public static void AddSemester()
        {
            List <Semester> semesters = new List <Semester>();
            int             size      = 40;
            int             id        = 0;

            for (int i = 1; i < 8; i++)
            {
                id += 1;
                semesters.Add(new Semester("MIB", i, size, id));
                id += 1;
                semesters.Add(new Semester("MKB", i, size, id));
                id += 1;
                semesters.Add(new Semester("OMB", i, size, id));
                size -= size / 8;
            }
            JsonPersistence.SerializeSemesters(semesters);
        }
Exemplo n.º 9
0
        public static void AddCourses()
        {
            List <Lecturer>  lecturers = AddLecturer();
            List <Semester>  semesters = JsonPersistence.DeserializeSemesters();
            List <Course>    courses   = new List <Course>();
            List <Equipment> standard  = new List <Equipment>();

            standard.Add(Equipment.beamer);
            standard.Add(Equipment.whiteboard);
            standard.Add(Equipment.electricalVenetians);
            standard.Add(Equipment.blackboard);

            List <Equipment> studio = new List <Equipment>();

            studio.Add(Equipment.studio);

            List <Equipment> computer = new List <Equipment>();

            computer.Add(Equipment.beamer);
            computer.Add(Equipment.whiteboard);
            computer.Add(Equipment.electricalVenetians);
            computer.Add(Equipment.blackboard);
            computer.Add(Equipment.computer);

            List <Equipment> vfx = new List <Equipment>();

            vfx.Add(Equipment.vfx);

            // FIRST SEMESTER
            Course aBwl      = new Course(semesters[0], lecturers[20], "Allgemeine Betriebswirtschaftslehre");
            Course grdlUntGr = new Course(semesters[0], lecturers[20], "Grundlagen Unternehmensgründung");

            aBwl.Requirements      = standard;
            grdlUntGr.Requirements = standard;
            aBwl.SetSemester(semesters[1]);
            aBwl.SetSemester(semesters[2]);
            grdlUntGr.SetSemester(semesters[1]);
            grdlUntGr.SetSemester(semesters[2]);
            courses.Add(aBwl);
            courses.Add(grdlUntGr);

            Course programmieren = new Course(semesters[0], lecturers[4], "Programmieren");
            Course progOmb       = new Course(semesters[2], lecturers[18], "Programmieren");
            Course eiA           = new Course(semesters[1], lecturers[21], "Entwicklung Interaktiver Anwendungen");
            Course eiAP          = new Course(semesters[1], lecturers[21], "Entwicklung Interaktiver Anwendungen Praktikum");
            Course progPrak      = new Course(semesters[0], lecturers[4], "Programmieren Praktikum");
            Course progPrakOmb   = new Course(semesters[2], lecturers[18], "Programmieren Praktikum");

            programmieren.Requirements = standard;
            progOmb.Requirements       = standard;
            eiA.Requirements           = standard;
            eiAP.Requirements          = computer;
            progPrak.Requirements      = computer;
            progPrakOmb.Requirements   = computer;
            courses.Add(programmieren);
            courses.Add(progPrak);
            courses.Add(progOmb);
            courses.Add(progPrakOmb);
            courses.Add(eiA);
            courses.Add(eiAP);

            Course audioTech = new Course(semesters[0], lecturers[14], "Audiotechnik");

            audioTech.SetSemester(semesters[2]);
            Course videoTechMib = new Course(semesters[0], lecturers[14], "Videotechnik");
            Course videoTechOmb = new Course(semesters[2], lecturers[15], "Videotechnik");

            videoTechOmb.SetSemester(semesters[2]);
            Course medienTechMib = new Course(semesters[0], lecturers[14], "Medientechnik Praktikum");
            Course medienTechOmb = new Course(semesters[2], lecturers[19], "Medientechnik Praktikum");
            Course medienTechMkb = new Course(semesters[1], lecturers[19], "Medientechnik Praktikum");

            audioTech.Requirements     = standard;
            videoTechMib.Requirements  = standard;
            videoTechOmb.Requirements  = standard;
            medienTechMib.Requirements = studio;
            medienTechOmb.Requirements = studio;
            medienTechMkb.Requirements = studio;
            courses.Add(audioTech);
            courses.Add(videoTechMib);
            courses.Add(medienTechMib);
            courses.Add(videoTechOmb);
            courses.Add(medienTechOmb);
            courses.Add(medienTechMkb);


            Course mathe1mib     = new Course(semesters[0], lecturers[15], "Mathematik in Medien und Informatik");
            Course mathe1mibPrak = new Course(semesters[0], lecturers[15], "Mathematik in Medien und Informatik Praktikum");
            Course phys1mib      = new Course(semesters[0], lecturers[15], "Physik in Medien und Informatik");

            mathe1mib.SetSemester(semesters[2]);
            mathe1mibPrak.SetSemester(semesters[2]);
            phys1mib.SetSemester(semesters[2]);
            mathe1mib.Requirements     = standard;
            mathe1mibPrak.Requirements = standard;
            phys1mib.Requirements      = standard;

            courses.Add(mathe1mib);
            courses.Add(mathe1mibPrak);
            courses.Add(phys1mib);


            Course grundlagenMedienG  = new Course(semesters[0], lecturers[5], "Grundlagen Mediengestaltung");
            Course grundlagenMedienGP = new Course(semesters[0], lecturers[5], "Grundlagen Mediengestaltung Praktikum");
            Course medPsych           = new Course(semesters[0], lecturers[3], "Medienpsychologie");
            Course MedAn          = new Course(semesters[1], lecturers[5], "Medienanalyse");
            Course grdlMedKonzSem = new Course(semesters[1], lecturers[6], "Grundlagen Medienkonzeption Seminar");

            grundlagenMedienG.Requirements  = standard;
            grundlagenMedienGP.Requirements = standard;
            medPsych.Requirements           = standard;
            MedAn.Requirements          = standard;
            grdlMedKonzSem.Requirements = standard;

            grundlagenMedienG.SetSemester(semesters[1]);
            grundlagenMedienG.SetSemester(semesters[2]);
            grundlagenMedienGP.SetSemester(semesters[1]);
            grundlagenMedienGP.SetSemester(semesters[2]);
            medPsych.SetSemester(semesters[1]);
            medPsych.SetSemester(semesters[2]);
            courses.Add(grundlagenMedienGP);
            courses.Add(grundlagenMedienG);
            courses.Add(medPsych);
            courses.Add(MedAn);
            courses.Add(grdlMedKonzSem);

            // SECOND SEMESTER

            Course mathe2mkb = new Course(semesters[4], lecturers[15], "Mathematische Grundlagen von Gestaltung und Computergrafik");
            Course cg        = new Course(semesters[3], lecturers[12], "Computergrafik und 3D Modellierung");
            Course cgPrak    = new Course(semesters[3], lecturers[12], "Computergrafik und 3D Modellierung Praktikum");

            cg.SetSemester(semesters[4]);
            cg.SetSemester(semesters[5]);
            cg.Requirements        = standard;
            mathe2mkb.Requirements = standard;
            cgPrak.Requirements    = computer;
            courses.Add(cg);
            courses.Add(cgPrak);
            courses.Add(mathe2mkb);

            Course avProdPrak = new Course(semesters[4], lecturers[14], "AV-Produktion Praktikum");

            avProdPrak.SetSemester(semesters[5]);
            avProdPrak.Requirements = vfx;
            Course avProd = new Course(semesters[4], lecturers[14], "AV-Produktion");

            avProd.SetSemester(semesters[5]);
            courses.Add(avProd);
            courses.Add(avProdPrak);
            avProdPrak.Requirements = vfx;
            avProd.Requirements     = standard;

            Course eiA2     = new Course(semesters[4], lecturers[2], "Entwicklung Interaktiver Anwendungen II");
            Course eiA2Prak = new Course(semesters[4], lecturers[2], "Entwicklung Interaktiver Anwendungen II Praktikum");

            courses.Add(eiA2);
            courses.Add(eiA2Prak);
            eiA2.Requirements     = standard;
            eiA2Prak.Requirements = computer;

            Course UsExD     = new Course(semesters[3], lecturers[10], "User Experience Design");
            Course UsExDPrak = new Course(semesters[3], lecturers[10], "User Experience Design Praktikum");

            UsExD.Requirements     = standard;
            UsExDPrak.Requirements = standard;
            UsExD.SetSemester(semesters[4]);
            UsExD.SetSemester(semesters[5]);
            UsExDPrak.SetSemester(semesters[4]);
            UsExDPrak.SetSemester(semesters[5]);
            courses.Add(UsExD);
            courses.Add(UsExDPrak);

            Course marketing  = new Course(semesters[3], lecturers[10], "Marketing");
            Course medienOeko = new Course(semesters[3], lecturers[10], "Medienökonomie");

            marketing.SetSemester(semesters[4]);
            marketing.SetSemester(semesters[5]);
            medienOeko.SetSemester(semesters[4]);
            medienOeko.SetSemester(semesters[5]);
            marketing.Requirements  = standard;
            medienOeko.Requirements = standard;

            courses.Add(marketing);
            courses.Add(medienOeko);

            Course mathe2mibSem  = new Course(semesters[3], lecturers[15], "Mathematik und Simulation Seminar");
            Course mathe2mib     = new Course(semesters[3], lecturers[11], "Mathematik und Simulation");
            Course mathe2mibPrak = new Course(semesters[3], lecturers[11], "Mathematik und Simulation Praktikum");

            mathe2mibSem.Requirements  = standard;
            mathe2mib.Requirements     = standard;
            mathe2mibPrak.Requirements = standard;

            courses.Add(mathe2mibSem);
            courses.Add(mathe2mib);
            courses.Add(mathe2mibPrak);

            Course gisMib      = new Course(semesters[3], lecturers[23], "Grundlagen Interaktiver Systeme");
            Course gis2MibPrak = new Course(semesters[3], lecturers[23], "Grundlagen Interaktiver Systeme Praktikum");

            gisMib.Requirements      = standard;
            gis2MibPrak.Requirements = computer;
            courses.Add(gisMib);
            courses.Add(gis2MibPrak);

            Course gisOmbPrak   = new Course(semesters[5], lecturers[18], "Grundlagen Interaktiver Systeme");
            Course gis2OmbbPrak = new Course(semesters[5], lecturers[18], "Grundlagen Interaktiver Systeme Praktikum");

            gisOmbPrak.Requirements   = standard;
            gis2OmbbPrak.Requirements = computer;
            courses.Add(gisOmbPrak);
            courses.Add(gis2OmbbPrak);

            Course mathe2omb     = new Course(semesters[5], lecturers[11], "Geometrische und statische Modellierung");
            Course mathe2ombPrak = new Course(semesters[5], lecturers[11], "Geometrische und statische Modellierung Praktikum");

            mathe2omb.Requirements     = standard;
            mathe2ombPrak.Requirements = standard;
            courses.Add(mathe2omb);
            courses.Add(mathe2ombPrak);

            // FOURTH SEMESTER

            Course project = new Course(semesters[9], lecturers[13], "Projektmanagement und Softskills");

            project.Requirements = standard;
            project.SetSemester(semesters[10]);
            project.SetSemester(semesters[11]);
            courses.Add(project);

            Course gdv                = new Course(semesters[9], lecturers[19], "Graphische Datenverarbeitung");
            Course gdvPrak            = new Course(semesters[9], lecturers[19], "Graphische Datenverarbeitung Praktikum");
            Course komSys             = new Course(semesters[9], lecturers[1], "Kommunikationssysteme");
            Course komSysPrak         = new Course(semesters[9], lecturers[1], "Kommunikationssysteme Praktikum");
            Course softwaredesign     = new Course(semesters[9], lecturers[2], "Softwaredesign");
            Course softwaredesignPrak = new Course(semesters[9], lecturers[2], "Softwaredesign Praktikum");

            gdv.Requirements                = standard;
            gdvPrak.Requirements            = computer;
            komSys.Requirements             = standard;
            komSysPrak.Requirements         = standard;
            softwaredesign.Requirements     = computer;
            softwaredesignPrak.Requirements = computer;
            courses.Add(gdv);
            courses.Add(gdvPrak);
            courses.Add(komSys);
            courses.Add(komSysPrak);
            courses.Add(softwaredesign);
            courses.Add(softwaredesignPrak);

            Course ebusi         = new Course(semesters[11], lecturers[13], "E-Business");
            Course medMomWi      = new Course(semesters[11], lecturers[22], "Medien- und Kommunikationswirtschaft");
            Course webtech       = new Course(semesters[11], lecturers[1], "Webtechnologie");
            Course webtechPrak   = new Course(semesters[11], lecturers[1], "Webtechnologie Praktikum");
            Course resWebDes     = new Course(semesters[11], lecturers[10], "Responsive Web Design");
            Course resWebDesPrak = new Course(semesters[11], lecturers[10], "Responsive Web Design Praktikum");

            ebusi.Requirements         = standard;
            medMomWi.Requirements      = standard;
            webtech.Requirements       = standard;
            webtechPrak.Requirements   = standard;
            resWebDes.Requirements     = standard;
            resWebDesPrak.Requirements = computer;
            courses.Add(ebusi);
            courses.Add(medMomWi);
            courses.Add(webtech);
            courses.Add(webtechPrak);
            courses.Add(resWebDes);
            courses.Add(resWebDesPrak);

            Course konz       = new Course(semesters[10], lecturers[6], "Konzeption");
            Course ideenEnt   = new Course(semesters[10], lecturers[5], "Ideenentwicklung");
            Course eLearn     = new Course(semesters[10], lecturers[3], "E-Learning und Online-Learning");
            Course eLearnPrak = new Course(semesters[10], lecturers[3], "E-Learning und Online-Learning Praktikum");
            Course storyTell  = new Course(semesters[10], lecturers[24], "Storytelling");
            Course creaWrit   = new Course(semesters[10], lecturers[24], "Creative Writing");

            konz.Requirements       = standard;
            ideenEnt.Requirements   = standard;
            eLearn.Requirements     = standard;
            eLearnPrak.Requirements = standard;
            storyTell.Requirements  = standard;
            creaWrit.Requirements   = standard;
            courses.Add(konz);
            courses.Add(ideenEnt);
            courses.Add(eLearn);
            courses.Add(eLearnPrak);
            courses.Add(storyTell);
            courses.Add(creaWrit);

            Course datMed     = new Course(semesters[12], lecturers[12], "Datenverarbeitung in der Medienproduktion");
            Course vertAn     = new Course(semesters[12], lecturers[4], "Verteilte Anwendungen");
            Course vertAnPrak = new Course(semesters[12], lecturers[4], "Verteile Anwendungen Praktikum");
            Course digAv      = new Course(semesters[12], lecturers[8], "Digitale AV-Technik");

            datMed.Requirements     = standard;
            vertAn.Requirements     = standard;
            vertAnPrak.Requirements = standard;
            digAv.Requirements      = standard;

            courses.Add(datMed);
            courses.Add(vertAn);
            courses.Add(vertAnPrak);
            courses.Add(digAv);

            Course intDes       = new Course(semesters[14], lecturers[25], "Interface Design");
            Course intDesPrak   = new Course(semesters[14], lecturers[25], "Interface Design Praktikum");
            Course streamAn     = new Course(semesters[14], lecturers[8], "Streaming Anwendungen");
            Course streamAnPrak = new Course(semesters[14], lecturers[8], "Streaming Anwendungen Praktikum");

            intDes.Requirements       = standard;
            intDesPrak.Requirements   = computer;
            streamAn.Requirements     = standard;
            streamAnPrak.Requirements = computer;

            courses.Add(intDes);
            courses.Add(intDesPrak);
            courses.Add(streamAn);
            courses.Add(streamAnPrak);

            Course intDesMkb     = new Course(semesters[13], lecturers[10], "Interface Design");
            Course intDesMkbPrak = new Course(semesters[13], lecturers[10], "Interface Design Praktikum");
            Course opMark        = new Course(semesters[13], lecturers[13], "Operatives Marketing");

            intDesMkb.Requirements     = standard;
            intDesMkbPrak.Requirements = computer;
            opMark.Requirements        = standard;
            courses.Add(intDesMkb);
            courses.Add(intDesMkbPrak);
            courses.Add(opMark);

            List <OptionalCourse> optionalCourses = new List <OptionalCourse>();

            OptionalCourse spieleentwicklung = new OptionalCourse(lecturers[2], "Spieleentwicklung", 12);

            spieleentwicklung.Requirements = computer;
            optionalCourses.Add(spieleentwicklung);

            OptionalCourse deepLearningI = new OptionalCourse(lecturers[11], "Introduction to Deep Learning", 8);

            deepLearningI.Requirements = standard;
            optionalCourses.Add(deepLearningI);

            OptionalCourse deepLearningIPrak = new OptionalCourse(lecturers[11], "Introduction to Deep Learning", 17);

            deepLearningIPrak.Requirements = computer;
            optionalCourses.Add(deepLearningIPrak);

            OptionalCourse deepLearningII = new OptionalCourse(lecturers[11], "Introduction to Deep Learning II", 20);

            deepLearningII.Requirements = standard;
            optionalCourses.Add(deepLearningII);

            OptionalCourse liveMixSoundDes = new OptionalCourse(lecturers[14], "Livemix und Sounddesign", 22);

            liveMixSoundDes.Requirements = vfx;
            optionalCourses.Add(liveMixSoundDes);

            OptionalCourse photographie = new OptionalCourse(lecturers[5], "Photographie", 8);

            photographie.Requirements = standard;
            optionalCourses.Add(photographie);

            OptionalCourse vFXCompositing = new OptionalCourse(lecturers[8], "VFX und Compositing", 18);

            vFXCompositing.Requirements = standard;
            optionalCourses.Add(vFXCompositing);

            OptionalCourse medGegenkultur = new OptionalCourse(lecturers[22], "Mediale Gegenkultur", 23);

            medGegenkultur.Requirements = standard;
            optionalCourses.Add(medGegenkultur);

            JsonPersistence.SerializeOptionalCourses(optionalCourses);
            JsonPersistence.SerializeCourses(courses);
        }