Alle Lernmaterialien für deinen Kurs Advanced Programming Techniques

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

Universität Erlangen-Nürnberg

Master 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 Programming Techniques - Cheatsheet
Advanced Programming Techniques - Cheatsheet Singleton, Factory und Observer Design Patterns Definition: Singleton, Factory und Observer Design Patterns - schnelle Übersicht für Fortgeschrittene Details: Singleton: Stellen sicher, dass eine Klasse nur eine Instanz hat und bieten einen globalen Zugriffspunkt. Factory: Erstellen Objekte, ohne ihre konkrete Implementierung offenzulegen, oft durch ein...

Advanced Programming Techniques - Cheatsheet

Zugreifen
Advanced Programming Techniques - Exam
Advanced Programming Techniques - Exam Aufgabe 1) Design Patterns: Singleton, Factory und Observer Design Patterns sind bewährte Lösungen für wiederkehrende Probleme in der Softwareentwicklung. Die in dieser Übung behandelten Patterns sind: Singleton: Ein Design Pattern, das sicherstellt, dass eine Klasse nur eine einzige Instanz hat und einen globalen Zugriffspunkt darauf bietet. Factory: Ein Des...

Advanced Programming Techniques - Exam

Zugreifen

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

Was ist das Ziel des Singleton Design Patterns?

Wie funktioniert das Factory Design Pattern?

Was ermöglicht das Observer Design Pattern?

Was ist eine Definition von Threads und Thread-Synchronisation?

Welche Probleme können bei der Nutzung von Threads auftreten?

Nennen Sie Methoden der Thread-Synchronisation?

Was sind Lambda-Ausdrücke in funktionalen Programmiersprachen?

Wie lautet die Syntax für einen Lambda-Ausdruck in einigen Sprachen?

Welche Programmiersprachen unterstützen Lambda-Ausdrücke und Closures?

Was ist das Mark-and-Sweep-Verfahren im Zusammenhang mit Garbage Collection?

Welche Eigenschaft kennzeichnet das Generational Garbage Collection?

Wie tragen Garbage Collection Algorithmen zur Performance & Effizienz bei?

Was ist der Hauptunterschied zwischen Tiefensuche (DFS) und Breitensuche (BFS) in Graph-Algorithmen?

Welche algorithmische Struktur wird typischerweise für den Dijkstra-Algorithmus verwendet?

Was ist die Zeitkomplexität des Dijkstra-Algorithmus mit einer Priority-Queue?

Was versteht man unter Refactoring?

Welche Prinzipien gehören zu Clean Code Techniken?

Was ist das KISS-Prinzip im Kontext von Clean Code?

Was sind Mutexe?

Wie verhindert ein Spinlock Ressourcenkonflikte?

Welche Bedingung gehört NICHT zu Kaffman-Bedingungen für Deadlocks?

Was ist ein Speicherleck?

Was ist die Hauptursache für Speicherlecks?

Wie können Speicherlecks vermieden werden?

Weiter

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

01
01

Fortgeschrittene Konzepte in der objektorientierten Programmierung

In diesem Abschnitt wirst Du Dich mit komplexen Aspekten der objektorientierten Programmierung (OOP) auseinandersetzen.

  • Design Patterns: Singleton, Factory, Observer
  • Abstrakte Klassen und Schnittstellen
  • Erweiterte Konzepte der Vererbung und Polymorphismus
  • Refactoring und Clean Code Techniken
  • Unit Tests und Mocking Frameworks
Karteikarten generieren
02
02

Concurrency und Parallelverarbeitung

Dieser Abschnitt befasst sich mit den Prinzipien und Techniken der gleichzeitigen und parallelen Datenverarbeitung.

  • Threads und Thread-Synchronisation
  • Locks, Semaphoren und Deadlocks
  • Parallel Computing und Multithreading-Frameworks
  • Asynchrone Programmierung und Futures
  • Nebenläufigkeitsprobleme erkennen und lösen
Karteikarten generieren
03
03

Funktionale Programmierung

Du wirst die Prinzipien der funktionalen Programmierung sowie deren Anwendung in modernen Programmiersprachen erlernen.

  • Grundkonzepte: Immutability, Higher-Order Functions
  • Lambda-Ausdrücke und Closures
  • Map, Reduce, und Filter Funktionen
  • Monaden und Funktoren
  • Funktionale Programmierparadigmen in Java, Scala und Haskell
Karteikarten generieren
04
04

Speichermanagement und Garbage Collection

Dieser Teil konzentriert sich auf das Verwalten und Optimieren des Speichers in Programmen.

  • Heap and Stack Memory
  • Manuelles vs. Automatisches Speichermanagement
  • Garbage Collection Algorithmen: Mark-and-Sweep, Generational GC
  • Speicherlecks und deren Vermeidung
  • Performance-Optimierungen durch effizientes Speichermanagement
Karteikarten generieren
05
05

Fortgeschrittene Datenstrukturen und Algorithmen

Hier lernst Du komplexe Datenstrukturen und Algorithmen, die für die Lösung anspruchsvoller Probleme notwendig sind.

  • Graphen und ihre Algorithmen (DFS, BFS, Dijkstra)
  • Balancierte Bäume: AVL, Rote-Schwarze Bäume
  • Heaps und Heap-Sort
  • Hashing und assoziative Datenstrukturen
  • Algorithmische Optimierungen und Komplexitätsanalyse
Karteikarten generieren

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

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

Im Rahmen des Studiengangs Informatik an der Universität Erlangen-Nürnberg bietet die Vorlesung Advanced Programming Techniques eine tiefgehende Auseinandersetzung mit fortgeschrittenen Programmiermethoden. Diese Vorlesung ist darauf ausgerichtet, Deine Fähigkeiten in verschiedenen modernen Programmiertechniken zu erweitern und zu vertiefen.

Wichtige Informationen zur Kursorganisation

Kursleiter: Prof. Dr.

Modulstruktur: Die Vorlesung besteht aus einem theoretischen und einem praktischen Teil. Der theoretische Teil umfasst Vorlesungen und Seminararbeiten, während der praktische Teil Programmierübungen und Projekte beinhaltet.

Studienleistungen: Die Prüfungsleistung erfolgt in Form einer schriftlichen Klausur und der Bewertung der Projekte.

Angebotstermine: Die Vorlesung wird sowohl im Wintersemester als auch im Sommersemester angeboten.

Curriculum-Highlights: Fortgeschrittene Konzepte in der objektorientierten Programmierung, Concurrency und Parallelverarbeitung, Funktionale Programmierung, Speichermanagement und Garbage Collection, Fortgeschrittene Datenstrukturen und Algorithmen

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 Master of Science Informatik

93182 Mainframe Programmierung II Kurs ansehen
Advanced Deep Learning Kurs ansehen
Advanced Design and Programming (5-ECTS) Kurs ansehen
Advanced Game Physics Kurs ansehen
Advanced Mechanized Reasoning in Coq Kurs ansehen
Advanced Networking LEx Kurs ansehen
Advanced Programming Techniques Kurs ansehen
Advanced Simulation Technology Kurs ansehen
AI-1 Systems Project Kurs ansehen
AI-2 Systems Project Kurs ansehen

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

Kostenfrei loslegen