- german translation
This commit is contained in:
parent
955b0f3256
commit
820013c040
@ -106,7 +106,7 @@ Liste (Netzwerke, Sicherheit) ansehen.
|
||||
- Adjazenzmatrix
|
||||
- Adjazenzliste
|
||||
- Traversierung: Breitensuche, Tiefensuche
|
||||
- [Sonstiges](#even-more-knowledge)
|
||||
- [Noch mehr](#even-more-knowledge)
|
||||
- [Rekursion](#recursion)
|
||||
- [Dynamische Programmierung](#dynamic-programming)
|
||||
- [Object-orientierte Programmierung](#object-oriented-programming)
|
||||
@ -868,7 +868,7 @@ Schreib Code auf einer Tafel oder auf Papier, aber nicht am Computer. Teste mit
|
||||
- Selection sort and insertion sort are both O(n^2) average and worst case
|
||||
- For heapsort, see Heap data structure above.
|
||||
|
||||
- [ ] Not required, but I recommended them:
|
||||
- [ ] Nicht vorgeschrieben, aber würde ich empfehlen:
|
||||
- [ ] [Sedgewick - Radix Sorts (6 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/3)
|
||||
- [ ] [1. Strings in Java](https://www.coursera.org/learn/algorithms-part2/lecture/vGHvb/strings-in-java)
|
||||
- [ ] [2. Key Indexed Counting](https://www.coursera.org/learn/algorithms-part2/lecture/2pi1Z/key-indexed-counting)
|
||||
@ -882,8 +882,8 @@ Schreib Code auf einer Tafel oder auf Papier, aber nicht am Computer. Teste mit
|
||||
- [ ] [Randomization: Matrix Multiply, Quicksort, Freivalds' algorithm (video)](https://www.youtube.com/watch?v=cNB2lADK3_s&index=8&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
||||
- [ ] [Sorting in Linear Time (video)](https://www.youtube.com/watch?v=pOKy3RZbSws&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=14)
|
||||
|
||||
As a summary, here is a visual representation of [15 sorting algorithms](https://www.youtube.com/watch?v=kPRA0W1kECg).
|
||||
If you need more detail on this subject, see "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
||||
Als Zusammenfassung hier ist eine grafische Darstellung von [15 Sortieralgorithmen](https://www.youtube.com/watch?v=kPRA0W1kECg).
|
||||
Falls du noch mehr zu dem Thema wissen willst, schau dir "Sortierung" unter [Weitere Details für ausgewählte Themen](#additional-detail-on-some-subjects) an
|
||||
|
||||
</details>
|
||||
|
||||
@ -892,17 +892,17 @@ If you need more detail on this subject, see "Sorting" section in [Additional De
|
||||
<details>
|
||||
<summary>Graphen</summary>
|
||||
|
||||
Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were.
|
||||
Graphen können genutzt werden um damit viele verschiedene Probleme in der Informatik darzustellen. Deswegen ist dieser Abschnitt so lang wie Bäume und Sortierung.
|
||||
|
||||
- Bemerkungen:
|
||||
- There are 4 basic ways to represent a graph in memory:
|
||||
- objects and pointers
|
||||
- adjacency matrix
|
||||
- adjacency list
|
||||
- Es gibt 4 verschiedene Arten einen Graph im Speicher zu repräsentieren:
|
||||
- Objekte und Pointer
|
||||
- Adjazenzmatrix
|
||||
- Adjazenzliste
|
||||
- adjacency map
|
||||
- Familiarize yourself with each representation and its pros & cons
|
||||
- BFS and DFS - know their computational complexity, their tradeoffs, and how to implement them in real code
|
||||
- When asked a question, look for a graph-based solution first, then move on if none.
|
||||
- bekanntmachen mit jeder dieser Repräsentationen und ihrer Vor- und Nachteile
|
||||
- BFS und DFS - kenne Komplexität, ihre Kompromisse, und wie man sie mit echten Code umsetzt
|
||||
- Wenn eine Frage gestellt wird, suche zuerst nach einer graphbasierten Lösung, dann geh weiter wenn es keine gibt.
|
||||
|
||||
- [ ] MIT(videos):
|
||||
- [ ] [Breadth-First Search](https://www.youtube.com/watch?v=s-CYnVz-uh4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=13)
|
||||
@ -931,59 +931,59 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
||||
- [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
||||
|
||||
- Full Coursera Course:
|
||||
- Kompletter Coursera Kurs:
|
||||
- [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
||||
|
||||
- I'll implement:
|
||||
- [ ] DFS with adjacency list (recursive)
|
||||
- [ ] DFS with adjacency list (iterative with stack)
|
||||
- [ ] DFS with adjacency matrix (recursive)
|
||||
- [ ] DFS with adjacency matrix (iterative with stack)
|
||||
- [ ] BFS with adjacency list
|
||||
- [ ] BFS with adjacency matrix
|
||||
- [ ] single-source shortest path (Dijkstra)
|
||||
- [ ] minimum spanning tree
|
||||
- DFS-based algorithms (see Aduni videos above):
|
||||
- [ ] check for cycle (needed for topological sort, since we'll check for cycle before starting)
|
||||
- [ ] topological sort
|
||||
- [ ] count connected components in a graph
|
||||
- [ ] list strongly connected components
|
||||
- [ ] check for bipartite graph
|
||||
- werde ich implementieren:
|
||||
- [ ] DFS mit Adjazenzliste (rekursiv)
|
||||
- [ ] DFS mit Adjazenzliste (iterativ mit Stack)
|
||||
- [ ] DFS mit Adjazenzmatrix (rekursiv)
|
||||
- [ ] DFS mit Adjazenzmatrix(iterativ mit Stack)
|
||||
- [ ] BFS mit Adjazenzliste
|
||||
- [ ] BFS mit Adjazenzmatrix
|
||||
- [ ] Kürzester Pfad (Dijkstra)
|
||||
- [ ] minimaler Spannbaum
|
||||
- DFS-basierte Algorithmen (siehe Aduni Videos oben):
|
||||
- [ ] auf Zyklus prüfen (für Topologische Sortierung benötigt, wir prüfen auf Zyklen bevor wir anfangen)
|
||||
- [ ] Topologische Sortierung
|
||||
- [ ] zähle Zusammenhangskomponenten in einen Graph
|
||||
- [ ] liste starke Zusammenhangskomponenten auf
|
||||
- [ ] prüfe ob es ein bipartiter Graph ist
|
||||
|
||||
</details>
|
||||
|
||||
## Even More Knowledge
|
||||
## Noch mehr
|
||||
|
||||
<details>
|
||||
<summary>Even More Knowledge</summary>
|
||||
<summary>Noch mehr</summary>
|
||||
|
||||
- ### Recursion
|
||||
- [ ] Stanford lectures on recursion & backtracking:
|
||||
- ### Rekursion
|
||||
- [ ] Stanford Vorlesung über Recursion und Backtracking:
|
||||
- [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
|
||||
- [ ] [Lecture 9 | Programming Abstractions (video)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9)
|
||||
- [ ] [Lecture 10 | Programming Abstractions (video)](https://www.youtube.com/watch?v=NdF1QDTRkck&index=10&list=PLFE6E58F856038C69)
|
||||
- [ ] [Lecture 11 | Programming Abstractions (video)](https://www.youtube.com/watch?v=p-gpaIGRCQI&list=PLFE6E58F856038C69&index=11)
|
||||
- when it is appropriate to use it
|
||||
- how is tail recursion better than not?
|
||||
- wann sollte man es benutzen
|
||||
- Wann ist Endrekursion gut?
|
||||
- [ ] [What Is Tail Recursion Why Is It So Bad?](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
|
||||
- [ ] [Tail Recursion (video)](https://www.youtube.com/watch?v=L1jjXGfxozc)
|
||||
|
||||
- ### Dynamic Programming
|
||||
- You probably won't see any dynamic programming problems in your interview, but it's worth being able to recognize a problem as being a candidate for dynamic programming.
|
||||
- This subject can be pretty difficult, as each DP soluble problem must be defined as a recursion relation, and coming up with it can be tricky.
|
||||
- I suggest looking at many examples of DP problems until you have a solid understanding of the pattern involved.
|
||||
- ### Dynamische Programming
|
||||
- Wahrscheinlich wirst du im Vorstellungsgespräch nichts mit dynamischer Programmierung zu tun haben, aber es ist wert zu erkennen wann ein Problem für dynaische Programmierung geeignet ist.
|
||||
- Dieses Thema kann ziemlich schwer sein. Jedes DP Problem muss als Rekursion dargestellt werden, und darauf zu kommen kann schwer sein.
|
||||
- Ich schlage vor, dass man sich viele DP Probleme ansieht bis man ein gutes Verständnis vom zugrundeliegenden Muster hat.
|
||||
- [ ] Videos:
|
||||
- the Skiena videos can be hard to follow since he sometimes uses the whiteboard, which is too small to see
|
||||
- die Skiena Videos kann man manchmal schwer folgen, weil er manchmal auf einer Tafel schreibt was zu klein zum Lesen ist
|
||||
- [ ] [Skiena: CSE373 2012 - Lecture 19 - Introduction to Dynamic Programming (video)](https://youtu.be/Qc2ieXRgR0k?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1718)
|
||||
- [ ] [Skiena: CSE373 2012 - Lecture 20 - Edit Distance (video)](https://youtu.be/IsmMhMdyeGY?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=2749)
|
||||
- [ ] [Skiena: CSE373 2012 - Lecture 21 - Dynamic Programming Examples (video)](https://youtu.be/o0V9eYF4UI8?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=406)
|
||||
- [ ] [Skiena: CSE373 2012 - Lecture 22 - Applications of Dynamic Programming (video)](https://www.youtube.com/watch?v=dRbMC1Ltl3A&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=22)
|
||||
- [ ] [Simonson: Dynamic Programming 0 (starts at 59:18) (video)](https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558)
|
||||
- [ ] [Simonson: Dynamic Programming 0 (fängt an bei 59:18) (video)](https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558)
|
||||
- [ ] [Simonson: Dynamic Programming I - Lecture 11 (video)](https://www.youtube.com/watch?v=0EzHjQ_SOeU&index=11&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
|
||||
- [ ] [Simonson: Dynamic programming II - Lecture 12 (video)](https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12)
|
||||
- [ ] List of individual DP problems (each is short):
|
||||
- [ ] Liste einzelnen DP Problemen (jedes Problem ist klein):
|
||||
[Dynamic Programming (video)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
||||
- [ ] Yale Lecture notes:
|
||||
- [ ] Yale Vorlesungsnotizen:
|
||||
- [ ] [Dynamic Programming](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming)
|
||||
- [ ] Coursera:
|
||||
- [ ] [The RNA secondary structure problem (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/80RrW/the-rna-secondary-structure-problem)
|
||||
@ -994,71 +994,71 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [Global pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/UZ7o6/global-pairwise-sequence-alignment)
|
||||
- [ ] [Local pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment)
|
||||
|
||||
- ### Object-Oriented Programming
|
||||
- ### Objekt-Orientierte Programmierung
|
||||
- [ ] [Optional: UML 2.0 Series (video)](https://www.youtube.com/watch?v=OkC7HKtiZC0&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc)
|
||||
- [ ] Object-Oriented Software Engineering: Software Dev Using UML and Java (21 videos):
|
||||
- Can skip this if you have a great grasp of OO and OO design practices.
|
||||
- kann man überspringen wenn man gutes Wissen über OO und OO Design Patterns hat
|
||||
- [OOSE: Software Dev Using UML and Java (video)](https://www.youtube.com/playlist?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
|
||||
- [ ] SOLID OOP Prinzipien:
|
||||
- [ ] [Bob Martin SOLID Principles of Object Oriented and Agile Design (video)](https://www.youtube.com/watch?v=TMuno5RZNeE)
|
||||
- [ ] [SOLID Principles (video)](https://www.youtube.com/playlist?list=PL4CE9F710017EA77A)
|
||||
- [ ] S - [Single Responsibility Principle](http://www.oodesign.com/single-responsibility-principle.html) | [Single responsibility to each Object](http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html)
|
||||
- [more flavor](https://docs.google.com/open?id=0ByOwmqah_nuGNHEtcU5OekdDMkk)
|
||||
- [mehr dazu](https://docs.google.com/open?id=0ByOwmqah_nuGNHEtcU5OekdDMkk)
|
||||
- [ ] O - [Open/Closed Principal](http://www.oodesign.com/open-close-principle.html) | [On production level Objects are ready for extension but not for modification](https://en.wikipedia.org/wiki/Open/closed_principle)
|
||||
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgN2M5MTkwM2EtNWFkZC00ZTI3LWFjZTUtNTFhZGZiYmUzODc1&hl=en)
|
||||
- [mehr dazu](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgN2M5MTkwM2EtNWFkZC00ZTI3LWFjZTUtNTFhZGZiYmUzODc1&hl=en)
|
||||
- [ ] L - [Liskov Substitution Principal](http://www.oodesign.com/liskov-s-substitution-principle.html) | [Base Class and Derived class follow ‘IS A’ principal](http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle)
|
||||
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgNzAzZjA5ZmItNjU3NS00MzQ5LTkwYjMtMDJhNDU5ZTM0MTlh&hl=en)
|
||||
- [mehr dazu](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgNzAzZjA5ZmItNjU3NS00MzQ5LTkwYjMtMDJhNDU5ZTM0MTlh&hl=en)
|
||||
- [ ] I - [Interface segregation principle](http://www.oodesign.com/interface-segregation-principle.html) | clients should not be forced to implement interfaces they don't use
|
||||
- [Interface Segregation Principle in 5 minutes (video)](https://www.youtube.com/watch?v=3CtAfl7aXAQ)
|
||||
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOTViYjJhYzMtMzYxMC00MzFjLWJjMzYtOGJiMDc5N2JkYmJi&hl=en)
|
||||
- [mehr dazu](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOTViYjJhYzMtMzYxMC00MzFjLWJjMzYtOGJiMDc5N2JkYmJi&hl=en)
|
||||
- [ ] D -[Dependency Inversion principle](http://www.oodesign.com/dependency-inversion-principle.html) | Reduce the dependency In composition of objects.
|
||||
- [Why Is The Dependency Inversion Principle And Why Is It Important](http://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important)
|
||||
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgMjdlMWIzNGUtZTQ0NC00ZjQ5LTkwYzQtZjRhMDRlNTQ3ZGMz&hl=en)
|
||||
- [mehr dazu](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgMjdlMWIzNGUtZTQ0NC00ZjQ5LTkwYzQtZjRhMDRlNTQ3ZGMz&hl=en)
|
||||
|
||||
- ### Design patterns
|
||||
- ### Design Patterns (Entwurfsmuster)
|
||||
- [ ] [Quick UML review (video)](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3)
|
||||
- [ ] Learn these patterns:
|
||||
- [ ] strategy
|
||||
- [ ] singleton
|
||||
- [ ] adapter
|
||||
- [ ] prototype
|
||||
- [ ] decorator
|
||||
- [ ] visitor
|
||||
- [ ] factory, abstract factory
|
||||
- [ ] facade
|
||||
- [ ] observer
|
||||
- [ ] proxy
|
||||
- [ ] delegate
|
||||
- [ ] command
|
||||
- [ ] state
|
||||
- [ ] memento
|
||||
- [ ] iterator
|
||||
- [ ] composite
|
||||
- [ ] flyweight
|
||||
- [ ] Learn diese Patterns:
|
||||
- [ ] Strategy
|
||||
- [ ] Singleton
|
||||
- [ ] Adapter
|
||||
- [ ] Prototype
|
||||
- [ ] Decorator
|
||||
- [ ] Visitor (Besucher)
|
||||
- [ ] Factory (Fabrik), abstract factory (abstrakte Fabrik)
|
||||
- [ ] Facade
|
||||
- [ ] Observer (Beobachter)
|
||||
- [ ] Proxy
|
||||
- [ ] Delegate
|
||||
- [ ] Command
|
||||
- [ ] State
|
||||
- [ ] Memento
|
||||
- [ ] Iterator
|
||||
- [ ] Composite
|
||||
- [ ] Flyweight (Fliegengewicht)
|
||||
- [ ] [Chapter 6 (Part 1) - Patterns (video)](https://youtu.be/LAP2A80Ajrg?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO&t=3344)
|
||||
- [ ] [Chapter 6 (Part 2) - Abstraction-Occurrence, General Hierarchy, Player-Role, Singleton, Observer, Delegation (video)](https://www.youtube.com/watch?v=U8-PGsjvZc4&index=12&list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
|
||||
- [ ] [Chapter 6 (Part 3) - Adapter, Facade, Immutable, Read-Only Interface, Proxy (video)](https://www.youtube.com/watch?v=7sduBHuex4c&index=13&list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
|
||||
- [ ] [Series of videos (27 videos)](https://www.youtube.com/playlist?list=PLF206E906175C7E07)
|
||||
- [ ] [Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124)
|
||||
- I know the canonical book is "Design Patterns: Elements of Reusable Object-Oriented Software", but Head First is great for beginners to OO.
|
||||
- Ich weiß das anerkannte Buch ist "Design Patterns: Elements of Reusable Object-Oriented Software", aber Head First ist großartig wenn man mit OO einsteigt.
|
||||
- [ ] [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
|
||||
- [ ] [Design patterns for humans](https://github.com/kamranahmedse/design-patterns-for-humans#structural-design-patterns)
|
||||
|
||||
|
||||
- ### Combinatorics (n choose k) & Probability
|
||||
- ### Kombinatorik (n über k) und Wahrscheinlichkeit
|
||||
- [ ] [Math Skills: How to find Factorial, Permutation and Combination (Choose) (video)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
|
||||
- [ ] [Make School: Probability (video)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
|
||||
- [ ] [Make School: More Probability and Markov Chains (video)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
|
||||
- [ ] Khan Academy:
|
||||
- Course layout:
|
||||
- Kursstruktur:
|
||||
- [ ] [Basic Theoretical Probability](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
|
||||
- Just the videos - 41 (each are simple and each are short):
|
||||
- Nur die Videos - 41 (jedes ist kurz und leicht zu verstehen):
|
||||
- [ ] [Probability Explained (video)](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
|
||||
|
||||
- ### NP, NP-Complete and Approximation Algorithms
|
||||
- Know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem,
|
||||
and be able to recognize them when an interviewer asks you them in disguise.
|
||||
- Know what NP-complete means.
|
||||
- ### NP, NP-vollständig und Heuristiken
|
||||
- Kenne die bekanntesten NP-vollständigen Probleme, wie z.B. Traveling Salesman und das Rucksackproblem,
|
||||
und sei in der Lage die zu erkennen wenn ein Interviewer heimlich danach frägt.
|
||||
- Wissen was NP-vollständig bedeutet.
|
||||
- [ ] [Computational Complexity (video)](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=23)
|
||||
- [ ] Simonson:
|
||||
- [ ] [Greedy Algs. II & Intro to NP Completeness (video)](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
|
||||
@ -1072,9 +1072,9 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [Complexity: P, NP, NP-completeness, Reductions (video)](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
|
||||
- [ ] [Complexity: Approximation Algorithms (video)](https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24)
|
||||
- [ ] [Complexity: Fixed-Parameter Algorithms (video)](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
||||
- Peter Norvig discusses near-optimal solutions to traveling salesman problem:
|
||||
- Peter Norvig beschreibt annähernd optimale Lösungen für das Traveling Salesman Problem:
|
||||
- [Jupyter Notebook](http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb)
|
||||
- Pages 1048 - 1140 in CLRS if you have it.
|
||||
- Seite 1048 - 1140 in CLRS falls man es besitzt.
|
||||
|
||||
- ### Caches
|
||||
- [ ] LRU cache:
|
||||
@ -1085,49 +1085,49 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [MIT 6.004 L15: The Memory Hierarchy (video)](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
|
||||
- [ ] [MIT 6.004 L16: Cache Issues (video)](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
|
||||
|
||||
- ### Processes and Threads
|
||||
- ### Prozesse und Threads
|
||||
- [ ] Computer Science 162 - Operating Systems (25 videos):
|
||||
- for processes and threads see videos 1-11
|
||||
- für Prozesse und Threads siehe Videos 1-11
|
||||
- [Operating Systems and System Programming (video)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
|
||||
- [What Is The Difference Between A Process And A Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
|
||||
- Covers:
|
||||
- Processes, Threads, Concurrency issues
|
||||
- difference between processes and threads
|
||||
- processes
|
||||
- threads
|
||||
- locks
|
||||
- mutexes
|
||||
- semaphores
|
||||
- monitors
|
||||
- how they work
|
||||
- deadlock
|
||||
- livelock
|
||||
- CPU activity, interrupts, context switching
|
||||
- Modern concurrency constructs with multicore processors
|
||||
- behandelt:
|
||||
- Prozesse, Threads, Concurrency issues (Probleme von Parallelität)
|
||||
- Unterschied zwischen Prozessen und Threads
|
||||
- Prozesse
|
||||
- Threads
|
||||
- Locks
|
||||
- Mutexe
|
||||
- Semaphoren
|
||||
- Monitore
|
||||
- wie sie funtionieren
|
||||
- Deadlock
|
||||
- Livelock
|
||||
- CPU Äktivität, Interrupts, Kontextwechsel
|
||||
- Moderne Parallelität mit Multicore Prozessoren
|
||||
- [Paging, segmentation and virtual memory (video)](https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2)
|
||||
- [Interrupts (video)](https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3)
|
||||
- [Scheduling (video)](https://www.youtube.com/watch?v=-Gu5mYdKbu4&index=4&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8)
|
||||
- Process resource needs (memory: code, static storage, stack, heap, and also file descriptors, i/o)
|
||||
- Thread resource needs (shares above (minus stack) with other threads in the same process but each has its own pc, stack counter, registers, and stack)
|
||||
- Forking is really copy on write (read-only) until the new process writes to memory, then it does a full copy.
|
||||
- Context switching
|
||||
- How context switching is initiated by the operating system and underlying hardware
|
||||
- Prozess-Ressourcenverwaltung (Speicher: Code, statischer Speicher, Stack, Heap, und auch Datei-Handle, I/O)
|
||||
- Thread-Ressourcenverwaltung (teilt sich das obere (minus Stack) mit anderen Threads in selben Prozess aber jeder mit einzelnen Befehlszähler, Stackzähler, Registern, und Stack)
|
||||
- Forking ist einfach Copy on Write (nur lesend) bis der neue Prozess in den Speicher schreibt, dann wird eine komplette Kopie erstellt.
|
||||
- Kontextwechsel
|
||||
- Wie wird Kontextwechsel vom Betriebssystem und der zugrundeliegenden Hardware gehandhabt
|
||||
- [ ] [threads in C++ (series - 10 videos)](https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M)
|
||||
- [ ] concurrency in Python (videos):
|
||||
- [ ] Parallelität in Python (Videos):
|
||||
- [ ] [Short series on threads](https://www.youtube.com/playlist?list=PL1H1sBF1VAKVMONJWJkmUh6_p8g4F2oy1)
|
||||
- [ ] [Python Threads](https://www.youtube.com/watch?v=Bs7vPNbB9JM)
|
||||
- [ ] [Understanding the Python GIL (2010)](https://www.youtube.com/watch?v=Obt-vMVdM8s)
|
||||
- [reference](http://www.dabeaz.com/GIL)
|
||||
- [Referenz](http://www.dabeaz.com/GIL)
|
||||
- [ ] [David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015](https://www.youtube.com/watch?v=MCs5OvhV9S4)
|
||||
- [ ] [Keynote David Beazley - Topics of Interest (Python Asyncio)](https://www.youtube.com/watch?v=ZzfHjytDceU)
|
||||
- [ ] [Mutex in Python](https://www.youtube.com/watch?v=0zaPs8OtyKY)
|
||||
|
||||
- ### Testing
|
||||
- To cover:
|
||||
- how unit testing works
|
||||
- what are mock objects
|
||||
- what is integration testing
|
||||
- what is dependency injection
|
||||
- ### Testen
|
||||
- zu behandeln:
|
||||
- wie Unit Tests funktionieren
|
||||
- was sind Mockobjekte
|
||||
- was ist ein Integration Test
|
||||
- Was ist dependency injection
|
||||
- [ ] [Agile Software Testing with James Bach (video)](https://www.youtube.com/watch?v=SAhJf36_u5U)
|
||||
- [ ] [Open Lecture by James Bach on Software Testing (video)](https://www.youtube.com/watch?v=ILkT_HV9DVU)
|
||||
- [ ] [Steve Freeman - Test-Driven Development (that’s not what we meant) (video)](https://vimeo.com/83960706)
|
||||
@ -1142,10 +1142,10 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [How to write tests](http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html)
|
||||
|
||||
- ### Scheduling
|
||||
- in an OS, how it works
|
||||
- can be gleaned from Operating System videos
|
||||
- in einen Betriebssystem, wie funktioniert es
|
||||
- kann von Betriebssystem Videos gelernt werden
|
||||
|
||||
- ### String searching & manipulations
|
||||
- ### Stringsuche und -manipulation
|
||||
- [ ] [Sedgewick - Suffix Arrays (video)](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
|
||||
- [ ] [Sedgewick - Substring Search (videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
||||
- [ ] [1. Introduction to Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/n3ZpG/introduction-to-substring-search)
|
||||
@ -1161,12 +1161,12 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- Note there are different kinds of tries. Some have prefixes, some don't, and some use string instead of bits
|
||||
to track the path.
|
||||
- I read through code, but will not implement.
|
||||
- [ ] [Sedgewick - Tries (3 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
||||
- [ ] [Sedgewick - Tries (3 Videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
||||
- [ ] [1. R Way Tries](https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries)
|
||||
- [ ] [2. Ternary Search Tries](https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries)
|
||||
- [ ] [3. Character Based Operations](https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations)
|
||||
- [ ] [Notes on Data Structures and Programming Techniques](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries)
|
||||
- [ ] Short course videos:
|
||||
- [ ] Kurze Kursvideos:
|
||||
- [ ] [Introduction To Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/08Xyf/core-introduction-to-tries)
|
||||
- [ ] [Performance Of Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries)
|
||||
- [ ] [Implementing A Trie (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie)
|
||||
@ -1244,7 +1244,7 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [How long does it take to make a context switch?](http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html)
|
||||
- [ ] [Transactions Across Datacenters (video)](https://www.youtube.com/watch?v=srOgpXECblk)
|
||||
- [ ] [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem/)
|
||||
- [ ] Consensus Algorithms:
|
||||
- [ ] Consensus Algorithmen:
|
||||
- [ ] Paxos - [Paxos Agreement - Computerphile (video)](https://www.youtube.com/watch?v=s8JqcZtvnsM)
|
||||
- [ ] Raft - [An Introduction to the Raft Distributed Consensus Algorithm (video)](https://www.youtube.com/watch?v=P9Ydif5_qvE)
|
||||
- [ ] [Easy-to-read paper](https://raft.github.io/)
|
||||
@ -1252,7 +1252,7 @@ Graphs can be used to represent many problems in computer science, so this secti
|
||||
- [ ] [Consistent Hashing](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
|
||||
- [ ] [NoSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
|
||||
- [ ] Skalierbarkeit:
|
||||
- You don't need all of these. Just pick a few that interest you.
|
||||
- Das braucht man nicht alles. Sucht euch einfach die paar Themen raus die euch interessieren.
|
||||
- [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4)
|
||||
- [ ] Kurzreihen:
|
||||
- [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
|
||||
@ -1916,7 +1916,7 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
|
||||
- [ ] [Path Compression](https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression)
|
||||
- [ ] [Analysis Options](https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional)
|
||||
|
||||
- [ ] **More Dynamic Programming** (videos)
|
||||
- [ ] **Mehr Dynamische Programmierung** (Videos)
|
||||
- [ ] [6.006: Dynamic Programming I: Fibonacci, Shortest Paths](https://www.youtube.com/watch?v=OQ5jsbhAv_M&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=19)
|
||||
- [ ] [6.006: Dynamic Programming II: Text Justification, Blackjack](https://www.youtube.com/watch?v=ENyox7kNKeY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=20)
|
||||
- [ ] [6.006: DP III: Parenthesization, Edit Distance, Knapsack](https://www.youtube.com/watch?v=ocZMDMZwhCY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=21)
|
||||
@ -1981,7 +1981,7 @@ Lehn dich zurück und genieße. "Netflix and skill" :P
|
||||
<details>
|
||||
<summary>Videoreihen</summary>
|
||||
|
||||
- [ ] [List of individual Dynamic Programming problems (each is short)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
||||
- [ ] [Liste einzelnen Dynamische Programmierung Probleme (jedes ist kurz)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
||||
|
||||
- [ ] [x86 Architecture, Assembly, Applications (11 videos)](https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0)
|
||||
|
||||
@ -1996,7 +1996,7 @@ Lehn dich zurück und genieße. "Netflix and skill" :P
|
||||
- [ ] [Discrete Mathematics Part 1 von Sarada Herke (5 videos)](https://www.youtube.com/playlist?list=PLGxuz-nmYlQPOc4w1Kp2MZrdqOOm4Jxeo)
|
||||
|
||||
- [ ] CSE373 - Analysis of Algorithms (25 videos)
|
||||
- [Skiena lectures from Algorithm Design Manual](https://www.youtube.com/watch?v=ZFjhkohHdAA&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=1)
|
||||
- [Skiena Vorlesungen vom Algorithm Design Manual](https://www.youtube.com/watch?v=ZFjhkohHdAA&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=1)
|
||||
|
||||
- [ ] [UC Berkeley 61B (Spring 2014): Data Structures (25 videos)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd)
|
||||
|
||||
@ -2035,7 +2035,7 @@ Lehn dich zurück und genieße. "Netflix and skill" :P
|
||||
- [ ] [Stanford: Programming Paradigms (27 videos)](https://www.youtube.com/view_play_list?p=9D558D49CA734A02)
|
||||
|
||||
- [ ] [Introduction to Cryptography von Christof Paar](https://www.youtube.com/playlist?list=PL6N5qY2nvvJE8X75VkXglSrVhLv1tVcfy)
|
||||
- [Course Website along with Slides and Problem Sets](http://www.crypto-textbook.com/)
|
||||
- [KurswWebseite mit Folien und Problemstellungen](http://www.crypto-textbook.com/)
|
||||
|
||||
- [ ] [Mining Massive Datasets - Stanford University (94 videos)](https://www.youtube.com/playlist?list=PLLssT5z_DsK9JDLcT8T62VtzwyW9LNepV)
|
||||
|
||||
@ -2043,10 +2043,10 @@ Lehn dich zurück und genieße. "Netflix and skill" :P
|
||||
|
||||
</details>
|
||||
|
||||
## Computer Science Courses
|
||||
## Informatikkurse
|
||||
|
||||
- [Directory of Online CS Courses](https://github.com/open-source-society/computer-science)
|
||||
- [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses)
|
||||
- [Liste von Online Informatkkursen](https://github.com/open-source-society/computer-science)
|
||||
- [Liste von Informatkkursen (viele mit Online Vorlesungen)](https://github.com/prakhar1989/awesome-courses)
|
||||
|
||||
## Paper (Wissenschaftliche Artikel)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user