Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Misc]: Add updated concept tree map #580

Merged
merged 3 commits into from
Jan 25, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions misc/concept_tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# Concept Tree

This is a concept tree for the Crystal Syllabus.
It is a work in progress, it was last updated on 2024-01-13.
Each concept with an exercise around it has been implemented, the rest is still to be implemented.


```mermaid
graph TD

subgraph A [Lasagna]
a[Basics]
end

subgraph B [Crystal Hunter]
b(bools)
end

subgraph J [Number Types]
ac(Number Types)
end

subgraph C [Wellington's Weather Station]
c(Numbers)
end

subgraph E [Johannes' Juice Maker]
e(Classes)
end

subgraph F [Party Robot]
f(Strings)
end

subgraph S [Foto Fusionist]
d(binary & octal & hexadecimal)
end

subgraph T [Secrets]
ad(Bit Manipulation)
end

subgraph G [High School Sweetheart]
g(string methods)
end

subgraph H [Meltdown Mitigation]
h(conditionals)
end

subgraph I [Interest is intresting]
i(return)
j(while)
end

subgraph K [Bellebrook Basket League]
k(modules)
end

subgraph L [Blackjack]
v(case /switch/)
end

subgraph M [Castle Dinner]
o(Nil)
end

subgraph N [Library of Luton]
l(Char)
end

subgraph O [Password Lock]
w(Union type)
end

subgraph P [Chess Game]
n(Range)
end

subgraph Q [Language List]
q(Arrays)
end

subgraph R [Chaitana's Colossal Coaster]
r(Array-methods)
end

subgraph U [Task Handler]
s(Blocks/proc/)
end

A --> B
A --> C
B --> J
C --> E
E --> F
F --> G
G --> H
H --> I
J --> E
H --> K
H --> L
H --> M
I --> N
N --> O
M --> O
N --> P
P --> Q
O --> Q
Q --> R
F --> S
S --> T
R --> U
U --> t



m(Getters/setters)
p(raising errors)
s(Blocks/proc/)
t(enumeration)
u(more enumeration)
x(symbols)
y(Tuples)
z(Hashes)
aa(Named Tuple)
ab(Decomposition & multiple assignment)

Q --> p
t --> u
u --> y
u --> x
x --> z
y --> z
z --> aa
aa --> ab
E --> m
```