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,45 +1,51 @@
1
1
  {
2
+ "language": "TypeScript",
2
3
  "active": true,
3
4
  "blurb": "TypeScript is a language for writing more maintainable JavaScript. TypeScript adds optional types, classes, and modules to JavaScript.",
5
+ "test_pattern": ".*[.]test[.]ts$",
4
6
  "exercises": [
5
7
  {
8
+ "slug": "hello-world",
9
+ "uuid": "755f6f85-9ab3-4af6-9e35-dbb9d64be9c5",
6
10
  "core": true,
11
+ "unlocked_by": null,
7
12
  "difficulty": 1,
8
- "slug": "hello-world",
9
13
  "topics": [
10
14
  "control_flow_conditionals",
11
15
  "optional_values",
12
16
  "strings",
13
17
  "text_formatting"
14
- ],
15
- "uuid": "755f6f85-9ab3-4af6-9e35-dbb9d64be9c5"
18
+ ]
16
19
  },
17
20
  {
21
+ "slug": "two-fer",
22
+ "uuid": "f66508fe-4ddc-4bbd-b8e6-542d400e57e9",
18
23
  "core": false,
24
+ "unlocked_by": "hello-world",
19
25
  "difficulty": 1,
20
- "slug": "two-fer",
21
26
  "topics": [
22
- "strings",
23
- "control_flow_conditionals"
24
- ],
25
- "unlocked_by": "hello-world",
26
- "uuid": "f66508fe-4ddc-4bbd-b8e6-542d400e57e9"
27
+ "control_flow_conditionals",
28
+ "strings"
29
+ ]
27
30
  },
28
31
  {
32
+ "slug": "leap",
33
+ "uuid": "fb80f76c-42da-4f62-9f0f-8c85d984908b",
29
34
  "core": true,
35
+ "unlocked_by": null,
30
36
  "difficulty": 1,
31
- "slug": "leap",
32
37
  "topics": [
33
38
  "booleans",
34
39
  "integers",
35
40
  "logic"
36
- ],
37
- "uuid": "fb80f76c-42da-4f62-9f0f-8c85d984908b"
41
+ ]
38
42
  },
39
43
  {
44
+ "slug": "simple-cipher",
45
+ "uuid": "3ea9d03e-6d06-48e5-a4d3-6e1bb9367c2f",
40
46
  "core": true,
47
+ "unlocked_by": null,
41
48
  "difficulty": 1,
42
- "slug": "simple-cipher",
43
49
  "topics": [
44
50
  "algorithms",
45
51
  "control_flow_conditionals",
@@ -49,25 +55,26 @@
49
55
  "strings",
50
56
  "text_formatting",
51
57
  "transforming"
52
- ],
53
- "uuid": "3ea9d03e-6d06-48e5-a4d3-6e1bb9367c2f"
58
+ ]
54
59
  },
55
60
  {
61
+ "slug": "armstrong-numbers",
62
+ "uuid": "31e1b8ba-a5dd-4806-9a4c-94f7550e25d5",
56
63
  "core": false,
64
+ "unlocked_by": null,
57
65
  "difficulty": 2,
58
- "slug": "armstrong-numbers",
59
66
  "topics": [
60
67
  "algorithms",
61
68
  "integers",
62
69
  "mathematics"
63
- ],
64
- "unlocked_by": null,
65
- "uuid": "31e1b8ba-a5dd-4806-9a4c-94f7550e25d5"
70
+ ]
66
71
  },
67
72
  {
73
+ "slug": "run-length-encoding",
74
+ "uuid": "16c5cf98-c381-46bb-a439-78dbc847c0d0",
68
75
  "core": false,
76
+ "unlocked_by": null,
69
77
  "difficulty": 2,
70
- "slug": "run-length-encoding",
71
78
  "topics": [
72
79
  "control_flow_conditionals",
73
80
  "exception_handling",
@@ -76,36 +83,37 @@
76
83
  "regular_expressions",
77
84
  "strings",
78
85
  "text_formatting"
79
- ],
80
- "unlocked_by": null,
81
- "uuid": "16c5cf98-c381-46bb-a439-78dbc847c0d0"
86
+ ]
82
87
  },
83
88
  {
89
+ "slug": "reverse-string",
90
+ "uuid": "86d5a60a-fc44-443d-bc00-5c6265e736c4",
84
91
  "core": false,
92
+ "unlocked_by": "leap",
85
93
  "difficulty": 2,
86
- "slug": "reverse-string",
87
94
  "topics": [
88
- "loops",
89
95
  "for",
96
+ "loops",
90
97
  "strings"
91
- ],
92
- "unlocked_by": "leap",
93
- "uuid": "86d5a60a-fc44-443d-bc00-5c6265e736c4"
98
+ ]
94
99
  },
95
100
  {
101
+ "slug": "rna-transcription",
102
+ "uuid": "b4db381f-1c99-44c6-948c-c8892d77823e",
96
103
  "core": true,
104
+ "unlocked_by": null,
97
105
  "difficulty": 2,
98
- "slug": "rna-transcription",
99
106
  "topics": [
100
107
  "strings",
101
108
  "transforming"
102
- ],
103
- "uuid": "b4db381f-1c99-44c6-948c-c8892d77823e"
109
+ ]
104
110
  },
105
111
  {
112
+ "slug": "bob",
113
+ "uuid": "3977d4e5-82ca-4801-ae20-6682dda23506",
106
114
  "core": true,
115
+ "unlocked_by": null,
107
116
  "difficulty": 2,
108
- "slug": "bob",
109
117
  "topics": [
110
118
  "control_flow_conditionals",
111
119
  "pattern_recognition",
@@ -113,26 +121,27 @@
113
121
  "regular_expressions",
114
122
  "strings",
115
123
  "unicode"
116
- ],
117
- "uuid": "3977d4e5-82ca-4801-ae20-6682dda23506"
124
+ ]
118
125
  },
119
126
  {
127
+ "slug": "protein-translation",
128
+ "uuid": "e18a436f-5d7b-4372-9f74-15e8e9a52d63",
120
129
  "core": false,
130
+ "unlocked_by": "rna-transcription",
121
131
  "difficulty": 2,
122
- "slug": "protein-translation",
123
132
  "topics": [
124
133
  "arrays",
125
134
  "control_flow_conditionals",
126
135
  "control_flow_loops",
127
136
  "strings"
128
- ],
129
- "unlocked_by": "rna-transcription",
130
- "uuid": "e18a436f-5d7b-4372-9f74-15e8e9a52d63"
137
+ ]
131
138
  },
132
139
  {
140
+ "slug": "pangram",
141
+ "uuid": "721d9c74-cc16-4b32-8f0b-ffab75027539",
133
142
  "core": true,
143
+ "unlocked_by": null,
134
144
  "difficulty": 3,
135
- "slug": "pangram",
136
145
  "topics": [
137
146
  "algorithms",
138
147
  "control_flow_conditionals",
@@ -141,13 +150,14 @@
141
150
  "maps",
142
151
  "searching",
143
152
  "strings"
144
- ],
145
- "uuid": "721d9c74-cc16-4b32-8f0b-ffab75027539"
153
+ ]
146
154
  },
147
155
  {
156
+ "slug": "isogram",
157
+ "uuid": "505eadfc-40df-476f-82d7-fe3b78b1f713",
148
158
  "core": false,
159
+ "unlocked_by": "pangram",
149
160
  "difficulty": 3,
150
- "slug": "isogram",
151
161
  "topics": [
152
162
  "ascii",
153
163
  "control_flow_conditionals",
@@ -155,67 +165,68 @@
155
165
  "filtering",
156
166
  "searching",
157
167
  "strings"
158
- ],
159
- "unlocked_by": "pangram",
160
- "uuid": "505eadfc-40df-476f-82d7-fe3b78b1f713"
168
+ ]
161
169
  },
162
170
  {
171
+ "slug": "space-age",
172
+ "uuid": "8fe1e0ef-068e-4a53-a576-35be59f8152f",
163
173
  "core": true,
174
+ "unlocked_by": null,
164
175
  "difficulty": 3,
165
- "slug": "space-age",
166
176
  "topics": [
167
177
  "classes",
168
178
  "floating_point_numbers",
169
179
  "mathematics"
170
- ],
171
- "uuid": "8fe1e0ef-068e-4a53-a576-35be59f8152f"
180
+ ]
172
181
  },
173
182
  {
183
+ "slug": "perfect-numbers",
184
+ "uuid": "53cc064f-35d2-4a0e-a915-6a25130252c3",
174
185
  "core": false,
186
+ "unlocked_by": "space-age",
175
187
  "difficulty": 3,
176
- "slug": "perfect-numbers",
177
188
  "topics": [
178
189
  "arrays",
179
190
  "control_flow_conditionals",
180
191
  "control_flow_loops",
181
192
  "integers",
182
193
  "mathematics"
183
- ],
184
- "unlocked_by": "space-age",
185
- "uuid": "53cc064f-35d2-4a0e-a915-6a25130252c3"
194
+ ]
186
195
  },
187
196
  {
197
+ "slug": "roman-numerals",
198
+ "uuid": "a4ea1a4d-d010-4039-a2b5-e3e748df7f8a",
188
199
  "core": false,
200
+ "unlocked_by": "pangram",
189
201
  "difficulty": 3,
190
- "slug": "roman-numerals",
191
202
  "topics": [
192
203
  "control_flow_conditionals",
193
204
  "control_flow_loops",
194
205
  "mathematics",
195
206
  "pattern_recognition",
196
207
  "transforming"
197
- ],
198
- "unlocked_by": "pangram",
199
- "uuid": "a4ea1a4d-d010-4039-a2b5-e3e748df7f8a"
208
+ ]
200
209
  },
201
210
  {
211
+ "slug": "diffie-hellman",
212
+ "uuid": "1d12bce3-bfdc-4785-9dc7-0a496d2e6d38",
202
213
  "core": false,
214
+ "unlocked_by": "simple-cipher",
203
215
  "difficulty": 3,
204
- "slug": "diffie-hellman",
205
216
  "topics": [
206
- "control_flow_conditionals",
207
- "control_flow_loops",
208
217
  "algorithms",
209
218
  "arrays",
219
+ "control_flow_conditionals",
220
+ "control_flow_loops",
210
221
  "exception_handling"
211
- ],
212
- "unlocked_by": "simple-cipher",
213
- "uuid": "1d12bce3-bfdc-4785-9dc7-0a496d2e6d38"
222
+ ]
214
223
  },
215
224
  {
225
+ "slug": "strain",
226
+ "uuid": "e16c3064-b2ef-11e7-abc4-cec278b6b50a",
216
227
  "core": false,
228
+ "unlocked_by": null,
217
229
  "difficulty": 4,
218
- "slug": "strain",
219
230
  "topics": [
220
231
  "algorithms",
221
232
  "arrays",
@@ -224,40 +235,42 @@
224
235
  "control_flow_loops",
225
236
  "filtering",
226
237
  "lists"
227
- ],
228
- "uuid": "e16c3064-b2ef-11e7-abc4-cec278b6b50a"
238
+ ]
229
239
  },
230
240
  {
241
+ "slug": "twelve-days",
242
+ "uuid": "cb04ab17-9611-44a1-8406-ed385da0044d",
231
243
  "core": false,
244
+ "unlocked_by": "bob",
232
245
  "difficulty": 4,
233
- "slug": "twelve-days",
234
246
  "topics": [
235
247
  "control_flow_conditionals",
236
248
  "control_flow_loops",
249
+ "pattern_recognition",
237
250
  "polymorphism",
238
- "strings",
239
- "pattern_recognition"
240
- ],
241
- "unlocked_by": "bob",
242
- "uuid": "cb04ab17-9611-44a1-8406-ed385da0044d"
251
+ "strings"
252
+ ]
243
253
  },
244
254
  {
255
+ "slug": "prime-factors",
256
+ "uuid": "4ecf9470-a959-11e7-abc4-cec278b6b50a",
245
257
  "core": true,
258
+ "unlocked_by": null,
246
259
  "difficulty": 4,
247
- "slug": "prime-factors",
248
260
  "topics": [
249
261
  "algorithms",
250
262
  "control_flow_conditionals",
251
263
  "control_flow_loops",
252
264
  "integers",
253
265
  "mathematics"
254
- ],
255
- "uuid": "4ecf9470-a959-11e7-abc4-cec278b6b50a"
266
+ ]
256
267
  },
257
268
  {
269
+ "slug": "matrix",
270
+ "uuid": "167ec8f2-a206-4a7e-999d-7dbfc136a9fe",
258
271
  "core": true,
272
+ "unlocked_by": null,
259
273
  "difficulty": 4,
260
- "slug": "matrix",
261
274
  "topics": [
262
275
  "arrays",
263
276
  "control_flow_conditionals",
@@ -265,13 +278,14 @@
265
278
  "data_structures",
266
279
  "matrices",
267
280
  "text_formatting"
268
- ],
269
- "uuid": "167ec8f2-a206-4a7e-999d-7dbfc136a9fe"
281
+ ]
270
282
  },
271
283
  {
284
+ "slug": "saddle-points",
285
+ "uuid": "d35da73a-5124-4911-a2c3-07c68d4b79c2",
272
286
  "core": false,
287
+ "unlocked_by": "matrix",
273
288
  "difficulty": 4,
274
- "slug": "saddle-points",
275
289
  "topics": [
276
290
  "arrays",
277
291
  "control_flow_conditionals",
@@ -281,28 +295,28 @@
281
295
  "mathematics",
282
296
  "matrices",
283
297
  "sets"
284
- ],
285
- "unlocked_by": "matrix",
286
- "uuid": "d35da73a-5124-4911-a2c3-07c68d4b79c2"
298
+ ]
287
299
  },
288
300
  {
301
+ "slug": "nucleotide-count",
302
+ "uuid": "ef16d487-524e-4c5a-8311-9162babba181",
289
303
  "core": false,
304
+ "unlocked_by": "rna-transcription",
290
305
  "difficulty": 4,
291
- "slug": "nucleotide-count",
292
306
  "topics": [
307
+ "arrays",
293
308
  "control_flow_conditionals",
294
309
  "control_flow_loops",
295
310
  "strings",
296
- "arrays",
297
311
  "text_formatting"
298
- ],
299
- "unlocked_by": "rna-transcription",
300
- "uuid": "ef16d487-524e-4c5a-8311-9162babba181"
312
+ ]
301
313
  },
302
314
  {
315
+ "slug": "pig-latin",
316
+ "uuid": "38951bf1-6e7d-4d7d-9b7d-219471f17112",
303
317
  "core": false,
318
+ "unlocked_by": "bob",
304
319
  "difficulty": 4,
305
- "slug": "pig-latin",
306
320
  "topics": [
307
321
  "control_flow_conditionals",
308
322
  "control_flow_loops",
@@ -310,28 +324,28 @@
310
324
  "regular_expressions",
311
325
  "strings",
312
326
  "transforming"
313
- ],
314
- "unlocked_by": "bob",
315
- "uuid": "38951bf1-6e7d-4d7d-9b7d-219471f17112"
327
+ ]
316
328
  },
317
329
  {
330
+ "slug": "luhn",
331
+ "uuid": "249365fb-145c-40e3-90ed-11f3f74a9df1",
318
332
  "core": false,
333
+ "unlocked_by": "space-age",
319
334
  "difficulty": 4,
320
- "slug": "luhn",
321
335
  "topics": [
322
336
  "control_flow_conditionals",
323
337
  "control_flow_loops",
324
338
  "integers",
325
339
  "mathematics",
326
340
  "strings"
327
- ],
328
- "unlocked_by": "space-age",
329
- "uuid": "249365fb-145c-40e3-90ed-11f3f74a9df1"
341
+ ]
330
342
  },
331
343
  {
344
+ "slug": "transpose",
345
+ "uuid": "4e484e0f-0b24-4778-a949-224294735c23",
332
346
  "core": false,
347
+ "unlocked_by": "matrix",
333
348
  "difficulty": 4,
334
- "slug": "transpose",
335
349
  "topics": [
336
350
  "arrays",
337
351
  "control_flow_conditionals",
@@ -340,28 +354,28 @@
340
354
  "matrices",
341
355
  "strings",
342
356
  "text_formatting"
343
- ],
344
- "unlocked_by": "matrix",
345
- "uuid": "4e484e0f-0b24-4778-a949-224294735c23"
357
+ ]
346
358
  },
347
359
  {
360
+ "slug": "isbn-verifier",
361
+ "uuid": "50447e18-cfe8-43fb-a791-e8a82483bef6",
348
362
  "core": false,
363
+ "unlocked_by": "bob",
349
364
  "difficulty": 4,
350
- "slug": "isbn-verifier",
351
365
  "topics": [
352
366
  "control_flow_conditionals",
353
367
  "control_flow_loops",
354
368
  "pattern_recognition",
355
369
  "regular_expressions",
356
370
  "strings"
357
- ],
358
- "unlocked_by": "bob",
359
- "uuid": "50447e18-cfe8-43fb-a791-e8a82483bef6"
371
+ ]
360
372
  },
361
373
  {
374
+ "slug": "proverb",
375
+ "uuid": "b18876a7-f281-46e5-94b9-f805bb0d1fec",
362
376
  "core": false,
377
+ "unlocked_by": "bob",
363
378
  "difficulty": 4,
364
- "slug": "proverb",
365
379
  "topics": [
366
380
  "arrays",
367
381
  "control_flow_conditionals",
@@ -369,69 +383,69 @@
369
383
  "optional_values",
370
384
  "strings",
371
385
  "text_formatting"
372
- ],
373
- "unlocked_by": "bob",
374
- "uuid": "b18876a7-f281-46e5-94b9-f805bb0d1fec"
386
+ ]
375
387
  },
376
388
  {
389
+ "slug": "complex-numbers",
390
+ "uuid": "59d842b4-a804-4cd5-a388-983a22a70c9e",
377
391
  "core": false,
392
+ "unlocked_by": "space-age",
378
393
  "difficulty": 4,
379
- "slug": "complex-numbers",
380
394
  "topics": [
381
395
  "arrays",
382
396
  "control_flow_conditionals",
383
397
  "control_flow_loops",
384
398
  "mathematics"
385
- ],
386
- "unlocked_by": "space-age",
387
- "uuid": "59d842b4-a804-4cd5-a388-983a22a70c9e"
399
+ ]
388
400
  },
389
401
  {
402
+ "slug": "house",
403
+ "uuid": "9850a74a-1842-4db0-b3ed-5a53b4f25050",
390
404
  "core": false,
405
+ "unlocked_by": "bob",
391
406
  "difficulty": 4,
392
- "slug": "house",
393
407
  "topics": [
408
+ "arrays",
394
409
  "control_flow_conditionals",
395
410
  "control_flow_loops",
396
- "strings",
397
- "arrays",
398
- "recursion"
399
- ],
400
- "unlocked_by": "bob",
401
- "uuid": "9850a74a-1842-4db0-b3ed-5a53b4f25050"
411
+ "recursion",
412
+ "strings"
413
+ ]
402
414
  },
403
415
  {
416
+ "slug": "rectangles",
417
+ "uuid": "6d81d98f-afde-4aea-85ff-c7baef98fb7e",
404
418
  "core": false,
419
+ "unlocked_by": "matrix",
405
420
  "difficulty": 4,
406
- "slug": "rectangles",
407
421
  "topics": [
422
+ "arrays",
408
423
  "control_flow_conditionals",
409
424
  "control_flow_loops",
410
- "arrays",
411
425
  "matrices",
412
426
  "strings"
413
- ],
414
- "unlocked_by": "matrix",
415
- "uuid": "6d81d98f-afde-4aea-85ff-c7baef98fb7e"
427
+ ]
416
428
  },
417
429
  {
430
+ "slug": "spiral-matrix",
431
+ "uuid": "702b1e87-55db-479f-9ef9-4ccdfe8849b1",
418
432
  "core": false,
433
+ "unlocked_by": "matrix",
419
434
  "difficulty": 4,
420
- "slug": "spiral-matrix",
421
435
  "topics": [
422
436
  "arrays",
423
437
  "control_flow_conditionals",
424
438
  "control_flow_loops",
425
439
  "data_structures",
426
440
  "matrices"
427
- ],
428
- "unlocked_by": "matrix",
429
- "uuid": "702b1e87-55db-479f-9ef9-4ccdfe8849b1"
441
+ ]
430
442
  },
431
443
  {
444
+ "slug": "nth-prime",
445
+ "uuid": "4c1392d7-8779-496f-b0bb-81605e777e3b",
432
446
  "core": false,
447
+ "unlocked_by": "prime-factors",
433
448
  "difficulty": 5,
434
- "slug": "nth-prime",
435
449
  "topics": [
436
450
  "algorithms",
437
451
  "control_flow_conditionals",
@@ -439,27 +453,27 @@
439
453
  "exception_handling",
440
454
  "integers",
441
455
  "mathematics"
442
- ],
443
- "unlocked_by": "prime-factors",
444
- "uuid": "4c1392d7-8779-496f-b0bb-81605e777e3b"
456
+ ]
445
457
  },
446
458
  {
459
+ "slug": "sum-of-multiples",
460
+ "uuid": "e431fb10-766a-4542-94ad-9c30224a3885",
447
461
  "core": false,
462
+ "unlocked_by": "space-age",
448
463
  "difficulty": 5,
449
- "slug": "sum-of-multiples",
450
464
  "topics": [
451
465
  "control_flow_conditionals",
452
466
  "control_flow_loops",
453
467
  "integers",
454
468
  "lists"
455
- ],
456
- "unlocked_by": "space-age",
457
- "uuid": "e431fb10-766a-4542-94ad-9c30224a3885"
469
+ ]
458
470
  },
459
471
  {
472
+ "slug": "linked-list",
473
+ "uuid": "7d42dd76-a6cf-11e7-abc4-cec278b6b50a",
460
474
  "core": true,
475
+ "unlocked_by": null,
461
476
  "difficulty": 5,
462
- "slug": "linked-list",
463
477
  "topics": [
464
478
  "algorithms",
465
479
  "arrays",
@@ -468,92 +482,93 @@
468
482
  "data_structures",
469
483
  "lists",
470
484
  "optional_values"
471
- ],
472
- "uuid": "7d42dd76-a6cf-11e7-abc4-cec278b6b50a"
485
+ ]
473
486
  },
474
487
  {
488
+ "slug": "bracket-push",
489
+ "uuid": "b455f96b-329d-4dec-ac31-599b02c0b2e5",
475
490
  "core": false,
491
+ "unlocked_by": null,
476
492
  "difficulty": 5,
477
- "slug": "bracket-push",
478
493
  "topics": [
479
494
  "parsing",
480
495
  "stacks",
481
496
  "strings"
482
- ],
483
- "unlocked_by": null,
484
- "uuid": "b455f96b-329d-4dec-ac31-599b02c0b2e5"
497
+ ]
485
498
  },
486
499
  {
500
+ "slug": "flatten-array",
501
+ "uuid": "ebe8227e-f445-4387-bf9f-54d4d9730142",
487
502
  "core": false,
503
+ "unlocked_by": null,
488
504
  "difficulty": 5,
489
- "slug": "flatten-array",
490
505
  "topics": [
491
506
  "arrays",
492
507
  "lists",
493
508
  "loops",
494
509
  "recursion"
495
- ],
496
- "unlocked_by": null,
497
- "uuid": "ebe8227e-f445-4387-bf9f-54d4d9730142"
510
+ ]
498
511
  },
499
512
  {
513
+ "slug": "grains",
514
+ "uuid": "5a04b3f8-99b6-4aec-8afd-0d54930e4aff",
500
515
  "core": false,
516
+ "unlocked_by": "space-age",
501
517
  "difficulty": 5,
502
- "slug": "grains",
503
518
  "topics": [
504
519
  "control_flow_conditionals",
505
520
  "control_flow_loops",
506
521
  "integers",
507
522
  "mathematics"
508
- ],
509
- "unlocked_by": "space-age",
510
- "uuid": "5a04b3f8-99b6-4aec-8afd-0d54930e4aff"
523
+ ]
511
524
  },
512
525
  {
526
+ "slug": "sieve",
527
+ "uuid": "f3ad1525-c124-4b2f-b09f-4639eb4a6ad9",
513
528
  "core": false,
529
+ "unlocked_by": "prime-factors",
514
530
  "difficulty": 5,
515
- "slug": "sieve",
516
531
  "topics": [
517
532
  "control_flow_conditionals",
518
533
  "control_flow_loops",
519
534
  "integers",
520
535
  "mathematics",
521
536
  "recursion"
522
- ],
523
- "unlocked_by": "prime-factors",
524
- "uuid": "f3ad1525-c124-4b2f-b09f-4639eb4a6ad9"
537
+ ]
525
538
  },
526
539
  {
540
+ "slug": "sublist",
541
+ "uuid": "c5ed4703-59cd-4e31-b109-ba5bfc48a578",
527
542
  "core": false,
543
+ "unlocked_by": "linked-list",
528
544
  "difficulty": 5,
529
- "slug": "sublist",
530
545
  "topics": [
531
546
  "arrays",
532
547
  "control_flow_conditionals",
533
548
  "control_flow_loops",
534
549
  "data_structures",
535
550
  "lists"
536
- ],
537
- "unlocked_by": "linked-list",
538
- "uuid": "c5ed4703-59cd-4e31-b109-ba5bfc48a578"
551
+ ]
539
552
  },
540
553
  {
554
+ "slug": "accumulate",
555
+ "uuid": "32953258-d488-4761-9669-895a359a8b9a",
541
556
  "core": false,
557
+ "unlocked_by": null,
542
558
  "difficulty": 5,
543
- "slug": "accumulate",
544
559
  "topics": [
545
560
  "algorithms",
546
561
  "callbacks",
547
562
  "control_flow_conditionals",
548
563
  "lists"
549
- ],
550
- "unlocked_by": null,
551
- "uuid": "32953258-d488-4761-9669-895a359a8b9a"
564
+ ]
552
565
  },
553
566
  {
567
+ "slug": "all-your-base",
568
+ "uuid": "0f4f98fe-245a-4842-b3cf-6581b89afd44",
554
569
  "core": false,
570
+ "unlocked_by": null,
555
571
  "difficulty": 5,
556
- "slug": "all-your-base",
557
572
  "topics": [
558
573
  "control_flow_conditionals",
559
574
  "control_flow_loops",
@@ -561,14 +576,14 @@
561
576
  "integers",
562
577
  "mathematics",
563
578
  "parsing"
564
- ],
565
- "unlocked_by": null,
566
- "uuid": "0f4f98fe-245a-4842-b3cf-6581b89afd44"
579
+ ]
567
580
  },
568
581
  {
582
+ "slug": "secret-handshake",
583
+ "uuid": "ac2ec51b-a2cd-4d8c-99e3-5bd6758b4e7b",
569
584
  "core": true,
585
+ "unlocked_by": null,
570
586
  "difficulty": 6,
571
- "slug": "secret-handshake",
572
587
  "topics": [
573
588
  "algorithms",
574
589
  "arrays",
@@ -576,80 +591,83 @@
576
591
  "control_flow_conditionals",
577
592
  "control_flow_loops",
578
593
  "games"
579
- ],
580
- "uuid": "ac2ec51b-a2cd-4d8c-99e3-5bd6758b4e7b"
594
+ ]
581
595
  },
582
596
  {
597
+ "slug": "allergies",
598
+ "uuid": "9389fcb2-841a-42b6-8ece-f5a63f750273",
583
599
  "core": false,
600
+ "unlocked_by": "rna-transcription",
584
601
  "difficulty": 6,
585
- "slug": "allergies",
586
602
  "topics": [
587
603
  "arrays",
588
- "bitwise-operations",
604
+ "bitwise_operations",
589
605
  "control_flow_conditionals",
590
606
  "control_flow_loops"
591
- ],
592
- "unlocked_by": "rna-transcription",
593
- "uuid": "9389fcb2-841a-42b6-8ece-f5a63f750273"
607
+ ]
594
608
  },
595
609
  {
610
+ "slug": "binary-search-tree",
611
+ "uuid": "b912fe4f-c505-4bac-8029-76412644375b",
596
612
  "core": false,
613
+ "unlocked_by": "binary-search",
597
614
  "difficulty": 6,
598
- "slug": "binary-search-tree",
599
615
  "topics": [
600
616
  "algorithms",
601
617
  "control_flow_conditionals",
602
618
  "control_flow_loops",
603
619
  "recursion"
604
- ],
605
- "unlocked_by": "binary-search",
606
- "uuid": "b912fe4f-c505-4bac-8029-76412644375b"
620
+ ]
607
621
  },
608
622
  {
623
+ "slug": "robot-name",
624
+ "uuid": "b00dd1af-f89c-4382-ab43-514651de6b20",
609
625
  "core": true,
626
+ "unlocked_by": null,
610
627
  "difficulty": 6,
611
- "slug": "robot-name",
612
628
  "topics": [
613
629
  "control_flow_conditionals",
614
630
  "exception_handling",
615
631
  "randomness",
616
632
  "regular_expressions",
617
633
  "sets"
618
- ],
619
- "uuid": "b00dd1af-f89c-4382-ab43-514651de6b20"
634
+ ]
620
635
  },
621
636
  {
637
+ "slug": "grade-school",
638
+ "uuid": "32e79fd7-f002-4bdc-b6bd-7a91d8c1af61",
622
639
  "core": true,
640
+ "unlocked_by": null,
623
641
  "difficulty": 6,
624
- "slug": "grade-school",
625
642
  "topics": [
626
643
  "arrays",
627
644
  "maps",
628
645
  "sorting"
629
- ],
630
- "uuid": "32e79fd7-f002-4bdc-b6bd-7a91d8c1af61"
646
+ ]
631
647
  },
632
648
  {
649
+ "slug": "custom-set",
650
+ "uuid": "e2cfc3b4-5c71-4344-a692-5d55609f097b",
633
651
  "core": false,
652
+ "unlocked_by": "linked-list",
634
653
  "difficulty": 6,
635
- "slug": "custom-set",
636
654
  "topics": [
655
+ "arrays",
637
656
  "control_flow_conditionals",
638
657
  "control_flow_loops",
639
658
  "data_structures",
640
- "arrays",
641
- "lists",
642
- "sets",
643
659
  "equality",
644
- "recursion"
645
- ],
646
- "unlocked_by": "linked-list",
647
- "uuid": "e2cfc3b4-5c71-4344-a692-5d55609f097b"
660
+ "lists",
661
+ "recursion",
662
+ "sets"
663
+ ]
648
664
  },
649
665
  {
666
+ "slug": "wordy",
667
+ "uuid": "269577e5-e782-4264-9ad9-9ad4b8bc0aab",
650
668
  "core": true,
669
+ "unlocked_by": null,
651
670
  "difficulty": 7,
652
- "slug": "wordy",
653
671
  "topics": [
654
672
  "control_flow_conditionals",
655
673
  "control_flow_loops",
@@ -658,54 +676,55 @@
658
676
  "pattern_recognition",
659
677
  "regular_expressions",
660
678
  "strings"
661
- ],
662
- "uuid": "269577e5-e782-4264-9ad9-9ad4b8bc0aab"
679
+ ]
663
680
  },
664
681
  {
682
+ "slug": "minesweeper",
683
+ "uuid": "f5b00e76-3015-444d-8012-9862990db08c",
665
684
  "core": false,
685
+ "unlocked_by": null,
666
686
  "difficulty": 7,
667
- "slug": "minesweeper",
668
687
  "topics": [
669
688
  "algorithms",
670
689
  "arrays",
671
690
  "games"
672
- ],
673
- "unlocked_by": null,
674
- "uuid": "f5b00e76-3015-444d-8012-9862990db08c"
691
+ ]
675
692
  },
676
693
  {
694
+ "slug": "connect",
695
+ "uuid": "69cbdc2a-50f4-4e14-b9f4-c1ddee021018",
677
696
  "core": false,
697
+ "unlocked_by": "grade-school",
678
698
  "difficulty": 7,
679
- "slug": "connect",
680
699
  "topics": [
700
+ "arrays",
681
701
  "control_flow_conditionals",
682
702
  "control_flow_loops",
683
703
  "games",
684
- "parsing",
685
- "arrays",
686
- "maps"
687
- ],
688
- "unlocked_by": "grade-school",
689
- "uuid": "69cbdc2a-50f4-4e14-b9f4-c1ddee021018"
704
+ "maps",
705
+ "parsing"
706
+ ]
690
707
  },
691
708
  {
709
+ "slug": "palindrome-products",
710
+ "uuid": "ffb0ad36-2cf5-46d4-9a5f-5bbdfb9691a7",
692
711
  "core": false,
712
+ "unlocked_by": "prime-factors",
693
713
  "difficulty": 7,
694
- "slug": "palindrome-products",
695
714
  "topics": [
696
715
  "algorithms",
697
716
  "control_flow_conditionals",
698
717
  "control_flow_loops",
699
718
  "integers",
700
719
  "mathematics"
701
- ],
702
- "unlocked_by": "prime-factors",
703
- "uuid": "ffb0ad36-2cf5-46d4-9a5f-5bbdfb9691a7"
720
+ ]
704
721
  },
705
722
  {
723
+ "slug": "circular-buffer",
724
+ "uuid": "3cc210e8-b3bb-11e7-abc4-cec278b6b50a",
706
725
  "core": false,
726
+ "unlocked_by": "linked-list",
707
727
  "difficulty": 8,
708
- "slug": "circular-buffer",
709
728
  "topics": [
710
729
  "arrays",
711
730
  "control_flow_conditionals",
@@ -713,25 +732,26 @@
713
732
  "data_structures",
714
733
  "exception_handling",
715
734
  "lists"
716
- ],
717
- "unlocked_by": "linked-list",
718
- "uuid": "3cc210e8-b3bb-11e7-abc4-cec278b6b50a"
735
+ ]
719
736
  },
720
737
  {
738
+ "slug": "list-ops",
739
+ "uuid": "26787ded-0aa2-46f6-88dd-13a00cce9236",
721
740
  "core": true,
741
+ "unlocked_by": null,
722
742
  "difficulty": 8,
723
- "slug": "list-ops",
724
743
  "topics": [
725
744
  "data_structures",
726
745
  "lists",
727
746
  "recursion"
728
- ],
729
- "uuid": "26787ded-0aa2-46f6-88dd-13a00cce9236"
747
+ ]
730
748
  },
731
749
  {
750
+ "slug": "bowling",
751
+ "uuid": "18376dda-8e8d-4cf7-a44a-db71da438e87",
732
752
  "core": false,
753
+ "unlocked_by": "grade-school",
733
754
  "difficulty": 8,
734
- "slug": "bowling",
735
755
  "topics": [
736
756
  "arrays",
737
757
  "control_flow_conditionals",
@@ -740,14 +760,14 @@
740
760
  "games",
741
761
  "parsing",
742
762
  "text_formatting"
743
- ],
744
- "unlocked_by": "grade-school",
745
- "uuid": "18376dda-8e8d-4cf7-a44a-db71da438e87"
763
+ ]
746
764
  },
747
765
  {
766
+ "slug": "queen-attack",
767
+ "uuid": "837fbe57-a567-4fc7-a7a2-8b63059ac8b7",
748
768
  "core": false,
769
+ "unlocked_by": null,
749
770
  "difficulty": 8,
750
- "slug": "queen-attack",
751
771
  "topics": [
752
772
  "control_flow_conditionals",
753
773
  "control_flow_loops",
@@ -756,14 +776,14 @@
756
776
  "optional_values",
757
777
  "parsing",
758
778
  "text_formatting"
759
- ],
760
- "unlocked_by": null,
761
- "uuid": "837fbe57-a567-4fc7-a7a2-8b63059ac8b7"
779
+ ]
762
780
  },
763
781
  {
782
+ "slug": "crypto-square",
783
+ "uuid": "e92b7444-a5c3-4452-82fd-8c70cf14085a",
764
784
  "core": false,
785
+ "unlocked_by": "simple-cipher",
765
786
  "difficulty": 9,
766
- "slug": "crypto-square",
767
787
  "topics": [
768
788
  "algorithms",
769
789
  "arrays",
@@ -773,163 +793,163 @@
773
793
  "sorting",
774
794
  "text_formatting",
775
795
  "transforming"
776
- ],
777
- "unlocked_by": "simple-cipher",
778
- "uuid": "e92b7444-a5c3-4452-82fd-8c70cf14085a"
796
+ ]
779
797
  },
780
798
  {
799
+ "slug": "gigasecond",
800
+ "uuid": "9dfabc5c-d2a5-4896-9fc2-2b25b9a5f62f",
781
801
  "core": false,
802
+ "unlocked_by": "hello-world",
782
803
  "difficulty": 3,
783
- "slug": "gigasecond",
784
804
  "topics": [
785
805
  "time"
786
- ],
787
- "unlocked_by": "hello-world",
788
- "uuid": "9dfabc5c-d2a5-4896-9fc2-2b25b9a5f62f"
806
+ ]
789
807
  },
790
808
  {
809
+ "slug": "series",
810
+ "uuid": "dd332597-4924-48dc-abb3-1d3fde492777",
791
811
  "core": false,
812
+ "unlocked_by": "pangram",
792
813
  "difficulty": 3,
793
- "slug": "series",
794
814
  "topics": [
795
815
  "control_flow_loops",
796
816
  "exception_handling",
797
817
  "strings",
798
818
  "text_formatting"
799
- ],
800
- "unlocked_by": "pangram",
801
- "uuid": "dd332597-4924-48dc-abb3-1d3fde492777"
819
+ ]
802
820
  },
803
821
  {
822
+ "slug": "difference-of-squares",
823
+ "uuid": "3f649490-dc7d-4a77-a2a0-2ae71ae834a9",
804
824
  "core": false,
825
+ "unlocked_by": "hello-world",
805
826
  "difficulty": 3,
806
- "slug": "difference-of-squares",
807
827
  "topics": [
808
828
  "algorithms",
809
829
  "control_flow_loops",
810
830
  "integers",
811
831
  "mathematics"
812
- ],
813
- "unlocked_by": "hello-world",
814
- "uuid": "3f649490-dc7d-4a77-a2a0-2ae71ae834a9"
832
+ ]
815
833
  },
816
834
  {
835
+ "slug": "word-count",
836
+ "uuid": "5e5c48fb-91bb-495a-97f6-ec8642739a0a",
817
837
  "core": false,
838
+ "unlocked_by": "hello-world",
818
839
  "difficulty": 1,
819
- "slug": "word-count",
820
840
  "topics": [
821
841
  "control_flow_loops",
822
842
  "lists",
823
843
  "regular_expressions",
824
844
  "strings",
825
845
  "unicode"
826
- ],
827
- "unlocked_by": "hello-world",
828
- "uuid": "5e5c48fb-91bb-495a-97f6-ec8642739a0a"
846
+ ]
829
847
  },
830
848
  {
849
+ "slug": "raindrops",
850
+ "uuid": "c8677318-ba6c-4e8c-83ec-513cc6530e7f",
831
851
  "core": false,
852
+ "unlocked_by": "rna-transcription",
832
853
  "difficulty": 2,
833
- "slug": "raindrops",
834
854
  "topics": [
835
855
  "control_flow_conditionals",
836
856
  "integers",
837
857
  "strings",
838
858
  "transforming"
839
- ],
840
- "unlocked_by": "rna-transcription",
841
- "uuid": "c8677318-ba6c-4e8c-83ec-513cc6530e7f"
859
+ ]
842
860
  },
843
861
  {
862
+ "slug": "etl",
863
+ "uuid": "ab027a47-d483-4011-aac4-564a6284e5b8",
844
864
  "core": false,
865
+ "unlocked_by": "rna-transcription",
845
866
  "difficulty": 2,
846
- "slug": "etl",
847
867
  "topics": [
848
868
  "control_flow_loops",
849
869
  "integers",
850
870
  "maps",
851
871
  "transforming"
852
- ],
853
- "unlocked_by": "rna-transcription",
854
- "uuid": "ab027a47-d483-4011-aac4-564a6284e5b8"
872
+ ]
855
873
  },
856
874
  {
875
+ "slug": "hamming",
876
+ "uuid": "18204e23-fca8-44dc-8d5c-abe66b87c640",
857
877
  "core": false,
878
+ "unlocked_by": "rna-transcription",
858
879
  "difficulty": 3,
859
- "slug": "hamming",
860
880
  "topics": [
861
881
  "control_flow_conditionals",
862
882
  "control_flow_loops",
863
883
  "equality",
864
884
  "strings"
865
- ],
866
- "unlocked_by": "rna-transcription",
867
- "uuid": "18204e23-fca8-44dc-8d5c-abe66b87c640"
885
+ ]
868
886
  },
869
887
  {
888
+ "slug": "scrabble-score",
889
+ "uuid": "7c60f7c5-2922-4ce4-acbe-51c5ab654b4d",
870
890
  "core": false,
891
+ "unlocked_by": "rna-transcription",
871
892
  "difficulty": 5,
872
- "slug": "scrabble-score",
873
893
  "topics": [
874
894
  "control_flow_conditionals",
875
895
  "control_flow_loops",
876
896
  "maps",
877
897
  "strings"
878
- ],
879
- "unlocked_by": "rna-transcription",
880
- "uuid": "7c60f7c5-2922-4ce4-acbe-51c5ab654b4d"
898
+ ]
881
899
  },
882
900
  {
901
+ "slug": "acronym",
902
+ "uuid": "f6631a0f-2da3-47a4-b46b-7a81fa0d4dfd",
883
903
  "core": false,
904
+ "unlocked_by": "pangram",
884
905
  "difficulty": 2,
885
- "slug": "acronym",
886
906
  "topics": [
887
907
  "control_flow_loops",
888
908
  "regular_expressions",
889
909
  "strings",
890
910
  "transforming"
891
- ],
892
- "unlocked_by": "pangram",
893
- "uuid": "f6631a0f-2da3-47a4-b46b-7a81fa0d4dfd"
911
+ ]
894
912
  },
895
913
  {
914
+ "slug": "anagram",
915
+ "uuid": "d3c93056-07b9-4d06-a681-1bb25db68c01",
896
916
  "core": false,
917
+ "unlocked_by": "pangram",
897
918
  "difficulty": 2,
898
- "slug": "anagram",
899
919
  "topics": [
900
920
  "filtering",
901
921
  "strings"
902
- ],
903
- "unlocked_by": "pangram",
904
- "uuid": "d3c93056-07b9-4d06-a681-1bb25db68c01"
922
+ ]
905
923
  },
906
924
  {
925
+ "slug": "phone-number",
926
+ "uuid": "bbd4665c-be4b-4d70-bc92-e91ce7a1d55f",
907
927
  "core": false,
928
+ "unlocked_by": "pangram",
908
929
  "difficulty": 5,
909
- "slug": "phone-number",
910
930
  "topics": [
911
931
  "parsing",
912
932
  "transforming"
913
- ],
914
- "unlocked_by": "pangram",
915
- "uuid": "bbd4665c-be4b-4d70-bc92-e91ce7a1d55f"
933
+ ]
916
934
  },
917
935
  {
936
+ "slug": "beer-song",
937
+ "uuid": "7a4fefd2-6e71-42d6-82fd-a25d2ef9eae9",
918
938
  "core": false,
939
+ "unlocked_by": "bob",
919
940
  "difficulty": 5,
920
- "slug": "beer-song",
921
941
  "topics": [
922
942
  "control_flow_conditionals",
923
943
  "control_flow_loops",
924
944
  "strings"
925
- ],
926
- "unlocked_by": "bob",
927
- "uuid": "7a4fefd2-6e71-42d6-82fd-a25d2ef9eae9"
945
+ ]
928
946
  },
929
947
  {
948
+ "slug": "say",
949
+ "uuid": "8e7b92f4-a508-4200-bd62-b36281dd9ed9",
930
950
  "core": false,
951
+ "unlocked_by": "bob",
931
952
  "difficulty": 6,
932
- "slug": "say",
933
953
  "topics": [
934
954
  "control_flow_conditionals",
935
955
  "control_flow_loops",
@@ -938,111 +958,115 @@
938
958
  "mathematics",
939
959
  "strings",
940
960
  "text_formatting"
941
- ],
942
- "unlocked_by": "bob",
943
- "uuid": "8e7b92f4-a508-4200-bd62-b36281dd9ed9"
961
+ ]
944
962
  },
945
963
  {
964
+ "slug": "food-chain",
965
+ "uuid": "246129c9-83b5-43e0-beb6-8a2cea7e4e17",
946
966
  "core": false,
967
+ "unlocked_by": "bob",
947
968
  "difficulty": 4,
948
- "slug": "food-chain",
949
969
  "topics": [
950
970
  "algorithms",
951
971
  "text_formatting"
952
- ],
953
- "unlocked_by": "bob",
954
- "uuid": "246129c9-83b5-43e0-beb6-8a2cea7e4e17"
972
+ ]
955
973
  },
956
974
  {
975
+ "slug": "clock",
976
+ "uuid": "c6960d69-7794-4711-8891-9c5a63727112",
957
977
  "core": true,
978
+ "unlocked_by": null,
958
979
  "difficulty": 3,
959
- "slug": "clock",
960
980
  "topics": [
961
981
  "integers",
962
982
  "logic",
963
983
  "mathematics",
964
984
  "strings"
965
- ],
966
- "uuid": "c6960d69-7794-4711-8891-9c5a63727112"
985
+ ]
967
986
  },
968
987
  {
988
+ "slug": "triangle",
989
+ "uuid": "0eb37e93-d191-4451-bd77-cd3681c91d94",
969
990
  "core": false,
991
+ "unlocked_by": "leap",
970
992
  "difficulty": 3,
971
- "slug": "triangle",
972
993
  "topics": [
973
994
  "control_flow_conditionals",
974
995
  "control_flow_loops",
975
996
  "exception_handling",
976
997
  "integers",
977
998
  "mathematics"
978
- ],
979
- "unlocked_by": "leap",
980
- "uuid": "0eb37e93-d191-4451-bd77-cd3681c91d94"
999
+ ]
981
1000
  },
982
1001
  {
1002
+ "slug": "collatz-conjecture",
1003
+ "uuid": "a701b4ca-55ea-4aa9-a607-2fe8a9828d9c",
983
1004
  "core": false,
1005
+ "unlocked_by": "leap",
984
1006
  "difficulty": 4,
985
- "slug": "collatz-conjecture",
986
1007
  "topics": [
987
1008
  "conditionals",
988
1009
  "exception_handling",
989
1010
  "integers",
990
1011
  "mathematics",
991
1012
  "recursion"
992
- ],
993
- "unlocked_by": "leap",
994
- "uuid": "a701b4ca-55ea-4aa9-a607-2fe8a9828d9c"
1013
+ ]
995
1014
  },
996
1015
  {
1016
+ "slug": "pascals-triangle",
1017
+ "uuid": "10edb37d-cf5d-443a-bb4c-8831a3986b61",
997
1018
  "core": true,
1019
+ "unlocked_by": null,
998
1020
  "difficulty": 5,
999
- "slug": "pascals-triangle",
1000
1021
  "topics": [
1001
1022
  "control_flow_conditionals",
1002
1023
  "control_flow_loops",
1003
1024
  "mathematics"
1004
- ],
1005
- "uuid": "10edb37d-cf5d-443a-bb4c-8831a3986b61"
1025
+ ]
1006
1026
  },
1007
1027
  {
1028
+ "slug": "rational-numbers",
1029
+ "uuid": "4439ab9d-266b-483b-b5ca-3920c478fd62",
1008
1030
  "core": true,
1031
+ "unlocked_by": null,
1009
1032
  "difficulty": 5,
1010
- "slug": "rational-numbers",
1011
1033
  "topics": [
1034
+ "algorithms",
1012
1035
  "floating_point_numbers",
1013
- "mathematics",
1014
- "algorithms"
1015
- ],
1016
- "unlocked_by": null,
1017
- "uuid": "4439ab9d-266b-483b-b5ca-3920c478fd62"
1036
+ "mathematics"
1037
+ ]
1018
1038
  },
1019
1039
  {
1040
+ "slug": "binary-search",
1041
+ "uuid": "53584e8d-9b8d-4c0e-8ad8-4c228fcf6bcf",
1020
1042
  "core": true,
1043
+ "unlocked_by": null,
1021
1044
  "difficulty": 5,
1022
- "slug": "binary-search",
1023
1045
  "topics": [
1024
1046
  "algorithms",
1025
1047
  "arrays",
1026
1048
  "control_flow_conditionals",
1027
1049
  "control_flow_loops"
1028
- ],
1029
- "uuid": "53584e8d-9b8d-4c0e-8ad8-4c228fcf6bcf"
1050
+ ]
1030
1051
  },
1031
1052
  {
1053
+ "slug": "rotational-cipher",
1054
+ "uuid": "dbe39983-5635-4369-89a3-fd549144259b",
1032
1055
  "core": false,
1056
+ "unlocked_by": null,
1033
1057
  "difficulty": 4,
1034
- "slug": "rotational-cipher",
1035
1058
  "topics": [
1036
1059
  "ascii",
1037
1060
  "iterators",
1038
1061
  "mathematics"
1039
- ],
1040
- "uuid": "dbe39983-5635-4369-89a3-fd549144259b"
1062
+ ]
1041
1063
  },
1042
1064
  {
1065
+ "slug": "largest-series-product",
1066
+ "uuid": "b646dc26-59c1-436e-883a-20290de7a526",
1043
1067
  "core": false,
1068
+ "unlocked_by": "pangram",
1044
1069
  "difficulty": 7,
1045
- "slug": "largest-series-product",
1046
1070
  "topics": [
1047
1071
  "control_flow_conditionals",
1048
1072
  "control_flow_loops",
@@ -1051,28 +1075,28 @@
1051
1075
  "mathematics",
1052
1076
  "regular_expressions",
1053
1077
  "strings"
1054
- ],
1055
- "unlocked_by": "pangram",
1056
- "uuid": "b646dc26-59c1-436e-883a-20290de7a526"
1078
+ ]
1057
1079
  },
1058
1080
  {
1081
+ "slug": "kindergarten-garden",
1082
+ "uuid": "d70d3579-999c-452c-9243-98908e24b47e",
1059
1083
  "core": false,
1084
+ "unlocked_by": "wordy",
1060
1085
  "difficulty": 7,
1061
- "slug": "kindergarten-garden",
1062
1086
  "topics": [
1063
- "Control-flow (conditionals)",
1064
- "Control-flow (loops)",
1065
- "Strings",
1066
- "Arrays",
1067
- "Text formatting"
1068
- ],
1069
- "unlocked_by": "wordy",
1070
- "uuid": "d70d3579-999c-452c-9243-98908e24b47e"
1087
+ "arrays",
1088
+ "control_flow_conditionals",
1089
+ "control_flow_loops",
1090
+ "strings",
1091
+ "text_formatting"
1092
+ ]
1071
1093
  },
1072
1094
  {
1095
+ "slug": "robot-simulator",
1096
+ "uuid": "abe907d0-7ca0-4fe5-83fd-72a4d2acab66",
1073
1097
  "core": false,
1098
+ "unlocked_by": "wordy",
1074
1099
  "difficulty": 5,
1075
- "slug": "robot-simulator",
1076
1100
  "topics": [
1077
1101
  "control_flow_conditionals",
1078
1102
  "control_flow_loops",
@@ -1080,76 +1104,76 @@
1080
1104
  "games",
1081
1105
  "parsing",
1082
1106
  "strings"
1083
- ],
1084
- "unlocked_by": "wordy",
1085
- "uuid": "abe907d0-7ca0-4fe5-83fd-72a4d2acab66"
1107
+ ]
1086
1108
  },
1087
1109
  {
1088
- "uuid": "85d74be3-8a54-4355-9ef8-0f13ed2a7683",
1089
1110
  "slug": "pythagorean-triplet",
1111
+ "uuid": "85d74be3-8a54-4355-9ef8-0f13ed2a7683",
1090
1112
  "core": false,
1091
1113
  "unlocked_by": "space-age",
1092
1114
  "difficulty": 5,
1093
1115
  "topics": [
1116
+ "algorithms",
1094
1117
  "control_flow_conditionals",
1095
1118
  "control_flow_loops",
1096
- "algorithms",
1097
- "mathematics",
1098
- "integers"
1119
+ "integers",
1120
+ "mathematics"
1099
1121
  ]
1100
1122
  },
1101
1123
  {
1124
+ "slug": "ocr-numbers",
1125
+ "uuid": "61f0964f-0779-446d-bd6b-6bb988414302",
1102
1126
  "core": false,
1127
+ "unlocked_by": "matrix",
1103
1128
  "difficulty": 5,
1104
- "slug": "ocr-numbers",
1105
1129
  "topics": [
1106
1130
  "control_flow_conditionals",
1107
1131
  "control_flow_loops",
1108
- "exception_handling",
1109
1132
  "equality",
1110
- "parsing",
1133
+ "exception_handling",
1111
1134
  "integers",
1135
+ "parsing",
1112
1136
  "text_formatting"
1113
- ],
1114
- "unlocked_by": "matrix",
1115
- "uuid": "61f0964f-0779-446d-bd6b-6bb988414302"
1137
+ ]
1116
1138
  },
1117
1139
  {
1118
- "uuid": "df7c1bff-2224-422b-9c34-64b28b09510e",
1119
1140
  "slug": "diamond",
1141
+ "uuid": "df7c1bff-2224-422b-9c34-64b28b09510e",
1120
1142
  "core": false,
1121
1143
  "unlocked_by": "pascals-triangle",
1122
1144
  "difficulty": 5,
1123
1145
  "topics": [
1124
- "Control-flow (conditionals)",
1125
- "Control-flow (loops)",
1126
- "Arrays",
1127
- "Parsing",
1128
- "Games",
1129
- "Exception handling",
1130
- "Text formatting"
1146
+ "arrays",
1147
+ "control_flow_conditionals",
1148
+ "control_flow_loops",
1149
+ "exception_handling",
1150
+ "games",
1151
+ "parsing",
1152
+ "text_formatting"
1131
1153
  ]
1132
1154
  },
1133
1155
  {
1134
- "uuid": "7dd29a19-08f6-8480-2e01-1f7262d8860a",
1135
1156
  "slug": "two-bucket",
1157
+ "uuid": "7dd29a19-08f6-8480-2e01-1f7262d8860a",
1136
1158
  "core": false,
1137
1159
  "unlocked_by": "pangram",
1138
1160
  "difficulty": 6,
1139
1161
  "topics": [
1140
1162
  "algorithms",
1141
1163
  "arrays",
1142
- "control-flow-(conditionals)",
1143
- "control-flow-(loops)",
1144
- "exception-handling",
1164
+ "control_flow_conditionals",
1165
+ "control_flow_loops",
1166
+ "exception_handling",
1145
1167
  "games",
1146
1168
  "parsing"
1147
1169
  ]
1148
1170
  },
1149
1171
  {
1172
+ "slug": "variable-length-quantity",
1173
+ "uuid": "50050198-b5a3-4ab1-8b4b-0eadc8007ebb",
1150
1174
  "core": false,
1175
+ "unlocked_by": "pangram",
1151
1176
  "difficulty": 6,
1152
- "slug": "variable-length-quantity",
1153
1177
  "topics": [
1154
1178
  "algorithms",
1155
1179
  "arrays",
@@ -1160,25 +1184,21 @@
1160
1184
  "lists",
1161
1185
  "loops",
1162
1186
  "transforming"
1163
- ],
1164
- "unlocked_by": "pangram",
1165
- "uuid": "50050198-b5a3-4ab1-8b4b-0eadc8007ebb"
1187
+ ]
1166
1188
  },
1167
1189
  {
1168
- "uuid": "04de61fb-9fde-461c-b306-0b4ce52e2169",
1169
1190
  "slug": "atbash-cipher",
1191
+ "uuid": "04de61fb-9fde-461c-b306-0b4ce52e2169",
1170
1192
  "core": true,
1193
+ "unlocked_by": null,
1171
1194
  "difficulty": 7,
1172
1195
  "topics": [
1173
1196
  "algorithms",
1174
1197
  "arrays",
1175
- "control-flow-(conditionals)",
1176
- "control-flow-(loops)",
1177
- "text-formatting"
1198
+ "control_flow_conditionals",
1199
+ "control_flow_loops",
1200
+ "text_formatting"
1178
1201
  ]
1179
1202
  }
1180
- ],
1181
- "foregone": [],
1182
- "language": "TypeScript",
1183
- "test_pattern": ".*[.]test[.]ts$"
1184
- }
1203
+ ]
1204
+ }