Alle Lernmaterialien für deinen Kurs Advanced Design and Programming

Egal, ob Zusammenfassung, Altklausur, Karteikarten oder Mitschriften - hier findest du alles für den Studiengang Bachelor of Science Informatik

Universität Erlangen-Nürnberg

Bachelor of Science Informatik

Prof. Dr.

2024

So erstellst du deine eigenen Lernmaterialien in Sekunden

  • Lade dein Vorlesungsskript hoch
  • Bekomme eine individuelle Zusammenfassung und Karteikarten
  • Starte mit dem Lernen

Lade dein Skript hoch!

Zieh es hierher und lade es hoch! 🔥

Jetzt hochladen

Die beliebtesten Lernunterlagen deiner Kommilitonen

Jetzt hochladen
Advanced Design and Programming - Cheatsheet
Advanced Design and Programming - Cheatsheet Erzeugungsmuster: Singleton, Factory Definition: Erzeugungsmuster verwalten die Instanziierung von Objekten, Singleton stellt sicher, dass eine Klasse nur eine Instanz hat, Factory erzeugt Objekte auf Basis von Parametern oder Eingaben. Details: Singleton: Nur eine Instaz einer Klasse, oft für Konfigurationsklassen genutzt. Factory Method: Erzeugt Objek...

Advanced Design and Programming - Cheatsheet

Zugreifen
Advanced Design and Programming - Exam
Advanced Design and Programming - Exam Aufgabe 1) Gegeben ist eine Anwendung, die verschiedene Arten von Datenbankverbindungen verwaltet. Es stehen zwei Typen von Datenbanken zur Verfügung: MySQL und PostgreSQL . Du sollst Erzeugungsmuster anwenden, um die Instanziierung und Verwaltung dieser Verbindungen zu optimieren. a) Implementiere eine Singleton-Klasse DatabaseConfig , die sicherstellt, dass...

Advanced Design and Programming - Exam

Zugreifen

Bereit für die Klausur? Teste jetzt dein Wissen!

Was stellt das Singleton-Muster sicher?

Was ist das Hauptmerkmal der Factory Method?

Was ermöglicht die Abstract Factory?

Was ist das Observer-Verhaltensmuster?

Welche Methoden gehören typischerweise zum Observer-Verhaltensmuster?

Was sind Vorteile des Observer-Verhaltensmusters?

Was versteht man unter dem Diamond Problem in der Vererbung?

Was ist der Hauptunterschied zwischen abstrakten Klassen und Interfaces?

Was ist Polymorphie in der OOP?

Was ermöglicht die Verwendung von Generics in der Programmierung?

Wie sieht die Syntax für einen Lambda-Ausdruck aus?

Welches Beispiel zeigt die Verwendung von Generics?

Was ist das Ziel von Synchronisationstechniken in der parallelen Programmierung?

Welche Synchronisationstechnik verhindert den gleichzeitigen Zugriff auf eine Ressource?

Welche Technik wird verwendet, um Deadlocks zu vermeiden, indem keine Locks verwendet werden?

Was ist eine Schichtenarchitektur?

Welche Vorteile bieten Mikroservices?

Was ist ein Nachteil der Mikroservices-Architektur?

Was ermöglichen automatische Testframeworks in der Softwareentwicklung?

Welche Vorteile bieten automatisierte Testframeworks?

Welche Frameworks sind für verschiedene Programmiersprachen populär?

Was ist der primäre Zweck des Refaktorisierens?

Nenne ein Beispiel für einen Code-Smell.

Welche Tools können zur Erkennung von Code-Smells verwendet werden?

Weiter

Diese Konzepte musst du verstehen, um Advanced Design and Programming an der Universität Erlangen-Nürnberg zu meistern:

01
01

Design Patterns

Dieser Abschnitt behandelt wiederverwendbare Lösungen für häufig auftretende Probleme innerhalb eines bestimmten Kontexts in der Softwareentwicklung.

  • Definition und Bedeutung von Design Patterns
  • Unterschiedliche Kategorien wie Erzeugungsmuster, Strukturmuster und Verhaltensmuster
  • Beispiele von klassischen Design Patterns wie Singleton, Observer und Factory
  • Einsatzmöglichkeiten und Vorteile im Softwareentwicklungsprozess
  • Konkrete Anwendung in bestehenden Softwareprojekten
Karteikarten generieren
02
02

Fortgeschrittene Programmiertechniken

Hier werden fortgeschrittene Techniken und Methoden vorgestellt, um die Effizienz und Qualität der Softwareentwicklung zu verbessern.

  • Erweiterte Konzepte der objektorientierten Programmierung
  • Generics und Lambda-Ausdrücke
  • Koordinations- und Synchronisationstechniken in paralleler Programmierung
  • Dynamische Datentypen und Metaprogrammierung
  • Optimierung und Performance-Tuning von Softwareanwendungen
Karteikarten generieren
03
03

Software Architekturen

Der Abschnitt Lehrer die Prinzipien und Muster, die zur Definition der Struktur und Organisation von Software-Systemen verwendet werden.

  • Grundlagen der Softwarearchitektur und ihre Bedeutung
  • Unterschiedliche Architekturstile wie Schichtenarchitektur, Mikroservices und eventgesteuerte Architekturen
  • Bedeutung von modularer und komponentenbasierter Entwicklung
  • Werkzeuge und Methoden zur Dokumentation von Softwarearchitektur
  • Evaluierung und Validierung von Architekturen
Karteikarten generieren
04
04

Testverfahren

In diesem Abschnitt werden verschiedene Testmethoden und Best Practices zur Sicherstellung der Qualität von Softwareanwendungen vorgestellt.

  • Arten von Softwaretests: Unit-Tests, Integrationstests, Systemtests und Abnahmetests
  • Automatisierte Testverfahren und Testframeworks
  • Entwicklung und Verwaltung von Testfällen
  • Kontinuierliche Integration und Testen
  • Werkzeuge zur Unterstützung des Testprozesses
Karteikarten generieren
05
05

Refactoring

Dieser Abschnitt behandelt die Techniken zur Verbesserung der internen Struktur von bestehendem Code, ohne dessen externes Verhalten zu ändern.

  • Definition und Zweck von Refactoring
  • Erkennen von Code-Smells und technischen Schulden
  • Refactoring-Techniken und -Muster wie Extrahieren von Methoden und Ersetzen von bedingter Logik
  • Werkzeuge zur Unterstützung des Refactorings
  • Best Practices und Prinzipien für effektives Refactoring
Karteikarten generieren

Alles Wichtige zu diesem Kurs an der Universität Erlangen-Nürnberg

Advanced Design and Programming an Universität Erlangen-Nürnberg - Überblick

Im Rahmen des Studiengangs Informatik wird an der Universität Erlangen-Nürnberg die Vorlesung 'Advanced Design and Programming' angeboten. Diese Vorlesung richtet sich an fortgeschrittene Studierende und vermittelt tiefgehende Kenntnisse im Bereich des Software-Designs und der Programmierung. Du lernst, wie verschiedene Design Patterns angewendet werden, fortgeschrittene Programmiertechniken, die Struktur von Software Architekturen sowie Testverfahren und Refactoring.

Wichtige Informationen zur Kursorganisation

Kursleiter: Prof. Dr.

Modulstruktur: Die Vorlesung besteht aus wöchentlichen Vorträgen, zusätzlichen Übungen und Projektarbeiten.

Studienleistungen: Die Leistung wird durch eine Klausur am Ende des Semesters bewertet.

Angebotstermine: Wintersemester

Curriculum-Highlights: Design Patterns, Fortgeschrittene Programmiertechniken, Software Architekturen, Testverfahren, Refactoring

So bereitest Du Dich optimal auf die Prüfung vor

Beginne frühzeitig mit dem Lernen, idealerweise schon zu Beginn des Semesters, um Dir die nötige theoretische Basis anzueignen.

Nutze verschiedene Ressourcen, wie Bücher, Übungsaufgaben, Karteikarten und Probeklausuren, um dein Wissen zu vertiefen.

Schließe Dich Lerngruppen an und tausche Dich mit anderen Studierenden aus, um gemeinsam Lösungsstrategien zu entwickeln.

Vergiss nicht, regelmäßige Pausen einzulegen und in diesen Zeiten komplett abzuschalten, um eine Überbelastung zu vermeiden.

Nutzung von StudySmarter:

Nutzung von StudySmarter:

  • Erstelle Lernpläne und Zusammenfassungen
  • Erstelle Karteikarten, um dich optimal auf deine Prüfung vorzubereiten
  • Kreiere deine personalisierte Lernerfahrung mit StudySmarters AI-Tools
Kostenfrei loslegen

Stelle deinen Kommilitonen Fragen und bekomme Antworten

Melde dich an, um der Diskussion beizutreten
Kostenlos anmelden

Sie haben bereits ein Konto? Login

Entdecke andere Kurse im Bachelor of Science Informatik

74790 Strategisches Management Kurs ansehen
Advanced Design and Programming Kurs ansehen
Advanced Mechanized Reasoning in Coq Kurs ansehen
Advanced Programming Techniques Kurs ansehen
Algebra Kurs ansehen
Algebra des Programmierens Kurs ansehen
Algebraische und Logische Aspekte der Automatentheorie Kurs ansehen
Algorithmen und Datenstrukturen Kurs ansehen
Algorithmik kontinuierlicher Systeme Kurs ansehen
Allgemeine Biologie I Kurs ansehen

Lerne jederzeit. Lerne überall. Auf allen Geräten.

Kostenfrei loslegen