Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 4.2 KB

theoretische_informatik.md

File metadata and controls

20 lines (13 loc) · 4.2 KB

Theoretische Informatik

Rezession

Das Buch hat eine sehr gute Einführung in die verwendeten Mathematischen Grundlagen und Formelarisierungen. Zudem ist es sehr präzise und begründet geschrieben. Ich würde es als gute Einführung in die theoretische Informatik bezeichnen. Jedoch ist es nur ein Schritt in die Richtung das Thema wirklich verstehen zu wollen.

Für meinen persönlichen Geschmack hätte man sich bei den «Algorithmen» noch kürzer fassen können. Weil dieses Thema meistens als eigene Theorie «Algorithmen und Datenstrukturen» auftaucht. Für das Verständnis macht es jedoch Sinn, dass dieses Kapitel angeschnitten wird. Ich hätte aber gerne stattdessen mehr praktische Beispiele und andere Ansichten der gleichen Thematik angetroffen, vor allem bei den «Automaten und Sprachen» aber auch bei der «Komplexitätstheorie». Um nur Einige davon aufzuzählen, welche ich gerne mit konkreten Beispielen und Theorien gesehen hätte: Myhill-Nerode Automat, Pumping Lemma, NEA -> DEA, REGEX -> NEA, VNEA, Parse Tree, CNF, CYK, Pumping Lemma für CFG, Stackautomat -> Grammatik, Entscheidbarkeiten, Leerheitsproblem, Gleicheitsproblem, Akzeptierproblem, Halteproblem, Satz von Rice, Polynomielle Reduktion, Katalog von Karp, Wichtige Begriffe, usw. Ich will damit nicht sagen, dass all diese Themen keine Verwendung fanden. Jedoch fände ich den Ansatz gut, die Theorie inklusive praktische Beispiele (Realität und Anleitungen) aufzuzeigen und Übungsaufgaben dazu zur Verfügung zu stellen. Zudem wird im Buch oft nur eine Ansicht erklärt, aber viele finden vielleicht den Zugang gerade durch verschiedene Ansichten des gleichen Themas. Konkretes Beispiel wäre die Turingmaschine, welche nur mit While-Programmen abgehakt wird. Das Buch geht hier oft in die richtige Richtung (Theorie, Verständnisfragen, Aufgaben), jedoch auf Grund der Seitenzahl wurde vermutlich einiges gestrichen.

Das Thema ist sehr komplex und verstehen kann man es nur, wenn man sich damit tiefer auseinander setzt. Für mich bräuchte es eigentlich eine Theorie, Zusammenfassung, praktische Beispiele (Realität und Anleitungen) und Übungsaufgaben. All diese Bereiche jeweils in einem eigenen Buch, welches ein in sich geschlossenes einheitliches Werk darstellen würde.

Review

The book has a very good introduction to the mathematical foundations and formulae used. Additionally, it is written very precisely and thoroughly. I would describe it as a good introduction to theoretical computer science. However, it is only one step towards truly understanding the subject.

For my personal taste, the section on 'Algorithms' could have been more concise because this topic usually appears as its own theory, 'Algorithms and Data Structures.' However, it makes sense for the understanding that this chapter is included. Instead, I would have preferred to see more practical examples and different perspectives on the same topics, especially in 'Automats and Languages' and 'Complexity Theory.'

To name just a few that I would have liked to see with concrete examples and theories: Myhill-Nerode Automaton, Pumping Lemma, NFA to DFA, REGEX to NFA, VNEA, Parse Tree, CNF, CYK, Pumping Lemma for CFG, Stack Machine to Grammar, Decidability, Emptiness Problem, Equality Problem, Acceptance Problem, Halting Problem, Rice's Theorem, Polynomial Reduction, Karp's Catalog, Important Terms, etc.

I'm not saying that these topics were not covered at all. However, I would appreciate an approach that combines theory with practical examples (real-world applications and instructions) and provides exercise problems. Additionally, the book often presents only one perspective, but many people might benefit from different viewpoints on the same subject. A specific example would be the Turing machine, which is only covered with While-programs. The book often heads in the right direction (theory, comprehension questions, exercises), but due to page constraints, some content is likely omitted.

The subject is very complex, and one can only understand it by delving deeper. Ideally, it would require a theory, a summary, practical examples (real-world applications and instructions), and exercises. Each of these areas would be covered in a separate book, creating a self-contained, comprehensive work.