diff --git a/seed/challenges/01-responsive-web-design/basic-css.json b/seed/challenges/01-responsive-web-design/basic-css.json index 13cc10b90cbf98..e9283fa40363fb 100644 --- a/seed/challenges/01-responsive-web-design/basic-css.json +++ b/seed/challenges/01-responsive-web-design/basic-css.json @@ -1,5 +1,5 @@ { - "name": "Basic HTML and HTML5", + "name": "Basic CSS", "order": 0, "time": "5 hours", "helpRoom": "Help", @@ -3022,4 +3022,4 @@ } } ] -} \ No newline at end of file +} diff --git a/seed/challenges/02-javascript-algorithms-and-data-structures/basic-data-structures.json b/seed/challenges/02-javascript-algorithms-and-data-structures/basic-data-structures.json index f4b8e328d4024a..9bd2b069da78c7 100644 --- a/seed/challenges/02-javascript-algorithms-and-data-structures/basic-data-structures.json +++ b/seed/challenges/02-javascript-algorithms-and-data-structures/basic-data-structures.json @@ -1,51 +1,9 @@ { - "name": "Debugging", + "name": "Basic Data Structures", "order": 4, "time": "1 hour", "helpRoom": "Help", "challenges": [ - { - "id": "587d78b2367417b2b2512b0d", - "title": "Introduction to the Debugging Challenges", - "description": [ - [ - "http://imgs.xkcd.com/comics/debugging.png", - "XKCD web comic walking through the convoluted process of debugging. The programmer moves from a browser problem, to a keyboard driver issue, receives a cryptic system utility error message, and ends by finding the sword of Martin the Warrior.", - "Debugging is a valuable and (unfortunately) necessary tool for programmers. It follows the testing phase of checking if your code works as intended, and discovering it does not. Debugging is the process of finding exactly what isn't working and fixing it.", - "" - ], - [ - "", - "", - "After spending time creating a brilliant block of code, it is tough realizing it may have errors. These issues generally come in three forms: 1) syntax errors that prevent a program from running, 2) runtime errors when code fails to execute or has unexpected behavior, and 3) semantic (or logical) errors when code doesn't do what it's meant to.

Modern code editors (and experience) can help identify syntax errors. Semantic and runtime errors are harder to find. They may cause your program to crash, make it run forever, or give incorrect output. Think of debugging as trying to understand why your code is behaving the way it is.

Example of a syntax error - often detected by the code editor:

funtion willNotWork( {
  console.log(\"Yuck\");
}
// \"function\" keyword is misspelled and there's a missing parenthesis


Here's an example of a runtime error - often detected while the program executes:

function loopy() {
  while(true) {
    console.log(\"Hello, world!\");
  }
}
// Calling loopy starts an infinite loop, which may crash your browser


Example of a semantic error - often detected after testing code output:

function calcAreaOfRect(w, h) {
  return w + h; // This should be w * h
}
let myRectArea = calcAreaOfRect(2, 3);
// Correct syntax and the program executes, but this gives the wrong answer
", - "" - ], - [ - "", - "", - "Debugging is frustrating, but it helps to develop (and follow) a step-by-step approach to review your code. This means checking the intermediate values and types of variables to see if they are what they should be. You can start with a simple process of elimination.

For example, if function A works and returns what it's supposed to, then function B may have the issue. Or start checking values in a block of code from the middle to try to cut the search space in half. A problem in one spot indicates a bug in the first half of the code. If not, it's likely in the second.

This section will cover a couple helpful tools to find bugs, and some of the common forms they take. Fortunately, debugging is a learnable skill that just requires a little patience and practice to master.", - "" - ] - ], - "releasedOn": "", - "challengeSeed": [], - "tests": [], - "type": "Waypoint", - "challengeType": 7, - "isRequired": false, - "titleEs": "", - "descriptionEs": [ - [] - ], - "titleFr": "", - "descriptionFr": [ - [] - ], - "titleDe": "", - "descriptionDe": [ - [] - ] - }, { "id": "587d78b2367417b2b2512b0e", "title": "Add items to an array with push() and unshift()", @@ -447,7 +405,7 @@ }, { "id": "587d7b7c367417b2b2512b19", - "title": "", + "title": "No Title 3", "description": [ "Objects, and other similar key-value pair data structures, offer some very useful benefits. One clear benefit is that they allow us to structure our data in an intuitive way. They are also very flexible. For instance, you can have properties nested to an arbitrary depth. Values can also be anything, for example a key can store an array, or even another object. Objects are also the foundation for JavaScript Object Notation, JSON, which is a widely used method of sending data across the web.", "Another powerful advantage of key-value pair data structures is constant lookup time. What we mean by this is when you request the value of a specific property you will get the value back in the same amount of time (theoretically) regardless of the number of entries in the object. If you had an object with 5 entries or one that held a collection of 1,000,000 entries you could still retrieve property values or check if a key exists in the same amount of time.", @@ -734,4 +692,4 @@ "translations": {} } ] -} \ No newline at end of file +} diff --git a/seed/challenges/02-javascript-algorithms-and-data-structures/es6.json b/seed/challenges/02-javascript-algorithms-and-data-structures/es6.json index 378e1f9767bd27..67f04eefe34fe3 100644 --- a/seed/challenges/02-javascript-algorithms-and-data-structures/es6.json +++ b/seed/challenges/02-javascript-algorithms-and-data-structures/es6.json @@ -382,7 +382,7 @@ }, { "id": "587d7b88367417b2b2512b47", - "title": "", + "title": "No Title One", "description": [ "In order to help us create more flexible functions, ES2015 introduces the rest operator for function parameters. With the rest operator, you can create functions with variable number of arguments and then have those arguments available into an Array inside the function", "Check out this code:", @@ -451,7 +451,7 @@ }, { "id": "587d7b89367417b2b2512b49", - "title": "", + "title": "No Title Two", "description": [ "We earlier saw how spread operator can effectively spread or unpack the contents of the array.", "We can do something similar with objects as well. Objects in JavaScript are a key-value pair collections.", @@ -759,72 +759,6 @@ "challengeType": 0, "translations": {} }, - { - "id": "587d7b8b367417b2b2512b51", - "title": "Enhanced Object Literals Computed Fields", - "description": [ - "With ES6, you can also create a field name dynamically, like this:", - "const prop = 'os'", - "const setup = {", - " ['prop-' + prop] : 'darwin-64'", - "}", - "If you inspect the object setup, you would see it's {\"prop-os\": \"darwin-64\"}", - "Instructions", - "Use object literal computed property to create an object like this", - "{", - " \"prop-1\": 1,", - " \"prop-2\": 2,", - " \"prop-3\": 3", - "}" - ], - "challengeSeed": [ - "/* Alter code below this line */", - "const funObject = {", - "}", - "/* Alter code above this line */", - "console.log(funObject);" - ], - "tests": [ - "// Test the output is correct", - "// Test no = was present outside funObject = {}" - ], - "type": "waypoint", - "challengeType": 0, - "translations": {} - }, - { - "id": "587d7b8b367417b2b2512b52", - "title": "Enhanced Object Literals Computed Fields", - "description": [ - "With ES6, you can also create a field name dynamically, like this:", - "const prop = 'os'", - "const setup = {", - " ['prop-' + prop] : 'darwin-64'", - "}", - "If you inspect the object setup, you would see it's {\"prop-os\": \"darwin-64\"}", - "Instructions", - "Use object literal computed property to create an object like this", - "{", - " \"prop-1\": 1,", - " \"prop-2\": 2,", - " \"prop-3\": 3", - "}" - ], - "challengeSeed": [ - "/* Alter code below this line */", - "const funObject = {", - "}", - "/* Alter code above this line */", - "console.log(funObject);" - ], - "tests": [ - "// Test the output is correct", - "// Test no = was present outside funObject = {}" - ], - "type": "waypoint", - "challengeType": 0, - "translations": {} - }, { "id": "587d7b8b367417b2b2512b53", "title": "class Syntax", @@ -1051,4 +985,4 @@ "translations": {} } ] -} \ No newline at end of file +} diff --git a/seed/challenges/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-certificate.json b/seed/challenges/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-certificate.json deleted file mode 100644 index 59ebe53f9f5d7a..00000000000000 --- a/seed/challenges/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-certificate.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "name": "Claim Your JavaScript Algorithms and Data Structures Certificate", - "order": 13, - "time": "5 minutes", - "challenges": [ - { - "id": "587d7dac367417b2b2512b71", - "title": "Claim Your JavaScript Algorithms and Data Structures Certificate", - "description": [ - [ - "//i.imgur.com/k8btNUB.jpg", - "An image of our JavaScript Algorithms and Data Structures Certificate", - "This challenge will give you your verified JavaScript Algorithms and Data Structures Certificate. Before we issue your certificate, we must verify that you have completed all of our basic and intermediate algorithm scripting challenges, and all our basic, intermediate, and advanced front end development projects. You must also accept our Academic Honesty Pledge. Click the button below to start this process.", - "" - ], - [ - "//i.imgur.com/uLPsUko.jpg", - "The definition of plagiarism: Plagiarism (noun) - copying someone else’s work and presenting it as your own without crediting them", - "By clicking below, you pledge that all of your submitted code A) is code you or your pair personally wrote, or B) comes from open source libraries like jQuery, or C) has been clearly attributed to its original authors. You also give us permission to audit your challenge solutions and revoke your certificate if we discover evidence of plagiarism.", - "#" - ], - [ - "//i.imgur.com/UedoV2G.jpg", - "An image of the text \"Front End Development Certificate requirements\"", - "Let's confirm that you have completed all of our basic and intermediate algorithm scripting challenges, and all our basic, intermediate, and advanced front end development projects. Click the button below to verify this.", - "#" - ], - [ - "//i.imgur.com/Q5Za9U6.jpg", - "An image of the word \"Congratulations\"", - "Congratulations! We've added your JavaScript Algorithms and Data Structures Certificate to your portfolio page. Unless you choose to hide your solutions, this certificate will remain publicly visible and verifiable.", - "" - ] - ], - "challengeSeed": [ - { - "properties": [ - "isHonest", - "isFrontEndCert" - ], - "apis": [ - "/certificate/honest", - "/certificate/verify/front-end" - ], - "stepIndex": [ - 1, - 2 - ] - } - ], - "tests": [ - { - "id": "a202eed8fc186c8434cb6d61", - "title": "Reverse a String" - }, - { - "id": "a302f7aae1aa3152a5b413bc", - "title": "Factorialize a Number" - }, - { - "id": "aaa48de84e1ecc7c742e1124", - "title": "Check for Palindromes" - }, - { - "id": "a26cbbe9ad8655a977e1ceb5", - "title": "Find the Longest Word in a String" - }, - { - "id": "ab6137d4e35944e21037b769", - "title": "Title Case a Sentence" - }, - { - "id": "a789b3483989747d63b0e427", - "title": "Return Largest Numbers in Arrays" - }, - { - "id": "acda2fb1324d9b0fa741e6b5", - "title": "Confirm the Ending" - }, - { - "id": "afcc8d540bea9ea2669306b6", - "title": "Repeat a string repeat a string" - }, - { - "id": "ac6993d51946422351508a41", - "title": "Truncate a string" - }, - { - "id": "a9bd25c716030ec90084d8a1", - "title": "Chunky Monkey" - }, - { - "id": "ab31c21b530c0dafa9e241ee", - "title": "Slasher Flick" - }, - { - "id": "af2170cad53daa0770fabdea", - "title": "Mutations" - }, - { - "id": "adf08ec01beb4f99fc7a68f2", - "title": "Falsy Bouncer" - }, - { - "id": "a39963a4c10bc8b4d4f06d7e", - "title": "Seek and Destroy" - }, - { - "id": "a24c1a4622e3c05097f71d67", - "title": "Where do I belong" - }, - { - "id": "a3566b1109230028080c9345", - "title": "Sum All Numbers in a Range" - }, - { - "id": "a5de63ebea8dbee56860f4f2", - "title": "Diff Two Arrays" - }, - { - "id": "a7f4d8f2483413a6ce226cac", - "title": "Roman Numeral Converter" - }, - { - "id": "a8e512fbe388ac2f9198f0fa", - "title": "Wherefore art thou" - }, - { - "id": "a0b5010f579e69b815e7c5d6", - "title": "Search and Replace" - }, - { - "id": "aa7697ea2477d1316795783b", - "title": "Pig Latin" - }, - { - "id": "afd15382cdfb22c9efe8b7de", - "title": "DNA Pairing" - }, - { - "id": "af7588ade1100bde429baf20", - "title": "Missing letters" - }, - { - "id": "a77dbc43c33f39daa4429b4f", - "title": "Boo who" - }, - { - "id": "a105e963526e7de52b219be9", - "title": "Sorted Union" - }, - { - "id": "a6b0bb188d873cb2c8729495", - "title": "Convert HTML Entities" - }, - { - "id": "a103376db3ba46b2d50db289", - "title": "Spinal Tap Case" - }, - { - "id": "a5229172f011153519423690", - "title": "Sum All Odd Fibonacci Numbers" - }, - { - "id": "a3bfc1673c0526e06d3ac698", - "title": "Sum All Primes" - }, - { - "id": "ae9defd7acaf69703ab432ea", - "title": "Smallest Common Multiple" - }, - { - "id": "a6e40f1041b06c996f7b2406", - "title": "Finders Keepers" - }, - { - "id": "a5deed1811a43193f9f1c841", - "title": "Drop it" - }, - { - "id": "ab306dbdcc907c7ddfc30830", - "title": "Steamroller" - }, - { - "id": "a8d97bd4c764e91f9d2bda01", - "title": "Binary Agents" - }, - { - "id": "a10d2431ad0c6a099a4b8b52", - "title": "Everything Be True" - }, - { - "id": "a97fd23d9b809dac9921074f", - "title": "Arguments Optional" - } - ], - "type": "Waypoint", - "challengeType": 7, - "translations": { - "es": { - "title": "Reclama tu certificado de Desarrollo de interfaces", - "description": [ - [ - "//i.imgur.com/k8btNUB.jpg", - "Una imagen que muestra nuestro certificado de Desarrollo de interfaces", - "Este desafío te otorga tu certificado autenticado de Desarrollo de interfaces. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los desafíos básicos e intermedios de diseño de algoritmos, y todos los proyectos básicos e intermedios de desarrollo de interfaces. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.", - "" - ], - [ - "//i.imgur.com/HArFfMN.jpg", - "Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.", - "Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.", - "#" - ], - [ - "//i.imgur.com/14F2Van.jpg", - "Una imagen del texto \"Front End Development Certificate requirements\"", - "Confirmemos que has completado todos nuestros desafíos básicos e intermedios de diseño de algoritmos, y todos nuestros proyectos básicos e intermedios de desarrollo de interfaces. Pulsa el botón siguiente para hacer la verificación.", - "#" - ], - [ - "//i.imgur.com/16SIhHO.jpg", - "Una imagen de la palabra \"Congratulations\"", - "¡Felicitaciones! Hemos agregado tu certificado de Desarrollo de interfaces a tu portafolio. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.", - "" - ] - ] - } - } - } - ] -} \ No newline at end of file