trackler 2.2.1.9 → 2.2.1.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/CONTRIBUTING.md +1 -1
  4. data/problem-specifications/TOPICS.txt +1 -0
  5. data/tracks/coffeescript/config/maintainers.json +15 -0
  6. data/tracks/coldfusion/config/maintainers.json +6 -0
  7. data/tracks/coq/config/maintainers.json +15 -0
  8. data/tracks/cpp/config/maintainers.json +25 -0
  9. data/tracks/delphi/config.json +1 -0
  10. data/tracks/delphi/config/maintainers.json +1 -1
  11. data/tracks/delphi/docs/SNIPPET.txt +14 -0
  12. data/tracks/ecmascript/config.json +711 -300
  13. data/tracks/elisp/config/maintainers.json +15 -0
  14. data/tracks/elm/config/maintainers.json +25 -0
  15. data/tracks/erlang/exercises/triangle/test/triangle_tests.erl +3 -3
  16. data/tracks/fortran/config/maintainers.json +15 -0
  17. data/tracks/go/config.json +3 -1
  18. data/tracks/go/config/maintainers.json +3 -1
  19. data/tracks/go/docs/ABOUT.md +3 -3
  20. data/tracks/groovy/config.json +1 -3
  21. data/tracks/groovy/config/maintainers.json +15 -0
  22. data/tracks/groovy/exercises/grains/Grains.groovy +9 -0
  23. data/tracks/groovy/exercises/grains/GrainsSpec.groovy +43 -0
  24. data/tracks/groovy/exercises/grains/README.md +1 -1
  25. data/tracks/groovy/exercises/word-count/Phrase.groovy +10 -0
  26. data/tracks/groovy/exercises/word-count/PhraseSpec.groovy +47 -0
  27. data/tracks/groovy/exercises/word-count/README.md +1 -1
  28. data/tracks/haxe/config/maintainers.json +6 -0
  29. data/tracks/idris/config/maintainers.json +15 -0
  30. data/tracks/java/CONTRIBUTING.md +1 -1
  31. data/tracks/java/exercises/series/src/example/java/Series.java +7 -9
  32. data/tracks/julia/config.json +12 -0
  33. data/tracks/julia/config/exercise_readme.go.tmpl +2 -0
  34. data/tracks/julia/exercises/anagram/README.md +1 -0
  35. data/tracks/julia/exercises/atbash-cipher/README.md +1 -0
  36. data/tracks/julia/exercises/bob/README.md +1 -0
  37. data/tracks/julia/exercises/collatz-conjecture/README.md +34 -0
  38. data/tracks/julia/exercises/collatz-conjecture/collatz-conjecture.jl +0 -0
  39. data/tracks/julia/exercises/collatz-conjecture/example.jl +14 -0
  40. data/tracks/julia/exercises/collatz-conjecture/runtests.jl +11 -0
  41. data/tracks/julia/exercises/complex-numbers/README.md +1 -0
  42. data/tracks/julia/exercises/custom-set/README.md +1 -0
  43. data/tracks/julia/exercises/difference-of-squares/README.md +1 -0
  44. data/tracks/julia/exercises/etl/README.md +1 -0
  45. data/tracks/julia/exercises/gigasecond/README.md +1 -0
  46. data/tracks/julia/exercises/hamming/README.md +1 -0
  47. data/tracks/julia/exercises/hello-world/README.md +1 -0
  48. data/tracks/julia/exercises/isogram/README.md +1 -0
  49. data/tracks/julia/exercises/leap/README.md +1 -0
  50. data/tracks/julia/exercises/luhn/README.md +1 -0
  51. data/tracks/julia/exercises/nucleotide-count/README.md +1 -0
  52. data/tracks/julia/exercises/pangram/README.md +1 -0
  53. data/tracks/julia/exercises/pascals-triangle/README.md +1 -0
  54. data/tracks/julia/exercises/raindrops/README.md +1 -0
  55. data/tracks/julia/exercises/rna-transcription/README.md +1 -0
  56. data/tracks/julia/exercises/robot-name/README.md +1 -0
  57. data/tracks/julia/exercises/roman-numerals/README.md +1 -0
  58. data/tracks/julia/exercises/rotational-cipher/README.md +1 -0
  59. data/tracks/julia/exercises/scrabble-score/README.md +1 -0
  60. data/tracks/julia/exercises/secret-handshake/README.md +1 -0
  61. data/tracks/julia/exercises/sieve/README.md +1 -0
  62. data/tracks/julia/exercises/transpose/README.md +1 -0
  63. data/tracks/julia/exercises/trinary/README.md +1 -0
  64. data/tracks/julia/exercises/word-count/README.md +1 -0
  65. data/tracks/lisp/.travis.yml +1 -1
  66. data/tracks/lisp/config/maintainers.json +5 -5
  67. data/tracks/mips/config.json +22 -22
  68. data/tracks/mips/config/maintainers.json +15 -0
  69. data/tracks/nim/config/maintainers.json +15 -0
  70. data/tracks/php/config/maintainers.json +35 -0
  71. data/tracks/plsql/config/maintainers.json +15 -0
  72. data/tracks/powershell/config/maintainers.json +25 -0
  73. data/tracks/prolog/config/maintainers.json +15 -0
  74. data/tracks/python/config/maintainers.json +25 -0
  75. data/tracks/racket/config/maintainers.json +35 -0
  76. data/tracks/scheme/config/maintainers.json +25 -0
  77. data/tracks/sml/config.json +1 -1
  78. data/tracks/sml/exercises/accumulate/{test_accumulate.sml → test.sml} +0 -0
  79. data/tracks/sml/exercises/allergies/{test_allergies.sml → test.sml} +0 -0
  80. data/tracks/sml/exercises/anagram/{test_anagram.sml → test.sml} +0 -0
  81. data/tracks/sml/exercises/binary/{test_binary.sml → test.sml} +0 -0
  82. data/tracks/sml/exercises/flatten-array/{test_flatten_array.sml → test.sml} +0 -0
  83. data/tracks/sml/exercises/hamming/{test_hamming.sml → test.sml} +0 -0
  84. data/tracks/sml/exercises/nth-prime/{test_nth_prime.sml → test.sml} +0 -0
  85. data/tracks/sml/exercises/raindrops/{test_raindrops.sml → test.sml} +0 -0
  86. data/tracks/vbnet/config/maintainers.json +15 -0
  87. metadata +39 -12
  88. data/tracks/groovy/exercises/grains/GrainsTest.groovy +0 -45
  89. data/tracks/groovy/exercises/word-count/PhraseTest.groovy +0 -69
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b48c1016e27f7c3a711cf741a5431ce7345ce54b
4
- data.tar.gz: 4883995b9d3f70fd7087bb58e647342e3c4fa1d0
3
+ metadata.gz: 68910c17056f60fa936005d660ffee60c7f48457
4
+ data.tar.gz: 85f24b00eec2d4e267fd48b7a095e6303df04450
5
5
  SHA512:
6
- metadata.gz: 2230b3f1f13d5c4dd97301de922422631d8329aae953e0368cac24a46089106e90610a58d46c2defbfaceb03cd4910c2ba408b6b46bab9c2955bc6671a1d1a01
7
- data.tar.gz: c9a490c6ff4ebfdd05f218673c02aae9872b55424fbf8797aa23fad9d9eae472cb6f5f20030acf93e029075605c0582b2022a48b62fd2dbe808ff04d43520bcb
6
+ metadata.gz: 2aa11d5c09f99c3c200621296e17b94ec72dc89190ba2b3b73e844faae7496b99b806dd8c8458482df515d89a9cf8495687834ca749144797cc3698ed30f01d1
7
+ data.tar.gz: 9bb954088ac4a7953d124b6506b7b64afea1155d8668fe1b6e2db83af7aa3134dd650327ee90a48855d763830c5fbdaccfe157fd4a09d0251d02e7959cf6eeb4
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.9"
2
+ VERSION = "2.2.1.10"
3
3
  end
@@ -388,6 +388,6 @@ TODO: add more sections:
388
388
 
389
389
  ## Improving Consistency By Extracting Shared Test Data
390
390
 
391
- This documentation has moved [to the docs repository](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/improving-consistency-across-tracks.md).
391
+ This documentation has moved [to the docs repository](https://github.com/exercism/docs/blob/master/you-can-help/improve-exercise-metadata.md).
392
392
 
393
393
  We are maintaining this section, since many open issues link to it.
@@ -48,6 +48,7 @@ Problem areas
48
48
  Algorithms
49
49
  Bitwise operations
50
50
  Concurrency
51
+ Cryptography
51
52
  Domain-specific languages
52
53
  Files
53
54
  Filtering
@@ -0,0 +1,15 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "markijbema",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ }
13
+ ],
14
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
15
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "maintainers": [
3
+
4
+ ],
5
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
6
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "proger",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ }
13
+ ],
14
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
15
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "patricksjackson",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ },
13
+ {
14
+ "github_username": "LegalizeAdulthood",
15
+ "show_on_website": false,
16
+ "alumnus": false,
17
+ "name": null,
18
+ "bio": null,
19
+ "link_text": null,
20
+ "link_url": null,
21
+ "avatar_url": null
22
+ }
23
+ ],
24
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
25
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "language": "Delphi Pascal",
3
3
  "active": true,
4
+ "blurb": "Object Pascal based, Delphi is great for developing cross-platform desktop, mobile, web, and console applications.",
4
5
  "exercises": [
5
6
  {
6
7
  "uuid": "e3b0af0d-7ecd-43c8-a394-91ef2cf4d7d0",
@@ -15,7 +15,7 @@
15
15
  "show_on_website": true,
16
16
  "alumnus": false,
17
17
  "name": "Ryan Potts",
18
- "bio": null,
18
+ "bio": "I have been using Delphi professionally since 1996, Delphi 1. My day job has me developing software used in the control of various types of electromechanical testing machines used by the auto industry. Exercism is my first real push into Open Source and I'm happy to have the opportunity here to teach and share the virtures of this programming language with others.",
19
19
  "link_text": null,
20
20
  "link_url": null,
21
21
  "avatar_url": null
@@ -0,0 +1,14 @@
1
+ unit uHelloWorld;
2
+
3
+ interface
4
+
5
+ function Hello: string;
6
+
7
+ implementation
8
+
9
+ function Hello: string;
10
+ begin
11
+ result := 'Hello, World!';
12
+ end;
13
+
14
+ end.
@@ -6,549 +6,948 @@
6
6
  {
7
7
  "uuid": "9ce0f408-6d7b-4466-a390-75aeaf9492f2",
8
8
  "slug": "hello-world",
9
- "core": false,
10
- "unlocked_by": null,
9
+ "core": true,
11
10
  "difficulty": 1,
12
- "topics": []
11
+ "topics": [
12
+ "Control-flow (conditionals)",
13
+ "Optional values",
14
+ "Strings",
15
+ "Text formatting"
16
+ ]
13
17
  },
14
18
  {
15
19
  "uuid": "7c8294ee-5924-4bf8-a72f-31d0e2d7d9a0",
16
20
  "slug": "leap",
17
- "core": false,
18
- "unlocked_by": null,
21
+ "core": true,
19
22
  "difficulty": 1,
20
- "topics": []
23
+ "topics": [
24
+ "Booleans",
25
+ "Integers",
26
+ "Logic"
27
+ ]
21
28
  },
22
29
  {
23
- "uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a",
24
- "slug": "hamming",
25
- "core": false,
26
- "unlocked_by": null,
30
+ "uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5",
31
+ "slug": "rna-transcription",
32
+ "core": true,
27
33
  "difficulty": 1,
28
- "topics": []
34
+ "topics": [
35
+ "Strings",
36
+ "Transforming"
37
+ ]
29
38
  },
30
39
  {
31
- "uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5",
32
- "slug": "rna-transcription",
33
- "core": false,
34
- "unlocked_by": null,
40
+ "uuid": "62d60b42-93bc-4de9-90d1-1ca18a847812",
41
+ "slug": "simple-cipher",
42
+ "core": true,
35
43
  "difficulty": 1,
36
- "topics": []
44
+ "topics": [
45
+ "Control flow (conditionals)",
46
+ "Control flow (loops)",
47
+ "Algorithms",
48
+ "Mathematics",
49
+ "Strings",
50
+ "Randomness",
51
+ "Text formatting",
52
+ "Transforming"
53
+ ]
54
+ },
55
+ {
56
+ "uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b",
57
+ "slug": "pangram",
58
+ "core": true,
59
+ "difficulty": 2,
60
+ "topics": [
61
+ "Control flow (conditionals)",
62
+ "Control flow (loops)",
63
+ "Lists",
64
+ "Strings",
65
+ "Maps",
66
+ "Algorithms",
67
+ "Searching"
68
+ ]
37
69
  },
38
70
  {
39
71
  "uuid": "a5bf36f0-5d3c-41d4-8d54-e37e484e59cd",
40
72
  "slug": "bob",
41
- "core": false,
42
- "unlocked_by": null,
43
- "difficulty": 1,
44
- "topics": []
73
+ "core": true,
74
+ "difficulty": 2,
75
+ "topics": [
76
+ "Control flow (conditionals)",
77
+ "Polymorfism",
78
+ "Strings",
79
+ "Unicode",
80
+ "Pattern recognition",
81
+ "Regular expressions"
82
+ ]
45
83
  },
46
84
  {
47
85
  "uuid": "fd7b62d4-266b-4e84-a526-bf3d47901216",
48
86
  "slug": "gigasecond",
49
- "core": false,
50
- "unlocked_by": null,
51
- "difficulty": 1,
52
- "topics": []
87
+ "core": true,
88
+ "difficulty": 2,
89
+ "topics": [
90
+ "Time"
91
+ ]
53
92
  },
54
93
  {
55
- "uuid": "c6691fd2-e10d-47df-acbf-3adeac5a2f89",
56
- "slug": "perfect-numbers",
57
- "core": false,
58
- "unlocked_by": null,
59
- "difficulty": 1,
60
- "topics": []
94
+ "uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54",
95
+ "slug": "space-age",
96
+ "core": true,
97
+ "difficulty": 3,
98
+ "topics": [
99
+ "Classes",
100
+ "Floating-point numbers",
101
+ "Mathematics"
102
+ ]
61
103
  },
62
104
  {
63
- "uuid": "0073ff9a-cd6a-43cf-b8bf-4d5d8117b81b",
64
- "slug": "word-count",
105
+ "uuid": "0ba4d3b9-2519-49ac-bd93-f960aca6c11f",
106
+ "slug": "binary",
107
+ "core": true,
108
+ "difficulty": 4,
109
+ "topics": [
110
+ "Control flow (conditionals)",
111
+ "Control flow (loops)",
112
+ "Mathematics",
113
+ "Integers",
114
+ "Strings",
115
+ "Regular expressions",
116
+ "Exception handling"
117
+ ]
118
+ },
119
+ {
120
+ "uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661",
121
+ "slug": "prime-factors",
122
+ "core": true,
123
+ "difficulty": 4,
124
+ "topics": [
125
+ "Control flow (conditionals)",
126
+ "Control flow (loops)",
127
+ "Mathematics",
128
+ "Algorithms",
129
+ "Integers"
130
+ ]
131
+ },
132
+ {
133
+ "uuid": "dd0b5e67-81f6-437e-8334-2ec0dfeb862a",
134
+ "slug": "matrix",
135
+ "core": true,
136
+ "difficulty": 4,
137
+ "topics": [
138
+ "Control flow (conditionals)",
139
+ "Control flow (loops)",
140
+ "Data structures",
141
+ "Arrays",
142
+ "Matrices",
143
+ "Text formatting"
144
+ ]
145
+ },
146
+ {
147
+ "uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5",
148
+ "slug": "linked-list",
149
+ "core": true,
150
+ "difficulty": 5,
151
+ "topics": [
152
+ "Control flow (conditionals)",
153
+ "Control flow (loops)",
154
+ "Algorithms",
155
+ "Data structures",
156
+ "Arrays",
157
+ "Lists",
158
+ "Optional values"
159
+ ]
160
+ },
161
+ {
162
+ "uuid": "99493160-4673-402f-acda-62db5378148d",
163
+ "slug": "pascals-triangle",
164
+ "core": true,
165
+ "difficulty": 5,
166
+ "topics": [
167
+ "Control flow (conditionals)",
168
+ "Control flow (loops)",
169
+ "Mathematics",
170
+ "Strings",
171
+ "Text formatting"
172
+ ]
173
+ },
174
+ {
175
+ "uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370",
176
+ "slug": "secret-handshake",
177
+ "core": true,
178
+ "difficulty": 6,
179
+ "topics": [
180
+ "Control flow (conditionals)",
181
+ "Control flow (loops)",
182
+ "Algorithms",
183
+ "Games",
184
+ "Bitwise operations",
185
+ "Arrays"
186
+ ]
187
+ },
188
+ {
189
+ "uuid": "64637322-33bc-401f-8cec-1f9810a41f75",
190
+ "slug": "grade-school",
191
+ "core": true,
192
+ "difficulty": 6,
193
+ "topics": [
194
+ "Arrays",
195
+ "Maps",
196
+ "Sorting"
197
+ ]
198
+ },
199
+ {
200
+ "uuid": "03f4dfea-e6db-4754-b2c8-ca06c8b81ef1",
201
+ "slug": "robot-name",
202
+ "core": true,
203
+ "difficulty": 6,
204
+ "topics": [
205
+ "Control flow (conditionals)",
206
+ "Exception handling",
207
+ "Sets",
208
+ "Randomness",
209
+ "Regular expressions"
210
+ ]
211
+ },
212
+ {
213
+ "uuid": "9131bdb8-2e0f-4526-b113-8a77712e7216",
214
+ "slug": "wordy",
215
+ "core": true,
216
+ "difficulty": 7,
217
+ "topics": [
218
+ "Control flow (conditionals)",
219
+ "Control flow (loops)",
220
+ "Regular expressions",
221
+ "Exception handling",
222
+ "Strings",
223
+ "Pattern recognition",
224
+ "Parsing"
225
+ ]
226
+ },
227
+ {
228
+ "uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc",
229
+ "slug": "list-ops",
230
+ "core": true,
231
+ "difficulty": 8,
232
+ "topics": [
233
+ "Control flow (loops)",
234
+ "Data structures",
235
+ "Lists",
236
+ "Recursion"
237
+ ]
238
+ },
239
+ {
240
+ "uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a",
241
+ "slug": "hamming",
65
242
  "core": false,
66
- "unlocked_by": null,
67
- "difficulty": 1,
68
- "topics": []
243
+ "unlocked_by": "rna-transcription",
244
+ "difficulty": 2,
245
+ "topics": [
246
+ "Control-flow (loops)",
247
+ "Control-flow (conditionals)",
248
+ "Equality",
249
+ "Strings"
250
+ ]
69
251
  },
70
252
  {
71
- "uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b",
72
- "slug": "pangram",
253
+ "uuid": "3df577af-2854-40ee-b211-9b608dbbad58",
254
+ "slug": "isogram",
73
255
  "core": false,
74
- "unlocked_by": null,
75
- "difficulty": 1,
76
- "topics": []
256
+ "unlocked_by": "pangram",
257
+ "difficulty": 2,
258
+ "topics": [
259
+ "Strings",
260
+ "Filtering"
261
+ ]
77
262
  },
78
263
  {
79
264
  "uuid": "6573f168-d8fc-4ccf-a864-1a61f432fae1",
80
265
  "slug": "beer-song",
81
266
  "core": false,
82
- "unlocked_by": null,
83
- "difficulty": 1,
84
- "topics": []
267
+ "unlocked_by": "bob",
268
+ "difficulty": 5,
269
+ "topics": [
270
+ "Control flow (conditionals)",
271
+ "Control flow (loops)",
272
+ "Strings"
273
+ ]
85
274
  },
86
275
  {
87
276
  "uuid": "82775adb-eabe-4d44-91f5-4080b8834a4a",
88
277
  "slug": "phone-number",
89
- "core": false,
90
- "unlocked_by": null,
91
- "difficulty": 1,
92
- "topics": []
278
+ "unlocked_by": "pangram",
279
+ "difficulty": 3,
280
+ "topics": [
281
+ "Parsing",
282
+ "Transforming"
283
+ ]
93
284
  },
94
285
  {
95
286
  "uuid": "309fa4f1-e03a-4ab2-b371-cdf742501cf7",
96
287
  "slug": "anagram",
97
288
  "core": false,
98
- "unlocked_by": null,
289
+ "unlocked_by": "pangram",
99
290
  "difficulty": 1,
100
- "topics": []
291
+ "topics": [
292
+ "Strings",
293
+ "Filtering"
294
+ ]
101
295
  },
102
296
  {
103
297
  "uuid": "62672dc7-e827-4c2e-a282-d6df45b60bbd",
104
298
  "slug": "food-chain",
105
299
  "core": false,
106
- "unlocked_by": null,
107
- "difficulty": 1,
108
- "topics": []
109
- },
110
- {
111
- "uuid": "64637322-33bc-401f-8cec-1f9810a41f75",
112
- "slug": "grade-school",
113
- "core": false,
114
- "unlocked_by": null,
115
- "difficulty": 1,
116
- "topics": []
117
- },
118
- {
119
- "uuid": "03f4dfea-e6db-4754-b2c8-ca06c8b81ef1",
120
- "slug": "robot-name",
121
- "core": false,
122
- "unlocked_by": null,
123
- "difficulty": 1,
124
- "topics": []
300
+ "unlocked_by": "bob",
301
+ "difficulty": 4,
302
+ "topics": [
303
+ "Text formatting",
304
+ "Algorithms"
305
+ ]
125
306
  },
126
307
  {
127
308
  "uuid": "db16804b-0f63-445d-8beb-99e0f7218d66",
128
309
  "slug": "etl",
129
310
  "core": false,
130
- "unlocked_by": null,
131
- "difficulty": 1,
132
- "topics": []
311
+ "unlocked_by": "rna-transcription",
312
+ "difficulty": 2,
313
+ "topics": [
314
+ "Control flow (loops)",
315
+ "Transforming",
316
+ "Maps",
317
+ "Integers"
318
+ ]
133
319
  },
134
320
  {
135
321
  "uuid": "4be85b5e-6b13-11e7-907b-a6006ad3dba0",
136
322
  "slug": "sublist",
137
- "difficulty": 4,
138
323
  "core": false,
139
- "unlocked_by": null,
324
+ "unlocked_by": "linked-list",
325
+ "difficulty": 4,
140
326
  "topics": [
141
- "lists"
327
+ "Lists",
328
+ "Arrays"
142
329
  ]
143
330
  },
144
- {
145
- "uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54",
146
- "slug": "space-age",
147
- "core": false,
148
- "unlocked_by": null,
149
- "difficulty": 1,
150
- "topics": []
151
- },
152
331
  {
153
332
  "uuid": "d003975a-9045-4f03-9ad9-c15db584dc13",
154
333
  "slug": "grains",
155
334
  "core": false,
156
- "unlocked_by": null,
157
- "difficulty": 1,
158
- "topics": []
335
+ "unlocked_by": "space-age",
336
+ "difficulty": 5,
337
+ "topics": [
338
+ "Control flow (loops)",
339
+ "Integers",
340
+ "Mathematics"
341
+ ]
159
342
  },
160
343
  {
161
344
  "uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f",
162
345
  "slug": "triangle",
163
346
  "core": false,
164
- "unlocked_by": null,
165
- "difficulty": 1,
166
- "topics": []
347
+ "unlocked_by": "leap",
348
+ "difficulty": 3,
349
+ "topics": [
350
+ "Control flow (loops)",
351
+ "Control flow (conditionals)",
352
+ "Exception handling",
353
+ "Integers",
354
+ "Mathematics"
355
+ ]
167
356
  },
168
357
  {
169
358
  "uuid": "4e0e2c30-be33-49b6-b196-213888a93a0c",
170
359
  "slug": "clock",
171
360
  "core": false,
172
- "unlocked_by": null,
173
- "difficulty": 1,
174
- "topics": []
361
+ "unlocked_by": "gigasecond",
362
+ "difficulty": 5,
363
+ "topics": [
364
+ "Dates",
365
+ "Time",
366
+ "Globalization"
367
+ ]
175
368
  },
176
369
  {
177
- "uuid": "127eccbd-3009-4a8f-95c1-7d8aeb608550",
178
- "slug": "diffie-hellman",
370
+ "uuid": "c6691fd2-e10d-47df-acbf-3adeac5a2f89",
371
+ "slug": "perfect-numbers",
179
372
  "core": false,
180
- "unlocked_by": null,
373
+ "unlocked_by": "space-age",
181
374
  "difficulty": 3,
182
375
  "topics": [
183
- "Cryptography"
376
+ "Control flow (conditionals)",
377
+ "Control flow (loops)",
378
+ "Arrays",
379
+ "Integers",
380
+ "Mathematics"
381
+ ]
382
+ },
383
+ {
384
+ "uuid": "0073ff9a-cd6a-43cf-b8bf-4d5d8117b81b",
385
+ "slug": "word-count",
386
+ "core": false,
387
+ "unlocked_by": "pangram",
388
+ "difficulty": 1,
389
+ "topics": [
390
+ "Control flow (loops)",
391
+ "Lists",
392
+ "Strings",
393
+ "Unicode",
394
+ "Regular expressions"
184
395
  ]
185
396
  },
186
397
  {
187
398
  "uuid": "440d78d1-9dea-466f-9bd4-935eed067409",
188
399
  "slug": "acronym",
189
400
  "core": false,
190
- "unlocked_by": null,
191
- "difficulty": 1,
192
- "topics": []
401
+ "unlocked_by": "pangram",
402
+ "difficulty": 2,
403
+ "topics": [
404
+ "Strings",
405
+ "Control flow (loops)",
406
+ "Regular expressions",
407
+ "Transforming"
408
+ ]
193
409
  },
194
410
  {
195
411
  "uuid": "11771d47-1109-4579-a62b-e0b8e9583485",
196
412
  "slug": "scrabble-score",
197
413
  "core": false,
198
- "unlocked_by": null,
199
- "difficulty": 1,
200
- "topics": []
414
+ "unlocked_by": "rna-transcription",
415
+ "difficulty": 5,
416
+ "topics": [
417
+ "Control flow (conditionals)",
418
+ "Control flow (loops)",
419
+ "Maps",
420
+ "Strings"
421
+ ]
201
422
  },
202
423
  {
203
424
  "uuid": "2fc4f834-a51c-42b8-a4d9-5263229e7648",
204
425
  "slug": "roman-numerals",
205
426
  "core": false,
206
427
  "unlocked_by": null,
207
- "difficulty": 1,
208
- "topics": []
428
+ "difficulty": 3,
429
+ "topics": [
430
+ "Control flow (conditionals)",
431
+ "Control flow (loops)",
432
+ "Mathematics",
433
+ "Pattern recognition",
434
+ "Transforming"
435
+ ]
209
436
  },
210
437
  {
211
438
  "uuid": "bf0b1f95-3425-4345-8a12-3a80d49b49c9",
212
439
  "slug": "circular-buffer",
213
440
  "core": false,
214
- "unlocked_by": null,
215
- "difficulty": 1,
216
- "topics": []
217
- },
218
- {
219
- "uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661",
220
- "slug": "prime-factors",
221
- "core": false,
222
- "unlocked_by": null,
223
- "difficulty": 1,
224
- "topics": []
441
+ "unlocked_by": "linked-list",
442
+ "difficulty": 8,
443
+ "topics": [
444
+ "Control flow (conditionals)",
445
+ "Control flow (loops)",
446
+ "Data structures",
447
+ "Lists",
448
+ "Arrays",
449
+ "Exception handling"
450
+ ]
225
451
  },
226
452
  {
227
453
  "uuid": "f77ac2d1-cf3a-497d-bf04-b484a5a9cb37",
228
454
  "slug": "raindrops",
229
455
  "core": false,
230
- "unlocked_by": null,
231
- "difficulty": 1,
232
- "topics": []
456
+ "unlocked_by": "rna-transcription",
457
+ "difficulty": 2,
458
+ "topics": [
459
+ "Control flow (conditionals)",
460
+ "Strings",
461
+ "Integers",
462
+ "Transforming"
463
+ ]
233
464
  },
234
465
  {
235
466
  "uuid": "9d33d21c-e695-427f-9f58-dd9498d61318",
236
467
  "slug": "allergies",
237
468
  "core": false,
238
- "unlocked_by": null,
239
- "difficulty": 1,
240
- "topics": []
469
+ "unlocked_by": "rna-transcription",
470
+ "difficulty": 6,
471
+ "topics": [
472
+ "Control flow (conditionals)",
473
+ "Control flow (loops)",
474
+ "Bitwise operations",
475
+ "Arrays"
476
+ ]
241
477
  },
242
478
  {
243
479
  "uuid": "8407f9d5-7a7e-40c8-aace-a6a8294ae5e9",
244
480
  "slug": "strain",
245
481
  "core": false,
246
- "unlocked_by": null,
247
- "difficulty": 1,
248
- "topics": []
482
+ "unlocked_by": "list-ops",
483
+ "difficulty": 4,
484
+ "topics": [
485
+ "Control flow (conditionals)",
486
+ "Control flow (loops)",
487
+ "Algorithms",
488
+ "Lists",
489
+ "Arrays",
490
+ "Callbacks",
491
+ "Filtering"
492
+ ]
249
493
  },
250
494
  {
251
495
  "uuid": "a70e6027-eebe-43a1-84a6-763faa736169",
252
496
  "slug": "atbash-cipher",
253
497
  "core": false,
254
- "unlocked_by": null,
255
- "difficulty": 1,
256
- "topics": []
498
+ "unlocked_by": "simple-cipher",
499
+ "difficulty": 7,
500
+ "topics": [
501
+ "Control flow (conditionals)",
502
+ "Control flow (loops)",
503
+ "Algorithms",
504
+ "Arrays",
505
+ "Regular expressions",
506
+ "Text formatting"
507
+ ]
257
508
  },
258
509
  {
259
510
  "uuid": "6ebe247c-3d11-48b7-8e6f-39f98359d233",
260
511
  "slug": "accumulate",
261
512
  "core": false,
262
- "unlocked_by": null,
263
- "difficulty": 1,
264
- "topics": []
513
+ "unlocked_by": "list-ops",
514
+ "difficulty": 5,
515
+ "topics": [
516
+ "Control flow (loops)",
517
+ "Algorithms",
518
+ "Lists",
519
+ "Callbacks"
520
+ ]
265
521
  },
266
522
  {
267
523
  "uuid": "4dc30879-a589-4dd3-b7b6-22261f9d1520",
268
524
  "slug": "crypto-square",
269
525
  "core": false,
270
- "unlocked_by": null,
271
- "difficulty": 1,
272
- "topics": []
526
+ "unlocked_by": "atbash-cipher",
527
+ "difficulty": 9,
528
+ "topics": [
529
+ "Control flow (conditionals)",
530
+ "Control flow (loops)",
531
+ "Algorithms",
532
+ "Arrays",
533
+ "Sorting",
534
+ "Text formatting",
535
+ "Regular expressions",
536
+ "Transforming"
537
+ ]
538
+ },
539
+ {
540
+ "uuid": "1acf1d2d-a25e-4576-94de-0470abc872d9",
541
+ "slug": "trinary",
542
+ "core": false,
543
+ "unlocked_by": "binary",
544
+ "difficulty": 4,
545
+ "topics": [
546
+ "Control flow (conditionals)",
547
+ "Control flow (loops)",
548
+ "Mathematics",
549
+ "Integers",
550
+ "Strings",
551
+ "Regular expressions"
552
+ ]
273
553
  },
274
554
  {
275
555
  "uuid": "127287d1-ba44-4400-884a-6fe5f72e210f",
276
556
  "slug": "sieve",
277
557
  "core": false,
278
- "unlocked_by": null,
279
- "difficulty": 1,
280
- "topics": []
558
+ "unlocked_by": "prime-factors",
559
+ "difficulty": 5,
560
+ "topics": [
561
+ "Control flow (conditionals)",
562
+ "Control flow (loops)",
563
+ "Mathematics",
564
+ "Integers",
565
+ "Recursion"
566
+ ]
281
567
  },
282
568
  {
283
- "uuid": "62d60b42-93bc-4de9-90d1-1ca18a847812",
284
- "slug": "simple-cipher",
569
+ "uuid": "dec66f89-39d0-4857-9679-a035cf4259d7",
570
+ "slug": "octal",
285
571
  "core": false,
286
- "unlocked_by": null,
287
- "difficulty": 1,
288
- "topics": []
572
+ "unlocked_by": "binary",
573
+ "difficulty": 4,
574
+ "topics": [
575
+ "Control flow (conditionals)",
576
+ "Control flow (loops)",
577
+ "Mathematics",
578
+ "Integers",
579
+ "Strings",
580
+ "Regular expressions"
581
+ ]
289
582
  },
290
583
  {
291
584
  "uuid": "28872cc9-f1ef-487f-9a79-6bf7983148bf",
292
585
  "slug": "luhn",
293
586
  "core": false,
294
- "unlocked_by": null,
295
- "difficulty": 1,
296
- "topics": []
587
+ "unlocked_by": "space-age",
588
+ "difficulty": 4,
589
+ "topics": [
590
+ "Control flow (conditionals)",
591
+ "Control flow (loops)",
592
+ "Mathematics",
593
+ "Integers",
594
+ "Strings"
595
+ ]
297
596
  },
298
597
  {
299
598
  "uuid": "16e25a38-7ce3-4ccd-b2f0-1550b837fe9b",
300
599
  "slug": "pig-latin",
301
600
  "core": false,
302
- "unlocked_by": null,
303
- "difficulty": 1,
304
- "topics": []
601
+ "unlocked_by": "bob",
602
+ "difficulty": 4,
603
+ "topics": [
604
+ "Control flow (conditionals)",
605
+ "Control flow (loops)",
606
+ "Strings",
607
+ "Games",
608
+ "Regular expressions",
609
+ "Transforming"
610
+ ]
305
611
  },
306
612
  {
307
613
  "uuid": "394755a3-c743-4b85-b9b8-387907f4e32d",
308
614
  "slug": "pythagorean-triplet",
309
615
  "core": false,
310
- "unlocked_by": null,
311
- "difficulty": 1,
312
- "topics": []
616
+ "unlocked_by": "space-age",
617
+ "difficulty": 5,
618
+ "topics": [
619
+ "Control flow (conditionals)",
620
+ "Control flow (loops)",
621
+ "Algorithms",
622
+ "Mathematics",
623
+ "Integers"
624
+ ]
313
625
  },
314
626
  {
315
627
  "uuid": "5178ae53-5364-46c9-bee3-70e6e8a8c2e3",
316
628
  "slug": "series",
317
629
  "core": false,
318
- "unlocked_by": null,
319
- "difficulty": 1,
320
- "topics": []
630
+ "unlocked_by": "pangram",
631
+ "difficulty": 3,
632
+ "topics": [
633
+ "Control flow (loops)",
634
+ "Exception handling",
635
+ "Strings",
636
+ "Text formatting"
637
+ ]
321
638
  },
322
639
  {
323
640
  "uuid": "7dfa878c-83a6-48ef-9170-b6633d51d601",
324
641
  "slug": "difference-of-squares",
325
642
  "core": false,
326
- "unlocked_by": null,
327
- "difficulty": 1,
328
- "topics": []
329
- },
330
- {
331
- "uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370",
332
- "slug": "secret-handshake",
333
- "core": false,
334
- "unlocked_by": null,
335
- "difficulty": 1,
336
- "topics": []
337
- },
338
- {
339
- "uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5",
340
- "slug": "linked-list",
341
- "core": false,
342
- "unlocked_by": null,
343
- "difficulty": 1,
344
- "topics": []
345
- },
346
- {
347
- "uuid": "9131bdb8-2e0f-4526-b113-8a77712e7216",
348
- "slug": "wordy",
349
- "core": false,
350
- "unlocked_by": null,
351
- "difficulty": 1,
352
- "topics": []
643
+ "unlocked_by": "space-age",
644
+ "difficulty": 3,
645
+ "topics": [
646
+ "Control flow (loops)",
647
+ "Algorithms",
648
+ "Mathematics",
649
+ "Integers"
650
+ ]
353
651
  },
354
652
  {
355
653
  "uuid": "1a6c4a3b-d5db-4a5a-b123-66cf085defe6",
356
654
  "slug": "flatten-array",
357
655
  "core": false,
358
- "unlocked_by": null,
656
+ "unlocked_by": "list-ops",
359
657
  "difficulty": 5,
360
658
  "topics": [
361
659
  "Arrays",
362
660
  "Recursion"
363
661
  ]
364
662
  },
663
+ {
664
+ "uuid": "8ed2c9fe-a13f-4313-abf9-125f351c85c9",
665
+ "slug": "hexadecimal",
666
+ "core": false,
667
+ "unlocked_by": "binary",
668
+ "difficulty": 4,
669
+ "topics": [
670
+ "Control flow (conditionals)",
671
+ "Control flow (loops)",
672
+ "Mathematics",
673
+ "Integers",
674
+ "Strings",
675
+ "Regular expressions"
676
+ ]
677
+ },
365
678
  {
366
679
  "uuid": "1f84305d-ea76-4fe2-9858-3b53576d683d",
367
680
  "slug": "largest-series-product",
368
681
  "core": false,
369
- "unlocked_by": null,
370
- "difficulty": 1,
371
- "topics": []
682
+ "unlocked_by": "pangram",
683
+ "difficulty": 7,
684
+ "topics": [
685
+ "Control flow (conditionals)",
686
+ "Control flow (loops)",
687
+ "Mathematics",
688
+ "Integers",
689
+ "Strings",
690
+ "Exception handling",
691
+ "Regular expressions"
692
+ ]
372
693
  },
373
694
  {
374
695
  "uuid": "13444eff-005a-405e-9737-7b64d99c1a61",
375
696
  "slug": "kindergarten-garden",
376
697
  "core": false,
377
- "unlocked_by": null,
378
- "difficulty": 1,
379
- "topics": []
698
+ "unlocked_by": "wordy",
699
+ "difficulty": 7,
700
+ "topics": [
701
+ "Control flow (conditionals)",
702
+ "Control flow (loops)",
703
+ "Strings",
704
+ "Arrays",
705
+ "Text formatting"
706
+ ]
380
707
  },
381
708
  {
382
709
  "uuid": "7c569e5d-bb00-44b8-8adc-34253790c19b",
383
710
  "slug": "binary-search",
384
711
  "core": false,
385
- "unlocked_by": null,
386
- "difficulty": 1,
387
- "topics": []
388
- },
389
- {
390
- "uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc",
391
- "slug": "list-ops",
392
- "core": false,
393
- "unlocked_by": null,
394
- "difficulty": 5,
712
+ "unlocked_by": "linked-list",
713
+ "difficulty": 7,
395
714
  "topics": [
396
- "Data structures",
397
- "Lists",
398
- "Loops"
715
+ "Control flow (conditionals)",
716
+ "Control flow (loops)",
717
+ "Recursion",
718
+ "Arrays",
719
+ "Algorithms"
399
720
  ]
400
721
  },
401
722
  {
402
723
  "uuid": "6c4b4e25-c115-4789-9058-d28ab6ca0d26",
403
724
  "slug": "binary-search-tree",
404
725
  "core": false,
405
- "unlocked_by": null,
406
- "difficulty": 1,
407
- "topics": []
408
- },
409
- {
410
- "uuid": "dd0b5e67-81f6-437e-8334-2ec0dfeb862a",
411
- "slug": "matrix",
412
- "core": false,
413
- "unlocked_by": null,
414
- "difficulty": 1,
415
- "topics": []
726
+ "unlocked_by": "binary-search",
727
+ "difficulty": 6,
728
+ "topics": [
729
+ "Control flow (conditionals)",
730
+ "Control flow (loops)",
731
+ "Recursion",
732
+ "Algorithms"
733
+ ]
416
734
  },
417
735
  {
418
736
  "uuid": "5174bd15-eee2-4b53-b3ee-ca3a8c958a31",
419
737
  "slug": "robot-simulator",
420
738
  "core": false,
421
- "unlocked_by": null,
422
- "difficulty": 1,
423
- "topics": []
739
+ "unlocked_by": "wordy",
740
+ "difficulty": 5,
741
+ "topics": [
742
+ "Control flow (conditionals)",
743
+ "Control flow (loops)",
744
+ "Exception handling",
745
+ "Strings",
746
+ "Games",
747
+ "Parsing"
748
+ ]
424
749
  },
425
750
  {
426
751
  "uuid": "7ce09989-f202-4c3c-8b7e-72cef18808c3",
427
752
  "slug": "nth-prime",
428
753
  "core": false,
429
- "unlocked_by": null,
430
- "difficulty": 1,
431
- "topics": []
754
+ "unlocked_by": "prime-factors",
755
+ "difficulty": 5,
756
+ "topics": [
757
+ "Control flow (conditionals)",
758
+ "Control flow (loops)",
759
+ "Exception handling",
760
+ "Algorithms",
761
+ "Mathematics",
762
+ "Integers"
763
+ ]
432
764
  },
433
765
  {
434
766
  "uuid": "f6799d10-0210-4c73-ac08-d5cac1a00ff3",
435
767
  "slug": "palindrome-products",
436
768
  "core": false,
437
- "unlocked_by": null,
438
- "difficulty": 1,
439
- "topics": []
440
- },
441
- {
442
- "uuid": "99493160-4673-402f-acda-62db5378148d",
443
- "slug": "pascals-triangle",
444
- "core": false,
445
- "unlocked_by": null,
446
- "difficulty": 1,
447
- "topics": []
769
+ "unlocked_by": "prime-factors",
770
+ "difficulty": 7,
771
+ "topics": [
772
+ "Control flow (conditionals)",
773
+ "Control flow (loops)",
774
+ "Exception handling",
775
+ "Algorithms",
776
+ "Mathematics",
777
+ "Integers"
778
+ ]
448
779
  },
449
780
  {
450
781
  "uuid": "12989bb3-c593-4f68-bea4-e2c5b76bc3c0",
451
782
  "slug": "say",
452
783
  "core": false,
453
- "unlocked_by": null,
454
- "difficulty": 1,
455
- "topics": []
784
+ "unlocked_by": "bob",
785
+ "difficulty": 6,
786
+ "topics": [
787
+ "Control flow (conditionals)",
788
+ "Control flow (loops)",
789
+ "Mathematics",
790
+ "Integers",
791
+ "Exception handling",
792
+ "Strings",
793
+ "Text formatting"
794
+ ]
456
795
  },
457
796
  {
458
797
  "uuid": "75199d72-4cac-49ce-bffb-23fb659c57ae",
459
798
  "slug": "custom-set",
460
799
  "core": false,
461
- "unlocked_by": null,
462
- "difficulty": 1,
463
- "topics": []
800
+ "unlocked_by": "linked-list",
801
+ "difficulty": 6,
802
+ "topics": [
803
+ "Control flow (conditionals)",
804
+ "Control flow (loops)",
805
+ "Data structures",
806
+ "Arrays",
807
+ "Lists",
808
+ "Sets",
809
+ "Equality",
810
+ "Recursion"
811
+ ]
464
812
  },
465
813
  {
466
814
  "uuid": "f7452f71-795b-40b6-847c-67ef4bb9db45",
467
815
  "slug": "sum-of-multiples",
468
816
  "core": false,
469
- "unlocked_by": null,
470
- "difficulty": 1,
471
- "topics": []
817
+ "unlocked_by": "prime-factors",
818
+ "difficulty": 5,
819
+ "topics": [
820
+ "Control flow (conditionals)",
821
+ "Control flow (loops)",
822
+ "Lists",
823
+ "Integers"
824
+ ]
472
825
  },
473
826
  {
474
827
  "uuid": "007a4cd4-7324-4512-8905-ead0c78146f7",
475
828
  "slug": "queen-attack",
476
829
  "core": false,
477
830
  "unlocked_by": null,
478
- "difficulty": 1,
479
- "topics": []
831
+ "difficulty": 8,
832
+ "topics": [
833
+ "Control flow (conditionals)",
834
+ "Control flow (loops)",
835
+ "Optional values",
836
+ "Exception handling",
837
+ "Equality",
838
+ "Text formatting",
839
+ "Parsing"
840
+ ]
480
841
  },
481
842
  {
482
843
  "uuid": "a01aa48c-65c4-4b1f-b3d9-3ec7da2ef754",
483
844
  "slug": "saddle-points",
484
845
  "core": false,
485
- "unlocked_by": null,
486
- "difficulty": 1,
487
- "topics": []
846
+ "unlocked_by": "matrix",
847
+ "difficulty": 6,
848
+ "topics": [
849
+ "Control flow (conditionals)",
850
+ "Control flow (loops)",
851
+ "Optional values",
852
+ "Exception handling",
853
+ "Equality",
854
+ "Parsing",
855
+ "Integers",
856
+ "Matrices",
857
+ "Mathematics"
858
+ ]
488
859
  },
489
860
  {
490
861
  "uuid": "24c197ee-d492-4083-8615-629cb4b836b2",
491
862
  "slug": "ocr-numbers",
492
863
  "core": false,
493
- "unlocked_by": null,
494
- "difficulty": 1,
495
- "topics": []
864
+ "unlocked_by": "matrix",
865
+ "difficulty": 5,
866
+ "topics": [
867
+ "Control flow (conditionals)",
868
+ "Control flow (loops)",
869
+ "Exception handling",
870
+ "Equality",
871
+ "Parsing",
872
+ "Integers",
873
+ "Text formatting"
874
+ ]
496
875
  },
497
876
  {
498
877
  "uuid": "98617798-b49d-4d43-9f65-7131ee73d626",
499
878
  "slug": "meetup",
500
879
  "core": false,
501
- "unlocked_by": null,
502
- "difficulty": 1,
503
- "topics": []
880
+ "unlocked_by": "gigasecond",
881
+ "difficulty": 7,
882
+ "topics": [
883
+ "Control flow (conditionals)",
884
+ "Control flow (loops)",
885
+ "Exception handling",
886
+ "Equality",
887
+ "Time",
888
+ "Dates"
889
+ ]
504
890
  },
505
891
  {
506
892
  "uuid": "4d456646-3a9b-4393-9558-6b30e5c1039c",
507
893
  "slug": "bracket-push",
508
894
  "core": false,
509
- "unlocked_by": null,
510
- "difficulty": 1,
511
- "topics": []
895
+ "unlocked_by": "pangram",
896
+ "difficulty": 3,
897
+ "topics": [
898
+ "Control flow (conditionals)",
899
+ "Control flow (loops)",
900
+ "Strings",
901
+ "Parsing",
902
+ "Exception handling"
903
+ ]
512
904
  },
513
905
  {
514
906
  "uuid": "0bc6b478-40a8-47ab-889b-c403b922f7e5",
515
907
  "slug": "two-bucket",
516
908
  "core": false,
517
- "unlocked_by": null,
518
- "difficulty": 1,
519
- "topics": []
909
+ "unlocked_by": "grade-school",
910
+ "difficulty": 6,
911
+ "topics": [
912
+ "Control flow (conditionals)",
913
+ "Control flow (loops)",
914
+ "Arrays",
915
+ "Parsing",
916
+ "Algorithms",
917
+ "Games",
918
+ "Exception handling"
919
+ ]
520
920
  },
521
921
  {
522
922
  "uuid": "6a1eee0e-f8d4-446d-9c52-f31c3700af1b",
523
923
  "slug": "diamond",
524
924
  "core": false,
525
- "unlocked_by": null,
526
- "difficulty": 1,
527
- "topics": []
528
- },
529
- {
530
- "uuid": "3df577af-2854-40ee-b211-9b608dbbad58",
531
- "slug": "isogram",
532
- "core": false,
533
- "unlocked_by": null,
534
- "difficulty": 1,
535
- "topics": []
925
+ "unlocked_by": "pascals-triangle",
926
+ "difficulty": 5,
927
+ "topics": [
928
+ "Control flow (conditionals)",
929
+ "Control flow (loops)",
930
+ "Arrays",
931
+ "Parsing",
932
+ "Games",
933
+ "Exception handling",
934
+ "Text formatting"
935
+ ]
536
936
  },
537
937
  {
538
938
  "uuid": "d2d3cd13-b06c-4c24-9964-fb1554f70dd4",
539
939
  "slug": "all-your-base",
540
940
  "core": false,
541
- "unlocked_by": null,
542
- "difficulty": 1,
543
- "topics": []
544
- },
545
- {
546
- "uuid": "2fa2c262-77ae-409b-bfd8-1d643faae772",
547
- "slug": "connect",
548
- "core": false,
549
- "unlocked_by": null,
550
- "difficulty": 7,
551
- "topics": []
941
+ "unlocked_by": "binary",
942
+ "difficulty": 5,
943
+ "topics": [
944
+ "Control flow (conditionals)",
945
+ "Control flow (loops)",
946
+ "Exception handling",
947
+ "Parsing",
948
+ "Mathematics",
949
+ "Integers"
950
+ ]
552
951
  },
553
952
  {
554
953
  "uuid": "8bafe6c4-9154-4037-9070-7f57f91d495a",
@@ -557,54 +956,66 @@
557
956
  "unlocked_by": null,
558
957
  "difficulty": 7,
559
958
  "topics": [
560
- "games",
561
- "arrays",
562
- "algorithms",
563
- "Matrices"
959
+ "Games",
960
+ "Arrays",
961
+ "Algorithms"
564
962
  ]
565
963
  },
566
964
  {
567
965
  "uuid": "a602bd33-69fc-4b67-a3d3-95198853095e",
568
966
  "slug": "alphametics",
569
967
  "core": false,
570
- "unlocked_by": null,
968
+ "unlocked_by": "grade-school",
571
969
  "difficulty": 7,
572
970
  "topics": [
573
- "games",
574
- "algorithms"
971
+ "Games",
972
+ "Algorithms"
575
973
  ]
576
974
  },
577
975
  {
578
- "uuid": "0ba4d3b9-2519-49ac-bd93-f960aca6c11f",
579
- "slug": "binary",
580
- "deprecated": true
581
- },
582
- {
583
- "uuid": "1acf1d2d-a25e-4576-94de-0470abc872d9",
584
- "slug": "trinary",
585
- "deprecated": true
586
- },
587
- {
588
- "uuid": "8ed2c9fe-a13f-4313-abf9-125f351c85c9",
589
- "slug": "hexadecimal",
590
- "deprecated": true
976
+ "uuid": "2fa2c262-77ae-409b-bfd8-1d643faae772",
977
+ "slug": "connect",
978
+ "core": false,
979
+ "unlocked_by": "grade-school",
980
+ "difficulty": 7,
981
+ "topics": [
982
+ "Control flow (loops)",
983
+ "Control flow (conditionals)",
984
+ "Games",
985
+ "Parsing",
986
+ "Arrays",
987
+ "Maps"
988
+ ]
591
989
  },
592
990
  {
593
- "uuid": "dec66f89-39d0-4857-9679-a035cf4259d7",
594
- "slug": "octal",
595
- "deprecated": true
991
+ "uuid": "127eccbd-3009-4a8f-95c1-7d8aeb608550",
992
+ "slug": "diffie-hellman",
993
+ "core": false,
994
+ "unlocked_by": "simple-cipher",
995
+ "difficulty": 3,
996
+ "topics": [
997
+ "Control flow (conditionals)",
998
+ "Control flow (loops)",
999
+ "Algorithms",
1000
+ "Arrays",
1001
+ "Exception handling"
1002
+ ]
596
1003
  },
597
1004
  {
598
1005
  "uuid": "0e43944b-0a68-5680-ef11-70999d2df897c894476",
599
1006
  "slug": "twelve-days",
600
1007
  "core": false,
1008
+ "unlocked_by": "bob",
601
1009
  "difficulty": 4,
602
1010
  "topics": [
603
1011
  "Control flow (conditionals)",
604
1012
  "Control flow (loops)",
605
- "Strings"
1013
+ "Polymorfism",
1014
+ "Strings",
1015
+ "Pattern recognition",
1016
+ "Regular expressions"
606
1017
  ]
607
1018
  }
608
1019
  ],
609
1020
  "foregone": []
610
- }
1021
+ }