Karteikarten
Computational Thinking
Karten in diesem Stapel (13)
- 1Thinking Tools- Abstraction
- Decomposition / Separation
- Parallel Algorithms
- Redundancy
- Prefetching, Cacheing
- Planning and Optimization
- Pipelining
- Concurrency Control
- Simulation - 2PrefetchingGet what you need before you need it
- 3CacheingKeep handy whatever you will need again
- 4Concurrency controlTwo types:
- saftey problems (nothing bad should happen)
- liveness problems (something good should happen)
(Occurs because of shared ressources
-> scheduling required) - 5What does recursion need in order to finish some time?It needs a base case where the recursion stops.
- 6Examples of recursive algorithms- factorial of a given number
- find the greatest common divisor of a,b
- Binary Search
- Depth-first-search with backtracking - 7BacktrackingKeep track of every decision that is made along the execution of the program, whenever there is an error, go back to last decision and change it (backtracking)
- 8Advantages of models- specification: serves to build the thing that is modeled
- communication: send the model instead of the thing itself (way easier!)
-reasoning tool: Let's us reason about size, weight, strength, speed, cost, etc.
- cheaper to test! - 9PrototypePrimitive model of a system, that allows it to be studied and evaluated.
(Not necessarily a program, could also be drawn on a sheet of paper) - 10Data modelCaptures the persistent entities of an information system, their attributes and relationships.
Note: the internet says, persistent data is data that is stored in such manner, that it will be restorable, even after shutting down the device. - 11Unified Model Language (UML)Offers various diagrams to describe software designs, architectures and requirement models.
- 12UML Class DiagramsShows dependency between classes, which components specialize other ones, class methods, class variables, ...
- 13Finite State ModelsExpress states and transitions of a process