Bist du bereit zu Karriere voranbringen?

Unser Programm ist auf die Bereiche Softwaresysteme und Softwareentwicklung mit OOP (Java) und Webanwendungen sowie auf einige datenwissenschaftliche Kurse spezialisiert. Zu den Kernbereichen des Studiums gehören: fortgeschrittene Softwareentwicklung, Webanwendungsprogrammierung und -architektur, einige datenwissenschaftliche Kurse und mehrere wichtige Anwendungsbereiche.

Alle Kurse sollen Ihnen helfen, Ihre Karriere voranzutreiben, und jeder Kurs enthält praktische Aufgaben. Aussicht benötigte Bildungsstufe.

Data Science Kurse

Grundlegende Kurse

  • Ihr erster Kurs wurde speziell entwickelt, um die Grundlage dafür zu schaffen, wie Sie ein leistungsstarker Informatiker werden können. Der Kurs basiert auf der Praxis der Transzendentalen Meditation, die zur Erfüllung Ihres wahren Potenzials führt. Sie lernen die Vorteile von TM kennen, einschließlich der Fähigkeit, komplexe Probleme durch überlegene mentale Funktionen zu lösen, die Kreativität und „out of the box“ -Denken fördern. Der Kurs konzentriert sich auf die Prinzipien, die die Spitzenleistung bei Aktivitäten unterstützen, indem sie eine optimale Mischung aus Ruhe und Aktivität entwickeln. Sie entwickeln und erleben einen idealen Tagesablauf, der den Erfolg im Leben unterstützt. (2 Einheiten)

  • Dieser Kurs bietet ein fokussiertes Programm zur Verbesserung der Programmier- und Analysefähigkeiten in fünf Bereichen: Problemlösung, Datenstrukturen, objektorientierte Programmierung, Java-Programmiersprache und Verwendung der Rekursion in Java-Programmen.

    Diese Themen sind als Voraussetzung für die Kurse im Graduiertenkolleg Informatik von besonderer Bedeutung.

    Zu den Themen gehören: Elemente der Java-Programmierung, objektorientiertes Design und Implementierung, Datenstrukturen (einschließlich Listen, Stapel, Warteschlangen, binäre Suchbäume, Hash-Tabellen und Mengen), die Ausnahmehierarchie, Datei-E / A und Streams sowie JDBC. (4 Credits) Voraussetzung: Für Studenten: CS 221; für Doktoranden: Zustimmung der Fakultät (4 Einheiten)

  • In diesem Kurs werden die grundlegenden Prinzipien der objektorientierten Programmierung vorgestellt. Die Schüler lernen, wiederverwendbare und besser gewartete Software zu schreiben, und integrieren dieses Wissen in Laboraufgaben und Projekte. Zu den Themen gehören: Grundprinzipien und Modelle objektorientierter Programmierung, UML-Klassendiagramme und Entwurfsprinzipien, die die Wiederverwendbarkeit und Wartbarkeit von Software fördern. (4-Einheiten)

  • Datenbanksysteme organisieren und rufen Informationen ab, sodass der Benutzer einfach und effizient auf die gewünschten Informationen zugreifen kann. Zu den Themen gehören: relationales Datenmodell; SQL; ER-Modellierung; relationale Algebra; Datennormierung; Transaktionen; Objekte in der Datenbank; Datensicherheit und Integrität; Data Warehousing, OLAP und Data Mining; verteilte Datenbanken; und Untersuchung eines spezifischen kommerziellen Datenbanksystems. (4-Einheiten) Voraussetzung: CS 401 oder Zustimmung der Fakultät der Fakultät.

  • Software Engineering ist ein Kurs, in dem der Student anhand einer Softwareentwicklungsmethodik Best Practices in der Softwareentwicklung vorgestellt wird. Die Studierenden haben bereits Erfahrungen in früheren Kursen mit dem objektorientierten Paradigma gesammelt und einige der grundlegenden UML-Diagramme zur Modellierung von Beziehungen zwischen Softwareobjekten verwendet. Im Software-Engineering wird der Student Fähigkeiten entwickeln, um diese Tools zusammenzustellen, um robuste, einfach zu wartende Software zu erstellen. Eine Softwareentwicklungsmethodik beschreibt, wann und wie OO-Konzepte und UML-Diagramme verwendet werden sollten, um das Ziel der Erstellung von Qualitätssoftware zu erreichen. Im Zentrum der Veranstaltung steht ein kleines Projekt, in dem die im Vorlesungsformat diskutierten Prinzipien veranschaulicht und angewendet werden können. Am Ende des Kurses wird der Student eine laufende Anwendung haben, die den hohen Anforderungen der RUP-Entwicklungsmethode (Rational Unified Process) entspricht.

  • In diesem Kurs werden Methoden zur Analyse der Effizienz von Algorithmen (einschließlich der Worst-Case- und Average-Case-Analyse) vorgestellt und eine Reihe bekannter, hocheffizienter Algorithmen vorgestellt. Analyse, Design und Implementierung von Algorithmen werden gleichermaßen hervorgehoben. Zu den Themen gehören Suchen und Sortieren, Effizienz von Operationen an Datenstrukturen (einschließlich Listen, Hashtabellen, symmetrische binäre Suchbäume, Prioritätswarteschlangen), Graphalgorithmen, kombinatorische Algorithmen, Wiederholungsbeziehungen, dynamische Programmierung, NP-vollständige Probleme und einige spezielle Themen wie Zeit erlaubt. (Spezielle Themen sind Berechnungsgeometrie, Algorithmen für Kryptosysteme, Approximation, Big Data und paralleles Rechnen.)

  • Dieser Kurs bietet eine systematische Einführung in die Programmierung interaktiver und dynamischer Webanwendungen. Der Kurs richtet sich an Personen mit wenig oder keiner Erfahrung in der Programmierung von Webanwendungen. Dieses Angebot verwendet Java-Servlets und JSP für die serverseitige Verarbeitung. Der Kurs führt in HTML und CSS ein. JavaScript ist ein Schwerpunkt des Kurses und wird als funktionale Programmiersprache behandelt, einschließlich jQuery-, Ajax- und JavaScript-Namespaces und -Modulen. Dies ist eine Voraussetzung für die CS545-Webanwendungsarchitektur. AngularJS oder NodeJS werden nicht behandelt, aber das hier behandelte JavaScript bereitet Sie darauf vor, diese Technologien zu erlernen. (4 Einheiten)
    Voraussetzung: CS 220 oder CS 401 oder Zustimmung der Fakultät.

  • Big Data ist die neue natürliche Ressource: Alle 12-18 Monate verdoppeln sich die Daten. Dieser neue Big Data Analytics-Kurs behandelt die grundlegenden Konzepte und Tools für das Mining großer unterschiedlicher Datensätze, um neue Erkenntnisse zu gewinnen. Sie beherrschen die Verwendung der R-Sprache, um Wordcloud, Pagerank, Datenvisualisierung, Entscheidungsbäume, Regression, Clustering, neuronale Netze und mehr zu erstellen. Sie werden mit einigen großen Datensätzen von mehreren Millionen arbeiten und auch Twitter-Feeds minen. Sie lernen Hadoop/MapReduce- und Streaming Data-Konzepte kennen und erkunden andere Apache Big Data-Projekte wie Spark, Flink, Kafka, Storm, Samza, NoSQL durch individuelle Forschungsarbeiten. Sie arbeiten in Gruppen an offenen Projekten von Kaggle.com, um um Preisgelder zu konkurrieren, indem Sie die besten datenanalytischen Herausforderungen lösen. Sie lernen auch, den branchenführenden IBM SPSS Modeler und Open-Source-Data-Mining-Plattformen zu verwenden. Der Kurs wird auch eine breite Palette von Video-Schulungsmaterialien von MIT, Coursera, Google und anderen verwenden. (4 Einheiten) Voraussetzung: Zustimmung der Fakultätsfakultät

  • Dieser Kurs konzentriert sich auf die Vermittlung der Prinzipien und Praktiken, die bei der Entwicklung größerer Unternehmensanwendungen verwendet werden. Wir werden die verschiedenen häufig verwendeten Architekturschichten und verschiedene mit diesen Schichten verbundene Technologien untersuchen, einschließlich Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) und Integration mit anderen Anwendungen über Webdienste (RESTfull und SOAP), Messaging und Remote-Methodenaufruf. Grundkenntnisse in relationalen Datenbanken und SQL sind erforderlich. Wenn Sie keinen soliden Kurs oder keine guten Arbeitskenntnisse in SQL haben, sollten Sie sich für CS422 DBMS anmelden, bevor Sie sich für EA anmelden. (4 Einheiten)

  • Dieser Kurs konzentriert sich auf Webanwendungen in einer Unternehmensumgebung. Eine Unternehmensanwendung ist ein großes Softwaresystem, das für den Betrieb in einer großen Organisation wie einem Unternehmen oder einer Regierung entwickelt wurde. Unternehmensanwendungen sind komplex, skalierbar, komponentenbasiert, verteilt und geschäftskritisch. Dieser Kurs, CS545, konzentriert sich auf die Front-End- oder Präsentationsschicht einer Enterprise-Webanwendung. CS544 Enterprise Architecture ist ein Begleitkurs, der sich auf die Back-End- oder Business-Schicht konzentriert, einschließlich Geschäftslogik, Transaktionen und Persistenz. CS472, Web Application Programming, ist eine Voraussetzung, die HTML, CSS, JavaScript, Servlets und JSP abdeckt.

    Der Kurs vermittelt Prinzipien und Muster, die über Plattformen und Frameworks hinweg allgemein sind. In diesem Kurs werden die beiden vorherrschenden Java-Web-Frameworks Java Server Faces (JSF) und SpringMVC untersucht und mit ihnen gearbeitet. JSF ist ein Komponenten-basiertes Framework und ist die offizielle Spezifikation des Präsentations-Frameworks für den Java Enterprise Edition-Technologiestack. SpringMVC ist Teil des Core Spring-Frameworks und hat sich in den letzten Jahren zum am häufigsten verwendeten Java-Web-Framework entwickelt. (4-Einheiten) Voraussetzung: CS 472 oder Zustimmung der Fakultät der Fakultät.

  • Das Ziel dieses Kurses ist es, den Studierenden Kenntnisse und Fertigkeiten in Führungspositionen zu vermitteln, einschließlich Kommunikationsfähigkeiten als Vorbereitung auf zukünftige Führungsrollen.

    Am Ende dieses Kurses werden die Studenten die Antworten auf die wichtigsten Fragen zur effektiven Führung verstehen, einschließlich der folgenden:

    Gibt es 'geborene' Führer?

    Müssen Sie Charisma haben, um effektiv führen zu können?

    Welches Gut ist erforderlich, um ein Führer zu sein?

    Was ist der Unterschied zwischen Führung und Führung?

    Was sind die vielen "Intelligenzen", die in dieser Zeit erforderlich sind?

    Was ist „Fehlverhalten des Managements“ und wie führt es zur Selbstsabotage?

    Zu wissen, dass Feedback für den Führungsprozess von wesentlicher Bedeutung ist, wie können wir die Angst vor dem Geben und Empfangen überwinden?

    Was ist die Ursache von 80% der Probleme am Arbeitsplatz?

    Gibt es wissenschaftliche Forschungsergebnisse, die die Organisation bei der Verbesserung ihrer individuellen und Teamführungsfähigkeiten unterstützen?

    Zu den Gastrednern zählen bedeutende Unternehmer, Informatiker, Philanthropen, Akademiker und andere führende Persönlichkeiten der Gesellschaft.

    (2-Einheiten)

Fortgeschrittene Kurse

  • Die Zukunft des Computing ist parallel. Die Steigerung der sequentiellen Leistung hat ein Plateau erreicht, da Prozessordesigns an die Grenzen von Miniaturisierung, Taktfrequenz, Leistung und Hitze gestoßen sind. Im Jahr 2005 begann die Anzahl der Prozessorkerne abrupt von einem einzelnen Kern auf mehrere Kerne zu steigen, wodurch die Möglichkeit geschaffen wurde, Programme viel schneller auszuführen. Um dieses Potential zu nutzen, muss ein Programmierer jedoch einige Kenntnisse über parallele Programmiertechniken haben.

    Dieser Kurs vermittelt den Teilnehmern die grundlegenden Konzepte der parallelen Programmierung im Kontext von Java 9. Die parallele Programmierung ermöglicht es Entwicklern, Multicore-Computer zu verwenden, um ihre Anwendungen durch die gleichzeitige Verwendung mehrerer Kerne schneller laufen zu lassen. Am Ende dieses Kurses lernen Sie, wie Sie beliebte parallele Java-Frameworks (wie Multi-Threading, Streams und Executors) verwenden, um parallele Programme für eine Vielzahl von Multicore-Plattformen zu schreiben, darunter Server, Desktops oder mobile Geräte.

    Zu den in diesem Kurs verwendeten Softwaretools gehören Microsoft Visual Studio, die Java-Multithreading-Bibliothek und der OpenMP-Threading-Standard. (4 Einheiten) Voraussetzung: Kenntnisse der Computerprogrammierung mit Java, C oder C++.

    Weitere Informationen finden Sie in diesem fünfminütigen Video des Professors dieses Kurses:

    https://www.youtube.com/watch?v=dWcWAnn0Ppc

  • Die Entwicklung von Android-Programmen ist eine aufregende und potenziell lukrative Erfahrung. Die Android-Entwicklung eröffnet dem Programmierer die Welt der Kreativität. Es ermöglicht Ihnen, sich auf eine Weise auszudrücken, von der Sie in einer digitalen Welt nie geträumt haben, in der Sie ein Produkt erstellen und es mit nur einem Klick auf eine Schaltfläche Milliarden von Benutzern zur Verfügung stellen können. In diesem Kurs lernen Sie, wie Sie Android-Anwendungen mit der Programmiersprache Kotlin entwickeln.

    Zu den Themen gehören: Einrichten Ihres Computers für die Android-Programmierung; Manifest-Grundlagen; Layouts, Aktivitäten, Ansichten und UI-Komponenten; Arbeiten mit Absichten, Fragmenten und gemeinsamen Einstellungen; Webansicht und HTML; Arbeiten mit Multimedia; Android Jetpack-Komponenten, Raumdatenbank und JSON; Understatement-Sensoren; Lokalisierung; Veröffentlichung der App im Google Play Store. (4 Einheiten) Es sind keine Voraussetzungen erforderlich.

  • In diesem Kurs werden fortgeschrittene Themen im Design von Programmiersprachen mit Schwerpunkt auf formalen Methoden und Abstraktionsmechanismen behandelt. Zu den Themen gehören die Abstraktion von Daten und Steuerelementen, die formale Festlegung von Syntax und Semantik, Nachweise für die Programmkorrektheit, nicht deterministische Programmierung, fortgeschrittene Steuerungsstrukturen und das Studium spezifischer Sprachen. (4-Einheiten) Voraussetzung: CS 401 oder Zustimmung der Fakultät der Fakultät.

  • Der Cloud-Computing-Kurs vermittelt ein umfassendes Verständnis von Cloud-Diensten und -Technologien. Die Studierenden erwerben die Fähigkeit, sichere und robuste Lösungen in der Cloud zu entwickeln und zu verstehen, wie gut strukturierte verteilte Systeme im Detail entwickelt werden.

    Die Studierenden üben die Arbeit mit verschiedenen Webdiensten, darunter Load Balancer, virtuelle Maschinen und bauen eine API in der Cloud mit serverlosen Funktionen und NoSQL-Datenbanken auf. (4 Kreditpunkte). (Keine Voraussetzungen)

  • Moderne Informationsverarbeitung wird durch umfangreiche Datenbestände definiert, die von herkömmlichen Datenbanksystemen nicht verarbeitet werden können. Dieser Kurs behandelt die neuesten Technologien, die von Branchenführern entwickelt und eingesetzt werden, um dieses Problem auf die effizienteste Weise zu lösen. Zu den behandelten Themen gehören ua MapReduce-Algorithmen, MapReduce-Algorithmusentwurfsmuster, HDFS, Hadoop-Clusterarchitektur, YARN, Berechnen relativer Häufigkeiten, Sekundärsortierung, Web-Crawling, invertierte Indizes und Indexkomprimierung, Spark-Algorithmen und Scala. (4-Einheiten) Voraussetzung: CS 435-Algorithmen.

  • In nur wenigen Jahren haben sich Big Data-Technologien vom Hype zu einer der Kernkomponenten des neuen digitalen Zeitalters entwickelt. Diese Technologien sind sehr nützlich, um Informationen in Wissen umzuwandeln.

    Ziel des Kurses ist es, einige wirklich wichtige Tools in Ihr Arsenal aufzunehmen, mit denen Sie verschiedene Big-Data-Probleme lösen können. Wir beginnen mit Antworten auf Fragen wie „Was ist Big Data? Warum ist es wichtig oder nützlich? Wie speichern Sie diese Big Data? “ Anschließend untersuchen wir verschiedene Tools und Programmiermodelle aus dem Big-Data-Technologie-Stack, mit denen wir die Daten analysieren können. Zu den Themen gehören einige Projekte im Hadoop-Ökosystem, wie z. B. MapReduce-, Pig-, Hive-, Sqoop-, Flume-, HBase- (NoSQL DB), Zookeeper- und Apache Spark-Ökosystemprojekte. Wir werden auch eine Einführung in AWS und EMR behandeln. Sie arbeiten hauptsächlich mit einer Hadoop-Distribution mit einem Knoten von Cloudera. (4 Einheiten) (Keine Voraussetzungen)

  • Dieser Kurs betrachtet die aktuellen Methoden und Praktiken für gutes Design von Softwaresystemen. Zu den Themen gehören Softwaredesignmuster, Frameworks, Architekturen und Designsysteme zur Anwendung dieser Abstraktionen auf mehreren Ebenen. (2-4 KP) Voraussetzung: CS 401 oder Zustimmung der Departementsfakultät.

  • In diesem Kurs lernen Sie die reaktive Programmierarchitektur von SPA (Single Page-Webanwendungen) mit allen erforderlichen Fähigkeiten, um eine vollständige moderne Webanwendung zu erstellen. Zu den Technologien gehören: NodeJS-, ExpressJS-, TypeScript-, AngularJS2-, Firebase- und NoSQL-Datenbanken (MongoDB). Der Kurs umfasst:

    • Funktionsweise der C ++ V8-Engine und des asynchronen Codes in Node und in der Node-Ereignisschleife.
    • So strukturieren Sie Ihren Code zur Wiederverwendung und zum Erstellen einer Restful-API mit Modulen und ExpressJS.
    • Funktionsweise von NoSQL-Datenbanken: Mongo Shell, Aggregationsframework, Replikatsätze, Clustering, Shards, Mongoose ORM.
    • Tiefes Verständnis für die Funktionsweise von Angular (unterstützt von Google), Änderungserkennung, Reactive RxJs-Programmierung mit Observables und Subjekten, The Shadow DOM, Zonen, Module und Komponenten, benutzerdefinierte Direktiven und Pipes, Services und Abhängigkeitsinjektion, Angular Compiler, JIT- und AOF-Kompilierung , Formulare (vorlagen- und datengesteuert), Datenbindung, Routing, Guards und Routenschutz, HTTP-Client, JWT JSON-Authentifizierung über Web-Token.

    (4-Einheiten)

  • In diesem Praktikum führen die Studierenden computerbezogene Aufgaben in einer technischen Fachposition aus. Die durchgeführten Aufgaben können im Entwurf und in der Entwicklung neuer Systeme oder in der Anwendung bestehender Systeme für bestimmte Zwecke liegen. Praktikumsbeschreibungen werden vom Arbeitgeber und vom Studenten formuliert und müssen vorab von einer der Graduiertenfakultäten der Abteilung in Absprache mit dem Praktikumsleiter, in dem der Student untergebracht ist, genehmigt werden. (Dieser Kurs richtet sich hauptsächlich an Studenten im Praktikum oder in Kooperationsprogrammen.) (0.5-1 Einheiten pro Block - kann wiederholt werden.)

  • Maschinelles Lernen ist das Studiengebiet, das Computern die Fähigkeit verleiht, aus Daten zu lernen, ist das Herzstück fast jeder wissenschaftlichen Disziplin, und das Studium der Generalisierung (d. h. der Vorhersage) von Daten ist das zentrale Thema des maschinellen Lernens. Dieser Kurs bietet eine Einführung in das maschinelle Lernen auf Absolventenebene und eine eingehende Behandlung neuer und fortgeschrittener Methoden des maschinellen Lernens sowie der zugrunde liegenden Theorie. Es betont praxisrelevante Ansätze und diskutiert eine Reihe neuerer Anwendungen des maschinellen Lernens, wie beispielsweise Data Mining (in Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotik, Bioinformatik sowie Text- und Webdatenverarbeitung. Maschinelles Lernen wird in verschiedenen Branchen eingesetzt, darunter Finanzdienstleistungen, Öl und Gas, Gesundheitswesen, Marketing und Werbung, Behörden, Internet und Internet der Dinge.

    Dieser Kurs behandelt eine Vielzahl von Lernparadigmen, Algorithmen, theoretischen Ergebnissen und Anwendungen. Es verwendet grundlegende Konzepte aus künstlicher Intelligenz, Informationstheorie, Statistik und Kontrolltheorie, soweit sie für das maschinelle Lernen relevant sind. Zu den Themen gehören: überwachtes Lernen (generatives / diskriminatives Lernen, parametrisches / nicht parametrisches Lernen, neuronale Netze, Unterstützungsvektormaschinen, Entscheidungsbaum, Bayes'sches Lernen und Optimierung); unbeaufsichtigtes Lernen (Clustering, Dimensionsreduktion, Kernel-Methoden); Lerntheorie (Bias / Varianz-Kompromisse; VC-Theorie; große Margen); Verstärkungslernen und adaptive Kontrolle. Weitere Themen sind HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (mit neuronalen Netzen) und das Entwerfen von Algorithmen, deren Leistung auf grundlegende Probleme des maschinellen Lernens genau analysiert werden kann.

    Ein wichtiger Teil des Kurses ist ein Gruppenprojekt. Die wichtigsten Open-Source-Tools, die für das parallele, verteilte und skalierbare maschinelle Lernen verwendet werden, werden kurz behandelt, um die Schüler bei der Durchführung der Projekte zu unterstützen. (4-Einheiten) Voraussetzung: Keine.

  • In diesem Kurs werden die Techniken, Prinzipien und Muster beschrieben, wie flexible, skalierbare, testbare und belastbare Softwaresysteme mithilfe von Mikrodienstleistungen entworfen werden können. Wir werden untersuchen, wie wir große Anwendungen in kleinere Mikrodienste aufteilen können, die einfacher zu erstellen sind, und andere Vorteile im Vergleich zu monolithischen Unternehmensanwendungen. Eine verteilte Microservice-Architektur bringt auch viele Herausforderungen mit sich. Wir werden diese Herausforderungen untersuchen und wie wir sie angehen können. Themen dieses Kurses sind Architekturstile, Integrationstechniken und -muster, domänengetriebenes Design, ereignisgesteuerte Architektur und reaktive Programmierung. (4-Gutschriften). (Keine Voraussetzungen)

  • Zu Ehren von 50 Jahren MIU-Ausbildung freut sich die Informatikabteilung, unsere neue Golden Jubilee ComPro Tech Talks-Reihe zu initiieren.

    Diese monatliche Reihe wird von Professor Renuka Mohanraj organisiert und moderiert.

    Gespräche finden Sie unter https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Sehen Sie sich unseren neuesten aufgezeichneten Vortrag vom Samstag, den 28. Mai 2022 an:

    MIU Computer Science Dozent Unubold Tumenbayar, ein AWS-zertifizierter professioneller Lösungsarchitekt, behandelte diese Themen in unserem neuesten ComPro Tech Talk:
    o Erstellung einer Full-Stack-App in wenigen Minuten in der Cloud
    o Diskussion über moderne Technologien
    o GraphQL
    o Reagieren
    o NoSQL mit AWS-Services und -Tools

    Siehe die Folien von Unbold .

    Dieser Vortrag ist eine gute Vorschau auf unseren Cloud-Computing-Kurs (CS516).

„Als ich zum ersten Mal von dem MSCS-Programm hörte, bezweifelte ich es. Ich konnte nicht glauben, dass so etwas existiert. Aber eines Tages trat ein Freund von mir dem Programm bei. Da habe ich bestätigt, dass es echt ist. Dann nahm ich meinen Bewerbungsprozess wieder auf. Gut! Es ist wahr, ich bin hier, ich habe das Programm abgeschlossen und ich bin so glücklich. “

© Urheberrecht - Maharishi International University, Master in Informatik - Computer Professionals Program Professionals Datenschutz