trackler 2.2.1.159 → 2.2.1.160

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config/maintainers.json +16 -15
  4. data/tracks/bash/config.json +111 -103
  5. data/tracks/c/config/maintainers.json +14 -14
  6. data/tracks/c/config.json +263 -242
  7. data/tracks/ceylon/config/maintainers.json +8 -8
  8. data/tracks/ceylon/config.json +30 -32
  9. data/tracks/cfml/config/maintainers.json +6 -4
  10. data/tracks/cfml/config.json +145 -92
  11. data/tracks/common-lisp/config/maintainers.json +26 -26
  12. data/tracks/common-lisp/config.json +152 -149
  13. data/tracks/cpp/config/maintainers.json +11 -11
  14. data/tracks/cpp/config.json +162 -161
  15. data/tracks/dart/config/maintainers.json +21 -17
  16. data/tracks/dart/config.json +57 -57
  17. data/tracks/delphi/config.json +1 -0
  18. data/tracks/delphi/docs/ABOUT.md +9 -6
  19. data/tracks/ecmascript/config/maintainers.json +11 -11
  20. data/tracks/ecmascript/config.json +563 -544
  21. data/tracks/ecmascript/exercises/accumulate/package.json +1 -1
  22. data/tracks/ecmascript/exercises/acronym/package.json +1 -1
  23. data/tracks/ecmascript/exercises/all-your-base/package.json +1 -1
  24. data/tracks/ecmascript/exercises/allergies/package.json +1 -1
  25. data/tracks/ecmascript/exercises/alphametics/package.json +1 -1
  26. data/tracks/ecmascript/exercises/anagram/package.json +1 -1
  27. data/tracks/ecmascript/exercises/armstrong-numbers/package.json +1 -1
  28. data/tracks/ecmascript/exercises/atbash-cipher/package.json +1 -1
  29. data/tracks/ecmascript/exercises/beer-song/package.json +1 -1
  30. data/tracks/ecmascript/exercises/binary/package.json +1 -1
  31. data/tracks/ecmascript/exercises/binary-search/package.json +1 -1
  32. data/tracks/ecmascript/exercises/binary-search-tree/package.json +1 -1
  33. data/tracks/ecmascript/exercises/bob/package.json +1 -1
  34. data/tracks/ecmascript/exercises/bowling/package.json +1 -1
  35. data/tracks/ecmascript/exercises/bracket-push/package.json +1 -1
  36. data/tracks/ecmascript/exercises/change/package.json +1 -1
  37. data/tracks/ecmascript/exercises/circular-buffer/package.json +1 -1
  38. data/tracks/ecmascript/exercises/clock/package.json +1 -1
  39. data/tracks/ecmascript/exercises/collatz-conjecture/package.json +1 -1
  40. data/tracks/ecmascript/exercises/complex-numbers/package.json +1 -1
  41. data/tracks/ecmascript/exercises/connect/package.json +1 -1
  42. data/tracks/ecmascript/exercises/crypto-square/package.json +1 -1
  43. data/tracks/ecmascript/exercises/custom-set/package.json +1 -1
  44. data/tracks/ecmascript/exercises/diamond/package.json +1 -1
  45. data/tracks/ecmascript/exercises/difference-of-squares/package.json +1 -1
  46. data/tracks/ecmascript/exercises/diffie-hellman/package.json +1 -1
  47. data/tracks/ecmascript/exercises/etl/package.json +1 -1
  48. data/tracks/ecmascript/exercises/flatten-array/package.json +1 -1
  49. data/tracks/ecmascript/exercises/food-chain/package.json +1 -1
  50. data/tracks/ecmascript/exercises/gigasecond/package.json +1 -1
  51. data/tracks/ecmascript/exercises/grade-school/package.json +1 -1
  52. data/tracks/ecmascript/exercises/grains/package.json +1 -1
  53. data/tracks/ecmascript/exercises/hamming/package.json +1 -1
  54. data/tracks/ecmascript/exercises/hello-world/package.json +1 -1
  55. data/tracks/ecmascript/exercises/hexadecimal/package.json +1 -1
  56. data/tracks/ecmascript/exercises/house/package.json +1 -1
  57. data/tracks/ecmascript/exercises/isbn-verifier/package.json +1 -1
  58. data/tracks/ecmascript/exercises/isogram/package.json +1 -1
  59. data/tracks/ecmascript/exercises/kindergarten-garden/package.json +1 -1
  60. data/tracks/ecmascript/exercises/largest-series-product/package.json +1 -1
  61. data/tracks/ecmascript/exercises/leap/package.json +1 -1
  62. data/tracks/ecmascript/exercises/linked-list/package.json +1 -1
  63. data/tracks/ecmascript/exercises/list-ops/package.json +1 -1
  64. data/tracks/ecmascript/exercises/luhn/package.json +1 -1
  65. data/tracks/ecmascript/exercises/matrix/package.json +1 -1
  66. data/tracks/ecmascript/exercises/meetup/package.json +1 -1
  67. data/tracks/ecmascript/exercises/minesweeper/package.json +1 -1
  68. data/tracks/ecmascript/exercises/nth-prime/package.json +1 -1
  69. data/tracks/ecmascript/exercises/nucleotide-count/package.json +1 -1
  70. data/tracks/ecmascript/exercises/ocr-numbers/package.json +1 -1
  71. data/tracks/ecmascript/exercises/octal/package.json +1 -1
  72. data/tracks/ecmascript/exercises/palindrome-products/package.json +1 -1
  73. data/tracks/ecmascript/exercises/pangram/package.json +1 -1
  74. data/tracks/ecmascript/exercises/pascals-triangle/package.json +1 -1
  75. data/tracks/ecmascript/exercises/perfect-numbers/package.json +1 -1
  76. data/tracks/ecmascript/exercises/phone-number/package.json +1 -1
  77. data/tracks/ecmascript/exercises/pig-latin/package.json +1 -1
  78. data/tracks/ecmascript/exercises/prime-factors/package.json +1 -1
  79. data/tracks/ecmascript/exercises/protein-translation/package.json +1 -1
  80. data/tracks/ecmascript/exercises/proverb/package.json +1 -1
  81. data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +1 -1
  82. data/tracks/ecmascript/exercises/queen-attack/example.js +2 -2
  83. data/tracks/ecmascript/exercises/queen-attack/package.json +1 -1
  84. data/tracks/ecmascript/exercises/raindrops/package.json +1 -1
  85. data/tracks/ecmascript/exercises/react/package.json +1 -1
  86. data/tracks/ecmascript/exercises/rectangles/package.json +1 -1
  87. data/tracks/ecmascript/exercises/rna-transcription/package.json +1 -1
  88. data/tracks/ecmascript/exercises/robot-name/package.json +1 -1
  89. data/tracks/ecmascript/exercises/robot-simulator/package.json +1 -1
  90. data/tracks/ecmascript/exercises/roman-numerals/package.json +1 -1
  91. data/tracks/ecmascript/exercises/rotational-cipher/package.json +1 -1
  92. data/tracks/ecmascript/exercises/run-length-encoding/package.json +1 -1
  93. data/tracks/ecmascript/exercises/saddle-points/package.json +1 -1
  94. data/tracks/ecmascript/exercises/say/package.json +1 -1
  95. data/tracks/ecmascript/exercises/scrabble-score/package.json +1 -1
  96. data/tracks/ecmascript/exercises/secret-handshake/package.json +1 -1
  97. data/tracks/ecmascript/exercises/series/package.json +1 -1
  98. data/tracks/ecmascript/exercises/sieve/package.json +1 -1
  99. data/tracks/ecmascript/exercises/simple-cipher/package.json +1 -1
  100. data/tracks/ecmascript/exercises/simple-linked-list/package.json +1 -1
  101. data/tracks/ecmascript/exercises/space-age/package.json +1 -1
  102. data/tracks/ecmascript/exercises/spiral-matrix/package.json +1 -1
  103. data/tracks/ecmascript/exercises/strain/package.json +1 -1
  104. data/tracks/ecmascript/exercises/sublist/package.json +1 -1
  105. data/tracks/ecmascript/exercises/sum-of-multiples/package.json +1 -1
  106. data/tracks/ecmascript/exercises/transpose/package.json +1 -1
  107. data/tracks/ecmascript/exercises/triangle/package.json +1 -1
  108. data/tracks/ecmascript/exercises/trinary/package.json +1 -1
  109. data/tracks/ecmascript/exercises/twelve-days/package.json +1 -1
  110. data/tracks/ecmascript/exercises/two-bucket/package.json +1 -1
  111. data/tracks/ecmascript/exercises/two-fer/package.json +1 -1
  112. data/tracks/ecmascript/exercises/word-count/package.json +1 -1
  113. data/tracks/ecmascript/exercises/word-search/package.json +1 -1
  114. data/tracks/ecmascript/exercises/wordy/example.js +16 -4
  115. data/tracks/ecmascript/exercises/wordy/package.json +1 -1
  116. data/tracks/ecmascript/package.json +1 -1
  117. data/tracks/elisp/config/maintainers.json +6 -6
  118. data/tracks/elisp/config.json +103 -103
  119. data/tracks/elisp/exercises/two-fer/two-fer.el +3 -3
  120. data/tracks/elm/config/maintainers.json +11 -11
  121. data/tracks/elm/config.json +171 -171
  122. data/tracks/erlang/README.md +31 -28
  123. data/tracks/erlang/config/maintainers.json +13 -7
  124. data/tracks/erlang/config.json +99 -190
  125. data/tracks/factor/config/maintainers.json +5 -5
  126. data/tracks/factor/config.json +17 -19
  127. data/tracks/fsharp/config/maintainers.json +16 -16
  128. data/tracks/fsharp/config.json +485 -469
  129. data/tracks/gnu-apl/config/maintainers.json +6 -5
  130. data/tracks/gnu-apl/config.json +46 -20
  131. data/tracks/go/config/maintainers.json +43 -32
  132. data/tracks/go/config.json +475 -457
  133. data/tracks/haskell/config/maintainers.json +26 -15
  134. data/tracks/haskell/config.json +22 -2
  135. data/tracks/idris/config/maintainers.json +6 -6
  136. data/tracks/idris/config.json +24 -35
  137. data/tracks/java/config/maintainers.json +39 -29
  138. data/tracks/java/config.json +458 -433
  139. data/tracks/javascript/config/maintainers.json +40 -40
  140. data/tracks/javascript/config.json +577 -551
  141. data/tracks/javascript/docs/LEARNING.md +1 -1
  142. data/tracks/javascript/exercises/pangram/pangram.spec.js +15 -10
  143. data/tracks/julia/REQUIRE +1 -0
  144. data/tracks/julia/config/maintainers.json +5 -5
  145. data/tracks/julia/config.json +106 -108
  146. data/tracks/kotlin/config/maintainers.json +15 -15
  147. data/tracks/kotlin/config.json +273 -257
  148. data/tracks/kotlin/exercises/accumulate/build.gradle +1 -1
  149. data/tracks/kotlin/exercises/acronym/build.gradle +1 -1
  150. data/tracks/kotlin/exercises/all-your-base/build.gradle +1 -1
  151. data/tracks/kotlin/exercises/allergies/.meta/version +1 -1
  152. data/tracks/kotlin/exercises/allergies/build.gradle +1 -1
  153. data/tracks/kotlin/exercises/anagram/build.gradle +1 -1
  154. data/tracks/kotlin/exercises/atbash-cipher/build.gradle +1 -1
  155. data/tracks/kotlin/exercises/bank-account/build.gradle +17 -17
  156. data/tracks/kotlin/exercises/beer-song/.meta/version +1 -1
  157. data/tracks/kotlin/exercises/beer-song/build.gradle +1 -1
  158. data/tracks/kotlin/exercises/binary/build.gradle +1 -1
  159. data/tracks/kotlin/exercises/binary-search/build.gradle +1 -2
  160. data/tracks/kotlin/exercises/bob/build.gradle +1 -1
  161. data/tracks/kotlin/exercises/bracket-push/build.gradle +1 -1
  162. data/tracks/kotlin/exercises/change/.meta/version +1 -1
  163. data/tracks/kotlin/exercises/change/build.gradle +1 -2
  164. data/tracks/kotlin/exercises/clock/build.gradle +1 -1
  165. data/tracks/kotlin/exercises/collatz-conjecture/build.gradle +1 -1
  166. data/tracks/kotlin/exercises/complex-numbers/build.gradle +1 -1
  167. data/tracks/kotlin/exercises/diamond/build.gradle +1 -1
  168. data/tracks/kotlin/exercises/difference-of-squares/build.gradle +1 -1
  169. data/tracks/kotlin/exercises/etl/build.gradle +1 -1
  170. data/tracks/kotlin/exercises/flatten-array/build.gradle +1 -1
  171. data/tracks/kotlin/exercises/forth/build.gradle +1 -1
  172. data/tracks/kotlin/exercises/gigasecond/build.gradle +1 -1
  173. data/tracks/kotlin/exercises/grade-school/build.gradle +1 -1
  174. data/tracks/kotlin/exercises/grains/build.gradle +1 -1
  175. data/tracks/kotlin/exercises/hamming/build.gradle +1 -1
  176. data/tracks/kotlin/exercises/hello-world/build.gradle +1 -1
  177. data/tracks/kotlin/exercises/hexadecimal/build.gradle +1 -1
  178. data/tracks/kotlin/exercises/isogram/build.gradle +1 -1
  179. data/tracks/kotlin/exercises/largest-series-product/build.gradle +1 -1
  180. data/tracks/kotlin/exercises/leap/.meta/version +1 -1
  181. data/tracks/kotlin/exercises/leap/build.gradle +1 -1
  182. data/tracks/kotlin/exercises/linked-list/build.gradle +1 -1
  183. data/tracks/kotlin/exercises/list-ops/build.gradle +1 -1
  184. data/tracks/kotlin/exercises/luhn/build.gradle +1 -1
  185. data/tracks/kotlin/exercises/meetup/.meta/version +1 -1
  186. data/tracks/kotlin/exercises/meetup/build.gradle +1 -1
  187. data/tracks/kotlin/exercises/minesweeper/build.gradle +1 -1
  188. data/tracks/kotlin/exercises/nth-prime/build.gradle +1 -1
  189. data/tracks/kotlin/exercises/nucleotide-count/build.gradle +1 -1
  190. data/tracks/kotlin/exercises/pangram/build.gradle +1 -1
  191. data/tracks/kotlin/exercises/pascals-triangle/.meta/version +1 -1
  192. data/tracks/kotlin/exercises/pascals-triangle/build.gradle +1 -1
  193. data/tracks/kotlin/exercises/perfect-numbers/build.gradle +1 -1
  194. data/tracks/kotlin/exercises/phone-number/build.gradle +1 -1
  195. data/tracks/kotlin/exercises/pig-latin/build.gradle +1 -1
  196. data/tracks/kotlin/exercises/prime-factors/build.gradle +1 -1
  197. data/tracks/kotlin/exercises/raindrops/build.gradle +1 -1
  198. data/tracks/kotlin/exercises/react/build.gradle +1 -1
  199. data/tracks/kotlin/exercises/rna-transcription/build.gradle +1 -1
  200. data/tracks/kotlin/exercises/robot-name/build.gradle +1 -1
  201. data/tracks/kotlin/exercises/robot-simulator/build.gradle +1 -1
  202. data/tracks/kotlin/exercises/roman-numerals/build.gradle +1 -1
  203. data/tracks/kotlin/exercises/rotational-cipher/.meta/version +1 -1
  204. data/tracks/kotlin/exercises/rotational-cipher/build.gradle +1 -1
  205. data/tracks/kotlin/exercises/saddle-points/build.gradle +1 -1
  206. data/tracks/kotlin/exercises/say/.meta/version +1 -1
  207. data/tracks/kotlin/exercises/say/build.gradle +1 -1
  208. data/tracks/kotlin/exercises/scrabble-score/build.gradle +1 -1
  209. data/tracks/kotlin/exercises/secret-handshake/build.gradle +1 -1
  210. data/tracks/kotlin/exercises/series/build.gradle +1 -1
  211. data/tracks/kotlin/exercises/sieve/build.gradle +1 -1
  212. data/tracks/kotlin/exercises/simple-cipher/build.gradle +1 -1
  213. data/tracks/kotlin/exercises/space-age/build.gradle +1 -1
  214. data/tracks/kotlin/exercises/spiral-matrix/build.gradle +1 -1
  215. data/tracks/kotlin/exercises/strain/build.gradle +1 -1
  216. data/tracks/kotlin/exercises/sublist/.meta/version +1 -1
  217. data/tracks/kotlin/exercises/sublist/build.gradle +1 -1
  218. data/tracks/kotlin/exercises/sum-of-multiples/build.gradle +15 -16
  219. data/tracks/kotlin/exercises/triangle/build.gradle +15 -16
  220. data/tracks/kotlin/exercises/two-fer/build.gradle +1 -1
  221. data/tracks/kotlin/exercises/word-count/build.gradle +1 -1
  222. data/tracks/lfe/config/maintainers.json +6 -6
  223. data/tracks/lfe/config.json +128 -125
  224. data/tracks/lfe/docs/LEARNING.md +1 -1
  225. data/tracks/lua/config/maintainers.json +16 -16
  226. data/tracks/lua/config.json +331 -327
  227. data/tracks/mips/config/maintainers.json +5 -5
  228. data/tracks/mips/config.json +29 -59
  229. data/tracks/nim/config/maintainers.json +8 -8
  230. data/tracks/nim/config.json +185 -127
  231. data/tracks/nim/exercises/allergies/allergies_test.nim +7 -7
  232. data/tracks/nim/exercises/allergies/example.nim +2 -2
  233. data/tracks/nim/exercises/difference-of-squares/difference_of_squares_test.nim +4 -4
  234. data/tracks/nim/exercises/difference-of-squares/example.nim +3 -3
  235. data/tracks/nim/exercises/gigasecond/example.nim +1 -1
  236. data/tracks/nim/exercises/gigasecond/gigasecond_test.nim +5 -5
  237. data/tracks/nim/exercises/nucleotide-count/example.nim +1 -1
  238. data/tracks/nim/exercises/nucleotide-count/nucleotide_count_test.nim +6 -6
  239. data/tracks/nim/exercises/pangram/example.nim +1 -1
  240. data/tracks/nim/exercises/pangram/pangram_test.nim +11 -11
  241. data/tracks/nim/exercises/triangle/example.nim +4 -4
  242. data/tracks/nim/exercises/triangle/triangle_test.nim +14 -14
  243. data/tracks/nim/exercises/word-count/HINT.md +8 -0
  244. data/tracks/nim/exercises/word-count/example.nim +8 -15
  245. data/tracks/nim/exercises/word-count/word_count_test.nim +63 -55
  246. data/tracks/perl6/Dockerfile +1 -1
  247. data/tracks/perl6/config/maintainers.json +8 -8
  248. data/tracks/perl6/config.json +72 -127
  249. data/tracks/powershell/.gitignore +2 -1
  250. data/tracks/powershell/config/maintainers.json +8 -8
  251. data/tracks/powershell/config.json +54 -37
  252. data/tracks/powershell/exercises/reverse-string/.version +1 -0
  253. data/tracks/powershell/exercises/reverse-string/README.md +13 -0
  254. data/tracks/powershell/exercises/reverse-string/ReverseString.example.ps1 +21 -0
  255. data/tracks/powershell/exercises/reverse-string/ReverseString.ps1 +9 -0
  256. data/tracks/powershell/exercises/reverse-string/ReverseString.tests.ps1 +21 -0
  257. data/tracks/powershell/exercises/sum-of-multiples/.version +1 -0
  258. data/tracks/powershell/exercises/sum-of-multiples/README.md +15 -0
  259. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.example.ps1 +20 -0
  260. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.ps1 +9 -0
  261. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.tests.ps1 +29 -0
  262. data/tracks/python/config/maintainers.json +17 -17
  263. data/tracks/python/config.json +331 -283
  264. data/tracks/python/exercises/diffie-hellman/diffie_hellman_test.py +16 -47
  265. data/tracks/r/config/maintainers.json +16 -16
  266. data/tracks/r/config.json +128 -117
  267. data/tracks/racket/config/maintainers.json +16 -16
  268. data/tracks/racket/config.json +106 -102
  269. data/tracks/reasonml/config/maintainers.json +1 -1
  270. data/tracks/reasonml/config.json +37 -23
  271. data/tracks/reasonml/exercises/bob/README.md +29 -0
  272. data/tracks/reasonml/exercises/bob/__tests__/Bob_test.re +103 -0
  273. data/tracks/reasonml/exercises/bob/bsconfig.json +30 -0
  274. data/tracks/reasonml/exercises/bob/package-lock.json +5855 -0
  275. data/tracks/reasonml/exercises/bob/package.json +20 -0
  276. data/tracks/reasonml/exercises/bob/src/Example.re +41 -0
  277. data/tracks/reasonml/exercises/hello-world/src/{HelloWorld.re → Example.re} +0 -0
  278. data/tracks/reasonml/exercises/leap/src/{Leap.re → Example.re} +0 -0
  279. data/tracks/reasonml/exercises/rna-transcription/__tests__/RnaTranscription_test.re +24 -0
  280. data/tracks/reasonml/exercises/rna-transcription/bsconfig.json +30 -0
  281. data/tracks/reasonml/exercises/rna-transcription/package.json +20 -0
  282. data/tracks/reasonml/exercises/rna-transcription/src/Example.re +14 -0
  283. data/tracks/reasonml/exercises/space-age/src/{Space_age.re → Example.re} +0 -0
  284. data/tracks/scala/config/maintainers.json +22 -10
  285. data/tracks/scala/config.json +362 -350
  286. data/tracks/scala/docs/ABOUT.md +7 -2
  287. data/tracks/scheme/config/maintainers.json +11 -11
  288. data/tracks/scheme/config.json +72 -72
  289. data/tracks/typescript/config/maintainers.json +15 -15
  290. data/tracks/typescript/config.json +382 -362
  291. data/tracks/vimscript/config/maintainers.json +11 -11
  292. data/tracks/vimscript/config.json +41 -89
  293. metadata +27 -5
@@ -1,1299 +1,1315 @@
1
1
  {
2
+ "language": "F#",
2
3
  "active": true,
3
4
  "blurb": "F# is a strongly-typed, functional language that is part of Microsoft's .NET language stack. Although F# is great for data science problems, it can elegantly handle almost every problem you throw at it.",
5
+ "foregone": [
6
+ "flatten-array",
7
+ "nucleotide-codons",
8
+ "paasio",
9
+ "point-mutations",
10
+ "counter"
11
+ ],
4
12
  "exercises": [
5
13
  {
14
+ "slug": "hello-world",
15
+ "uuid": "302312cc-bd15-4ba0-8f2f-cbf411c40186",
6
16
  "core": true,
17
+ "unlocked_by": null,
7
18
  "difficulty": 1,
8
- "slug": "hello-world",
9
19
  "topics": [
10
20
  "strings"
11
- ],
12
- "unlocked_by": null,
13
- "uuid": "302312cc-bd15-4ba0-8f2f-cbf411c40186"
21
+ ]
14
22
  },
15
23
  {
24
+ "slug": "leap",
25
+ "uuid": "66d974b5-18fc-4993-b5f2-7beda4f4afa3",
16
26
  "core": true,
27
+ "unlocked_by": null,
17
28
  "difficulty": 1,
18
- "slug": "leap",
19
29
  "topics": [
20
30
  "control_flow_if_else_statements",
21
31
  "integers"
22
- ],
23
- "unlocked_by": null,
24
- "uuid": "66d974b5-18fc-4993-b5f2-7beda4f4afa3"
32
+ ]
25
33
  },
26
34
  {
35
+ "slug": "bob",
36
+ "uuid": "b3c4d578-10c8-47bc-b0ae-149ed8da530a",
27
37
  "core": true,
38
+ "unlocked_by": null,
28
39
  "difficulty": 1,
29
- "slug": "bob",
30
40
  "topics": [
31
41
  "control_flow_if_else_statements",
32
42
  "strings"
33
- ],
34
- "unlocked_by": null,
35
- "uuid": "b3c4d578-10c8-47bc-b0ae-149ed8da530a"
43
+ ]
36
44
  },
37
45
  {
46
+ "slug": "sum-of-multiples",
47
+ "uuid": "e702b75e-4c9e-40ef-bcb1-674a87222c23",
38
48
  "core": true,
49
+ "unlocked_by": null,
39
50
  "difficulty": 1,
40
- "slug": "sum-of-multiples",
41
51
  "topics": [
42
52
  "lists",
43
53
  "transforming"
44
- ],
45
- "unlocked_by": null,
46
- "uuid": "e702b75e-4c9e-40ef-bcb1-674a87222c23"
54
+ ]
47
55
  },
48
56
  {
57
+ "slug": "two-fer",
58
+ "uuid": "2ee3cc7a-db3f-4668-9983-ed6d0fea95d1",
49
59
  "core": true,
60
+ "unlocked_by": null,
50
61
  "difficulty": 1,
51
- "slug": "two-fer",
52
62
  "topics": [
53
63
  "optional_values",
54
64
  "strings"
55
- ],
56
- "unlocked_by": null,
57
- "uuid": "2ee3cc7a-db3f-4668-9983-ed6d0fea95d1"
65
+ ]
58
66
  },
59
67
  {
68
+ "slug": "space-age",
69
+ "uuid": "277d05db-0ba0-4de6-b5f8-090c251afffc",
60
70
  "core": true,
71
+ "unlocked_by": null,
61
72
  "difficulty": 1,
62
- "slug": "space-age",
63
73
  "topics": [
64
74
  "discriminated_unions",
65
75
  "floating_point_numbers"
66
- ],
67
- "unlocked_by": null,
68
- "uuid": "277d05db-0ba0-4de6-b5f8-090c251afffc"
76
+ ]
69
77
  },
70
78
  {
79
+ "slug": "raindrops",
80
+ "uuid": "0c953a84-e726-4b9f-a964-1950ac2f95f2",
71
81
  "core": true,
82
+ "unlocked_by": null,
72
83
  "difficulty": 2,
73
- "slug": "raindrops",
74
84
  "topics": [
75
85
  "filtering",
76
86
  "text_formatting"
77
- ],
78
- "unlocked_by": null,
79
- "uuid": "0c953a84-e726-4b9f-a964-1950ac2f95f2"
87
+ ]
80
88
  },
81
89
  {
90
+ "slug": "accumulate",
91
+ "uuid": "e7085050-1611-4773-9032-0e0ffb56c20e",
82
92
  "core": true,
93
+ "unlocked_by": null,
83
94
  "difficulty": 2,
84
- "slug": "accumulate",
85
95
  "topics": [
86
96
  "recursion",
87
97
  "transforming"
88
- ],
89
- "unlocked_by": null,
90
- "uuid": "e7085050-1611-4773-9032-0e0ffb56c20e"
98
+ ]
91
99
  },
92
100
  {
101
+ "slug": "grade-school",
102
+ "uuid": "cf058dc8-db6f-4034-ac5b-22f1d8d0decc",
93
103
  "core": true,
104
+ "unlocked_by": null,
94
105
  "difficulty": 2,
95
- "slug": "grade-school",
96
106
  "topics": [
97
107
  "maps",
98
108
  "sorting"
99
- ],
100
- "unlocked_by": null,
101
- "uuid": "cf058dc8-db6f-4034-ac5b-22f1d8d0decc"
109
+ ]
102
110
  },
103
111
  {
112
+ "slug": "collatz-conjecture",
113
+ "uuid": "8b66e691-508f-40d9-8cee-1d6aec27366e",
104
114
  "core": false,
115
+ "unlocked_by": "sum-of-multiples",
105
116
  "difficulty": 2,
106
- "slug": "collatz-conjecture",
107
117
  "topics": [
108
118
  "algorithms",
109
119
  "control_flow_conditionals",
110
120
  "control_flow_loops",
111
121
  "integers",
112
122
  "mathematics"
113
- ],
114
- "unlocked_by": "sum-of-multiples",
115
- "uuid": "8b66e691-508f-40d9-8cee-1d6aec27366e"
123
+ ]
116
124
  },
117
125
  {
126
+ "slug": "armstrong-numbers",
127
+ "uuid": "e7f74f6c-16ea-40d8-94f7-7034bc6ee938",
118
128
  "core": false,
129
+ "unlocked_by": "sum-of-multiples",
119
130
  "difficulty": 2,
120
- "slug": "armstrong-numbers",
121
131
  "topics": [
122
132
  "integers",
123
133
  "mathematics"
124
- ],
125
- "unlocked_by": "sum-of-multiples",
126
- "uuid": "e7f74f6c-16ea-40d8-94f7-7034bc6ee938"
134
+ ]
127
135
  },
128
136
  {
137
+ "slug": "beer-song",
138
+ "uuid": "0ea0d92f-5510-4ba9-b419-3f5ad029b74f",
129
139
  "core": true,
140
+ "unlocked_by": null,
130
141
  "difficulty": 3,
131
- "slug": "beer-song",
132
142
  "topics": [
133
143
  "algorithms",
134
144
  "text_formatting"
135
- ],
136
- "unlocked_by": null,
137
- "uuid": "0ea0d92f-5510-4ba9-b419-3f5ad029b74f"
145
+ ]
138
146
  },
139
147
  {
148
+ "slug": "queen-attack",
149
+ "uuid": "528a0023-8687-4524-8318-516d1e432d0d",
140
150
  "core": true,
151
+ "unlocked_by": null,
141
152
  "difficulty": 3,
142
- "slug": "queen-attack",
143
153
  "topics": [
144
154
  "tuples"
145
- ],
146
- "unlocked_by": null,
147
- "uuid": "528a0023-8687-4524-8318-516d1e432d0d"
155
+ ]
148
156
  },
149
157
  {
158
+ "slug": "kindergarten-garden",
159
+ "uuid": "cf64cddf-63e2-4c71-ac15-0af617f82856",
150
160
  "core": true,
161
+ "unlocked_by": null,
151
162
  "difficulty": 3,
152
- "slug": "kindergarten-garden",
153
163
  "topics": [
154
164
  "enumerations",
155
165
  "parsing"
156
- ],
157
- "unlocked_by": null,
158
- "uuid": "cf64cddf-63e2-4c71-ac15-0af617f82856"
166
+ ]
159
167
  },
160
168
  {
169
+ "slug": "clock",
170
+ "uuid": "30c3a38e-1e44-4711-887e-fca301c26c1b",
161
171
  "core": true,
172
+ "unlocked_by": null,
162
173
  "difficulty": 3,
163
- "slug": "clock",
164
174
  "topics": [
165
175
  "structural_equality",
166
176
  "time"
167
- ],
168
- "unlocked_by": null,
169
- "uuid": "30c3a38e-1e44-4711-887e-fca301c26c1b"
177
+ ]
170
178
  },
171
179
  {
180
+ "slug": "robot-simulator",
181
+ "uuid": "ecae4faa-c516-4a71-8d55-9c53403d8826",
172
182
  "core": true,
183
+ "unlocked_by": null,
173
184
  "difficulty": 3,
174
- "slug": "robot-simulator",
175
185
  "topics": [
176
186
  "records",
177
187
  "tuples"
178
- ],
179
- "unlocked_by": null,
180
- "uuid": "ecae4faa-c516-4a71-8d55-9c53403d8826"
188
+ ]
181
189
  },
182
190
  {
191
+ "slug": "allergies",
192
+ "uuid": "221dff26-0495-4d4b-9363-14a5d7263271",
183
193
  "core": true,
194
+ "unlocked_by": null,
184
195
  "difficulty": 4,
185
- "slug": "allergies",
186
196
  "topics": [
187
197
  "bitwise_operations",
188
198
  "enumerations",
189
199
  "filtering"
190
- ],
191
- "unlocked_by": null,
192
- "uuid": "221dff26-0495-4d4b-9363-14a5d7263271"
200
+ ]
193
201
  },
194
202
  {
203
+ "slug": "ocr-numbers",
204
+ "uuid": "eca7e334-f549-4601-a515-9d1467d3d0ea",
195
205
  "core": true,
206
+ "unlocked_by": null,
196
207
  "difficulty": 5,
197
- "slug": "ocr-numbers",
198
208
  "topics": [
199
209
  "parsing",
200
210
  "pattern_recognition"
201
- ],
202
- "unlocked_by": null,
203
- "uuid": "eca7e334-f549-4601-a515-9d1467d3d0ea"
211
+ ]
204
212
  },
205
213
  {
214
+ "slug": "tree-building",
215
+ "uuid": "a53fa908-f983-4da5-b1c1-3989bd2ea2f9",
206
216
  "core": true,
217
+ "unlocked_by": null,
207
218
  "difficulty": 5,
208
- "slug": "tree-building",
209
219
  "topics": [
210
220
  "refactoring",
211
221
  "trees"
212
- ],
213
- "unlocked_by": null,
214
- "uuid": "a53fa908-f983-4da5-b1c1-3989bd2ea2f9"
222
+ ]
215
223
  },
216
224
  {
225
+ "slug": "binary-search-tree",
226
+ "uuid": "4e786e56-2658-445f-ac91-64dd9c38dbb3",
217
227
  "core": false,
228
+ "unlocked_by": "two-fer",
218
229
  "difficulty": 5,
219
- "slug": "binary-search-tree",
220
230
  "topics": [
221
231
  "optional_values",
222
232
  "searching",
223
233
  "trees"
224
- ],
225
- "unlocked_by": "two-fer",
226
- "uuid": "4e786e56-2658-445f-ac91-64dd9c38dbb3"
234
+ ]
227
235
  },
228
236
  {
237
+ "slug": "pig-latin",
238
+ "uuid": "a002e3db-8e9c-4cbf-b00f-f2090bae5d5a",
229
239
  "core": true,
240
+ "unlocked_by": null,
230
241
  "difficulty": 6,
231
- "slug": "pig-latin",
232
242
  "topics": [
233
243
  "strings",
234
244
  "transforming"
235
- ],
236
- "unlocked_by": null,
237
- "uuid": "a002e3db-8e9c-4cbf-b00f-f2090bae5d5a"
245
+ ]
238
246
  },
239
247
  {
248
+ "slug": "difference-of-squares",
249
+ "uuid": "3969fb29-5997-4050-adb0-8c6e95f48013",
240
250
  "core": false,
251
+ "unlocked_by": null,
241
252
  "difficulty": 1,
242
- "slug": "difference-of-squares",
243
253
  "topics": [
244
254
  "integers"
245
- ],
246
- "unlocked_by": null,
247
- "uuid": "3969fb29-5997-4050-adb0-8c6e95f48013"
255
+ ]
248
256
  },
249
257
  {
258
+ "slug": "gigasecond",
259
+ "uuid": "1d377268-8892-460b-a84b-011fde1ff06b",
250
260
  "core": false,
261
+ "unlocked_by": null,
251
262
  "difficulty": 1,
252
- "slug": "gigasecond",
253
263
  "topics": [
254
264
  "dates"
255
- ],
256
- "unlocked_by": null,
257
- "uuid": "1d377268-8892-460b-a84b-011fde1ff06b"
265
+ ]
258
266
  },
259
267
  {
268
+ "slug": "reverse-string",
269
+ "uuid": "08be451e-65c1-4306-860e-ac0c4a02a546",
260
270
  "core": false,
271
+ "unlocked_by": null,
261
272
  "difficulty": 1,
262
- "slug": "reverse-string",
263
273
  "topics": [
264
274
  "strings"
265
- ],
266
- "unlocked_by": null,
267
- "uuid": "08be451e-65c1-4306-860e-ac0c4a02a546"
275
+ ]
268
276
  },
269
277
  {
278
+ "slug": "rna-transcription",
279
+ "uuid": "3a015501-58bf-427c-8c4c-2197321f4a34",
270
280
  "core": false,
281
+ "unlocked_by": null,
271
282
  "difficulty": 1,
272
- "slug": "rna-transcription",
273
283
  "topics": [
274
284
  "strings",
275
285
  "transforming"
276
- ],
277
- "unlocked_by": null,
278
- "uuid": "3a015501-58bf-427c-8c4c-2197321f4a34"
286
+ ]
279
287
  },
280
288
  {
289
+ "slug": "grains",
290
+ "uuid": "e3751098-5a15-4350-bf5d-507583de3386",
281
291
  "core": false,
292
+ "unlocked_by": "leap",
282
293
  "difficulty": 2,
283
- "slug": "grains",
284
294
  "topics": [
285
295
  "integers"
286
- ],
287
- "unlocked_by": "leap",
288
- "uuid": "e3751098-5a15-4350-bf5d-507583de3386"
296
+ ]
289
297
  },
290
298
  {
299
+ "slug": "hamming",
300
+ "uuid": "1dadf8c0-b15c-413f-987e-187d043910f0",
291
301
  "core": false,
302
+ "unlocked_by": "hello-world",
292
303
  "difficulty": 2,
293
- "slug": "hamming",
294
304
  "topics": [
295
305
  "filtering",
296
306
  "strings"
297
- ],
298
- "unlocked_by": "hello-world",
299
- "uuid": "1dadf8c0-b15c-413f-987e-187d043910f0"
307
+ ]
300
308
  },
301
309
  {
310
+ "slug": "nucleotide-count",
311
+ "uuid": "e6f92e96-b26a-4eba-8759-e8976a8a9097",
302
312
  "core": false,
313
+ "unlocked_by": "grade-school",
303
314
  "difficulty": 2,
304
- "slug": "nucleotide-count",
305
315
  "topics": [
306
316
  "maps",
307
317
  "strings"
308
- ],
309
- "unlocked_by": "grade-school",
310
- "uuid": "e6f92e96-b26a-4eba-8759-e8976a8a9097"
318
+ ]
311
319
  },
312
320
  {
321
+ "slug": "pangram",
322
+ "uuid": "dc133087-0548-49b4-8f17-0c26cf53bcdf",
313
323
  "core": false,
324
+ "unlocked_by": "hello-world",
314
325
  "difficulty": 2,
315
- "slug": "pangram",
316
326
  "topics": [
317
327
  "strings"
318
- ],
319
- "unlocked_by": "hello-world",
320
- "uuid": "dc133087-0548-49b4-8f17-0c26cf53bcdf"
328
+ ]
321
329
  },
322
330
  {
331
+ "slug": "etl",
332
+ "uuid": "95e592a8-6663-4b07-894a-86a5cc310c67",
323
333
  "core": false,
334
+ "unlocked_by": "grade-school",
324
335
  "difficulty": 2,
325
- "slug": "etl",
326
336
  "topics": [
327
337
  "maps",
328
338
  "transforming"
329
- ],
330
- "unlocked_by": "grade-school",
331
- "uuid": "95e592a8-6663-4b07-894a-86a5cc310c67"
339
+ ]
332
340
  },
333
341
  {
342
+ "slug": "triangle",
343
+ "uuid": "47fd8f98-20d3-43fe-825f-27745e13908d",
334
344
  "core": false,
345
+ "unlocked_by": "space-age",
335
346
  "difficulty": 3,
336
- "slug": "triangle",
337
347
  "topics": [
338
348
  "discriminated_unions",
339
349
  "integers"
340
- ],
341
- "unlocked_by": "space-age",
342
- "uuid": "47fd8f98-20d3-43fe-825f-27745e13908d"
350
+ ]
343
351
  },
344
352
  {
353
+ "slug": "robot-name",
354
+ "uuid": "3fbd466a-caf4-48ac-9a1e-796bc406ff1e",
345
355
  "core": false,
356
+ "unlocked_by": "hello-world",
346
357
  "difficulty": 3,
347
- "slug": "robot-name",
348
358
  "topics": [
349
359
  "randomness",
350
360
  "strings"
351
- ],
352
- "unlocked_by": "hello-world",
353
- "uuid": "3fbd466a-caf4-48ac-9a1e-796bc406ff1e"
361
+ ]
354
362
  },
355
363
  {
364
+ "slug": "error-handling",
365
+ "uuid": "fc7935f9-bffa-4eb1-b447-49379b45aac7",
356
366
  "core": false,
367
+ "unlocked_by": "space-age",
357
368
  "difficulty": 3,
358
- "slug": "error-handling",
359
369
  "topics": [
360
370
  "discriminated_unions",
361
371
  "exception_handling",
362
372
  "optional_values"
363
- ],
364
- "unlocked_by": "space-age",
365
- "uuid": "fc7935f9-bffa-4eb1-b447-49379b45aac7"
373
+ ]
366
374
  },
367
375
  {
376
+ "slug": "scrabble-score",
377
+ "uuid": "e22fcca5-b23c-4feb-972f-9795dd1bd946",
368
378
  "core": false,
379
+ "unlocked_by": "clock",
369
380
  "difficulty": 3,
370
- "slug": "scrabble-score",
371
381
  "topics": [
372
382
  "transforming"
373
- ],
374
- "unlocked_by": "clock",
375
- "uuid": "e22fcca5-b23c-4feb-972f-9795dd1bd946"
383
+ ]
376
384
  },
377
385
  {
386
+ "slug": "proverb",
387
+ "uuid": "5ca0e0ba-20ac-4d48-b2dc-0cdde06a8f3e",
378
388
  "core": false,
389
+ "unlocked_by": "bob",
379
390
  "difficulty": 3,
380
- "slug": "proverb",
381
391
  "topics": [
382
392
  "algorithms",
383
393
  "text_formatting"
384
- ],
385
- "unlocked_by": "bob",
386
- "uuid": "5ca0e0ba-20ac-4d48-b2dc-0cdde06a8f3e"
394
+ ]
387
395
  },
388
396
  {
397
+ "slug": "protein-translation",
398
+ "uuid": "612395a5-238e-4be0-8ce0-4ac66f57056e",
389
399
  "core": false,
400
+ "unlocked_by": "sum-of-multiples",
390
401
  "difficulty": 3,
391
- "slug": "protein-translation",
392
402
  "topics": [
393
403
  "lists",
394
404
  "strings",
395
405
  "transforming"
396
- ],
397
- "unlocked_by": "sum-of-multiples",
398
- "uuid": "612395a5-238e-4be0-8ce0-4ac66f57056e"
406
+ ]
399
407
  },
400
408
  {
409
+ "slug": "strain",
410
+ "uuid": "48ac8887-28db-4566-a415-c2d338dea104",
401
411
  "core": false,
412
+ "unlocked_by": "raindrops",
402
413
  "difficulty": 3,
403
- "slug": "strain",
404
414
  "topics": [
405
415
  "filtering",
406
416
  "sequences"
407
- ],
408
- "unlocked_by": "raindrops",
409
- "uuid": "48ac8887-28db-4566-a415-c2d338dea104"
417
+ ]
410
418
  },
411
419
  {
420
+ "slug": "isogram",
421
+ "uuid": "61404a27-62c3-43dc-93b7-7e4547e0a0d9",
412
422
  "core": false,
423
+ "unlocked_by": "hello-world",
413
424
  "difficulty": 3,
414
- "slug": "isogram",
415
425
  "topics": [
416
426
  "filtering",
417
427
  "strings"
418
- ],
419
- "unlocked_by": "hello-world",
420
- "uuid": "61404a27-62c3-43dc-93b7-7e4547e0a0d9"
428
+ ]
421
429
  },
422
430
  {
431
+ "slug": "sieve",
432
+ "uuid": "a6511471-bc2c-4734-92fe-c6c5cf447efd",
423
433
  "core": false,
434
+ "unlocked_by": "raindrops",
424
435
  "difficulty": 3,
425
- "slug": "sieve",
426
436
  "topics": [
427
437
  "filtering",
428
438
  "mathematics"
429
- ],
430
- "unlocked_by": "raindrops",
431
- "uuid": "a6511471-bc2c-4734-92fe-c6c5cf447efd"
439
+ ]
432
440
  },
433
441
  {
442
+ "slug": "phone-number",
443
+ "uuid": "929f98e4-a16c-464b-ac6c-59ca86dbd2b6",
434
444
  "core": false,
445
+ "unlocked_by": "hello-world",
435
446
  "difficulty": 3,
436
- "slug": "phone-number",
437
447
  "topics": [
438
448
  "parsing",
439
449
  "transforming"
440
- ],
441
- "unlocked_by": "hello-world",
442
- "uuid": "929f98e4-a16c-464b-ac6c-59ca86dbd2b6"
450
+ ]
443
451
  },
444
452
  {
453
+ "slug": "perfect-numbers",
454
+ "uuid": "45fcf742-1b3a-422a-b476-5ee81d80057a",
445
455
  "core": false,
456
+ "unlocked_by": "space-age",
446
457
  "difficulty": 3,
447
- "slug": "perfect-numbers",
448
458
  "topics": [
449
459
  "discriminated_unions",
450
460
  "integers"
451
- ],
452
- "unlocked_by": "space-age",
453
- "uuid": "45fcf742-1b3a-422a-b476-5ee81d80057a"
461
+ ]
454
462
  },
455
463
  {
464
+ "slug": "binary-search",
465
+ "uuid": "c5b38251-14ba-4d98-a420-7a930f06167f",
456
466
  "core": false,
467
+ "unlocked_by": "sum-of-multiples",
457
468
  "difficulty": 3,
458
- "slug": "binary-search",
459
469
  "topics": [
460
470
  "lists",
461
471
  "searching"
462
- ],
463
- "unlocked_by": "sum-of-multiples",
464
- "uuid": "c5b38251-14ba-4d98-a420-7a930f06167f"
472
+ ]
465
473
  },
466
474
  {
475
+ "slug": "secret-handshake",
476
+ "uuid": "ae78a960-2c55-44cb-9fd0-49b4bd5729c5",
467
477
  "core": false,
478
+ "unlocked_by": "allergies",
468
479
  "difficulty": 3,
469
- "slug": "secret-handshake",
470
480
  "topics": [
471
481
  "bitwise_operations",
472
482
  "lists"
473
- ],
474
- "unlocked_by": "allergies",
475
- "uuid": "ae78a960-2c55-44cb-9fd0-49b4bd5729c5"
483
+ ]
476
484
  },
477
485
  {
486
+ "slug": "word-count",
487
+ "uuid": "0c7a2f06-1e53-4043-9e1a-386e90e945b4",
478
488
  "core": false,
489
+ "unlocked_by": "grade-school",
479
490
  "difficulty": 4,
480
- "slug": "word-count",
481
491
  "topics": [
482
492
  "maps",
483
493
  "strings",
484
494
  "transforming"
485
- ],
486
- "unlocked_by": "grade-school",
487
- "uuid": "0c7a2f06-1e53-4043-9e1a-386e90e945b4"
495
+ ]
488
496
  },
489
497
  {
498
+ "slug": "twelve-days",
499
+ "uuid": "89cd6eb1-9671-42bd-a619-59013fb721b0",
490
500
  "core": false,
501
+ "unlocked_by": "hello-world",
491
502
  "difficulty": 4,
492
- "slug": "twelve-days",
493
503
  "topics": [
494
504
  "algorithms",
495
505
  "text_formatting"
496
- ],
497
- "unlocked_by": "hello-world",
498
- "uuid": "89cd6eb1-9671-42bd-a619-59013fb721b0"
506
+ ]
499
507
  },
500
508
  {
509
+ "slug": "meetup",
510
+ "uuid": "3ce04665-95d1-4608-9763-5ee1b5f2584c",
501
511
  "core": false,
512
+ "unlocked_by": "clock",
502
513
  "difficulty": 4,
503
- "slug": "meetup",
504
514
  "topics": [
505
515
  "dates"
506
- ],
507
- "unlocked_by": "clock",
508
- "uuid": "3ce04665-95d1-4608-9763-5ee1b5f2584c"
516
+ ]
509
517
  },
510
518
  {
519
+ "slug": "anagram",
520
+ "uuid": "cffcb076-295f-497f-8ef1-059a8fa65536",
511
521
  "core": false,
522
+ "unlocked_by": "bob",
512
523
  "difficulty": 4,
513
- "slug": "anagram",
514
524
  "topics": [
515
525
  "filtering",
516
526
  "strings"
517
- ],
518
- "unlocked_by": "bob",
519
- "uuid": "cffcb076-295f-497f-8ef1-059a8fa65536"
527
+ ]
520
528
  },
521
529
  {
530
+ "slug": "series",
531
+ "uuid": "4b07842c-dcef-4be0-a842-0b3b7a30c499",
522
532
  "core": false,
533
+ "unlocked_by": "bob",
523
534
  "difficulty": 4,
524
- "slug": "series",
525
535
  "topics": [
526
536
  "lists",
527
537
  "strings",
528
538
  "transforming"
529
- ],
530
- "unlocked_by": "bob",
531
- "uuid": "4b07842c-dcef-4be0-a842-0b3b7a30c499"
539
+ ]
532
540
  },
533
541
  {
542
+ "slug": "simple-linked-list",
543
+ "uuid": "e86e88a0-802c-41f4-b2a1-c7a81b8e87de",
534
544
  "core": false,
545
+ "unlocked_by": "sum-of-multiples",
535
546
  "difficulty": 4,
536
- "slug": "simple-linked-list",
537
547
  "topics": [
538
548
  "lists"
539
- ],
540
- "unlocked_by": "sum-of-multiples",
541
- "uuid": "e86e88a0-802c-41f4-b2a1-c7a81b8e87de"
549
+ ]
542
550
  },
543
551
  {
552
+ "slug": "acronym",
553
+ "uuid": "926f9309-e0bb-457a-8f1d-8fa947ed5ce7",
544
554
  "core": false,
555
+ "unlocked_by": "bob",
545
556
  "difficulty": 4,
546
- "slug": "acronym",
547
557
  "topics": [
548
558
  "strings",
549
559
  "transforming"
550
- ],
551
- "unlocked_by": "bob",
552
- "uuid": "926f9309-e0bb-457a-8f1d-8fa947ed5ce7"
560
+ ]
553
561
  },
554
562
  {
563
+ "slug": "matrix",
564
+ "uuid": "632417fa-7bf7-4228-9b71-dbdd6738b223",
555
565
  "core": false,
566
+ "unlocked_by": "kindergarten-garden",
556
567
  "difficulty": 4,
557
- "slug": "matrix",
558
568
  "topics": [
559
569
  "matrices",
560
570
  "parsing"
561
- ],
562
- "unlocked_by": "kindergarten-garden",
563
- "uuid": "632417fa-7bf7-4228-9b71-dbdd6738b223"
571
+ ]
564
572
  },
565
573
  {
574
+ "slug": "all-your-base",
575
+ "uuid": "01e394ee-23d5-44e6-a37e-149ffaf5375e",
566
576
  "core": false,
577
+ "unlocked_by": "leap",
567
578
  "difficulty": 4,
568
- "slug": "all-your-base",
569
579
  "topics": [
570
580
  "integers",
571
581
  "transforming"
572
- ],
573
- "unlocked_by": "leap",
574
- "uuid": "01e394ee-23d5-44e6-a37e-149ffaf5375e"
582
+ ]
575
583
  },
576
584
  {
585
+ "slug": "largest-series-product",
586
+ "uuid": "b3643992-583b-4e7a-a970-94bc7ae6739a",
577
587
  "core": false,
588
+ "unlocked_by": "leap",
578
589
  "difficulty": 4,
579
- "slug": "largest-series-product",
580
590
  "topics": [
581
591
  "integers",
582
592
  "strings",
583
593
  "transforming"
584
- ],
585
- "unlocked_by": "leap",
586
- "uuid": "b3643992-583b-4e7a-a970-94bc7ae6739a"
594
+ ]
587
595
  },
588
596
  {
597
+ "slug": "house",
598
+ "uuid": "7d339c98-74ea-49d5-a97c-c0417e28468a",
589
599
  "core": false,
600
+ "unlocked_by": "bob",
590
601
  "difficulty": 4,
591
- "slug": "house",
592
602
  "topics": [
593
603
  "algorithms",
594
604
  "text_formatting"
595
- ],
596
- "unlocked_by": "bob",
597
- "uuid": "7d339c98-74ea-49d5-a97c-c0417e28468a"
605
+ ]
598
606
  },
599
607
  {
608
+ "slug": "pythagorean-triplet",
609
+ "uuid": "6bcde851-71ad-4985-b335-8ca67f99c22f",
600
610
  "core": false,
611
+ "unlocked_by": "robot-simulator",
601
612
  "difficulty": 4,
602
- "slug": "pythagorean-triplet",
603
613
  "topics": [
604
614
  "integers",
605
615
  "mathematics",
606
616
  "records"
607
- ],
608
- "unlocked_by": "robot-simulator",
609
- "uuid": "6bcde851-71ad-4985-b335-8ca67f99c22f"
617
+ ]
610
618
  },
611
619
  {
620
+ "slug": "saddle-points",
621
+ "uuid": "526fc5b4-e96b-419a-8987-9b78e9bddc19",
612
622
  "core": false,
623
+ "unlocked_by": "sum-of-multiples",
613
624
  "difficulty": 4,
614
- "slug": "saddle-points",
615
625
  "topics": [
616
626
  "lists",
617
627
  "matrices"
618
- ],
619
- "unlocked_by": "sum-of-multiples",
620
- "uuid": "526fc5b4-e96b-419a-8987-9b78e9bddc19"
628
+ ]
621
629
  },
622
630
  {
631
+ "slug": "pascals-triangle",
632
+ "uuid": "fef76c19-db3c-442d-b2f5-b0dfae19ee43",
623
633
  "core": false,
634
+ "unlocked_by": "accumulate",
624
635
  "difficulty": 4,
625
- "slug": "pascals-triangle",
626
636
  "topics": [
627
637
  "lists",
628
638
  "mathematics",
629
639
  "recursion"
630
- ],
631
- "unlocked_by": "accumulate",
632
- "uuid": "fef76c19-db3c-442d-b2f5-b0dfae19ee43"
640
+ ]
633
641
  },
634
642
  {
643
+ "slug": "list-ops",
644
+ "uuid": "47602465-a92d-43a5-9e9a-8ef09ce2104d",
635
645
  "core": false,
646
+ "unlocked_by": "accumulate",
636
647
  "difficulty": 4,
637
- "slug": "list-ops",
638
648
  "topics": [
639
649
  "lists",
640
650
  "recursion"
641
- ],
642
- "unlocked_by": "accumulate",
643
- "uuid": "47602465-a92d-43a5-9e9a-8ef09ce2104d"
651
+ ]
644
652
  },
645
653
  {
654
+ "slug": "prime-factors",
655
+ "uuid": "18652e46-6dd2-4030-84af-be0965c92991",
646
656
  "core": false,
657
+ "unlocked_by": "robot-simulator",
647
658
  "difficulty": 4,
648
- "slug": "prime-factors",
649
659
  "topics": [
650
660
  "integers",
651
661
  "mathematics"
652
- ],
653
- "unlocked_by": "robot-simulator",
654
- "uuid": "18652e46-6dd2-4030-84af-be0965c92991"
662
+ ]
655
663
  },
656
664
  {
665
+ "slug": "isbn-verifier",
666
+ "uuid": "c339c32c-3310-4b8c-b4e6-0f9f651064b7",
657
667
  "core": false,
668
+ "unlocked_by": "bob",
658
669
  "difficulty": 4,
659
- "slug": "isbn-verifier",
660
670
  "topics": [
661
671
  "loops",
662
672
  "strings"
663
- ],
664
- "unlocked_by": "bob",
665
- "uuid": "c339c32c-3310-4b8c-b4e6-0f9f651064b7"
673
+ ]
666
674
  },
667
675
  {
676
+ "slug": "roman-numerals",
677
+ "uuid": "2e88193d-9f80-4d83-901b-bb5ac4b0804c",
668
678
  "core": false,
679
+ "unlocked_by": "accumulate",
669
680
  "difficulty": 5,
670
- "slug": "roman-numerals",
671
681
  "topics": [
672
682
  "recursion",
673
683
  "transforming"
674
- ],
675
- "unlocked_by": "accumulate",
676
- "uuid": "2e88193d-9f80-4d83-901b-bb5ac4b0804c"
684
+ ]
677
685
  },
678
686
  {
687
+ "slug": "dot-dsl",
688
+ "uuid": "dc50364b-b5b6-4e0b-ba58-32fb7d60a93b",
679
689
  "core": false,
690
+ "unlocked_by": "clock",
680
691
  "difficulty": 5,
681
- "slug": "dot-dsl",
682
692
  "topics": [
683
693
  "domain_specific_languages"
684
- ],
685
- "unlocked_by": "clock",
686
- "uuid": "dc50364b-b5b6-4e0b-ba58-32fb7d60a93b"
694
+ ]
687
695
  },
688
696
  {
697
+ "slug": "parallel-letter-frequency",
698
+ "uuid": "c0d0ae0f-83fb-433a-8778-d38e8a6645aa",
689
699
  "core": false,
700
+ "unlocked_by": "clock",
690
701
  "difficulty": 5,
691
- "slug": "parallel-letter-frequency",
692
702
  "topics": [
693
703
  "parallellism",
694
704
  "transforming"
695
- ],
696
- "unlocked_by": "clock",
697
- "uuid": "c0d0ae0f-83fb-433a-8778-d38e8a6645aa"
705
+ ]
698
706
  },
699
707
  {
708
+ "slug": "linked-list",
709
+ "uuid": "253f040d-35c2-4e1c-8651-d7a7410d7d0d",
700
710
  "core": false,
711
+ "unlocked_by": "sum-of-multiples",
701
712
  "difficulty": 5,
702
- "slug": "linked-list",
703
713
  "topics": [
704
714
  "lists"
705
- ],
706
- "unlocked_by": "sum-of-multiples",
707
- "uuid": "253f040d-35c2-4e1c-8651-d7a7410d7d0d"
715
+ ]
708
716
  },
709
717
  {
718
+ "slug": "simple-cipher",
719
+ "uuid": "df6f311b-9deb-4d07-9a29-3d881556513e",
710
720
  "core": false,
721
+ "unlocked_by": "beer-song",
711
722
  "difficulty": 5,
712
- "slug": "simple-cipher",
713
723
  "topics": [
714
724
  "algorithms",
715
725
  "strings",
716
726
  "transforming"
717
- ],
718
- "unlocked_by": "beer-song",
719
- "uuid": "df6f311b-9deb-4d07-9a29-3d881556513e"
727
+ ]
720
728
  },
721
729
  {
730
+ "slug": "rotational-cipher",
731
+ "uuid": "26b00c8d-6282-48a8-b017-2ed3e6d48267",
722
732
  "core": false,
733
+ "unlocked_by": "beer-song",
723
734
  "difficulty": 5,
724
- "slug": "rotational-cipher",
725
735
  "topics": [
726
736
  "algorithms",
727
737
  "strings",
728
738
  "transforming"
729
- ],
730
- "unlocked_by": "beer-song",
731
- "uuid": "26b00c8d-6282-48a8-b017-2ed3e6d48267"
739
+ ]
732
740
  },
733
741
  {
742
+ "slug": "scale-generator",
743
+ "uuid": "02a8e767-7449-48a9-8d6b-f2cac708de50",
734
744
  "core": false,
745
+ "unlocked_by": "kindergarten-garden",
735
746
  "difficulty": 5,
736
- "slug": "scale-generator",
737
747
  "topics": [
738
748
  "algorithms",
739
749
  "parsing"
740
- ],
741
- "unlocked_by": "kindergarten-garden",
742
- "uuid": "02a8e767-7449-48a9-8d6b-f2cac708de50"
750
+ ]
743
751
  },
744
752
  {
753
+ "slug": "atbash-cipher",
754
+ "uuid": "3fb37bef-a754-4a64-8493-ba4254518017",
745
755
  "core": false,
756
+ "unlocked_by": "beer-song",
746
757
  "difficulty": 5,
747
- "slug": "atbash-cipher",
748
758
  "topics": [
749
759
  "algorithms",
750
760
  "strings",
751
761
  "transforming"
752
- ],
753
- "unlocked_by": "beer-song",
754
- "uuid": "3fb37bef-a754-4a64-8493-ba4254518017"
762
+ ]
755
763
  },
756
764
  {
765
+ "slug": "food-chain",
766
+ "uuid": "f4dee9ea-fcdf-4623-8ae1-13bdf995f2cb",
757
767
  "core": false,
768
+ "unlocked_by": "raindrops",
758
769
  "difficulty": 5,
759
- "slug": "food-chain",
760
770
  "topics": [
761
771
  "algorithms",
762
772
  "text_formatting"
763
- ],
764
- "unlocked_by": "raindrops",
765
- "uuid": "f4dee9ea-fcdf-4623-8ae1-13bdf995f2cb"
773
+ ]
766
774
  },
767
775
  {
776
+ "slug": "grep",
777
+ "uuid": "da48b422-1c23-4272-87a4-415620d4e857",
768
778
  "core": false,
779
+ "unlocked_by": "raindrops",
769
780
  "difficulty": 5,
770
- "slug": "grep",
771
781
  "topics": [
772
782
  "files",
773
783
  "searching",
774
784
  "text_formatting"
775
- ],
776
- "unlocked_by": "raindrops",
777
- "uuid": "da48b422-1c23-4272-87a4-415620d4e857"
785
+ ]
778
786
  },
779
787
  {
788
+ "slug": "custom-set",
789
+ "uuid": "ecee74aa-41f5-42aa-b99e-31e9589378e3",
780
790
  "core": false,
791
+ "unlocked_by": "queen-attack",
781
792
  "difficulty": 5,
782
- "slug": "custom-set",
783
793
  "topics": [
784
794
  "sets"
785
- ],
786
- "unlocked_by": "queen-attack",
787
- "uuid": "ecee74aa-41f5-42aa-b99e-31e9589378e3"
795
+ ]
788
796
  },
789
797
  {
798
+ "slug": "crypto-square",
799
+ "uuid": "8d381a54-04a1-45d3-84d3-933b0d94f440",
790
800
  "core": false,
801
+ "unlocked_by": "beer-song",
791
802
  "difficulty": 5,
792
- "slug": "crypto-square",
793
803
  "topics": [
794
804
  "algorithms",
795
805
  "strings",
796
806
  "transforming"
797
- ],
798
- "unlocked_by": "beer-song",
799
- "uuid": "8d381a54-04a1-45d3-84d3-933b0d94f440"
807
+ ]
800
808
  },
801
809
  {
810
+ "slug": "ledger",
811
+ "uuid": "e860ad86-cd1f-474b-9e8e-d8a72ff4315c",
802
812
  "core": false,
813
+ "unlocked_by": "raindrops",
803
814
  "difficulty": 5,
804
- "slug": "ledger",
805
815
  "topics": [
806
816
  "globalization",
807
817
  "refactoring",
808
818
  "text_formatting"
809
- ],
810
- "unlocked_by": "raindrops",
811
- "uuid": "e860ad86-cd1f-474b-9e8e-d8a72ff4315c"
819
+ ]
812
820
  },
813
821
  {
822
+ "slug": "circular-buffer",
823
+ "uuid": "b62f8574-9bac-4b95-a76c-f13789ae2663",
814
824
  "core": false,
825
+ "unlocked_by": "robot-simulator",
815
826
  "difficulty": 5,
816
- "slug": "circular-buffer",
817
827
  "topics": [
818
828
  "queues",
819
829
  "records"
820
- ],
821
- "unlocked_by": "robot-simulator",
822
- "uuid": "b62f8574-9bac-4b95-a76c-f13789ae2663"
830
+ ]
823
831
  },
824
832
  {
833
+ "slug": "luhn",
834
+ "uuid": "85ab318f-7842-486d-88de-f0ff7fbef069",
825
835
  "core": false,
836
+ "unlocked_by": "beer-song",
826
837
  "difficulty": 5,
827
- "slug": "luhn",
828
838
  "topics": [
829
839
  "algorithms",
830
840
  "strings",
831
841
  "transforming"
832
- ],
833
- "unlocked_by": "beer-song",
834
- "uuid": "85ab318f-7842-486d-88de-f0ff7fbef069"
842
+ ]
835
843
  },
836
844
  {
845
+ "slug": "bank-account",
846
+ "uuid": "cb629d30-0351-4023-bd51-423267164c24",
837
847
  "core": false,
848
+ "unlocked_by": "two-fer",
838
849
  "difficulty": 5,
839
- "slug": "bank-account",
840
850
  "topics": [
841
851
  "concurrency",
842
852
  "optional_values"
843
- ],
844
- "unlocked_by": "two-fer",
845
- "uuid": "cb629d30-0351-4023-bd51-423267164c24"
853
+ ]
846
854
  },
847
855
  {
856
+ "slug": "markdown",
857
+ "uuid": "0688eb10-9581-45c0-a69a-13f20d534cb0",
848
858
  "core": false,
859
+ "unlocked_by": "kindergarten-garden",
849
860
  "difficulty": 5,
850
- "slug": "markdown",
851
861
  "topics": [
852
862
  "parsing",
853
863
  "refactoring",
854
864
  "transforming"
855
- ],
856
- "unlocked_by": "kindergarten-garden",
857
- "uuid": "0688eb10-9581-45c0-a69a-13f20d534cb0"
865
+ ]
858
866
  },
859
867
  {
868
+ "slug": "run-length-encoding",
869
+ "uuid": "0a10cd0b-ea37-4c78-a6a4-223203ac1c37",
860
870
  "core": false,
871
+ "unlocked_by": "queen-attack",
861
872
  "difficulty": 5,
862
- "slug": "run-length-encoding",
863
873
  "topics": [
864
874
  "algorithms",
865
875
  "transforming"
866
- ],
867
- "unlocked_by": "queen-attack",
868
- "uuid": "0a10cd0b-ea37-4c78-a6a4-223203ac1c37"
876
+ ]
869
877
  },
870
878
  {
879
+ "slug": "book-store",
880
+ "uuid": "3741977a-adff-47bb-a9c5-c2e444805bac",
871
881
  "core": false,
882
+ "unlocked_by": "accumulate",
872
883
  "difficulty": 5,
873
- "slug": "book-store",
874
884
  "topics": [
875
885
  "recursion"
876
- ],
877
- "unlocked_by": "accumulate",
878
- "uuid": "3741977a-adff-47bb-a9c5-c2e444805bac"
886
+ ]
879
887
  },
880
888
  {
889
+ "slug": "spiral-matrix",
890
+ "uuid": "52f8f299-b93b-4f44-bd5b-b445741b285d",
881
891
  "core": false,
892
+ "unlocked_by": "kindergarten-garden",
882
893
  "difficulty": 5,
883
- "slug": "spiral-matrix",
884
894
  "topics": [
885
895
  "algorithms",
886
896
  "matrices"
887
- ],
888
- "unlocked_by": "kindergarten-garden",
889
- "uuid": "52f8f299-b93b-4f44-bd5b-b445741b285d"
897
+ ]
890
898
  },
891
899
  {
900
+ "slug": "yacht",
901
+ "uuid": "005721ef-264e-4f81-ae63-ae72b0e5310f",
892
902
  "core": false,
903
+ "unlocked_by": "space-age",
893
904
  "difficulty": 5,
894
- "slug": "yacht",
895
905
  "topics": [
896
906
  "discriminated_unions",
897
907
  "games",
898
908
  "parsing"
899
- ],
900
- "unlocked_by": "space-age",
901
- "uuid": "005721ef-264e-4f81-ae63-ae72b0e5310f"
909
+ ]
902
910
  },
903
911
  {
912
+ "slug": "tournament",
913
+ "uuid": "b5672a0c-aac5-4274-a458-39d018b74750",
904
914
  "core": false,
915
+ "unlocked_by": "beer-song",
905
916
  "difficulty": 6,
906
- "slug": "tournament",
907
917
  "topics": [
908
918
  "parsing",
909
919
  "text_formatting"
910
- ],
911
- "unlocked_by": "beer-song",
912
- "uuid": "b5672a0c-aac5-4274-a458-39d018b74750"
920
+ ]
913
921
  },
914
922
  {
923
+ "slug": "word-search",
924
+ "uuid": "8f8a79d1-78ed-4cdd-adcc-5cd6c6781dcd",
915
925
  "core": false,
926
+ "unlocked_by": "queen-attack",
916
927
  "difficulty": 6,
917
- "slug": "word-search",
918
928
  "topics": [
919
929
  "optional_values",
920
930
  "searching",
921
931
  "tuples"
922
- ],
923
- "unlocked_by": "queen-attack",
924
- "uuid": "8f8a79d1-78ed-4cdd-adcc-5cd6c6781dcd"
932
+ ]
925
933
  },
926
934
  {
935
+ "slug": "bowling",
936
+ "uuid": "1c8ad2ca-4aec-47af-94b1-ef7e2830b463",
927
937
  "core": false,
938
+ "unlocked_by": "clock",
928
939
  "difficulty": 6,
929
- "slug": "bowling",
930
940
  "topics": [
931
941
  "algorithms"
932
- ],
933
- "unlocked_by": "clock",
934
- "uuid": "1c8ad2ca-4aec-47af-94b1-ef7e2830b463"
942
+ ]
935
943
  },
936
944
  {
945
+ "slug": "transpose",
946
+ "uuid": "3dfedd37-8159-446d-a332-e9d356f484ca",
937
947
  "core": false,
948
+ "unlocked_by": "pig-latin",
938
949
  "difficulty": 6,
939
- "slug": "transpose",
940
950
  "topics": [
941
951
  "strings",
942
952
  "transforming"
943
- ],
944
- "unlocked_by": "pig-latin",
945
- "uuid": "3dfedd37-8159-446d-a332-e9d356f484ca"
953
+ ]
946
954
  },
947
955
  {
956
+ "slug": "nth-prime",
957
+ "uuid": "220cbe7e-e781-4ab9-84ec-2b89a3c97670",
948
958
  "core": false,
959
+ "unlocked_by": "leap",
949
960
  "difficulty": 6,
950
- "slug": "nth-prime",
951
961
  "topics": [
952
962
  "mathematics"
953
- ],
954
- "unlocked_by": "leap",
955
- "uuid": "220cbe7e-e781-4ab9-84ec-2b89a3c97670"
963
+ ]
956
964
  },
957
965
  {
966
+ "slug": "palindrome-products",
967
+ "uuid": "471c89f9-8b27-4898-8e98-58e4b2921616",
958
968
  "core": false,
969
+ "unlocked_by": "queen-attack",
959
970
  "difficulty": 6,
960
- "slug": "palindrome-products",
961
971
  "topics": [
962
972
  "algorithms",
963
973
  "strings",
964
974
  "tuples"
965
- ],
966
- "unlocked_by": "queen-attack",
967
- "uuid": "471c89f9-8b27-4898-8e98-58e4b2921616"
975
+ ]
968
976
  },
969
977
  {
978
+ "slug": "complex-numbers",
979
+ "uuid": "d993508d-b4d2-4f3f-a46d-35b753bf90a9",
970
980
  "core": false,
981
+ "unlocked_by": "leap",
971
982
  "difficulty": 6,
972
- "slug": "complex-numbers",
973
983
  "topics": [
974
984
  "mathematics"
975
- ],
976
- "unlocked_by": "leap",
977
- "uuid": "d993508d-b4d2-4f3f-a46d-35b753bf90a9"
985
+ ]
978
986
  },
979
987
  {
988
+ "slug": "rational-numbers",
989
+ "uuid": "913ce020-32ae-4b65-ae64-c924d25295dc",
980
990
  "core": false,
991
+ "unlocked_by": "leap",
981
992
  "difficulty": 6,
982
- "slug": "rational-numbers",
983
993
  "topics": [
984
994
  "mathematics"
985
- ],
986
- "unlocked_by": "leap",
987
- "uuid": "913ce020-32ae-4b65-ae64-c924d25295dc"
995
+ ]
988
996
  },
989
997
  {
998
+ "slug": "rail-fence-cipher",
999
+ "uuid": "c418bba8-2185-4b45-92f1-0cfafbbe8ce5",
990
1000
  "core": false,
1001
+ "unlocked_by": "pig-latin",
991
1002
  "difficulty": 6,
992
- "slug": "rail-fence-cipher",
993
1003
  "topics": [
994
1004
  "algorithms",
995
1005
  "strings",
996
1006
  "transforming"
997
- ],
998
- "unlocked_by": "pig-latin",
999
- "uuid": "c418bba8-2185-4b45-92f1-0cfafbbe8ce5"
1007
+ ]
1000
1008
  },
1001
1009
  {
1010
+ "slug": "bracket-push",
1011
+ "uuid": "677ca063-70fe-4cfc-8112-c5d78bd1ea44",
1002
1012
  "core": false,
1013
+ "unlocked_by": "kindergarten-garden",
1003
1014
  "difficulty": 7,
1004
- "slug": "bracket-push",
1005
1015
  "topics": [
1006
1016
  "parsing",
1007
1017
  "strings"
1008
- ],
1009
- "unlocked_by": "kindergarten-garden",
1010
- "uuid": "677ca063-70fe-4cfc-8112-c5d78bd1ea44"
1018
+ ]
1011
1019
  },
1012
1020
  {
1021
+ "slug": "sublist",
1022
+ "uuid": "d17b0c35-49a7-4ea6-b68c-7b2b56dc5968",
1013
1023
  "core": false,
1024
+ "unlocked_by": "tree-building",
1014
1025
  "difficulty": 7,
1015
- "slug": "sublist",
1016
1026
  "topics": [
1017
1027
  "lists",
1018
1028
  "recursion"
1019
- ],
1020
- "unlocked_by": "tree-building",
1021
- "uuid": "d17b0c35-49a7-4ea6-b68c-7b2b56dc5968"
1029
+ ]
1022
1030
  },
1023
1031
  {
1032
+ "slug": "change",
1033
+ "uuid": "03a1c773-5c48-4f70-a2de-b742197fa9d2",
1024
1034
  "core": false,
1035
+ "unlocked_by": "accumulate",
1025
1036
  "difficulty": 7,
1026
- "slug": "change",
1027
1037
  "topics": [
1028
1038
  "integers",
1029
1039
  "recursion"
1030
- ],
1031
- "unlocked_by": "accumulate",
1032
- "uuid": "03a1c773-5c48-4f70-a2de-b742197fa9d2"
1040
+ ]
1033
1041
  },
1034
1042
  {
1043
+ "slug": "minesweeper",
1044
+ "uuid": "9e3fc78d-ac3b-4195-ad4c-9f99b0ee2678",
1035
1045
  "core": false,
1046
+ "unlocked_by": "kindergarten-garden",
1036
1047
  "difficulty": 7,
1037
- "slug": "minesweeper",
1038
1048
  "topics": [
1039
1049
  "parsing",
1040
1050
  "transforming"
1041
- ],
1042
- "unlocked_by": "kindergarten-garden",
1043
- "uuid": "9e3fc78d-ac3b-4195-ad4c-9f99b0ee2678"
1051
+ ]
1044
1052
  },
1045
1053
  {
1054
+ "slug": "diffie-hellman",
1055
+ "uuid": "2a7e3e78-ab94-40f3-8f16-1d5aa84c2f85",
1046
1056
  "core": false,
1057
+ "unlocked_by": "leap",
1047
1058
  "difficulty": 7,
1048
- "slug": "diffie-hellman",
1049
1059
  "topics": [
1050
1060
  "algorithms",
1051
1061
  "integers",
1052
1062
  "transforming"
1053
- ],
1054
- "unlocked_by": "leap",
1055
- "uuid": "2a7e3e78-ab94-40f3-8f16-1d5aa84c2f85"
1063
+ ]
1056
1064
  },
1057
1065
  {
1066
+ "slug": "dominoes",
1067
+ "uuid": "f09d34d3-f12c-4c9a-9083-68172478278e",
1058
1068
  "core": false,
1069
+ "unlocked_by": "queen-attack",
1059
1070
  "difficulty": 7,
1060
- "slug": "dominoes",
1061
1071
  "topics": [
1062
1072
  "lists",
1063
1073
  "tuples"
1064
- ],
1065
- "unlocked_by": "queen-attack",
1066
- "uuid": "f09d34d3-f12c-4c9a-9083-68172478278e"
1074
+ ]
1067
1075
  },
1068
1076
  {
1077
+ "slug": "rectangles",
1078
+ "uuid": "d3f364e0-9866-4ec4-8197-dc248b96042b",
1069
1079
  "core": false,
1080
+ "unlocked_by": "kindergarten-garden",
1070
1081
  "difficulty": 7,
1071
- "slug": "rectangles",
1072
1082
  "topics": [
1073
1083
  "parsing",
1074
1084
  "transforming"
1075
- ],
1076
- "unlocked_by": "kindergarten-garden",
1077
- "uuid": "d3f364e0-9866-4ec4-8197-dc248b96042b"
1085
+ ]
1078
1086
  },
1079
1087
  {
1088
+ "slug": "wordy",
1089
+ "uuid": "c721b3f2-4afc-4a30-bad5-77bd002c2819",
1080
1090
  "core": false,
1091
+ "unlocked_by": "kindergarten-garden",
1081
1092
  "difficulty": 7,
1082
- "slug": "wordy",
1083
1093
  "topics": [
1084
1094
  "parsing",
1085
1095
  "strings",
1086
1096
  "transforming"
1087
- ],
1088
- "unlocked_by": "kindergarten-garden",
1089
- "uuid": "c721b3f2-4afc-4a30-bad5-77bd002c2819"
1097
+ ]
1090
1098
  },
1091
1099
  {
1100
+ "slug": "hangman",
1101
+ "uuid": "ab0f1b66-011f-4aa3-89c5-c89427121279",
1092
1102
  "core": false,
1103
+ "unlocked_by": "tree-building",
1093
1104
  "difficulty": 8,
1094
- "slug": "hangman",
1095
1105
  "topics": [
1096
1106
  "reactive_programming"
1097
- ],
1098
- "unlocked_by": "tree-building",
1099
- "uuid": "ab0f1b66-011f-4aa3-89c5-c89427121279"
1107
+ ]
1100
1108
  },
1101
1109
  {
1110
+ "slug": "zebra-puzzle",
1111
+ "uuid": "ee021156-5520-4386-8b5d-9c648f30287c",
1102
1112
  "core": false,
1113
+ "unlocked_by": "robot-simulator",
1103
1114
  "difficulty": 8,
1104
- "slug": "zebra-puzzle",
1105
1115
  "topics": [
1106
1116
  "logic"
1107
- ],
1108
- "unlocked_by": "robot-simulator",
1109
- "uuid": "ee021156-5520-4386-8b5d-9c648f30287c"
1117
+ ]
1110
1118
  },
1111
1119
  {
1120
+ "slug": "poker",
1121
+ "uuid": "411b93d0-214d-4d46-9081-16b9dd376174",
1112
1122
  "core": false,
1123
+ "unlocked_by": "space-age",
1113
1124
  "difficulty": 8,
1114
- "slug": "poker",
1115
1125
  "topics": [
1116
1126
  "discriminated_unions",
1117
1127
  "games",
1118
1128
  "parsing",
1119
1129
  "sorting"
1120
- ],
1121
- "unlocked_by": "space-age",
1122
- "uuid": "411b93d0-214d-4d46-9081-16b9dd376174"
1130
+ ]
1123
1131
  },
1124
1132
  {
1133
+ "slug": "diamond",
1134
+ "uuid": "736a470f-412c-41fc-b92d-9bd59ef3bcce",
1125
1135
  "core": false,
1136
+ "unlocked_by": "beer-song",
1126
1137
  "difficulty": 8,
1127
- "slug": "diamond",
1128
1138
  "topics": [
1129
1139
  "algorithms",
1130
1140
  "text_formatting"
1131
- ],
1132
- "unlocked_by": "beer-song",
1133
- "uuid": "736a470f-412c-41fc-b92d-9bd59ef3bcce"
1141
+ ]
1134
1142
  },
1135
1143
  {
1144
+ "slug": "two-bucket",
1145
+ "uuid": "78472676-26f0-4bef-813b-9b958c4c35df",
1136
1146
  "core": false,
1147
+ "unlocked_by": "robot-simulator",
1137
1148
  "difficulty": 8,
1138
- "slug": "two-bucket",
1139
1149
  "topics": [
1140
1150
  "logic"
1141
- ],
1142
- "unlocked_by": "robot-simulator",
1143
- "uuid": "78472676-26f0-4bef-813b-9b958c4c35df"
1151
+ ]
1144
1152
  },
1145
1153
  {
1154
+ "slug": "connect",
1155
+ "uuid": "dead8124-6942-4205-9ea8-3cb926c0dc47",
1146
1156
  "core": false,
1157
+ "unlocked_by": "ocr-numbers",
1147
1158
  "difficulty": 8,
1148
- "slug": "connect",
1149
1159
  "topics": [
1150
1160
  "parsing",
1151
1161
  "transforming"
1152
- ],
1153
- "unlocked_by": "ocr-numbers",
1154
- "uuid": "dead8124-6942-4205-9ea8-3cb926c0dc47"
1162
+ ]
1155
1163
  },
1156
1164
  {
1165
+ "slug": "say",
1166
+ "uuid": "7af901ca-24ea-4c24-a660-99b1f4338e01",
1157
1167
  "core": false,
1168
+ "unlocked_by": "robot-simulator",
1158
1169
  "difficulty": 8,
1159
- "slug": "say",
1160
1170
  "topics": [
1161
1171
  "strings",
1162
1172
  "text_formatting",
1163
1173
  "transforming"
1164
- ],
1165
- "unlocked_by": "robot-simulator",
1166
- "uuid": "7af901ca-24ea-4c24-a660-99b1f4338e01"
1174
+ ]
1167
1175
  },
1168
1176
  {
1177
+ "slug": "react",
1178
+ "uuid": "8eef5619-f331-46b3-a2c1-d581f523a815",
1169
1179
  "core": false,
1180
+ "unlocked_by": "tree-building",
1170
1181
  "difficulty": 9,
1171
- "slug": "react",
1172
1182
  "topics": [
1173
1183
  "classes",
1174
1184
  "events",
1175
1185
  "reactive_programming"
1176
- ],
1177
- "unlocked_by": "tree-building",
1178
- "uuid": "8eef5619-f331-46b3-a2c1-d581f523a815"
1186
+ ]
1179
1187
  },
1180
1188
  {
1189
+ "slug": "variable-length-quantity",
1190
+ "uuid": "ef86703b-9e78-43f8-aa4c-203492ac622c",
1181
1191
  "core": false,
1192
+ "unlocked_by": "allergies",
1182
1193
  "difficulty": 9,
1183
- "slug": "variable-length-quantity",
1184
1194
  "topics": [
1185
1195
  "algorithms",
1186
1196
  "bitwise_operations"
1187
- ],
1188
- "unlocked_by": "allergies",
1189
- "uuid": "ef86703b-9e78-43f8-aa4c-203492ac622c"
1197
+ ]
1190
1198
  },
1191
1199
  {
1200
+ "slug": "go-counting",
1201
+ "uuid": "01ffa95c-1966-4031-b0d2-64f254d85b82",
1192
1202
  "core": false,
1203
+ "unlocked_by": "ocr-numbers",
1193
1204
  "difficulty": 9,
1194
- "slug": "go-counting",
1195
1205
  "topics": [
1196
1206
  "optional_values",
1197
1207
  "parsing",
1198
1208
  "tuples"
1199
- ],
1200
- "unlocked_by": "ocr-numbers",
1201
- "uuid": "01ffa95c-1966-4031-b0d2-64f254d85b82"
1209
+ ]
1202
1210
  },
1203
1211
  {
1212
+ "slug": "lens-person",
1213
+ "uuid": "443fdb8c-1a97-4086-be6a-b541faa961a5",
1204
1214
  "core": false,
1215
+ "unlocked_by": "tree-building",
1205
1216
  "difficulty": 9,
1206
- "slug": "lens-person",
1207
1217
  "topics": [
1208
1218
  "lenses"
1209
- ],
1210
- "unlocked_by": "tree-building",
1211
- "uuid": "443fdb8c-1a97-4086-be6a-b541faa961a5"
1219
+ ]
1212
1220
  },
1213
1221
  {
1222
+ "slug": "sgf-parsing",
1223
+ "uuid": "fe0e98b3-d0d3-4bf6-bfaa-8aa0e61aa625",
1214
1224
  "core": false,
1225
+ "unlocked_by": "ocr-numbers",
1215
1226
  "difficulty": 9,
1216
- "slug": "sgf-parsing",
1217
1227
  "topics": [
1218
1228
  "parsing",
1219
1229
  "transforming"
1220
- ],
1221
- "unlocked_by": "ocr-numbers",
1222
- "uuid": "fe0e98b3-d0d3-4bf6-bfaa-8aa0e61aa625"
1230
+ ]
1223
1231
  },
1224
1232
  {
1233
+ "slug": "alphametics",
1234
+ "uuid": "3d682945-5fa1-4121-9d5b-7bac60660de9",
1225
1235
  "core": false,
1236
+ "unlocked_by": "ocr-numbers",
1226
1237
  "difficulty": 9,
1227
- "slug": "alphametics",
1228
1238
  "topics": [
1229
1239
  "maps",
1230
1240
  "parsing"
1231
- ],
1232
- "unlocked_by": "ocr-numbers",
1233
- "uuid": "3d682945-5fa1-4121-9d5b-7bac60660de9"
1241
+ ]
1234
1242
  },
1235
1243
  {
1244
+ "slug": "zipper",
1245
+ "uuid": "5369eea9-00c8-4044-b272-1ce8d0590ecf",
1236
1246
  "core": false,
1247
+ "unlocked_by": "two-fer",
1237
1248
  "difficulty": 10,
1238
- "slug": "zipper",
1239
1249
  "topics": [
1240
1250
  "recursion",
1241
1251
  "searching",
1242
1252
  "trees"
1243
- ],
1244
- "unlocked_by": "two-fer",
1245
- "uuid": "5369eea9-00c8-4044-b272-1ce8d0590ecf"
1253
+ ]
1246
1254
  },
1247
1255
  {
1256
+ "slug": "forth",
1257
+ "uuid": "533981a1-632c-4ca8-a4ae-05f3ad1a810b",
1248
1258
  "core": false,
1259
+ "unlocked_by": "ocr-numbers",
1249
1260
  "difficulty": 10,
1250
- "slug": "forth",
1251
1261
  "topics": [
1252
1262
  "parsing",
1253
1263
  "stacks"
1254
- ],
1255
- "unlocked_by": "ocr-numbers",
1256
- "uuid": "533981a1-632c-4ca8-a4ae-05f3ad1a810b"
1264
+ ]
1257
1265
  },
1258
1266
  {
1267
+ "slug": "pov",
1268
+ "uuid": "a6082751-98ca-45dc-aeed-cdd19a8da0ca",
1259
1269
  "core": false,
1270
+ "unlocked_by": "two-fer",
1260
1271
  "difficulty": 10,
1261
- "slug": "pov",
1262
1272
  "topics": [
1263
1273
  "graphs",
1264
1274
  "recursion",
1265
1275
  "searching"
1266
- ],
1267
- "unlocked_by": "two-fer",
1268
- "uuid": "a6082751-98ca-45dc-aeed-cdd19a8da0ca"
1276
+ ]
1269
1277
  },
1270
1278
  {
1271
- "uuid": "df8f4106-c1ce-4c33-86b2-ad61ba5ccc4a",
1272
1279
  "slug": "binary",
1280
+ "uuid": "df8f4106-c1ce-4c33-86b2-ad61ba5ccc4a",
1281
+ "core": false,
1282
+ "unlocked_by": null,
1283
+ "difficulty": 0,
1284
+ "topics": null,
1273
1285
  "deprecated": true
1274
1286
  },
1275
1287
  {
1276
- "uuid": "81904afe-a893-45be-99f8-2e074a6f1ad5",
1277
1288
  "slug": "trinary",
1289
+ "uuid": "81904afe-a893-45be-99f8-2e074a6f1ad5",
1290
+ "core": false,
1291
+ "unlocked_by": null,
1292
+ "difficulty": 0,
1293
+ "topics": null,
1278
1294
  "deprecated": true
1279
1295
  },
1280
1296
  {
1281
- "uuid": "f29f9e56-c79b-4ae4-a0d0-29db78c677e4",
1282
1297
  "slug": "octal",
1298
+ "uuid": "f29f9e56-c79b-4ae4-a0d0-29db78c677e4",
1299
+ "core": false,
1300
+ "unlocked_by": null,
1301
+ "difficulty": 0,
1302
+ "topics": null,
1283
1303
  "deprecated": true
1284
1304
  },
1285
1305
  {
1286
- "uuid": "f4f80d57-a248-49d3-9329-587eb2643d4f",
1287
1306
  "slug": "hexadecimal",
1307
+ "uuid": "f4f80d57-a248-49d3-9329-587eb2643d4f",
1308
+ "core": false,
1309
+ "unlocked_by": null,
1310
+ "difficulty": 0,
1311
+ "topics": null,
1288
1312
  "deprecated": true
1289
1313
  }
1290
- ],
1291
- "foregone": [
1292
- "flatten-array",
1293
- "nucleotide-codons",
1294
- "paasio",
1295
- "point-mutations",
1296
- "counter"
1297
- ],
1298
- "language": "F#"
1314
+ ]
1299
1315
  }