We may earn an affiliate commission when you visit our partners.
Course image
Martin Krutzfeld

Wolltest Du schon immer mal Dein eigenes Spiel Programmieren? Wir programmieren Tetris gemeinsam.

Dann heiße ich Dich willkommen zu meinem Kurs. Gemeinsam programmieren wir Schritt für Schritt den all-time-classic Tetris.

Und dafür brauchst Du keine großen Programmierkenntnisse. Wenn Du weißt was ein if-Statement und eine Loop ist, sind wir schon good to go.

In über 65 praxisorientierten Video-Lektionen implementierst Du mit meiner Unterstützung Methode-für-Methode Dein Videospiel.

Read more

Wolltest Du schon immer mal Dein eigenes Spiel Programmieren? Wir programmieren Tetris gemeinsam.

Dann heiße ich Dich willkommen zu meinem Kurs. Gemeinsam programmieren wir Schritt für Schritt den all-time-classic Tetris.

Und dafür brauchst Du keine großen Programmierkenntnisse. Wenn Du weißt was ein if-Statement und eine Loop ist, sind wir schon good to go.

In über 65 praxisorientierten Video-Lektionen implementierst Du mit meiner Unterstützung Methode-für-Methode Dein Videospiel.

Der Kurs besteht aus klar abgegrenzten Modulen, in denen wir uns auf einzelne Komponenten des Spiels fokussieren. Pro Lektion behandeln wir genau ein Feature, oder eine Methode.

Eine Lektion ist so aufgebaut:

Zuerst schauen wir uns analytisch an, was genau die Methode oder Feature aus einer User, bzw. Spielersicht machen soll.

Dann schauen wir uns die technische Seite an. Dort schauen wir uns zusammen Unit Tests an, die spezifizieren, wie welche Daten genau verändert werden sollen.

Und dann bist Du schon gefragt. Du bekommst einen Code-Stand mit den Unit-Tests, die das oben beschriebene Feature genau spezifizieren, und kannst loslegen. Während du programmierst, kannst du selbstständig auf deinem Computer die Unit Tests ausführen, sodass Du weißt ob Du richtig liegst.

Sobald Du dann fertig bist, schauen wir uns gemeinsam noch meine Lösung an. Als Software-Entwickler mit jahrelanger Erfahrung kann ich Dir hier noch einige Tipps und Hinweise zur Implementierung geben. Außerdem erkläre ich warum ich diese Implementierung gewählt habe und worauf zu achten ist.

Diese Lektionen bauen dann aufeinander auf und so entsteht Schritt für Schritt Dein eigenes Tetris.

Angefangen zu programmieren habe ich überhaupt, weil ich als Kind immer Spiele entwickeln wollte. Damals habe ich nie wirklich die richtigen Kurse oder Bücher dafür gefunden – und auch heute scheint Spieleentwicklung mit dem Lernen von Frameworks & Engines wie Unity, oder Unreal verbunden zu sein. Das machen wir hier nicht.

Wir implementieren alles von Beginn an. Das einzige was ich euch von Anfang an mitgebe ist ein minimales technisches Grundgerüst für die Unit Tests. Den Rest machen wir mit typescript.

Wenn Du noch nie etwas mit typescript gemacht hast, bist Du trotzdem richtig hier, solange Du Grundlagen der Programmierung beherrscht – also if und loop – und schon Grundkonzepte der Objektorientierung kennst.

Dann gibt es nicht mehr viel zu sagen, außer, dass ich mich freue, mit Dir gemeinsam Tetris zu entwickeln – und wir sehen uns bei der ersten Lektion :)

Key Facts:

  • Step-By-Step: Kleine, verstehbare Lektionen, Methode-für-Methode, Komponente-für-Komponente

  • Umfangreich: über 65 Videolektionen

  • Praxisorientiert: Jede Lektion wird durch eine Praxis-Aufgabe abgeschlossen, die Du durch autom. Tests selbst überprüfen kannst.

  • Saubere, klare Software-Entwicklung & Architektur

  • Zugänglich: Kaum Vorkenntnisse nötig.

In diesem Kurs lernst Du nicht nur Tetris zu programmieren sondern auch:

  • Analytisches Vorgehen: Kein Drauflos-Skripten, sondern klare Vorüberlegungen

  • Testgetriebene-Entwicklung: Jede Methode wird mit Unit-Tests abgedeckt, die Dir helfen die Spezifikationen der Praxisaufgabe genaustens zu verstehen und zu implementieren

  • Software-Architektur: Prinzipien wie bspw. Seperation of Concern und Dependency Injection

Enroll now

What's inside

Learning objectives

  • Implementiere dein eigenes tetris-spiel
  • Strukturelles software-entwickeln: analytisches vorgehen & test driven design
  • Programmieren mit typescript, jasmine, node/npm und html
  • Clean architecture: dependency injection, seperation of concerns
  • Mathematische grundlagen der analytischen geometrie

Syllabus

Einführung

Willkommen

Hallo und herzlich Willkommen zum Kurs "How to code Tetris"! Eines der Grundkonzepte dieses Kurses ist, dass jede Lektion so fokussiert und präzise wie möglich gehalten ist. Legen wir also in diesem Sinne direkt los!

Ziel

  • Tetris als Spiel ist lauffähig

  • Ihr lernt über das Vorgehen der Software-Entwicklung:

    • Vorüberlegungen und Analyse

    • Spezifikationen & Test-getriebene-Entwicklung

    • Umsetzungshinweise, Umsetzung und Nachbesprechung

  • Hinweis: Der Fokus liegt auf den Daten und der Funktionalität; die Präsentation kommt zuletzt

Read more

Anleitung pro Lektion

Pro Lektion schaut ihr euch bitte alle vorbereitenden Materialen an. Geht es dann an die Aufgabe könnt ihr den zu der Aufgabe gehörenden Stand herunterladen. Ihr könnt auch mit eurem vorherigen Stand weitermachen – wenn es jedoch Probleme gibt könnt ihr immer mit dem von mir gegebenen Stand weitermachen. Ihr solltet euch niemals frustrieren – es muss Spass machen.

Laded ihr einen neuen Stand herunter müsst ihr einmal

npm install

ausführen. Das lädt die Dependencies herunter, diese sind im Download nicht enthalten, damit der Download klein bleibt.

Wenn das durchgelaufen ist führt ihr

npm run test

aus. Das kompiliert das Programm und führt die Tests aus. Diese sollten jetzt fehlschlagen. Eure Aufgabe ist das Feature so zu implementieren, dass diese Tests nicht mehr fehlschlagen.

Während ihr programmiert führt ihr also regelmäßig

npm run test

aus um zu sehen ob ihr richtig liegt. Wenn ihr euch auf nur einen Testfall fokussieren wollt könnt ihr ihn auch von describe zu fdescribe, bzw von it zu fit ändern. Das f steht für focus. Vergesst aber nicht, das f zu entfernen, da sonst scheinbar immer alles geht, in Wirklichkeit euer Code aber schief hängt.

Sollte es technische Probleme geben dann könnt ihr in der Troubleshooting Sektion nachschauen. Lasst euch nicht entmutigen, irgendwelche Probleme gibt's bei Computern immer, meist sehen sie ganz schlimm aus, lassen sich aber leicht beheben.

Ich würde euch dringend empfehlen git zu verwenden (oder eine anderes vcs), sodass ihr euren Code nicht verlieren könnt.

Zusammenfassung

  • Source-Code Downloaden, der zur Aufgabe gehört

  • Einmalig Dependencies laden: npm install ausführen

  • Feature Implementieren und mit npm run test festellen ob es wirklich funktioniert

  • Lösungsvideo anschauen und eigene Lösung vergleichen, zuhören, “mitdiskutieren” & lernen

Zusammenfassung

  • Jede Komponente hat einen eigenen Concern, der am Anfang jedes Modules erklärt wird

    • Die Komponente macht nur was in ihrem Concern enthalten ist

    • https://en.wikipedia.org/wiki/Separation_of_concerns

  • Jede Komponente wird durch ein Interface ausgedrückt

    • nach und nach implementieren wird die Methoden, pro Lektion eine

    • Wenn ein Komponente eine Abhängigkeit zu einer anderen hat, dann nur als interface. Die konkrete Instanz wird im Constructor mitgegeben: https://en.wikipedia.org/wiki/Dependency_injection

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Typescript, Jasmine, node/npm, and HTML, which are valuable tools for web development and can enhance a portfolio
Focuses on implementing Tetris from scratch, offering a deeper understanding of game logic and software architecture
Emphasizes test-driven development, where each method is covered with unit tests to understand and implement specifications
Teaches software architecture principles like Separation of Concerns and Dependency Injection, promoting clean and maintainable code
Covers mathematical foundations of analytical geometry, which is useful for understanding game mechanics and spatial reasoning
Requires familiarity with basic programming concepts like if-statements, loops, and object-oriented programming, which may be a barrier for absolute beginners

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Tetris programmieren mit tdd und clean code

Laut Lernenden ist 'How to code: Tetris' ein Kurs, der sich durch sein klares Schritt-für-Schritt-Vorgehen und den starken Fokus auf saubere Software-Entwicklung und TDD auszeichnet. Studierende schätzen die praktische Umsetzung anhand des motivierenden Projekts Tetris. Die klar strukturierten Lektionen und die hilfreichen Erklärungen des Dozenten nach den Übungsaufgaben werden oft positiv hervorgehoben. Einige merken an, dass der Kurs, obwohl für Anfänger gedacht, zumindest grundlegende Programmierkenntnisse (über if/loop hinaus) erfordert. Es gab vereinzelt Berichte über manchmal technische Schwierigkeiten beim Setup. Der Fokus liegt primär auf der Logik und weniger auf der grafischen Präsentation bis zum Schluss.
Zuerst Daten/Funktion, dann Präsentation
"Der Kurs konzentriert sich primär auf die Spiel-Logik, die Grafik kommt spät."
"Man lernt die 'Innereien' des Spiels, nicht primär die grafische Darstellung."
"Der Ansatz, erst die Logik zu haben, macht Sinn für sauberen Code."
Lösungen und Hintergründe gut erklärt
"Die Nachbesprechung der Lösungen durch den Dozenten ist sehr aufschlussreich."
"Der Dozent erklärt gut warum er so vorgegangen ist, das hilft beim Verständnis."
"Man bekommt nützliche Tipps und Hinweise zur Implementierung."
Spannendes Projekt zum Üben
"Tetris als Projekt ist sehr motivierend und man sieht schnell Ergebnisse."
"Man programmiert wirklich ein funktionierendes Spiel von Grund auf."
"Die praktische Anwendung des Gelernten ist sofort möglich."
Klare Struktur, Lektionen gut aufgebaut
"Der Aufbau in kleinen, leicht verdaulichen Lektionen ist super gelöst."
"Jeder Schritt wird gut erklärt und ist nachvollziehbar."
"Durch die modulare Struktur ist der Kurs leicht verständlich und man bleibt dran."
Starker Fokus auf TDD und sauberen Code
"Der Kurs fokussiert sich stark auf Test Driven Design, was mir sehr geholfen hat..."
"Ich finde den Fokus auf saubere Architektur und TDD sehr gut..."
"TDD wird Schritt für Schritt erklärt und angewendet, sehr praxistauglich."
"Man lernt wirklich, wie man sauberen, testbaren Code schreibt."
Setup kann manchmal tricky sein
"Hatte anfangs Probleme mit dem Setup und den Abhängigkeiten."
"Die Einrichtung erforderte etwas Geduld, aber es ist machbar."
"Manchmal gab es Schwierigkeiten mit der lokalen Testausführung."
Manche fanden Vorkenntnisse hilfreich
"Grundlegende OOP-Kenntnisse sind definitiv von Vorteil, auch wenn nur if/loop erwähnt wird."
"Ein wenig Typescript-Erfahrung schadet nicht, auch wenn es erklärt wird."
"Obwohl für Anfänger, ist es gut schon etwas programmiert zu haben, um alles auf Anhieb zu verstehen."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in How to code: Tetris | Tetris programmieren für Anfänger with these activities:
TypeScript-Grundlagen auffrischen
Machen Sie sich mit den Grundlagen von TypeScript vertraut, da der Kurs in TypeScript programmiert wird.
Browse courses on TypeScript
Show steps
  • Installieren Sie TypeScript und einen Code-Editor.
  • Schreiben Sie einfache TypeScript-Programme.
  • Experimentieren Sie mit Typen, Interfaces und Klassen.
Lesen Sie 'Clean Code' von Robert C. Martin
Erfahren Sie mehr über Clean Code-Prinzipien, die im Kurs erwähnt werden.
Show steps
  • Lesen Sie Kapitel über Funktionen, Objekte und Formatierung.
  • Notieren Sie sich wichtige Prinzipien und Beispiele.
Üben Sie Unit-Tests mit Jasmine
Verbessern Sie Ihre Fähigkeiten im Schreiben von Unit-Tests mit Jasmine, da der Kurs testgetriebene Entwicklung verwendet.
Show steps
  • Richten Sie eine Jasmine-Testumgebung ein.
  • Schreiben Sie Unit-Tests für einfache Funktionen.
  • Üben Sie das Schreiben von Tests vor der Implementierung.
Three other activities
Expand to see all activities and additional details
Show all six activities
Erstellen Sie ein Diagramm der Tetris-Architektur
Visualisieren Sie die Architektur des Tetris-Spiels, um das Zusammenspiel der Komponenten besser zu verstehen.
Show steps
  • Identifizieren Sie die Hauptkomponenten des Tetris-Spiels.
  • Zeichnen Sie ein Diagramm, das die Beziehungen zwischen den Komponenten zeigt.
  • Beschreiben Sie die Funktion jeder Komponente im Diagramm.
Erweitern Sie das Tetris-Spiel
Fügen Sie dem Tetris-Spiel zusätzliche Funktionen hinzu, um Ihre Programmierkenntnisse zu vertiefen.
Show steps
  • Wählen Sie eine Erweiterung, z.B. einen Highscore oder verschiedene Schwierigkeitsgrade.
  • Implementieren Sie die Erweiterung mit TypeScript und Unit-Tests.
  • Testen Sie die Erweiterung gründlich.
Lesen Sie 'Game Programming Patterns' von Robert Nystrom
Erfahren Sie mehr über Entwurfsmuster in der Spieleentwicklung, um Ihre Fähigkeiten zu verbessern.
Show steps
  • Lesen Sie Kapitel über Command, Observer und State Pattern.
  • Überlegen Sie, wie diese Muster im Tetris-Spiel verwendet werden könnten.

Career center

Learners who complete How to code: Tetris | Tetris programmieren für Anfänger will develop knowledge and skills that may be useful to these careers:
Spieleentwickler
Ein Spieleentwickler erweckt virtuelle Welten zum Leben, indem er Computerspiele für verschiedene Plattformen wie Konsolen, PCs und mobile Geräte entwickelt. Die Aufgaben umfassen das Schreiben von Code, das Entwerfen von Spielmechaniken, die Erstellung von Grafiken und Animationen sowie das Testen und Debuggen des Spiels. Werden Sie Spieleentwickler. Dieser Kurs hilft Ihnen, die Grundlagen der Spieleentwicklung zu erlernen, indem Sie ein klassisches Spiel wie Tetris von Grund auf neu programmieren. Der Kurs vermittelt Ihnen nicht nur die technischen Fähigkeiten zum Schreiben von Code, sondern auch das analytische Denken und die Testmethoden, die für die erfolgreiche Entwicklung von Spielen unerlässlich sind. Das testgetriebene Entwicklungsmodell des Kurses kann besonders wertvoll sein, da es sicherstellt, dass Ihre Software robust und fehlerfrei ist. Mit dem Wissen über Seperation of Concern und Dependency Injection bauen Sie ein klares solides Fundament für spätere Lernschritte.
Softwareentwickler
Ein Softwareentwickler konzipiert, entwickelt und testet Softwareanwendungen für verschiedene Zwecke. Softwareentwickler arbeiten an einer breiten Palette von Projekten, von Webanwendungen bis hin zu mobilen Apps und Systemsoftware. Dieser Kurs hilft Ihnen, Ihre Fähigkeiten in der Softwareentwicklung zu verbessern, indem Sie ein reales Projekt von Anfang bis Ende durchführen. Das im Kurs verwendete testgetriebene Entwicklungsmodell kann besonders wertvoll sein, da es sicherstellt, dass Ihre Software robust und fehlerfrei ist. Darüber hinaus hilft Ihnen der Fokus des Kurses auf Prinzipien wie Seperation of Concern und Dependency Injection beim Aufbau sauberer, wartbarer Software. Mit diesem Kurs können Sie Selbstvertrauen und praktische Erfahrung in der Softwareentwicklung gewinnen.
Anwendungsentwickler
Anwendungsentwickler sind für die Erstellung, das Testen und die Implementierung von Softwareanwendungen verantwortlich. Diese Anwendungen können für Desktops, mobile Geräte oder das Web bestimmt sein. Anwendungsentwickler arbeiten eng mit anderen Fachleuten zusammen, um sicherzustellen, dass die Anwendungen die Bedürfnisse der Benutzer erfüllen. Dieser Kurs kann hilfreich sein, um Ihnen die Grundlagen der Anwendungsentwicklung zu vermitteln, indem Sie ein klassisches Spiel wie Tetris von Grund auf neu programmieren. Der Kurs vermittelt Ihnen praktische Erfahrung in der Softwareentwicklung und hilft Ihnen, Ihre Fähigkeiten in der Problemösung und im analytischen Denken zu verbessern. Der Schwerpunkt, den der Kurs auf die Erstellung klarer, testbarer Software legt, ist ein unschätzbarer Vorteil für angehende Anwendungsentwickler. Dieser Kurs dient als nützliche Übung.
Webentwickler
Ein Webentwickler erstellt und pflegt Websites und Webanwendungen. Dies umfasst das Schreiben von Code, das Entwerfen von Layouts und das Sicherstellen, dass die Website auf verschiedenen Geräten und Browsern funktioniert. Dieser Kurs kann Ihnen helfen, Ihre Fähigkeiten als Webentwickler zu verbessern, indem Sie ein Spiel mit Typescript, HTML und node/npm erstellen. Der Kurs vermittelt Ihnen praktische Erfahrung in der Verwendung dieser Technologien und hilft Ihnen, die Grundlagen der Webentwicklung zu verstehen. Darüber hinaus kann Ihnen der Fokus des Kurses auf Test Driven Development helfen, Webanwendungen zu erstellen, die zuverlässig und wartbar sind. Das Wissen über Seperation of Concern und Dependency Injection kann Ihnen beim Bau robuster Webanwendungen helfen.
Mobile Anwendungsentwickler
Entwickler mobiler Anwendungen erstellen Anwendungen für Smartphones und Tablets. Dieser Job erfordert ein Verständnis mobiler Betriebssysteme, Programmiersprachen und Designprinzipien. Dieser Kurs kann Ihnen helfen, die Grundlagen der Spieleentwicklung zu erlernen, indem Sie ein klassisches Spiel wie Tetris programmieren. Durch die Arbeit an einem praktischen Projekt können Sie sich mit den Herausforderungen und Chancen der Entwicklung mobiler Anwendungen vertraut machen. Die Konzepte der Softwarearchitektur, die im Kurs behandelt werden, wie z. B. Separation of Concerns und Dependency Injection, sind besonders relevant für die Entwicklung übersichtlicher, wartbarer mobiler Anwendungen als Mobile Anwendungsentwickler.
Frontend Entwickler
Ein Frontend Entwickler konzentriert sich auf die Gestaltung und Entwicklung der Benutzeroberfläche von Websites und Webanwendungen. Dazu gehört das Schreiben von HTML, CSS und JavaScript, um interaktive und benutzerfreundliche Erlebnisse zu schaffen. Obwohl dieser Kurs sich in erster Linie auf die Logik eines Spiels konzentriert, werden Sie mit Typescript und HTML umgehen, was grundlegende Fähigkeiten für das Frontend sind. Das Programmieren von Tetris im Kurs kann Ihnen helfen, Ihre Fähigkeiten im Umgang mit diesen Technologien zu verbessern, und Ihnen einen Einblick geben, wie Softwarearchitektur und Test Driven Development im Frontend eingesetzt werden können. Dieses Wissen kann für die Entwicklung eines reaktionsschnellen und ansprechenden Frontend unerlässlich sein, was die Grundlage für einen Frontend Entwickler darstellt.
Backend Entwickler
Backend Entwickler sind für die Entwicklung und Wartung der serverseitigen Logik und Datenbanken verantwortlich, die Webanwendungen und Websites antreiben. Diese Rolle umfasst die Arbeit mit Programmiersprachen wie Typescript und die Gewährleistung der Zuverlässigkeit, Sicherheit und Leistung der Anwendung. Dieser Kurs kann hilfreich sein, um Ihnen die Grundlagen der Backend Entwicklung zu vermitteln, indem Sie ein Spiel mit Typescript und node/npm erstellen. Die Betonung der Testgetriebene-Entwicklung im Kurs kann hilfreich sein, um eine solide Grundlage für die Entwicklung zuverlässiger und wartbarer Backend-Systeme zu schaffen. Mit diesem Kurs können Sie das Wissen und die Fähigkeiten erwerben, die Sie benötigen, um als Backend Entwickler erfolgreich zu sein.
Full Stack Entwickler
Ein Full Stack Entwickler beherrscht sowohl die Frontend als auch die Backend Entwicklung und kann an allen Aspekten einer Webanwendung arbeiten. Full Stack Entwickler sind in der Lage, ein Projekt von Anfang bis Ende zu übernehmen. Dieser Kurs kann nützlich sein, da Sie nicht nur mit Typescript implementieren, wie es im Backend üblich ist, sondern es durch HTML auch präsentieren, wie man es im Frontend macht. Der Kurs vermittelt Ihnen auch die Soft Skills, die für die erfolgreiche Entwicklung von Software unerlässlich sind, wie z. B. analytisches Denken und Testmethoden. Diese Fähigkeiten sind sowohl für die Frontend als auch für die Backend Entwicklung unerlässlich. Mit diesem Kurs können Sie das Wissen und die Erfahrung sammeln, die Sie benötigen, um als Full Stack Entwickler erfolgreich zu sein.
Softwaretester
Ein Softwaretester ist verantwortlich für die Identifizierung und Meldung von Fehlern und Problemen in Softwareanwendungen. Sie erstellen und führen Tests durch, um sicherzustellen, dass die Software wie vorgesehen funktioniert und die Qualitätsstandards erfüllt. Obwohl sich dieser Kurs in erster Linie auf die Entwicklung konzentriert, kann das Verständnis der Testgetriebene-Entwicklung und der Unit Tests Ihnen helfen, die Denkweise eines Softwaretesters zu entwickeln. Sie lernen, wie man Tests schreibt, um sicherzustellen, dass der Code wie erwartet funktioniert, was eine wertvolle Fähigkeit für einen Softwaretester ist. Dieser Kurs kann Ihnen helfen, Ihr Wissen über Testmethoden zu erweitern, um Software zu testen.
Qualitätssicherung Ingenieur
Ein Qualitätssicherung Ingenieur plant und führt Tests durch, um sicherzustellen, dass Softwareprodukte die erforderlichen Standards erfüllen. Dies umfasst das Schreiben von Testplänen, das Ausführen von Tests und das Melden von Fehlern. Der Kurs kann hilfreich sein, da Sie die Bedeutung von Tests und die Verwendung von Unit Tests zur Sicherstellung der Softwarequalität lernen. Sie können als Qualitätssicherung Ingenieur mit diesem Wissen beginnen. Das Verständnis der Prinzipien der Softwarearchitektur, die im Kurs behandelt werden, wie z. B. Separation of Concerns und Dependency Injection, kann Ihnen helfen, die Qualität von Softwareprodukten zu gewährleisten.
Automatisierungsingenieur
Ein Automatisierungsingenieur entwirft, entwickelt und implementiert automatisierte Testlösungen für Softwareanwendungen. Automatisierungsingenieure verwenden Programmiersprachen und Testautomatisierungstools, um Tests zu erstellen, die sich wiederholende Aufgaben ausführen und die Effizienz des Testprozesses verbessern. Dieser Kurs kann sich als nützlich erweisen, da er die Grundlagen der Testgetriebene-Entwicklung vermittelt, die für einen Automatisierungsingenieur von entscheidender Bedeutung ist. Sie lernen, wie man Tests schreibt, um sicherzustellen, dass der Code wie erwartet funktioniert, und wie man diese Tests automatisiert, um Fehler frühzeitig im Entwicklungsprozess zu erkennen. Diese Fähigkeiten können Ihnen helfen, ein erfolgreicher Automatisierungsingenieur zu werden.
Softwarearchitekt
Ein Softwarearchitekt ist verantwortlich für die Gestaltung und den Entwurf der Gesamtstruktur von Softwareanwendungen. Dies umfasst die Festlegung der verwendeten Technologien, die Definition der Architektur des Systems und die Sicherstellung, dass die Software die Geschäftsanforderungen erfüllt. Ein Softwarearchitekt benötigt in der Regel einen Master Abschluss. Dieser Kurs kann eine gute Einführung in die Softwarearchitektur sein, da er die Prinzipien der Softwarearchitektur wie Separation of Concerns und Dependency Injection behandelt. Diese Prinzipien sind für die Gestaltung wartbarer und skalierbarer Softwareanwendungen unerlässlich. Der Kurs kann Ihnen helfen, ein Softwarearchitekt zu werden.
Technischer Projektmanager
Ein technischer Projektmanager plant, organisiert und leitet die Fertigstellung spezifischer IT Projekte für ein Unternehmen und stellt gleichzeitig sicher, dass diese Projekte pünktlich, im Rahmen des Budgets und im Rahmen des Umfangs liegen. Obwohl dieser Kurs sich in erster Linie auf die technische Seite der Softwareentwicklung konzentriert, kann das Verständnis des Entwicklungsprozesses und der Best Practices für die Softwarearchitektur für einen technischen Projektmanager von Vorteil sein. Wenn Sie wissen, wie Software entwickelt wird, können Sie Projektpläne erstellen und Risiken leichter erkennen. Aus diesem Grund kann dieser Kurs für angehende technische Projektmanager von Vorteil sein.
Technischer Redakteur
Ein technischer Redakteur erstellt Dokumentationen, Handbücher und andere Arten von Inhalten, um technische Informationen klar und prägnant zu vermitteln. Diese Inhalte können sich auf Software, Hardware oder andere technische Produkte beziehen. Dieser Kurs kann Ihnen helfen, Ihr technisches Fachwissen zu erweitern und das im Kurs demonstrierte analytische Denken mitzubekommen. Die Fähigkeit, komplexe Ideen in leicht verständliche Sprache zu übersetzen, ist für einen technischen Redakteur unerlässlich. Der technische Redakteur kann ein besseres Verständnis für die Software erlangen.
Softwareentwicklungs Manager
Ein Softwareentwicklungsmanager führt ein Team von Softwareentwicklern und ist für die Planung, Durchführung und den erfolgreichen Abschluss von Softwareprojekten verantwortlich. Der Softwareentwicklungsmanager benötigt in der Regel einen Master Abschluss. Obwohl dieser Kurs in erster Linie auf die technischen Aspekte der Softwareentwicklung ausgerichtet ist, kann das Verständnis des Entwicklungsprozesses und der bewährten Verfahren der Softwarearchitektur für einen Softwareentwicklungsmanager von Vorteil sein. Wenn Sie wissen, wie Software entwickelt wird, können Sie bessere Projektpläne erstellen, Ressourcen effektiver zuweisen und Risiken erkennen. Dieser Kurs kann Ihnen helfen, eine effektiverer Softwareentwicklungsmanager zu werden.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in How to code: Tetris | Tetris programmieren für Anfänger.
Dieses Buch behandelt Prinzipien für saubere und wartbare Code-Architektur. Es ist besonders nützlich, um die im Kurs vermittelten Konzepte der Softwarearchitektur zu vertiefen. Obwohl es nicht direkt zum Programmieren von Tetris benötigt wird, hilft es, die Prinzipien hinter gutem Code zu verstehen. Es ist ein weit verbreitetes Buch in der Softwareentwicklung.
Dieses Buch bietet einen Überblick über gängige Entwurfsmuster in der Spieleentwicklung. Es ist nützlich, um die im Kurs verwendete Architektur besser zu verstehen und zu erweitern. Es ist eher als zusätzliche Lektüre gedacht, um das Verständnis für Spieleentwicklung zu vertiefen. Es wird von vielen Spieleentwicklern als Referenz verwendet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser