Studium

Digital Media Systems an der THM - ein Zwischenfazit

Einblicke in die ersten Semester des DMS-Studiums an der Technischen Hochschule Mittelhessen, und was ich in den ersten Semestern gelernt habe.

Jona-David Bastian
5 min
Digital Media Systems an der THM - ein Zwischenfazit

Meine ersten Semester an der THM - Ein Erfahrungsbericht

Das DMS-Studium an der Technischen Hochschule Mittelhessen war bisher eine sehr spannende, teilweise turbulente, aber alles in allem lohnenswerte Reise. Im Folgenden möchte ich gerne über meine Erfahrungen mit der THM und dem Studiengang Digital Media Systems (ursprgl. Social Media Systems) schreiben.

Warum THM?

Die Wahl für die THM fiel mir von Anfang an leicht:

  • Da die THM eine Fachhochschule ist, ist sie sehr praxisorientiert
  • Moderne Ausstattung der Räume
  • Praxisnahe Dozenten mit viel wertvoller Erfahrung
  • Vielfältige Auswahl der Studiengänge

Warum DMS?

Für mich war die Kombination aus Informatik mit den beiden anderen Säulen BWL und Medien der ausschlaggebende Punkt für die Wahl von DMS als Studiengang. Einen guten Überblick über die Grundlagen der Betriebswirtschaftslehre zu haben, und gleichzeitig ein gutes Verständnis für Medien zu bekommen, also unter anderem auch die UX-freundliche Gestaltung von GUIs, spielten für mich eine wichtige Rolle. Als ich mich auf die Suche nach dem passenden Studiengang machte und auf DMS gestoßen bin, habe ich mich gut identifizieren können. So fiel die Wahl auch relativ schnell und ich habe mich eingeschrieben.

Der Start

Nach der Ersti-Woche, die für alle wenig Schlaf und viel Kennenlernen bedeutete, ging es direkt in die erste Vorlesungswoche über. Die ersten beiden Semester des Studiengangs Social Media Systems (so hieß der Studiengang vor DMS ursprünglich) werden auch Orientierungsphase genannt, in dieser Phase begleiten einen jeweils drei Module durch die Semester:

  • Webbasierte Programmierung 1+2
  • Digitale Medien + Kommunikation 1+2 (in SMS: Grundlagen und Anwendung Social Media 1+2)
  • BWL1: Grundlagen und Unternehmenssoftware & BWL2: Grundlagen des Marketing (in SMS: BWL und Informationssysteme 1+2)

Das zweite Semester schließt dann mit dem Integrationsprojekt 1 (kurz: IP1) ab, in welchem die drei Säulen in einem interdisziplinären Projekt vereint werden, man circa sechs Wochen Zeit hat und sich nur darauf fokussiert.

Highlights der ersten beiden Semester

#Digitale Medien + Kommunikation 1+2

In DMK 1 und 2 haben wir grundlegende Theorien und Definitionen gelernt. Das erste Semester war dabei noch sehr theoretisch (aber keinesfalls langweilig!), wohingegen das zweite Semester schon deutlich praxisbezogener war.

Konkret bestand das erste Semester überwiegend aus Begriffsdefinitionen, Kommunikationsmodellen und grundlegenden Informationen rund um das Thema soziale Medien, Social Media (übrigens nicht gleichbedeutend ;)) & Co. Das zweite Semester war dann schon deutlich mehr angelehnt an die Entwicklung von Webseiten, beispielsweise haben wir Gestaltgesetze gelernt, die man dort und auch auf GUIs im Allgemeinen anwenden kann und sollte. Hinzu kam auch, dass wir gelernt haben, Wireframes zu gestalten, Low- und High-Fi-Prototypen zu erstellen und damit den Grundstein für die Entwicklung einer Webseite zu legen, welche eine gute User Experience und Usability vorweist.

Persönlich möchte ich noch gerne hinzufügen, dass mir beide Module sehr viel Spaß gemacht haben und ich auch die Vorlesungen sowohl von Herrn Prof. Dr. Gust und Herrn Prof. Dr. Qyll sehr gut verstehen konnte. Beide hatten einen sehr gut verständlichen Stil, ihre Vorlesungen zu halten. Man konnte jederzeit Nachfragen stellen und die Erklärungen haben immer gut gepasst. Auch auf persönlicher Ebene fand ich beide sehr sympathisch!

#BWL1: Grundlagen und Unternehmenssoftware & BWL2: Grundlagen des Marketing

Wie sich beim Begriff BWL bereits denken kann, erwarten einen in BWL und Informationssysteme eins und zwei die Grundlagen der Betriebswirtschaftslehre, dazu gehören internes und externes Rechnungswesen, Unternehmensformen, aber auch in den Praktika der Umgang mit MS Excel und grundlegendes Verständnis für SAP. Natürlich sind in beiden Modulen teils trockene Abschnitte dabei, dennoch fand ich es im Großen und Ganzen lehrreich, auch wenn einem wie mir bereits von Anfang an bewusst war, nicht in die Richtung BWL zu vertiefen. Ich denke, es schadet dennoch nie, auch über den Tellerrand hinauszuschauen.

#Webbasierte Programmierung 1+2

Die für mich natürlich spannendsten Modul begannen zunächst einmal mit einer Einführung in die Geschichte des Internets, daraufhin lernten wir Zahlensysteme (binär, oktal, hexadezimal usw.), Huffman-Codierungen, Informationsgehalt, Logarithmen usw.

Kurz darauf starteten wir in die Grundlagen von HTML und CSS. Das ging erstmal ganz banal los mit dem grundlegenden Aufbau.

html
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Titel der Seite</title>
</head>
<body>
<h1>Dies ist eine Überschrift</h1>
<h2>Dies ist eine Überschrift zweiter Ordnung</h2>
<p>Dies ist ein Blockelement und erzeugt einen Zeilenumbruch</p>
<span>Dies ist ein Inline-Element</span>
</body>
</html>

Da wir aber natürlich nicht nur lernen sollen, einfache Webseiten ohne große Funktionalität zu schreiben, stiegen wir relativ zeitnahe in das Thema TypeScript ein. Neben den Grundlagen von TypeScript haben wir natürlich auch die Vorteile von TypeScript gegenüber JavaScript gelernt, allen voran natürlich die statische Typisierung, die Fehler im Code deutlich schneller erkennbar macht. Als erste große TypeScript-Hausübung sollten wir dann einen Usermanager schreiben, welcher die Daten vorerst nur im Local Storage des Browsers ablegen sollte. Im zweiten Semester fingen wir mit dem HTTP- und HTTPS-Protokoll an und stiegen dann schnell in das Thema RESTful APIs ein. Zusätzlich lernten wir dann noch Node.js als Laufzeitumgebung und Express.js als Webframework und MySQL als Datenbankverwaltungssystem kennen, womit wir dann unseren eigenen kleinen Server schreiben konnten. Auch das Schreiben von HTTP-Tests gehörte zum zweiten Semester, womit wir dann erstmalig die Konzepte des Test-driven Development (TDD) kennenlernten.

Unsere Hausübung bestand aus mehreren kleinen Abgaben mit einer großen Abgabe am Ende, wobei am Ende dann die große Abgabe daraus bestand, den Usermanager insoweit umzubauen, dass er persistent über einen Express.js-Server alle Daten in einer SQL-Datenbank hinterlegt.

Clientseitig sah das dann zum Beispiel bei der login-Funktion so aus:

typescript
function loginUser(event: Event): void {
    event.preventDefault();

    const email: string = (document.querySelector("#formLogin [name='email']") as HTMLInputElement).value;
    const password: string = (document.querySelector("#formLogin [name='password']") as HTMLInputElement).value;

    fetch("/login", {
        method: "POST",
        body: JSON.stringify({ email: email, password: password }),
        headers: { "Content-Type": "application/json" },
        credentials: "include"
    }).then((response: Response) => {
        if (response.ok) {
            loginForm.style.display = "none";
            mainContent.style.display = "block";
            logoutButton.style.display = "block";
            renderPetList();
            fetchUserData();
            hideEditForms();
            (document.querySelector("#formLogin") as HTMLFormElement).reset();
        } else {
            showAlert("Die Anmeldung ist leider fehlgeschlagen!");
        }
    }).catch(error => console.error("Fehler:", error));
}

Auf dem noch sehr banal zusammengeschriebenen Express-Server wurde in der loginUser-Funktion dann die Daten mit den Einträgen in der Datenbank abgeglichen und, falls erfolgreich, ein Session-Token gesetzt.

typescript
app.post("/login", loginUser);

async function loginUser(req: express.Request, res: express.Response): Promise<void> {
    const {email, password} = req.body;
    if (!email.trim() || !password.trim()) {
        console.log("Es wurde ein Login versucht ohne alle erforderlichen Felder auszufüllen!");
        res.status(400).send("Alle Felder sind erforderlich");
        return;
    }
    const hashedPassword = crypto.createHash('sha256').update(password.trim()).digest('hex');
    try {
        const [rows] = await db.query<mysql.RowDataPacket[]>("SELECT id FROM users WHERE email = ? AND password = ?", [email.trim(), hashedPassword]);
        if (rows.length > 0) {
            req.session.userId = rows[0].id;
            res.status(200).send("Anmeldung erfolgreich");
        } else {
            console.log("Es wurde ein Login mit falschen Daten versucht!");
            res.status(401).send("Anmeldung fehlgeschlagen");
        }
    } catch (err) {
        console.error("Fehler bei der Anmeldung:", err);
        res.status(422).send("Anmeldung fehlgeschlagen");
    }
}

Dazu muss man natürlich sagen, dass uns zu dem Zeitpunkt Begriffe wie JWT-Token, Salting/Hashing noch relativ fremd waren. Das sollte dann alles im weiteren Verlauf des Studiums kommen. Alles in allem waren es aber zwei sehr gelungene Module, die auch vorher noch komplett fachfremde sehr gut in die Thematik eingeführt haben.

Gelerntes aus WebP1 und WebP2

HTML/CSS: Tiefgründiges Wissen über HTML/CSS
Express.js: Aufbau von einfachen Servern mit REST-Schnittstellen
SQL: Datenbankdesign und -abfragen
Node.js: Funktionsweise von Node.js sowie dem NPM
AJAX: Funktionsweise von AJAX-Requests und der Vorteil gegenüber klassischen

#Integrationsprojekt 1 (IP1)

Das Integrationsprojekt 1 (IP1) war das Abschlussprojekt beider Semester und ist mit 15 Credit Points auch sehr umfangreich. Bereits während des zweiten Semesters wird man in wöchentlichen Vorlesungen in das Thema agiles Projektmanagement (nach Scrum) eingeführt, was einen essentiellen Bestandteil im IP1 darstellt.

Nachdem wir dann bereits in BWLIS2 und DMK2 die Klausuren geschrieben haben, ging es Anfang Juni letzten Jahres los. In Gruppen von um die fünf Student:innen findet man sich dann in der Kick-Off-Veranstaltung zusammen und entwickelt zunächst basierend auf ein Überbegriff, welcher jedes Jahr neu vorgegeben wird, eine Geschäftsidee. In unserem Fall war der Überbegriff *nachhaltige Verpackungsmaterialien und unser daraus abgeleitetes Thema eine nachhaltige Lebensmittelverpackung aus Algen mit intelligenter Frischeanzeige.

Nachdem wir für unser Thema das Go bekommen haben, ging es direkt in der ersten Woche in den BWL-Teil rein. Dort musste dann ein Businessplan entwickelt werden, welcher unter anderem die Geschäftsidee, SWOT- und PESTEL-Analyse, Business Model Canvas usw. enthielt. Zum Ende des BWL-Teils hielten wir dann noch einen Pitch mit abschließender Fragerunde, in der wir unseren Businessplan verteidigt haben.

Weiter ging es dann direkt in den Medien-Teil des IP1, in dem wir das Gelernte aus den beiden Semestern sehr gut anwenden konnten. Unter anderem stand die Entwicklung von Anforderungen, User Stories und Story Mapping, und im weiteren Verlauf die Entwicklung von Wireframes, Prototypen und zum Schluss einem Moodboard im Vordergrund. Es gab fast jeden Tag sehr gute Feedbackrunden, in denen wir eine gute und faire Rückmeldung über unser bisher Geleistetes erhalten haben. Am Ende stand also der Prototyp eines Online-Shops für unser Produkt, mit Profilbereichen und allem drumherum.

Nachdem dann bereits knapp drei Wochen vergangen sind, fing der für mich schönste (und zeitintensivste) Abschnitt des IP1 an: der IT-Teil, bei dem es um die praktische Umsetzung der Prototypen aus dem Medien-Teil in eine echte Webseite ging. Zunächst einmal haben wir in YouTrack alle Anforderungen mit User Stories und Epics nochmals verschriftlicht und dann konkrete Tasks für unser Team abgeleitet. Die Vorgabe war, strikt nach Scrum zu arbeiten, und dafür standen uns drei Sprints mit je einigen Tagen Zeit zur Verfügung Zusammen mit meinem Kommilitonen Niklas habe ich den Backend-Teil übernommen, da mir das schon immer am meisten Spaß gemacht hat. Es gab für uns als Team bestimmte Vorgaben, was je Sprint umgesetzt werden musste (z.B. ein vollständiges CRUD usw.). Grundsätzlich durften wir uns die Architektur nach Absprache aussuchen, angesichts der begrenzten Zeit haben wir uns aber - auch durch die Erfahrung, die wir bereits gesammelt haben - wieder für ein Backend mit `Express.js entschieden - die Datenbank wurde uns von der THM zur Verfügung gestellt. Wir konnten während des ersten Sprint schon unzählige CRUDs und Features implementieren, und haben in den anderen beiden Sprints dann noch weitere Gimmicks verbaut, inkl. der Einbindung einer Schnittstelle zur Prüfung von Bankdaten, oder einen Bildupload über Multer.

typescript
const storage = multer.diskStorage({
    destination: (req, file, cb) => {
        cb(null, 'public/global/uploads/');
    },
    filename: (req, file, cb) => {
        const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9);
        cb(null, file.fieldname + '-' + uniqueSuffix + Path.extname(file.originalname));
    }
});

Auch das Frontend von den anderen Teammitgliedern sah am Ende identisch zum Prototypen aus und entsprach unseren Erwartungen.

Startseite
Die Startseite unseres Projektes mit Top-Produkten
Unique Selling Points
Unsere USPs - auf der Startseite dargestellt
Produktdetailseite
Die Produktdetailseite unseres Projektes
Produktbewertungen
Produktbewertungen auf der Produktdetailseite
Warenkorb
Der Warenkorb inkl. Anzeige, ab wann kostenloser Versand möglich ist
Bestellverwaltung
Anzeige aufgegebener Bestellungen nach dem Einloggen
Artikelverwaltung
Bearbeitung von Artikeln als Anbieter des Shops
Artikelverwaltung
Bearbeitung von Artikelbeschreibungen als Anbieter, dargestellt als Akkordeon
Weitere Gimmicks
Anzeige bis kostenloser Versand, IBAN-Prüfung bei der Bestellung, Bearbeitung von Bewertungen
1 / 9

Eindrücke unseres IP1-Projektes

Im Gegensatz zu einem großen Onepager, also einer riesigen HTML-Datei, in der alle Sachen des Shops dynamisch mit TypeScript gerendet werden, haben wir uns für eine feature-basierte Struktur entschieden, und dementsprechend eine ordentliche Struktur der Seite (zumindest nach unserem damaligen Wissensstand) ;)

Ordnerstruktur des Frontends
Die Ordnerstruktur des Frontends

Während des IT-Teils hatten wir zwei mündliche Abfragen, in denen wir unseren geschriebenen Code erklären mussten, damit auch klar wird, dass wir die Express.js bzw. TypeScript im Allgemeinen verstanden haben. Auch gab es nach den drei Sprints Sprint-Reviews, in denen wir mit dem Product Owner (also dem Auftraggeber) die umgesetzten User Stories nach Definition of Done durchgegangen sind und auch die Scrum-Planung überprüft wurde mitsamt Burndown-Chart, und wir dann eine Note dafür erhalten haben. Nachdem wir dann soweit mit allen drei Teilen durch waren und unser Endprodukt stand, war das IP1 kurz vor dem Abschluss, und es kam zur Abschlusspräsentation, bei der alle Professoren und Dozenten anwesend waren, die uns in den Wochen zuvor begleitet haben. Insgesamt waren wir mit dem Resultat mehr als zufrieden, die Wochen des IP1 vergingen sehr schnell und wir hatten eine sehr schöne Zeit zusammen als Team.

Nature's Shield - IP1

Technologien
Node.jsExpress.jsMySQL
Team5 Studierende
DauerFünf Wochen

Kurz nach Ende des IP1 ging es auf die Veranstaltung für die Vertiefungsphase, in der wir dann alle Informationen für die verschiedenen Vertiefungsrichtungen erhalte haben. Unter anderem gab es dort bestimmte Tracks mit Modulauswahlen, mit denen man einen groben Überblick darüber bekam, welche Module man auswählen sollte für welchen Weg (z.B. Frontendentwicklung in der Informatik, Backendentwicklung, usw.). In einem abschließendem Reflexionsgespräch hat man das alles nochmal besprochen und dann das Go für die Vertiefungsphase bekommen.

Module der restlichen Semester

Ab dem dritten Semester heißt es dann, selbstständig Module auswählen! In drei Pools hat man eine große Auswahl an Modulen, die natürlich je nach Vertiefungsrichtung variiere. Da ich Informatik vertiefe, stehen mir Module aus dem Vertiefungspool IT, aus dem Wahl-Pflicht-Pool sowie dem überfachlichen Pool zur Verfügung. In jedem Pool muss am Ende eine bestimmte Anzahl an Credit Points erreicht sein.

Ich habe mich in dem dritten und vierten Semester vorrangig natürlich für praktische IT-Module entschieden, zum Beispiel Webtechnologien (mit Einblick in Java Spring, Frontend-Frameworks wie Angular & Co.), Konzepte und Realisierung objektorientierter Programmierung (Grundlagen und tiefgründigeres Wissen zu OOP), in diesem Semester Entwicklung mobiler Applikationen (auf Basis von Ionic und Capacitor) sowie Konzepte moderner Softwareentwicklung (alles rund um Entwicklungsstandards, Git-Workflows, Projektmanagement). Diese Module sind zumeist am Ende mit einer Projektarbeit versehen, manchmal noch mit einer kleinen Kurzklausur oder einer mündlichen Prüfung. Das mag zunächst einmal einfacher klingen, aber es ist oft so, dass man gerade bei aufwändigen Projektarbeiten einen viel höheren Arbeitsaufwand hat und teilweise Nächte an dem Fixen von Bugs verbringt. Der schöne Nebeneffekt ist da natürlich, dass man am Ende meist etwas Schönes von Grund auf aufgebaut hat, und man weiß, worin die Arbeit geflossen ist.

Projekte im Studium

#WebTechnologien-Projekt: Notizen-System

Dieses Projekt führte mich zwei neue Bereiche der Softwareentwicklung hinein:

  • Kotlin Spring als Backend mit MVC-Pattern
  • GraphQL statt Rest als Schnittstelle

Ziel des Projektes war, eine Webapp für die Verwaltung von Notizen zu bauen. Wir hatten bestimmte Vorgaben, zum Beispiel die Verwendung von Kotlin und Spring für die Schnittstellen, sowie GraphQL statt Rest. Zusammen mit einem Kommilitonen, mit dem ich viele Module parallel besuche, haben wir dieses Projekt realisiert.

Ein Ausschnitt zum Beispiel aus dem UserController, der ein User-Data Transfer Object annimmt.

kotlinUserController.kt
    @GetMapping("/{id}")
    fun getUserById(@PathVariable id: Long): ResponseEntity<UserDTO> {
        return try {
            val user = userService.getUserById(id)
            if (user != null) {
                ResponseEntity.ok(UserMapper.toDTO(user))
            } else {
                throw ResourceNotFoundException("User", "id", id)
            }
        } catch (e: ResourceNotFoundException) {
            ResponseEntity.notFound().build()
        }
    }

Und die dazugehörige getUserById-Methode im UserService, die die Methode aus dem Interface IUserService implementiert.

kotlinUserService.kt
    override fun getUserById(id: Long): User? = userRepository.findById(id).orElse(null)
kotlinIUserService.kt
    fun getUserById(id: Long): User?

Das Frontend verwendet Vue.js und zum Styling TailwindCSS v3.

Anzeige der Notizbücher
Nach dem Login werden einem alle angelegten Notizbücher angezeigt
Detailanzeige von Notizbüchern
Klickt man auf ein Notizbuch aus Bild eins, werden einem alle Einträge dazu angezeigt
Bearbeiten von Notizen
Nachträgliches Bearbeiten eigener Notizen
1 / 3

Eindrücke des WebTech-Projektes

Insgesamt war das Projekt sehr simpel aufgebaut, dennoch waren die ersten Erfahrungen mit Kotlin und Spring sehr lehrreich!

Webtechnologien-Abschlussprojekt

Java SpringH2 Database EngineVue.jsViteTailwindCSS

#Weitere Projekte

Weitere Projekte werde ich im Laufe der Zeit noch vorstellen unter dem Punkt Projekte. Dort werde ich dann noch spezifischer auf die Architektur eingehen, welche Herausforderungen es gab, wie wir die Arbeit aufgeteilt haben bzw. nach Scrum gearbeitet haben. Ich bin auch immer offen für Vorschläge für cleaneren Code, also sollte einem mal was auffallen, gerne immer eine Mail schreiben! :)

Herausforderungen

#Zeitplanung

Am Anfang des Studiums erhält man schnell den Eindruck, als stünde ein riesiger Berg voller Aufgaben vor einem, den man kaum bewältigen kann. Wichtig ist es, immer einen kühlen Kopf zu bewahren und sich einen Plan über alle Abgaben und Klausuren zu machen. Eine Faustformel dafür gibt es meiner Meinung nach nicht: Alle haben einen anderen Lerntyp. Die einen bevorzugen es, sich bereits Wochen vor den Klausuren intensiv damit auseinanderzusetzen und den Stoff zu lernen. Die anderen lernen lieber unter Druck zeitnahe vor den Klausuren.

Meine Tipps für euch

  1. Planung: Erstellt Euch einen Kalender online oder handschriftlich, in dem ihr Eure Vorlesungszeiten, Praktika, Abgaben und Klausuren einträgt.
  2. Ausgleich: Neben dem ganzen Lernen ist es wichtig, für sich einen Ausgleich zu haben. Vergesst nicht, euch mit Freunden zu treffen, Sport zu machen, oder was euch sonst so Spaß macht ;)
  3. Auch privat dazulernen: Es ist sehr hilfreich, das Gelernte aus der Uni auch privat mal in einem für euch interessanten Projekt umzusetzen. So lernt ihr noch mehr dazu und habt gleichzeitig selbst was davon.

#Organisation & Kritikpunkte

Mein einziger Kritikpunkt an dem Studiengang ist die teilweise unübersichtliche Organisation. In den ersten beiden Semestern ist der Verlauf (sofern man alle notwendigen Klausuren besteht) für alle Studierenden gleich. Sobald man dann aber in die Vertiefungsphase kommt, ist man selbst für seine Modulwahl verantwortlich und muss jederzeit darauf achten, die Module so zu wählen, dass man in den drei Modulpools die richtige Anzahl von Credit Points erreicht. In den Vertiefungsveranstaltungen erhält man Informationen zu den Modulpools und im Falle der IT-Informationsveranstaltung wurden uns, wie bereits oben erwähnt, verschiedene Tracks mit Modulen für unterschiedliche Richtungen in der Informatik, gezeigt. Leider gab es zu der Zeit Inkonsistenzen, die Folien waren teilweise nicht mehr aktuell und es war auch an einigen Stellen unklar, welche Module nun zum Beispiel auch Voraussetzung dafür sind, den Informatik-Master ohne Auflagen beginnen zu können. Mit der Umstellung zu DMS hat sich meines Erachtens nach einiges zum Guten verändert. Ich möchte euch aber dennoch ans Herz legen, sehr genau auch mit eurem Mentor zu besprechen, welche Module optimal sind und wie ihr am besten alle drei Modulpools optimal ausfüllt.

Ein Kommilitone von mir hat extra dafür eine Webapp gebaut, auf der ihr eure Module eintragen könnt und seht, ob ihr alle Anforderungen erfüllt. Schaut gerne mal vorbei!

Mein Ausblick

Für die nächsten Semester und die darauffolgende Zeit steht bei mir noch an:

  • Integrationsprojekt 2: Das zweite IP, welches dann nur noch bezogen auf die Vertiefung ist
  • Praxisphase: Mehrmonatiges Praktikum kurz vor der Bachelorthesis
  • Informatik-Master: Im Anschluss an mein Bachelorstudium möchte ich an der THM noch den M.Sc. in Informatik machen

Fazit

Der Studiengang DMS an der THM bietet allen Interessierten eine gute Mischung aus drei wichtigen Richtungen. Die Professoren und Dozenten sind sehr freundlich und geben sich viel Mühe, den Vorlesungsstoff ansprechend und verständlich beizubringen. Einzig und allein der Kritikpunkt hinsichtlich der Organisation bzw. Kommunikation besteht von meiner Seite aus. Dennoch würde ich mit meinem jetzigen Wissen den Studiengang jedem weiterempfehlen, mit den Tipps, die ich oben bereits erwähnt habe. Es macht alles in allem sehr viel Spaß, die Modulauswahl ist groß, und man kann sich individuell gut weiterentwickeln.

„Man kann sich auf Dinge konzentrieren, die Hindernisse darstellen, oder man kann sich darauf konzentrieren, die Mauer zu überwinden oder das Problem neu zu definieren.“ – Tim Cook

Tags

StudiumTHMDMSDigital Media Systems

Artikel teilen

Hast du Fragen oder Anregungen zu Artikeln?

Melde dich gerne bei mir per Mail, ich versuche zeitnahe darauf zu antworten.