trackler 2.2.1.4 → 2.2.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (442) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +10 -0
  4. data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
  5. data/tracks/bash/exercises/error-handling/example.sh +9 -0
  6. data/tracks/ceylon/config/maintainers.json +25 -0
  7. data/tracks/chapel/README.md +1 -1
  8. data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
  9. data/tracks/chapel/config/maintainers.json +5 -0
  10. data/tracks/chapel/config.json +0 -5
  11. data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
  12. data/tracks/coffeescript/config.json +84 -26
  13. data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
  14. data/tracks/coffeescript/exercises/anagram/README.md +21 -0
  15. data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
  16. data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
  17. data/tracks/coffeescript/exercises/binary/README.md +43 -0
  18. data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
  19. data/tracks/coffeescript/exercises/bob/README.md +26 -0
  20. data/tracks/coffeescript/exercises/clock/README.md +21 -0
  21. data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
  22. data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
  23. data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
  24. data/tracks/coffeescript/exercises/luhn/README.md +79 -0
  25. data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
  26. data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
  27. data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
  28. data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
  29. data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
  30. data/tracks/coffeescript/exercises/triangle/README.md +34 -0
  31. data/tracks/coffeescript/exercises/trinary/README.md +36 -0
  32. data/tracks/coffeescript/exercises/word-count/README.md +27 -0
  33. data/tracks/coffeescript/exercises/wordy/README.md +71 -0
  34. data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
  35. data/tracks/coldfusion/config.json +4 -6
  36. data/tracks/coldfusion/exercises/leap/README.md +33 -0
  37. data/tracks/coq/README.md +19 -32
  38. data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
  39. data/tracks/coq/config.json +9 -5
  40. data/tracks/coq/exercises/hello-world/README.md +45 -0
  41. data/tracks/coq/exercises/rna-transcription/README.md +49 -0
  42. data/tracks/coq/exercises/tautology/README.md +33 -0
  43. data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
  44. data/tracks/cpp/config.json +144 -41
  45. data/tracks/cpp/exercises/allergies/README.md +69 -0
  46. data/tracks/cpp/exercises/anagram/README.md +45 -0
  47. data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
  48. data/tracks/cpp/exercises/beer-song/README.md +359 -0
  49. data/tracks/cpp/exercises/binary/README.md +67 -0
  50. data/tracks/cpp/exercises/bob/README.md +50 -0
  51. data/tracks/cpp/exercises/clock/README.md +45 -0
  52. data/tracks/cpp/exercises/crypto-square/README.md +106 -0
  53. data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
  54. data/tracks/cpp/exercises/etl/README.md +83 -0
  55. data/tracks/cpp/exercises/food-chain/README.md +102 -0
  56. data/tracks/cpp/exercises/gigasecond/README.md +43 -0
  57. data/tracks/cpp/exercises/grade-school/README.md +74 -0
  58. data/tracks/cpp/exercises/grains/README.md +66 -0
  59. data/tracks/cpp/exercises/hamming/README.md +74 -0
  60. data/tracks/cpp/exercises/hello-world/README.md +53 -0
  61. data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
  62. data/tracks/cpp/exercises/leap/README.md +65 -0
  63. data/tracks/cpp/exercises/meetup/README.md +62 -0
  64. data/tracks/cpp/exercises/nth-prime/README.md +47 -0
  65. data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
  66. data/tracks/cpp/exercises/phone-number/README.md +66 -0
  67. data/tracks/cpp/exercises/prime-factors/README.md +68 -0
  68. data/tracks/cpp/exercises/queen-attack/README.md +65 -0
  69. data/tracks/cpp/exercises/raindrops/README.md +56 -0
  70. data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
  71. data/tracks/cpp/exercises/robot-name/README.md +54 -0
  72. data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
  73. data/tracks/cpp/exercises/say/README.md +101 -0
  74. data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
  75. data/tracks/cpp/exercises/series/README.md +59 -0
  76. data/tracks/cpp/exercises/sieve/README.md +66 -0
  77. data/tracks/cpp/exercises/space-age/README.md +56 -0
  78. data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
  79. data/tracks/cpp/exercises/triangle/README.md +58 -0
  80. data/tracks/cpp/exercises/trinary/README.md +60 -0
  81. data/tracks/cpp/exercises/word-count/README.md +51 -0
  82. data/tracks/crystal/config.json +69 -3
  83. data/tracks/d/config/exercise_readme.go.tmpl +16 -0
  84. data/tracks/d/config.json +54 -3
  85. data/tracks/d/exercises/bob/README.md +49 -0
  86. data/tracks/d/exercises/circular-buffer/README.md +81 -0
  87. data/tracks/d/exercises/crypto-square/README.md +105 -0
  88. data/tracks/d/exercises/difference-of-squares/README.md +50 -0
  89. data/tracks/d/exercises/etl/README.md +82 -0
  90. data/tracks/d/exercises/gigasecond/README.md +42 -0
  91. data/tracks/d/exercises/hamming/README.md +73 -0
  92. data/tracks/d/exercises/hello-world/README.md +52 -0
  93. data/tracks/d/exercises/leap/README.md +64 -0
  94. data/tracks/d/exercises/nucleotide-count/README.md +64 -0
  95. data/tracks/d/exercises/pangram/README.md +46 -0
  96. data/tracks/d/exercises/raindrops/README.md +55 -0
  97. data/tracks/d/exercises/react/README.md +50 -0
  98. data/tracks/d/exercises/rna-transcription/README.md +56 -0
  99. data/tracks/d/exercises/robot-name/README.md +53 -0
  100. data/tracks/d/exercises/roman-numerals/README.md +80 -0
  101. data/tracks/d/exercises/series/README.md +58 -0
  102. data/tracks/d/exercises/triangle/README.md +57 -0
  103. data/tracks/delphi/config/maintainers.json +25 -0
  104. data/tracks/ecmascript/config/maintainers.json +35 -0
  105. data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
  106. data/tracks/elisp/config.json +79 -22
  107. data/tracks/elisp/exercises/allergies/README.md +37 -0
  108. data/tracks/elisp/exercises/anagram/README.md +13 -0
  109. data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
  110. data/tracks/elisp/exercises/binary/README.md +35 -0
  111. data/tracks/elisp/exercises/bob/README.md +18 -0
  112. data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
  113. data/tracks/elisp/exercises/etl/README.md +51 -0
  114. data/tracks/elisp/exercises/gigasecond/README.md +11 -0
  115. data/tracks/elisp/exercises/grains/README.md +34 -0
  116. data/tracks/elisp/exercises/hamming/README.md +42 -0
  117. data/tracks/elisp/exercises/hello-world/README.md +21 -0
  118. data/tracks/elisp/exercises/leap/README.md +33 -0
  119. data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
  120. data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
  121. data/tracks/elisp/exercises/phone-number/README.md +34 -0
  122. data/tracks/elisp/exercises/raindrops/README.md +24 -0
  123. data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
  124. data/tracks/elisp/exercises/robot-name/README.md +22 -0
  125. data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
  126. data/tracks/elisp/exercises/word-count/README.md +19 -0
  127. data/tracks/elixir/config/maintainers.json +35 -0
  128. data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
  129. data/tracks/elm/config.json +96 -5
  130. data/tracks/elm/exercises/accumulate/README.md +65 -0
  131. data/tracks/elm/exercises/allergies/README.md +67 -0
  132. data/tracks/elm/exercises/anagram/README.md +43 -0
  133. data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
  134. data/tracks/elm/exercises/bob/README.md +48 -0
  135. data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
  136. data/tracks/elm/exercises/etl/README.md +81 -0
  137. data/tracks/elm/exercises/gigasecond/README.md +41 -0
  138. data/tracks/elm/exercises/grade-school/README.md +72 -0
  139. data/tracks/elm/exercises/grains/README.md +64 -0
  140. data/tracks/elm/exercises/hamming/README.md +72 -0
  141. data/tracks/elm/exercises/hello-world/README.md +51 -0
  142. data/tracks/elm/exercises/largest-series-product/README.md +50 -0
  143. data/tracks/elm/exercises/leap/README.md +63 -0
  144. data/tracks/elm/exercises/list-ops/README.md +40 -0
  145. data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
  146. data/tracks/elm/exercises/pangram/README.md +45 -0
  147. data/tracks/elm/exercises/phone-number/README.md +64 -0
  148. data/tracks/elm/exercises/raindrops/README.md +54 -0
  149. data/tracks/elm/exercises/rna-transcription/README.md +55 -0
  150. data/tracks/elm/exercises/robot-simulator/README.md +64 -0
  151. data/tracks/elm/exercises/roman-numerals/README.md +79 -0
  152. data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
  153. data/tracks/elm/exercises/say/README.md +99 -0
  154. data/tracks/elm/exercises/scrabble-score/README.md +74 -0
  155. data/tracks/elm/exercises/series/README.md +57 -0
  156. data/tracks/elm/exercises/space-age/README.md +54 -0
  157. data/tracks/elm/exercises/strain/README.md +70 -0
  158. data/tracks/elm/exercises/sublist/README.md +51 -0
  159. data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
  160. data/tracks/elm/exercises/triangle/README.md +56 -0
  161. data/tracks/elm/exercises/word-count/README.md +49 -0
  162. data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
  163. data/tracks/fortran/config.json +21 -5
  164. data/tracks/fortran/exercises/bob/README.md +18 -0
  165. data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
  166. data/tracks/fortran/exercises/hamming/README.md +42 -0
  167. data/tracks/fortran/exercises/hello-world/README.md +21 -0
  168. data/tracks/fortran/exercises/pangram/README.md +15 -0
  169. data/tracks/fortran/exercises/raindrops/README.md +24 -0
  170. data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
  171. data/tracks/go/config/maintainers.json +85 -0
  172. data/tracks/go/config.json +2 -2
  173. data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
  174. data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
  175. data/tracks/groovy/exercises/gigasecond/README.md +25 -0
  176. data/tracks/groovy/exercises/grains/README.md +48 -0
  177. data/tracks/groovy/exercises/hamming/README.md +56 -0
  178. data/tracks/groovy/exercises/hello-world/README.md +35 -0
  179. data/tracks/groovy/exercises/leap/README.md +47 -0
  180. data/tracks/groovy/exercises/nth-prime/README.md +29 -0
  181. data/tracks/groovy/exercises/phone-number/README.md +48 -0
  182. data/tracks/groovy/exercises/raindrops/README.md +38 -0
  183. data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
  184. data/tracks/groovy/exercises/robot-name/README.md +36 -0
  185. data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
  186. data/tracks/groovy/exercises/word-count/README.md +33 -0
  187. data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
  188. data/tracks/haxe/config.json +0 -2
  189. data/tracks/haxe/exercises/bob/README.md +18 -0
  190. data/tracks/haxe/exercises/hello-world/README.md +21 -0
  191. data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
  192. data/tracks/idris/config.json +9 -3
  193. data/tracks/idris/exercises/hamming/README.md +42 -0
  194. data/tracks/idris/exercises/hello-world/README.md +21 -0
  195. data/tracks/idris/exercises/leap/README.md +33 -0
  196. data/tracks/java/config/maintainers.json +45 -0
  197. data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
  198. data/tracks/javascript/config/maintainers.json +85 -0
  199. data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
  200. data/tracks/julia/config.json +81 -5
  201. data/tracks/julia/exercises/anagram/README.md +13 -0
  202. data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
  203. data/tracks/julia/exercises/bob/README.md +18 -0
  204. data/tracks/julia/exercises/complex-numbers/README.md +24 -0
  205. data/tracks/julia/exercises/custom-set/README.md +16 -0
  206. data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
  207. data/tracks/julia/exercises/etl/README.md +51 -0
  208. data/tracks/julia/exercises/gigasecond/README.md +11 -0
  209. data/tracks/julia/exercises/hamming/README.md +42 -0
  210. data/tracks/julia/exercises/hello-world/README.md +21 -0
  211. data/tracks/julia/exercises/isogram/README.md +19 -0
  212. data/tracks/julia/exercises/leap/README.md +33 -0
  213. data/tracks/julia/exercises/luhn/README.md +71 -0
  214. data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
  215. data/tracks/julia/exercises/pangram/README.md +15 -0
  216. data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
  217. data/tracks/julia/exercises/raindrops/README.md +24 -0
  218. data/tracks/julia/exercises/rna-transcription/README.md +25 -0
  219. data/tracks/julia/exercises/robot-name/README.md +41 -0
  220. data/tracks/julia/exercises/roman-numerals/README.md +49 -0
  221. data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
  222. data/tracks/julia/exercises/scrabble-score/README.md +44 -0
  223. data/tracks/julia/exercises/secret-handshake/README.md +35 -0
  224. data/tracks/julia/exercises/sieve/README.md +34 -0
  225. data/tracks/julia/exercises/transpose/README.md +65 -0
  226. data/tracks/julia/exercises/trinary/README.md +28 -0
  227. data/tracks/julia/exercises/word-count/README.md +19 -0
  228. data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
  229. data/tracks/lfe/config.json +125 -33
  230. data/tracks/lfe/exercises/accumulate/README.md +51 -0
  231. data/tracks/lfe/exercises/allergies/README.md +53 -0
  232. data/tracks/lfe/exercises/anagram/README.md +29 -0
  233. data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
  234. data/tracks/lfe/exercises/bank-account/README.md +46 -0
  235. data/tracks/lfe/exercises/beer-song/README.md +343 -0
  236. data/tracks/lfe/exercises/binary/README.md +51 -0
  237. data/tracks/lfe/exercises/bob/README.md +34 -0
  238. data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
  239. data/tracks/lfe/exercises/clock/README.md +29 -0
  240. data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
  241. data/tracks/lfe/exercises/etl/README.md +67 -0
  242. data/tracks/lfe/exercises/gigasecond/README.md +27 -0
  243. data/tracks/lfe/exercises/grade-school/README.md +58 -0
  244. data/tracks/lfe/exercises/grains/README.md +50 -0
  245. data/tracks/lfe/exercises/hamming/README.md +58 -0
  246. data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
  247. data/tracks/lfe/exercises/leap/README.md +49 -0
  248. data/tracks/lfe/exercises/luhn/README.md +87 -0
  249. data/tracks/lfe/exercises/meetup/README.md +46 -0
  250. data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
  251. data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
  252. data/tracks/lfe/exercises/phone-number/README.md +50 -0
  253. data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
  254. data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
  255. data/tracks/lfe/exercises/series/README.md +43 -0
  256. data/tracks/lfe/exercises/space-age/README.md +40 -0
  257. data/tracks/lfe/exercises/strain/README.md +56 -0
  258. data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
  259. data/tracks/lfe/exercises/trinary/README.md +44 -0
  260. data/tracks/lfe/exercises/word-count/README.md +35 -0
  261. data/tracks/lua/config/maintainers.json +35 -0
  262. data/tracks/lua/config.json +225 -3
  263. data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
  264. data/tracks/nasm/config.json +0 -5
  265. data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
  266. data/tracks/nim/config.json +56 -19
  267. data/tracks/nim/exercises/anagram/README.md +13 -0
  268. data/tracks/nim/exercises/binary/README.md +35 -0
  269. data/tracks/nim/exercises/bob/README.md +18 -0
  270. data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
  271. data/tracks/nim/exercises/hamming/README.md +42 -0
  272. data/tracks/nim/exercises/hello-world/README.md +21 -0
  273. data/tracks/nim/exercises/leap/README.md +33 -0
  274. data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
  275. data/tracks/nim/exercises/queen-attack/README.md +33 -0
  276. data/tracks/nim/exercises/raindrops/README.md +24 -0
  277. data/tracks/nim/exercises/react/README.md +19 -0
  278. data/tracks/nim/exercises/rna-transcription/README.md +25 -0
  279. data/tracks/nim/exercises/triangle/README.md +26 -0
  280. data/tracks/nim/exercises/word-count/README.md +19 -0
  281. data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
  282. data/tracks/objective-c/config/maintainers.json +35 -0
  283. data/tracks/objective-c/config.json +168 -47
  284. data/tracks/objective-c/exercises/acronym/README.md +32 -0
  285. data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
  286. data/tracks/objective-c/exercises/allergies/README.md +54 -0
  287. data/tracks/objective-c/exercises/anagram/README.md +30 -0
  288. data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
  289. data/tracks/objective-c/exercises/beer-song/README.md +344 -0
  290. data/tracks/objective-c/exercises/binary-search/README.md +58 -0
  291. data/tracks/objective-c/exercises/bob/README.md +35 -0
  292. data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
  293. data/tracks/objective-c/exercises/clock/README.md +30 -0
  294. data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
  295. data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
  296. data/tracks/objective-c/exercises/etl/README.md +68 -0
  297. data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
  298. data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
  299. data/tracks/objective-c/exercises/grade-school/README.md +59 -0
  300. data/tracks/objective-c/exercises/hamming/README.md +59 -0
  301. data/tracks/objective-c/exercises/hello-world/README.md +38 -0
  302. data/tracks/objective-c/exercises/isogram/README.md +36 -0
  303. data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
  304. data/tracks/objective-c/exercises/leap/README.md +50 -0
  305. data/tracks/objective-c/exercises/luhn/README.md +88 -0
  306. data/tracks/objective-c/exercises/meetup/README.md +47 -0
  307. data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
  308. data/tracks/objective-c/exercises/pangram/README.md +32 -0
  309. data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
  310. data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
  311. data/tracks/objective-c/exercises/phone-number/README.md +51 -0
  312. data/tracks/objective-c/exercises/raindrops/README.md +41 -0
  313. data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
  314. data/tracks/objective-c/exercises/robot-name/README.md +39 -0
  315. data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
  316. data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
  317. data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
  318. data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
  319. data/tracks/objective-c/exercises/sieve/README.md +51 -0
  320. data/tracks/objective-c/exercises/space-age/README.md +41 -0
  321. data/tracks/objective-c/exercises/sublist/README.md +38 -0
  322. data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
  323. data/tracks/objective-c/exercises/transpose/README.md +82 -0
  324. data/tracks/objective-c/exercises/triangle/README.md +43 -0
  325. data/tracks/objective-c/exercises/word-count/README.md +36 -0
  326. data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
  327. data/tracks/plsql/config.json +0 -2
  328. data/tracks/plsql/exercises/binary/README.md +55 -0
  329. data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
  330. data/tracks/plsql/exercises/gigasecond/README.md +31 -0
  331. data/tracks/plsql/exercises/grains/README.md +54 -0
  332. data/tracks/plsql/exercises/hamming/README.md +62 -0
  333. data/tracks/plsql/exercises/leap/README.md +53 -0
  334. data/tracks/plsql/exercises/nth-prime/README.md +35 -0
  335. data/tracks/plsql/exercises/raindrops/README.md +44 -0
  336. data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
  337. data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
  338. data/tracks/powershell/config.json +8 -5
  339. data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
  340. data/tracks/prolog/config.json +33 -5
  341. data/tracks/prolog/exercises/anagram/README.md +13 -0
  342. data/tracks/prolog/exercises/binary/README.md +35 -0
  343. data/tracks/prolog/exercises/grains/README.md +34 -0
  344. data/tracks/prolog/exercises/hamming/README.md +42 -0
  345. data/tracks/prolog/exercises/hello-world/README.md +21 -0
  346. data/tracks/prolog/exercises/leap/README.md +33 -0
  347. data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
  348. data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
  349. data/tracks/prolog/exercises/space-age/README.md +24 -0
  350. data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
  351. data/tracks/prolog/exercises/triangle/README.md +26 -0
  352. data/tracks/python/requirements-travis.txt +1 -1
  353. data/tracks/r/config/maintainers.json +35 -0
  354. data/tracks/r/config.json +1 -1
  355. data/tracks/racket/README.md +1 -1
  356. data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
  357. data/tracks/racket/config.json +93 -25
  358. data/tracks/racket/exercises/accumulate/README.md +60 -0
  359. data/tracks/racket/exercises/acronym/README.md +40 -0
  360. data/tracks/racket/exercises/allergies/README.md +62 -0
  361. data/tracks/racket/exercises/anagram/README.md +38 -0
  362. data/tracks/racket/exercises/bob/README.md +43 -0
  363. data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
  364. data/tracks/racket/exercises/etl/README.md +76 -0
  365. data/tracks/racket/exercises/gigasecond/README.md +36 -0
  366. data/tracks/racket/exercises/grains/README.md +59 -0
  367. data/tracks/racket/exercises/grep/README.md +96 -0
  368. data/tracks/racket/exercises/hamming/README.md +67 -0
  369. data/tracks/racket/exercises/hello-world/README.md +46 -0
  370. data/tracks/racket/exercises/leap/README.md +58 -0
  371. data/tracks/racket/exercises/list-ops/README.md +35 -0
  372. data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
  373. data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
  374. data/tracks/racket/exercises/phone-number/README.md +59 -0
  375. data/tracks/racket/exercises/raindrops/README.md +49 -0
  376. data/tracks/racket/exercises/rna-transcription/README.md +50 -0
  377. data/tracks/racket/exercises/roman-numerals/README.md +74 -0
  378. data/tracks/racket/exercises/say/README.md +94 -0
  379. data/tracks/racket/exercises/scrabble-score/README.md +69 -0
  380. data/tracks/racket/exercises/word-count/README.md +44 -0
  381. data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
  382. data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
  383. data/tracks/scala/config/maintainers.json +29 -0
  384. data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
  385. data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
  386. data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
  387. data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
  388. data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
  389. data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
  390. data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
  391. data/tracks/scheme/config.json +42 -3
  392. data/tracks/scheme/exercises/anagram/README.md +13 -0
  393. data/tracks/scheme/exercises/bob/README.md +18 -0
  394. data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
  395. data/tracks/scheme/exercises/grains/README.md +34 -0
  396. data/tracks/scheme/exercises/hamming/README.md +42 -0
  397. data/tracks/scheme/exercises/hello-world/README.md +21 -0
  398. data/tracks/scheme/exercises/leap/README.md +33 -0
  399. data/tracks/scheme/exercises/list-ops/README.md +10 -0
  400. data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
  401. data/tracks/scheme/exercises/phone-number/README.md +34 -0
  402. data/tracks/scheme/exercises/raindrops/README.md +24 -0
  403. data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
  404. data/tracks/scheme/exercises/robot-name/README.md +22 -0
  405. data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
  406. data/tracks/sml/config/maintainers.json +25 -0
  407. data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
  408. data/tracks/typescript/config/maintainers.json +25 -0
  409. data/tracks/typescript/config.json +0 -2
  410. data/tracks/typescript/exercises/anagram/README.md +39 -0
  411. data/tracks/typescript/exercises/beer-song/README.md +353 -0
  412. data/tracks/typescript/exercises/bob/README.md +44 -0
  413. data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
  414. data/tracks/typescript/exercises/etl/README.md +77 -0
  415. data/tracks/typescript/exercises/food-chain/README.md +96 -0
  416. data/tracks/typescript/exercises/gigasecond/README.md +37 -0
  417. data/tracks/typescript/exercises/grade-school/README.md +68 -0
  418. data/tracks/typescript/exercises/hamming/README.md +68 -0
  419. data/tracks/typescript/exercises/hello-world/README.md +47 -0
  420. data/tracks/typescript/exercises/leap/README.md +59 -0
  421. data/tracks/typescript/exercises/pangram/README.md +41 -0
  422. data/tracks/typescript/exercises/phone-number/README.md +60 -0
  423. data/tracks/typescript/exercises/raindrops/README.md +50 -0
  424. data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
  425. data/tracks/typescript/exercises/robot-name/README.md +48 -0
  426. data/tracks/typescript/exercises/say/README.md +95 -0
  427. data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
  428. data/tracks/typescript/exercises/space-age/README.md +50 -0
  429. data/tracks/typescript/exercises/word-count/README.md +45 -0
  430. data/tracks/typescript/exercises/wordy/README.md +89 -0
  431. data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
  432. data/tracks/vbnet/config.json +28 -12
  433. data/tracks/vbnet/exercises/accumulate/README.md +41 -0
  434. data/tracks/vbnet/exercises/allergies/README.md +43 -0
  435. data/tracks/vbnet/exercises/anagram/README.md +19 -0
  436. data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
  437. data/tracks/vbnet/exercises/binary/README.md +41 -0
  438. data/tracks/vbnet/exercises/bob/README.md +24 -0
  439. data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
  440. metadata +401 -4
  441. data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
  442. data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
@@ -4,7 +4,10 @@
4
4
  "test_pattern": ".*spec[.]lua$",
5
5
  "exercises": [
6
6
  {
7
+ "uuid": "9099df24-f9fb-4bd0-8b7f-df52efed7840",
7
8
  "slug": "hello-world",
9
+ "core": true,
10
+ "unlocked_by": null,
8
11
  "difficulty": 1,
9
12
  "topics": [
10
13
  "control-flow (if-statements)",
@@ -13,7 +16,10 @@
13
16
  ]
14
17
  },
15
18
  {
19
+ "uuid": "23fde0b3-c57b-439f-a9ad-3cd6ae286b62",
16
20
  "slug": "hamming",
21
+ "core": true,
22
+ "unlocked_by": null,
17
23
  "difficulty": 2,
18
24
  "topics": [
19
25
  "strings",
@@ -21,7 +27,10 @@
21
27
  ]
22
28
  },
23
29
  {
30
+ "uuid": "f38cd7b3-e1e6-4bcf-b1fe-c63ed94df636",
24
31
  "slug": "house",
32
+ "core": true,
33
+ "unlocked_by": null,
25
34
  "difficulty": 3,
26
35
  "topics": [
27
36
  "strings",
@@ -30,7 +39,10 @@
30
39
  ]
31
40
  },
32
41
  {
42
+ "uuid": "faaa79ba-ddfa-42dd-8668-4aa811757dee",
33
43
  "slug": "raindrops",
44
+ "core": false,
45
+ "unlocked_by": "leap",
34
46
  "difficulty": 1,
35
47
  "topics": [
36
48
  "strings",
@@ -38,7 +50,10 @@
38
50
  ]
39
51
  },
40
52
  {
53
+ "uuid": "9646d991-e3ad-475e-9231-c5723a73e57b",
41
54
  "slug": "bob",
55
+ "core": false,
56
+ "unlocked_by": "leap",
42
57
  "difficulty": 3,
43
58
  "topics": [
44
59
  "strings",
@@ -46,14 +61,20 @@
46
61
  ]
47
62
  },
48
63
  {
64
+ "uuid": "b985299f-c6eb-487e-9900-1b35a6e66dea",
49
65
  "slug": "difference-of-squares",
66
+ "core": true,
67
+ "unlocked_by": null,
50
68
  "difficulty": 2,
51
69
  "topics": [
52
70
  "mathematics"
53
71
  ]
54
72
  },
55
73
  {
74
+ "uuid": "312d3e2f-ac24-4e06-8e6c-f4651124c516",
56
75
  "slug": "variable-length-quantity",
76
+ "core": false,
77
+ "unlocked_by": "run-length-encoding",
57
78
  "difficulty": 6,
58
79
  "topics": [
59
80
  "control-flow (if-else statements)",
@@ -63,7 +84,10 @@
63
84
  ]
64
85
  },
65
86
  {
87
+ "uuid": "c8ac2fca-fdec-4562-9c60-fdee5b541186",
66
88
  "slug": "anagram",
89
+ "core": false,
90
+ "unlocked_by": "isogram",
67
91
  "difficulty": 6,
68
92
  "topics": [
69
93
  "strings",
@@ -73,7 +97,10 @@
73
97
  ]
74
98
  },
75
99
  {
100
+ "uuid": "b64e6544-4778-40e8-a216-86df5c366c9c",
76
101
  "slug": "octal",
102
+ "core": false,
103
+ "unlocked_by": "binary",
77
104
  "difficulty": 4,
78
105
  "topics": [
79
106
  "strings",
@@ -83,7 +110,10 @@
83
110
  ]
84
111
  },
85
112
  {
113
+ "uuid": "2c50d23c-c15c-42d5-bc48-48afd21cdcf9",
86
114
  "slug": "binary-search",
115
+ "core": true,
116
+ "unlocked_by": null,
87
117
  "difficulty": 4,
88
118
  "topics": [
89
119
  "arrays",
@@ -94,7 +124,10 @@
94
124
  ]
95
125
  },
96
126
  {
127
+ "uuid": "25f501e6-40e8-4fd0-9dc3-ce5504d7a7a7",
97
128
  "slug": "bracket-push",
129
+ "core": false,
130
+ "unlocked_by": "binary-search",
98
131
  "difficulty": 5,
99
132
  "topics": [
100
133
  "stacks",
@@ -105,7 +138,10 @@
105
138
  ]
106
139
  },
107
140
  {
141
+ "uuid": "c976a2aa-aaa8-42b5-9666-8f9d8b16b27c",
108
142
  "slug": "flatten-array",
143
+ "core": false,
144
+ "unlocked_by": "binary-search",
109
145
  "difficulty": 5,
110
146
  "topics": [
111
147
  "arrays",
@@ -116,7 +152,10 @@
116
152
  ]
117
153
  },
118
154
  {
155
+ "uuid": "a15f48db-7f35-4a20-8830-e3eb91db164f",
119
156
  "slug": "word-count",
157
+ "core": false,
158
+ "unlocked_by": "isogram",
120
159
  "difficulty": 3,
121
160
  "topics": [
122
161
  "strings",
@@ -124,7 +163,10 @@
124
163
  ]
125
164
  },
126
165
  {
166
+ "uuid": "32724558-411b-4945-95fe-aaf3eae6daf2",
127
167
  "slug": "pangram",
168
+ "core": false,
169
+ "unlocked_by": "isogram",
128
170
  "difficulty": 3,
129
171
  "topics": [
130
172
  "strings",
@@ -133,7 +175,10 @@
133
175
  ]
134
176
  },
135
177
  {
178
+ "uuid": "cfcefc94-cc73-4438-a62f-15c63a70bf5e",
136
179
  "slug": "matrix",
180
+ "core": true,
181
+ "unlocked_by": null,
137
182
  "difficulty": 3,
138
183
  "topics": [
139
184
  "matrices",
@@ -142,7 +187,10 @@
142
187
  ]
143
188
  },
144
189
  {
190
+ "uuid": "38b18de8-d0d9-4a4d-934f-2893b1f1ce45",
145
191
  "slug": "beer-song",
192
+ "core": false,
193
+ "unlocked_by": "house",
146
194
  "difficulty": 3,
147
195
  "topics": [
148
196
  "strings",
@@ -152,7 +200,10 @@
152
200
  ]
153
201
  },
154
202
  {
203
+ "uuid": "3e70727a-1839-4ccf-8205-f2c8455cfdd1",
155
204
  "slug": "isogram",
205
+ "core": true,
206
+ "unlocked_by": null,
156
207
  "difficulty": 2,
157
208
  "topics": [
158
209
  "strings",
@@ -161,7 +212,10 @@
161
212
  ]
162
213
  },
163
214
  {
215
+ "uuid": "d781a53f-8eb8-44d0-8ded-57d943225604",
164
216
  "slug": "perfect-numbers",
217
+ "core": false,
218
+ "unlocked_by": "difference-of-squares",
165
219
  "difficulty": 3,
166
220
  "topics": [
167
221
  "mathematics",
@@ -170,7 +224,10 @@
170
224
  ]
171
225
  },
172
226
  {
227
+ "uuid": "c4846231-c68b-46cf-abe0-9e0b9f7c2825",
173
228
  "slug": "etl",
229
+ "core": false,
230
+ "unlocked_by": "list-ops",
174
231
  "difficulty": 3,
175
232
  "topics": [
176
233
  "transforming",
@@ -178,7 +235,10 @@
178
235
  ]
179
236
  },
180
237
  {
238
+ "uuid": "903e3be6-cefd-4db5-b3dc-a325c4bcae7a",
181
239
  "slug": "nucleotide-count",
240
+ "core": false,
241
+ "unlocked_by": "hamming",
182
242
  "difficulty": 3,
183
243
  "topics": [
184
244
  "strings",
@@ -187,7 +247,10 @@
187
247
  ]
188
248
  },
189
249
  {
250
+ "uuid": "50425ddf-fbec-4740-99eb-14cb7cc8a78a",
190
251
  "slug": "food-chain",
252
+ "core": false,
253
+ "unlocked_by": "house",
191
254
  "difficulty": 3,
192
255
  "topics": [
193
256
  "strings",
@@ -196,7 +259,10 @@
196
259
  ]
197
260
  },
198
261
  {
262
+ "uuid": "39bb7747-23e3-4d96-880d-2af302b0c328",
199
263
  "slug": "sum-of-multiples",
264
+ "core": false,
265
+ "unlocked_by": "difference-of-squares",
200
266
  "difficulty": 2,
201
267
  "topics": [
202
268
  "mathematics",
@@ -205,7 +271,10 @@
205
271
  ]
206
272
  },
207
273
  {
274
+ "uuid": "a42ea84d-030a-446b-8537-0bef558320df",
208
275
  "slug": "rna-transcription",
276
+ "core": false,
277
+ "unlocked_by": "hamming",
209
278
  "difficulty": 3,
210
279
  "topics": [
211
280
  "strings",
@@ -214,7 +283,10 @@
214
283
  ]
215
284
  },
216
285
  {
286
+ "uuid": "c2130674-fe39-4e40-a1b5-b6b6ea24e255",
217
287
  "slug": "phone-number",
288
+ "core": false,
289
+ "unlocked_by": "allergies",
218
290
  "difficulty": 3,
219
291
  "topics": [
220
292
  "strings",
@@ -223,7 +295,10 @@
223
295
  ]
224
296
  },
225
297
  {
298
+ "uuid": "ffde0b07-d6b1-4b55-94d9-ec564817cbb8",
226
299
  "slug": "bank-account",
300
+ "core": true,
301
+ "unlocked_by": null,
227
302
  "difficulty": 3,
228
303
  "topics": [
229
304
  "classes",
@@ -231,7 +306,10 @@
231
306
  ]
232
307
  },
233
308
  {
309
+ "uuid": "7ffbdb77-a0a3-4bcf-8fb7-d3c34bdfcaf5",
234
310
  "slug": "protein-translation",
311
+ "core": false,
312
+ "unlocked_by": "hamming",
235
313
  "difficulty": 3,
236
314
  "topics": [
237
315
  "strings",
@@ -241,7 +319,10 @@
241
319
  ]
242
320
  },
243
321
  {
322
+ "uuid": "84f1b842-3c9b-4d96-93f1-e26577dc493f",
244
323
  "slug": "grade-school",
324
+ "core": false,
325
+ "unlocked_by": "bank-account",
245
326
  "difficulty": 4,
246
327
  "topics": [
247
328
  "classes",
@@ -249,7 +330,10 @@
249
330
  ]
250
331
  },
251
332
  {
333
+ "uuid": "f141a9a3-af4b-4257-92b8-f850a987cf49",
252
334
  "slug": "nth-prime",
335
+ "core": true,
336
+ "unlocked_by": null,
253
337
  "difficulty": 4,
254
338
  "topics": [
255
339
  "mathematics",
@@ -259,7 +343,10 @@
259
343
  ]
260
344
  },
261
345
  {
346
+ "uuid": "1c624b3f-7cf6-4896-90ff-11aec0d37059",
262
347
  "slug": "diamond",
348
+ "core": true,
349
+ "unlocked_by": null,
263
350
  "difficulty": 4,
264
351
  "topics": [
265
352
  "control-flow (loops)",
@@ -269,7 +356,10 @@
269
356
  ]
270
357
  },
271
358
  {
359
+ "uuid": "d70fae4a-b8a0-41ab-856f-e078fcb2f85c",
272
360
  "slug": "run-length-encoding",
361
+ "core": true,
362
+ "unlocked_by": null,
273
363
  "difficulty": 5,
274
364
  "topics": [
275
365
  "strings",
@@ -280,7 +370,10 @@
280
370
  ]
281
371
  },
282
372
  {
373
+ "uuid": "23120234-680d-4505-96e8-e87d669f0234",
283
374
  "slug": "sublist",
375
+ "core": false,
376
+ "unlocked_by": "list-ops",
284
377
  "difficulty": 4,
285
378
  "topics": [
286
379
  "arrays",
@@ -289,7 +382,10 @@
289
382
  ]
290
383
  },
291
384
  {
385
+ "uuid": "4db71417-612a-41d2-9db4-d53fdc7d530c",
292
386
  "slug": "robot-name",
387
+ "core": true,
388
+ "unlocked_by": null,
293
389
  "difficulty": 4,
294
390
  "topics": [
295
391
  "strings",
@@ -298,7 +394,10 @@
298
394
  ]
299
395
  },
300
396
  {
397
+ "uuid": "c603a44b-c027-4906-aaa9-11522a92e3cb",
301
398
  "slug": "robot-simulator",
399
+ "core": false,
400
+ "unlocked_by": "robot-name",
302
401
  "difficulty": 3,
303
402
  "topics": [
304
403
  "strings",
@@ -307,7 +406,10 @@
307
406
  ]
308
407
  },
309
408
  {
409
+ "uuid": "d9fbf011-73ea-4e00-b6e9-85d2418b8565",
310
410
  "slug": "pythagorean-triplet",
411
+ "core": false,
412
+ "unlocked_by": "difference-of-squares",
311
413
  "difficulty": 3,
312
414
  "topics": [
313
415
  "mathematics",
@@ -316,7 +418,10 @@
316
418
  ]
317
419
  },
318
420
  {
421
+ "uuid": "79c25dc6-d2d5-4089-8016-9c01fc2e53f8",
319
422
  "slug": "leap",
423
+ "core": true,
424
+ "unlocked_by": null,
320
425
  "difficulty": 1,
321
426
  "topics": [
322
427
  "logic",
@@ -324,14 +429,20 @@
324
429
  ]
325
430
  },
326
431
  {
432
+ "uuid": "b10fd75b-53dd-4220-b76b-a2f1ed2d2ea2",
327
433
  "slug": "space-age",
434
+ "core": false,
435
+ "unlocked_by": "leap",
328
436
  "difficulty": 2,
329
437
  "topics": [
330
438
  "classes"
331
439
  ]
332
440
  },
333
441
  {
442
+ "uuid": "2a38e35d-04ab-45b1-aaff-dab7c9b60306",
334
443
  "slug": "pascals-triangle",
444
+ "core": false,
445
+ "unlocked_by": "diamond",
335
446
  "difficulty": 5,
336
447
  "topics": [
337
448
  "mathematics",
@@ -339,7 +450,10 @@
339
450
  ]
340
451
  },
341
452
  {
453
+ "uuid": "4b5615e0-5c82-472e-84ed-f91b58ffc5c9",
342
454
  "slug": "sieve",
455
+ "core": false,
456
+ "unlocked_by": "nth-prime",
343
457
  "difficulty": 4,
344
458
  "topics": [
345
459
  "mathematics",
@@ -348,14 +462,20 @@
348
462
  ]
349
463
  },
350
464
  {
465
+ "uuid": "1430571b-001a-4298-b834-1b6342d1c89a",
351
466
  "slug": "grains",
467
+ "core": false,
468
+ "unlocked_by": "leap",
352
469
  "difficulty": 2,
353
470
  "topics": [
354
471
  "control-flow (loops)"
355
472
  ]
356
473
  },
357
474
  {
475
+ "uuid": "40e73366-3ee5-4190-99bc-fad839c59a40",
358
476
  "slug": "kindergarten-garden",
477
+ "core": false,
478
+ "unlocked_by": "allergies",
359
479
  "difficulty": 5,
360
480
  "topics": [
361
481
  "strings",
@@ -364,7 +484,10 @@
364
484
  ]
365
485
  },
366
486
  {
487
+ "uuid": "2530da0a-050c-472d-9f0c-cfe9045fb09f",
367
488
  "slug": "custom-set",
489
+ "core": true,
490
+ "unlocked_by": null,
368
491
  "difficulty": 6,
369
492
  "topics": [
370
493
  "classes",
@@ -374,14 +497,20 @@
374
497
  ]
375
498
  },
376
499
  {
500
+ "uuid": "abe93c0d-a99c-4b58-a86a-3f96df09a186",
377
501
  "slug": "gigasecond",
502
+ "core": false,
503
+ "unlocked_by": "leap",
378
504
  "difficulty": 2,
379
505
  "topics": [
380
506
  "time"
381
507
  ]
382
508
  },
383
509
  {
510
+ "uuid": "d7f4c19a-ac4c-4622-a5dd-e43b883365b8",
384
511
  "slug": "word-search",
512
+ "core": false,
513
+ "unlocked_by": "matrix",
385
514
  "difficulty": 7,
386
515
  "topics": [
387
516
  "strings",
@@ -390,7 +519,10 @@
390
519
  ]
391
520
  },
392
521
  {
522
+ "uuid": "3f8cc956-0f54-441f-b25a-c97390750bb6",
393
523
  "slug": "luhn",
524
+ "core": false,
525
+ "unlocked_by": "run-length-encoding",
394
526
  "difficulty": 4,
395
527
  "topics": [
396
528
  "strings",
@@ -399,7 +531,10 @@
399
531
  ]
400
532
  },
401
533
  {
534
+ "uuid": "f3963d89-aacd-4502-ab60-b2fb127b30a5",
402
535
  "slug": "triangle",
536
+ "core": false,
537
+ "unlocked_by": "difference-of-squares",
403
538
  "difficulty": 3,
404
539
  "topics": [
405
540
  "control-flow (if-else statements)",
@@ -407,14 +542,20 @@
407
542
  ]
408
543
  },
409
544
  {
545
+ "uuid": "a9e467c9-e820-49d8-aa45-542fcee4f112",
410
546
  "slug": "clock",
547
+ "core": false,
548
+ "unlocked_by": "bank-account",
411
549
  "difficulty": 3,
412
550
  "topics": [
413
551
  "classes"
414
552
  ]
415
553
  },
416
554
  {
555
+ "uuid": "e96a4a0a-ac81-4969-ac50-93713958f06a",
417
556
  "slug": "series",
557
+ "core": false,
558
+ "unlocked_by": "list-ops",
418
559
  "difficulty": 4,
419
560
  "topics": [
420
561
  "coroutines",
@@ -423,7 +564,10 @@
423
564
  ]
424
565
  },
425
566
  {
567
+ "uuid": "530c358d-44e9-4b36-9ced-a1b633591a3d",
426
568
  "slug": "linked-list",
569
+ "core": false,
570
+ "unlocked_by": "custom-set",
427
571
  "difficulty": 4,
428
572
  "topics": [
429
573
  "classes",
@@ -432,7 +576,10 @@
432
576
  ]
433
577
  },
434
578
  {
579
+ "uuid": "91cff99a-b182-4a6d-befb-ce716d290996",
435
580
  "slug": "ocr-numbers",
581
+ "core": false,
582
+ "unlocked_by": "matrix",
436
583
  "difficulty": 7,
437
584
  "topics": [
438
585
  "strings",
@@ -440,7 +587,10 @@
440
587
  ]
441
588
  },
442
589
  {
590
+ "uuid": "464ef39f-8991-49f6-b6eb-5d811a262363",
443
591
  "slug": "pig-latin",
592
+ "core": true,
593
+ "unlocked_by": null,
444
594
  "difficulty": 5,
445
595
  "topics": [
446
596
  "strings",
@@ -450,7 +600,10 @@
450
600
  ]
451
601
  },
452
602
  {
603
+ "uuid": "f41c1b0e-26e7-43d5-b1d2-106c08d6fa4a",
453
604
  "slug": "minesweeper",
605
+ "core": false,
606
+ "unlocked_by": "matrix",
454
607
  "difficulty": 7,
455
608
  "topics": [
456
609
  "arrays",
@@ -461,7 +614,10 @@
461
614
  ]
462
615
  },
463
616
  {
617
+ "uuid": "058b40fe-9ca7-4082-a525-8b01b5d3a632",
464
618
  "slug": "crypto-square",
619
+ "core": false,
620
+ "unlocked_by": "run-length-encoding",
465
621
  "difficulty": 5,
466
622
  "topics": [
467
623
  "strings",
@@ -470,7 +626,10 @@
470
626
  ]
471
627
  },
472
628
  {
629
+ "uuid": "71a6d7d8-938b-4a8f-a216-ec0e8326ea52",
473
630
  "slug": "list-ops",
631
+ "core": true,
632
+ "unlocked_by": null,
474
633
  "difficulty": 4,
475
634
  "topics": [
476
635
  "arrays",
@@ -479,7 +638,10 @@
479
638
  ]
480
639
  },
481
640
  {
641
+ "uuid": "bf78cd80-3f8d-4075-b893-ba4ded5bf179",
482
642
  "slug": "meetup",
643
+ "core": false,
644
+ "unlocked_by": "pig-latin",
483
645
  "difficulty": 6,
484
646
  "topics": [
485
647
  "time",
@@ -488,7 +650,10 @@
488
650
  ]
489
651
  },
490
652
  {
653
+ "uuid": "49d08ed0-3a4a-44f6-beb3-ae086255e59f",
491
654
  "slug": "atbash-cipher",
655
+ "core": false,
656
+ "unlocked_by": "run-length-encoding",
492
657
  "difficulty": 3,
493
658
  "topics": [
494
659
  "strings",
@@ -497,7 +662,10 @@
497
662
  ]
498
663
  },
499
664
  {
665
+ "uuid": "4ec23243-6401-4be7-9770-1cd235da0557",
500
666
  "slug": "scrabble-score",
667
+ "core": false,
668
+ "unlocked_by": "hamming",
501
669
  "difficulty": 3,
502
670
  "topics": [
503
671
  "strings",
@@ -505,7 +673,10 @@
505
673
  ]
506
674
  },
507
675
  {
676
+ "uuid": "d2004df3-1cc5-4f78-a564-f66771425fd3",
508
677
  "slug": "largest-series-product",
678
+ "core": false,
679
+ "unlocked_by": "difference-of-squares",
509
680
  "difficulty": 5,
510
681
  "topics": [
511
682
  "control-flow (loops)",
@@ -513,7 +684,10 @@
513
684
  ]
514
685
  },
515
686
  {
687
+ "uuid": "d1fedc2b-9771-49b5-b253-05e1337448c6",
516
688
  "slug": "rail-fence-cipher",
689
+ "core": false,
690
+ "unlocked_by": "run-length-encoding",
517
691
  "difficulty": 7,
518
692
  "topics": [
519
693
  "strings",
@@ -523,7 +697,10 @@
523
697
  ]
524
698
  },
525
699
  {
700
+ "uuid": "5e38f418-d279-4d2f-a035-f440e59c4635",
526
701
  "slug": "roman-numerals",
702
+ "core": false,
703
+ "unlocked_by": "leap",
527
704
  "difficulty": 4,
528
705
  "topics": [
529
706
  "strings",
@@ -532,7 +709,10 @@
532
709
  ]
533
710
  },
534
711
  {
712
+ "uuid": "a54806a0-d17c-4ae9-a48e-bc587eab93ea",
535
713
  "slug": "transpose",
714
+ "core": false,
715
+ "unlocked_by": "matrix",
536
716
  "difficulty": 7,
537
717
  "topics": [
538
718
  "strings",
@@ -541,7 +721,10 @@
541
721
  ]
542
722
  },
543
723
  {
724
+ "uuid": "d4a793a8-bd4a-478d-a4e2-ee20dd4b6085",
544
725
  "slug": "tournament",
726
+ "core": false,
727
+ "unlocked_by": "allergies",
545
728
  "difficulty": 5,
546
729
  "topics": [
547
730
  "arrays",
@@ -552,7 +735,10 @@
552
735
  ]
553
736
  },
554
737
  {
738
+ "uuid": "5b636f8a-37ba-412d-b957-633caac86369",
555
739
  "slug": "circular-buffer",
740
+ "core": false,
741
+ "unlocked_by": "custom-set",
556
742
  "difficulty": 4,
557
743
  "topics": [
558
744
  "classes",
@@ -561,7 +747,10 @@
561
747
  ]
562
748
  },
563
749
  {
750
+ "uuid": "84715ca7-b4cb-41bd-a5f0-1c45e372d834",
564
751
  "slug": "binary-search-tree",
752
+ "core": false,
753
+ "unlocked_by": "binary-search",
565
754
  "difficulty": 5,
566
755
  "topics": [
567
756
  "coroutines",
@@ -573,7 +762,10 @@
573
762
  ]
574
763
  },
575
764
  {
765
+ "uuid": "6132095c-964f-4d58-9555-b4c77818e6d2",
576
766
  "slug": "bowling",
767
+ "core": false,
768
+ "unlocked_by": "allergies",
577
769
  "difficulty": 4,
578
770
  "topics": [
579
771
  "algorithms",
@@ -582,7 +774,10 @@
582
774
  ]
583
775
  },
584
776
  {
777
+ "uuid": "90fe2b43-5f4e-42fe-89ad-4fff49ccbb53",
585
778
  "slug": "binary",
779
+ "core": true,
780
+ "unlocked_by": null,
586
781
  "difficulty": 3,
587
782
  "topics": [
588
783
  "strings",
@@ -592,7 +787,10 @@
592
787
  ]
593
788
  },
594
789
  {
790
+ "uuid": "26ea07b8-2658-47c2-9218-059c168ba1ea",
595
791
  "slug": "alphametics",
792
+ "core": false,
793
+ "unlocked_by": "matrix",
596
794
  "difficulty": 8,
597
795
  "topics": [
598
796
  "strings",
@@ -603,7 +801,10 @@
603
801
  ]
604
802
  },
605
803
  {
804
+ "uuid": "0f85f581-0077-447e-a5f4-7b58c1b4b7a8",
606
805
  "slug": "prime-factors",
806
+ "core": false,
807
+ "unlocked_by": "nth-prime",
607
808
  "difficulty": 4,
608
809
  "topics": [
609
810
  "mathematics",
@@ -612,7 +813,10 @@
612
813
  ]
613
814
  },
614
815
  {
816
+ "uuid": "3f8c4f1b-b0b7-4f6e-8cd9-d5e252737ebb",
615
817
  "slug": "acronym",
818
+ "core": false,
819
+ "unlocked_by": "isogram",
616
820
  "difficulty": 4,
617
821
  "topics": [
618
822
  "strings",
@@ -620,7 +824,10 @@
620
824
  ]
621
825
  },
622
826
  {
827
+ "uuid": "1ee89535-3e91-4404-9116-adcbf87f2390",
623
828
  "slug": "all-your-base",
829
+ "core": false,
830
+ "unlocked_by": "binary",
624
831
  "difficulty": 4,
625
832
  "topics": [
626
833
  "mathematics",
@@ -629,7 +836,10 @@
629
836
  ]
630
837
  },
631
838
  {
839
+ "uuid": "6f2e38ae-57d8-4b4e-b1db-ae35c066ece4",
632
840
  "slug": "rectangles",
841
+ "core": false,
842
+ "unlocked_by": "matrix",
633
843
  "difficulty": 8,
634
844
  "topics": [
635
845
  "strings",
@@ -640,7 +850,10 @@
640
850
  ]
641
851
  },
642
852
  {
853
+ "uuid": "6e7a0d97-580b-4b21-bcad-e89e0473d507",
643
854
  "slug": "allergies",
855
+ "core": true,
856
+ "unlocked_by": null,
644
857
  "difficulty": 4,
645
858
  "topics": [
646
859
  "bitwise operations",
@@ -649,7 +862,10 @@
649
862
  ]
650
863
  },
651
864
  {
865
+ "uuid": "7159ffe2-3f5f-4d12-8a38-843452ef5d7e",
652
866
  "slug": "say",
867
+ "core": false,
868
+ "unlocked_by": "pig-latin",
653
869
  "difficulty": 7,
654
870
  "topics": [
655
871
  "strings",
@@ -658,7 +874,10 @@
658
874
  ]
659
875
  },
660
876
  {
877
+ "uuid": "ba763756-e934-473f-a01c-a7c9ea0a971d",
661
878
  "slug": "pov",
879
+ "core": false,
880
+ "unlocked_by": "binary-search",
662
881
  "difficulty": 9,
663
882
  "topics": [
664
883
  "graphs",
@@ -669,7 +888,10 @@
669
888
  ]
670
889
  },
671
890
  {
891
+ "uuid": "790d60b6-a64e-482f-8c2b-3e2442ac0b4e",
672
892
  "slug": "change",
893
+ "core": false,
894
+ "unlocked_by": "binary-search",
673
895
  "difficulty": 4,
674
896
  "topics": [
675
897
  "control-flow (if-else statements)",
@@ -677,7 +899,10 @@
677
899
  ]
678
900
  },
679
901
  {
902
+ "uuid": "a608af44-59df-425d-a652-163635bf740e",
680
903
  "slug": "secret-handshake",
904
+ "core": false,
905
+ "unlocked_by": "leap",
681
906
  "difficulty": 3,
682
907
  "topics": [
683
908
  "control-flow (if-else statements)",
@@ -686,9 +911,6 @@
686
911
  ]
687
912
  }
688
913
  ],
689
- "deprecated": [
690
- "accumulate"
691
- ],
692
914
  "foregone": [
693
915
 
694
916
  ]