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,1192 +1,1221 @@
1
1
  {
2
+ "language": "JavaScript",
2
3
  "active": true,
4
+ "blurb": "",
5
+ "test_pattern": ".*[.]spec[.]js$",
3
6
  "exercises": [
4
7
  {
8
+ "slug": "hello-world",
9
+ "uuid": "4756cfc9-7509-4783-8be7-60e3376b8256",
5
10
  "core": true,
11
+ "unlocked_by": null,
6
12
  "difficulty": 1,
7
- "slug": "hello-world",
8
13
  "topics": [
9
- "control-flow-(conditionals)",
10
- "optional-values",
14
+ "control_flow_conditionals",
15
+ "optional_values",
11
16
  "strings",
12
- "text-formatting"
13
- ],
14
- "uuid": "4756cfc9-7509-4783-8be7-60e3376b8256"
17
+ "text_formatting"
18
+ ]
15
19
  },
16
20
  {
21
+ "slug": "two-fer",
22
+ "uuid": "5f3d1326-f0c5-44a6-b90a-6af3b7d455f1",
17
23
  "core": false,
24
+ "unlocked_by": "hello-world",
18
25
  "difficulty": 1,
19
- "slug": "two-fer",
20
26
  "topics": [
21
- "strings",
22
- "control-flow-(conditionals)"
23
- ],
24
- "unlocked_by": "hello-world",
25
- "uuid": "5f3d1326-f0c5-44a6-b90a-6af3b7d455f1"
27
+ "control_flow_conditionals",
28
+ "strings"
29
+ ]
26
30
  },
27
31
  {
32
+ "slug": "leap",
33
+ "uuid": "0c231a1c-55f7-47b6-8a54-ccae4ab0c65b",
28
34
  "core": true,
35
+ "unlocked_by": null,
29
36
  "difficulty": 1,
30
- "slug": "leap",
31
37
  "topics": [
32
38
  "booleans",
33
39
  "integers",
34
40
  "logic"
35
- ],
36
- "uuid": "0c231a1c-55f7-47b6-8a54-ccae4ab0c65b"
41
+ ]
37
42
  },
38
43
  {
44
+ "slug": "reverse-string",
45
+ "uuid": "553a6be7-eecb-45dc-9cea-05126c525f1b",
39
46
  "core": false,
47
+ "unlocked_by": "leap",
40
48
  "difficulty": 2,
41
- "slug": "reverse-string",
42
49
  "topics": [
43
- "loops",
44
50
  "for",
51
+ "loops",
45
52
  "strings"
46
- ],
47
- "unlocked_by": "leap",
48
- "uuid": "553a6be7-eecb-45dc-9cea-05126c525f1b"
53
+ ]
49
54
  },
50
55
  {
56
+ "slug": "rna-transcription",
57
+ "uuid": "d7f57ab9-2edb-44cb-a04e-c575c0f4be4c",
51
58
  "core": true,
59
+ "unlocked_by": null,
52
60
  "difficulty": 1,
53
- "slug": "rna-transcription",
54
61
  "topics": [
55
62
  "strings",
56
63
  "transforming"
57
- ],
58
- "uuid": "d7f57ab9-2edb-44cb-a04e-c575c0f4be4c"
64
+ ]
59
65
  },
60
66
  {
67
+ "slug": "simple-cipher",
68
+ "uuid": "fff57c49-cde9-4a0c-b70b-2903cef212af",
61
69
  "core": true,
70
+ "unlocked_by": null,
62
71
  "difficulty": 1,
63
- "slug": "simple-cipher",
64
72
  "topics": [
65
73
  "algorithms",
66
- "control-flow-(conditionals)",
67
- "control-flow-(loops)",
74
+ "control_flow_conditionals",
75
+ "control_flow_loops",
68
76
  "mathematics",
69
77
  "randomness",
70
78
  "strings",
71
- "text-formatting",
79
+ "text_formatting",
72
80
  "transforming"
73
- ],
74
- "uuid": "fff57c49-cde9-4a0c-b70b-2903cef212af"
81
+ ]
75
82
  },
76
83
  {
84
+ "slug": "pangram",
85
+ "uuid": "c57bf909-130f-46e6-97ca-aeed58df1a15",
77
86
  "core": true,
87
+ "unlocked_by": null,
78
88
  "difficulty": 2,
79
- "slug": "pangram",
80
89
  "topics": [
81
90
  "algorithms",
82
- "control-flow-(conditionals)",
83
- "control-flow-(loops)",
91
+ "control_flow_conditionals",
92
+ "control_flow_loops",
84
93
  "lists",
85
94
  "maps",
86
95
  "searching",
87
96
  "strings"
88
- ],
89
- "uuid": "c57bf909-130f-46e6-97ca-aeed58df1a15"
97
+ ]
90
98
  },
91
99
  {
100
+ "slug": "bob",
101
+ "uuid": "246be5d9-b361-4893-9707-f218ede2bed6",
92
102
  "core": true,
103
+ "unlocked_by": null,
93
104
  "difficulty": 2,
94
- "slug": "bob",
95
105
  "topics": [
96
- "control-flow-(conditionals)",
97
- "pattern-recognition",
106
+ "control_flow_conditionals",
107
+ "pattern_recognition",
98
108
  "polymorfism",
99
- "regular-expressions",
109
+ "regular_expressions",
100
110
  "strings",
101
111
  "unicode"
102
- ],
103
- "uuid": "246be5d9-b361-4893-9707-f218ede2bed6"
112
+ ]
104
113
  },
105
114
  {
115
+ "slug": "gigasecond",
116
+ "uuid": "49e4874b-d7e2-4305-a9bc-627fab4ada44",
106
117
  "core": true,
118
+ "unlocked_by": null,
107
119
  "difficulty": 2,
108
- "slug": "gigasecond",
109
120
  "topics": [
110
121
  "time"
111
- ],
112
- "uuid": "49e4874b-d7e2-4305-a9bc-627fab4ada44"
122
+ ]
113
123
  },
114
124
  {
125
+ "slug": "space-age",
126
+ "uuid": "b668e11a-a8ce-4e94-ba68-3a1f0fa3f6c8",
115
127
  "core": true,
128
+ "unlocked_by": null,
116
129
  "difficulty": 3,
117
- "slug": "space-age",
118
130
  "topics": [
119
131
  "classes",
120
- "floating-point-numbers",
132
+ "floating_point_numbers",
121
133
  "mathematics"
122
- ],
123
- "uuid": "b668e11a-a8ce-4e94-ba68-3a1f0fa3f6c8"
134
+ ]
124
135
  },
125
136
  {
137
+ "slug": "binary",
138
+ "uuid": "c3035180-ff4c-4afe-8019-f8364158b74e",
126
139
  "core": true,
140
+ "unlocked_by": null,
127
141
  "difficulty": 4,
128
- "slug": "binary",
129
142
  "topics": [
130
- "control-flow-(conditionals)",
131
- "control-flow-(loops)",
132
- "exception-handling",
143
+ "control_flow_conditionals",
144
+ "control_flow_loops",
145
+ "exception_handling",
133
146
  "integers",
134
147
  "mathematics",
135
- "regular-expressions",
148
+ "regular_expressions",
136
149
  "strings"
137
- ],
138
- "uuid": "c3035180-ff4c-4afe-8019-f8364158b74e"
150
+ ]
139
151
  },
140
152
  {
153
+ "slug": "prime-factors",
154
+ "uuid": "73ecd6c2-e59b-4354-b305-64e28a60433f",
141
155
  "core": true,
156
+ "unlocked_by": null,
142
157
  "difficulty": 4,
143
- "slug": "prime-factors",
144
158
  "topics": [
145
159
  "algorithms",
146
- "control-flow-(conditionals)",
147
- "control-flow-(loops)",
160
+ "control_flow_conditionals",
161
+ "control_flow_loops",
148
162
  "integers",
149
163
  "mathematics"
150
- ],
151
- "uuid": "73ecd6c2-e59b-4354-b305-64e28a60433f"
164
+ ]
152
165
  },
153
166
  {
167
+ "slug": "matrix",
168
+ "uuid": "fbfe6032-c209-40bd-b485-8b2881638166",
154
169
  "core": true,
170
+ "unlocked_by": null,
155
171
  "difficulty": 4,
156
- "slug": "matrix",
157
172
  "topics": [
158
173
  "arrays",
159
- "control-flow-(conditionals)",
160
- "control-flow-(loops)",
161
- "data-structures",
174
+ "control_flow_conditionals",
175
+ "control_flow_loops",
176
+ "data_structures",
162
177
  "matrices",
163
- "text-formatting"
164
- ],
165
- "uuid": "fbfe6032-c209-40bd-b485-8b2881638166"
178
+ "text_formatting"
179
+ ]
166
180
  },
167
181
  {
182
+ "slug": "linked-list",
183
+ "uuid": "ecc41237-f629-458f-873e-2cc51ba1a385",
168
184
  "core": true,
185
+ "unlocked_by": null,
169
186
  "difficulty": 5,
170
- "slug": "linked-list",
171
187
  "topics": [
172
188
  "algorithms",
173
189
  "arrays",
174
- "control-flow-(conditionals)",
175
- "control-flow-(loops)",
176
- "data-structures",
190
+ "control_flow_conditionals",
191
+ "control_flow_loops",
192
+ "data_structures",
177
193
  "lists",
178
- "optional-values"
179
- ],
180
- "uuid": "ecc41237-f629-458f-873e-2cc51ba1a385"
194
+ "optional_values"
195
+ ]
181
196
  },
182
197
  {
198
+ "slug": "pascals-triangle",
199
+ "uuid": "a96ab45d-10a0-42cf-a754-c2466037ceaf",
183
200
  "core": true,
201
+ "unlocked_by": null,
184
202
  "difficulty": 5,
185
- "slug": "pascals-triangle",
186
203
  "topics": [
187
- "control-flow-(conditionals)",
188
- "control-flow-(loops)",
204
+ "control_flow_conditionals",
205
+ "control_flow_loops",
189
206
  "mathematics",
190
207
  "strings",
191
- "text-formatting"
192
- ],
193
- "uuid": "a96ab45d-10a0-42cf-a754-c2466037ceaf"
208
+ "text_formatting"
209
+ ]
194
210
  },
195
211
  {
212
+ "slug": "secret-handshake",
213
+ "uuid": "0a3a452c-f734-47eb-8e65-34c8ae710ef0",
196
214
  "core": true,
215
+ "unlocked_by": null,
197
216
  "difficulty": 6,
198
- "slug": "secret-handshake",
199
217
  "topics": [
200
218
  "algorithms",
201
219
  "arrays",
202
- "bitwise-operations",
203
- "control-flow-(conditionals)",
204
- "control-flow-(loops)",
220
+ "bitwise_operations",
221
+ "control_flow_conditionals",
222
+ "control_flow_loops",
205
223
  "games"
206
- ],
207
- "uuid": "0a3a452c-f734-47eb-8e65-34c8ae710ef0"
224
+ ]
208
225
  },
209
226
  {
227
+ "slug": "rotational-cipher",
228
+ "uuid": "7078b1a4-ef73-4c02-809d-b2de62e9af11",
210
229
  "core": false,
230
+ "unlocked_by": "secret-handshake",
211
231
  "difficulty": 6,
212
- "slug": "rotational-cipher",
213
232
  "topics": [
214
233
  "cryptography",
215
234
  "integers",
216
235
  "strings"
217
- ],
218
- "unlocked_by": "secret-handshake",
219
- "uuid": "7078b1a4-ef73-4c02-809d-b2de62e9af11"
236
+ ]
220
237
  },
221
238
  {
239
+ "slug": "grade-school",
240
+ "uuid": "029bc3ed-772d-439b-bd0a-1ba1196a79ec",
222
241
  "core": true,
242
+ "unlocked_by": null,
223
243
  "difficulty": 6,
224
- "slug": "grade-school",
225
244
  "topics": [
226
245
  "arrays",
227
246
  "maps",
228
247
  "sorting"
229
- ],
230
- "uuid": "029bc3ed-772d-439b-bd0a-1ba1196a79ec"
248
+ ]
231
249
  },
232
250
  {
251
+ "slug": "robot-name",
252
+ "uuid": "3005340b-a8d6-46ac-9075-125f9adccc2a",
233
253
  "core": true,
254
+ "unlocked_by": null,
234
255
  "difficulty": 6,
235
- "slug": "robot-name",
236
256
  "topics": [
237
- "control-flow-(conditionals)",
238
- "exception-handling",
257
+ "control_flow_conditionals",
258
+ "exception_handling",
239
259
  "randomness",
240
- "regular-expressions",
260
+ "regular_expressions",
241
261
  "sets"
242
- ],
243
- "uuid": "3005340b-a8d6-46ac-9075-125f9adccc2a"
262
+ ]
244
263
  },
245
264
  {
265
+ "slug": "wordy",
266
+ "uuid": "bb54bf08-24ba-45e1-bdf7-08db161e5843",
246
267
  "core": true,
268
+ "unlocked_by": null,
247
269
  "difficulty": 7,
248
- "slug": "wordy",
249
270
  "topics": [
250
- "control-flow-(conditionals)",
251
- "control-flow-(loops)",
252
- "exception-handling",
271
+ "control_flow_conditionals",
272
+ "control_flow_loops",
273
+ "exception_handling",
253
274
  "parsing",
254
- "pattern-recognition",
255
- "regular-expressions",
275
+ "pattern_recognition",
276
+ "regular_expressions",
256
277
  "strings"
257
- ],
258
- "uuid": "bb54bf08-24ba-45e1-bdf7-08db161e5843"
278
+ ]
259
279
  },
260
280
  {
281
+ "slug": "list-ops",
282
+ "uuid": "e70defe4-5944-4392-956c-63cb92e7fd9c",
261
283
  "core": true,
284
+ "unlocked_by": null,
262
285
  "difficulty": 8,
263
- "slug": "list-ops",
264
286
  "topics": [
265
- "data-structures",
287
+ "data_structures",
266
288
  "lists",
267
289
  "recursion"
268
- ],
269
- "uuid": "e70defe4-5944-4392-956c-63cb92e7fd9c"
290
+ ]
270
291
  },
271
292
  {
293
+ "slug": "rational-numbers",
294
+ "uuid": "2de5677e-5759-4a21-93c7-39a3d88242e8",
272
295
  "core": false,
296
+ "unlocked_by": "pascals-triangle",
273
297
  "difficulty": 5,
274
- "slug": "rational-numbers",
275
298
  "topics": [
299
+ "algorithms",
276
300
  "floating_point_numbers",
277
- "mathematics",
278
- "algorithms"
279
- ],
280
- "unlocked_by": "pascals-triangle",
281
- "uuid": "2de5677e-5759-4a21-93c7-39a3d88242e8"
301
+ "mathematics"
302
+ ]
282
303
  },
283
304
  {
305
+ "slug": "hamming",
306
+ "uuid": "3e1358c8-2bea-41f9-bc9e-8277f354a4e0",
284
307
  "core": false,
308
+ "unlocked_by": "rna-transcription",
285
309
  "difficulty": 2,
286
- "slug": "hamming",
287
310
  "topics": [
288
- "control-flow-(conditionals)",
289
- "control-flow-(loops)",
311
+ "control_flow_conditionals",
312
+ "control_flow_loops",
290
313
  "equality",
291
314
  "strings"
292
- ],
293
- "unlocked_by": "rna-transcription",
294
- "uuid": "3e1358c8-2bea-41f9-bc9e-8277f354a4e0"
315
+ ]
295
316
  },
296
317
  {
318
+ "slug": "run-length-encoding",
319
+ "uuid": "d66c2b56-b465-4922-af35-ae78944c0aac",
297
320
  "core": false,
321
+ "unlocked_by": null,
298
322
  "difficulty": 2,
299
- "slug": "run-length-encoding",
300
323
  "topics": [
301
- "control-flow-(conditionals)",
302
- "exception-handling",
324
+ "control_flow_conditionals",
325
+ "exception_handling",
303
326
  "parsing",
304
- "pattern-recognition",
305
- "regular-expressions",
327
+ "pattern_recognition",
328
+ "regular_expressions",
306
329
  "strings",
307
- "text-formatting"
308
- ],
309
- "unlocked_by": null,
310
- "uuid": "d66c2b56-b465-4922-af35-ae78944c0aac"
330
+ "text_formatting"
331
+ ]
311
332
  },
312
333
  {
334
+ "slug": "isogram",
335
+ "uuid": "35821375-5c94-4d4b-aa56-e3b079a45ca0",
313
336
  "core": false,
337
+ "unlocked_by": "pangram",
314
338
  "difficulty": 2,
315
- "slug": "isogram",
316
339
  "topics": [
317
340
  "filtering",
318
341
  "strings"
319
- ],
320
- "unlocked_by": "pangram",
321
- "uuid": "35821375-5c94-4d4b-aa56-e3b079a45ca0"
342
+ ]
322
343
  },
323
344
  {
345
+ "slug": "beer-song",
346
+ "uuid": "6f315fc3-095a-4387-aefb-cc5fee97110a",
324
347
  "core": false,
348
+ "unlocked_by": "bob",
325
349
  "difficulty": 5,
326
- "slug": "beer-song",
327
350
  "topics": [
328
- "control-flow-(conditionals)",
329
- "control-flow-(loops)",
351
+ "control_flow_conditionals",
352
+ "control_flow_loops",
330
353
  "strings"
331
- ],
332
- "unlocked_by": "bob",
333
- "uuid": "6f315fc3-095a-4387-aefb-cc5fee97110a"
354
+ ]
334
355
  },
335
356
  {
357
+ "slug": "phone-number",
358
+ "uuid": "347f9f54-a0d9-469d-babf-b3edb34d9d70",
336
359
  "core": false,
360
+ "unlocked_by": "pangram",
337
361
  "difficulty": 3,
338
- "slug": "phone-number",
339
362
  "topics": [
340
363
  "parsing",
341
364
  "transforming"
342
- ],
343
- "unlocked_by": "pangram",
344
- "uuid": "347f9f54-a0d9-469d-babf-b3edb34d9d70"
365
+ ]
345
366
  },
346
367
  {
368
+ "slug": "anagram",
369
+ "uuid": "432ec2ce-c919-4142-aea2-389b67503252",
347
370
  "core": false,
371
+ "unlocked_by": "pangram",
348
372
  "difficulty": 1,
349
- "slug": "anagram",
350
373
  "topics": [
351
374
  "filtering",
352
375
  "strings"
353
- ],
354
- "unlocked_by": "pangram",
355
- "uuid": "432ec2ce-c919-4142-aea2-389b67503252"
376
+ ]
356
377
  },
357
378
  {
379
+ "slug": "food-chain",
380
+ "uuid": "a717745f-da00-4a5f-8bf3-6876e20cdf17",
358
381
  "core": false,
382
+ "unlocked_by": "bob",
359
383
  "difficulty": 4,
360
- "slug": "food-chain",
361
384
  "topics": [
362
385
  "algorithms",
363
- "text-formatting"
364
- ],
365
- "unlocked_by": "bob",
366
- "uuid": "a717745f-da00-4a5f-8bf3-6876e20cdf17"
386
+ "text_formatting"
387
+ ]
367
388
  },
368
389
  {
390
+ "slug": "etl",
391
+ "uuid": "a2a19f61-62ba-447a-8f57-537c8baa2e7a",
369
392
  "core": false,
393
+ "unlocked_by": "rna-transcription",
370
394
  "difficulty": 2,
371
- "slug": "etl",
372
395
  "topics": [
373
- "control-flow-(loops)",
396
+ "control_flow_loops",
374
397
  "integers",
375
398
  "maps",
376
399
  "transforming"
377
- ],
378
- "unlocked_by": "rna-transcription",
379
- "uuid": "a2a19f61-62ba-447a-8f57-537c8baa2e7a"
400
+ ]
380
401
  },
381
402
  {
403
+ "slug": "sublist",
404
+ "uuid": "4a83a72c-db0a-45b6-b77c-1949cb24fbae",
382
405
  "core": false,
406
+ "unlocked_by": "linked-list",
383
407
  "difficulty": 4,
384
- "slug": "sublist",
385
408
  "topics": [
386
409
  "arrays",
387
410
  "lists"
388
- ],
389
- "unlocked_by": "linked-list",
390
- "uuid": "4a83a72c-db0a-45b6-b77c-1949cb24fbae"
411
+ ]
391
412
  },
392
413
  {
414
+ "slug": "grains",
415
+ "uuid": "c5be6908-f45c-4278-ba99-3701024f4eda",
393
416
  "core": false,
417
+ "unlocked_by": "space-age",
394
418
  "difficulty": 5,
395
- "slug": "grains",
396
419
  "topics": [
397
- "control-flow-(loops)",
420
+ "control_flow_loops",
398
421
  "integers",
399
422
  "mathematics"
400
- ],
401
- "unlocked_by": "space-age",
402
- "uuid": "c5be6908-f45c-4278-ba99-3701024f4eda"
423
+ ]
403
424
  },
404
425
  {
426
+ "slug": "triangle",
427
+ "uuid": "fde792fa-84e9-4b86-8ecb-8466ad92a99d",
405
428
  "core": false,
429
+ "unlocked_by": "leap",
406
430
  "difficulty": 3,
407
- "slug": "triangle",
408
431
  "topics": [
409
- "control-flow-(conditionals)",
410
- "control-flow-(loops)",
411
- "exception-handling",
432
+ "control_flow_conditionals",
433
+ "control_flow_loops",
434
+ "exception_handling",
412
435
  "integers",
413
436
  "mathematics"
414
- ],
415
- "unlocked_by": "leap",
416
- "uuid": "fde792fa-84e9-4b86-8ecb-8466ad92a99d"
437
+ ]
417
438
  },
418
439
  {
440
+ "slug": "clock",
441
+ "uuid": "1ff85150-6c51-4758-af02-4484cf35658e",
419
442
  "core": false,
443
+ "unlocked_by": "gigasecond",
420
444
  "difficulty": 5,
421
- "slug": "clock",
422
445
  "topics": [
423
446
  "dates",
424
447
  "globalization",
425
448
  "time"
426
- ],
427
- "unlocked_by": "gigasecond",
428
- "uuid": "1ff85150-6c51-4758-af02-4484cf35658e"
449
+ ]
429
450
  },
430
451
  {
452
+ "slug": "perfect-numbers",
453
+ "uuid": "51aa5429-b2db-43ad-83cf-84e2ead22cb6",
431
454
  "core": false,
455
+ "unlocked_by": "space-age",
432
456
  "difficulty": 3,
433
- "slug": "perfect-numbers",
434
457
  "topics": [
435
458
  "arrays",
436
- "control-flow-(conditionals)",
437
- "control-flow-(loops)",
459
+ "control_flow_conditionals",
460
+ "control_flow_loops",
438
461
  "integers",
439
462
  "mathematics"
440
- ],
441
- "unlocked_by": "space-age",
442
- "uuid": "51aa5429-b2db-43ad-83cf-84e2ead22cb6"
463
+ ]
443
464
  },
444
465
  {
466
+ "slug": "word-count",
467
+ "uuid": "9a4ea3da-ad43-4850-bdf3-2c578c5de838",
445
468
  "core": false,
469
+ "unlocked_by": "pangram",
446
470
  "difficulty": 1,
447
- "slug": "word-count",
448
471
  "topics": [
449
- "control-flow-(loops)",
472
+ "control_flow_loops",
450
473
  "lists",
451
- "regular-expressions",
474
+ "regular_expressions",
452
475
  "strings",
453
476
  "unicode"
454
- ],
455
- "unlocked_by": "pangram",
456
- "uuid": "9a4ea3da-ad43-4850-bdf3-2c578c5de838"
477
+ ]
457
478
  },
458
479
  {
480
+ "slug": "acronym",
481
+ "uuid": "0c1c4788-0372-42e7-81c1-b090bb7ebc8b",
459
482
  "core": false,
483
+ "unlocked_by": "pangram",
460
484
  "difficulty": 2,
461
- "slug": "acronym",
462
485
  "topics": [
463
- "control-flow-(loops)",
464
- "regular-expressions",
486
+ "control_flow_loops",
487
+ "regular_expressions",
465
488
  "strings",
466
489
  "transforming"
467
- ],
468
- "unlocked_by": "pangram",
469
- "uuid": "0c1c4788-0372-42e7-81c1-b090bb7ebc8b"
490
+ ]
470
491
  },
471
492
  {
493
+ "slug": "scrabble-score",
494
+ "uuid": "a6bd8126-3879-4593-8380-39ebfa87801b",
472
495
  "core": false,
496
+ "unlocked_by": "rna-transcription",
473
497
  "difficulty": 5,
474
- "slug": "scrabble-score",
475
498
  "topics": [
476
- "control-flow-(conditionals)",
477
- "control-flow-(loops)",
499
+ "control_flow_conditionals",
500
+ "control_flow_loops",
478
501
  "maps",
479
502
  "strings"
480
- ],
481
- "unlocked_by": "rna-transcription",
482
- "uuid": "a6bd8126-3879-4593-8380-39ebfa87801b"
503
+ ]
483
504
  },
484
505
  {
506
+ "slug": "roman-numerals",
507
+ "uuid": "4226e3c6-99d4-406d-998a-bcf11845b211",
485
508
  "core": false,
509
+ "unlocked_by": null,
486
510
  "difficulty": 3,
487
- "slug": "roman-numerals",
488
511
  "topics": [
489
- "control-flow-(conditionals)",
490
- "control-flow-(loops)",
512
+ "control_flow_conditionals",
513
+ "control_flow_loops",
491
514
  "mathematics",
492
- "pattern-recognition",
515
+ "pattern_recognition",
493
516
  "transforming"
494
- ],
495
- "unlocked_by": null,
496
- "uuid": "4226e3c6-99d4-406d-998a-bcf11845b211"
517
+ ]
497
518
  },
498
519
  {
520
+ "slug": "circular-buffer",
521
+ "uuid": "f1943e87-182a-44f5-a885-3d68a0c0a0dc",
499
522
  "core": false,
523
+ "unlocked_by": "linked-list",
500
524
  "difficulty": 8,
501
- "slug": "circular-buffer",
502
525
  "topics": [
503
526
  "arrays",
504
- "control-flow-(conditionals)",
505
- "control-flow-(loops)",
506
- "data-structures",
507
- "exception-handling",
527
+ "control_flow_conditionals",
528
+ "control_flow_loops",
529
+ "data_structures",
530
+ "exception_handling",
508
531
  "lists"
509
- ],
510
- "unlocked_by": "linked-list",
511
- "uuid": "f1943e87-182a-44f5-a885-3d68a0c0a0dc"
532
+ ]
512
533
  },
513
534
  {
535
+ "slug": "raindrops",
536
+ "uuid": "86b1acf1-9e2d-4b04-b8b0-e9ae6beb5f3d",
514
537
  "core": false,
538
+ "unlocked_by": "rna-transcription",
515
539
  "difficulty": 2,
516
- "slug": "raindrops",
517
540
  "topics": [
518
- "control-flow-(conditionals)",
541
+ "control_flow_conditionals",
519
542
  "integers",
520
543
  "strings",
521
544
  "transforming"
522
- ],
523
- "unlocked_by": "rna-transcription",
524
- "uuid": "86b1acf1-9e2d-4b04-b8b0-e9ae6beb5f3d"
545
+ ]
525
546
  },
526
547
  {
548
+ "slug": "allergies",
549
+ "uuid": "23210e9e-81f6-4279-a776-00459c7ccd02",
527
550
  "core": false,
551
+ "unlocked_by": "rna-transcription",
528
552
  "difficulty": 6,
529
- "slug": "allergies",
530
553
  "topics": [
531
554
  "arrays",
532
- "bitwise-operations",
533
- "control-flow-(conditionals)",
534
- "control-flow-(loops)"
535
- ],
536
- "unlocked_by": "rna-transcription",
537
- "uuid": "23210e9e-81f6-4279-a776-00459c7ccd02"
555
+ "bitwise_operations",
556
+ "control_flow_conditionals",
557
+ "control_flow_loops"
558
+ ]
538
559
  },
539
560
  {
561
+ "slug": "strain",
562
+ "uuid": "e61f3d54-55d2-4d32-9d2a-e7d6af3a3247",
540
563
  "core": false,
564
+ "unlocked_by": "list-ops",
541
565
  "difficulty": 4,
542
- "slug": "strain",
543
566
  "topics": [
544
567
  "algorithms",
545
568
  "arrays",
546
569
  "callbacks",
547
- "control-flow-(conditionals)",
548
- "control-flow-(loops)",
570
+ "control_flow_conditionals",
571
+ "control_flow_loops",
549
572
  "filtering",
550
573
  "lists"
551
- ],
552
- "unlocked_by": "list-ops",
553
- "uuid": "e61f3d54-55d2-4d32-9d2a-e7d6af3a3247"
574
+ ]
554
575
  },
555
576
  {
577
+ "slug": "atbash-cipher",
578
+ "uuid": "99974454-0736-4cc0-b88f-ed5701397a97",
556
579
  "core": false,
580
+ "unlocked_by": "simple-cipher",
557
581
  "difficulty": 7,
558
- "slug": "atbash-cipher",
559
582
  "topics": [
560
583
  "algorithms",
561
584
  "arrays",
562
- "control-flow-(conditionals)",
563
- "control-flow-(loops)",
564
- "regular-expressions",
565
- "text-formatting"
566
- ],
567
- "unlocked_by": "simple-cipher",
568
- "uuid": "99974454-0736-4cc0-b88f-ed5701397a97"
585
+ "control_flow_conditionals",
586
+ "control_flow_loops",
587
+ "regular_expressions",
588
+ "text_formatting"
589
+ ]
569
590
  },
570
591
  {
592
+ "slug": "accumulate",
593
+ "uuid": "dc9b2598-9757-4b20-82f9-8049ad081ac9",
571
594
  "core": false,
595
+ "unlocked_by": "list-ops",
572
596
  "difficulty": 5,
573
- "slug": "accumulate",
574
597
  "topics": [
575
598
  "algorithms",
576
599
  "callbacks",
577
- "control-flow-(loops)",
600
+ "control_flow_loops",
578
601
  "lists"
579
- ],
580
- "unlocked_by": "list-ops",
581
- "uuid": "dc9b2598-9757-4b20-82f9-8049ad081ac9"
602
+ ]
582
603
  },
583
604
  {
605
+ "slug": "crypto-square",
606
+ "uuid": "a98e3593-d5b4-4c2b-8569-ae3ae7e07dad",
584
607
  "core": false,
608
+ "unlocked_by": "simple-cipher",
585
609
  "difficulty": 9,
586
- "slug": "crypto-square",
587
610
  "topics": [
588
611
  "algorithms",
589
612
  "arrays",
590
- "control-flow-(conditionals)",
591
- "control-flow-(loops)",
592
- "regular-expressions",
613
+ "control_flow_conditionals",
614
+ "control_flow_loops",
615
+ "regular_expressions",
593
616
  "sorting",
594
- "text-formatting",
617
+ "text_formatting",
595
618
  "transforming"
596
- ],
597
- "unlocked_by": "simple-cipher",
598
- "uuid": "a98e3593-d5b4-4c2b-8569-ae3ae7e07dad"
619
+ ]
599
620
  },
600
621
  {
622
+ "slug": "trinary",
623
+ "uuid": "f317721d-e1f5-4e68-9fdc-f9bc7b6b004d",
601
624
  "core": false,
625
+ "unlocked_by": "binary",
602
626
  "difficulty": 4,
603
- "slug": "trinary",
604
627
  "topics": [
605
- "control-flow-(conditionals)",
606
- "control-flow-(loops)",
628
+ "control_flow_conditionals",
629
+ "control_flow_loops",
607
630
  "integers",
608
631
  "mathematics",
609
- "regular-expressions",
632
+ "regular_expressions",
610
633
  "strings"
611
- ],
612
- "unlocked_by": "binary",
613
- "uuid": "f317721d-e1f5-4e68-9fdc-f9bc7b6b004d"
634
+ ]
614
635
  },
615
636
  {
637
+ "slug": "sieve",
638
+ "uuid": "4cad8ee8-40be-4d4d-8c14-45d8c6e29a32",
616
639
  "core": false,
640
+ "unlocked_by": "prime-factors",
617
641
  "difficulty": 5,
618
- "slug": "sieve",
619
642
  "topics": [
620
- "control-flow-(conditionals)",
621
- "control-flow-(loops)",
643
+ "control_flow_conditionals",
644
+ "control_flow_loops",
622
645
  "integers",
623
646
  "mathematics",
624
647
  "recursion"
625
- ],
626
- "unlocked_by": "prime-factors",
627
- "uuid": "4cad8ee8-40be-4d4d-8c14-45d8c6e29a32"
648
+ ]
628
649
  },
629
650
  {
651
+ "slug": "octal",
652
+ "uuid": "9892d47d-97a0-4a2f-8284-6f84c86559e8",
630
653
  "core": false,
654
+ "unlocked_by": "binary",
631
655
  "difficulty": 4,
632
- "slug": "octal",
633
656
  "topics": [
634
- "control-flow-(conditionals)",
635
- "control-flow-(loops)",
657
+ "control_flow_conditionals",
658
+ "control_flow_loops",
636
659
  "integers",
637
660
  "mathematics",
638
- "regular-expressions",
661
+ "regular_expressions",
639
662
  "strings"
640
- ],
641
- "unlocked_by": "binary",
642
- "uuid": "9892d47d-97a0-4a2f-8284-6f84c86559e8"
663
+ ]
643
664
  },
644
665
  {
666
+ "slug": "luhn",
667
+ "uuid": "bb46e832-8c37-45ee-9ee7-5037015b965c",
645
668
  "core": false,
669
+ "unlocked_by": "space-age",
646
670
  "difficulty": 4,
647
- "slug": "luhn",
648
671
  "topics": [
649
- "control-flow-(conditionals)",
650
- "control-flow-(loops)",
672
+ "control_flow_conditionals",
673
+ "control_flow_loops",
651
674
  "integers",
652
675
  "mathematics",
653
676
  "strings"
654
- ],
655
- "unlocked_by": "space-age",
656
- "uuid": "bb46e832-8c37-45ee-9ee7-5037015b965c"
677
+ ]
657
678
  },
658
679
  {
680
+ "slug": "pig-latin",
681
+ "uuid": "9a515ad0-34c7-4191-8784-5c4cd6385b38",
659
682
  "core": false,
683
+ "unlocked_by": "bob",
660
684
  "difficulty": 4,
661
- "slug": "pig-latin",
662
685
  "topics": [
663
- "control-flow-(conditionals)",
664
- "control-flow-(loops)",
686
+ "control_flow_conditionals",
687
+ "control_flow_loops",
665
688
  "games",
666
- "regular-expressions",
689
+ "regular_expressions",
667
690
  "strings",
668
691
  "transforming"
669
- ],
670
- "unlocked_by": "bob",
671
- "uuid": "9a515ad0-34c7-4191-8784-5c4cd6385b38"
692
+ ]
672
693
  },
673
694
  {
695
+ "slug": "pythagorean-triplet",
696
+ "uuid": "26a973dd-d72e-40fb-abeb-0ba306356ed6",
674
697
  "core": false,
698
+ "unlocked_by": "space-age",
675
699
  "difficulty": 5,
676
- "slug": "pythagorean-triplet",
677
700
  "topics": [
678
701
  "algorithms",
679
- "control-flow-(conditionals)",
680
- "control-flow-(loops)",
702
+ "control_flow_conditionals",
703
+ "control_flow_loops",
681
704
  "integers",
682
705
  "mathematics"
683
- ],
684
- "unlocked_by": "space-age",
685
- "uuid": "26a973dd-d72e-40fb-abeb-0ba306356ed6"
706
+ ]
686
707
  },
687
708
  {
709
+ "slug": "series",
710
+ "uuid": "06afdb06-8d2a-4cb0-baf1-48ae997cf1f5",
688
711
  "core": false,
712
+ "unlocked_by": "pangram",
689
713
  "difficulty": 3,
690
- "slug": "series",
691
714
  "topics": [
692
- "control-flow-(loops)",
693
- "exception-handling",
715
+ "control_flow_loops",
716
+ "exception_handling",
694
717
  "strings",
695
- "text-formatting"
696
- ],
697
- "unlocked_by": "pangram",
698
- "uuid": "06afdb06-8d2a-4cb0-baf1-48ae997cf1f5"
718
+ "text_formatting"
719
+ ]
699
720
  },
700
721
  {
722
+ "slug": "difference-of-squares",
723
+ "uuid": "07110dd5-b879-40b9-9485-685cb0963d8f",
701
724
  "core": false,
725
+ "unlocked_by": "space-age",
702
726
  "difficulty": 3,
703
- "slug": "difference-of-squares",
704
727
  "topics": [
705
728
  "algorithms",
706
- "control-flow-(loops)",
729
+ "control_flow_loops",
707
730
  "integers",
708
731
  "mathematics"
709
- ],
710
- "unlocked_by": "space-age",
711
- "uuid": "07110dd5-b879-40b9-9485-685cb0963d8f"
732
+ ]
712
733
  },
713
734
  {
735
+ "slug": "proverb",
736
+ "uuid": "8786d591-077b-49bc-be8d-d014dc9dc308",
714
737
  "core": false,
738
+ "unlocked_by": "bob",
715
739
  "difficulty": 4,
716
- "slug": "proverb",
717
740
  "topics": [
718
741
  "arrays",
719
- "control-flow-(conditionals)",
720
- "control-flow-(loops)",
721
- "optional-values",
742
+ "control_flow_conditionals",
743
+ "control_flow_loops",
744
+ "optional_values",
722
745
  "strings",
723
- "text-formatting"
724
- ],
725
- "unlocked_by": "bob",
726
- "uuid": "8786d591-077b-49bc-be8d-d014dc9dc308"
746
+ "text_formatting"
747
+ ]
727
748
  },
728
749
  {
750
+ "slug": "flatten-array",
751
+ "uuid": "32a0a5fa-c7de-470c-beff-118b448b3916",
729
752
  "core": false,
753
+ "unlocked_by": "list-ops",
730
754
  "difficulty": 1,
731
- "slug": "flatten-array",
732
755
  "topics": [
733
756
  "arrays",
734
757
  "recursion"
735
- ],
736
- "unlocked_by": "list-ops",
737
- "uuid": "32a0a5fa-c7de-470c-beff-118b448b3916"
758
+ ]
738
759
  },
739
760
  {
761
+ "slug": "hexadecimal",
762
+ "uuid": "33b8f4c0-3210-478a-9225-5c30ad6df870",
740
763
  "core": false,
764
+ "unlocked_by": "binary",
741
765
  "difficulty": 4,
742
- "slug": "hexadecimal",
743
766
  "topics": [
744
- "control-flow-(conditionals)",
745
- "control-flow-(loops)",
767
+ "control_flow_conditionals",
768
+ "control_flow_loops",
746
769
  "integers",
747
770
  "mathematics",
748
- "regular-expressions",
771
+ "regular_expressions",
749
772
  "strings"
750
- ],
751
- "unlocked_by": "binary",
752
- "uuid": "33b8f4c0-3210-478a-9225-5c30ad6df870"
773
+ ]
753
774
  },
754
775
  {
776
+ "slug": "largest-series-product",
777
+ "uuid": "44bd02a7-0e3a-4441-ab76-524e36d4661c",
755
778
  "core": false,
779
+ "unlocked_by": "pangram",
756
780
  "difficulty": 7,
757
- "slug": "largest-series-product",
758
781
  "topics": [
759
- "control-flow-(conditionals)",
760
- "control-flow-(loops)",
761
- "exception-handling",
782
+ "control_flow_conditionals",
783
+ "control_flow_loops",
784
+ "exception_handling",
762
785
  "integers",
763
786
  "mathematics",
764
- "regular-expressions",
787
+ "regular_expressions",
765
788
  "strings"
766
- ],
767
- "unlocked_by": "pangram",
768
- "uuid": "44bd02a7-0e3a-4441-ab76-524e36d4661c"
789
+ ]
769
790
  },
770
791
  {
792
+ "slug": "kindergarten-garden",
793
+ "uuid": "2702ac90-0be2-43a2-91b6-7256a25fec87",
771
794
  "core": false,
795
+ "unlocked_by": "wordy",
772
796
  "difficulty": 7,
773
- "slug": "kindergarten-garden",
774
797
  "topics": [
775
798
  "arrays",
776
- "control-flow-(conditionals)",
777
- "control-flow-(loops)",
799
+ "control_flow_conditionals",
800
+ "control_flow_loops",
778
801
  "strings",
779
- "text-formatting"
780
- ],
781
- "unlocked_by": "wordy",
782
- "uuid": "2702ac90-0be2-43a2-91b6-7256a25fec87"
802
+ "text_formatting"
803
+ ]
783
804
  },
784
805
  {
806
+ "slug": "binary-search",
807
+ "uuid": "5991c379-f033-4b46-9702-6b7fd03640e8",
785
808
  "core": false,
809
+ "unlocked_by": "linked-list",
786
810
  "difficulty": 7,
787
- "slug": "binary-search",
788
811
  "topics": [
789
812
  "algorithms",
790
813
  "arrays",
791
- "control-flow-(conditionals)",
792
- "control-flow-(loops)",
814
+ "control_flow_conditionals",
815
+ "control_flow_loops",
793
816
  "recursion"
794
- ],
795
- "unlocked_by": "linked-list",
796
- "uuid": "5991c379-f033-4b46-9702-6b7fd03640e8"
817
+ ]
797
818
  },
798
819
  {
820
+ "slug": "binary-search-tree",
821
+ "uuid": "865806e0-950f-49a5-a6e5-26472b90ab85",
799
822
  "core": false,
823
+ "unlocked_by": "linked-list",
800
824
  "difficulty": 6,
801
- "slug": "binary-search-tree",
802
825
  "topics": [
803
826
  "algorithms",
804
- "control-flow-(conditionals)",
805
- "control-flow-(loops)",
827
+ "control_flow_conditionals",
828
+ "control_flow_loops",
806
829
  "recursion"
807
- ],
808
- "unlocked_by": "linked-list",
809
- "uuid": "865806e0-950f-49a5-a6e5-26472b90ab85"
830
+ ]
810
831
  },
811
832
  {
833
+ "slug": "robot-simulator",
834
+ "uuid": "00002977-ea1e-45e2-b66e-09d793b5c1ad",
812
835
  "core": false,
836
+ "unlocked_by": "wordy",
813
837
  "difficulty": 5,
814
- "slug": "robot-simulator",
815
838
  "topics": [
816
- "control-flow-(conditionals)",
817
- "control-flow-(loops)",
818
- "exception-handling",
839
+ "control_flow_conditionals",
840
+ "control_flow_loops",
841
+ "exception_handling",
819
842
  "games",
820
843
  "parsing",
821
844
  "strings"
822
- ],
823
- "unlocked_by": "wordy",
824
- "uuid": "00002977-ea1e-45e2-b66e-09d793b5c1ad"
845
+ ]
825
846
  },
826
847
  {
848
+ "slug": "nth-prime",
849
+ "uuid": "8fa51380-ec2c-4806-8833-cf543579de17",
827
850
  "core": false,
851
+ "unlocked_by": "prime-factors",
828
852
  "difficulty": 5,
829
- "slug": "nth-prime",
830
853
  "topics": [
831
854
  "algorithms",
832
- "control-flow-(conditionals)",
833
- "control-flow-(loops)",
834
- "exception-handling",
855
+ "control_flow_conditionals",
856
+ "control_flow_loops",
857
+ "exception_handling",
835
858
  "integers",
836
859
  "mathematics"
837
- ],
838
- "unlocked_by": "prime-factors",
839
- "uuid": "8fa51380-ec2c-4806-8833-cf543579de17"
860
+ ]
840
861
  },
841
862
  {
863
+ "slug": "palindrome-products",
864
+ "uuid": "fde83f66-d927-48f8-a599-efb98927f0b1",
842
865
  "core": false,
866
+ "unlocked_by": "prime-factors",
843
867
  "difficulty": 7,
844
- "slug": "palindrome-products",
845
868
  "topics": [
846
869
  "algorithms",
847
- "control-flow-(conditionals)",
848
- "control-flow-(loops)",
849
- "exception-handling",
870
+ "control_flow_conditionals",
871
+ "control_flow_loops",
872
+ "exception_handling",
850
873
  "integers",
851
874
  "mathematics"
852
- ],
853
- "unlocked_by": "prime-factors",
854
- "uuid": "fde83f66-d927-48f8-a599-efb98927f0b1"
875
+ ]
855
876
  },
856
877
  {
878
+ "slug": "say",
879
+ "uuid": "01d286f6-5f29-4d4b-a4de-e217a4833bfa",
857
880
  "core": false,
881
+ "unlocked_by": "bob",
858
882
  "difficulty": 6,
859
- "slug": "say",
860
883
  "topics": [
861
- "control-flow-(conditionals)",
862
- "control-flow-(loops)",
863
- "exception-handling",
884
+ "control_flow_conditionals",
885
+ "control_flow_loops",
886
+ "exception_handling",
864
887
  "integers",
865
888
  "mathematics",
866
889
  "strings",
867
- "text-formatting"
868
- ],
869
- "unlocked_by": "bob",
870
- "uuid": "01d286f6-5f29-4d4b-a4de-e217a4833bfa"
890
+ "text_formatting"
891
+ ]
871
892
  },
872
893
  {
894
+ "slug": "custom-set",
895
+ "uuid": "d4ec15c4-2742-493b-97fe-9d5121f0b659",
873
896
  "core": false,
897
+ "unlocked_by": "linked-list",
874
898
  "difficulty": 6,
875
- "slug": "custom-set",
876
899
  "topics": [
877
900
  "arrays",
878
- "control-flow-(conditionals)",
879
- "control-flow-(loops)",
880
- "data-structures",
901
+ "control_flow_conditionals",
902
+ "control_flow_loops",
903
+ "data_structures",
881
904
  "equality",
882
905
  "lists",
883
906
  "recursion",
884
907
  "sets"
885
- ],
886
- "unlocked_by": "linked-list",
887
- "uuid": "d4ec15c4-2742-493b-97fe-9d5121f0b659"
908
+ ]
888
909
  },
889
910
  {
911
+ "slug": "sum-of-multiples",
912
+ "uuid": "f30463c4-9d8c-4238-a691-e594291b4425",
890
913
  "core": false,
914
+ "unlocked_by": "prime-factors",
891
915
  "difficulty": 5,
892
- "slug": "sum-of-multiples",
893
916
  "topics": [
894
- "control-flow-(conditionals)",
895
- "control-flow-(loops)",
917
+ "control_flow_conditionals",
918
+ "control_flow_loops",
896
919
  "integers",
897
920
  "lists"
898
- ],
899
- "unlocked_by": "prime-factors",
900
- "uuid": "f30463c4-9d8c-4238-a691-e594291b4425"
921
+ ]
901
922
  },
902
923
  {
924
+ "slug": "queen-attack",
925
+ "uuid": "fefcfeba-59ec-4c63-a562-374201ee39a7",
903
926
  "core": false,
927
+ "unlocked_by": null,
904
928
  "difficulty": 8,
905
- "slug": "queen-attack",
906
929
  "topics": [
907
- "control-flow-(conditionals)",
908
- "control-flow-(loops)",
930
+ "control_flow_conditionals",
931
+ "control_flow_loops",
909
932
  "equality",
910
- "exception-handling",
911
- "optional-values",
933
+ "exception_handling",
934
+ "optional_values",
912
935
  "parsing",
913
- "text-formatting"
914
- ],
915
- "unlocked_by": null,
916
- "uuid": "fefcfeba-59ec-4c63-a562-374201ee39a7"
936
+ "text_formatting"
937
+ ]
917
938
  },
918
939
  {
940
+ "slug": "saddle-points",
941
+ "uuid": "98cbae4f-78b6-4745-b922-39e8db9a12bb",
919
942
  "core": false,
943
+ "unlocked_by": "matrix",
920
944
  "difficulty": 6,
921
- "slug": "saddle-points",
922
945
  "topics": [
923
- "control-flow-(conditionals)",
924
- "control-flow-(loops)",
946
+ "control_flow_conditionals",
947
+ "control_flow_loops",
925
948
  "equality",
926
- "exception-handling",
949
+ "exception_handling",
927
950
  "integers",
928
951
  "mathematics",
929
952
  "matrices",
930
- "optional-values",
953
+ "optional_values",
931
954
  "parsing"
932
- ],
933
- "unlocked_by": "matrix",
934
- "uuid": "98cbae4f-78b6-4745-b922-39e8db9a12bb"
955
+ ]
935
956
  },
936
957
  {
958
+ "slug": "ocr-numbers",
959
+ "uuid": "759618b1-7ccc-46cd-889d-aea58ec88756",
937
960
  "core": false,
961
+ "unlocked_by": "matrix",
938
962
  "difficulty": 5,
939
- "slug": "ocr-numbers",
940
963
  "topics": [
941
- "control-flow-(conditionals)",
942
- "control-flow-(loops)",
964
+ "control_flow_conditionals",
965
+ "control_flow_loops",
943
966
  "equality",
944
- "exception-handling",
967
+ "exception_handling",
945
968
  "integers",
946
969
  "parsing",
947
- "text-formatting"
948
- ],
949
- "unlocked_by": "matrix",
950
- "uuid": "759618b1-7ccc-46cd-889d-aea58ec88756"
970
+ "text_formatting"
971
+ ]
951
972
  },
952
973
  {
974
+ "slug": "meetup",
975
+ "uuid": "86b1b6ba-c1fe-492d-a7ec-c22c525b4da8",
953
976
  "core": false,
977
+ "unlocked_by": "gigasecond",
954
978
  "difficulty": 7,
955
- "slug": "meetup",
956
979
  "topics": [
957
- "control-flow-(conditionals)",
958
- "control-flow-(loops)",
980
+ "control_flow_conditionals",
981
+ "control_flow_loops",
959
982
  "dates",
960
983
  "equality",
961
- "exception-handling",
984
+ "exception_handling",
962
985
  "time"
963
- ],
964
- "unlocked_by": "gigasecond",
965
- "uuid": "86b1b6ba-c1fe-492d-a7ec-c22c525b4da8"
986
+ ]
966
987
  },
967
988
  {
989
+ "slug": "bracket-push",
990
+ "uuid": "25099f87-5c3b-4a8a-b648-4639d1e9fa84",
968
991
  "core": false,
992
+ "unlocked_by": "pangram",
969
993
  "difficulty": 3,
970
- "slug": "bracket-push",
971
994
  "topics": [
972
- "control-flow-(conditionals)",
973
- "control-flow-(loops)",
974
- "exception-handling",
995
+ "control_flow_conditionals",
996
+ "control_flow_loops",
997
+ "exception_handling",
975
998
  "parsing",
976
999
  "strings"
977
- ],
978
- "unlocked_by": "pangram",
979
- "uuid": "25099f87-5c3b-4a8a-b648-4639d1e9fa84"
1000
+ ]
980
1001
  },
981
1002
  {
1003
+ "slug": "two-bucket",
1004
+ "uuid": "4c857b17-33b0-47fa-b981-6b2fe4e394a1",
982
1005
  "core": false,
1006
+ "unlocked_by": "grade-school",
983
1007
  "difficulty": 6,
984
- "slug": "two-bucket",
985
1008
  "topics": [
986
1009
  "algorithms",
987
1010
  "arrays",
988
- "control-flow-(conditionals)",
989
- "control-flow-(loops)",
990
- "exception-handling",
1011
+ "control_flow_conditionals",
1012
+ "control_flow_loops",
1013
+ "exception_handling",
991
1014
  "games",
992
1015
  "parsing"
993
- ],
994
- "unlocked_by": "grade-school",
995
- "uuid": "4c857b17-33b0-47fa-b981-6b2fe4e394a1"
1016
+ ]
996
1017
  },
997
1018
  {
1019
+ "slug": "bowling",
1020
+ "uuid": "c168fe1f-f84e-46e6-91fc-7553d048a4e9",
998
1021
  "core": false,
1022
+ "unlocked_by": "grade-school",
999
1023
  "difficulty": 8,
1000
- "slug": "bowling",
1001
1024
  "topics": [
1002
1025
  "arrays",
1003
- "control-flow-(conditionals)",
1004
- "control-flow-(loops)",
1005
- "exception-handling",
1026
+ "control_flow_conditionals",
1027
+ "control_flow_loops",
1028
+ "exception_handling",
1006
1029
  "games",
1007
1030
  "parsing",
1008
- "text-formatting"
1009
- ],
1010
- "unlocked_by": "grade-school",
1011
- "uuid": "c168fe1f-f84e-46e6-91fc-7553d048a4e9"
1031
+ "text_formatting"
1032
+ ]
1012
1033
  },
1013
1034
  {
1035
+ "slug": "diamond",
1036
+ "uuid": "04a4ef78-5b61-454f-8c37-798875fb4956",
1014
1037
  "core": false,
1038
+ "unlocked_by": "pascals-triangle",
1015
1039
  "difficulty": 5,
1016
- "slug": "diamond",
1017
1040
  "topics": [
1018
1041
  "arrays",
1019
- "control-flow-(conditionals)",
1020
- "control-flow-(loops)",
1021
- "exception-handling",
1042
+ "control_flow_conditionals",
1043
+ "control_flow_loops",
1044
+ "exception_handling",
1022
1045
  "games",
1023
1046
  "parsing",
1024
- "text-formatting"
1025
- ],
1026
- "unlocked_by": "pascals-triangle",
1027
- "uuid": "04a4ef78-5b61-454f-8c37-798875fb4956"
1047
+ "text_formatting"
1048
+ ]
1028
1049
  },
1029
1050
  {
1051
+ "slug": "all-your-base",
1052
+ "uuid": "cdfcec62-f2f3-4408-ad2c-8b5e1e56e791",
1030
1053
  "core": false,
1054
+ "unlocked_by": "binary",
1031
1055
  "difficulty": 5,
1032
- "slug": "all-your-base",
1033
1056
  "topics": [
1034
- "control-flow-(conditionals)",
1035
- "control-flow-(loops)",
1036
- "exception-handling",
1057
+ "control_flow_conditionals",
1058
+ "control_flow_loops",
1059
+ "exception_handling",
1037
1060
  "integers",
1038
1061
  "mathematics",
1039
1062
  "parsing"
1040
- ],
1041
- "unlocked_by": "binary",
1042
- "uuid": "cdfcec62-f2f3-4408-ad2c-8b5e1e56e791"
1063
+ ]
1043
1064
  },
1044
1065
  {
1066
+ "slug": "minesweeper",
1067
+ "uuid": "22fa5ab4-935b-44cc-b055-9803214ae5f3",
1045
1068
  "core": false,
1069
+ "unlocked_by": null,
1046
1070
  "difficulty": 7,
1047
- "slug": "minesweeper",
1048
1071
  "topics": [
1049
1072
  "algorithms",
1050
1073
  "arrays",
1051
1074
  "games"
1052
- ],
1053
- "unlocked_by": null,
1054
- "uuid": "22fa5ab4-935b-44cc-b055-9803214ae5f3"
1075
+ ]
1055
1076
  },
1056
1077
  {
1078
+ "slug": "alphametics",
1079
+ "uuid": "42a7fd83-4508-403c-8b5e-f0a3126fac8a",
1057
1080
  "core": false,
1081
+ "unlocked_by": "grade-school",
1058
1082
  "difficulty": 7,
1059
- "slug": "alphametics",
1060
1083
  "topics": [
1061
1084
  "algorithms",
1062
1085
  "games"
1063
- ],
1064
- "unlocked_by": "grade-school",
1065
- "uuid": "42a7fd83-4508-403c-8b5e-f0a3126fac8a"
1086
+ ]
1066
1087
  },
1067
1088
  {
1089
+ "slug": "simple-linked-list",
1090
+ "uuid": "c21ab6e8-b845-49d0-a2f6-1c89c7a07626",
1068
1091
  "core": false,
1092
+ "unlocked_by": "linked-list",
1069
1093
  "difficulty": 8,
1070
- "slug": "simple-linked-list",
1071
1094
  "topics": [
1072
1095
  "arrays",
1073
- "data-structures",
1096
+ "data_structures",
1074
1097
  "lists"
1075
- ],
1076
- "unlocked_by": "linked-list",
1077
- "uuid": "c21ab6e8-b845-49d0-a2f6-1c89c7a07626"
1098
+ ]
1078
1099
  },
1079
1100
  {
1080
- "uuid": "833bd7c7-d3d8-45fd-a218-12dea646065d",
1081
1101
  "slug": "diffie-hellman",
1102
+ "uuid": "833bd7c7-d3d8-45fd-a218-12dea646065d",
1082
1103
  "core": false,
1083
1104
  "unlocked_by": "simple-cipher",
1084
1105
  "difficulty": 3,
1085
1106
  "topics": [
1086
- "Control-flow (conditionals)",
1087
- "Control-flow (loops)",
1088
- "Algorithms",
1089
- "Arrays",
1090
- "Exception handling"
1107
+ "algorithms",
1108
+ "arrays",
1109
+ "control_flow_conditionals",
1110
+ "control_flow_loops",
1111
+ "exception_handling"
1091
1112
  ]
1092
1113
  },
1093
1114
  {
1094
- "core" : false,
1095
- "difficulty" : 8,
1096
- "slug" : "change",
1097
- "topics": [
1098
- "Algorithms",
1099
- "Mathematics",
1100
- "Performance",
1101
- "Searching"
1102
- ],
1115
+ "slug": "change",
1116
+ "uuid": "910fe904-7e3c-11e7-bb31-be2e44b06b34",
1117
+ "core": false,
1103
1118
  "unlocked_by": "prime-factors",
1104
- "uuid" : "910fe904-7e3c-11e7-bb31-be2e44b06b34"
1119
+ "difficulty": 8,
1120
+ "topics": [
1121
+ "algorithms",
1122
+ "mathematics",
1123
+ "performance",
1124
+ "searching"
1125
+ ]
1105
1126
  },
1106
1127
  {
1107
- "uuid": "3b779cb8-9544-4e0d-a306-e5478d741be7",
1108
1128
  "slug": "connect",
1129
+ "uuid": "3b779cb8-9544-4e0d-a306-e5478d741be7",
1109
1130
  "core": false,
1110
1131
  "unlocked_by": "grade-school",
1111
1132
  "difficulty": 7,
1112
1133
  "topics": [
1113
- "Control-flow (loops)",
1114
- "Control-flow (conditionals)",
1115
- "Games",
1116
- "Parsing",
1117
- "Arrays",
1118
- "Maps"
1119
- ]
1120
- },
1121
- {
1122
- "core" : false,
1123
- "difficulty" : 1,
1124
- "slug" : "collatz-conjecture",
1125
- "topics": [
1126
- "Control-flow (loops)",
1127
- "Control-flow (conditionals)",
1128
- "Recursion",
1129
- "Integers",
1130
- "Algorithms",
1131
- "Mathematics"
1132
- ],
1134
+ "arrays",
1135
+ "control_flow_conditionals",
1136
+ "control_flow_loops",
1137
+ "games",
1138
+ "maps",
1139
+ "parsing"
1140
+ ]
1141
+ },
1142
+ {
1143
+ "slug": "collatz-conjecture",
1144
+ "uuid": "fd435dad-311a-4c40-9868-70863455831e",
1145
+ "core": false,
1133
1146
  "unlocked_by": null,
1134
- "uuid" : "fd435dad-311a-4c40-9868-70863455831e"
1147
+ "difficulty": 1,
1148
+ "topics": [
1149
+ "algorithms",
1150
+ "control_flow_conditionals",
1151
+ "control_flow_loops",
1152
+ "integers",
1153
+ "mathematics",
1154
+ "recursion"
1155
+ ]
1135
1156
  },
1136
1157
  {
1137
- "deprecated": true,
1138
1158
  "slug": "nucleotide-count",
1139
- "uuid": "1b53340d-ea40-44ee-bf2e-42e516704e7c"
1159
+ "uuid": "1b53340d-ea40-44ee-bf2e-42e516704e7c",
1160
+ "core": false,
1161
+ "unlocked_by": null,
1162
+ "difficulty": 0,
1163
+ "topics": null,
1164
+ "deprecated": true
1140
1165
  },
1141
1166
  {
1142
- "deprecated": true,
1143
1167
  "slug": "point-mutations",
1144
- "uuid": "e9a6b2ea-a67d-4b75-800d-7b46240094ec"
1168
+ "uuid": "e9a6b2ea-a67d-4b75-800d-7b46240094ec",
1169
+ "core": false,
1170
+ "unlocked_by": null,
1171
+ "difficulty": 0,
1172
+ "topics": null,
1173
+ "deprecated": true
1145
1174
  },
1146
1175
  {
1147
- "uuid": "09e10522-9853-11e7-abc4-cec278b6b50a",
1148
1176
  "slug": "twelve-days",
1177
+ "uuid": "09e10522-9853-11e7-abc4-cec278b6b50a",
1149
1178
  "core": false,
1150
1179
  "unlocked_by": "bob",
1151
1180
  "difficulty": 4,
1152
1181
  "topics": [
1153
- "Control-flow (conditionals)",
1154
- "Control-flow (loops)",
1155
- "Strings",
1156
- "Pattern recognition"
1182
+ "control_flow_conditionals",
1183
+ "control_flow_loops",
1184
+ "pattern_recognition",
1185
+ "strings"
1157
1186
  ]
1158
1187
  },
1159
1188
  {
1189
+ "slug": "transpose",
1190
+ "uuid": "7c024853-0540-473d-b2d9-cad84953c00f",
1160
1191
  "core": false,
1192
+ "unlocked_by": "matrix",
1161
1193
  "difficulty": 1,
1162
- "slug": "transpose",
1163
1194
  "topics": [
1164
- "loops",
1165
1195
  "arrays",
1166
1196
  "lists",
1197
+ "loops",
1167
1198
  "matrices",
1168
1199
  "strings",
1169
1200
  "text_formatting"
1170
- ],
1171
- "unlocked_by": "matrix",
1172
- "uuid": "7c024853-0540-473d-b2d9-cad84953c00f"
1201
+ ]
1173
1202
  },
1174
1203
  {
1175
- "uuid": "52c775a4-7ddb-4cba-8a78-8544220bd1b6",
1176
1204
  "slug": "protein-translation",
1205
+ "uuid": "52c775a4-7ddb-4cba-8a78-8544220bd1b6",
1177
1206
  "core": false,
1178
1207
  "unlocked_by": null,
1179
1208
  "difficulty": 1,
1180
1209
  "topics": [
1181
- "control-flow-(conditionals)",
1182
- "control-flow-(loops)",
1183
- "strings",
1184
- "algorithms"
1210
+ "algorithms",
1211
+ "control_flow_conditionals",
1212
+ "control_flow_loops",
1213
+ "strings"
1185
1214
  ]
1186
1215
  },
1187
1216
  {
1188
- "uuid": "f4a3d66a-04a8-3e80-6c9a-8a573ccb26fd9ed1d5c",
1189
1217
  "slug": "zipper",
1218
+ "uuid": "f4a3d66a-04a8-3e80-6c9a-8a573ccb26fd9ed1d5c",
1190
1219
  "core": false,
1191
1220
  "unlocked_by": null,
1192
1221
  "difficulty": 8,
@@ -1197,8 +1226,8 @@
1197
1226
  ]
1198
1227
  },
1199
1228
  {
1200
- "uuid": "8740af44-002c-4716-a759-a68ae4c68737",
1201
1229
  "slug": "isbn-verifier",
1230
+ "uuid": "8740af44-002c-4716-a759-a68ae4c68737",
1202
1231
  "core": false,
1203
1232
  "unlocked_by": "bob",
1204
1233
  "difficulty": 4,
@@ -1210,20 +1239,20 @@
1210
1239
  ]
1211
1240
  },
1212
1241
  {
1213
- "uuid": "b3dbc935-536e-4910-994d-4a519b511b6a",
1214
1242
  "slug": "forth",
1243
+ "uuid": "b3dbc935-536e-4910-994d-4a519b511b6a",
1215
1244
  "core": false,
1216
1245
  "unlocked_by": "matrix",
1217
1246
  "difficulty": 8,
1218
1247
  "topics": [
1219
- "stacks",
1248
+ "domain_specific_languages",
1220
1249
  "parsing",
1221
- "domain_specific_languages"
1250
+ "stacks"
1222
1251
  ]
1223
1252
  },
1224
1253
  {
1225
- "uuid": "f82e470d-0bcc-4eba-b9b0-8a0c50a6fd19",
1226
1254
  "slug": "variable-length-quantity",
1255
+ "uuid": "f82e470d-0bcc-4eba-b9b0-8a0c50a6fd19",
1227
1256
  "core": false,
1228
1257
  "unlocked_by": "grade-school",
1229
1258
  "difficulty": 5,
@@ -1233,30 +1262,27 @@
1233
1262
  ]
1234
1263
  },
1235
1264
  {
1236
- "uuid": "cb09212c-f2ae-4acf-9177-6c7f42594c1d",
1237
1265
  "slug": "rectangles",
1266
+ "uuid": "cb09212c-f2ae-4acf-9177-6c7f42594c1d",
1238
1267
  "core": false,
1239
1268
  "unlocked_by": "grade-school",
1240
1269
  "difficulty": 6,
1241
1270
  "topics": [
1242
1271
  "parsing",
1243
- "searching",
1244
- "pattern_recognition"
1272
+ "pattern_recognition",
1273
+ "searching"
1245
1274
  ]
1246
1275
  },
1247
1276
  {
1248
- "uuid": "0e4b628c-870d-446b-a400-3cc72457f2bc",
1249
1277
  "slug": "armstrong-numbers",
1278
+ "uuid": "0e4b628c-870d-446b-a400-3cc72457f2bc",
1250
1279
  "core": false,
1251
1280
  "unlocked_by": null,
1252
1281
  "difficulty": 2,
1253
1282
  "topics": [
1254
- "mathematics",
1255
- "algorithms"
1283
+ "algorithms",
1284
+ "mathematics"
1256
1285
  ]
1257
1286
  }
1258
- ],
1259
- "foregone": [],
1260
- "language": "JavaScript",
1261
- "test_pattern": ".*[.]spec[.]js$"
1287
+ ]
1262
1288
  }