undefined is a keyword, not a string.
# --hints--
diff --git a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
index 51ea1ff224f..fbca53af739 100644
--- a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
+++ b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
@@ -9,7 +9,7 @@ dashedName: returning-boolean-values-from-functions
# --description--
-You may recall from [Comparison with the Equality Operator](/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator) that all comparison operators return a boolean `true` or `false` value.
+You may recall from Comparison with the Equality Operator that all comparison operators return a boolean `true` or `false` value.
Sometimes people use an `if/else` statement to do a comparison, like this:
diff --git a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
index c5e30c4680d..7d2db2f3971 100644
--- a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
+++ b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
@@ -8,7 +8,7 @@ dashedName: use-recursion-to-create-a-countdown
# --description--
-In a [previous challenge](/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion), you learned how to use recursion to replace a `for` loop. Now, let's look at a more complex function that returns an array of consecutive integers starting with `1` through the number passed to the function.
+In a previous challenge, you learned how to use recursion to replace a `for` loop. Now, let's look at a more complex function that returns an array of consecutive integers starting with `1` through the number passed to the function.
As mentioned in the previous challenge, there will be a base case. The base case tells the recursive function when it no longer needs to call itself. It is a simple case where the return value is already known. There will also be a recursive call which executes the original function with different arguments. If the function is written correctly, eventually the base case will be reached.
diff --git a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
index f559e30150b..4d74af3233f 100644
--- a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
+++ b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
@@ -8,7 +8,7 @@ dashedName: compare-scopes-of-the-var-and-let-keywords
# --description--
-If you are unfamiliar with `let`, check out [this challenge](/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords).
+If you are unfamiliar with `let`, check out this challenge about the difference bewteen let and var.
When you declare a variable with the `var` keyword, it is declared globally, or locally if declared inside a function.
diff --git a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
index b2aaadde5a2..fd6918ccee3 100644
--- a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
+++ b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
@@ -8,7 +8,7 @@ dashedName: mutate-an-array-declared-with-const
# --description--
-If you are unfamiliar with `const`, check out [this challenge](/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword).
+If you are unfamiliar with `const`, check out this challenge about the const keyword.
The `const` declaration has many use cases in modern JavaScript.
diff --git a/curriculum/challenges/english/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md b/curriculum/challenges/english/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
index 50960b60c67..826b9911336 100644
--- a/curriculum/challenges/english/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
+++ b/curriculum/challenges/english/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
@@ -22,7 +22,7 @@ jQuery also has a similar function called `.text()` that only alters text withou
Change the button with id `target4` by emphasizing its text.
-[View our news article for <em>](https://www.freecodecamp.org/news/html-elements-explained-what-are-html-tags/#em-element) to learn the difference between `` and `` and their uses.
+View our news article for <em> to learn the difference between `` and `` and their uses.
Note that while the `` tag has traditionally been used to emphasize text, it has since been adopted for use as a tag for icons. The `` tag is now widely accepted as the tag for emphasis. Either will work for this challenge.
diff --git a/curriculum/challenges/english/03-front-end-development-libraries/react/introducing-inline-styles.md b/curriculum/challenges/english/03-front-end-development-libraries/react/introducing-inline-styles.md
index ac7073e6a31..ffd86fd7d63 100644
--- a/curriculum/challenges/english/03-front-end-development-libraries/react/introducing-inline-styles.md
+++ b/curriculum/challenges/english/03-front-end-development-libraries/react/introducing-inline-styles.md
@@ -8,7 +8,7 @@ dashedName: introducing-inline-styles
# --description--
-There are other complex concepts that add powerful capabilities to your React code. But you may be wondering about the more simple problem of how to style those JSX elements you create in React. You likely know that it won't be exactly the same as working with HTML because of [the way you apply classes to JSX elements](/learn/front-end-development-libraries/react/define-an-html-class-in-jsx).
+There are other complex concepts that add powerful capabilities to your React code. But you may be wondering about the more simple problem of how to style those JSX elements you create in React. You likely know that it won't be exactly the same as working with HTML because of the way you apply classes to JSX elements.
If you import styles from a stylesheet, it isn't much different at all. You apply a class to your JSX element using the `className` attribute, and apply styles to the class in your stylesheet. Another option is to apply inline styles, which are very common in ReactJS development.
diff --git a/curriculum/challenges/english/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md b/curriculum/challenges/english/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
index 4ff7bdda5a7..4daf5d45b99 100644
--- a/curriculum/challenges/english/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
+++ b/curriculum/challenges/english/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
@@ -16,7 +16,7 @@ It's considered a best practice to set `propTypes` when you know the type of a p
MyComponent.propTypes = { handleClick: PropTypes.func.isRequired }
```
-In the example above, the `PropTypes.func` part checks that `handleClick` is a function. Adding `isRequired` tells React that `handleClick` is a required property for that component. You will see a warning if that prop isn't provided. Also notice that `func` represents `function`. Among the seven JavaScript primitive types, `function` and `boolean` (written as `bool`) are the only two that use unusual spelling. In addition to the primitive types, there are other types available. For example, you can check that a prop is a React element. Please refer to the [documentation](https://reactjs.org/docs/typechecking-with-proptypes.html#proptypes) for all of the options.
+In the example above, the `PropTypes.func` part checks that `handleClick` is a function. Adding `isRequired` tells React that `handleClick` is a required property for that component. You will see a warning if that prop isn't provided. Also notice that `func` represents `function`. Among the seven JavaScript primitive types, `function` and `boolean` (written as `bool`) are the only two that use unusual spelling. In addition to the primitive types, there are other types available. For example, you can check that a prop is a React element. Please refer to the documentation for all of the options.
**Note:** As of React v15.5.0, `PropTypes` is imported independently from React, like this: `import PropTypes from 'prop-types';`
diff --git a/curriculum/challenges/english/03-front-end-development-libraries/redux/create-a-redux-store.md b/curriculum/challenges/english/03-front-end-development-libraries/redux/create-a-redux-store.md
index 4eb9227a82a..056313b6b05 100644
--- a/curriculum/challenges/english/03-front-end-development-libraries/redux/create-a-redux-store.md
+++ b/curriculum/challenges/english/03-front-end-development-libraries/redux/create-a-redux-store.md
@@ -20,7 +20,7 @@ The Redux `store` is an object which holds and manages application `state`. Ther
Declare a `store` variable and assign it to the `createStore()` method, passing in the `reducer` as an argument.
-**Note:** The code in the editor uses ES6 default argument syntax to initialize this state to hold a value of `5`. If you're not familiar with default arguments, you can refer to the [ES6 section in the Curriculum](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions) which covers this topic.
+**Note:** The code in the editor uses ES6 default argument syntax to initialize this state to hold a value of `5`. If you're not familiar with default arguments, you can refer to the ES6 section in the Curriculum which covers this topic.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md
index 9e9e9ed3a25..168908a3841 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md
@@ -38,7 +38,7 @@ socket.on('user count', function(data) {
Now, try loading up your app, authenticate, and you should see in your client console '1' representing the current user count! Try loading more clients up, and authenticating to see the number go up.
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/28ef7f1078f56eb48c7b1aeea35ba1f5.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md
index fda520395d3..e7781482206 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md
@@ -22,7 +22,7 @@ To make sure clients continuously have the updated count of current users, you s
**Note:** Just like `'disconnect'`, all other events that a socket can emit to the server should be handled within the connecting listener where we have 'socket' defined.
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/ab1007b76069884fb45b215d3c4496fa.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md
index f65959a7f96..2c35bb056b1 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md
@@ -24,7 +24,7 @@ Also, in `profile.pug`, add a link referring to the `/logout` route, which will
a(href='/logout') Logout
```
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/136b3ad611cc80b41cab6f74bb460f6a.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md
index 2c8f48d8a3f..87e1780eb4c 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md
@@ -40,7 +40,7 @@ myDB(async client => {
Be sure to uncomment the `myDataBase` code in `deserializeUser`, and edit your `done(null, null)` to include the `doc`.
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/175f2f585a2d8034044c7e8857d5add7.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md
index 0cb828da81c..2b64f9d1b5d 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md
@@ -47,7 +47,7 @@ app.route('/register')
);
```
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/b230a5b3bbc89b1fa0ce32a2aa7b083e.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
**NOTE:** From this point onwards, issues can arise relating to the use of the *picture-in-picture* browser. If you are using an online IDE which offers a preview of the app within the editor, it is recommended to open this preview in a new tab.
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
index 6b6f6590931..64607c3f69c 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
@@ -28,7 +28,7 @@ passport.deserializeUser((id, done) => {
NOTE: This `deserializeUser` will throw an error until we set up the DB in the next step, so for now comment out the whole block and just call `done(null, null)` in the function `deserializeUser`.
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/7068a0d09e61ec7424572b366751f048.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md
index c3159b0fe97..3f26bb950a5 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md
@@ -28,7 +28,7 @@ Change the argument of the `res.render()` declaration in the `/` route to be the
If all went as planned, your app home page will stop showing the message "`Pug template is not defined.`" and will now display a message indicating you've successfully rendered the Pug template!
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/3515cd676ea4dfceab4e322f59a37791.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md
index d04333c6eef..f8356f299d4 100644
--- a/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md
+++ b/curriculum/challenges/english/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md
@@ -42,7 +42,7 @@ Now try loading up your app and authenticate and you should see in your server c
**Note:**`io()` works only when connecting to a socket hosted on the same url/server. For connecting to an external socket hosted elsewhere, you would use `io.connect('URL');`.
-Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point https://gist.github.com/camperbot/aae41cf59debc1a4755c9a00ee3859d1.
+Submit your page when you think you've got it right. If you're running into errors, you can check out the project completed up to this point.
# --hints--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/build-your-own-functions.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/build-your-own-functions.md
index 9e3d07907e6..88df8138e5b 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/build-your-own-functions.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/build-your-own-functions.md
@@ -14,7 +14,7 @@ dashedName: build-your-own-functions
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=ksvGhDsjtpw)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples.md
index d083a6e6b7e..dc30911a305 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples.md
@@ -14,7 +14,7 @@ dashedName: comparing-and-sorting-tuples
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=EhQxwzyT16E)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists.md
index 993fc8907c6..d3770dda9e4 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists.md
@@ -14,19 +14,19 @@ dashedName: data-visualization-mailing-lists
More resources:
-\- [Exercise: Geodata](https://www.youtube.com/watch?v=KfhslNzopxo)
+\- Exercise: Geodata
-\- [Exercise: Gmane Model](https://www.youtube.com/watch?v=wSpl1-7afAk)
+\- Exercise: Gmane Model
-\- [Exercise: Gmane Spider](https://www.youtube.com/watch?v=H3w4lOFBUOI)
+\- Exercise: Gmane Spider
-\- [Exercise: Gmane Viz](https://www.youtube.com/watch?v=LRqVPMEXByw)
+\- Exercise: Gmane Viz
-\- [Exercise: Page Rank](https://www.youtube.com/watch?v=yFRAZBkBDBs)
+\- Exercise: Page Rank
-\- [Exercise: Page Spider](https://www.youtube.com/watch?v=sXedPQ_AnWA)
+\- Exercise: Page Spider
-\- [Exercise: Page Viz](https://www.youtube.com/watch?v=Fm0hpkxsZoo)
+\- Exercise: Page Viz
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/dictionaries-and-loops.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/dictionaries-and-loops.md
index ca2f0d9a676..f01b3320828 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/dictionaries-and-loops.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/dictionaries-and-loops.md
@@ -14,7 +14,7 @@ dashedName: dictionaries-and-loops
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=PrhZ9qwBDD8)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/files-as-a-sequence.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/files-as-a-sequence.md
index 0c624248e19..75d21cc8994 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/files-as-a-sequence.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/files-as-a-sequence.md
@@ -14,7 +14,7 @@ dashedName: files-as-a-sequence
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=il1j4wkte2E)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-expressions.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-expressions.md
index 1d51cc32730..d70a408080f 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-expressions.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-expressions.md
@@ -14,9 +14,9 @@ dashedName: intermediate-expressions
More resources:
-\- [Exercise 1](https://youtu.be/t_4DPwsaGDY)
+\- Exercise 1
-\- [Exercise 2](https://youtu.be/wgkC8SxraAQ)
+\- Exercise 2
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-strings.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-strings.md
index 5d958cbd7f5..c2bcadfe2b0 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-strings.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/intermediate-strings.md
@@ -14,7 +14,7 @@ dashedName: intermediate-strings
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=1bSqHot-KwE)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/introduction-why-program.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/introduction-why-program.md
index ea412476e30..46b355c1545 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/introduction-why-program.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/introduction-why-program.md
@@ -18,9 +18,9 @@ dashedName: introduction-why-program
More resources:
-\- [Install Python on Windows](https://youtu.be/F7mtLrYzZP8)
+\- Install Python on Windows
-\- [Install Python on MacOS](https://youtu.be/wfLnZP-4sZw)
+\- Install Python on MacOS
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/iterations-more-patterns.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/iterations-more-patterns.md
index f328d0e6241..d0c75d1cd52 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/iterations-more-patterns.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/iterations-more-patterns.md
@@ -14,7 +14,7 @@ dashedName: iterations-more-patterns
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=kjxXZQw0uPg)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/more-conditional-structures.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/more-conditional-structures.md
index 18abf9c21e8..3ef5463b743 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/more-conditional-structures.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/more-conditional-structures.md
@@ -14,9 +14,9 @@ dashedName: more-conditional-structures
More resources:
-\- [Exercise 1](https://www.youtube.com/watch?v=crLerB4ZxMI)
+\- Exercise 1
-\- [Exercise 2](https://www.youtube.com/watch?v=KJN3-7HH6yk)
+\- Exercise 2
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python.md
index 68739d9c3bc..2d1fb18d938 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python.md
@@ -14,11 +14,11 @@ dashedName: networking-web-scraping-with-python
More resources:
-\- [Exercise: socket1](https://www.youtube.com/watch?v=dWLdI143W-g)
+\- Exercise: socket1
-\- [Exercise: urllib](https://www.youtube.com/watch?v=8yis2DvbBkI)
+\- Exercise: urllib
-\- [Exercise: urllinks](https://www.youtube.com/watch?v=g9flPDG9nnY)
+\- Exercise: urllinks
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
index e1521dd9018..57f4dd9e0d7 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
@@ -12,9 +12,9 @@ dashedName: relational-databases-and-sqlite
# --description--
-[Download SQLite](https://www.sqlite.org/download.html)
-[Download DB Browser for SQLite](https://sqlitebrowser.org/dl/)
-[SQLite usage](https://www.sqlite.org/famous.html)
+Download SQLite
+Download DB Browser for SQLite
+SQLite usage
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships.md
index 5e569f4334a..53b73ce222b 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships.md
@@ -14,15 +14,15 @@ dashedName: relational-databases-many-to-many-relationships
More resources:
-\- [Exercise: Email](https://www.youtube.com/watch?v=uQ3Qv1z_Vao)
+\- Exercise: Email
-\- [Exercise: Roster](https://www.youtube.com/watch?v=qEkUEAz8j3o)
+\- Exercise: Roster
-\- [Exercise: Tracks](https://www.youtube.com/watch?v=I-E7avcPeSE)
+\- Exercise: Tracks
-\- [Exercise: Twfriends](https://www.youtube.com/watch?v=RZRAoBFIH6A)
+\- Exercise: Twfriends
-\- [Exercise: Twspider](https://www.youtube.com/watch?v=xBaJddvJL4A)
+\- Exercise: Twspider
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/strings-and-lists.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/strings-and-lists.md
index 736a7807dd4..9ba1ca3e9c8 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/strings-and-lists.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/strings-and-lists.md
@@ -14,7 +14,7 @@ dashedName: strings-and-lists
More resources:
-\- [Exercise](https://www.youtube.com/watch?v=-9TfJF2dwHI)
+\- Exercise
# --question--
diff --git a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security.md b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security.md
index d7bd3945ada..53f2e714cae 100644
--- a/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security.md
+++ b/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security.md
@@ -14,13 +14,13 @@ dashedName: web-services-api-rate-limiting-and-security
More resources:
-\- [Exercise: GeoJSON](https://www.youtube.com/watch?v=TJGJN0T8tak)
+\- Exercise: GeoJSON
-\- [Exercise: JSON](https://www.youtube.com/watch?v=vTmw5RtfGMY)
+\- Exercise: JSON
-\- [Exercise: Twitter](https://www.youtube.com/watch?v=2c7YwhvpCro)
+\- Exercise: Twitter
-\- [Exercise: XML](https://www.youtube.com/watch?v=AopYOlDa-vY)
+\- Exercise: XML
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a.md
index 441fd252d90..5af2ffef9af 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a.md
@@ -16,8 +16,8 @@ dashedName: data-analysis-example-a
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/FreeCodeCamp-Pandas-Real-Life-Example)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b.md
index 83d8b897206..a0531c9992a 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b.md
@@ -16,8 +16,9 @@ dashedName: data-analysis-example-b
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/FreeCodeCamp-Pandas-Real-Life-Example)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations.md
index 95e8c64488a..340cd5351d6 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations.md
@@ -16,8 +16,8 @@ dashedName: data-cleaning-and-visualizations
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/data-cleaning-rmotr-freecodecamp)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates.md
index 377079161f6..14cab33625a 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates.md
@@ -16,8 +16,8 @@ dashedName: data-cleaning-duplicates
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/data-cleaning-rmotr-freecodecamp)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction.md
index e5df7150c9f..e81b41cd51d 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction.md
@@ -16,8 +16,8 @@ dashedName: data-cleaning-introduction
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/data-cleaning-rmotr-freecodecamp)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes.md
index 8ca753ef9a6..e1a58cfd19c 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes.md
@@ -16,8 +16,8 @@ dashedName: data-cleaning-with-dataframes
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/data-cleaning-rmotr-freecodecamp)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro.md
index 9c9bf27e2ad..64166a8d41e 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro.md
@@ -16,8 +16,8 @@ dashedName: how-to-use-jupyter-notebooks-intro
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-interactive-jupyterlab-tutorial)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells.md
index 535fb776add..d266151844d 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells.md
@@ -16,8 +16,8 @@ dashedName: jupyter-notebooks-cells
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-interactive-jupyterlab-tutorial)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data.md
index f32dae34dc2..be927727e87 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data.md
@@ -16,8 +16,8 @@ dashedName: jupyter-notebooks-importing-and-exporting-data
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-interactive-jupyterlab-tutorial)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size.md
index 52ee7235e33..d6292da8d5c 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size.md
@@ -16,8 +16,8 @@ dashedName: numpy-algebra-and-size
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-arrays.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-arrays.md
index 66a8c4e92a5..5f08a1b30c7 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-arrays.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-arrays.md
@@ -16,8 +16,8 @@ dashedName: numpy-arrays
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays.md
index fc305757547..630ad66ca26 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays.md
@@ -16,8 +16,8 @@ dashedName: numpy-boolean-arrays
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md
index 362dc1ebef4..d9f980b8ae1 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md
@@ -16,8 +16,8 @@ dashedName: numpy-introduction-a
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b.md
index 4de22d762c5..f76d5bf6d1c 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b.md
@@ -16,8 +16,8 @@ dashedName: numpy-introduction-b
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-operations.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-operations.md
index 1d842e61353..166ee7c6d05 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-operations.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/numpy-operations.md
@@ -16,8 +16,8 @@ dashedName: numpy-operations
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-numpy)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes.md
index bc11172e1e4..d16b2a8235f 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes.md
@@ -16,8 +16,8 @@ dashedName: pandas-conditional-selection-and-modifying-dataframes
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md
index 85fdc8df668..c9bd03fcb63 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md
@@ -16,8 +16,8 @@ dashedName: pandas-creating-columns
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes.md
index 93ab102ede2..d43e94785ca 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes.md
@@ -16,8 +16,8 @@ dashedName: pandas-dataframes
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection.md
index 06ca893519b..ed1e427084f 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection.md
@@ -16,8 +16,8 @@ dashedName: pandas-indexing-and-conditional-selection
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-introduction.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-introduction.md
index 60e9fd2df07..e9896ae5f47 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-introduction.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/pandas-introduction.md
@@ -16,8 +16,8 @@ dashedName: pandas-introduction
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data.md
index 92d1cd87e7f..f2c5997639c 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data.md
@@ -16,8 +16,8 @@ dashedName: parsing-html-and-saving-data
More resources:
-- [Notebooks on GitHub](https://github.com/krishnatray/RDP-Reading-Data-with-Python-and-Pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md
index 4c40ddffdb3..fdce91d05f7 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md
@@ -16,8 +16,8 @@ dashedName: python-functions-and-collections
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-python-under-10-minutes)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-introduction.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-introduction.md
index 71f9637ae14..8bd079a0a4f 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-introduction.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-introduction.md
@@ -16,8 +16,8 @@ dashedName: python-introduction
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-python-under-10-minutes)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules.md
index f4350c98462..fddbd3b10c9 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules.md
@@ -16,8 +16,8 @@ dashedName: python-iteration-and-modules
More resources:
-- [Notebooks on GitHub](https://github.com/ine-rmotr-curriculum/ds-content-python-under-10-minutes)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt.md
index f9519443cb4..0291043e715 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt.md
@@ -16,8 +16,8 @@ dashedName: reading-data-csv-and-txt
More resources:
-- [Notebooks on GitHub](https://github.com/krishnatray/RDP-Reading-Data-with-Python-and-Pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases.md
index e3c7b89473b..21186179430 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases.md
@@ -16,8 +16,8 @@ dashedName: reading-data-from-databases
More resources:
-- [Notebooks on GitHub](https://github.com/krishnatray/RDP-Reading-Data-with-Python-and-Pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md
index bd41830d667..2822287ab61 100644
--- a/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md
+++ b/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md
@@ -16,8 +16,8 @@ dashedName: reading-data-introduction
More resources:
-- [Notebooks on GitHub](https://github.com/krishnatray/RDP-Reading-Data-with-Python-and-Pandas)
-- [How to open Notebooks from GitHub using Google Colab.](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
+- Notebooks on GitHub
+- How to open Notebooks from GitHub using Google Colab.
# --question--
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet.hsts.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet.hsts.md
index 9d5cba3e752..d793c160a42 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet.hsts.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet.hsts.md
@@ -8,7 +8,7 @@ dashedName: ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
HTTP Strict Transport Security (HSTS) is a web security policy which helps to protect websites against protocol downgrade attacks and cookie hijacking. If your website can be accessed via HTTPS you can ask user’s browsers to avoid using insecure HTTP. By setting the header Strict-Transport-Security, you tell the browsers to use HTTPS for the future requests in a specified amount of time. This will work for the requests coming after the initial request.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet.nosniff.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet.nosniff.md
index 1ea172a9366..bdfe0a5f4e0 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet.nosniff.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet.nosniff.md
@@ -8,7 +8,7 @@ dashedName: avoid-inferring-the-response-mime-type-with-helmet-nosniff
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/). Browsers can use content or MIME sniffing to override response `Content-Type` headers to guess and process the data using an implicit content type. While this can be convenient in some scenarios, it can also lead to some dangerous attacks. This middleware sets the X-Content-Type-Options header to `nosniff`, instructing the browser to not bypass the provided `Content-Type`.
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub. Browsers can use content or MIME sniffing to override response `Content-Type` headers to guess and process the data using an implicit content type. While this can be convenient in some scenarios, it can also lead to some dangerous attacks. This middleware sets the X-Content-Type-Options header to `nosniff`, instructing the browser to not bypass the provided `Content-Type`.
# --instructions--
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware.md
index 8f96da298a0..df5a2738dbb 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware.md
@@ -8,7 +8,7 @@ dashedName: configure-helmet-using-the-parent-helmet-middleware
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
`app.use(helmet())` will automatically include all the middleware introduced above, except `noCache()`, and `contentSecurityPolicy()`, but these can be enabled if necessary. You can also disable or configure any other middleware individually, using a configuration object.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet.nocache.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet.nocache.md
index b12dedf8de8..e41d8a3d310 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet.nocache.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet.nocache.md
@@ -8,7 +8,7 @@ dashedName: disable-client-side-caching-with-helmet-nocache
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
If you are releasing an update for your website, and you want the users to always download the newer version, you can (try to) disable caching on client’s browser. It can be useful in development too. Caching has performance benefits, which you will lose, so only use this option when there is a real need.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet.dnsprefetchcontrol.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet.dnsprefetchcontrol.md
index 3a855aebb73..ec268aa846c 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet.dnsprefetchcontrol.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet.dnsprefetchcontrol.md
@@ -8,7 +8,7 @@ dashedName: disable-dns-prefetching-with-helmet-dnsprefetchcontrol
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
To improve performance, most browsers prefetch DNS records for the links in a page. In that way the destination ip is already known when the user clicks on a link. This may lead to over-use of the DNS service (if you own a big website, visited by millions people…), privacy issues (one eavesdropper could infer that you are on a certain page), or page statistics alteration (some links may appear visited even if they are not). If you have high security needs you can disable DNS prefetching, at the cost of a performance penalty.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously.md
index 1d72070146f..d033c9f73c0 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously.md
@@ -8,7 +8,7 @@ dashedName: hash-and-compare-passwords-asynchronously
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-bcrypt), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-bcrypt/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
As hashing is designed to be computationally intensive, it is recommended to do so asynchronously on your server as to avoid blocking incoming connections while you hash. All you have to do to hash a password asynchronous is call
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously.md
index f7efd693685..64fc17c3a70 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously.md
@@ -8,7 +8,7 @@ dashedName: hash-and-compare-passwords-synchronously
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-bcrypt), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-bcrypt/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
Hashing synchronously is just as easy to do but can cause lag if using it server side with a high cost or with hashing done very often. Hashing with this method is as easy as calling
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet.hidepoweredby.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet.hidepoweredby.md
index fbf4faceb1e..c1cd789591e 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet.hidepoweredby.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet.hidepoweredby.md
@@ -8,7 +8,7 @@ dashedName: hide-potentially-dangerous-information-using-helmet-hidepoweredby
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
Hackers can exploit known vulnerabilities in Express/Node if they see that your site is powered by Express. `X-Powered-By: Express` is sent in every request coming from Express by default. Use the `helmet.hidePoweredBy()` middleware to remove the X-Powered-By header.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md
index 2e89c443994..5b1406a9c90 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md
@@ -10,8 +10,8 @@ dashedName: install-and-require-helmet
Working on these challenges will involve you writing your code using one of the following methods:
-- Clone [this GitHub repo](https://github.com/freeCodeCamp/boilerplate-infosec/) and complete these challenges locally.
-- Use [our Replit starter project](https://replit.com/github/freeCodeCamp/boilerplate-infosec) to complete these challenges.
+- Clone this GitHub repo and complete these challenges locally.
+- Use our Replit starter project to complete these challenges.
- Use a site builder of your choice to complete the project. Be sure to incorporate all the files from our GitHub repo.
When you are done, make sure a working demo of your project is hosted somewhere public. Then submit the URL to it in the `Solution Link` field.
diff --git a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet.frameguard.md b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet.frameguard.md
index 33b43cd3be8..6b032da9b70 100644
--- a/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet.frameguard.md
+++ b/curriculum/challenges/english/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet.frameguard.md
@@ -8,7 +8,7 @@ dashedName: mitigate-the-risk-of-clickjacking-with-helmet-frameguard
# --description--
-As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-infosec), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-infosec/).
+As a reminder, this project is being built upon the following starter project on Replit, or cloned from GitHub.
Your page could be put in a `` or `