CS 210 – Algorithms and Data Structures (Summer 2026) · unit page · YouTube
2026-04-20, 5:29

Click any sentence to play from there.

The transcript was generated automatically by YouTube's speech recognition and is offered as is. It may contain errors, in particular in concerning technical terms, names and formulas.

0:01 Letzter Punkt aus diesem Motivationskapitel geht's noch mal um die Sprache der Experten. Das baut auf dem letzten Punkt auf mit den Abstraktionen, aber noch mal sozusagen die menschliche Komponente zurückholen. Sie entwickeln Software ja nicht alleine, sondern fast immer in Teams oder mindestens für ihren Nachfolger äh wie auch immer ähm es dazu dann kommt oder sie bauen auf etwas auf, was jemand anderes gebaut hat. Schockschwere Not.

0:31 Und dann werden Abstraktionen zu den Vokabeln, mit denen Sie ähm komplexe Dinge in einen Begriff komprimieren, um effizient drüber zu reden. Also, ich würde sagen, das ist ein wiederverwendbares Verständnis. So wie Algorithmen wieder verwertbarer Codes sind, ist ein guter Name für eine gute Abstraktion, Verständnis, dass sie wieder verwenden können und effizient damit umgehen können. Und das wird von ihnen erwartet werden. Ist halt so. Beispiele, was das heißt, was heißt damit zurechtkmen? Ähm, das ist einfach ein Teil aus der aktuellen äh aus dem Javac von einer Klasse aus der aus der Java Runtime und der der hervorgehobene Teil sagt Implementation note. This implementation provides big OF of log and time for the inqing and dqing methods. Offer Paul remove and add. Linear time for the remove object and contains object methods and constant time for the retrieval methods, peak, element and size. Und jetzt sollte eben klar sein, was das bedeutet und in welchem Kontext diese Datenstruktur gut genug ist oder auch nicht.

1:39 Insbesondere groß Onotation kommt vor, denn Leute haben sich angewöhnt in dieser Abstraktion zu denken. Ergo kommen sie nicht drum rum dazu, was zu lernen. Machen wir dann wahrscheinlich am Mittwoch.

1:55 Und äh der Teil ist noch relativ basic. Vielleicht haben die meisten von Ihnen eine grobe Vorstellung, was das bedeutet. Ähm es gibt dann aber auch so fortgeschrittenere Dinge. Das ist jetzt aus einem Teil der nebenläufigen Datenstrukturen, auf die also mehrere Threads gleichzeitig zugreifen können sollen, ohne dass es irgendwelche irgendwelchen Ärger gibt und ohne dass es super langsam wird. Das ist der Kniff. Da gibt's ein extra Paket äh Java Util concurrent. werden wir hier in der Vorlesung nicht groß drauf eingehen. Ich möchte an der Stelle das nur aus dem Kontext reißen, um Ihnen zu sagen, was was manchmal da dann so steht. Da steht: "This class implements a concurrent variant of skip lists." Whatever that is, brauchen wir jetzt nicht wissen. Providing expected average log and time cost. Was muss man erstmal zerlegen, was das überhaupt bedeutet.

2:46 Okay, das ist gerade so am Rande dessen, wo wir uns noch hinbewegen werden, können Sie in der Folge Veranstaltung in effiziente Algorithmen dann mehr zu lernen. Äh, aber so Dinge begegnen ihn und das sind jetzt nicht esoterische Bibliotheken von irgendeinem Hardcore Google Entwickler, sondern das ist die Standard Java Bibliothek.

3:11 Wenn sie das alles immer noch nicht überzeugt hat, aber sie sich in Softwareentwicklung äh in irgendeiner Rolle sehen, dann werden sie höchstwahrscheinlich in so einem technischen Interview landen. Das ist der Standard mittlerweile bei den bei den großen und kleinen Techunternehmen äh auch äh in Europa mehr und mehr verbreitet. Da werden sie also auf Herzonieren geprüft unter dieser stressigen Situation, dass sie live irgendwas programmieren oder zumindest den Code beschreiben sollen. Und da kommen quasi immer Standardfragen zu Algorithmen und Datenstrukturen vor, auch weil das leicht zu testen ist in kurzer Zeit und auch weil ihr gegenüber quasi sicher den Kram kennt, weil jeder das in seinem Studium oder in seinem Berufsleben irgendwo kennengelernt hat. Na gut. Ähm, zu dem Comic auf der Seite sage ich nicht viel. Das natürlich jetzt so ein bisschen das nächste Metal Level. Wenn Sie über den Comic lachen können, dann haben sie schon einiges erreicht aus der Vorlesung.

4:19 Kommen wir noch dazu. Ignoriere für jetzt können Sie sich gegen Ende noch mal anschauen. Also Zusammenfassung von diesem Motivationskapitel. Auf der einen Seite geht es uns darum, dass sie einen Baukasten von Algorithmen und Datenstrukturen beherrschen, der sich als Standard Handwerkszeug etabliert hat und allein deswegen schon wichtig ist, damit sie mit anderen damit kompetent reden können, aber es sind auch einfach praktische Dinge, auf denen man aufbauen kann. Sind die intellektuellen Errungenschaften unserer Disziplin und manchmal müssen sie ran und die erweitern. Sie müssen aber insbesondere auch wenn die schon implementiert und fertig in der Bibliothek sind bewerten können, wann die passend sind für einen Einsatz und sich mit anderen austauschen und vielleicht andere davon zu überzeugen können, dass das die richtige Lösung ist. Dafür müssen sie den Baukasten kennen und die passenden Abstraktionen verinnerlicht haben und ähm verstehen, was eine Bibliothek vielleicht auch verspricht an Performance. Na ja. und hoffentlich sich nicht nicht äh veräppeln lassen.

← Video 1-3: AbstraktionVideo 2-1: Standardbibliotheken →