diff --git a/components/home/featured-roadmaps-list.tsx b/components/home/featured-roadmaps-list.tsx
index e245d9476..1dc867b5a 100644
--- a/components/home/featured-roadmaps-list.tsx
+++ b/components/home/featured-roadmaps-list.tsx
@@ -26,12 +26,12 @@ export const upcomingRoadmaps = [
description: 'Step by step guide to learn TypeScript in 2022',
id: 'typescript'
},
- {
- type: 'Skill Based',
- title: 'Rust',
- description: 'Step by step guide to learn Rust in 2022',
- id: 'rust'
- },
+ // {
+ // type: 'Skill Based',
+ // title: 'Rust',
+ // description: 'Step by step guide to learn Rust in 2022',
+ // id: 'rust'
+ // },
];
export function FeaturedRoadmapsList(props: FeaturedRoadmapsListProps) {
diff --git a/content/roadmaps.json b/content/roadmaps.json
index cc82c1c68..a83cf328f 100644
--- a/content/roadmaps.json
+++ b/content/roadmaps.json
@@ -174,6 +174,55 @@
"metaPath": "/roadmaps/102-devops/meta.json",
"isUpcoming": false
},
+ {
+ "seo": {
+ "title": "Computer Science Roadmap: Curriculum for the self taught developer",
+ "description": "Easy to follow Computer Science curriculum with free resources for a self-taught developer.",
+ "keywords": [
+ "computer science roadmap",
+ "computer science",
+ "computer science roadmap 2022",
+ "guide to computer science",
+ "software engineer roadmap",
+ "software engineer roadmap 2022",
+ "self-taught computer science roadmap",
+ "computer science skills",
+ "computer science skills test",
+ "cs roadmap",
+ "computer science curriculum",
+ "cs curriculum",
+ "skills for computer science",
+ "what is computer science",
+ "computer science quiz",
+ "computer science interview questions"
+ ]
+ },
+ "title": "Computer Science",
+ "description": "Computer Science curriculum with free resources for a self-taught developer.",
+ "featuredTitle": "Computer Science",
+ "type": "tool",
+ "featuredDescription": "Curriculum with free resources for a self-taught developer.",
+ "isTextHeavy": false,
+ "isNew": true,
+ "isCommunity": false,
+ "featured": true,
+ "jsonUrl": "/project/computer-science.json",
+ "author": {
+ "name": "Kamran Ahmed",
+ "url": "https://twitter.com/kamranahmedse"
+ },
+ "pdfUrl": "/pdfs/computer-science.pdf",
+ "relatedRoadmaps": [
+ "frontend",
+ "backend",
+ "devops",
+ "software-design-architecture"
+ ],
+ "contentPathsFilePath": "/roadmaps/103-computer-science/content-paths.json",
+ "id": "computer-science",
+ "metaPath": "/roadmaps/103-computer-science/meta.json",
+ "isUpcoming": false
+ },
{
"seo": {
"title": "React Developer Roadmap: Learn to become a React developer",
diff --git a/content/roadmaps/103-computer-science/content-paths.json b/content/roadmaps/103-computer-science/content-paths.json
new file mode 100644
index 000000000..eed31c4c2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content-paths.json
@@ -0,0 +1,199 @@
+{
+ "home": "/roadmaps/103-computer-science/content/readme.md",
+ "data-structures": "/roadmaps/103-computer-science/content/102-data-structures/readme.md",
+ "data-structures:tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md",
+ "data-structures:tree:unbalanced-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md",
+ "data-structures:tree:balanced-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md",
+ "data-structures:tree:complete-binary-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md",
+ "data-structures:tree:full-binary-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md",
+ "data-structures:tree:binary-search-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md",
+ "data-structures:tree:binary-tree": "/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md",
+ "data-structures:graph": "/roadmaps/103-computer-science/content/102-data-structures/106-graph/readme.md",
+ "data-structures:graph:spanning-tree": "/roadmaps/103-computer-science/content/102-data-structures/106-graph/102-spanning-tree.md",
+ "data-structures:graph:undirected-graph": "/roadmaps/103-computer-science/content/102-data-structures/106-graph/101-undirected-graph.md",
+ "data-structures:graph:directed-graph": "/roadmaps/103-computer-science/content/102-data-structures/106-graph/100-directed-graph.md",
+ "data-structures:graph:graph-representation": "/roadmaps/103-computer-science/content/102-data-structures/106-graph/103-graph-representation.md",
+ "data-structures:array": "/roadmaps/103-computer-science/content/102-data-structures/100-array.md",
+ "data-structures:linked-list": "/roadmaps/103-computer-science/content/102-data-structures/101-linked-list.md",
+ "data-structures:stack": "/roadmaps/103-computer-science/content/102-data-structures/102-stack.md",
+ "data-structures:queue": "/roadmaps/103-computer-science/content/102-data-structures/103-queue.md",
+ "data-structures:hash-table": "/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md",
+ "data-structures:heap": "/roadmaps/103-computer-science/content/102-data-structures/107-heap.md",
+ "common-uml-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/readme.md",
+ "common-uml-diagrams:class-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/100-class-diagrams.md",
+ "common-uml-diagrams:activity-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md",
+ "common-uml-diagrams:statemachine-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md",
+ "common-uml-diagrams:sequence-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md",
+ "common-uml-diagrams:usecase-diagrams": "/roadmaps/103-computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md",
+ "readme": "/roadmaps/103-computer-science/content/100-readme.md",
+ "pick-a-language": "/roadmaps/103-computer-science/content/101-pick-a-language/readme.md",
+ "pick-a-language:c-plus-plus": "/roadmaps/103-computer-science/content/101-pick-a-language/100-c-plus-plus.md",
+ "pick-a-language:c": "/roadmaps/103-computer-science/content/101-pick-a-language/101-c.md",
+ "pick-a-language:java": "/roadmaps/103-computer-science/content/101-pick-a-language/102-java.md",
+ "pick-a-language:python": "/roadmaps/103-computer-science/content/101-pick-a-language/103-python.md",
+ "pick-a-language:go": "/roadmaps/103-computer-science/content/101-pick-a-language/104-go.md",
+ "pick-a-language:c-sharp": "/roadmaps/103-computer-science/content/101-pick-a-language/105-c-sharp.md",
+ "pick-a-language:rust": "/roadmaps/103-computer-science/content/101-pick-a-language/106-rust.md",
+ "asymptotic-notation": "/roadmaps/103-computer-science/content/103-asymptotic-notation/readme.md",
+ "asymptotic-notation:big-o-notation": "/roadmaps/103-computer-science/content/103-asymptotic-notation/100-big-o-notation.md",
+ "asymptotic-notation:big-theta-notation": "/roadmaps/103-computer-science/content/103-asymptotic-notation/101-big-theta-notation.md",
+ "asymptotic-notation:big-omega-notation": "/roadmaps/103-computer-science/content/103-asymptotic-notation/102-big-omega-notation.md",
+ "asymptotic-notation:common-runtimes": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md",
+ "asymptotic-notation:common-runtimes:constant": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md",
+ "asymptotic-notation:common-runtimes:logarithmic": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md",
+ "asymptotic-notation:common-runtimes:linear": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md",
+ "asymptotic-notation:common-runtimes:polynomial": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md",
+ "asymptotic-notation:common-runtimes:exponential": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md",
+ "asymptotic-notation:common-runtimes:factorial": "/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/105-factorial.md",
+ "common-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/readme.md",
+ "common-algorithms:sorting-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md",
+ "common-algorithms:sorting-algorithms:bubble-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md",
+ "common-algorithms:sorting-algorithms:selection-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md",
+ "common-algorithms:sorting-algorithms:insertion-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md",
+ "common-algorithms:sorting-algorithms:heap-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md",
+ "common-algorithms:sorting-algorithms:quick-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md",
+ "common-algorithms:sorting-algorithms:merge-sort": "/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md",
+ "common-algorithms:tree-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md",
+ "common-algorithms:tree-algorithms:pre-order-traversal": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md",
+ "common-algorithms:tree-algorithms:in-order-traversal": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md",
+ "common-algorithms:tree-algorithms:post-order-traversal": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md",
+ "common-algorithms:tree-algorithms:breadth-first-search": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md",
+ "common-algorithms:tree-algorithms:depth-first-search": "/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md",
+ "common-algorithms:graph-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md",
+ "common-algorithms:graph-algorithms:breadth-first-search": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md",
+ "common-algorithms:graph-algorithms:depth-first-search": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md",
+ "common-algorithms:graph-algorithms:bellman-fords-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md",
+ "common-algorithms:graph-algorithms:dijkstras-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md",
+ "common-algorithms:graph-algorithms:a-star-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md",
+ "common-algorithms:greedy-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md",
+ "common-algorithms:greedy-algorithms:dijkstras-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md",
+ "common-algorithms:greedy-algorithms:huffman-coding": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md",
+ "common-algorithms:greedy-algorithms:kruskas-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md",
+ "common-algorithms:greedy-algorithms:ford-fulkerson-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md",
+ "common-algorithms:greedy-algorithms:prims-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md",
+ "common-algorithms:back-tracking-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md",
+ "common-algorithms:back-tracking-algorithms:finding-hamiltonian-paths": "/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md",
+ "common-algorithms:back-tracking-algorithms:solving-n-queen-problem": "/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md",
+ "common-algorithms:back-tracking-algorithms:maze-solving-problem": "/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md",
+ "common-algorithms:back-tracking-algorithms:knights-tour-problem": "/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md",
+ "common-algorithms:robin-karp-algorithm": "/roadmaps/103-computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md",
+ "common-algorithms:recursion": "/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/readme.md",
+ "common-algorithms:recursion:tail-recursion": "/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md",
+ "common-algorithms:recursion:non-tail-recursion": "/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md",
+ "common-algorithms:search-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/readme.md",
+ "common-algorithms:search-algorithms:binary-search": "/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md",
+ "common-algorithms:search-algorithms:linear-search": "/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md",
+ "common-algorithms:cache-algorithms": "/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md",
+ "common-algorithms:cache-algorithms:lru-cache": "/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md",
+ "common-algorithms:cache-algorithms:lfu-cache": "/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md",
+ "common-algorithms:cache-algorithms:mfu-cache": "/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md",
+ "string-search-and-manipulations": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/readme.md",
+ "string-search-and-manipulations:suffix-arrays": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md",
+ "string-search-and-manipulations:search-pattern-in-text": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md",
+ "string-search-and-manipulations:substring-search": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md",
+ "string-search-and-manipulations:substring-search:brute-force-search": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md",
+ "string-search-and-manipulations:substring-search:knuth-morris-pratt": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md",
+ "string-search-and-manipulations:substring-search:boyer-moore": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md",
+ "string-search-and-manipulations:substring-search:rabin-karp": "/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md",
+ "bitwise-operators": "/roadmaps/103-computer-science/content/106-bitwise-operators.md",
+ "floating-point-numbers": "/roadmaps/103-computer-science/content/107-floating-point-numbers.md",
+ "endianess": "/roadmaps/103-computer-science/content/108-endianess/readme.md",
+ "endianess:big-endian": "/roadmaps/103-computer-science/content/108-endianess/100-big-endian.md",
+ "endianess:little-endian": "/roadmaps/103-computer-science/content/108-endianess/101-little-endian.md",
+ "character-encodings": "/roadmaps/103-computer-science/content/109-character-encodings/readme.md",
+ "character-encodings:unicode": "/roadmaps/103-computer-science/content/109-character-encodings/100-unicode.md",
+ "character-encodings:ascii": "/roadmaps/103-computer-science/content/109-character-encodings/101-ascii.md",
+ "design-patterns": "/roadmaps/103-computer-science/content/111-design-patterns/readme.md",
+ "design-patterns:gof-design-patterns": "/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md",
+ "design-patterns:architectural-patterns": "/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md",
+ "design-patterns:dependency-injection": "/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md",
+ "design-patterns:null-object-pattern": "/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md",
+ "design-patterns:type-object-pattern": "/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md",
+ "basic-math-skills": "/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md",
+ "basic-math-skills:probability": "/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md",
+ "basic-math-skills:combinatorics": "/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md",
+ "complexity-classes": "/roadmaps/103-computer-science/content/113-complexity-classes/readme.md",
+ "complexity-classes:p": "/roadmaps/103-computer-science/content/113-complexity-classes/100-p.md",
+ "complexity-classes:np": "/roadmaps/103-computer-science/content/113-complexity-classes/101-np.md",
+ "complexity-classes:co-np": "/roadmaps/103-computer-science/content/113-complexity-classes/102-co-np.md",
+ "complexity-classes:np-hard": "/roadmaps/103-computer-science/content/113-complexity-classes/103-np-hard.md",
+ "complexity-classes:np-complete": "/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/readme.md",
+ "complexity-classes:np-complete:travelling-salesman-problem": "/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md",
+ "complexity-classes:np-complete:knapsack-problem": "/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md",
+ "complexity-classes:np-complete:longest-path-problem": "/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md",
+ "complexity-classes:p-equals-np": "/roadmaps/103-computer-science/content/113-complexity-classes/105-p-equals-np.md",
+ "tries": "/roadmaps/103-computer-science/content/114-tries.md",
+ "balanced-search-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/readme.md",
+ "balanced-search-trees:avl-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/100-avl-trees.md",
+ "balanced-search-trees:red-black-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/101-red-black-trees.md",
+ "balanced-search-trees:the-2-3-search-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md",
+ "balanced-search-trees:the-2-3-4-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md",
+ "balanced-search-trees:n-ary-trees": "/roadmaps/103-computer-science/content/115-balanced-search-trees/104-n-ary-trees.md",
+ "balanced-search-trees:b-tree": "/roadmaps/103-computer-science/content/115-balanced-search-trees/105-b-tree.md",
+ "system-design": "/roadmaps/103-computer-science/content/116-system-design/readme.md",
+ "system-design:horizontal-vs-vertical-scaling": "/roadmaps/103-computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md",
+ "system-design:load-balancing": "/roadmaps/103-computer-science/content/116-system-design/101-load-balancing.md",
+ "system-design:clustering": "/roadmaps/103-computer-science/content/116-system-design/101-clustering.md",
+ "system-design:caching": "/roadmaps/103-computer-science/content/116-system-design/102-caching.md",
+ "system-design:cdn": "/roadmaps/103-computer-science/content/116-system-design/103-cdn.md",
+ "system-design:proxy": "/roadmaps/103-computer-science/content/116-system-design/104-proxy.md",
+ "system-design:cap-theorem": "/roadmaps/103-computer-science/content/116-system-design/105-cap-theorem.md",
+ "system-design:queues": "/roadmaps/103-computer-science/content/116-system-design/106-queues.md",
+ "system-design:architectural-styles": "/roadmaps/103-computer-science/content/116-system-design/107-architectural-styles.md",
+ "system-design:rest": "/roadmaps/103-computer-science/content/116-system-design/108-rest.md",
+ "system-design:graphql": "/roadmaps/103-computer-science/content/116-system-design/109-graphql.md",
+ "system-design:grpc": "/roadmaps/103-computer-science/content/116-system-design/110-grpc.md",
+ "system-design:cloud-design-patterns": "/roadmaps/103-computer-science/content/116-system-design/111-cloud-design-patterns.md",
+ "system-design:long-polling": "/roadmaps/103-computer-science/content/116-system-design/112-long-polling.md",
+ "system-design:short-polling": "/roadmaps/103-computer-science/content/116-system-design/113-short-polling.md",
+ "system-design:web-sockets": "/roadmaps/103-computer-science/content/116-system-design/114-web-sockets.md",
+ "system-design:sse": "/roadmaps/103-computer-science/content/116-system-design/115-sse.md",
+ "databases": "/roadmaps/103-computer-science/content/117-databases/readme.md",
+ "databases:sql-vs-nosql-databases": "/roadmaps/103-computer-science/content/117-databases/100-sql-vs-nosql-databases.md",
+ "databases:normalization-denormalization": "/roadmaps/103-computer-science/content/117-databases/101-normalization-denormalization.md",
+ "databases:entity-relationship-model": "/roadmaps/103-computer-science/content/117-databases/102-entity-relationship-model.md",
+ "databases:ddl": "/roadmaps/103-computer-science/content/117-databases/103-ddl.md",
+ "databases:dml": "/roadmaps/103-computer-science/content/117-databases/104-dml.md",
+ "databases:dql": "/roadmaps/103-computer-science/content/117-databases/105-dql.md",
+ "databases:dcl": "/roadmaps/103-computer-science/content/117-databases/106-dcl.md",
+ "databases:locking": "/roadmaps/103-computer-science/content/117-databases/107-locking.md",
+ "databases:transactions": "/roadmaps/103-computer-science/content/117-databases/115-transactions.md",
+ "databases:acid-model": "/roadmaps/103-computer-science/content/117-databases/109-acid-model.md",
+ "databases:base-model": "/roadmaps/103-computer-science/content/117-databases/110-base-model.md",
+ "databases:cap-theorem": "/roadmaps/103-computer-science/content/117-databases/111-cap-theorem.md",
+ "databases:pacelc-theorem": "/roadmaps/103-computer-science/content/117-databases/112-pacelc-theorem.md",
+ "databases:indexes": "/roadmaps/103-computer-science/content/117-databases/113-indexes.md",
+ "databases:views": "/roadmaps/103-computer-science/content/117-databases/114-views.md",
+ "databases:stored-procedures": "/roadmaps/103-computer-science/content/117-databases/116-stored-procedures.md",
+ "databases:database-federation": "/roadmaps/103-computer-science/content/117-databases/117-database-federation.md",
+ "databases:replication": "/roadmaps/103-computer-science/content/117-databases/118-replication.md",
+ "databases:sharding": "/roadmaps/103-computer-science/content/117-databases/119-sharding.md",
+ "networking": "/roadmaps/103-computer-science/content/118-networking/readme.md",
+ "networking:sockets": "/roadmaps/103-computer-science/content/118-networking/100-sockets.md",
+ "networking:tls-https": "/roadmaps/103-computer-science/content/118-networking/101-tls-https.md",
+ "networking:dns": "/roadmaps/103-computer-science/content/118-networking/103-dns.md",
+ "networking:http": "/roadmaps/103-computer-science/content/118-networking/102-http.md",
+ "networking:tcp-ip-model": "/roadmaps/103-computer-science/content/118-networking/104-tcp-ip-model.md",
+ "networking:osi-model": "/roadmaps/103-computer-science/content/118-networking/105-osi-model.md",
+ "security": "/roadmaps/103-computer-science/content/119-security/readme.md",
+ "security:public-key-cryptography": "/roadmaps/103-computer-science/content/119-security/100-public-key-cryptography.md",
+ "security:hashing-encryption-encoding": "/roadmaps/103-computer-science/content/119-security/101-hashing-encryption-encoding.md",
+ "security:hashing-algorithms": "/roadmaps/103-computer-science/content/119-security/102-hashing-algorithms.md",
+ "security:owasp-top-10": "/roadmaps/103-computer-science/content/119-security/103-owasp-top-10.md",
+ "how-computers-work": "/roadmaps/103-computer-science/content/120-how-computers-work/readme.md",
+ "how-computers-work:how-cpu-executes-programs": "/roadmaps/103-computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md",
+ "how-computers-work:how-computers-calculate": "/roadmaps/103-computer-science/content/120-how-computers-work/101-how-computers-calculate.md",
+ "how-computers-work:registers-and-ram": "/roadmaps/103-computer-science/content/120-how-computers-work/102-registers-and-ram.md",
+ "how-computers-work:instructions-and-programs": "/roadmaps/103-computer-science/content/120-how-computers-work/103-instructions-and-programs.md",
+ "how-computers-work:cpu-cache": "/roadmaps/103-computer-science/content/120-how-computers-work/104-cpu-cache.md",
+ "processes-and-threads": "/roadmaps/103-computer-science/content/121-processes-and-threads/readme.md",
+ "processes-and-threads:process-forking": "/roadmaps/103-computer-science/content/121-processes-and-threads/100-process-forking.md",
+ "processes-and-threads:memory-management": "/roadmaps/103-computer-science/content/121-processes-and-threads/101-memory-management.md",
+ "processes-and-threads:lock-mutex-semaphore": "/roadmaps/103-computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md",
+ "processes-and-threads:concurrency-in-multiple-cores": "/roadmaps/103-computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md",
+ "processes-and-threads:scheduling-algorithms": "/roadmaps/103-computer-science/content/121-processes-and-threads/103-scheduling-algorithms.md",
+ "processes-and-threads:cpu-interrupts": "/roadmaps/103-computer-science/content/121-processes-and-threads/104-cpu-interrupts.md",
+ "processes-and-threads:processes-vs-threads": "/roadmaps/103-computer-science/content/121-processes-and-threads/105-processes-vs-threads.md",
+ "kd-trees": "/roadmaps/103-computer-science/content/122-kd-trees.md",
+ "skip-lists": "/roadmaps/103-computer-science/content/123-skip-lists.md"
+}
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/100-readme.md b/content/roadmaps/103-computer-science/content/100-readme.md
new file mode 100644
index 000000000..ec4600406
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/100-readme.md
@@ -0,0 +1 @@
+# Readme
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/100-c-plus-plus.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/100-c-plus-plus.md
new file mode 100644
index 000000000..3c757bb0f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/100-c-plus-plus.md
@@ -0,0 +1 @@
+# C plus plus
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/101-c.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/101-c.md
new file mode 100644
index 000000000..325fc6019
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/101-c.md
@@ -0,0 +1 @@
+# C
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/102-java.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/102-java.md
new file mode 100644
index 000000000..526e9b119
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/102-java.md
@@ -0,0 +1 @@
+# Java
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/103-python.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/103-python.md
new file mode 100644
index 000000000..92106a828
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/103-python.md
@@ -0,0 +1 @@
+# Python
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/104-go.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/104-go.md
new file mode 100644
index 000000000..59448b216
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/104-go.md
@@ -0,0 +1 @@
+# Go
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/105-c-sharp.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/105-c-sharp.md
new file mode 100644
index 000000000..9fe2b6ee7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/105-c-sharp.md
@@ -0,0 +1 @@
+# C sharp
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/106-rust.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/106-rust.md
new file mode 100644
index 000000000..8fc1f9db2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/106-rust.md
@@ -0,0 +1 @@
+# Rust
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/101-pick-a-language/readme.md b/content/roadmaps/103-computer-science/content/101-pick-a-language/readme.md
new file mode 100644
index 000000000..3bc24167b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/101-pick-a-language/readme.md
@@ -0,0 +1 @@
+# Pick a language
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/100-array.md b/content/roadmaps/103-computer-science/content/102-data-structures/100-array.md
new file mode 100644
index 000000000..0a0e30ae6
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/100-array.md
@@ -0,0 +1 @@
+# Array
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/101-linked-list.md b/content/roadmaps/103-computer-science/content/102-data-structures/101-linked-list.md
new file mode 100644
index 000000000..f91856f34
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/101-linked-list.md
@@ -0,0 +1 @@
+# Linked list
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/102-stack.md b/content/roadmaps/103-computer-science/content/102-data-structures/102-stack.md
new file mode 100644
index 000000000..463aa833c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/102-stack.md
@@ -0,0 +1 @@
+# Stack
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md b/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md
new file mode 100644
index 000000000..b3125c93f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md
@@ -0,0 +1 @@
+# Queue
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md b/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md
new file mode 100644
index 000000000..ecc38a2fb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md
@@ -0,0 +1 @@
+# Hash table
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md
new file mode 100644
index 000000000..4d1b290b5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md
@@ -0,0 +1 @@
+# Binary tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
new file mode 100644
index 000000000..ce4533ef8
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
@@ -0,0 +1 @@
+# Binary search tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
new file mode 100644
index 000000000..fdee16952
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
@@ -0,0 +1 @@
+# Full binary tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
new file mode 100644
index 000000000..e46d1a140
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
@@ -0,0 +1 @@
+# Complete binary tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
new file mode 100644
index 000000000..da71d6e99
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
@@ -0,0 +1 @@
+# Balanced tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
new file mode 100644
index 000000000..af0358419
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
@@ -0,0 +1 @@
+# Unbalanced tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md
new file mode 100644
index 000000000..13088447a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md
@@ -0,0 +1 @@
+# Tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/100-directed-graph.md b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/100-directed-graph.md
new file mode 100644
index 000000000..bc774798e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/100-directed-graph.md
@@ -0,0 +1 @@
+# Directed graph
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/101-undirected-graph.md b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
new file mode 100644
index 000000000..f54cd44aa
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
@@ -0,0 +1 @@
+# Undirected graph
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/102-spanning-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
new file mode 100644
index 000000000..a25933927
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
@@ -0,0 +1 @@
+# Spanning tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/103-graph-representation.md b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/103-graph-representation.md
new file mode 100644
index 000000000..b28f33b5a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/103-graph-representation.md
@@ -0,0 +1 @@
+# Graph representation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/readme.md b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/readme.md
new file mode 100644
index 000000000..4bb05d4a5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/106-graph/readme.md
@@ -0,0 +1 @@
+# Graph
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md b/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md
new file mode 100644
index 000000000..c7883f289
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md
@@ -0,0 +1 @@
+# Heap
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/readme.md b/content/roadmaps/103-computer-science/content/102-data-structures/readme.md
new file mode 100644
index 000000000..3affd1f57
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/102-data-structures/readme.md
@@ -0,0 +1 @@
+# Data structures
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/100-big-o-notation.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/100-big-o-notation.md
new file mode 100644
index 000000000..b4f1f8bb3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/100-big-o-notation.md
@@ -0,0 +1 @@
+# Big o notation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/101-big-theta-notation.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
new file mode 100644
index 000000000..baa9c2a65
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
@@ -0,0 +1 @@
+# Big theta notation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/102-big-omega-notation.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
new file mode 100644
index 000000000..4a6da1910
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
@@ -0,0 +1 @@
+# Big omega notation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
new file mode 100644
index 000000000..8217679b3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
@@ -0,0 +1 @@
+# Constant
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
new file mode 100644
index 000000000..4d4f50386
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
@@ -0,0 +1 @@
+# Logarithmic
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
new file mode 100644
index 000000000..52d8c399b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
@@ -0,0 +1 @@
+# Linear
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
new file mode 100644
index 000000000..3075e034f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
@@ -0,0 +1 @@
+# Polynomial
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
new file mode 100644
index 000000000..b30d7eca5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
@@ -0,0 +1 @@
+# Exponential
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/105-factorial.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/105-factorial.md
new file mode 100644
index 000000000..dccb74ed2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/105-factorial.md
@@ -0,0 +1 @@
+# Factorial
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md
new file mode 100644
index 000000000..af5796298
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md
@@ -0,0 +1 @@
+# Common runtimes
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/103-asymptotic-notation/readme.md b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/readme.md
new file mode 100644
index 000000000..4e12618e8
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/103-asymptotic-notation/readme.md
@@ -0,0 +1 @@
+# Asymptotic notation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
new file mode 100644
index 000000000..63aa37ccb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
@@ -0,0 +1 @@
+# Bubble sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
new file mode 100644
index 000000000..3319727b4
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
@@ -0,0 +1 @@
+# Selection sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
new file mode 100644
index 000000000..96a8274a2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
@@ -0,0 +1 @@
+# Insertion sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
new file mode 100644
index 000000000..25497554f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
@@ -0,0 +1 @@
+# Heap sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
new file mode 100644
index 000000000..5c1aef942
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
@@ -0,0 +1 @@
+# Quick sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
new file mode 100644
index 000000000..ea6ce4754
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
@@ -0,0 +1 @@
+# Merge sort
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md
new file mode 100644
index 000000000..231fffe11
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md
@@ -0,0 +1 @@
+# Sorting algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
new file mode 100644
index 000000000..9a9c156e8
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
@@ -0,0 +1 @@
+# Pre order traversal
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
new file mode 100644
index 000000000..654ff707d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
@@ -0,0 +1 @@
+# In order traversal
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
new file mode 100644
index 000000000..07da743f0
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
@@ -0,0 +1 @@
+# Post order traversal
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
new file mode 100644
index 000000000..a238b787e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
@@ -0,0 +1 @@
+# Breadth first search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
new file mode 100644
index 000000000..4daf7be36
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
@@ -0,0 +1 @@
+# Depth first search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md
new file mode 100644
index 000000000..6beb2a993
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md
@@ -0,0 +1 @@
+# Tree algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
new file mode 100644
index 000000000..a238b787e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
@@ -0,0 +1 @@
+# Breadth first search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
new file mode 100644
index 000000000..4daf7be36
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
@@ -0,0 +1 @@
+# Depth first search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
new file mode 100644
index 000000000..bad8b12e4
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
@@ -0,0 +1 @@
+# Bellman fords algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
new file mode 100644
index 000000000..cced68fc7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
@@ -0,0 +1 @@
+# Dijkstras algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
new file mode 100644
index 000000000..2c6132c43
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
@@ -0,0 +1 @@
+# A star algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md
new file mode 100644
index 000000000..0610e820f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md
@@ -0,0 +1 @@
+# Graph algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
new file mode 100644
index 000000000..cced68fc7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
@@ -0,0 +1 @@
+# Dijkstras algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
new file mode 100644
index 000000000..0974d6cfe
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
@@ -0,0 +1 @@
+# Huffman coding
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
new file mode 100644
index 000000000..2b291a884
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
@@ -0,0 +1 @@
+# Kruskas algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
new file mode 100644
index 000000000..5015372ec
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
@@ -0,0 +1 @@
+# Ford fulkerson algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
new file mode 100644
index 000000000..88e7777b3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
@@ -0,0 +1 @@
+# Prims algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md
new file mode 100644
index 000000000..7492b86a9
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md
@@ -0,0 +1 @@
+# Greedy algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
new file mode 100644
index 000000000..98a71fb76
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
@@ -0,0 +1 @@
+# Finding hamiltonian paths
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
new file mode 100644
index 000000000..68e09436e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
@@ -0,0 +1 @@
+# Solving n queen problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
new file mode 100644
index 000000000..b475ae904
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
@@ -0,0 +1 @@
+# Maze solving problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
new file mode 100644
index 000000000..c5a454791
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
@@ -0,0 +1 @@
+# Knights tour problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md
new file mode 100644
index 000000000..dd16a6d2d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md
@@ -0,0 +1 @@
+# Back tracking algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
new file mode 100644
index 000000000..43b357c78
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
@@ -0,0 +1 @@
+# Robin karp algorithm
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
new file mode 100644
index 000000000..3b9f47aa3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
@@ -0,0 +1 @@
+# Tail recursion
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
new file mode 100644
index 000000000..cd54383c0
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
@@ -0,0 +1 @@
+# Non tail recursion
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/readme.md
new file mode 100644
index 000000000..a27651655
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/107-recursion/readme.md
@@ -0,0 +1 @@
+# Recursion
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
new file mode 100644
index 000000000..68cd29efd
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
@@ -0,0 +1 @@
+# Binary search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
new file mode 100644
index 000000000..ec8e3b43b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
@@ -0,0 +1 @@
+# Linear search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/readme.md
new file mode 100644
index 000000000..73f58ecfb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/108-search-algorithms/readme.md
@@ -0,0 +1 @@
+# Search algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
new file mode 100644
index 000000000..1998fef77
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
@@ -0,0 +1 @@
+# Lru cache
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
new file mode 100644
index 000000000..632bc3d1d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
@@ -0,0 +1 @@
+# Lfu cache
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
new file mode 100644
index 000000000..3d31a4997
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
@@ -0,0 +1 @@
+# Mfu cache
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md
new file mode 100644
index 000000000..858436c6f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md
@@ -0,0 +1 @@
+# Cache algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/104-common-algorithms/readme.md b/content/roadmaps/103-computer-science/content/104-common-algorithms/readme.md
new file mode 100644
index 000000000..eb38a333d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/104-common-algorithms/readme.md
@@ -0,0 +1 @@
+# Common algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
new file mode 100644
index 000000000..2ada8449b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
@@ -0,0 +1 @@
+# Suffix arrays
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
new file mode 100644
index 000000000..832b5d649
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
@@ -0,0 +1 @@
+# Search pattern in text
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
new file mode 100644
index 000000000..635be7f8f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
@@ -0,0 +1 @@
+# Brute force search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
new file mode 100644
index 000000000..440cb7889
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
@@ -0,0 +1 @@
+# Knuth morris pratt
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
new file mode 100644
index 000000000..c099a4bda
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
@@ -0,0 +1 @@
+# Boyer moore
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
new file mode 100644
index 000000000..323522681
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
@@ -0,0 +1 @@
+# Rabin karp
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md
new file mode 100644
index 000000000..a0a5ebd55
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md
@@ -0,0 +1 @@
+# Substring search
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/readme.md b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/readme.md
new file mode 100644
index 000000000..7937d796f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/105-string-search-and-manipulations/readme.md
@@ -0,0 +1 @@
+# String search and manipulations
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/106-bitwise-operators.md b/content/roadmaps/103-computer-science/content/106-bitwise-operators.md
new file mode 100644
index 000000000..b0b417f19
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/106-bitwise-operators.md
@@ -0,0 +1 @@
+# Bitwise operators
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/107-floating-point-numbers.md b/content/roadmaps/103-computer-science/content/107-floating-point-numbers.md
new file mode 100644
index 000000000..4268a6eff
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/107-floating-point-numbers.md
@@ -0,0 +1 @@
+# Floating point numbers
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/108-endianess/100-big-endian.md b/content/roadmaps/103-computer-science/content/108-endianess/100-big-endian.md
new file mode 100644
index 000000000..4c4de4b53
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/108-endianess/100-big-endian.md
@@ -0,0 +1 @@
+# Big endian
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/108-endianess/101-little-endian.md b/content/roadmaps/103-computer-science/content/108-endianess/101-little-endian.md
new file mode 100644
index 000000000..c1c8795ec
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/108-endianess/101-little-endian.md
@@ -0,0 +1 @@
+# Little endian
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/108-endianess/readme.md b/content/roadmaps/103-computer-science/content/108-endianess/readme.md
new file mode 100644
index 000000000..92cf54e7f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/108-endianess/readme.md
@@ -0,0 +1 @@
+# Endianess
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/109-character-encodings/100-unicode.md b/content/roadmaps/103-computer-science/content/109-character-encodings/100-unicode.md
new file mode 100644
index 000000000..62fe81496
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/109-character-encodings/100-unicode.md
@@ -0,0 +1 @@
+# Unicode
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/109-character-encodings/101-ascii.md b/content/roadmaps/103-computer-science/content/109-character-encodings/101-ascii.md
new file mode 100644
index 000000000..687c32286
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/109-character-encodings/101-ascii.md
@@ -0,0 +1 @@
+# Ascii
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/109-character-encodings/readme.md b/content/roadmaps/103-computer-science/content/109-character-encodings/readme.md
new file mode 100644
index 000000000..57d6d79c4
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/109-character-encodings/readme.md
@@ -0,0 +1 @@
+# Character encodings
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/100-class-diagrams.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
new file mode 100644
index 000000000..6a1f66ce1
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
@@ -0,0 +1 @@
+# Class diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
new file mode 100644
index 000000000..132204a29
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
@@ -0,0 +1 @@
+# Usecase diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
new file mode 100644
index 000000000..111217a87
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
@@ -0,0 +1 @@
+# Activity diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
new file mode 100644
index 000000000..f412cd84f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
@@ -0,0 +1 @@
+# Statemachine diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
new file mode 100644
index 000000000..9b2fe9c7a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
@@ -0,0 +1 @@
+# Sequence diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/readme.md b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/readme.md
new file mode 100644
index 000000000..343599e8f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/110-common-uml-diagrams/readme.md
@@ -0,0 +1 @@
+# Common uml diagrams
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md b/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md
new file mode 100644
index 000000000..80a8498fd
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md
@@ -0,0 +1 @@
+# Gof design patterns
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md b/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md
new file mode 100644
index 000000000..9dc6d42a6
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md
@@ -0,0 +1 @@
+# Architectural patterns
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md b/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md
new file mode 100644
index 000000000..450bde1c7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md
@@ -0,0 +1 @@
+# Dependency injection
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md b/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md
new file mode 100644
index 000000000..534a248fb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md
@@ -0,0 +1 @@
+# Null object pattern
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md b/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md
new file mode 100644
index 000000000..b7d326203
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md
@@ -0,0 +1 @@
+# Type object pattern
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md b/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md
new file mode 100644
index 000000000..9dfa41d0d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md
@@ -0,0 +1 @@
+# Design patterns
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md
new file mode 100644
index 000000000..86dc03cc9
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md
@@ -0,0 +1 @@
+# Probability
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md
new file mode 100644
index 000000000..949d807aa
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md
@@ -0,0 +1 @@
+# Combinatorics
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md
new file mode 100644
index 000000000..e56bea4b7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md
@@ -0,0 +1 @@
+# Basic math skills
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/100-p.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/100-p.md
new file mode 100644
index 000000000..2eff90c81
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/100-p.md
@@ -0,0 +1 @@
+# P
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/101-np.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/101-np.md
new file mode 100644
index 000000000..5799a89e8
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/101-np.md
@@ -0,0 +1 @@
+# Np
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/102-co-np.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/102-co-np.md
new file mode 100644
index 000000000..eae24a61f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/102-co-np.md
@@ -0,0 +1 @@
+# Co np
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/103-np-hard.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/103-np-hard.md
new file mode 100644
index 000000000..87126abc5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/103-np-hard.md
@@ -0,0 +1 @@
+# Np hard
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
new file mode 100644
index 000000000..a3acc3add
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
@@ -0,0 +1 @@
+# Travelling salesman problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
new file mode 100644
index 000000000..bfc8cc87c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
@@ -0,0 +1 @@
+# Knapsack problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
new file mode 100644
index 000000000..7ad4a912b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
@@ -0,0 +1 @@
+# Longest path problem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/readme.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/readme.md
new file mode 100644
index 000000000..b6fe732b0
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/104-np-complete/readme.md
@@ -0,0 +1 @@
+# Np complete
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/105-p-equals-np.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/105-p-equals-np.md
new file mode 100644
index 000000000..d03ed63a2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/105-p-equals-np.md
@@ -0,0 +1 @@
+# P equals np
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/113-complexity-classes/readme.md b/content/roadmaps/103-computer-science/content/113-complexity-classes/readme.md
new file mode 100644
index 000000000..c0a819127
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/113-complexity-classes/readme.md
@@ -0,0 +1 @@
+# Complexity classes
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/114-tries.md b/content/roadmaps/103-computer-science/content/114-tries.md
new file mode 100644
index 000000000..8ab6d1f02
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/114-tries.md
@@ -0,0 +1 @@
+# Tries
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/100-avl-trees.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/100-avl-trees.md
new file mode 100644
index 000000000..2947b43f3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/100-avl-trees.md
@@ -0,0 +1 @@
+# Avl trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/101-red-black-trees.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/101-red-black-trees.md
new file mode 100644
index 000000000..07291ac3f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/101-red-black-trees.md
@@ -0,0 +1 @@
+# Red black trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
new file mode 100644
index 000000000..e9f483946
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
@@ -0,0 +1 @@
+# The 2 3 search trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
new file mode 100644
index 000000000..7e5cc5350
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
@@ -0,0 +1 @@
+# The 2 3 4 trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/104-n-ary-trees.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
new file mode 100644
index 000000000..058eebbfc
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
@@ -0,0 +1 @@
+# N ary trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/105-b-tree.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/105-b-tree.md
new file mode 100644
index 000000000..7ab904c51
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/105-b-tree.md
@@ -0,0 +1 @@
+# B tree
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/115-balanced-search-trees/readme.md b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/readme.md
new file mode 100644
index 000000000..ee42b65b3
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/115-balanced-search-trees/readme.md
@@ -0,0 +1 @@
+# Balanced search trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md b/content/roadmaps/103-computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
new file mode 100644
index 000000000..83088db44
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
@@ -0,0 +1 @@
+# Horizontal vs vertical scaling
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/101-clustering.md b/content/roadmaps/103-computer-science/content/116-system-design/101-clustering.md
new file mode 100644
index 000000000..9c8218477
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/101-clustering.md
@@ -0,0 +1 @@
+# Clustering
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/101-load-balancing.md b/content/roadmaps/103-computer-science/content/116-system-design/101-load-balancing.md
new file mode 100644
index 000000000..76a6e1c25
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/101-load-balancing.md
@@ -0,0 +1 @@
+# Load balancing
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/102-caching.md b/content/roadmaps/103-computer-science/content/116-system-design/102-caching.md
new file mode 100644
index 000000000..07f88797a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/102-caching.md
@@ -0,0 +1 @@
+# Caching
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/103-cdn.md b/content/roadmaps/103-computer-science/content/116-system-design/103-cdn.md
new file mode 100644
index 000000000..10851277a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/103-cdn.md
@@ -0,0 +1 @@
+# Cdn
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/104-proxy.md b/content/roadmaps/103-computer-science/content/116-system-design/104-proxy.md
new file mode 100644
index 000000000..8be8b356c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/104-proxy.md
@@ -0,0 +1 @@
+# Proxy
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/105-cap-theorem.md b/content/roadmaps/103-computer-science/content/116-system-design/105-cap-theorem.md
new file mode 100644
index 000000000..b85469e6d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/105-cap-theorem.md
@@ -0,0 +1 @@
+# Cap theorem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/106-queues.md b/content/roadmaps/103-computer-science/content/116-system-design/106-queues.md
new file mode 100644
index 000000000..b3e37379a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/106-queues.md
@@ -0,0 +1 @@
+# Queues
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/107-architectural-styles.md b/content/roadmaps/103-computer-science/content/116-system-design/107-architectural-styles.md
new file mode 100644
index 000000000..6ab57a0a5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/107-architectural-styles.md
@@ -0,0 +1 @@
+# Architectural styles
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/108-rest.md b/content/roadmaps/103-computer-science/content/116-system-design/108-rest.md
new file mode 100644
index 000000000..5088a865c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/108-rest.md
@@ -0,0 +1 @@
+# Rest
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/109-graphql.md b/content/roadmaps/103-computer-science/content/116-system-design/109-graphql.md
new file mode 100644
index 000000000..92b738b69
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/109-graphql.md
@@ -0,0 +1 @@
+# Graphql
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/110-grpc.md b/content/roadmaps/103-computer-science/content/116-system-design/110-grpc.md
new file mode 100644
index 000000000..5d543f43c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/110-grpc.md
@@ -0,0 +1 @@
+# Grpc
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/111-cloud-design-patterns.md b/content/roadmaps/103-computer-science/content/116-system-design/111-cloud-design-patterns.md
new file mode 100644
index 000000000..17c562494
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/111-cloud-design-patterns.md
@@ -0,0 +1 @@
+# Cloud design patterns
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/112-long-polling.md b/content/roadmaps/103-computer-science/content/116-system-design/112-long-polling.md
new file mode 100644
index 000000000..7c6f67b5a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/112-long-polling.md
@@ -0,0 +1 @@
+# Long polling
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/113-short-polling.md b/content/roadmaps/103-computer-science/content/116-system-design/113-short-polling.md
new file mode 100644
index 000000000..074a1187f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/113-short-polling.md
@@ -0,0 +1 @@
+# Short polling
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/114-web-sockets.md b/content/roadmaps/103-computer-science/content/116-system-design/114-web-sockets.md
new file mode 100644
index 000000000..8b76cfb8d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/114-web-sockets.md
@@ -0,0 +1 @@
+# Web sockets
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/115-sse.md b/content/roadmaps/103-computer-science/content/116-system-design/115-sse.md
new file mode 100644
index 000000000..abf8d9426
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/115-sse.md
@@ -0,0 +1 @@
+# Sse
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/116-system-design/readme.md b/content/roadmaps/103-computer-science/content/116-system-design/readme.md
new file mode 100644
index 000000000..ef51ccef6
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/116-system-design/readme.md
@@ -0,0 +1 @@
+# System design
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/100-sql-vs-nosql-databases.md b/content/roadmaps/103-computer-science/content/117-databases/100-sql-vs-nosql-databases.md
new file mode 100644
index 000000000..989aabcc4
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/100-sql-vs-nosql-databases.md
@@ -0,0 +1 @@
+# Sql vs nosql databases
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/101-normalization-denormalization.md b/content/roadmaps/103-computer-science/content/117-databases/101-normalization-denormalization.md
new file mode 100644
index 000000000..190f6f93f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/101-normalization-denormalization.md
@@ -0,0 +1 @@
+# Normalization denormalization
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/102-entity-relationship-model.md b/content/roadmaps/103-computer-science/content/117-databases/102-entity-relationship-model.md
new file mode 100644
index 000000000..2e2e67d1b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/102-entity-relationship-model.md
@@ -0,0 +1 @@
+# Entity relationship model
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/103-ddl.md b/content/roadmaps/103-computer-science/content/117-databases/103-ddl.md
new file mode 100644
index 000000000..431df5506
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/103-ddl.md
@@ -0,0 +1 @@
+# Ddl
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/104-dml.md b/content/roadmaps/103-computer-science/content/117-databases/104-dml.md
new file mode 100644
index 000000000..8ac290365
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/104-dml.md
@@ -0,0 +1 @@
+# Dml
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/105-dql.md b/content/roadmaps/103-computer-science/content/117-databases/105-dql.md
new file mode 100644
index 000000000..a7436b909
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/105-dql.md
@@ -0,0 +1 @@
+# Dql
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/106-dcl.md b/content/roadmaps/103-computer-science/content/117-databases/106-dcl.md
new file mode 100644
index 000000000..5df48523e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/106-dcl.md
@@ -0,0 +1 @@
+# Dcl
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/107-locking.md b/content/roadmaps/103-computer-science/content/117-databases/107-locking.md
new file mode 100644
index 000000000..fb1ee9b08
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/107-locking.md
@@ -0,0 +1 @@
+# Locking
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/109-acid-model.md b/content/roadmaps/103-computer-science/content/117-databases/109-acid-model.md
new file mode 100644
index 000000000..c93f05915
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/109-acid-model.md
@@ -0,0 +1 @@
+# Acid model
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/110-base-model.md b/content/roadmaps/103-computer-science/content/117-databases/110-base-model.md
new file mode 100644
index 000000000..be2e21a15
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/110-base-model.md
@@ -0,0 +1 @@
+# Base model
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/111-cap-theorem.md b/content/roadmaps/103-computer-science/content/117-databases/111-cap-theorem.md
new file mode 100644
index 000000000..b85469e6d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/111-cap-theorem.md
@@ -0,0 +1 @@
+# Cap theorem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/112-pacelc-theorem.md b/content/roadmaps/103-computer-science/content/117-databases/112-pacelc-theorem.md
new file mode 100644
index 000000000..9cba9bedf
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/112-pacelc-theorem.md
@@ -0,0 +1 @@
+# Pacelc theorem
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/113-indexes.md b/content/roadmaps/103-computer-science/content/117-databases/113-indexes.md
new file mode 100644
index 000000000..f9fd5bbeb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/113-indexes.md
@@ -0,0 +1 @@
+# Indexes
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/114-views.md b/content/roadmaps/103-computer-science/content/117-databases/114-views.md
new file mode 100644
index 000000000..c2cd4746d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/114-views.md
@@ -0,0 +1 @@
+# Views
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/115-transactions.md b/content/roadmaps/103-computer-science/content/117-databases/115-transactions.md
new file mode 100644
index 000000000..0125c964d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/115-transactions.md
@@ -0,0 +1 @@
+# Transactions
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/116-stored-procedures.md b/content/roadmaps/103-computer-science/content/117-databases/116-stored-procedures.md
new file mode 100644
index 000000000..ff0ca159f
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/116-stored-procedures.md
@@ -0,0 +1 @@
+# Stored procedures
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/117-database-federation.md b/content/roadmaps/103-computer-science/content/117-databases/117-database-federation.md
new file mode 100644
index 000000000..3aab4d4b2
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/117-database-federation.md
@@ -0,0 +1 @@
+# Database federation
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/118-replication.md b/content/roadmaps/103-computer-science/content/117-databases/118-replication.md
new file mode 100644
index 000000000..0516dcfd9
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/118-replication.md
@@ -0,0 +1 @@
+# Replication
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/119-sharding.md b/content/roadmaps/103-computer-science/content/117-databases/119-sharding.md
new file mode 100644
index 000000000..f837bc837
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/119-sharding.md
@@ -0,0 +1 @@
+# Sharding
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/117-databases/readme.md b/content/roadmaps/103-computer-science/content/117-databases/readme.md
new file mode 100644
index 000000000..602f6d863
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/117-databases/readme.md
@@ -0,0 +1 @@
+# Databases
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/100-sockets.md b/content/roadmaps/103-computer-science/content/118-networking/100-sockets.md
new file mode 100644
index 000000000..fcc70cab7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/100-sockets.md
@@ -0,0 +1 @@
+# Sockets
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/101-tls-https.md b/content/roadmaps/103-computer-science/content/118-networking/101-tls-https.md
new file mode 100644
index 000000000..f75c6f27e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/101-tls-https.md
@@ -0,0 +1 @@
+# Tls https
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/102-http.md b/content/roadmaps/103-computer-science/content/118-networking/102-http.md
new file mode 100644
index 000000000..b0e41f6d5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/102-http.md
@@ -0,0 +1 @@
+# Http
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/103-dns.md b/content/roadmaps/103-computer-science/content/118-networking/103-dns.md
new file mode 100644
index 000000000..d61cccd5d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/103-dns.md
@@ -0,0 +1 @@
+# Dns
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/104-tcp-ip-model.md b/content/roadmaps/103-computer-science/content/118-networking/104-tcp-ip-model.md
new file mode 100644
index 000000000..6f1ee0139
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/104-tcp-ip-model.md
@@ -0,0 +1 @@
+# Tcp ip model
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/105-osi-model.md b/content/roadmaps/103-computer-science/content/118-networking/105-osi-model.md
new file mode 100644
index 000000000..3ac4616ec
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/105-osi-model.md
@@ -0,0 +1 @@
+# Osi model
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/118-networking/readme.md b/content/roadmaps/103-computer-science/content/118-networking/readme.md
new file mode 100644
index 000000000..e159d196c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/118-networking/readme.md
@@ -0,0 +1 @@
+# Networking
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/119-security/100-public-key-cryptography.md b/content/roadmaps/103-computer-science/content/119-security/100-public-key-cryptography.md
new file mode 100644
index 000000000..40bdb476a
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/119-security/100-public-key-cryptography.md
@@ -0,0 +1 @@
+# Public key cryptography
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/119-security/101-hashing-encryption-encoding.md b/content/roadmaps/103-computer-science/content/119-security/101-hashing-encryption-encoding.md
new file mode 100644
index 000000000..71cc17467
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/119-security/101-hashing-encryption-encoding.md
@@ -0,0 +1 @@
+# Hashing encryption encoding
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/119-security/102-hashing-algorithms.md b/content/roadmaps/103-computer-science/content/119-security/102-hashing-algorithms.md
new file mode 100644
index 000000000..1d9e5c8fc
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/119-security/102-hashing-algorithms.md
@@ -0,0 +1 @@
+# Hashing algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/119-security/103-owasp-top-10.md b/content/roadmaps/103-computer-science/content/119-security/103-owasp-top-10.md
new file mode 100644
index 000000000..b24fd9e78
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/119-security/103-owasp-top-10.md
@@ -0,0 +1 @@
+# Owasp top 10
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/119-security/readme.md b/content/roadmaps/103-computer-science/content/119-security/readme.md
new file mode 100644
index 000000000..f76df344c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/119-security/readme.md
@@ -0,0 +1 @@
+# Security
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
new file mode 100644
index 000000000..525d4d309
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
@@ -0,0 +1 @@
+# How cpu executes programs
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/101-how-computers-calculate.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/101-how-computers-calculate.md
new file mode 100644
index 000000000..f66b313cc
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/101-how-computers-calculate.md
@@ -0,0 +1 @@
+# How computers calculate
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/102-registers-and-ram.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/102-registers-and-ram.md
new file mode 100644
index 000000000..1c38a2cbc
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/102-registers-and-ram.md
@@ -0,0 +1 @@
+# Registers and ram
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/103-instructions-and-programs.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/103-instructions-and-programs.md
new file mode 100644
index 000000000..ba5d3c459
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/103-instructions-and-programs.md
@@ -0,0 +1 @@
+# Instructions and programs
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/104-cpu-cache.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/104-cpu-cache.md
new file mode 100644
index 000000000..17cea0976
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/104-cpu-cache.md
@@ -0,0 +1 @@
+# Cpu cache
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/120-how-computers-work/readme.md b/content/roadmaps/103-computer-science/content/120-how-computers-work/readme.md
new file mode 100644
index 000000000..ef5164c2b
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/120-how-computers-work/readme.md
@@ -0,0 +1 @@
+# How computers work
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/100-process-forking.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/100-process-forking.md
new file mode 100644
index 000000000..cad3419a6
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/100-process-forking.md
@@ -0,0 +1 @@
+# Process forking
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/101-memory-management.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/101-memory-management.md
new file mode 100644
index 000000000..9349679e5
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/101-memory-management.md
@@ -0,0 +1 @@
+# Memory management
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
new file mode 100644
index 000000000..86eb658e6
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
@@ -0,0 +1 @@
+# Lock mutex semaphore
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
new file mode 100644
index 000000000..d06105eaf
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
@@ -0,0 +1 @@
+# Concurrency in multiple cores
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-scheduling-algorithms.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-scheduling-algorithms.md
new file mode 100644
index 000000000..40e668cf7
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/103-scheduling-algorithms.md
@@ -0,0 +1 @@
+# Scheduling algorithms
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/104-cpu-interrupts.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
new file mode 100644
index 000000000..5d1b07a9c
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
@@ -0,0 +1 @@
+# Cpu interrupts
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/105-processes-vs-threads.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
new file mode 100644
index 000000000..8021e8930
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
@@ -0,0 +1 @@
+# Processes vs threads
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/121-processes-and-threads/readme.md b/content/roadmaps/103-computer-science/content/121-processes-and-threads/readme.md
new file mode 100644
index 000000000..54aa29b55
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/121-processes-and-threads/readme.md
@@ -0,0 +1 @@
+# Processes and threads
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/122-kd-trees.md b/content/roadmaps/103-computer-science/content/122-kd-trees.md
new file mode 100644
index 000000000..11492b61e
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/122-kd-trees.md
@@ -0,0 +1 @@
+# Kd trees
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/123-skip-lists.md b/content/roadmaps/103-computer-science/content/123-skip-lists.md
new file mode 100644
index 000000000..2236ba881
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/123-skip-lists.md
@@ -0,0 +1 @@
+# Skip lists
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/content/readme.md b/content/roadmaps/103-computer-science/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/content/roadmaps/103-computer-science/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/content/roadmaps/103-computer-science/meta.json b/content/roadmaps/103-computer-science/meta.json
new file mode 100644
index 000000000..132e9a0eb
--- /dev/null
+++ b/content/roadmaps/103-computer-science/meta.json
@@ -0,0 +1,46 @@
+{
+ "seo": {
+ "title": "Computer Science Roadmap: Curriculum for the self taught developer",
+ "description": "Easy to follow Computer Science curriculum with free resources for a self-taught developer.",
+ "keywords": [
+ "computer science roadmap",
+ "computer science",
+ "computer science roadmap 2022",
+ "guide to computer science",
+ "software engineer roadmap",
+ "software engineer roadmap 2022",
+ "self-taught computer science roadmap",
+ "computer science skills",
+ "computer science skills test",
+ "cs roadmap",
+ "computer science curriculum",
+ "cs curriculum",
+ "skills for computer science",
+ "what is computer science",
+ "computer science quiz",
+ "computer science interview questions"
+ ]
+ },
+ "title": "Computer Science",
+ "description": "Computer Science curriculum with free resources for a self-taught developer.",
+ "featuredTitle": "Computer Science",
+ "type": "tool",
+ "featuredDescription": "Curriculum with free resources for a self-taught developer.",
+ "isTextHeavy": false,
+ "isNew": true,
+ "isCommunity": false,
+ "featured": true,
+ "jsonUrl": "/project/computer-science.json",
+ "author": {
+ "name": "Kamran Ahmed",
+ "url": "https://twitter.com/kamranahmedse"
+ },
+ "pdfUrl": "/pdfs/computer-science.pdf",
+ "relatedRoadmaps": [
+ "frontend",
+ "backend",
+ "devops",
+ "software-design-architecture"
+ ],
+ "contentPathsFilePath": "./content-paths.json"
+}
\ No newline at end of file
diff --git a/lib/roadmap.ts b/lib/roadmap.ts
index 902b15ea8..5a9ee1657 100644
--- a/lib/roadmap.ts
+++ b/lib/roadmap.ts
@@ -49,5 +49,5 @@ export function getFeaturedRoadmaps(): RoadmapType[] {
}
export function isInteractiveRoadmap(id: string): boolean {
- return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture', 'aspnet-core', 'flutter'].includes(id);
+ return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture', 'aspnet-core', 'flutter', 'computer-science'].includes(id);
}
diff --git a/public/project/computer-science.json b/public/project/computer-science.json
new file mode 100644
index 000000000..d2107c66e
--- /dev/null
+++ b/public/project/computer-science.json
@@ -0,0 +1,12263 @@
+{
+ "mockup": {
+ "controls": {
+ "control": [
+ {
+ "ID": "10597",
+ "typeID": "Arrow",
+ "zOrder": "94",
+ "w": "229",
+ "h": "226",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "770",
+ "y": "494",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 228.31055982133557,
+ "y": 0.10378348623532929
+ },
+ "p1": {
+ "x": 0.5329669805326468,
+ "y": 0.14360846249705583
+ },
+ "p2": {
+ "x": -0.2675809373233733,
+ "y": 225.7930320127624
+ }
+ }
+ },
+ {
+ "ID": "10605",
+ "typeID": "Label",
+ "zOrder": "95",
+ "measuredW": "269",
+ "measuredH": "40",
+ "x": "885",
+ "y": "308",
+ "properties": {
+ "size": "32",
+ "text": "Computer Science"
+ }
+ },
+ {
+ "ID": "10606",
+ "typeID": "Arrow",
+ "zOrder": "96",
+ "w": "21",
+ "h": "74",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "961",
+ "y": "221",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "direction": "bottom",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 20.339656000000105,
+ "y": 0.38163287300682214
+ },
+ "p1": {
+ "x": 0.4726613717175647,
+ "y": -0.18058053919470718
+ },
+ "p2": {
+ "x": 6.501387975842022,
+ "y": 74.27541947376
+ }
+ }
+ },
+ {
+ "ID": "10607",
+ "typeID": "Arrow",
+ "zOrder": "97",
+ "w": "21",
+ "h": "124",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "998",
+ "y": "361",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 5.718319958248799,
+ "y": -0.38263953595850353
+ },
+ "p1": {
+ "x": 0.4699952673923335,
+ "y": 0.14969238050165654
+ },
+ "p2": {
+ "x": 0.4526764944405386,
+ "y": 123.33372374697893
+ }
+ }
+ },
+ {
+ "ID": "10641",
+ "typeID": "Canvas",
+ "zOrder": "98",
+ "w": "350",
+ "h": "141",
+ "measuredW": "100",
+ "measuredH": "70",
+ "x": "1282",
+ "y": "161"
+ },
+ {
+ "ID": "10642",
+ "typeID": "Label",
+ "zOrder": "99",
+ "measuredW": "314",
+ "measuredH": "25",
+ "x": "1296",
+ "y": "178",
+ "properties": {
+ "size": "17",
+ "text": "Find the detailed version of this roadmap"
+ }
+ },
+ {
+ "ID": "10643",
+ "typeID": "Label",
+ "zOrder": "100",
+ "measuredW": "319",
+ "measuredH": "25",
+ "x": "1296",
+ "y": "206",
+ "properties": {
+ "size": "17",
+ "text": "along with resources and other roadmaps"
+ }
+ },
+ {
+ "ID": "10686",
+ "typeID": "Arrow",
+ "zOrder": "93",
+ "w": "224",
+ "h": "8",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1105",
+ "y": "480",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.09716998878445793,
+ "y": 8.030919693704618
+ },
+ "p1": {
+ "x": 0.564722657257297,
+ "y": -0.008677972962353458
+ },
+ "p2": {
+ "x": 223.8410108125454,
+ "y": -0.17733562916464507
+ }
+ }
+ },
+ {
+ "ID": "10687",
+ "typeID": "Arrow",
+ "zOrder": "92",
+ "w": "222",
+ "h": "57",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1104",
+ "y": "420",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.09245158327996705,
+ "y": 56.56003565560616
+ },
+ "p1": {
+ "x": 0.5667465019538631,
+ "y": -0.09781923610235727
+ },
+ "p2": {
+ "x": 221.70210094693743,
+ "y": 0.32228678989048376
+ }
+ }
+ },
+ {
+ "ID": "10694",
+ "typeID": "Arrow",
+ "zOrder": "90",
+ "w": "205",
+ "h": "52",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1113",
+ "y": "494",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.3903644341978634,
+ "y": -0.03579004622974935
+ },
+ "p1": {
+ "x": 0.5997856951513523,
+ "y": 0.082373426198768
+ },
+ "p2": {
+ "x": 204.85482628291743,
+ "y": 51.87868141421234
+ }
+ }
+ },
+ {
+ "ID": "10721",
+ "typeID": "Arrow",
+ "zOrder": "86",
+ "w": "165",
+ "h": "3",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "683",
+ "y": "485",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.09716998878445793,
+ "y": 0.030919693704618112
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432151
+ },
+ "p2": {
+ "x": 165.0092065759775,
+ "y": 3.23149039216878
+ }
+ }
+ },
+ {
+ "ID": "10722",
+ "typeID": "Arrow",
+ "zOrder": "87",
+ "w": "167",
+ "h": "46",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "685",
+ "y": "432",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.1558613574420633,
+ "y": 0.28950157664132803
+ },
+ "p1": {
+ "x": 0.5217150699561692,
+ "y": -0.058095463624905135
+ },
+ "p2": {
+ "x": 167.27974065494232,
+ "y": 46.0157138571102
+ }
+ }
+ },
+ {
+ "ID": "10724",
+ "typeID": "Arrow",
+ "zOrder": "85",
+ "w": "173",
+ "h": "45",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "681",
+ "y": "498",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.26537644525456017,
+ "y": 45.2008579796493
+ },
+ "p1": {
+ "x": 0.5612843769704615,
+ "y": 0.05607023330261436
+ },
+ "p2": {
+ "x": 173.06396411988374,
+ "y": 0.4472669272273606
+ }
+ }
+ },
+ {
+ "ID": "11803",
+ "typeID": "Arrow",
+ "zOrder": "84",
+ "w": "130",
+ "h": "5",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "573",
+ "y": "723",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.0340006863726785,
+ "y": 4.970951109570933
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484431856
+ },
+ "p2": {
+ "x": 129.9374700368271,
+ "y": -0.4416934466979683
+ }
+ }
+ },
+ {
+ "ID": "11804",
+ "typeID": "Arrow",
+ "zOrder": "83",
+ "w": "160",
+ "h": "2",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "938",
+ "y": "724",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 0.29899257363251763,
+ "y": 0.2314903921687801
+ },
+ "p1": {
+ "x": 0.5603752218607515,
+ "y": 0.000041473854844320995
+ },
+ "p2": {
+ "x": 160.16844314823038,
+ "y": 2.209968314819548
+ }
+ }
+ },
+ {
+ "ID": "12394",
+ "typeID": "Arrow",
+ "zOrder": "82",
+ "w": "169",
+ "h": "89",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1146",
+ "y": "501",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.12748478994694779,
+ "y": 0.37594373301101314
+ },
+ "p1": {
+ "x": 0.5830539012061454,
+ "y": 0.10785245983684466
+ },
+ "p2": {
+ "x": 169.27262717335134,
+ "y": 89.6845789114484
+ }
+ }
+ },
+ {
+ "ID": "12403",
+ "typeID": "Arrow",
+ "zOrder": "81",
+ "w": "130",
+ "h": "50",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "578",
+ "y": "734",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.2001936182911095,
+ "y": 50.450557811327485
+ },
+ "p1": {
+ "x": 0.4344465290806758,
+ "y": 0.11459662288930632
+ },
+ "p2": {
+ "x": 129.70327573216332,
+ "y": 0.3835956658398345
+ }
+ }
+ },
+ {
+ "ID": "12411",
+ "typeID": "Arrow",
+ "zOrder": "80",
+ "w": "1",
+ "h": "312",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "775",
+ "y": "621",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.24232757605466304
+ },
+ "p1": {
+ "x": 0.5603752218607516,
+ "y": 0.00004147385484432192
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 311.32802481732415
+ }
+ }
+ },
+ {
+ "ID": "12412",
+ "typeID": "Arrow",
+ "zOrder": "79",
+ "w": "137",
+ "h": "95",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "586",
+ "y": "737",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.08122678388770055,
+ "y": 94.51751995681514
+ },
+ "p1": {
+ "x": 0.51678696775048,
+ "y": 0.11707833918283551
+ },
+ "p2": {
+ "x": 136.58804826190283,
+ "y": -0.2037597778911504
+ }
+ }
+ },
+ {
+ "ID": "12413",
+ "typeID": "Arrow",
+ "zOrder": "78",
+ "w": "129",
+ "h": "35",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "573",
+ "y": "676",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.0340006863726785,
+ "y": -0.029048890429066887
+ },
+ "p1": {
+ "x": 0.4652118803823874,
+ "y": -0.07321971659095661
+ },
+ "p2": {
+ "x": 129.2906311758943,
+ "y": 35.37985630169692
+ }
+ }
+ },
+ {
+ "ID": "12414",
+ "typeID": "Arrow",
+ "zOrder": "76",
+ "w": "134",
+ "h": "93",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "579",
+ "y": "615",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.15296752077608744,
+ "y": 0.0117377060578292
+ },
+ "p1": {
+ "x": 0.46978874706379403,
+ "y": -0.100896626855586
+ },
+ "p2": {
+ "x": 134.11592028843222,
+ "y": 93.37985630169692
+ }
+ }
+ },
+ {
+ "ID": "12420",
+ "typeID": "Arrow",
+ "zOrder": "77",
+ "w": "1",
+ "h": "101",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "934",
+ "y": "725",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432186
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 100.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12423",
+ "typeID": "Arrow",
+ "zOrder": "75",
+ "w": "1",
+ "h": "101",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "493",
+ "y": "833",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432186
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 100.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12464",
+ "typeID": "__group__",
+ "zOrder": "122",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "1157",
+ "properties": {
+ "controlName": "105-data-structures:tree:unbalanced-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "141",
+ "measuredH": "26",
+ "x": "44",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Unbalanced Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12465",
+ "typeID": "__group__",
+ "zOrder": "121",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "1105",
+ "properties": {
+ "controlName": "104-data-structures:tree:balanced-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "120",
+ "measuredH": "26",
+ "x": "55",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Balanced Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12466",
+ "typeID": "__group__",
+ "zOrder": "120",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "1053",
+ "properties": {
+ "controlName": "103-data-structures:tree:complete-binary-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "177",
+ "measuredH": "26",
+ "x": "26",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Complete Binary Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12467",
+ "typeID": "__group__",
+ "zOrder": "119",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "1002",
+ "properties": {
+ "controlName": "102-data-structures:tree:full-binary-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "126",
+ "measuredH": "26",
+ "x": "52",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Full Binary Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12468",
+ "typeID": "__group__",
+ "zOrder": "118",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "950",
+ "properties": {
+ "controlName": "101-data-structures:tree:binary-search-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "37",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Binary Search Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12471",
+ "typeID": "__group__",
+ "zOrder": "117",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "655",
+ "y": "1001",
+ "properties": {
+ "controlName": "102-data-structures:graph:spanning-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "119",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Spanning Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12472",
+ "typeID": "__group__",
+ "zOrder": "124",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "655",
+ "y": "950",
+ "properties": {
+ "controlName": "101-data-structures:graph:undirected-graph"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "146",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Undirected Graph"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12473",
+ "typeID": "__group__",
+ "zOrder": "123",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "655",
+ "y": "899",
+ "properties": {
+ "controlName": "100-data-structures:graph:directed-graph"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "126",
+ "measuredH": "26",
+ "x": "51",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Directed Graph"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12483",
+ "typeID": "Arrow",
+ "zOrder": "74",
+ "w": "136",
+ "h": "3",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1299",
+ "y": "722",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0,
+ "y": 3
+ },
+ "p1": {
+ "x": 0.5591723126937833,
+ "y": 0.0008641584587329898
+ },
+ "p2": {
+ "x": 136,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "12484",
+ "typeID": "Arrow",
+ "zOrder": "73",
+ "w": "133",
+ "h": "51",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1290",
+ "y": "664",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0,
+ "y": 51
+ },
+ "p1": {
+ "x": 0.6049982158696215,
+ "y": -0.11048518805179115
+ },
+ "p2": {
+ "x": 133,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "12485",
+ "typeID": "Arrow",
+ "zOrder": "72",
+ "w": "136",
+ "h": "47",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1292",
+ "y": "731",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.6279384084247398,
+ "y": 0.0894746594067004
+ },
+ "p2": {
+ "x": 136,
+ "y": 47
+ }
+ }
+ },
+ {
+ "ID": "12501",
+ "typeID": "Arrow",
+ "zOrder": "70",
+ "w": "141",
+ "h": "112",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1285",
+ "y": "738",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.10689341779038841,
+ "y": 0.43706984473033117
+ },
+ "p1": {
+ "x": 0.5751295336787576,
+ "y": 0.16450777202072547
+ },
+ "p2": {
+ "x": 140.68610989889817,
+ "y": 112.7698972094355
+ }
+ }
+ },
+ {
+ "ID": "12502",
+ "typeID": "Arrow",
+ "zOrder": "69",
+ "w": "1",
+ "h": "1101",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1263",
+ "y": "738",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607514,
+ "y": 0.00004147385484432091
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 1100.843293737311
+ }
+ }
+ },
+ {
+ "ID": "12509",
+ "typeID": "Arrow",
+ "zOrder": "68",
+ "w": "1",
+ "h": "113",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1118",
+ "y": "1155",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607518,
+ "y": 0.00004147385484432021
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 112.92732078922768
+ }
+ }
+ },
+ {
+ "ID": "12557",
+ "typeID": "Arrow",
+ "zOrder": "67",
+ "w": "165",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1234",
+ "y": "1258",
+ "properties": {
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 164.88187101517303,
+ "y": 0
+ },
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263"
+ }
+ },
+ {
+ "ID": "12597",
+ "typeID": "Arrow",
+ "zOrder": "66",
+ "w": "554",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "477",
+ "y": "1259",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0.14145350618525754,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 553.881871015173,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "12604",
+ "typeID": "Arrow",
+ "zOrder": "65",
+ "w": "1",
+ "h": "347",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1423",
+ "y": "1271",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 0,
+ "y": 347.04119117859636
+ }
+ }
+ },
+ {
+ "ID": "12646",
+ "typeID": "Arrow",
+ "zOrder": "64",
+ "w": "1",
+ "h": "162",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "496",
+ "y": "1453",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0,
+ "y": 0.08248322334543445
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 0,
+ "y": 161.75516113964727
+ }
+ }
+ },
+ {
+ "ID": "12647",
+ "typeID": "Arrow",
+ "zOrder": "63",
+ "w": "1",
+ "h": "403",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "759",
+ "y": "1471",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0,
+ "y": 0.08248322334543445
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 0,
+ "y": 403.3515342166356
+ }
+ }
+ },
+ {
+ "ID": "12656",
+ "typeID": "Arrow",
+ "zOrder": "62",
+ "w": "1",
+ "h": "195",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1054",
+ "y": "1423",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844319586
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 194.6093502958738
+ }
+ }
+ },
+ {
+ "ID": "12684",
+ "typeID": "Arrow",
+ "zOrder": "60",
+ "w": "189",
+ "h": "160",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1071",
+ "y": "1954",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 189,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4985776880716896,
+ "y": 0.20637600477852766
+ },
+ "p2": {
+ "x": 0.3798709441214214,
+ "y": 160.0556596124461
+ }
+ }
+ },
+ {
+ "ID": "12694",
+ "typeID": "Arrow",
+ "zOrder": "56",
+ "w": "1",
+ "h": "101",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "888",
+ "y": "2024",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432186
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 100.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12695",
+ "typeID": "Arrow",
+ "zOrder": "57",
+ "w": "1",
+ "h": "101",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1008",
+ "y": "2024",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432186
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 100.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12766",
+ "typeID": "Arrow",
+ "zOrder": "54",
+ "w": "1",
+ "h": "89",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "824",
+ "y": "2347",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.010444118840950978
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844321544
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 89.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12767",
+ "typeID": "Arrow",
+ "zOrder": "53",
+ "w": "1",
+ "h": "89",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "882",
+ "y": "2347",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.010444118840950978
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844321544
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 89.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12768",
+ "typeID": "Arrow",
+ "zOrder": "52",
+ "w": "1",
+ "h": "89",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "952",
+ "y": "2347",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.010444118840950978
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844321544
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 89.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12769",
+ "typeID": "Arrow",
+ "zOrder": "51",
+ "w": "1",
+ "h": "89",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1042",
+ "y": "2347",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.010444118840950978
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844321544
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 89.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12770",
+ "typeID": "TextArea",
+ "zOrder": "49",
+ "w": "89",
+ "h": "193",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "846",
+ "y": "2497"
+ },
+ {
+ "ID": "12777",
+ "typeID": "Arrow",
+ "zOrder": "48",
+ "w": "195",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "667",
+ "y": "2336",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.13439210593833195,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5,
+ "y": 0
+ },
+ "p2": {
+ "x": 194.88187101517303,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "12780",
+ "typeID": "Arrow",
+ "zOrder": "34",
+ "w": "1",
+ "h": "69",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "453",
+ "y": "2334",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432124
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 69.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12820",
+ "typeID": "Arrow",
+ "zOrder": "46",
+ "w": "127",
+ "h": "3",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1108",
+ "y": "1951",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5605181187999518,
+ "y": -0.0005546755370219163
+ },
+ "p2": {
+ "x": 127,
+ "y": 3
+ }
+ }
+ },
+ {
+ "ID": "12821",
+ "typeID": "Arrow",
+ "zOrder": "47",
+ "w": "129",
+ "h": "46",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1109",
+ "y": "1898",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.5059151699781369,
+ "y": -0.09339503524008039
+ },
+ "p2": {
+ "x": 129,
+ "y": 46
+ }
+ }
+ },
+ {
+ "ID": "12852",
+ "typeID": "Arrow",
+ "zOrder": "45",
+ "w": "1",
+ "h": "82",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1040",
+ "y": "2804",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": 0.02195310850356691
+ },
+ "p1": {
+ "x": 0.5603752218607515,
+ "y": 0.00004147385484431973
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 82.12831111664991
+ }
+ }
+ },
+ {
+ "ID": "12893",
+ "typeID": "Arrow",
+ "zOrder": "43",
+ "w": "1",
+ "h": "114",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "500",
+ "y": "2145",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432123
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 114.05770390174985
+ }
+ }
+ },
+ {
+ "ID": "12894",
+ "typeID": "__group__",
+ "zOrder": "191",
+ "measuredW": "237",
+ "measuredH": "47",
+ "w": "237",
+ "h": "47",
+ "x": "1299",
+ "y": "2075",
+ "properties": {
+ "controlName": "100-common-uml-diagrams:class-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "237",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "128",
+ "measuredH": "26",
+ "x": "55",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Class Diagrams"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12895",
+ "typeID": "__group__",
+ "zOrder": "190",
+ "measuredW": "237",
+ "measuredH": "47",
+ "w": "237",
+ "h": "47",
+ "x": "1299",
+ "y": "2126",
+ "properties": {
+ "controlName": "101-common-uml-diagrams:activity-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "237",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "138",
+ "measuredH": "26",
+ "x": "50",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Activity Diagrams"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12898",
+ "typeID": "__group__",
+ "zOrder": "193",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "1299",
+ "y": "2230",
+ "properties": {
+ "controlName": "103-common-uml-diagrams:activity-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "129",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Activity Diagram"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12899",
+ "typeID": "__group__",
+ "zOrder": "194",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "1299",
+ "y": "2282",
+ "properties": {
+ "controlName": "104-common-uml-diagrams:statemachine-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "187",
+ "measuredH": "26",
+ "x": "25",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Statemachine Diagram"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12900",
+ "typeID": "__group__",
+ "zOrder": "189",
+ "measuredW": "236",
+ "measuredH": "47",
+ "w": "236",
+ "h": "47",
+ "x": "1300",
+ "y": "2334",
+ "properties": {
+ "controlName": "105-common-uml-diagrams:sequence-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "236",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "167",
+ "measuredH": "26",
+ "x": "34",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Sequence Diagrams"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "12901",
+ "typeID": "Arrow",
+ "zOrder": "42",
+ "w": "247",
+ "h": "123",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1061",
+ "y": "2095",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0.33344214759267743,
+ "y": 123.13117226047461
+ },
+ "p1": {
+ "x": 0.4930232558139533,
+ "y": -0.10697674418604608
+ },
+ "p2": {
+ "x": 247.18854971944643,
+ "y": -0.29638152545248886
+ }
+ }
+ },
+ {
+ "ID": "12902",
+ "typeID": "Arrow",
+ "zOrder": "41",
+ "w": "234",
+ "h": "83",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1074",
+ "y": "2144",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0.25027917170109504,
+ "y": 82.74239694321341
+ },
+ "p1": {
+ "x": 0.5047606320783079,
+ "y": -0.08144856846958276
+ },
+ "p2": {
+ "x": 234.18854971944643,
+ "y": -0.4994416565978099
+ }
+ }
+ },
+ {
+ "ID": "12903",
+ "typeID": "Arrow",
+ "zOrder": "40",
+ "w": "233",
+ "h": "35",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1071",
+ "y": "2199",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0.2967079682300664,
+ "y": 34.094438081112
+ },
+ "p1": {
+ "x": 0.5171118545963691,
+ "y": -0.05360996194804129
+ },
+ "p2": {
+ "x": 232.8829373780768,
+ "y": 0.4735187812066215
+ }
+ }
+ },
+ {
+ "ID": "12904",
+ "typeID": "Arrow",
+ "zOrder": "39",
+ "w": "234",
+ "h": "16",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1079",
+ "y": "2243",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": -0.44410848692928084,
+ "y": -0.4703578050980468
+ },
+ "p1": {
+ "x": 0.5598743765010158,
+ "y": 0.01389248106410459
+ },
+ "p2": {
+ "x": 233.49416206081605,
+ "y": 15.316887446590044
+ }
+ }
+ },
+ {
+ "ID": "12905",
+ "typeID": "Arrow",
+ "zOrder": "38",
+ "w": "237",
+ "h": "59",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1073",
+ "y": "2251",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": -0.18492494208862809,
+ "y": 0.14086687764120143
+ },
+ "p1": {
+ "x": 0.5666977129255917,
+ "y": 0.05940184207803054
+ },
+ "p2": {
+ "x": 236.62375383323615,
+ "y": 58.984235543024624
+ }
+ }
+ },
+ {
+ "ID": "12906",
+ "typeID": "Arrow",
+ "zOrder": "37",
+ "w": "251",
+ "h": "112",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1067",
+ "y": "2255",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "stroke": "dotted",
+ "color": "10027263",
+ "p0": {
+ "x": 0.07425860275202467,
+ "y": 0.44647921901059817
+ },
+ "p1": {
+ "x": 0.5600533929009235,
+ "y": 0.08962379797869631
+ },
+ "p2": {
+ "x": 251.2349785159754,
+ "y": 112.39240009461855
+ }
+ }
+ },
+ {
+ "ID": "12907",
+ "typeID": "Arrow",
+ "zOrder": "36",
+ "w": "1",
+ "h": "120",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "946",
+ "y": "2114",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607514,
+ "y": 0.000041473854844320934
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 119.89520311389833
+ }
+ }
+ },
+ {
+ "ID": "12908",
+ "typeID": "Arrow",
+ "zOrder": "35",
+ "w": "179",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "667",
+ "y": "2238",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 178.91698054523056,
+ "y": -0.10479688610166704
+ },
+ "p1": {
+ "x": 0.5603752218607513,
+ "y": 0.00004147385484432086
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": -0.10479688610166704
+ }
+ }
+ },
+ {
+ "ID": "12913",
+ "typeID": "Arrow",
+ "zOrder": "33",
+ "w": "1",
+ "h": "120",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "500",
+ "y": "2230",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": -0.3822100294962638
+ },
+ "p1": {
+ "x": 0.5603752218607514,
+ "y": 0.000041473854844320934
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 119.89520311389833
+ }
+ }
+ },
+ {
+ "ID": "12916",
+ "typeID": "Arrow",
+ "zOrder": "32",
+ "w": "1",
+ "h": "147",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1483",
+ "y": "2658",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.23469462112143447
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.000041473854844321266
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 146.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "12939",
+ "typeID": "Arrow",
+ "zOrder": "31",
+ "w": "255",
+ "h": "146",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1074",
+ "y": "2340",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": -0.13526499871818487,
+ "y": 0.031203232169445982
+ },
+ "p1": {
+ "x": 0.5580705321176507,
+ "y": 0.162062936184401
+ },
+ "p2": {
+ "x": 255.30850584265454,
+ "y": 145.83878382758257
+ }
+ }
+ },
+ {
+ "ID": "12940",
+ "typeID": "Arrow",
+ "zOrder": "30",
+ "w": "1",
+ "h": "253",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1321",
+ "y": "2490",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": 0.0057689332443260355
+ },
+ "p1": {
+ "x": 0.5603752218607514,
+ "y": 0.000041473854844320684
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 252.80692385306293
+ }
+ }
+ },
+ {
+ "ID": "12954",
+ "typeID": "Arrow",
+ "zOrder": "29",
+ "w": "1",
+ "h": "97",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "980",
+ "y": "2885",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.31215130454575046
+ },
+ "p1": {
+ "x": 0.5603752218607516,
+ "y": 0.000041473854844319586
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 96.19883091555585
+ }
+ }
+ },
+ {
+ "ID": "12955",
+ "typeID": "Arrow",
+ "zOrder": "28",
+ "w": "1",
+ "h": "97",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1120",
+ "y": "2885",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127999456,
+ "y": -0.31215130454575046
+ },
+ "p1": {
+ "x": 0.5603752218607516,
+ "y": 0.000041473854844319586
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 96.19883091555585
+ }
+ }
+ },
+ {
+ "ID": "12956",
+ "typeID": "Arrow",
+ "zOrder": "27",
+ "w": "159",
+ "h": "137",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1162",
+ "y": "2747",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 159.07286500993314,
+ "y": -0.39734577004583116
+ },
+ "p1": {
+ "x": 0.49052267735105126,
+ "y": 0.18476933315403826
+ },
+ "p2": {
+ "x": 0.4014816133383192,
+ "y": 136.98127069141265
+ }
+ }
+ },
+ {
+ "ID": "12957",
+ "typeID": "Arrow",
+ "zOrder": "26",
+ "w": "141",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "774",
+ "y": "2887",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.49999999999999994,
+ "y": 0
+ },
+ "p2": {
+ "x": 141.76187746709184,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "12996",
+ "typeID": "Arrow",
+ "zOrder": "22",
+ "w": "1",
+ "h": "69",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "603",
+ "y": "2336",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432124
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 69.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "13102",
+ "typeID": "Arrow",
+ "zOrder": "20",
+ "w": "1",
+ "h": "69",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "613",
+ "y": "3101",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432124
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 69.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "13103",
+ "typeID": "Arrow",
+ "zOrder": "21",
+ "w": "1",
+ "h": "69",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "463",
+ "y": "3099",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607517,
+ "y": 0.00004147385484432124
+ },
+ "p2": {
+ "x": -0.40400616127988087,
+ "y": 69.45803653961343
+ }
+ }
+ },
+ {
+ "ID": "13104",
+ "typeID": "Arrow",
+ "zOrder": "12",
+ "w": "1",
+ "h": "624",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "773",
+ "y": "2887",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4999999999999999,
+ "y": 0
+ },
+ "p2": {
+ "x": 0.4466977252284323,
+ "y": 623.7469287947233
+ }
+ }
+ },
+ {
+ "ID": "13105",
+ "typeID": "Arrow",
+ "zOrder": "19",
+ "w": "141",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "630",
+ "y": "3172",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.49999999999999994,
+ "y": 0
+ },
+ "p2": {
+ "x": 141.76187746709184,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "13119",
+ "typeID": "Arrow",
+ "zOrder": "18",
+ "w": "160",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "549",
+ "y": "3487",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": -0.08842807118332985,
+ "y": 0.007398065631605277
+ },
+ "p1": {
+ "x": 0.49999999999999983,
+ "y": 0
+ },
+ "p2": {
+ "x": 160.01078040805487,
+ "y": 0.007398065631605277
+ },
+ "stroke": "dotted"
+ }
+ },
+ {
+ "ID": "13120",
+ "typeID": "Arrow",
+ "zOrder": "17",
+ "w": "146",
+ "h": "45",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "552",
+ "y": "3432",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.22951363405400116,
+ "y": 0.11438071376414882
+ },
+ "p1": {
+ "x": 0.4312820512820512,
+ "y": -0.08307692307692233
+ },
+ "p2": {
+ "x": 145.5751226595379,
+ "y": 45.00119753567924
+ }
+ }
+ },
+ {
+ "ID": "13121",
+ "typeID": "Arrow",
+ "zOrder": "16",
+ "w": "149",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "550",
+ "y": "3370",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.33482861742891146,
+ "y": -0.17709120690597047
+ },
+ "p1": {
+ "x": 0.43128205128205127,
+ "y": -0.08307692307692248
+ },
+ "p2": {
+ "x": 149.0045798781025,
+ "y": 99.85391144285586
+ }
+ }
+ },
+ {
+ "ID": "13122",
+ "typeID": "Arrow",
+ "zOrder": "14",
+ "w": "154",
+ "h": "146",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "550",
+ "y": "3319",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.33482861742891146,
+ "y": -0.17709120690597047
+ },
+ "p1": {
+ "x": 0.4312820512820513,
+ "y": -0.0830769230769224
+ },
+ "p2": {
+ "x": 154.72240875236105,
+ "y": 145.9918967407507
+ }
+ }
+ },
+ {
+ "ID": "13123",
+ "typeID": "Arrow",
+ "zOrder": "15",
+ "w": "172",
+ "h": "190",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "552",
+ "y": "3272",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.33482861742891146,
+ "y": -0.17709120690597047
+ },
+ "p1": {
+ "x": 0.4389538660648381,
+ "y": -0.09164921705513132
+ },
+ "p2": {
+ "x": 172.73480981226578,
+ "y": 190.13298230362125
+ }
+ }
+ },
+ {
+ "ID": "13146",
+ "typeID": "Arrow",
+ "zOrder": "13",
+ "w": "242",
+ "h": "82",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "462",
+ "y": "3539",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "stroke": "dotted",
+ "p0": {
+ "x": 0.42941020565677945,
+ "y": 81.2259902529072
+ },
+ "p1": {
+ "x": 0.38345159921218686,
+ "y": 0.1373540341609731
+ },
+ "p2": {
+ "x": 242.01078040805487,
+ "y": 0.007398065631605277
+ }
+ }
+ },
+ {
+ "ID": "13155",
+ "typeID": "Arrow",
+ "zOrder": "11",
+ "w": "141",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "811",
+ "y": "3539",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.49999999999999994,
+ "y": 0
+ },
+ "p2": {
+ "x": 141.76187746709184,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "13174",
+ "typeID": "Arrow",
+ "zOrder": "10",
+ "w": "1",
+ "h": "167",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1048",
+ "y": "3454",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607518,
+ "y": 0.000041473854844320914
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 167.32964661212372
+ }
+ }
+ },
+ {
+ "ID": "13175",
+ "typeID": "Arrow",
+ "zOrder": "9",
+ "w": "286",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1095",
+ "y": "3539",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4999999999999999,
+ "y": 0
+ },
+ "p2": {
+ "x": 286.5882648254353,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "13198",
+ "typeID": "Arrow",
+ "zOrder": "8",
+ "w": "1",
+ "h": "79",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1433",
+ "y": "3461",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "stroke": "dotted",
+ "p0": {
+ "x": -0.40400616127988087,
+ "y": 0.24614635156922304
+ },
+ "p1": {
+ "x": 0.5603752218607518,
+ "y": 0.000041473854844319715
+ },
+ "p2": {
+ "x": -0.40400616127999456,
+ "y": 79.06042188867423
+ }
+ }
+ },
+ {
+ "ID": "13222",
+ "typeID": "Arrow",
+ "zOrder": "7",
+ "w": "1",
+ "h": "280",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1433",
+ "y": "3539",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4999999999999999,
+ "y": 0
+ },
+ "p2": {
+ "x": 0.4466977252284323,
+ "y": 279.78759008067254
+ }
+ }
+ },
+ {
+ "ID": "13225",
+ "typeID": "Arrow",
+ "zOrder": "6",
+ "w": "286",
+ "h": "1",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1053",
+ "y": "3820",
+ "properties": {
+ "curvature": "0",
+ "rightArrow": "false",
+ "leftArrow": "false",
+ "color": "10027263",
+ "p0": {
+ "x": 0.4466977252284323,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4999999999999999,
+ "y": 0
+ },
+ "p2": {
+ "x": 286.5882648254353,
+ "y": 0
+ }
+ }
+ },
+ {
+ "ID": "13228",
+ "typeID": "Arrow",
+ "zOrder": "0",
+ "w": "1",
+ "h": "139",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1019",
+ "y": "4022",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "direction": "bottom",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4438624012549725,
+ "y": -0.00008403832147459167
+ },
+ "p2": {
+ "x": 0,
+ "y": 139
+ },
+ "stroke": "dotted"
+ }
+ },
+ {
+ "ID": "13229",
+ "typeID": "Arrow",
+ "zOrder": "1",
+ "w": "1",
+ "h": "161",
+ "measuredW": "150",
+ "measuredH": "100",
+ "x": "1021",
+ "y": "3834",
+ "properties": {
+ "color": "2848996",
+ "curvature": "-1",
+ "direction": "bottom",
+ "leftArrow": "false",
+ "rightArrow": "false",
+ "p0": {
+ "x": 0,
+ "y": 0
+ },
+ "p1": {
+ "x": 0.4438624012549725,
+ "y": -0.00008403832147459167
+ },
+ "p2": {
+ "x": 0,
+ "y": 161
+ }
+ }
+ },
+ {
+ "ID": "13230",
+ "typeID": "TextArea",
+ "zOrder": "2",
+ "w": "552",
+ "h": "124",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "745",
+ "y": "3953"
+ },
+ {
+ "ID": "13231",
+ "typeID": "Label",
+ "zOrder": "3",
+ "measuredW": "501",
+ "measuredH": "25",
+ "x": "774",
+ "y": "3973",
+ "properties": {
+ "size": "17",
+ "text": "Have a look at the following Web Development related Roadmaps"
+ }
+ },
+ {
+ "ID": "13232",
+ "typeID": "__group__",
+ "zOrder": "4",
+ "measuredW": "229",
+ "measuredH": "44",
+ "w": "229",
+ "h": "44",
+ "x": "1040",
+ "y": "4008",
+ "properties": {
+ "controlName": "ext_link:roadmap.sh/backend"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "229",
+ "h": "44",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "147",
+ "measuredH": "25",
+ "x": "41",
+ "y": "9",
+ "properties": {
+ "size": "17",
+ "text": "Backend Roadmap"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13233",
+ "typeID": "__group__",
+ "zOrder": "5",
+ "measuredW": "252",
+ "measuredH": "44",
+ "w": "252",
+ "h": "44",
+ "x": "774",
+ "y": "4008",
+ "properties": {
+ "controlName": "ext_link:roadmap.sh/frontend"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "252",
+ "h": "44",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "149",
+ "measuredH": "25",
+ "x": "51",
+ "y": "9",
+ "properties": {
+ "size": "17",
+ "text": "Frontend Roadmap"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13235",
+ "typeID": "Canvas",
+ "zOrder": "286",
+ "w": "411",
+ "h": "181",
+ "measuredW": "100",
+ "measuredH": "70",
+ "x": "354",
+ "y": "171"
+ },
+ {
+ "ID": "13236",
+ "typeID": "Label",
+ "zOrder": "287",
+ "measuredW": "106",
+ "measuredH": "28",
+ "x": "382",
+ "y": "196",
+ "properties": {
+ "size": "20",
+ "text": "References"
+ }
+ },
+ {
+ "ID": "13237",
+ "typeID": "__group__",
+ "zOrder": "288",
+ "measuredW": "254",
+ "measuredH": "26",
+ "w": "254",
+ "h": "26",
+ "x": "383",
+ "y": "239",
+ "properties": {
+ "controlName": "ext_link:github.com/jwasham/coding-interview-university"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "Label",
+ "zOrder": "0",
+ "measuredW": "221",
+ "measuredH": "26",
+ "x": "33",
+ "y": "0",
+ "properties": {
+ "size": "18",
+ "text": "Coding Interview University"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Icon",
+ "zOrder": "1",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "color": "16777215",
+ "icon": {
+ "ID": "circle",
+ "size": "small"
+ }
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "Icon",
+ "zOrder": "2",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "icon": {
+ "ID": "check-circle",
+ "size": "small"
+ },
+ "color": "10066329"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13238",
+ "typeID": "__group__",
+ "zOrder": "289",
+ "measuredW": "320",
+ "measuredH": "26",
+ "w": "320",
+ "h": "26",
+ "x": "383",
+ "y": "269",
+ "properties": {
+ "controlName": "ext_link:github.com/ossu/computer-science"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "Label",
+ "zOrder": "0",
+ "measuredW": "287",
+ "measuredH": "26",
+ "x": "33",
+ "y": "0",
+ "properties": {
+ "size": "18",
+ "text": "OpenSource Society University - CS"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Icon",
+ "zOrder": "1",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "color": "16777215",
+ "icon": {
+ "ID": "circle",
+ "size": "small"
+ }
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "Icon",
+ "zOrder": "2",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "icon": {
+ "ID": "check-circle",
+ "size": "small"
+ },
+ "color": "10066329"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13239",
+ "typeID": "__group__",
+ "zOrder": "290",
+ "measuredW": "307",
+ "measuredH": "26",
+ "w": "307",
+ "h": "26",
+ "x": "383",
+ "y": "299",
+ "properties": {
+ "controlName": "ext_link:teachyourselfcs.com"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "Label",
+ "zOrder": "0",
+ "measuredW": "274",
+ "measuredH": "26",
+ "x": "33",
+ "y": "0",
+ "properties": {
+ "size": "18",
+ "text": "Teach Yourself Computer Science"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Icon",
+ "zOrder": "1",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "color": "16777215",
+ "icon": {
+ "ID": "circle",
+ "size": "small"
+ }
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "Icon",
+ "zOrder": "2",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "1",
+ "properties": {
+ "icon": {
+ "ID": "check-circle",
+ "size": "small"
+ },
+ "color": "10066329"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13247",
+ "typeID": "__group__",
+ "zOrder": "291",
+ "measuredW": "352",
+ "measuredH": "54",
+ "w": "352",
+ "h": "54",
+ "x": "1282",
+ "y": "318",
+ "properties": {
+ "controlName": "100-readme"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "352",
+ "h": "54",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "224",
+ "measuredH": "26",
+ "x": "50",
+ "y": "14",
+ "properties": {
+ "size": "18",
+ "text": "Click here / Important Note"
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "__group__",
+ "zOrder": "2",
+ "measuredW": "24",
+ "measuredH": "24",
+ "w": "24",
+ "h": "24",
+ "x": "18",
+ "y": "17",
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "Icon",
+ "zOrder": "0",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16777215",
+ "icon": {
+ "ID": "circle",
+ "size": "small"
+ }
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Icon",
+ "zOrder": "1",
+ "measuredW": "24",
+ "measuredH": "24",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "icon": {
+ "ID": "check-circle",
+ "size": "small"
+ },
+ "color": "10066329"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13248",
+ "typeID": "__group__",
+ "zOrder": "102",
+ "measuredW": "320",
+ "measuredH": "45",
+ "w": "320",
+ "h": "45",
+ "x": "1297",
+ "y": "242",
+ "properties": {
+ "controlName": "ext_link:roadmap.sh"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "Canvas",
+ "zOrder": "0",
+ "w": "320",
+ "h": "45",
+ "measuredW": "100",
+ "measuredH": "70",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "borderColor": "4273622",
+ "color": "4273622"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "105",
+ "measuredH": "28",
+ "x": "141",
+ "y": "8",
+ "properties": {
+ "color": "16777215",
+ "size": "20",
+ "text": "roadmap.sh"
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "Label",
+ "zOrder": "2",
+ "measuredW": "45",
+ "measuredH": "28",
+ "x": "65",
+ "y": "8",
+ "properties": {
+ "color": "16777215",
+ "size": "20",
+ "text": "https"
+ }
+ },
+ {
+ "ID": "3",
+ "typeID": "Label",
+ "zOrder": "3",
+ "measuredW": "5",
+ "measuredH": "28",
+ "x": "113",
+ "y": "8",
+ "properties": {
+ "bold": "true",
+ "color": "16777215",
+ "size": "20",
+ "text": ":"
+ }
+ },
+ {
+ "ID": "4",
+ "typeID": "Label",
+ "zOrder": "4",
+ "measuredW": "10",
+ "measuredH": "28",
+ "x": "120",
+ "y": "9",
+ "properties": {
+ "color": "16777215",
+ "size": "20",
+ "text": "/"
+ }
+ },
+ {
+ "ID": "5",
+ "typeID": "Label",
+ "zOrder": "5",
+ "measuredW": "10",
+ "measuredH": "28",
+ "x": "128",
+ "y": "9",
+ "properties": {
+ "color": "16777215",
+ "size": "20",
+ "text": "/"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13249",
+ "typeID": "__group__",
+ "zOrder": "101",
+ "measuredW": "341",
+ "measuredH": "50",
+ "w": "341",
+ "h": "50",
+ "x": "826",
+ "y": "464",
+ "properties": {
+ "controlName": "101-pick-a-language"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "341",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "136",
+ "measuredH": "26",
+ "x": "103",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Pick a Language"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13250",
+ "typeID": "__group__",
+ "zOrder": "106",
+ "measuredW": "303",
+ "measuredH": "50",
+ "w": "303",
+ "h": "50",
+ "x": "685",
+ "y": "698",
+ "properties": {
+ "controlName": "102-data-structures"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "303",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "127",
+ "measuredH": "26",
+ "x": "88",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Data Structures"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13251",
+ "typeID": "__group__",
+ "zOrder": "125",
+ "measuredW": "251",
+ "measuredH": "50",
+ "w": "251",
+ "h": "50",
+ "x": "1065",
+ "y": "699",
+ "properties": {
+ "controlName": "103-asymptotic-notation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "251",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "162",
+ "measuredH": "26",
+ "x": "45",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Asymptotic Notation"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13252",
+ "typeID": "__group__",
+ "zOrder": "135",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "1009",
+ "y": "1234",
+ "properties": {
+ "controlName": "104-common-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "164",
+ "measuredH": "26",
+ "x": "67",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Common Algorithms"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13253",
+ "typeID": "__group__",
+ "zOrder": "177",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "1009",
+ "y": "1494",
+ "properties": {
+ "controlName": "105-string-search-and-manipulations"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "245",
+ "measuredH": "26",
+ "x": "26",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "String Search & Manipulations"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13254",
+ "typeID": "__group__",
+ "zOrder": "185",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "1218",
+ "y": "1814",
+ "properties": {
+ "controlName": "106-bitwise-operators"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "145",
+ "measuredH": "26",
+ "x": "76",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Bitwise Operators"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13255",
+ "typeID": "__group__",
+ "zOrder": "186",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "1218",
+ "y": "1868",
+ "properties": {
+ "controlName": "107-floating-point-numbers"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "191",
+ "measuredH": "26",
+ "x": "53",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Floating Point Numbers"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13256",
+ "typeID": "__group__",
+ "zOrder": "218",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "1218",
+ "y": "1923",
+ "properties": {
+ "controlName": "108-endianess"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "86",
+ "measuredH": "26",
+ "x": "106",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Endianess"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13257",
+ "typeID": "__group__",
+ "zOrder": "187",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "800",
+ "y": "2095",
+ "properties": {
+ "controlName": "109-character-encodings"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "173",
+ "measuredH": "26",
+ "x": "62",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Character Encodings"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13258",
+ "typeID": "__group__",
+ "zOrder": "55",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "798",
+ "y": "2212",
+ "properties": {
+ "controlName": "110-common-uml-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "200",
+ "measuredH": "26",
+ "x": "49",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Common UML Diagrams"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13259",
+ "typeID": "__group__",
+ "zOrder": "192",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "382",
+ "y": "2214",
+ "properties": {
+ "controlName": "111-design-patterns"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "130",
+ "measuredH": "26",
+ "x": "84",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Design Patterns"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13260",
+ "typeID": "__group__",
+ "zOrder": "239",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "382",
+ "y": "2310",
+ "properties": {
+ "controlName": "112-basic-math-skills"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "137",
+ "measuredH": "26",
+ "x": "80",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Basic Math Skills"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13261",
+ "typeID": "__group__",
+ "zOrder": "200",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "800",
+ "y": "2318",
+ "properties": {
+ "controlName": "113-complexity-classes"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "157",
+ "measuredH": "26",
+ "x": "70",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Complexity Classes"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13262",
+ "typeID": "__group__",
+ "zOrder": "211",
+ "measuredW": "262",
+ "measuredH": "50",
+ "w": "262",
+ "h": "50",
+ "x": "1292",
+ "y": "2457",
+ "properties": {
+ "controlName": "114-tries"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "262",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "41",
+ "measuredH": "26",
+ "x": "110",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Tries"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13263",
+ "typeID": "__group__",
+ "zOrder": "212",
+ "measuredW": "290",
+ "measuredH": "50",
+ "w": "290",
+ "h": "50",
+ "x": "1294",
+ "y": "2710",
+ "properties": {
+ "controlName": "115-balanced-search-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "290",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "190",
+ "measuredH": "26",
+ "x": "54",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Balanced Search Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13264",
+ "typeID": "__group__",
+ "zOrder": "222",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "892",
+ "y": "2863",
+ "properties": {
+ "controlName": "116-system-design"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "121",
+ "measuredH": "26",
+ "x": "88",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "System Design"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13265",
+ "typeID": "__group__",
+ "zOrder": "240",
+ "measuredW": "298",
+ "measuredH": "50",
+ "w": "298",
+ "h": "50",
+ "x": "381",
+ "y": "3148",
+ "properties": {
+ "controlName": "117-databases"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "88",
+ "measuredH": "26",
+ "x": "105",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Databases"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13266",
+ "typeID": "__group__",
+ "zOrder": "269",
+ "measuredW": "156",
+ "measuredH": "50",
+ "w": "156",
+ "h": "50",
+ "x": "680",
+ "y": "3449",
+ "properties": {
+ "controlName": "118-networking"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "156",
+ "h": "50",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "92",
+ "measuredH": "26",
+ "x": "32",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Networking"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13267",
+ "typeID": "__group__",
+ "zOrder": "257",
+ "measuredW": "157",
+ "measuredH": "52",
+ "w": "157",
+ "h": "52",
+ "x": "679",
+ "y": "3514",
+ "properties": {
+ "controlName": "119-security"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "157",
+ "h": "52",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "66",
+ "measuredH": "26",
+ "x": "46",
+ "y": "13",
+ "properties": {
+ "text": "Security",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13268",
+ "typeID": "__group__",
+ "zOrder": "270",
+ "measuredW": "240",
+ "measuredH": "52",
+ "w": "240",
+ "h": "52",
+ "x": "891",
+ "y": "3514",
+ "properties": {
+ "controlName": "120-how-computers-work"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "240",
+ "h": "52",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "176",
+ "measuredH": "26",
+ "x": "32",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "How Computers Work"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13269",
+ "typeID": "__group__",
+ "zOrder": "276",
+ "measuredW": "257",
+ "measuredH": "52",
+ "w": "257",
+ "h": "52",
+ "x": "1292",
+ "y": "3514",
+ "properties": {
+ "controlName": "121-processes-and-threads"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "257",
+ "h": "52",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "192",
+ "measuredH": "26",
+ "x": "33",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "Processes and Threads"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13270",
+ "typeID": "__group__",
+ "zOrder": "284",
+ "measuredW": "257",
+ "measuredH": "52",
+ "w": "257",
+ "h": "52",
+ "x": "1292",
+ "y": "3795",
+ "properties": {
+ "controlName": "122-kd-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "257",
+ "h": "52",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "82",
+ "measuredH": "26",
+ "x": "88",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "K-D Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13271",
+ "typeID": "__group__",
+ "zOrder": "285",
+ "measuredW": "257",
+ "measuredH": "52",
+ "w": "257",
+ "h": "52",
+ "x": "892",
+ "y": "3795",
+ "properties": {
+ "controlName": "123-skip-lists"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "257",
+ "h": "52",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16776960"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "78",
+ "measuredH": "26",
+ "x": "90",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "Skip Lists"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13272",
+ "typeID": "__group__",
+ "zOrder": "89",
+ "measuredW": "157",
+ "measuredH": "47",
+ "w": "157",
+ "h": "47",
+ "x": "545",
+ "y": "410",
+ "properties": {
+ "controlName": "100-pick-a-language:c-plus-plus"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "157",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "37",
+ "measuredH": "26",
+ "x": "60",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "C++"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13273",
+ "typeID": "__group__",
+ "zOrder": "91",
+ "measuredW": "157",
+ "measuredH": "47",
+ "w": "157",
+ "h": "47",
+ "x": "545",
+ "y": "462",
+ "properties": {
+ "controlName": "101-pick-a-language:c"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "157",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "13",
+ "measuredH": "26",
+ "x": "72",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "C"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13274",
+ "typeID": "__group__",
+ "zOrder": "88",
+ "measuredW": "157",
+ "measuredH": "47",
+ "w": "157",
+ "h": "47",
+ "x": "545",
+ "y": "513",
+ "properties": {
+ "controlName": "102-pick-a-language:java"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "157",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "39",
+ "measuredH": "26",
+ "x": "59",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Java"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13275",
+ "typeID": "__group__",
+ "zOrder": "104",
+ "measuredW": "164",
+ "measuredH": "47",
+ "w": "164",
+ "h": "47",
+ "x": "1312",
+ "y": "407",
+ "properties": {
+ "controlName": "103-pick-a-language:python"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "164",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "56",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Python"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13276",
+ "typeID": "__group__",
+ "zOrder": "103",
+ "measuredW": "164",
+ "measuredH": "47",
+ "w": "164",
+ "h": "47",
+ "x": "1312",
+ "y": "458",
+ "properties": {
+ "controlName": "104-pick-a-language:go"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "164",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "24",
+ "measuredH": "26",
+ "x": "70",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Go"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13277",
+ "typeID": "__group__",
+ "zOrder": "105",
+ "measuredW": "164",
+ "measuredH": "47",
+ "w": "164",
+ "h": "47",
+ "x": "1312",
+ "y": "510",
+ "properties": {
+ "controlName": "105-pick-a-language:c-sharp"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "164",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "25",
+ "measuredH": "26",
+ "x": "69",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "C#"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13278",
+ "typeID": "__group__",
+ "zOrder": "108",
+ "measuredW": "164",
+ "measuredH": "47",
+ "w": "164",
+ "h": "47",
+ "x": "1312",
+ "y": "562",
+ "properties": {
+ "controlName": "106-pick-a-language:rust"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "164",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "38",
+ "measuredH": "26",
+ "x": "63",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Rust"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13279",
+ "typeID": "__group__",
+ "zOrder": "107",
+ "measuredW": "120",
+ "measuredH": "47",
+ "w": "120",
+ "h": "47",
+ "x": "716",
+ "y": "595",
+ "properties": {
+ "controlName": "100-data-structures:array"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "120",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "42",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Array"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13280",
+ "typeID": "__group__",
+ "zOrder": "109",
+ "measuredW": "190",
+ "measuredH": "47",
+ "w": "190",
+ "h": "47",
+ "x": "399",
+ "y": "600",
+ "properties": {
+ "controlName": "101-data-structures:linked-list"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "190",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "113",
+ "measuredW": "89",
+ "measuredH": "26",
+ "x": "38",
+ "y": "11",
+ "properties": {
+ "text": "Linked List",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13281",
+ "typeID": "__group__",
+ "zOrder": "110",
+ "measuredW": "190",
+ "measuredH": "47",
+ "w": "190",
+ "h": "47",
+ "x": "399",
+ "y": "652",
+ "properties": {
+ "controlName": "102-data-structures:stack"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "190",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "57",
+ "measuredW": "45",
+ "measuredH": "26",
+ "x": "66",
+ "y": "11",
+ "properties": {
+ "text": "Stack",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13282",
+ "typeID": "__group__",
+ "zOrder": "111",
+ "measuredW": "190",
+ "measuredH": "47",
+ "w": "190",
+ "h": "47",
+ "x": "399",
+ "y": "704",
+ "properties": {
+ "controlName": "103-data-structures:queue"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "190",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "71",
+ "measuredW": "56",
+ "measuredH": "26",
+ "x": "59",
+ "y": "11",
+ "properties": {
+ "text": "Queue",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13283",
+ "typeID": "__group__",
+ "zOrder": "112",
+ "measuredW": "190",
+ "measuredH": "47",
+ "w": "190",
+ "h": "47",
+ "x": "399",
+ "y": "756",
+ "properties": {
+ "controlName": "104-data-structures:hash-table"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "190",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "116",
+ "measuredW": "91",
+ "measuredH": "26",
+ "x": "37",
+ "y": "11",
+ "properties": {
+ "text": "Hash Table",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13284",
+ "typeID": "__group__",
+ "zOrder": "114",
+ "measuredW": "190",
+ "measuredH": "47",
+ "w": "190",
+ "h": "47",
+ "x": "399",
+ "y": "808",
+ "properties": {
+ "controlName": "105-data-structures:tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "190",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "48",
+ "measuredW": "38",
+ "measuredH": "26",
+ "x": "71",
+ "y": "11",
+ "properties": {
+ "text": "Tree",
+ "size": "18"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13285",
+ "typeID": "__group__",
+ "zOrder": "113",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "685",
+ "y": "798",
+ "properties": {
+ "controlName": "106-data-structures:graph"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "51",
+ "measuredH": "26",
+ "x": "62",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Graph"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13286",
+ "typeID": "__group__",
+ "zOrder": "115",
+ "measuredW": "105",
+ "measuredH": "47",
+ "w": "105",
+ "h": "47",
+ "x": "882",
+ "y": "796",
+ "properties": {
+ "controlName": "107-data-structures:heap"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "105",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "45",
+ "measuredH": "26",
+ "x": "30",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Heap"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13292",
+ "typeID": "__group__",
+ "zOrder": "116",
+ "measuredW": "230",
+ "measuredH": "47",
+ "w": "230",
+ "h": "47",
+ "x": "376",
+ "y": "899",
+ "properties": {
+ "controlName": "100-data-structures:tree:binary-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "230",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "93",
+ "measuredH": "26",
+ "x": "68",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Binary Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13293",
+ "typeID": "__group__",
+ "zOrder": "61",
+ "measuredW": "227",
+ "measuredH": "153",
+ "w": "227",
+ "h": "153",
+ "x": "653",
+ "y": "1040",
+ "properties": {
+ "controlName": "103-data-structures:graph:graph-representation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "173",
+ "h": "138",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "27",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "127",
+ "measuredH": "26",
+ "x": "50",
+ "y": "20",
+ "properties": {
+ "size": "18",
+ "text": "Representation"
+ }
+ },
+ {
+ "ID": "2",
+ "typeID": "TextArea",
+ "zOrder": "2",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "54",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "3",
+ "typeID": "Label",
+ "zOrder": "3",
+ "measuredW": "138",
+ "measuredH": "26",
+ "x": "45",
+ "y": "65",
+ "properties": {
+ "size": "18",
+ "text": "Adjacency Matrix"
+ }
+ },
+ {
+ "ID": "4",
+ "typeID": "TextArea",
+ "zOrder": "4",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "106",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "5",
+ "typeID": "Label",
+ "zOrder": "5",
+ "measuredW": "117",
+ "measuredH": "26",
+ "x": "55",
+ "y": "117",
+ "properties": {
+ "size": "18",
+ "text": "Adjacency List"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13294",
+ "typeID": "__group__",
+ "zOrder": "126",
+ "measuredW": "192",
+ "measuredH": "47",
+ "w": "192",
+ "h": "47",
+ "x": "1417",
+ "y": "646",
+ "properties": {
+ "controlName": "100-asymptotic-notation:big-o-notation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "192",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "120",
+ "measuredH": "26",
+ "x": "36",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Big O Notation"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13295",
+ "typeID": "__group__",
+ "zOrder": "127",
+ "measuredW": "192",
+ "measuredH": "47",
+ "w": "192",
+ "h": "47",
+ "x": "1417",
+ "y": "697",
+ "properties": {
+ "controlName": "101-asymptotic-notation:big-theta-notation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "192",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "119",
+ "measuredH": "26",
+ "x": "36",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Big-θ Notation"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13297",
+ "typeID": "__group__",
+ "zOrder": "128",
+ "measuredW": "192",
+ "measuredH": "47",
+ "w": "192",
+ "h": "47",
+ "x": "1417",
+ "y": "748",
+ "properties": {
+ "controlName": "102-asymptotic-notation:big-omega-notation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "192",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "117",
+ "measuredH": "26",
+ "x": "37",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Big-Ω Notation"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13298",
+ "typeID": "__group__",
+ "zOrder": "71",
+ "measuredW": "193",
+ "measuredH": "364",
+ "w": "193",
+ "h": "364",
+ "x": "1363",
+ "y": "822",
+ "properties": {
+ "controlName": "103-asymptotic-notation:common-runtimes"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "193",
+ "h": "364",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "156",
+ "measuredH": "26",
+ "x": "20",
+ "y": "14",
+ "properties": {
+ "size": "18",
+ "text": "Common Runtimes"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13299",
+ "typeID": "__group__",
+ "zOrder": "129",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "872",
+ "properties": {
+ "controlName": "100-asymptotic-notation:common-runtimes:constant"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "74",
+ "measuredH": "26",
+ "x": "65",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Constant"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13300",
+ "typeID": "__group__",
+ "zOrder": "130",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "922",
+ "properties": {
+ "controlName": "101-asymptotic-notation:common-runtimes:logarithmic"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "96",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Logarithmic"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13301",
+ "typeID": "__group__",
+ "zOrder": "131",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "973",
+ "properties": {
+ "controlName": "102-asymptotic-notation:common-runtimes:linear"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "53",
+ "measuredH": "26",
+ "x": "75",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Linear"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13302",
+ "typeID": "__group__",
+ "zOrder": "132",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "1024",
+ "properties": {
+ "controlName": "103-asymptotic-notation:common-runtimes:polynomial"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "87",
+ "measuredH": "26",
+ "x": "58",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Polynomial"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13303",
+ "typeID": "__group__",
+ "zOrder": "133",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "1075",
+ "properties": {
+ "controlName": "104-asymptotic-notation:common-runtimes:exponential"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "96",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Exponential"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13304",
+ "typeID": "__group__",
+ "zOrder": "134",
+ "measuredW": "203",
+ "measuredH": "47",
+ "w": "203",
+ "h": "47",
+ "x": "1382",
+ "y": "1125",
+ "properties": {
+ "controlName": "105-asymptotic-notation:common-runtimes:factorial"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "203",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "71",
+ "measuredH": "26",
+ "x": "66",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Factorial"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13305",
+ "typeID": "__group__",
+ "zOrder": "142",
+ "measuredW": "109",
+ "measuredH": "369",
+ "w": "109",
+ "h": "369",
+ "x": "1064",
+ "y": "835",
+ "properties": {
+ "controlName": "100-common-algorithms:sorting-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "109",
+ "h": "369",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "59",
+ "measuredH": "26",
+ "x": "25",
+ "y": "328",
+ "properties": {
+ "size": "18",
+ "text": "Sorting"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13306",
+ "typeID": "__group__",
+ "zOrder": "149",
+ "measuredW": "125",
+ "measuredH": "309",
+ "w": "125",
+ "h": "309",
+ "x": "697",
+ "y": "1234",
+ "properties": {
+ "controlName": "101-common-algorithms:tree-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "125",
+ "h": "309",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "38",
+ "measuredH": "26",
+ "x": "44",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13307",
+ "typeID": "__group__",
+ "zOrder": "155",
+ "measuredW": "125",
+ "measuredH": "309",
+ "w": "125",
+ "h": "309",
+ "x": "434",
+ "y": "1235",
+ "properties": {
+ "controlName": "102-common-algorithms:graph-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "125",
+ "h": "309",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "51",
+ "measuredH": "26",
+ "x": "37",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Graph"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13308",
+ "typeID": "__group__",
+ "zOrder": "165",
+ "measuredW": "180",
+ "measuredH": "309",
+ "w": "180",
+ "h": "309",
+ "x": "407",
+ "y": "1589",
+ "properties": {
+ "controlName": "104-common-algorithms:greedy-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "180",
+ "h": "309",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "149",
+ "measuredH": "26",
+ "x": "15",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Greedy Algorithms"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13309",
+ "typeID": "__group__",
+ "zOrder": "171",
+ "measuredW": "180",
+ "measuredH": "236",
+ "w": "180",
+ "h": "236",
+ "x": "683",
+ "y": "1589",
+ "properties": {
+ "controlName": "105-common-algorithms:back-tracking-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "180",
+ "h": "236",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "115",
+ "measuredH": "26",
+ "x": "32",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Back Tracking"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13310",
+ "typeID": "__group__",
+ "zOrder": "176",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "654",
+ "y": "1851",
+ "properties": {
+ "controlName": "106-common-algorithms:robin-karp-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "175",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Rabin-Karp Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13311",
+ "typeID": "__group__",
+ "zOrder": "139",
+ "measuredW": "122",
+ "measuredH": "157",
+ "w": "122",
+ "h": "157",
+ "x": "1363",
+ "y": "1207",
+ "properties": {
+ "controlName": "107-common-algorithms:recursion"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "122",
+ "h": "157",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "84",
+ "measuredH": "26",
+ "x": "19",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Recursion"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13312",
+ "typeID": "__group__",
+ "zOrder": "136",
+ "measuredW": "125",
+ "measuredH": "159",
+ "w": "125",
+ "h": "159",
+ "x": "1362",
+ "y": "1388",
+ "properties": {
+ "controlName": "108-common-algorithms:search-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "125",
+ "h": "159",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "83",
+ "measuredH": "26",
+ "x": "21",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "Searching"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13313",
+ "typeID": "__group__",
+ "zOrder": "161",
+ "measuredW": "125",
+ "measuredH": "215",
+ "w": "125",
+ "h": "215",
+ "x": "1363",
+ "y": "1570",
+ "properties": {
+ "controlName": "109-common-algorithms:cache-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "125",
+ "h": "215",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "63",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Caches"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13314",
+ "typeID": "__group__",
+ "zOrder": "144",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "850",
+ "properties": {
+ "controlName": "100-common-algorithms:sorting-algorithms:bubble-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "96",
+ "measuredH": "26",
+ "x": "48",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Bubble Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13315",
+ "typeID": "__group__",
+ "zOrder": "143",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "901",
+ "properties": {
+ "controlName": "101-common-algorithms:sorting-algorithms:selection-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "114",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Selection Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13316",
+ "typeID": "__group__",
+ "zOrder": "145",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "952",
+ "properties": {
+ "controlName": "102-common-algorithms:sorting-algorithms:insertion-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "110",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Insertion Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13317",
+ "typeID": "__group__",
+ "zOrder": "146",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "1003",
+ "properties": {
+ "controlName": "103-common-algorithms:sorting-algorithms:heap-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "83",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Heap Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13318",
+ "typeID": "__group__",
+ "zOrder": "147",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "1054",
+ "properties": {
+ "controlName": "104-common-algorithms:sorting-algorithms:quick-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "85",
+ "measuredH": "26",
+ "x": "53",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Quick Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13319",
+ "typeID": "__group__",
+ "zOrder": "148",
+ "measuredW": "191",
+ "measuredH": "47",
+ "w": "191",
+ "h": "47",
+ "x": "1023",
+ "y": "1106",
+ "properties": {
+ "controlName": "105-common-algorithms:sorting-algorithms:merge-sort"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "191",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "92",
+ "measuredH": "26",
+ "x": "50",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Merge Sort"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13320",
+ "typeID": "__group__",
+ "zOrder": "151",
+ "measuredW": "213",
+ "measuredH": "47",
+ "w": "213",
+ "h": "47",
+ "x": "653",
+ "y": "1280",
+ "properties": {
+ "controlName": "100-common-algorithms:tree-algorithms:pre-order-traversal"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "213",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "162",
+ "measuredH": "26",
+ "x": "26",
+ "y": "12",
+ "properties": {
+ "size": "18",
+ "text": "Pre-Order Traversal"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13321",
+ "typeID": "__group__",
+ "zOrder": "150",
+ "measuredW": "213",
+ "measuredH": "47",
+ "w": "213",
+ "h": "47",
+ "x": "653",
+ "y": "1331",
+ "properties": {
+ "controlName": "101-common-algorithms:tree-algorithms:in-order-traversal"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "213",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "149",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "In-Order Traversal"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13322",
+ "typeID": "__group__",
+ "zOrder": "152",
+ "measuredW": "213",
+ "measuredH": "47",
+ "w": "213",
+ "h": "47",
+ "x": "653",
+ "y": "1382",
+ "properties": {
+ "controlName": "102-common-algorithms:tree-algorithms:post-order-traversal"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "213",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "167",
+ "measuredH": "26",
+ "x": "23",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Post Order Traversal"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13323",
+ "typeID": "__group__",
+ "zOrder": "153",
+ "measuredW": "213",
+ "measuredH": "47",
+ "w": "213",
+ "h": "47",
+ "x": "653",
+ "y": "1433",
+ "properties": {
+ "controlName": "103-common-algorithms:tree-algorithms:breadth-first-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "213",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "168",
+ "measuredH": "26",
+ "x": "23",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Breadth First Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13324",
+ "typeID": "__group__",
+ "zOrder": "154",
+ "measuredW": "213",
+ "measuredH": "47",
+ "w": "213",
+ "h": "47",
+ "x": "653",
+ "y": "1484",
+ "properties": {
+ "controlName": "104-common-algorithms:tree-algorithms:depth-first-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "213",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "152",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Depth First Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13325",
+ "typeID": "__group__",
+ "zOrder": "157",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1281",
+ "properties": {
+ "controlName": "100-common-algorithms:graph-algorithms:breadth-first-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "168",
+ "measuredH": "26",
+ "x": "35",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Breadth First Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13326",
+ "typeID": "__group__",
+ "zOrder": "156",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1332",
+ "properties": {
+ "controlName": "101-common-algorithms:graph-algorithms:depth-first-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "152",
+ "measuredH": "26",
+ "x": "43",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Depth First Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13327",
+ "typeID": "__group__",
+ "zOrder": "158",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1383",
+ "properties": {
+ "controlName": "102-common-algorithms:graph-algorithms:bellman-fords-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "202",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Bellman Ford's Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13328",
+ "typeID": "__group__",
+ "zOrder": "159",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1434",
+ "properties": {
+ "controlName": "103-common-algorithms:graph-algorithms:dijkstras-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Dijkstra's Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13329",
+ "typeID": "__group__",
+ "zOrder": "160",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1485",
+ "properties": {
+ "controlName": "104-common-algorithms:graph-algorithms:a-star-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "101",
+ "measuredH": "26",
+ "x": "68",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "A* Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13330",
+ "typeID": "__group__",
+ "zOrder": "167",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1635",
+ "properties": {
+ "controlName": "100-common-algorithms:greedy-algorithms:dijkstras-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Dijkstra's Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13331",
+ "typeID": "__group__",
+ "zOrder": "166",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1686",
+ "properties": {
+ "controlName": "101-common-algorithms:greedy-algorithms:huffman-coding"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "132",
+ "measuredH": "26",
+ "x": "53",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Huffman Coding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13332",
+ "typeID": "__group__",
+ "zOrder": "168",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1737",
+ "properties": {
+ "controlName": "102-common-algorithms:greedy-algorithms:kruskas-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "153",
+ "measuredH": "26",
+ "x": "42",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Kruskal's Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13333",
+ "typeID": "__group__",
+ "zOrder": "169",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1788",
+ "properties": {
+ "controlName": "103-common-algorithms:greedy-algorithms:ford-fulkerson-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "205",
+ "measuredH": "26",
+ "x": "16",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Ford-Fulkerson Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13334",
+ "typeID": "__group__",
+ "zOrder": "170",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "378",
+ "y": "1839",
+ "properties": {
+ "controlName": "104-common-algorithms:greedy-algorithms:prims-algorithm"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "130",
+ "measuredH": "26",
+ "x": "54",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Prim's Algorithm"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13335",
+ "typeID": "__group__",
+ "zOrder": "173",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "654",
+ "y": "1635",
+ "properties": {
+ "controlName": "100-common-algorithms:back-tracking-algorithms:finding-hamiltonian-paths"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "212",
+ "measuredH": "26",
+ "x": "13",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Finding Hamiltonian Paths"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13336",
+ "typeID": "__group__",
+ "zOrder": "172",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "654",
+ "y": "1686",
+ "properties": {
+ "controlName": "101-common-algorithms:back-tracking-algorithms:solving-n-queen-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "210",
+ "measuredH": "26",
+ "x": "15",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Solving N Queen Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13337",
+ "typeID": "__group__",
+ "zOrder": "174",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "654",
+ "y": "1737",
+ "properties": {
+ "controlName": "102-common-algorithms:back-tracking-algorithms:maze-solving-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "180",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Maze Solving Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13338",
+ "typeID": "__group__",
+ "zOrder": "175",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "654",
+ "y": "1788",
+ "properties": {
+ "controlName": "103-common-algorithms:back-tracking-algorithms:knights-tour-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "212",
+ "measuredH": "26",
+ "x": "16",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "The Knight's Tour Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13339",
+ "typeID": "__group__",
+ "zOrder": "141",
+ "measuredW": "197",
+ "measuredH": "47",
+ "w": "197",
+ "h": "47",
+ "x": "1380",
+ "y": "1252",
+ "properties": {
+ "controlName": "100-common-algorithms:recursion:tail-recursion"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "197",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "116",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Tail Recursion"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13340",
+ "typeID": "__group__",
+ "zOrder": "140",
+ "measuredW": "197",
+ "measuredH": "47",
+ "w": "197",
+ "h": "47",
+ "x": "1380",
+ "y": "1303",
+ "properties": {
+ "controlName": "101-common-algorithms:recursion:non-tail-recursion"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "197",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "21",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Non-Tail Recursion"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13341",
+ "typeID": "__group__",
+ "zOrder": "138",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "1375",
+ "y": "1434",
+ "properties": {
+ "controlName": "100-common-algorithms:search-algorithms:binary-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "113",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Binary Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13342",
+ "typeID": "__group__",
+ "zOrder": "137",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "1375",
+ "y": "1485",
+ "properties": {
+ "controlName": "101-common-algorithms:search-algorithms:linear-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "114",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Linear Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13343",
+ "typeID": "__group__",
+ "zOrder": "163",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "1377",
+ "y": "1618",
+ "properties": {
+ "controlName": "100-common-algorithms:cache-algorithms:lru-cache"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "95",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "LRU Cache"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13344",
+ "typeID": "__group__",
+ "zOrder": "162",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "1377",
+ "y": "1669",
+ "properties": {
+ "controlName": "101-common-algorithms:cache-algorithms:lfu-cache"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "93",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "LFU Cache"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13345",
+ "typeID": "__group__",
+ "zOrder": "164",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "1377",
+ "y": "1720",
+ "properties": {
+ "controlName": "102-common-algorithms:cache-algorithms:mfu-cache"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "98",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "MFU Cache"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13346",
+ "typeID": "__group__",
+ "zOrder": "178",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1411",
+ "properties": {
+ "controlName": "100-string-search-and-manipulations:suffix-arrays"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "98",
+ "measuredH": "26",
+ "x": "65",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Suffix Arrays"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13347",
+ "typeID": "__group__",
+ "zOrder": "179",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1359",
+ "properties": {
+ "controlName": "101-string-search-and-manipulations:search-pattern-in-text"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "179",
+ "measuredH": "26",
+ "x": "24",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Search Pattern in Text"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13348",
+ "typeID": "__group__",
+ "zOrder": "180",
+ "measuredW": "179",
+ "measuredH": "263",
+ "w": "179",
+ "h": "263",
+ "x": "965",
+ "y": "1588",
+ "properties": {
+ "controlName": "102-string-search-and-manipulations:substring-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "179",
+ "h": "263",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0"
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "139",
+ "measuredH": "26",
+ "x": "20",
+ "y": "13",
+ "properties": {
+ "size": "18",
+ "text": "Substring Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13349",
+ "typeID": "__group__",
+ "zOrder": "181",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1638",
+ "properties": {
+ "controlName": "100-string-search-and-manipulations:substring-search:brute-force-search"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "159",
+ "measuredH": "26",
+ "x": "34",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Brute Force Search"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13350",
+ "typeID": "__group__",
+ "zOrder": "182",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1689",
+ "properties": {
+ "controlName": "101-string-search-and-manipulations:substring-search:knuth-morris-pratt"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "150",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Knuth-Morris Pratt"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13351",
+ "typeID": "__group__",
+ "zOrder": "183",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1740",
+ "properties": {
+ "controlName": "102-string-search-and-manipulations:substring-search:boyer-moore"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "106",
+ "measuredH": "26",
+ "x": "61",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Boyer-Moore"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13352",
+ "typeID": "__group__",
+ "zOrder": "184",
+ "measuredW": "227",
+ "measuredH": "47",
+ "w": "227",
+ "h": "47",
+ "x": "941",
+ "y": "1791",
+ "properties": {
+ "controlName": "103-string-search-and-manipulations:substring-search:rabin-karp"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "227",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "93",
+ "measuredH": "26",
+ "x": "67",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Rabin-Karp"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13353",
+ "typeID": "__group__",
+ "zOrder": "219",
+ "measuredW": "181",
+ "measuredH": "47",
+ "w": "181",
+ "h": "47",
+ "x": "939",
+ "y": "1876",
+ "properties": {
+ "controlName": "100-endianess:big-endian"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "181",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "89",
+ "measuredH": "26",
+ "x": "46",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Big Endian"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13354",
+ "typeID": "__group__",
+ "zOrder": "221",
+ "measuredW": "181",
+ "measuredH": "47",
+ "w": "181",
+ "h": "47",
+ "x": "939",
+ "y": "1928",
+ "properties": {
+ "controlName": "101-endianess:little-endian"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "181",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "102",
+ "measuredH": "26",
+ "x": "40",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Little Endian"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13355",
+ "typeID": "__group__",
+ "zOrder": "59",
+ "measuredW": "105",
+ "measuredH": "47",
+ "w": "105",
+ "h": "47",
+ "x": "836",
+ "y": "2014",
+ "properties": {
+ "controlName": "100-character-encodings:unicode"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "105",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "69",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Unicode"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13356",
+ "typeID": "__group__",
+ "zOrder": "58",
+ "measuredW": "105",
+ "measuredH": "47",
+ "w": "105",
+ "h": "47",
+ "x": "956",
+ "y": "2014",
+ "properties": {
+ "controlName": "101-character-encodings:ascii"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "105",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "46",
+ "measuredH": "26",
+ "x": "30",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "ASCII"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13359",
+ "typeID": "__group__",
+ "zOrder": "188",
+ "measuredW": "237",
+ "measuredH": "47",
+ "w": "237",
+ "h": "47",
+ "x": "1299",
+ "y": "2178",
+ "properties": {
+ "controlName": "102-common-uml-diagrams:usecase-diagrams"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "237",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "41",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Usecase Diagrams"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13360",
+ "typeID": "__group__",
+ "zOrder": "195",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "382",
+ "y": "1929",
+ "properties": {
+ "controlName": "100-design-patterns:gof-design-patterns"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "170",
+ "measuredH": "26",
+ "x": "34",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "GoF Design Patterns"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13361",
+ "typeID": "__group__",
+ "zOrder": "196",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "382",
+ "y": "1979",
+ "properties": {
+ "controlName": "101-design-patterns:architectural-patterns"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "175",
+ "measuredH": "26",
+ "x": "31",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Architectural Patterns"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13362",
+ "typeID": "__group__",
+ "zOrder": "197",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "382",
+ "y": "2029",
+ "properties": {
+ "controlName": "102-design-patterns:dependency-injection"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "178",
+ "measuredH": "26",
+ "x": "30",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Dependency Injection"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13363",
+ "typeID": "__group__",
+ "zOrder": "198",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "382",
+ "y": "2079",
+ "properties": {
+ "controlName": "103-design-patterns:null-object-pattern"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "154",
+ "measuredH": "26",
+ "x": "42",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Null Object Pattern"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13364",
+ "typeID": "__group__",
+ "zOrder": "199",
+ "measuredW": "238",
+ "measuredH": "47",
+ "w": "238",
+ "h": "47",
+ "x": "382",
+ "y": "2129",
+ "properties": {
+ "controlName": "104-design-patterns:type-object-pattern"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "238",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "161",
+ "measuredH": "26",
+ "x": "38",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Type Object Pattern"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13365",
+ "typeID": "__group__",
+ "zOrder": "210",
+ "measuredW": "133",
+ "measuredH": "47",
+ "w": "133",
+ "h": "47",
+ "x": "382",
+ "y": "2386",
+ "properties": {
+ "controlName": "100-basic-math-skills:probability"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "133",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "85",
+ "measuredH": "26",
+ "x": "24",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Probability"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13366",
+ "typeID": "__group__",
+ "zOrder": "209",
+ "measuredW": "156",
+ "measuredH": "47",
+ "w": "156",
+ "h": "47",
+ "x": "523",
+ "y": "2386",
+ "properties": {
+ "controlName": "101-basic-math-skills:combinatorics"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "156",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "118",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Combinatorics"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13367",
+ "typeID": "__group__",
+ "zOrder": "202",
+ "measuredW": "50",
+ "measuredH": "47",
+ "w": "50",
+ "h": "47",
+ "x": "800",
+ "y": "2406",
+ "properties": {
+ "controlName": "100-complexity-classes:p"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "50",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "12",
+ "measuredH": "26",
+ "x": "19",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "P"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13368",
+ "typeID": "__group__",
+ "zOrder": "203",
+ "measuredW": "53",
+ "measuredH": "47",
+ "w": "53",
+ "h": "47",
+ "x": "856",
+ "y": "2406",
+ "properties": {
+ "controlName": "101-complexity-classes:np"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "53",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "25",
+ "measuredH": "26",
+ "x": "14",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "NP"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13369",
+ "typeID": "__group__",
+ "zOrder": "204",
+ "measuredW": "78",
+ "measuredH": "47",
+ "w": "78",
+ "h": "47",
+ "x": "915",
+ "y": "2406",
+ "properties": {
+ "controlName": "102-complexity-classes:co-np"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "78",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "55",
+ "measuredH": "26",
+ "x": "11",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Co-NP"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13370",
+ "typeID": "__group__",
+ "zOrder": "205",
+ "measuredW": "98",
+ "measuredH": "47",
+ "w": "98",
+ "h": "47",
+ "x": "1000",
+ "y": "2406",
+ "properties": {
+ "controlName": "103-complexity-classes:np-hard"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "98",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "70",
+ "measuredH": "26",
+ "x": "14",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "NP Hard"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13371",
+ "typeID": "__group__",
+ "zOrder": "201",
+ "measuredW": "159",
+ "measuredH": "47",
+ "w": "159",
+ "h": "47",
+ "x": "800",
+ "y": "2460",
+ "properties": {
+ "controlName": "104-complexity-classes:np-complete"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "159",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "109",
+ "measuredH": "26",
+ "x": "25",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "NP Complete"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13372",
+ "typeID": "__group__",
+ "zOrder": "206",
+ "measuredW": "129",
+ "measuredH": "47",
+ "w": "129",
+ "h": "47",
+ "x": "969",
+ "y": "2460",
+ "properties": {
+ "controlName": "105-complexity-classes:p-equals-np"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "129",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "59",
+ "measuredH": "26",
+ "x": "35",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "P = NP"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13373",
+ "typeID": "__group__",
+ "zOrder": "207",
+ "measuredW": "272",
+ "measuredH": "47",
+ "w": "272",
+ "h": "47",
+ "x": "802",
+ "y": "2525",
+ "properties": {
+ "controlName": "100-complexity-classes:np-complete:travelling-salesman-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "272",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "235",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Travelling Salesman Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13374",
+ "typeID": "__group__",
+ "zOrder": "50",
+ "measuredW": "272",
+ "measuredH": "47",
+ "w": "272",
+ "h": "47",
+ "x": "802",
+ "y": "2576",
+ "properties": {
+ "controlName": "101-complexity-classes:np-complete:knapsack-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "272",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "153",
+ "measuredH": "26",
+ "x": "59",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Knapsack Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13375",
+ "typeID": "__group__",
+ "zOrder": "208",
+ "measuredW": "272",
+ "measuredH": "47",
+ "w": "272",
+ "h": "47",
+ "x": "802",
+ "y": "2628",
+ "properties": {
+ "controlName": "102-complexity-classes:np-complete:longest-path-problem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "272",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "179",
+ "measuredH": "26",
+ "x": "46",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Longest Path Problem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13376",
+ "typeID": "__group__",
+ "zOrder": "213",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2535",
+ "properties": {
+ "controlName": "100-balanced-search-trees:avl-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "82",
+ "measuredH": "26",
+ "x": "72",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "AVL Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13377",
+ "typeID": "__group__",
+ "zOrder": "214",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2586",
+ "properties": {
+ "controlName": "101-balanced-search-trees:red-black-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "148",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Red / Black Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13378",
+ "typeID": "__group__",
+ "zOrder": "215",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2637",
+ "properties": {
+ "controlName": "102-balanced-search-trees:the-2-3-search-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "141",
+ "measuredH": "26",
+ "x": "42",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "2-3 Search Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13379",
+ "typeID": "__group__",
+ "zOrder": "216",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2787",
+ "properties": {
+ "controlName": "103-balanced-search-trees:the-2-3-4-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "97",
+ "measuredH": "26",
+ "x": "64",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "2-3-4 Trees"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13380",
+ "typeID": "__group__",
+ "zOrder": "217",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2838",
+ "properties": {
+ "controlName": "104-balanced-search-trees:n-ary-trees"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "148",
+ "measuredH": "26",
+ "x": "39",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "K-ary / M-ary Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13381",
+ "typeID": "__group__",
+ "zOrder": "220",
+ "measuredW": "226",
+ "measuredH": "47",
+ "w": "226",
+ "h": "47",
+ "x": "1371",
+ "y": "2890",
+ "properties": {
+ "controlName": "105-balanced-search-trees:b-tree"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "226",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "55",
+ "measuredH": "26",
+ "x": "85",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "B-Tree"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13382",
+ "typeID": "__group__",
+ "zOrder": "223",
+ "measuredW": "298",
+ "measuredH": "47",
+ "w": "298",
+ "h": "47",
+ "x": "890",
+ "y": "2742",
+ "properties": {
+ "controlName": "100-system-design:horizontal-vs-vertical-scaling"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "234",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Horizontal vs Vertical Scaling"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13383",
+ "typeID": "__group__",
+ "zOrder": "224",
+ "measuredW": "298",
+ "measuredH": "47",
+ "w": "298",
+ "h": "47",
+ "x": "890",
+ "y": "2793",
+ "properties": {
+ "controlName": "101-system-design:load-balancing"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "127",
+ "measuredH": "26",
+ "x": "85",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Load Balancing"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13384",
+ "typeID": "__group__",
+ "zOrder": "225",
+ "measuredW": "155",
+ "measuredH": "47",
+ "w": "155",
+ "h": "47",
+ "x": "892",
+ "y": "2935",
+ "properties": {
+ "controlName": "101-system-design:clustering"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "155",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "84",
+ "measuredH": "26",
+ "x": "35",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Clustering"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13385",
+ "typeID": "__group__",
+ "zOrder": "226",
+ "measuredW": "136",
+ "measuredH": "47",
+ "w": "136",
+ "h": "47",
+ "x": "1053",
+ "y": "2935",
+ "properties": {
+ "controlName": "102-system-design:caching"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "136",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "68",
+ "measuredH": "26",
+ "x": "38",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Caching"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13386",
+ "typeID": "__group__",
+ "zOrder": "227",
+ "measuredW": "155",
+ "measuredH": "47",
+ "w": "155",
+ "h": "47",
+ "x": "892",
+ "y": "2988",
+ "properties": {
+ "controlName": "103-system-design:cdn"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "155",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "40",
+ "measuredH": "26",
+ "x": "58",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "CDN"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13387",
+ "typeID": "__group__",
+ "zOrder": "228",
+ "measuredW": "136",
+ "measuredH": "47",
+ "w": "136",
+ "h": "47",
+ "x": "1053",
+ "y": "2988",
+ "properties": {
+ "controlName": "104-system-design:proxy"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "136",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "44",
+ "measuredH": "26",
+ "x": "47",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Proxy"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13388",
+ "typeID": "__group__",
+ "zOrder": "229",
+ "measuredW": "155",
+ "measuredH": "47",
+ "w": "155",
+ "h": "47",
+ "x": "892",
+ "y": "3041",
+ "properties": {
+ "controlName": "105-system-design:cap-theorem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "155",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "113",
+ "measuredH": "26",
+ "x": "21",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "CAP Theorem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13389",
+ "typeID": "__group__",
+ "zOrder": "230",
+ "measuredW": "137",
+ "measuredH": "47",
+ "w": "137",
+ "h": "47",
+ "x": "1052",
+ "y": "3041",
+ "properties": {
+ "controlName": "106-system-design:queues"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "137",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "65",
+ "measuredH": "26",
+ "x": "36",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Queues"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13390",
+ "typeID": "__group__",
+ "zOrder": "231",
+ "measuredW": "297",
+ "measuredH": "47",
+ "w": "297",
+ "h": "47",
+ "x": "892",
+ "y": "3093",
+ "properties": {
+ "controlName": "107-system-design:architectural-styles"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "297",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "155",
+ "measuredH": "26",
+ "x": "71",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Architectural Styles"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13391",
+ "typeID": "__group__",
+ "zOrder": "232",
+ "measuredW": "98",
+ "measuredH": "47",
+ "w": "98",
+ "h": "47",
+ "x": "892",
+ "y": "3146",
+ "properties": {
+ "controlName": "108-system-design:rest"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "98",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "47",
+ "measuredH": "26",
+ "x": "25",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "REST"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13392",
+ "typeID": "__group__",
+ "zOrder": "233",
+ "measuredW": "98",
+ "measuredH": "47",
+ "w": "98",
+ "h": "47",
+ "x": "996",
+ "y": "3146",
+ "properties": {
+ "controlName": "109-system-design:graphql"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "98",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "75",
+ "measuredH": "26",
+ "x": "11",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "GrqphQL"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13393",
+ "typeID": "__group__",
+ "zOrder": "234",
+ "measuredW": "88",
+ "measuredH": "47",
+ "w": "88",
+ "h": "47",
+ "x": "1101",
+ "y": "3146",
+ "properties": {
+ "controlName": "110-system-design:grpc"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "88",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "48",
+ "measuredH": "26",
+ "x": "20",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "gRPC"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13394",
+ "typeID": "__group__",
+ "zOrder": "235",
+ "measuredW": "297",
+ "measuredH": "47",
+ "w": "297",
+ "h": "47",
+ "x": "890",
+ "y": "3199",
+ "properties": {
+ "controlName": "111-system-design:cloud-design-patterns"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "297",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "183",
+ "measuredH": "26",
+ "x": "57",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Cloud Design Patterns"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13395",
+ "typeID": "__group__",
+ "zOrder": "236",
+ "measuredW": "149",
+ "measuredH": "47",
+ "w": "149",
+ "h": "47",
+ "x": "890",
+ "y": "3252",
+ "properties": {
+ "controlName": "112-system-design:long-polling"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "149",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "100",
+ "measuredH": "26",
+ "x": "25",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Long Polling"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13396",
+ "typeID": "__group__",
+ "zOrder": "44",
+ "measuredW": "143",
+ "measuredH": "47",
+ "w": "143",
+ "h": "47",
+ "x": "1046",
+ "y": "3252",
+ "properties": {
+ "controlName": "113-system-design:short-polling"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "143",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "102",
+ "measuredH": "26",
+ "x": "21",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Short Polling"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13397",
+ "typeID": "__group__",
+ "zOrder": "237",
+ "measuredW": "149",
+ "measuredH": "47",
+ "w": "149",
+ "h": "47",
+ "x": "890",
+ "y": "3305",
+ "properties": {
+ "controlName": "114-system-design:web-sockets"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "149",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "106",
+ "measuredH": "26",
+ "x": "22",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Web Sockets"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13398",
+ "typeID": "__group__",
+ "zOrder": "238",
+ "measuredW": "143",
+ "measuredH": "47",
+ "w": "143",
+ "h": "47",
+ "x": "1046",
+ "y": "3305",
+ "properties": {
+ "controlName": "115-system-design:sse"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "143",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "34",
+ "measuredH": "26",
+ "x": "55",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "SSE"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13399",
+ "typeID": "__group__",
+ "zOrder": "241",
+ "measuredW": "298",
+ "measuredH": "47",
+ "w": "298",
+ "h": "47",
+ "x": "380",
+ "y": "2497",
+ "properties": {
+ "controlName": "100-databases:sql-vs-nosql-databases"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "214",
+ "measuredH": "26",
+ "x": "42",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "SQL vs NoSQL Databases"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13400",
+ "typeID": "__group__",
+ "zOrder": "242",
+ "measuredW": "298",
+ "measuredH": "47",
+ "w": "298",
+ "h": "47",
+ "x": "380",
+ "y": "2549",
+ "properties": {
+ "controlName": "101-databases:normalization-denormalization"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "263",
+ "measuredH": "26",
+ "x": "19",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Normalization / Denormalization"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13401",
+ "typeID": "__group__",
+ "zOrder": "243",
+ "measuredW": "298",
+ "measuredH": "47",
+ "w": "298",
+ "h": "47",
+ "x": "380",
+ "y": "2600",
+ "properties": {
+ "controlName": "102-databases:entity-relationship-model"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "298",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "209",
+ "measuredH": "26",
+ "x": "44",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Entity-Relationship Model"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13402",
+ "typeID": "__group__",
+ "zOrder": "244",
+ "measuredW": "74",
+ "measuredH": "47",
+ "w": "74",
+ "h": "47",
+ "x": "380",
+ "y": "2653",
+ "properties": {
+ "controlName": "103-databases:ddl"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "74",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "37",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "DDL"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13403",
+ "typeID": "__group__",
+ "zOrder": "25",
+ "measuredW": "68",
+ "measuredH": "47",
+ "w": "68",
+ "h": "47",
+ "x": "460",
+ "y": "2653",
+ "properties": {
+ "controlName": "104-databases:dml"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "68",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "40",
+ "measuredH": "26",
+ "x": "14",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "DML"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13404",
+ "typeID": "__group__",
+ "zOrder": "24",
+ "measuredW": "67",
+ "measuredH": "47",
+ "w": "67",
+ "h": "47",
+ "x": "535",
+ "y": "2653",
+ "properties": {
+ "controlName": "105-databases:dql"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "67",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "38",
+ "measuredH": "26",
+ "x": "15",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "DQL"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13405",
+ "typeID": "__group__",
+ "zOrder": "23",
+ "measuredW": "67",
+ "measuredH": "47",
+ "w": "67",
+ "h": "47",
+ "x": "609",
+ "y": "2653",
+ "properties": {
+ "controlName": "106-databases:dcl"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "67",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "37",
+ "measuredH": "26",
+ "x": "15",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "DCL"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13406",
+ "typeID": "__group__",
+ "zOrder": "246",
+ "measuredW": "148",
+ "measuredH": "47",
+ "w": "148",
+ "h": "47",
+ "x": "380",
+ "y": "2705",
+ "properties": {
+ "controlName": "107-databases:locking"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "148",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "64",
+ "measuredH": "26",
+ "x": "42",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Locking"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13407",
+ "typeID": "__group__",
+ "zOrder": "247",
+ "measuredW": "140",
+ "measuredH": "47",
+ "w": "140",
+ "h": "47",
+ "x": "536",
+ "y": "2705",
+ "properties": {
+ "controlName": "108-databases:transactions"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "140",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "105",
+ "measuredH": "26",
+ "x": "15",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Transactions"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13408",
+ "typeID": "__group__",
+ "zOrder": "248",
+ "measuredW": "148",
+ "measuredH": "47",
+ "w": "148",
+ "h": "47",
+ "x": "380",
+ "y": "2757",
+ "properties": {
+ "controlName": "109-databases:acid-model"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "148",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "98",
+ "measuredH": "26",
+ "x": "25",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "ACID Model"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13409",
+ "typeID": "__group__",
+ "zOrder": "249",
+ "measuredW": "140",
+ "measuredH": "47",
+ "w": "140",
+ "h": "47",
+ "x": "536",
+ "y": "2757",
+ "properties": {
+ "controlName": "110-databases:base-model"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "140",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "102",
+ "measuredH": "26",
+ "x": "19",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "BASE Model"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13410",
+ "typeID": "__group__",
+ "zOrder": "250",
+ "measuredW": "148",
+ "measuredH": "47",
+ "w": "148",
+ "h": "47",
+ "x": "380",
+ "y": "2810",
+ "properties": {
+ "controlName": "111-databases:cap-theorem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "148",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "113",
+ "measuredH": "26",
+ "x": "19",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "CAP Theorem"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13411",
+ "typeID": "__group__",
+ "zOrder": "251",
+ "measuredW": "140",
+ "measuredH": "47",
+ "w": "140",
+ "h": "47",
+ "x": "536",
+ "y": "2810",
+ "properties": {
+ "controlName": "112-databases:pacelc-theorem"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "140",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "68",
+ "measuredH": "26",
+ "x": "36",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "PACELC"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13412",
+ "typeID": "__group__",
+ "zOrder": "245",
+ "measuredW": "148",
+ "measuredH": "47",
+ "w": "148",
+ "h": "47",
+ "x": "380",
+ "y": "2862",
+ "properties": {
+ "controlName": "113-databases:indexes"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "148",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "64",
+ "measuredH": "26",
+ "x": "42",
+ "y": "10",
+ "properties": {
+ "size": "18",
+ "text": "Indexes"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13413",
+ "typeID": "__group__",
+ "zOrder": "252",
+ "measuredW": "141",
+ "measuredH": "47",
+ "w": "141",
+ "h": "47",
+ "x": "536",
+ "y": "2861",
+ "properties": {
+ "controlName": "114-databases:views"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "141",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "47",
+ "measuredH": "26",
+ "x": "47",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Views"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13414",
+ "typeID": "__group__",
+ "zOrder": "253",
+ "measuredW": "299",
+ "measuredH": "47",
+ "w": "299",
+ "h": "47",
+ "x": "380",
+ "y": "2913",
+ "properties": {
+ "controlName": "115-databases:transactions"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "299",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "105",
+ "measuredH": "26",
+ "x": "97",
+ "y": "10",
+ "properties": {
+ "size": "18",
+ "text": "Transactions"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13415",
+ "typeID": "__group__",
+ "zOrder": "254",
+ "measuredW": "300",
+ "measuredH": "47",
+ "w": "300",
+ "h": "47",
+ "x": "380",
+ "y": "2964",
+ "properties": {
+ "controlName": "116-databases:stored-procedures"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "300",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "153",
+ "measuredH": "26",
+ "x": "73",
+ "y": "10",
+ "properties": {
+ "size": "18",
+ "text": "Stored Procedures"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13416",
+ "typeID": "__group__",
+ "zOrder": "255",
+ "measuredW": "299",
+ "measuredH": "47",
+ "w": "299",
+ "h": "47",
+ "x": "381",
+ "y": "3016",
+ "properties": {
+ "controlName": "117-databases:database-federation"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "299",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "172",
+ "measuredH": "26",
+ "x": "64",
+ "y": "10",
+ "properties": {
+ "size": "18",
+ "text": "Database Federation"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13417",
+ "typeID": "__group__",
+ "zOrder": "256",
+ "measuredW": "147",
+ "measuredH": "47",
+ "w": "147",
+ "h": "47",
+ "x": "381",
+ "y": "3068",
+ "properties": {
+ "controlName": "118-databases:replication"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "147",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "93",
+ "measuredH": "26",
+ "x": "27",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Replication"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13418",
+ "typeID": "__group__",
+ "zOrder": "268",
+ "measuredW": "143",
+ "measuredH": "47",
+ "w": "143",
+ "h": "47",
+ "x": "537",
+ "y": "3068",
+ "properties": {
+ "controlName": "119-databases:sharding"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "143",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "73",
+ "measuredH": "26",
+ "x": "35",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Sharding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13419",
+ "typeID": "__group__",
+ "zOrder": "263",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "380",
+ "y": "3462",
+ "properties": {
+ "controlName": "100-networking:sockets"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "65",
+ "measuredH": "26",
+ "x": "55",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Sockets"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13420",
+ "typeID": "__group__",
+ "zOrder": "262",
+ "measuredW": "175",
+ "measuredH": "47",
+ "w": "175",
+ "h": "47",
+ "x": "380",
+ "y": "3409",
+ "properties": {
+ "controlName": "101-networking:tls-https"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "175",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "111",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "TLS & HTTPS"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13421",
+ "typeID": "__group__",
+ "zOrder": "261",
+ "measuredW": "85",
+ "measuredH": "47",
+ "w": "85",
+ "h": "47",
+ "x": "381",
+ "y": "3357",
+ "properties": {
+ "controlName": "103-networking:dns"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "85",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "38",
+ "measuredH": "26",
+ "x": "24",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "DNS"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13422",
+ "typeID": "__group__",
+ "zOrder": "260",
+ "measuredW": "84",
+ "measuredH": "47",
+ "w": "84",
+ "h": "47",
+ "x": "472",
+ "y": "3357",
+ "properties": {
+ "controlName": "102-networking:http"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "84",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "47",
+ "measuredH": "26",
+ "x": "18",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "HTTP"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13423",
+ "typeID": "__group__",
+ "zOrder": "259",
+ "measuredW": "176",
+ "measuredH": "47",
+ "w": "176",
+ "h": "47",
+ "x": "381",
+ "y": "3305",
+ "properties": {
+ "controlName": "104-networking:tcp-ip-model"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "176",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "125",
+ "measuredH": "26",
+ "x": "23",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "TCP / IP Model"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13424",
+ "typeID": "__group__",
+ "zOrder": "258",
+ "measuredW": "176",
+ "measuredH": "47",
+ "w": "176",
+ "h": "47",
+ "x": "381",
+ "y": "3253",
+ "properties": {
+ "controlName": "105-networking:osi-model"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "176",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "86",
+ "measuredH": "26",
+ "x": "45",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "OSI Model"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13425",
+ "typeID": "__group__",
+ "zOrder": "264",
+ "measuredW": "250",
+ "measuredH": "47",
+ "w": "250",
+ "h": "47",
+ "x": "381",
+ "y": "3602",
+ "properties": {
+ "controlName": "100-security:public-key-cryptography"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "250",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "197",
+ "measuredH": "26",
+ "x": "26",
+ "y": "10",
+ "properties": {
+ "size": "18",
+ "text": "Public Key Cryptography"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13426",
+ "typeID": "__group__",
+ "zOrder": "265",
+ "measuredW": "300",
+ "measuredH": "47",
+ "w": "300",
+ "h": "47",
+ "x": "381",
+ "y": "3653",
+ "properties": {
+ "controlName": "101-security:hashing-encryption-encoding"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "300",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "267",
+ "measuredH": "26",
+ "x": "16",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Hashing / Encryption / Encoding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13427",
+ "typeID": "__group__",
+ "zOrder": "266",
+ "measuredW": "200",
+ "measuredH": "47",
+ "w": "200",
+ "h": "47",
+ "x": "381",
+ "y": "3704",
+ "properties": {
+ "controlName": "102-security:hashing-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "158",
+ "measuredH": "26",
+ "x": "21",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Hashing Algorithms"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13428",
+ "typeID": "__group__",
+ "zOrder": "267",
+ "measuredW": "157",
+ "measuredH": "47",
+ "w": "157",
+ "h": "47",
+ "x": "381",
+ "y": "3756",
+ "properties": {
+ "controlName": "103-security:owasp-top-10"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "157",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "118",
+ "measuredH": "26",
+ "x": "20",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "OWASP Top 10"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13429",
+ "typeID": "__group__",
+ "zOrder": "271",
+ "measuredW": "280",
+ "measuredH": "47",
+ "w": "280",
+ "h": "47",
+ "x": "895",
+ "y": "3384",
+ "properties": {
+ "controlName": "100-how-computers-work:how-cpu-executes-programs"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "280",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "248",
+ "measuredH": "26",
+ "x": "16",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "How CPU executes programs?"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13430",
+ "typeID": "__group__",
+ "zOrder": "272",
+ "measuredW": "280",
+ "measuredH": "47",
+ "w": "280",
+ "h": "47",
+ "x": "895",
+ "y": "3434",
+ "properties": {
+ "controlName": "101-how-computers-work:how-computers-calculate"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "280",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "215",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "How computers calculate?"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13432",
+ "typeID": "__group__",
+ "zOrder": "273",
+ "measuredW": "281",
+ "measuredH": "47",
+ "w": "281",
+ "h": "47",
+ "x": "894",
+ "y": "3600",
+ "properties": {
+ "controlName": "102-how-computers-work:registers-and-ram"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "281",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "162",
+ "measuredW": "159",
+ "measuredH": "26",
+ "x": "60",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Registers and RAM"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13433",
+ "typeID": "__group__",
+ "zOrder": "274",
+ "measuredW": "281",
+ "measuredH": "47",
+ "w": "281",
+ "h": "47",
+ "x": "894",
+ "y": "3650",
+ "properties": {
+ "controlName": "103-how-computers-work:instructions-and-programs"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "281",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "218",
+ "measuredW": "214",
+ "measuredH": "26",
+ "x": "32",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Instructions and Programs"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13434",
+ "typeID": "__group__",
+ "zOrder": "275",
+ "measuredW": "281",
+ "measuredH": "47",
+ "w": "281",
+ "h": "47",
+ "x": "894",
+ "y": "3701",
+ "properties": {
+ "controlName": "104-how-computers-work:cpu-cache"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "281",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "w": "98",
+ "measuredW": "96",
+ "measuredH": "26",
+ "x": "92",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "CPU Cache"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13435",
+ "typeID": "__group__",
+ "zOrder": "281",
+ "measuredW": "270",
+ "measuredH": "47",
+ "w": "270",
+ "h": "47",
+ "x": "1322",
+ "y": "3129",
+ "properties": {
+ "controlName": "100-processes-and-threads:process-forking"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "270",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "132",
+ "measuredH": "26",
+ "x": "69",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Process Forking"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13436",
+ "typeID": "__group__",
+ "zOrder": "280",
+ "measuredW": "268",
+ "measuredH": "47",
+ "w": "268",
+ "h": "47",
+ "x": "1323",
+ "y": "3181",
+ "properties": {
+ "controlName": "101-processes-and-threads:memory-management"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "268",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "179",
+ "measuredH": "26",
+ "x": "44",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Memory Management"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13437",
+ "typeID": "__group__",
+ "zOrder": "279",
+ "measuredW": "269",
+ "measuredH": "47",
+ "w": "269",
+ "h": "47",
+ "x": "1322",
+ "y": "3232",
+ "properties": {
+ "controlName": "102-processes-and-threads:lock-mutex-semaphore"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "269",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "218",
+ "measuredH": "26",
+ "x": "26",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Lock / Mutex / Semaphore"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13438",
+ "typeID": "__group__",
+ "zOrder": "283",
+ "measuredW": "270",
+ "measuredH": "47",
+ "w": "270",
+ "h": "47",
+ "x": "1322",
+ "y": "3283",
+ "properties": {
+ "controlName": "103-processes-and-threads:concurrency-in-multiple-cores"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "270",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "242",
+ "measuredH": "26",
+ "x": "14",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Concurrency in Multiple cores"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13439",
+ "typeID": "__group__",
+ "zOrder": "282",
+ "measuredW": "269",
+ "measuredH": "47",
+ "w": "269",
+ "h": "47",
+ "x": "1322",
+ "y": "3334",
+ "properties": {
+ "controlName": "103-processes-and-threads:scheduling-algorithms"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "269",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "181",
+ "measuredH": "26",
+ "x": "44",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Scheduling Algorithms"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13440",
+ "typeID": "__group__",
+ "zOrder": "278",
+ "measuredW": "269",
+ "measuredH": "47",
+ "w": "269",
+ "h": "47",
+ "x": "1322",
+ "y": "3384",
+ "properties": {
+ "controlName": "104-processes-and-threads:cpu-interrupts"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "269",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "122",
+ "measuredH": "26",
+ "x": "74",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "CPU Interrupts"
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "ID": "13442",
+ "typeID": "__group__",
+ "zOrder": "277",
+ "measuredW": "270",
+ "measuredH": "47",
+ "w": "270",
+ "h": "47",
+ "x": "1322",
+ "y": "3435",
+ "properties": {
+ "controlName": "105-processes-and-threads:processes-vs-threads"
+ },
+ "children": {
+ "controls": {
+ "control": [
+ {
+ "ID": "0",
+ "typeID": "TextArea",
+ "zOrder": "0",
+ "w": "270",
+ "h": "47",
+ "measuredW": "200",
+ "measuredH": "140",
+ "x": "0",
+ "y": "0",
+ "properties": {
+ "color": "16770457"
+ }
+ },
+ {
+ "ID": "1",
+ "typeID": "Label",
+ "zOrder": "1",
+ "measuredW": "179",
+ "measuredH": "26",
+ "x": "45",
+ "y": "11",
+ "properties": {
+ "size": "18",
+ "text": "Processes vs Threads"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "attributes": {
+ "name": "New Wireframe 1 copy 2",
+ "order": 1000006.8992828326,
+ "parentID": null,
+ "notes": ""
+ },
+ "branchID": "Master",
+ "resourceID": "4BE92169-157F-4FC5-8E20-403CBCF7A6C6",
+ "mockupH": "4000",
+ "mockupW": "1280",
+ "measuredW": "1634",
+ "measuredH": "4161",
+ "version": "1.0"
+ },
+ "groupOffset": {
+ "x": 0,
+ "y": 0
+ },
+ "dependencies": [],
+ "projectID": "file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr"
+}
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 05faf8e85..3d08e382e 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -3,121 +3,127 @@
https://roadmap.sh/frontend
monthly
- 2022-09-14T06:02:07.073Z
+ 2022-11-04T10:42:30.312Z
1.0
https://roadmap.sh/backend
monthly
- 2022-09-08T15:51:27.084Z
+ 2022-11-04T10:42:30.348Z
1.0
https://roadmap.sh/devops
monthly
- 2022-10-07T13:13:20.176Z
+ 2022-11-04T10:42:30.390Z
+ 1.0
+
+
+ https://roadmap.sh/computer-science
+ monthly
+ 2022-11-07T08:56:36.456Z
1.0
https://roadmap.sh/react
monthly
- 2022-09-14T06:02:07.073Z
+ 2022-11-04T10:42:30.408Z
1.0
https://roadmap.sh/angular
monthly
- 2022-09-22T13:50:27.726Z
+ 2022-11-04T10:42:30.429Z
1.0
https://roadmap.sh/vue
monthly
- 2022-09-08T15:53:27.172Z
+ 2022-11-04T10:42:30.445Z
1.0
https://roadmap.sh/javascript
monthly
- 2022-09-08T15:53:41.849Z
+ 2022-11-04T10:42:30.476Z
1.0
https://roadmap.sh/android
monthly
- 2022-09-08T15:54:45.212Z
+ 2022-11-04T10:42:30.476Z
1.0
https://roadmap.sh/nodejs
monthly
- 2022-09-08T15:55:10.053Z
+ 2022-11-04T10:42:30.505Z
1.0
https://roadmap.sh/python
monthly
- 2022-09-08T15:55:43.386Z
+ 2022-11-04T10:42:30.518Z
1.0
https://roadmap.sh/golang
monthly
- 2022-10-21T21:18:40.874Z
+ 2022-11-04T10:42:30.529Z
1.0
https://roadmap.sh/java
monthly
- 2022-09-08T15:56:13.247Z
+ 2022-11-04T10:42:30.539Z
1.0
https://roadmap.sh/design-system
monthly
- 2022-09-13T12:37:17.764Z
+ 2022-11-04T10:42:30.564Z
1.0
https://roadmap.sh/postgresql-dba
monthly
- 2022-09-08T15:56:26.295Z
+ 2022-11-04T10:42:30.565Z
1.0
https://roadmap.sh/blockchain
monthly
- 2022-09-08T15:56:54.343Z
+ 2022-11-04T10:42:30.583Z
1.0
https://roadmap.sh/qa
monthly
- 2022-09-08T15:57:35.430Z
+ 2022-11-04T10:42:30.606Z
1.0
https://roadmap.sh/software-architect
monthly
- 2022-10-03T17:18:04.218Z
+ 2022-11-04T10:42:30.625Z
1.0
https://roadmap.sh/software-design-architecture
monthly
- 2022-10-03T17:29:46.903Z
+ 2022-11-04T10:42:30.625Z
1.0
https://roadmap.sh/aspnet-core
monthly
- 2022-10-25T04:49:30.309Z
+ 2022-11-04T10:42:30.659Z
1.0
https://roadmap.sh/flutter
monthly
- 2022-10-31T06:17:18.118Z
+ 2022-11-04T10:42:30.683Z
1.0
@@ -309,45 +315,45 @@
https://roadmap.sh/about
monthly
- 2022-10-10T12:12:47.767Z
+ 2022-11-04T10:42:30.695Z
0.8
https://roadmap.sh/guides
monthly
- 2022-10-10T12:12:47.799Z
+ 2022-11-04T10:42:30.696Z
1.0
https://roadmap.sh/
monthly
- 2022-10-10T11:52:44.699Z
+ 2022-11-04T10:42:30.696Z
1.0
https://roadmap.sh/roadmaps
monthly
- 2022-10-10T12:12:59.896Z
+ 2022-11-04T10:42:30.696Z
1.0
https://roadmap.sh/signup
monthly
- 2022-10-10T12:12:47.787Z
+ 2022-11-04T10:42:30.697Z
0.9
https://roadmap.sh/thanks
monthly
- 2022-10-10T12:12:47.781Z
+ 2022-11-04T10:42:30.697Z
0.5
https://roadmap.sh/watch
monthly
- 2022-10-10T12:12:47.759Z
+ 2022-11-04T10:42:30.698Z
1.0
\ No newline at end of file
diff --git a/scripts/content-skeleton.ts b/scripts/content-skeleton.ts
index c914f8e73..ebc7849fd 100644
--- a/scripts/content-skeleton.ts
+++ b/scripts/content-skeleton.ts
@@ -53,6 +53,7 @@ const roadmaps: Record = {
'software-architect': require('../public/project/software-architect.json'),
'aspnet-core': require('../public/project/aspnet-core.json'),
'flutter': require('../public/project/flutter.json'),
+ 'computer-science': require('../public/project/computer-science.json'),
};
if (!roadmapKey || !roadmaps[roadmapKey]) {