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,165 +1,175 @@
1
1
  {
2
+ "language": "Java",
2
3
  "active": true,
3
4
  "blurb": "Java is a very widely used Object Oriented programming language. It's safe, simple to use and portable so that you can \"write once, run anywhere\".",
5
+ "solution_pattern": "reference",
6
+ "foregone": [
7
+ "leap",
8
+ "grains",
9
+ "say"
10
+ ],
4
11
  "exercises": [
5
12
  {
13
+ "slug": "hello-world",
14
+ "uuid": "f77dc7e3-35a8-4300-a7c8-2c1765e9644d",
6
15
  "core": true,
16
+ "unlocked_by": null,
7
17
  "difficulty": 1,
8
- "slug": "hello-world",
9
18
  "topics": [
10
19
  "strings"
11
20
  ],
12
- "unlocked_by": null,
13
- "uuid": "f77dc7e3-35a8-4300-a7c8-2c1765e9644d"
21
+ "auto-approve": true
14
22
  },
15
23
  {
24
+ "slug": "two-fer",
25
+ "uuid": "74515d45-565b-4be2-96c4-77e58efa9257",
16
26
  "core": true,
27
+ "unlocked_by": null,
17
28
  "difficulty": 1,
18
- "slug": "two-fer",
19
29
  "topics": [
20
30
  "conditionals",
21
31
  "strings"
22
- ],
23
- "unlocked_by": null,
24
- "uuid": "74515d45-565b-4be2-96c4-77e58efa9257"
32
+ ]
25
33
  },
26
34
  {
35
+ "slug": "reverse-string",
36
+ "uuid": "2c8afeed-480e-41f3-ad58-590fa8f88029",
27
37
  "core": false,
38
+ "unlocked_by": "two-fer",
28
39
  "difficulty": 1,
29
- "slug": "reverse-string",
30
40
  "topics": [
31
41
  "strings"
32
- ],
33
- "unlocked_by": "two-fer",
34
- "uuid": "2c8afeed-480e-41f3-ad58-590fa8f88029"
42
+ ]
35
43
  },
36
44
  {
45
+ "slug": "armstrong-numbers",
46
+ "uuid": "8e1dd48c-e05e-4a72-bf0f-5aed8dd123f5",
37
47
  "core": false,
48
+ "unlocked_by": null,
38
49
  "difficulty": 2,
39
- "slug": "armstrong-numbers",
40
50
  "topics": [
41
51
  "integers",
42
52
  "mathematics"
43
- ],
44
- "unlocked_by": null,
45
- "uuid": "8e1dd48c-e05e-4a72-bf0f-5aed8dd123f5"
53
+ ]
46
54
  },
47
55
  {
56
+ "slug": "rna-transcription",
57
+ "uuid": "8e983ed2-62f7-439a-a144-fb8fdbdf4d30",
48
58
  "core": false,
59
+ "unlocked_by": null,
49
60
  "difficulty": 2,
50
- "slug": "rna-transcription",
51
61
  "topics": [
52
62
  "loops",
53
63
  "maps",
54
64
  "strings"
55
- ],
56
- "unlocked_by": null,
57
- "uuid": "8e983ed2-62f7-439a-a144-fb8fdbdf4d30"
65
+ ]
58
66
  },
59
67
  {
68
+ "slug": "pangram",
69
+ "uuid": "133b0f84-bdc7-4508-a0a1-5732a7db81ef",
60
70
  "core": false,
71
+ "unlocked_by": null,
61
72
  "difficulty": 3,
62
- "slug": "pangram",
63
73
  "topics": [
64
74
  "pattern_matching",
65
75
  "regular_expressions",
66
76
  "strings"
67
- ],
68
- "unlocked_by": null,
69
- "uuid": "133b0f84-bdc7-4508-a0a1-5732a7db81ef"
77
+ ]
70
78
  },
71
79
  {
80
+ "slug": "hamming",
81
+ "uuid": "ce899ca6-9cc7-47ba-b76f-1bbcf2630b76",
72
82
  "core": true,
83
+ "unlocked_by": null,
73
84
  "difficulty": 3,
74
- "slug": "hamming",
75
85
  "topics": [
76
86
  "integers",
77
87
  "loops",
78
88
  "strings"
79
- ],
80
- "unlocked_by": null,
81
- "uuid": "ce899ca6-9cc7-47ba-b76f-1bbcf2630b76"
89
+ ]
82
90
  },
83
91
  {
92
+ "slug": "gigasecond",
93
+ "uuid": "bf1641c8-dc0d-4d38-9cfe-b4c132ea3553",
84
94
  "core": true,
95
+ "unlocked_by": null,
85
96
  "difficulty": 3,
86
- "slug": "gigasecond",
87
97
  "topics": [
88
98
  "dates",
89
99
  "integers",
90
100
  "time"
91
- ],
92
- "unlocked_by": null,
93
- "uuid": "bf1641c8-dc0d-4d38-9cfe-b4c132ea3553"
101
+ ]
94
102
  },
95
103
  {
104
+ "slug": "space-age",
105
+ "uuid": "e5b524cd-3a1c-468a-8981-13e8eeccb29d",
96
106
  "core": false,
107
+ "unlocked_by": null,
97
108
  "difficulty": 3,
98
- "slug": "space-age",
99
109
  "topics": [
100
110
  "conditionals",
101
111
  "floating_point_numbers",
102
112
  "mathematics"
103
- ],
104
- "unlocked_by": null,
105
- "uuid": "e5b524cd-3a1c-468a-8981-13e8eeccb29d"
113
+ ]
106
114
  },
107
115
  {
116
+ "slug": "acronym",
117
+ "uuid": "c31bbc6d-bdcf-44f7-bf35-5f98752e38d0",
108
118
  "core": false,
119
+ "unlocked_by": null,
109
120
  "difficulty": 3,
110
- "slug": "acronym",
111
121
  "topics": [
112
122
  "loops",
113
123
  "parsing",
114
124
  "searching",
115
125
  "strings"
116
- ],
117
- "unlocked_by": null,
118
- "uuid": "c31bbc6d-bdcf-44f7-bf35-5f98752e38d0"
126
+ ]
119
127
  },
120
128
  {
129
+ "slug": "scrabble-score",
130
+ "uuid": "afae9f2d-8baf-4bd7-8d7c-d486337f7c97",
121
131
  "core": true,
132
+ "unlocked_by": null,
122
133
  "difficulty": 3,
123
- "slug": "scrabble-score",
124
134
  "topics": [
125
135
  "games",
126
136
  "loops",
127
137
  "pattern_matching",
128
138
  "strings",
129
139
  "transforming"
130
- ],
131
- "unlocked_by": null,
132
- "uuid": "afae9f2d-8baf-4bd7-8d7c-d486337f7c97"
140
+ ]
133
141
  },
134
142
  {
143
+ "slug": "raindrops",
144
+ "uuid": "d916e4f8-fda1-41c0-ab24-79e8fc3f1272",
135
145
  "core": false,
146
+ "unlocked_by": "hello-world",
136
147
  "difficulty": 3,
137
- "slug": "raindrops",
138
148
  "topics": [
139
149
  "conditionals",
140
150
  "integers",
141
151
  "mathematics",
142
152
  "strings"
143
- ],
144
- "unlocked_by": "hello-world",
145
- "uuid": "d916e4f8-fda1-41c0-ab24-79e8fc3f1272"
153
+ ]
146
154
  },
147
155
  {
156
+ "slug": "difference-of-squares",
157
+ "uuid": "b0da59c6-1b55-405c-b163-007ebf09f5e8",
148
158
  "core": true,
159
+ "unlocked_by": null,
149
160
  "difficulty": 3,
150
- "slug": "difference-of-squares",
151
161
  "topics": [
152
162
  "integers",
153
163
  "loops",
154
164
  "mathematics"
155
- ],
156
- "unlocked_by": null,
157
- "uuid": "b0da59c6-1b55-405c-b163-007ebf09f5e8"
165
+ ]
158
166
  },
159
167
  {
168
+ "slug": "secret-handshake",
169
+ "uuid": "71c7c174-7e2c-43c2-bdd6-7515fcb12a91",
160
170
  "core": true,
171
+ "unlocked_by": null,
161
172
  "difficulty": 3,
162
- "slug": "secret-handshake",
163
173
  "topics": [
164
174
  "bitwise_operations",
165
175
  "conditionals",
@@ -169,79 +179,79 @@
169
179
  "loops",
170
180
  "mathematics",
171
181
  "transforming"
172
- ],
173
- "unlocked_by": null,
174
- "uuid": "71c7c174-7e2c-43c2-bdd6-7515fcb12a91"
182
+ ]
175
183
  },
176
184
  {
185
+ "slug": "perfect-numbers",
186
+ "uuid": "d0dcc898-ec38-4822-9e3c-1a1829c9b2d9",
177
187
  "core": false,
188
+ "unlocked_by": "difference-of-squares",
178
189
  "difficulty": 3,
179
- "slug": "perfect-numbers",
180
190
  "topics": [
181
191
  "enumerations",
182
192
  "exception_handling",
183
193
  "filtering",
184
194
  "integers",
185
195
  "mathematics"
186
- ],
187
- "unlocked_by": "difference-of-squares",
188
- "uuid": "d0dcc898-ec38-4822-9e3c-1a1829c9b2d9"
196
+ ]
189
197
  },
190
198
  {
199
+ "slug": "protein-translation",
200
+ "uuid": "331073b3-bd1a-4868-b767-a64ce9fd9d97",
191
201
  "core": false,
202
+ "unlocked_by": "two-fer",
192
203
  "difficulty": 3,
193
- "slug": "protein-translation",
194
204
  "topics": [
195
205
  "arrays",
196
206
  "conditionals",
197
207
  "loops",
198
208
  "strings"
199
- ],
200
- "unlocked_by": "two-fer",
201
- "uuid": "331073b3-bd1a-4868-b767-a64ce9fd9d97"
209
+ ]
202
210
  },
203
211
  {
212
+ "slug": "proverb",
213
+ "uuid": "9906491b-a638-408d-86a4-4ad320a92658",
204
214
  "core": false,
215
+ "unlocked_by": "two-fer",
205
216
  "difficulty": 4,
206
- "slug": "proverb",
207
217
  "topics": [
208
218
  "arrays",
209
219
  "loops",
210
220
  "strings"
211
- ],
212
- "unlocked_by": "two-fer",
213
- "uuid": "9906491b-a638-408d-86a4-4ad320a92658"
221
+ ]
214
222
  },
215
223
  {
224
+ "slug": "isbn-verifier",
225
+ "uuid": "838bc1d7-b2de-482a-9bfc-c881b4ccb04c",
216
226
  "core": false,
227
+ "unlocked_by": "hamming",
217
228
  "difficulty": 4,
218
- "slug": "isbn-verifier",
219
229
  "topics": [
220
230
  "integers",
221
231
  "loops",
222
232
  "strings"
223
- ],
224
- "unlocked_by": "hamming",
225
- "uuid": "838bc1d7-b2de-482a-9bfc-c881b4ccb04c"
233
+ ]
226
234
  },
227
235
  {
236
+ "slug": "sum-of-multiples",
237
+ "uuid": "2f244afc-3e7b-4f89-92af-e2b427f4ef35",
228
238
  "core": false,
239
+ "unlocked_by": "difference-of-squares",
229
240
  "difficulty": 4,
230
- "slug": "sum-of-multiples",
231
241
  "topics": [
232
242
  "arrays",
233
243
  "conditionals",
234
244
  "integers",
235
245
  "loops",
236
246
  "mathematics"
237
- ],
238
- "unlocked_by": "difference-of-squares",
239
- "uuid": "2f244afc-3e7b-4f89-92af-e2b427f4ef35"
247
+ ]
240
248
  },
241
249
  {
250
+ "slug": "luhn",
251
+ "uuid": "5227a76c-8ecb-4e5f-b023-6af65a057c41",
242
252
  "core": false,
253
+ "unlocked_by": "hamming",
243
254
  "difficulty": 4,
244
- "slug": "luhn",
245
255
  "topics": [
246
256
  "algorithms",
247
257
  "booleans",
@@ -249,14 +259,14 @@
249
259
  "mathematics",
250
260
  "strings",
251
261
  "type_conversion"
252
- ],
253
- "unlocked_by": "hamming",
254
- "uuid": "5227a76c-8ecb-4e5f-b023-6af65a057c41"
262
+ ]
255
263
  },
256
264
  {
265
+ "slug": "matrix",
266
+ "uuid": "c1d4e0b4-6a0f-4be9-8222-345966621f53",
257
267
  "core": true,
268
+ "unlocked_by": null,
258
269
  "difficulty": 4,
259
- "slug": "matrix",
260
270
  "topics": [
261
271
  "arrays",
262
272
  "integers",
@@ -264,80 +274,80 @@
264
274
  "pattern_matching",
265
275
  "strings",
266
276
  "type_conversion"
267
- ],
268
- "unlocked_by": null,
269
- "uuid": "c1d4e0b4-6a0f-4be9-8222-345966621f53"
277
+ ]
270
278
  },
271
279
  {
280
+ "slug": "triangle",
281
+ "uuid": "ec268d8e-997b-4553-8c67-8bdfa1ecb888",
272
282
  "core": true,
283
+ "unlocked_by": null,
273
284
  "difficulty": 4,
274
- "slug": "triangle",
275
285
  "topics": [
276
286
  "booleans",
277
287
  "classes",
278
288
  "exception_handling",
279
289
  "mathematics"
280
- ],
281
- "unlocked_by": null,
282
- "uuid": "ec268d8e-997b-4553-8c67-8bdfa1ecb888"
290
+ ]
283
291
  },
284
292
  {
293
+ "slug": "largest-series-product",
294
+ "uuid": "b7310b6e-435c-4d5f-b2bd-31e586d0f238",
285
295
  "core": false,
296
+ "unlocked_by": "hamming",
286
297
  "difficulty": 4,
287
- "slug": "largest-series-product",
288
298
  "topics": [
289
299
  "integers",
290
300
  "loops",
291
301
  "mathematics",
292
302
  "strings",
293
303
  "type_conversion"
294
- ],
295
- "unlocked_by": "hamming",
296
- "uuid": "b7310b6e-435c-4d5f-b2bd-31e586d0f238"
304
+ ]
297
305
  },
298
306
  {
307
+ "slug": "sieve",
308
+ "uuid": "6791d01f-bae4-4b63-ae76-86529ac49e36",
299
309
  "core": false,
310
+ "unlocked_by": "difference-of-squares",
300
311
  "difficulty": 4,
301
- "slug": "sieve",
302
312
  "topics": [
303
313
  "algorithms",
304
314
  "integers",
305
315
  "lists",
306
316
  "loops",
307
317
  "mathematics"
308
- ],
309
- "unlocked_by": "difference-of-squares",
310
- "uuid": "6791d01f-bae4-4b63-ae76-86529ac49e36"
318
+ ]
311
319
  },
312
320
  {
321
+ "slug": "twelve-days",
322
+ "uuid": "581afdbb-dfb6-4dc5-9554-a025b5469a3c",
313
323
  "core": false,
324
+ "unlocked_by": "two-fer",
314
325
  "difficulty": 4,
315
- "slug": "twelve-days",
316
326
  "topics": [
317
327
  "arrays",
318
328
  "conditionals",
319
329
  "loops",
320
330
  "strings"
321
- ],
322
- "unlocked_by": "two-fer",
323
- "uuid": "581afdbb-dfb6-4dc5-9554-a025b5469a3c"
331
+ ]
324
332
  },
325
333
  {
334
+ "slug": "rotational-cipher",
335
+ "uuid": "9eb41883-55ef-4681-b5ac-5c2259302772",
326
336
  "core": true,
337
+ "unlocked_by": null,
327
338
  "difficulty": 4,
328
- "slug": "rotational-cipher",
329
339
  "topics": [
330
340
  "cryptography",
331
341
  "integers",
332
342
  "strings"
333
- ],
334
- "unlocked_by": null,
335
- "uuid": "9eb41883-55ef-4681-b5ac-5c2259302772"
343
+ ]
336
344
  },
337
345
  {
346
+ "slug": "kindergarten-garden",
347
+ "uuid": "0b92ffee-c092-4ab1-ad78-76c8cf80e1b5",
338
348
  "core": false,
349
+ "unlocked_by": "matrix",
339
350
  "difficulty": 4,
340
- "slug": "kindergarten-garden",
341
351
  "topics": [
342
352
  "arrays",
343
353
  "enumerations",
@@ -346,42 +356,42 @@
346
356
  "loops",
347
357
  "pattern_recognition",
348
358
  "strings"
349
- ],
350
- "unlocked_by": "matrix",
351
- "uuid": "0b92ffee-c092-4ab1-ad78-76c8cf80e1b5"
359
+ ]
352
360
  },
353
361
  {
362
+ "slug": "collatz-conjecture",
363
+ "uuid": "1500d39a-c9d9-4d3a-9e77-fdc1837fc6ad",
354
364
  "core": false,
365
+ "unlocked_by": "triangle",
355
366
  "difficulty": 4,
356
- "slug": "collatz-conjecture",
357
367
  "topics": [
358
368
  "conditionals",
359
369
  "exception_handling",
360
370
  "integers",
361
371
  "mathematics",
362
372
  "recursion"
363
- ],
364
- "unlocked_by": "triangle",
365
- "uuid": "1500d39a-c9d9-4d3a-9e77-fdc1837fc6ad"
373
+ ]
366
374
  },
367
375
  {
376
+ "slug": "nth-prime",
377
+ "uuid": "2c69db99-648d-4bd7-8012-1fbdeff6ca0a",
368
378
  "core": false,
379
+ "unlocked_by": "triangle",
369
380
  "difficulty": 4,
370
- "slug": "nth-prime",
371
381
  "topics": [
372
382
  "arrays",
373
383
  "exception_handling",
374
384
  "integers",
375
385
  "lists",
376
386
  "loops"
377
- ],
378
- "unlocked_by": "triangle",
379
- "uuid": "2c69db99-648d-4bd7-8012-1fbdeff6ca0a"
387
+ ]
380
388
  },
381
389
  {
390
+ "slug": "saddle-points",
391
+ "uuid": "8dfc2f0d-1141-46e9-95e2-6f35ccf6f160",
382
392
  "core": true,
393
+ "unlocked_by": null,
383
394
  "difficulty": 4,
384
- "slug": "saddle-points",
385
395
  "topics": [
386
396
  "arrays",
387
397
  "conditionals",
@@ -391,52 +401,52 @@
391
401
  "mathematics",
392
402
  "matrices",
393
403
  "sets"
394
- ],
395
- "unlocked_by": null,
396
- "uuid": "8dfc2f0d-1141-46e9-95e2-6f35ccf6f160"
404
+ ]
397
405
  },
398
406
  {
407
+ "slug": "error-handling",
408
+ "uuid": "846ae792-7ca7-43e1-b523-bb1ec9fa08eb",
399
409
  "core": false,
410
+ "unlocked_by": "triangle",
400
411
  "difficulty": 4,
401
- "slug": "error-handling",
402
412
  "topics": [
403
413
  "exception_handling",
404
414
  "optional_values"
405
- ],
406
- "unlocked_by": "triangle",
407
- "uuid": "846ae792-7ca7-43e1-b523-bb1ec9fa08eb"
415
+ ]
408
416
  },
409
417
  {
418
+ "slug": "diamond",
419
+ "uuid": "ecbd997b-86f4-4e11-9ff0-706ac2899415",
410
420
  "core": false,
421
+ "unlocked_by": "two-fer",
411
422
  "difficulty": 4,
412
- "slug": "diamond",
413
423
  "topics": [
414
424
  "arrays",
415
425
  "lists",
416
426
  "loops",
417
427
  "strings",
418
428
  "text_formatting"
419
- ],
420
- "unlocked_by": "two-fer",
421
- "uuid": "ecbd997b-86f4-4e11-9ff0-706ac2899415"
429
+ ]
422
430
  },
423
431
  {
432
+ "slug": "isogram",
433
+ "uuid": "c3e89c7c-3a8a-4ddc-b653-9b0ff9e1d7d8",
424
434
  "core": false,
435
+ "unlocked_by": "hello-world",
425
436
  "difficulty": 4,
426
- "slug": "isogram",
427
437
  "topics": [
428
438
  "conditionals",
429
439
  "loops",
430
440
  "parsing",
431
441
  "strings"
432
- ],
433
- "unlocked_by": "hello-world",
434
- "uuid": "c3e89c7c-3a8a-4ddc-b653-9b0ff9e1d7d8"
442
+ ]
435
443
  },
436
444
  {
445
+ "slug": "variable-length-quantity",
446
+ "uuid": "d8a2c7ba-2040-4cfe-ab15-f90b3b61dd89",
437
447
  "core": false,
448
+ "unlocked_by": "secret-handshake",
438
449
  "difficulty": 4,
439
- "slug": "variable-length-quantity",
440
450
  "topics": [
441
451
  "bitwise_operations",
442
452
  "conditionals",
@@ -444,53 +454,53 @@
444
454
  "lists",
445
455
  "loops",
446
456
  "transforming"
447
- ],
448
- "unlocked_by": "secret-handshake",
449
- "uuid": "d8a2c7ba-2040-4cfe-ab15-f90b3b61dd89"
457
+ ]
450
458
  },
451
459
  {
460
+ "slug": "flatten-array",
461
+ "uuid": "a732a838-8170-458a-a85e-d6b4c46f97a1",
452
462
  "core": true,
463
+ "unlocked_by": null,
453
464
  "difficulty": 5,
454
- "slug": "flatten-array",
455
465
  "topics": [
456
466
  "arrays",
457
467
  "lists",
458
468
  "loops",
459
469
  "recursion"
460
- ],
461
- "unlocked_by": null,
462
- "uuid": "a732a838-8170-458a-a85e-d6b4c46f97a1"
470
+ ]
463
471
  },
464
472
  {
473
+ "slug": "pig-latin",
474
+ "uuid": "38bc80ae-d842-4c04-a797-48edf322504d",
465
475
  "core": false,
476
+ "unlocked_by": "hello-world",
466
477
  "difficulty": 5,
467
- "slug": "pig-latin",
468
478
  "topics": [
469
479
  "arrays",
470
480
  "lists",
471
481
  "strings",
472
482
  "transforming"
473
- ],
474
- "unlocked_by": "hello-world",
475
- "uuid": "38bc80ae-d842-4c04-a797-48edf322504d"
483
+ ]
476
484
  },
477
485
  {
486
+ "slug": "phone-number",
487
+ "uuid": "5f9139e7-9fbb-496a-a0d7-a946283033de",
478
488
  "core": false,
489
+ "unlocked_by": "hamming",
479
490
  "difficulty": 5,
480
- "slug": "phone-number",
481
491
  "topics": [
482
492
  "conditionals",
483
493
  "pattern_matching",
484
494
  "regular_expressions",
485
495
  "strings"
486
- ],
487
- "unlocked_by": "hamming",
488
- "uuid": "5f9139e7-9fbb-496a-a0d7-a946283033de"
496
+ ]
489
497
  },
490
498
  {
499
+ "slug": "nucleotide-count",
500
+ "uuid": "2d80fdfc-5bd7-4b67-9fbe-8ab820d89051",
491
501
  "core": false,
502
+ "unlocked_by": "hamming",
492
503
  "difficulty": 5,
493
- "slug": "nucleotide-count",
494
504
  "topics": [
495
505
  "conditionals",
496
506
  "exception_handling",
@@ -499,55 +509,55 @@
499
509
  "parsing",
500
510
  "searching",
501
511
  "strings"
502
- ],
503
- "unlocked_by": "hamming",
504
- "uuid": "2d80fdfc-5bd7-4b67-9fbe-8ab820d89051"
512
+ ]
505
513
  },
506
514
  {
515
+ "slug": "word-count",
516
+ "uuid": "3603b770-87a5-4758-91f3-b4d1f9075bc1",
507
517
  "core": true,
518
+ "unlocked_by": null,
508
519
  "difficulty": 5,
509
- "slug": "word-count",
510
520
  "topics": [
511
521
  "conditionals",
512
522
  "integers",
513
523
  "loops",
514
524
  "maps",
515
525
  "strings"
516
- ],
517
- "unlocked_by": null,
518
- "uuid": "3603b770-87a5-4758-91f3-b4d1f9075bc1"
526
+ ]
519
527
  },
520
528
  {
529
+ "slug": "run-length-encoding",
530
+ "uuid": "4499a3f9-73a7-48bf-8753-d5b6abf588c9",
521
531
  "core": false,
532
+ "unlocked_by": "rotational-cipher",
522
533
  "difficulty": 5,
523
- "slug": "run-length-encoding",
524
534
  "topics": [
525
535
  "integers",
526
536
  "pattern_matching",
527
537
  "strings",
528
538
  "transforming"
529
- ],
530
- "unlocked_by": "rotational-cipher",
531
- "uuid": "4499a3f9-73a7-48bf-8753-d5b6abf588c9"
539
+ ]
532
540
  },
533
541
  {
542
+ "slug": "robot-name",
543
+ "uuid": "d7c2eed9-64c7-4c4a-b45d-c787d460337f",
534
544
  "core": true,
545
+ "unlocked_by": null,
535
546
  "difficulty": 5,
536
- "slug": "robot-name",
537
547
  "topics": [
538
548
  "pattern_matching",
539
549
  "randomness",
540
550
  "regular_expressions",
541
551
  "strings",
542
552
  "text_formatting"
543
- ],
544
- "unlocked_by": null,
545
- "uuid": "d7c2eed9-64c7-4c4a-b45d-c787d460337f"
553
+ ]
546
554
  },
547
555
  {
556
+ "slug": "prime-factors",
557
+ "uuid": "599c08ec-7338-46ed-99f8-a76f78f724e6",
548
558
  "core": false,
559
+ "unlocked_by": "triangle",
549
560
  "difficulty": 5,
550
- "slug": "prime-factors",
551
561
  "topics": [
552
562
  "arrays",
553
563
  "conditionals",
@@ -555,14 +565,14 @@
555
565
  "lists",
556
566
  "loops",
557
567
  "mathematics"
558
- ],
559
- "unlocked_by": "triangle",
560
- "uuid": "599c08ec-7338-46ed-99f8-a76f78f724e6"
568
+ ]
561
569
  },
562
570
  {
571
+ "slug": "allergies",
572
+ "uuid": "6a617ddb-04e3-451c-bb30-27ccd0be9125",
563
573
  "core": false,
574
+ "unlocked_by": "gigasecond",
564
575
  "difficulty": 5,
565
- "slug": "allergies",
566
576
  "topics": [
567
577
  "booleans",
568
578
  "conditionals",
@@ -570,26 +580,26 @@
570
580
  "integers",
571
581
  "lists",
572
582
  "loops"
573
- ],
574
- "unlocked_by": "gigasecond",
575
- "uuid": "6a617ddb-04e3-451c-bb30-27ccd0be9125"
583
+ ]
576
584
  },
577
585
  {
586
+ "slug": "bob",
587
+ "uuid": "34cd328c-cd96-492b-abd4-2b8716cdcd9a",
578
588
  "core": false,
589
+ "unlocked_by": "two-fer",
579
590
  "difficulty": 5,
580
- "slug": "bob",
581
591
  "topics": [
582
592
  "booleans",
583
593
  "conditionals",
584
594
  "strings"
585
- ],
586
- "unlocked_by": "two-fer",
587
- "uuid": "34cd328c-cd96-492b-abd4-2b8716cdcd9a"
595
+ ]
588
596
  },
589
597
  {
598
+ "slug": "pascals-triangle",
599
+ "uuid": "d2a76905-1c8c-4b03-b4f7-4fbff19329f3",
590
600
  "core": false,
601
+ "unlocked_by": "matrix",
591
602
  "difficulty": 5,
592
- "slug": "pascals-triangle",
593
603
  "topics": [
594
604
  "algorithms",
595
605
  "arrays",
@@ -597,91 +607,91 @@
597
607
  "integers",
598
608
  "mathematics",
599
609
  "matrices"
600
- ],
601
- "unlocked_by": "matrix",
602
- "uuid": "d2a76905-1c8c-4b03-b4f7-4fbff19329f3"
610
+ ]
603
611
  },
604
612
  {
613
+ "slug": "bracket-push",
614
+ "uuid": "85aa50ac-0141-49eb-bc6f-62f3f7a97647",
605
615
  "core": false,
616
+ "unlocked_by": "flatten-array",
606
617
  "difficulty": 5,
607
- "slug": "bracket-push",
608
618
  "topics": [
609
619
  "stacks",
610
620
  "strings"
611
- ],
612
- "unlocked_by": "flatten-array",
613
- "uuid": "85aa50ac-0141-49eb-bc6f-62f3f7a97647"
621
+ ]
614
622
  },
615
623
  {
624
+ "slug": "series",
625
+ "uuid": "af80d7f4-c7d0-4d0b-9c30-09da120f6bb9",
616
626
  "core": false,
627
+ "unlocked_by": "hamming",
617
628
  "difficulty": 5,
618
- "slug": "series",
619
629
  "topics": [
620
630
  "conditionals",
621
631
  "lists",
622
632
  "loops",
623
633
  "strings",
624
634
  "type_conversion"
625
- ],
626
- "unlocked_by": "hamming",
627
- "uuid": "af80d7f4-c7d0-4d0b-9c30-09da120f6bb9"
635
+ ]
628
636
  },
629
637
  {
638
+ "slug": "atbash-cipher",
639
+ "uuid": "d36ce010-210f-4e9a-9d6c-cb933e0a59af",
630
640
  "core": false,
641
+ "unlocked_by": "rotational-cipher",
631
642
  "difficulty": 5,
632
- "slug": "atbash-cipher",
633
643
  "topics": [
634
644
  "cryptography",
635
645
  "security",
636
646
  "strings"
637
- ],
638
- "unlocked_by": "rotational-cipher",
639
- "uuid": "d36ce010-210f-4e9a-9d6c-cb933e0a59af"
647
+ ]
640
648
  },
641
649
  {
650
+ "slug": "grep",
651
+ "uuid": "9c15ddab-7b52-43d4-b38c-0bf635b363c3",
642
652
  "core": false,
653
+ "unlocked_by": "robot-name",
643
654
  "difficulty": 5,
644
- "slug": "grep",
645
655
  "topics": [
646
- "pattern_matching",
647
- "strings",
648
656
  "files",
649
657
  "filtering",
650
- "searching"
651
- ],
652
- "unlocked_by": "robot-name",
653
- "uuid": "9c15ddab-7b52-43d4-b38c-0bf635b363c3"
658
+ "pattern_matching",
659
+ "searching",
660
+ "strings"
661
+ ]
654
662
  },
655
663
  {
664
+ "slug": "alphametics",
665
+ "uuid": "0639a1f8-5af4-4877-95c1-5db8e97c30bf",
656
666
  "core": false,
667
+ "unlocked_by": "secret-handshake",
657
668
  "difficulty": 6,
658
- "slug": "alphametics",
659
669
  "topics": [
660
- "mathematics",
670
+ "conditionals",
661
671
  "logic",
662
- "conditionals"
663
- ],
664
- "unlocked_by": "secret-handshake",
665
- "uuid": "0639a1f8-5af4-4877-95c1-5db8e97c30bf"
672
+ "mathematics"
673
+ ]
666
674
  },
667
675
  {
676
+ "slug": "spiral-matrix",
677
+ "uuid": "163fcc6b-c054-4232-a88b-0aded846a6eb",
668
678
  "core": false,
679
+ "unlocked_by": "matrix",
669
680
  "difficulty": 6,
670
- "slug": "spiral-matrix",
671
681
  "topics": [
672
682
  "arrays",
673
683
  "integers",
674
684
  "loops",
675
685
  "mathematics",
676
686
  "matrices"
677
- ],
678
- "unlocked_by": "matrix",
679
- "uuid": "163fcc6b-c054-4232-a88b-0aded846a6eb"
687
+ ]
680
688
  },
681
689
  {
690
+ "slug": "roman-numerals",
691
+ "uuid": "3e728cd4-5e5f-4c69-8a53-bc36d020fcdb",
682
692
  "core": false,
693
+ "unlocked_by": "hamming",
683
694
  "difficulty": 6,
684
- "slug": "roman-numerals",
685
695
  "topics": [
686
696
  "integers",
687
697
  "logic",
@@ -689,14 +699,14 @@
689
699
  "maps",
690
700
  "mathematics",
691
701
  "strings"
692
- ],
693
- "unlocked_by": "hamming",
694
- "uuid": "3e728cd4-5e5f-4c69-8a53-bc36d020fcdb"
702
+ ]
695
703
  },
696
704
  {
705
+ "slug": "transpose",
706
+ "uuid": "57b76837-4610-466f-9373-d5c2697625f1",
697
707
  "core": false,
708
+ "unlocked_by": "matrix",
698
709
  "difficulty": 6,
699
- "slug": "transpose",
700
710
  "topics": [
701
711
  "arrays",
702
712
  "lists",
@@ -704,54 +714,54 @@
704
714
  "matrices",
705
715
  "strings",
706
716
  "text_formatting"
707
- ],
708
- "unlocked_by": "matrix",
709
- "uuid": "57b76837-4610-466f-9373-d5c2697625f1"
717
+ ]
710
718
  },
711
719
  {
720
+ "slug": "house",
721
+ "uuid": "6b51aca3-3451-4a64-ad7b-00b151d7548a",
712
722
  "core": false,
723
+ "unlocked_by": "two-fer",
713
724
  "difficulty": 6,
714
- "slug": "house",
715
725
  "topics": [
716
726
  "arrays",
717
727
  "conditionals",
718
728
  "loops",
719
729
  "strings",
720
730
  "text_formatting"
721
- ],
722
- "unlocked_by": "two-fer",
723
- "uuid": "6b51aca3-3451-4a64-ad7b-00b151d7548a"
731
+ ]
724
732
  },
725
733
  {
734
+ "slug": "food-chain",
735
+ "uuid": "dd3e6fd6-5359-4978-acd7-c39374cead4d",
726
736
  "core": false,
737
+ "unlocked_by": "two-fer",
727
738
  "difficulty": 6,
728
- "slug": "food-chain",
729
739
  "topics": [
730
740
  "arrays",
731
741
  "lists",
732
742
  "strings"
733
- ],
734
- "unlocked_by": "two-fer",
735
- "uuid": "dd3e6fd6-5359-4978-acd7-c39374cead4d"
743
+ ]
736
744
  },
737
745
  {
746
+ "slug": "beer-song",
747
+ "uuid": "56943095-de76-40bf-b42b-fa3e70f8df5e",
738
748
  "core": false,
749
+ "unlocked_by": "two-fer",
739
750
  "difficulty": 6,
740
- "slug": "beer-song",
741
751
  "topics": [
742
752
  "conditionals",
743
753
  "loops",
744
754
  "strings",
745
755
  "text_formatting",
746
756
  "variables"
747
- ],
748
- "unlocked_by": "two-fer",
749
- "uuid": "56943095-de76-40bf-b42b-fa3e70f8df5e"
757
+ ]
750
758
  },
751
759
  {
760
+ "slug": "queen-attack",
761
+ "uuid": "5404109e-3ed9-4691-8eaf-af8b36024a44",
752
762
  "core": false,
763
+ "unlocked_by": "scrabble-score",
753
764
  "difficulty": 6,
754
- "slug": "queen-attack",
755
765
  "topics": [
756
766
  "arrays",
757
767
  "classes",
@@ -759,66 +769,66 @@
759
769
  "games",
760
770
  "mathematics",
761
771
  "matrices"
762
- ],
763
- "unlocked_by": "scrabble-score",
764
- "uuid": "5404109e-3ed9-4691-8eaf-af8b36024a44"
772
+ ]
765
773
  },
766
774
  {
775
+ "slug": "etl",
776
+ "uuid": "76d28d97-75d3-47eb-bb77-3d347b76f1b6",
767
777
  "core": false,
778
+ "unlocked_by": "word-count",
768
779
  "difficulty": 6,
769
- "slug": "etl",
770
780
  "topics": [
771
781
  "lists",
772
782
  "maps",
773
783
  "transforming"
774
- ],
775
- "unlocked_by": "word-count",
776
- "uuid": "76d28d97-75d3-47eb-bb77-3d347b76f1b6"
784
+ ]
777
785
  },
778
786
  {
787
+ "slug": "grade-school",
788
+ "uuid": "b4af5da1-601f-4b0f-bfb8-4a381851090c",
779
789
  "core": false,
790
+ "unlocked_by": "word-count",
780
791
  "difficulty": 6,
781
- "slug": "grade-school",
782
792
  "topics": [
783
793
  "conditionals",
784
794
  "lists",
785
795
  "maps",
786
796
  "sorting",
787
797
  "strings"
788
- ],
789
- "unlocked_by": "word-count",
790
- "uuid": "b4af5da1-601f-4b0f-bfb8-4a381851090c"
798
+ ]
791
799
  },
792
800
  {
801
+ "slug": "robot-simulator",
802
+ "uuid": "993bde9d-7774-4e7a-a381-9eee75f28ecb",
793
803
  "core": false,
804
+ "unlocked_by": "secret-handshake",
794
805
  "difficulty": 6,
795
- "slug": "robot-simulator",
796
806
  "topics": [
797
807
  "classes",
798
808
  "enumerations",
799
809
  "logic",
800
810
  "loops"
801
- ],
802
- "unlocked_by": "secret-handshake",
803
- "uuid": "993bde9d-7774-4e7a-a381-9eee75f28ecb"
811
+ ]
804
812
  },
805
813
  {
814
+ "slug": "binary-search",
815
+ "uuid": "50136dc3-caf7-4fa1-b7bd-0cba1bea9176",
806
816
  "core": true,
817
+ "unlocked_by": null,
807
818
  "difficulty": 6,
808
- "slug": "binary-search",
809
819
  "topics": [
810
- "recursion",
811
820
  "arrays",
812
- "searching",
813
- "generics"
814
- ],
815
- "unlocked_by": null,
816
- "uuid": "50136dc3-caf7-4fa1-b7bd-0cba1bea9176"
821
+ "generics",
822
+ "recursion",
823
+ "searching"
824
+ ]
817
825
  },
818
826
  {
827
+ "slug": "minesweeper",
828
+ "uuid": "416a1489-12af-4593-8540-0f55285c96b4",
819
829
  "core": false,
830
+ "unlocked_by": "scrabble-score",
820
831
  "difficulty": 6,
821
- "slug": "minesweeper",
822
832
  "topics": [
823
833
  "conditionals",
824
834
  "games",
@@ -826,14 +836,14 @@
826
836
  "lists",
827
837
  "matrices",
828
838
  "strings"
829
- ],
830
- "unlocked_by": "scrabble-score",
831
- "uuid": "416a1489-12af-4593-8540-0f55285c96b4"
839
+ ]
832
840
  },
833
841
  {
842
+ "slug": "wordy",
843
+ "uuid": "3310a3cd-c0cb-45fa-8c51-600178be904a",
834
844
  "core": false,
845
+ "unlocked_by": "secret-handshake",
835
846
  "difficulty": 6,
836
- "slug": "wordy",
837
847
  "topics": [
838
848
  "exception_handling",
839
849
  "integers",
@@ -843,14 +853,14 @@
843
853
  "regular_expressions",
844
854
  "strings",
845
855
  "transforming"
846
- ],
847
- "unlocked_by": "secret-handshake",
848
- "uuid": "3310a3cd-c0cb-45fa-8c51-600178be904a"
856
+ ]
849
857
  },
850
858
  {
859
+ "slug": "all-your-base",
860
+ "uuid": "f7c2e4b5-1995-4dfe-b827-c9aff8ac5332",
851
861
  "core": false,
862
+ "unlocked_by": "saddle-points",
852
863
  "difficulty": 6,
853
- "slug": "all-your-base",
854
864
  "topics": [
855
865
  "arrays",
856
866
  "conditionals",
@@ -858,103 +868,103 @@
858
868
  "integers",
859
869
  "loops",
860
870
  "mathematics"
861
- ],
862
- "unlocked_by": "saddle-points",
863
- "uuid": "f7c2e4b5-1995-4dfe-b827-c9aff8ac5332"
871
+ ]
864
872
  },
865
873
  {
874
+ "slug": "bank-account",
875
+ "uuid": "a242efc5-159d-492b-861d-12a1459fb334",
866
876
  "core": true,
877
+ "unlocked_by": null,
867
878
  "difficulty": 6,
868
- "slug": "bank-account",
869
879
  "topics": [
870
880
  "concurrency",
871
881
  "exception_handling",
872
882
  "integers"
873
- ],
874
- "unlocked_by": null,
875
- "uuid": "a242efc5-159d-492b-861d-12a1459fb334"
883
+ ]
876
884
  },
877
885
  {
886
+ "slug": "bowling",
887
+ "uuid": "4b3f7771-c642-4278-a3d9-2fb958f26361",
878
888
  "core": false,
889
+ "unlocked_by": "scrabble-score",
879
890
  "difficulty": 6,
880
- "slug": "bowling",
881
891
  "topics": [
882
892
  "conditionals",
883
893
  "exception_handling",
884
894
  "games",
885
895
  "integers",
886
896
  "mathematics"
887
- ],
888
- "unlocked_by": "scrabble-score",
889
- "uuid": "4b3f7771-c642-4278-a3d9-2fb958f26361"
897
+ ]
890
898
  },
891
899
  {
900
+ "slug": "linked-list",
901
+ "uuid": "7ba5084d-3b75-4406-a0d7-87c26387f9c0",
892
902
  "core": true,
903
+ "unlocked_by": null,
893
904
  "difficulty": 6,
894
- "slug": "linked-list",
895
905
  "topics": [
896
906
  "algorithms",
897
907
  "generics",
898
908
  "lists"
899
- ],
900
- "unlocked_by": null,
901
- "uuid": "7ba5084d-3b75-4406-a0d7-87c26387f9c0"
909
+ ]
902
910
  },
903
911
  {
912
+ "slug": "tournament",
913
+ "uuid": "486d342e-c834-40fc-b691-a4dab3f790da",
904
914
  "core": false,
915
+ "unlocked_by": "matrix",
905
916
  "difficulty": 6,
906
- "slug": "tournament",
907
917
  "topics": [
908
918
  "loops",
909
919
  "maps",
910
920
  "parsing",
911
921
  "sorting",
912
922
  "text_formatting"
913
- ],
914
- "unlocked_by": "matrix",
915
- "uuid": "486d342e-c834-40fc-b691-a4dab3f790da"
923
+ ]
916
924
  },
917
925
  {
926
+ "slug": "parallel-letter-frequency",
927
+ "uuid": "38a405e8-619d-400f-b53c-2f06461fdf9d",
918
928
  "core": false,
929
+ "unlocked_by": "bank-account",
919
930
  "difficulty": 6,
920
- "slug": "parallel-letter-frequency",
921
931
  "topics": [
922
932
  "concurrency",
923
933
  "maps",
924
934
  "strings"
925
- ],
926
- "unlocked_by": "bank-account",
927
- "uuid": "38a405e8-619d-400f-b53c-2f06461fdf9d"
935
+ ]
928
936
  },
929
937
  {
938
+ "slug": "rail-fence-cipher",
939
+ "uuid": "6e4ad4ed-cc02-4132-973d-b9163ba0ea3d",
930
940
  "core": false,
941
+ "unlocked_by": "rotational-cipher",
931
942
  "difficulty": 6,
932
- "slug": "rail-fence-cipher",
933
943
  "topics": [
934
- "strings",
944
+ "conditionals",
935
945
  "loops",
936
- "conditionals"
937
- ],
938
- "unlocked_by": "rotational-cipher",
939
- "uuid": "6e4ad4ed-cc02-4132-973d-b9163ba0ea3d"
946
+ "strings"
947
+ ]
940
948
  },
941
949
  {
950
+ "slug": "two-bucket",
951
+ "uuid": "210bf628-b385-443b-8329-3483cc6e8d7e",
942
952
  "core": false,
953
+ "unlocked_by": "triangle",
943
954
  "difficulty": 7,
944
- "slug": "two-bucket",
945
955
  "topics": [
946
956
  "algorithms",
947
- "loops",
948
957
  "conditionals",
958
+ "loops",
949
959
  "mathematics"
950
- ],
951
- "unlocked_by": "triangle",
952
- "uuid": "210bf628-b385-443b-8329-3483cc6e8d7e"
960
+ ]
953
961
  },
954
962
  {
963
+ "slug": "anagram",
964
+ "uuid": "fb10dc2f-0ba1-44b6-8365-5e48e86d1283",
955
965
  "core": false,
966
+ "unlocked_by": "hello-world",
956
967
  "difficulty": 7,
957
- "slug": "anagram",
958
968
  "topics": [
959
969
  "arrays",
960
970
  "conditionals",
@@ -962,28 +972,28 @@
962
972
  "lists",
963
973
  "loops",
964
974
  "strings"
965
- ],
966
- "unlocked_by": "hello-world",
967
- "uuid": "fb10dc2f-0ba1-44b6-8365-5e48e86d1283"
975
+ ]
968
976
  },
969
977
  {
978
+ "slug": "sublist",
979
+ "uuid": "d2aedbd7-092a-43d0-8a5e-ae3ebd5b9c7f",
970
980
  "core": false,
981
+ "unlocked_by": "linked-list",
971
982
  "difficulty": 7,
972
- "slug": "sublist",
973
983
  "topics": [
974
984
  "enumeration",
975
985
  "generics",
976
986
  "lists",
977
987
  "loops",
978
988
  "searching"
979
- ],
980
- "unlocked_by": "linked-list",
981
- "uuid": "d2aedbd7-092a-43d0-8a5e-ae3ebd5b9c7f"
989
+ ]
982
990
  },
983
991
  {
992
+ "slug": "word-search",
993
+ "uuid": "b53bde52-cb5f-4d43-86ec-18aa509d62f9",
984
994
  "core": false,
995
+ "unlocked_by": "scrabble-score",
985
996
  "difficulty": 7,
986
- "slug": "word-search",
987
997
  "topics": [
988
998
  "games",
989
999
  "logic",
@@ -991,54 +1001,54 @@
991
1001
  "pattern_matching",
992
1002
  "searching",
993
1003
  "strings"
994
- ],
995
- "unlocked_by": "scrabble-score",
996
- "uuid": "b53bde52-cb5f-4d43-86ec-18aa509d62f9"
1004
+ ]
997
1005
  },
998
1006
  {
1007
+ "slug": "simple-linked-list",
1008
+ "uuid": "e3e5ffe5-cfc1-467e-a28a-da0302130144",
999
1009
  "core": false,
1010
+ "unlocked_by": "linked-list",
1000
1011
  "difficulty": 7,
1001
- "slug": "simple-linked-list",
1002
1012
  "topics": [
1003
1013
  "algorithms",
1004
1014
  "exception_handling",
1005
1015
  "generics",
1006
1016
  "lists"
1007
- ],
1008
- "unlocked_by": "linked-list",
1009
- "uuid": "e3e5ffe5-cfc1-467e-a28a-da0302130144"
1017
+ ]
1010
1018
  },
1011
1019
  {
1020
+ "slug": "binary-search-tree",
1021
+ "uuid": "0a2d18aa-7b5e-4401-a952-b93d2060694f",
1012
1022
  "core": false,
1023
+ "unlocked_by": "binary-search",
1013
1024
  "difficulty": 7,
1014
- "slug": "binary-search-tree",
1015
1025
  "topics": [
1016
1026
  "generics",
1017
1027
  "graphs",
1018
1028
  "searching",
1019
1029
  "sorting",
1020
1030
  "trees"
1021
- ],
1022
- "unlocked_by": "binary-search",
1023
- "uuid": "0a2d18aa-7b5e-4401-a952-b93d2060694f"
1031
+ ]
1024
1032
  },
1025
1033
  {
1034
+ "slug": "meetup",
1035
+ "uuid": "602511d5-7e89-4def-b072-4dd311816810",
1026
1036
  "core": false,
1037
+ "unlocked_by": "gigasecond",
1027
1038
  "difficulty": 7,
1028
- "slug": "meetup",
1029
1039
  "topics": [
1030
1040
  "conditionals",
1031
1041
  "dates",
1032
1042
  "enumerations",
1033
1043
  "loops"
1034
- ],
1035
- "unlocked_by": "gigasecond",
1036
- "uuid": "602511d5-7e89-4def-b072-4dd311816810"
1044
+ ]
1037
1045
  },
1038
1046
  {
1047
+ "slug": "crypto-square",
1048
+ "uuid": "162bebdc-9bf2-43c0-8460-a91f5fc16147",
1039
1049
  "core": false,
1050
+ "unlocked_by": "rotational-cipher",
1040
1051
  "difficulty": 7,
1041
- "slug": "crypto-square",
1042
1052
  "topics": [
1043
1053
  "cryptography",
1044
1054
  "lists",
@@ -1046,39 +1056,39 @@
1046
1056
  "security",
1047
1057
  "strings",
1048
1058
  "text_formatting"
1049
- ],
1050
- "unlocked_by": "rotational-cipher",
1051
- "uuid": "162bebdc-9bf2-43c0-8460-a91f5fc16147"
1059
+ ]
1052
1060
  },
1053
1061
  {
1062
+ "slug": "markdown",
1063
+ "uuid": "cc18f2e5-4e36-47d6-aa60-8ca5ff54019a",
1054
1064
  "core": false,
1065
+ "unlocked_by": "scrabble-score",
1055
1066
  "difficulty": 7,
1056
- "slug": "markdown",
1057
1067
  "topics": [
1058
- "strings",
1059
1068
  "conditionals",
1060
1069
  "pattern_matching",
1061
- "refactoring"
1062
- ],
1063
- "unlocked_by": "scrabble-score",
1064
- "uuid": "cc18f2e5-4e36-47d6-aa60-8ca5ff54019a"
1070
+ "refactoring",
1071
+ "strings"
1072
+ ]
1065
1073
  },
1066
1074
  {
1075
+ "slug": "poker",
1076
+ "uuid": "57eeac00-741c-4843-907a-51f0ac5ea4cb",
1067
1077
  "core": false,
1078
+ "unlocked_by": "scrabble-score",
1068
1079
  "difficulty": 7,
1069
- "slug": "poker",
1070
1080
  "topics": [
1071
1081
  "games",
1072
1082
  "parsing",
1073
1083
  "sorting"
1074
- ],
1075
- "unlocked_by": "scrabble-score",
1076
- "uuid": "57eeac00-741c-4843-907a-51f0ac5ea4cb"
1084
+ ]
1077
1085
  },
1078
1086
  {
1087
+ "slug": "clock",
1088
+ "uuid": "97c8fcd4-85b6-41cb-9de2-b4e1b4951222",
1079
1089
  "core": false,
1090
+ "unlocked_by": "saddle-points",
1080
1091
  "difficulty": 7,
1081
- "slug": "clock",
1082
1092
  "topics": [
1083
1093
  "equality",
1084
1094
  "integers",
@@ -1086,118 +1096,118 @@
1086
1096
  "object_oriented_programming",
1087
1097
  "strings",
1088
1098
  "time"
1089
- ],
1090
- "unlocked_by": "saddle-points",
1091
- "uuid": "97c8fcd4-85b6-41cb-9de2-b4e1b4951222"
1099
+ ]
1092
1100
  },
1093
1101
  {
1102
+ "slug": "zipper",
1103
+ "uuid": "25d2c7a5-1ec8-464a-b3de-ad1b27464ef1",
1094
1104
  "core": false,
1105
+ "unlocked_by": "linked-list",
1095
1106
  "difficulty": 7,
1096
- "slug": "zipper",
1097
1107
  "topics": [
1098
1108
  "integer",
1109
+ "links",
1099
1110
  "nodes",
1100
- "tree",
1101
- "links"
1102
- ],
1103
- "unlocked_by": "linked-list",
1104
- "uuid": "25d2c7a5-1ec8-464a-b3de-ad1b27464ef1"
1111
+ "tree"
1112
+ ]
1105
1113
  },
1106
1114
  {
1115
+ "slug": "go-counting",
1116
+ "uuid": "2e760ae2-fadd-4d31-9639-c4554e2826e9",
1107
1117
  "core": false,
1118
+ "unlocked_by": "scrabble-score",
1108
1119
  "difficulty": 7,
1109
- "slug": "go-counting",
1110
1120
  "topics": [
1111
1121
  "algorithms",
1112
- "loops",
1113
1122
  "conditionals",
1114
- "games"
1115
- ],
1116
- "unlocked_by": "scrabble-score",
1117
- "uuid": "2e760ae2-fadd-4d31-9639-c4554e2826e9"
1123
+ "games",
1124
+ "loops"
1125
+ ]
1118
1126
  },
1119
1127
  {
1128
+ "slug": "dominoes",
1129
+ "uuid": "8e3cb20e-623b-4b4d-8a91-d1a51c0911b5",
1120
1130
  "core": false,
1131
+ "unlocked_by": "scrabble-score",
1121
1132
  "difficulty": 7,
1122
- "slug": "dominoes",
1123
1133
  "topics": [
1124
- "games",
1125
1134
  "algorithms",
1126
- "lists",
1127
- "exception_handling"
1128
- ],
1129
- "unlocked_by": "scrabble-score",
1130
- "uuid": "8e3cb20e-623b-4b4d-8a91-d1a51c0911b5"
1135
+ "exception_handling",
1136
+ "games",
1137
+ "lists"
1138
+ ]
1131
1139
  },
1132
1140
  {
1141
+ "slug": "ocr-numbers",
1142
+ "uuid": "5cbc6a67-3a53-4aad-ae68-ff469525437f",
1133
1143
  "core": false,
1144
+ "unlocked_by": "robot-name",
1134
1145
  "difficulty": 8,
1135
- "slug": "ocr-numbers",
1136
1146
  "topics": [
1137
1147
  "exception_handling",
1138
1148
  "lists",
1139
1149
  "loops",
1140
1150
  "parsing",
1141
1151
  "strings"
1142
- ],
1143
- "unlocked_by": "robot-name",
1144
- "uuid": "5cbc6a67-3a53-4aad-ae68-ff469525437f"
1152
+ ]
1145
1153
  },
1146
1154
  {
1155
+ "slug": "circular-buffer",
1156
+ "uuid": "626dc25a-062c-4053-a8c1-788e4dc44ca0",
1147
1157
  "core": false,
1158
+ "unlocked_by": "linked-list",
1148
1159
  "difficulty": 8,
1149
- "slug": "circular-buffer",
1150
1160
  "topics": [
1151
1161
  "classes",
1152
1162
  "exception_handling",
1153
1163
  "queues"
1154
- ],
1155
- "unlocked_by": "linked-list",
1156
- "uuid": "626dc25a-062c-4053-a8c1-788e4dc44ca0"
1164
+ ]
1157
1165
  },
1158
1166
  {
1167
+ "slug": "rectangles",
1168
+ "uuid": "64cda115-919a-4eef-9a45-9ec5d1af98cc",
1159
1169
  "core": false,
1170
+ "unlocked_by": "robot-name",
1160
1171
  "difficulty": 8,
1161
- "slug": "rectangles",
1162
1172
  "topics": [
1163
1173
  "arrays",
1164
1174
  "logic",
1165
1175
  "pattern_recognition",
1166
1176
  "strings"
1167
- ],
1168
- "unlocked_by": "robot-name",
1169
- "uuid": "64cda115-919a-4eef-9a45-9ec5d1af98cc"
1177
+ ]
1170
1178
  },
1171
1179
  {
1180
+ "slug": "book-store",
1181
+ "uuid": "e5f05d00-fe5b-4d78-b2fa-934c1c9afb32",
1172
1182
  "core": false,
1183
+ "unlocked_by": "flatten-array",
1173
1184
  "difficulty": 8,
1174
- "slug": "book-store",
1175
1185
  "topics": [
1176
1186
  "algorithms",
1177
1187
  "floating_point_numbers",
1178
1188
  "integers",
1179
1189
  "lists",
1180
1190
  "mathematics"
1181
- ],
1182
- "unlocked_by": "flatten-array",
1183
- "uuid": "e5f05d00-fe5b-4d78-b2fa-934c1c9afb32"
1191
+ ]
1184
1192
  },
1185
1193
  {
1194
+ "slug": "diffie-hellman",
1195
+ "uuid": "9b191b2f-b1a4-4c0e-b911-36666bff614d",
1186
1196
  "core": false,
1197
+ "unlocked_by": "linked-list",
1187
1198
  "difficulty": 8,
1188
- "slug": "diffie-hellman",
1189
1199
  "topics": [
1190
1200
  "algorithms",
1191
1201
  "integers",
1192
1202
  "transforming"
1193
- ],
1194
- "unlocked_by": "linked-list",
1195
- "uuid": "9b191b2f-b1a4-4c0e-b911-36666bff614d"
1203
+ ]
1196
1204
  },
1197
1205
  {
1206
+ "slug": "simple-cipher",
1207
+ "uuid": "f654831f-c34b-44f5-9dd5-054efbb486f2",
1198
1208
  "core": false,
1209
+ "unlocked_by": "rotational-cipher",
1199
1210
  "difficulty": 8,
1200
- "slug": "simple-cipher",
1201
1211
  "topics": [
1202
1212
  "cryptography",
1203
1213
  "exception_handling",
@@ -1205,64 +1215,64 @@
1205
1215
  "randomness",
1206
1216
  "security",
1207
1217
  "strings"
1208
- ],
1209
- "unlocked_by": "rotational-cipher",
1210
- "uuid": "f654831f-c34b-44f5-9dd5-054efbb486f2"
1218
+ ]
1211
1219
  },
1212
1220
  {
1221
+ "slug": "complex-numbers",
1222
+ "uuid": "52d11278-0d65-4b5b-b387-1374fced3243",
1213
1223
  "core": false,
1224
+ "unlocked_by": "triangle",
1214
1225
  "difficulty": 8,
1215
- "slug": "complex-numbers",
1216
1226
  "topics": [
1217
1227
  "floating_point_numbers",
1218
1228
  "mathematics"
1219
- ],
1220
- "unlocked_by": "triangle",
1221
- "uuid": "52d11278-0d65-4b5b-b387-1374fced3243"
1229
+ ]
1222
1230
  },
1223
1231
  {
1232
+ "slug": "rational-numbers",
1233
+ "uuid": "50ed54ce-3047-4590-9fda-0a7e9aeeba30",
1224
1234
  "core": false,
1235
+ "unlocked_by": "triangle",
1225
1236
  "difficulty": 8,
1226
- "slug": "rational-numbers",
1227
1237
  "topics": [
1238
+ "algorithms",
1228
1239
  "floating_point_numbers",
1229
- "mathematics",
1230
- "algorithms"
1231
- ],
1232
- "unlocked_by": "triangle",
1233
- "uuid": "50ed54ce-3047-4590-9fda-0a7e9aeeba30"
1240
+ "mathematics"
1241
+ ]
1234
1242
  },
1235
1243
  {
1244
+ "slug": "list-ops",
1245
+ "uuid": "a9836565-5c39-4285-b83a-53408be36ccc",
1236
1246
  "core": false,
1247
+ "unlocked_by": "linked-list",
1237
1248
  "difficulty": 8,
1238
- "slug": "list-ops",
1239
1249
  "topics": [
1240
1250
  "filtering",
1241
1251
  "functional_programming",
1242
1252
  "generics",
1243
1253
  "lists",
1244
1254
  "loops"
1245
- ],
1246
- "unlocked_by": "linked-list",
1247
- "uuid": "a9836565-5c39-4285-b83a-53408be36ccc"
1255
+ ]
1248
1256
  },
1249
1257
  {
1258
+ "slug": "change",
1259
+ "uuid": "bac1f4bc-eea9-43c1-8e95-097347f5925e",
1250
1260
  "core": false,
1261
+ "unlocked_by": "flatten-array",
1251
1262
  "difficulty": 8,
1252
- "slug": "change",
1253
1263
  "topics": [
1254
1264
  "algorithms",
1255
1265
  "exception_handling",
1256
1266
  "integers",
1257
1267
  "lists"
1258
- ],
1259
- "unlocked_by": "flatten-array",
1260
- "uuid": "bac1f4bc-eea9-43c1-8e95-097347f5925e"
1268
+ ]
1261
1269
  },
1262
1270
  {
1271
+ "slug": "palindrome-products",
1272
+ "uuid": "873c05de-b5f5-4c5b-97f0-d1ede8a82832",
1263
1273
  "core": false,
1274
+ "unlocked_by": "saddle-points",
1264
1275
  "difficulty": 8,
1265
- "slug": "palindrome-products",
1266
1276
  "topics": [
1267
1277
  "conditionals",
1268
1278
  "integers",
@@ -1270,27 +1280,27 @@
1270
1280
  "loops",
1271
1281
  "maps",
1272
1282
  "mathematics"
1273
- ],
1274
- "unlocked_by": "saddle-points",
1275
- "uuid": "873c05de-b5f5-4c5b-97f0-d1ede8a82832"
1283
+ ]
1276
1284
  },
1277
1285
  {
1286
+ "slug": "pythagorean-triplet",
1287
+ "uuid": "88505f95-89e5-4a08-8ed2-208eb818cdf1",
1278
1288
  "core": false,
1289
+ "unlocked_by": "triangle",
1279
1290
  "difficulty": 9,
1280
- "slug": "pythagorean-triplet",
1281
1291
  "topics": [
1282
1292
  "integer",
1283
1293
  "lists",
1284
1294
  "logic",
1285
1295
  "mathematics"
1286
- ],
1287
- "unlocked_by": "triangle",
1288
- "uuid": "88505f95-89e5-4a08-8ed2-208eb818cdf1"
1296
+ ]
1289
1297
  },
1290
1298
  {
1299
+ "slug": "forth",
1300
+ "uuid": "f0c0316d-3fb5-455e-952a-91161e7fb298",
1291
1301
  "core": false,
1302
+ "unlocked_by": "secret-handshake",
1292
1303
  "difficulty": 9,
1293
- "slug": "forth",
1294
1304
  "topics": [
1295
1305
  "exception_handling",
1296
1306
  "lists",
@@ -1298,58 +1308,73 @@
1298
1308
  "parsing",
1299
1309
  "stacks",
1300
1310
  "strings"
1301
- ],
1302
- "unlocked_by": "secret-handshake",
1303
- "uuid": "f0c0316d-3fb5-455e-952a-91161e7fb298"
1311
+ ]
1304
1312
  },
1305
1313
  {
1314
+ "slug": "custom-set",
1315
+ "uuid": "377fe38b-08ad-4f3a-8118-a43c10f7b9b2",
1306
1316
  "core": false,
1317
+ "unlocked_by": "linked-list",
1307
1318
  "difficulty": 10,
1308
- "slug": "custom-set",
1309
1319
  "topics": [
1310
1320
  "equality",
1311
1321
  "generics",
1312
1322
  "sets"
1313
- ],
1314
- "unlocked_by": "linked-list",
1315
- "uuid": "377fe38b-08ad-4f3a-8118-a43c10f7b9b2"
1323
+ ]
1316
1324
  },
1317
1325
  {
1318
- "deprecated": true,
1319
1326
  "slug": "accumulate",
1320
- "uuid": "e58c29d2-80a7-40ef-bed0-4a184ae35f34"
1327
+ "uuid": "e58c29d2-80a7-40ef-bed0-4a184ae35f34",
1328
+ "core": false,
1329
+ "unlocked_by": null,
1330
+ "difficulty": 0,
1331
+ "topics": null,
1332
+ "deprecated": true
1321
1333
  },
1322
1334
  {
1323
- "deprecated": true,
1324
1335
  "slug": "binary",
1325
- "uuid": "9ea6e0fa-b91d-4d17-ac8f-6d2dc30fdd44"
1336
+ "uuid": "9ea6e0fa-b91d-4d17-ac8f-6d2dc30fdd44",
1337
+ "core": false,
1338
+ "unlocked_by": null,
1339
+ "difficulty": 0,
1340
+ "topics": null,
1341
+ "deprecated": true
1326
1342
  },
1327
1343
  {
1328
- "deprecated": true,
1329
1344
  "slug": "hexadecimal",
1330
- "uuid": "6fe53a08-c123-465d-864a-ef18217203c4"
1345
+ "uuid": "6fe53a08-c123-465d-864a-ef18217203c4",
1346
+ "core": false,
1347
+ "unlocked_by": null,
1348
+ "difficulty": 0,
1349
+ "topics": null,
1350
+ "deprecated": true
1331
1351
  },
1332
1352
  {
1333
- "deprecated": true,
1334
1353
  "slug": "octal",
1335
- "uuid": "14a29e82-f9b1-4662-b678-06992e306c01"
1354
+ "uuid": "14a29e82-f9b1-4662-b678-06992e306c01",
1355
+ "core": false,
1356
+ "unlocked_by": null,
1357
+ "difficulty": 0,
1358
+ "topics": null,
1359
+ "deprecated": true
1336
1360
  },
1337
1361
  {
1338
- "deprecated": true,
1339
1362
  "slug": "strain",
1340
- "uuid": "2d195cd9-1814-490a-8dd6-a2c676f1d4cd"
1363
+ "uuid": "2d195cd9-1814-490a-8dd6-a2c676f1d4cd",
1364
+ "core": false,
1365
+ "unlocked_by": null,
1366
+ "difficulty": 0,
1367
+ "topics": null,
1368
+ "deprecated": true
1341
1369
  },
1342
1370
  {
1343
- "deprecated": true,
1344
1371
  "slug": "trinary",
1345
- "uuid": "ee3a8abe-6b19-4b47-9cf6-4d39ae915fb7"
1372
+ "uuid": "ee3a8abe-6b19-4b47-9cf6-4d39ae915fb7",
1373
+ "core": false,
1374
+ "unlocked_by": null,
1375
+ "difficulty": 0,
1376
+ "topics": null,
1377
+ "deprecated": true
1346
1378
  }
1347
- ],
1348
- "foregone": [
1349
- "leap",
1350
- "grains",
1351
- "say"
1352
- ],
1353
- "language": "Java",
1354
- "solution_pattern": "reference"
1379
+ ]
1355
1380
  }