├── docs
├── favicon.png
├── asset-manifest.json
├── manifest.json
└── index.html
├── public
├── favicon.png
└── manifest.json
├── src
├── assets
│ ├── saxmono.ttf
│ ├── freeCodeCamp.png
│ └── freeCodeCamp-alternative.png
├── .sass-cache
│ └── 6e9157b86ff7c133e63b829481b48e2a01568a00
│ │ └── index.scssc
├── helpers
│ └── initTests.js
├── challenges
│ ├── 45-cryptography
│ │ ├── rsa-cryptosystem.json
│ │ ├── finite-fields.json
│ │ ├── rabin-cryptosystem.json
│ │ ├── genetic-algorithms.json
│ │ ├── introduction-to-public-key-cryptography.json
│ │ ├── public-key-cryptography-and-discrete-logarithms.json
│ │ ├── rsa-cryptosystem-and-factoring-integers.json
│ │ ├── discrete-logarithm-algorithms-in-practice.json
│ │ ├── more-number-theory.json
│ │ ├── message-authentication-codes-mac.json
│ │ ├── key-distribution-patterns.json
│ │ ├── unconditionally-secure-macs.json
│ │ ├── semantic-security-of-rsa.json
│ │ ├── future-of-pki.json
│ │ ├── other-attacks-on-rsa.json
│ │ ├── security-of-elgamal-systems.json
│ │ ├── trust-models.json
│ │ ├── copyright-protection.json
│ │ ├── primality-testing.json
│ │ ├── factoring-algorithms.json
│ │ ├── session-key-distribution-schemes.json
│ │ ├── key-distribution.json
│ │ ├── public-key-infrastructure.json
│ │ ├── algorithms-for-the-discrete-logarithm-problem.json
│ │ ├── cryptanalysis.json
│ │ └── elliptic-curves.json
│ ├── 43-abstract-algebra
│ │ ├── preliminaries.json
│ │ ├── integers.json
│ │ ├── isomorphisms.json
│ │ ├── homomorphisms.json
│ │ ├── finite-fields.json
│ │ ├── matrix-group-and-symmetry.json
│ │ ├── permutation-groups.json
│ │ ├── structure-of-groups.json
│ │ ├── the-sylow-theorems.json
│ │ ├── integral-domains.json
│ │ ├── intro-to-cryptography.json
│ │ ├── normal-subgroups-and-factor-groups.json
│ │ ├── fields.json
│ │ ├── galois-theory.json
│ │ ├── polynomials.json
│ │ ├── groups.json
│ │ ├── group-actions.json
│ │ ├── cyclic-groups.json
│ │ ├── cosets-and-lagrange-theorem.json
│ │ ├── lattices-and-boolean-algebras.json
│ │ ├── rings.json
│ │ └── algebraic-coding-theory.json
│ ├── 33-geometry
│ │ ├── introduction-to-transformation.json
│ │ ├── lines.json
│ │ ├── rotations.json
│ │ ├── pyramids.json
│ │ ├── symmetry.json
│ │ ├── cones.json
│ │ ├── triangle-similarity.json
│ │ ├── reflections.json
│ │ ├── spheres.json
│ │ ├── basic-polygons.json
│ │ ├── triangle-area-and-perimeter.json
│ │ ├── area-of-a-circle.json
│ │ ├── composition-of-transformations.json
│ │ ├── polygon-angle-measures.json
│ │ ├── lines-in-the-coordinate-plane.json
│ │ ├── cross-sections-and-basic-solids-of-revolution.json
│ │ ├── shapes.json
│ │ ├── dilation.json
│ │ ├── translations.json
│ │ ├── line-segments.json
│ │ ├── special-triangles.json
│ │ ├── cylinders.json
│ │ ├── tangent-lines-and-theorems.json
│ │ ├── circles-and-angles.json
│ │ ├── arcs-and-chords.json
│ │ ├── introduction-to-solid-figures.json
│ │ ├── logic-statements.json
│ │ ├── angle-pairs.json
│ │ ├── classifying-triangles.json
│ │ └── geometry-of-circles.json
│ ├── 42-combinatorics
│ │ ├── games-with-graphs.json
│ │ ├── inclusion-exclusion.json
│ │ ├── elements-of-graph-theory.json
│ │ ├── polya-enumeration-formula.json
│ │ ├── covering-circuits-and-graph-coloring.json
│ │ ├── trees-and-searching.json
│ │ ├── generating-functions.json
│ │ ├── network-algorithms.json
│ │ └── general-enumeration.json
│ ├── 30-arithmetic
│ │ ├── round-decimals.json
│ │ ├── converting-percentages.json
│ │ ├── compare-decimals.json
│ │ ├── powers-of-ten.json
│ │ ├── multiplying-and-dividing-decimals.json
│ │ ├── adding-and-subtracting-decimals.json
│ │ ├── ratios.json
│ │ ├── basic-decimals.json
│ │ └── long-division.json
│ ├── 39-linear-algebra
│ │ ├── determinants.json
│ │ ├── eigenvalues.json
│ │ ├── representations.json
│ │ └── linear-transformations.json
│ ├── 40-differential-equations
│ │ ├── series-solutions.json
│ │ └── introduction-to-differential-equations.json
│ ├── 47-probability
│ │ ├── law-of-large-numbers.json
│ │ ├── distributions-and-densities.json
│ │ ├── sums-of-random-variables.json
│ │ ├── continuous-probability-densities.json
│ │ ├── discrete-probability-distributions.json
│ │ ├── combinatorics.json
│ │ ├── random-walks.json
│ │ ├── generating-functions.json
│ │ ├── central-limit-theorem.json
│ │ ├── conditional-probability.json
│ │ ├── expected-value-and-variance.json
│ │ └── markov-chains.json
│ ├── 32-linear-equations
│ │ ├── polynomial-factoring.json
│ │ ├── direct-variations.json
│ │ ├── proportion-and-scale.json
│ │ ├── introduction-to-polynomials.json
│ │ ├── adding-and-subtracting-rational-expressions.json
│ │ ├── percentages.json
│ │ ├── graphing-slope.json
│ │ ├── proportions.json
│ │ ├── polynomial-special-products.json
│ │ ├── linear-systems.json
│ │ ├── linear-equations-in-the-real-world.json
│ │ ├── parallel-and-perpendicular-lines.json
│ │ ├── polynomial-multiplication.json
│ │ ├── exponents-and-irrational-numbers.json
│ │ ├── the-forms-of-a-linear-equation.json
│ │ ├── graphing-polynomials.json
│ │ ├── introduction-to-rational-expressions.json
│ │ ├── linear-exponential-and-quadratic-models.json
│ │ ├── multiplying-and-dividing-rational-expressions.json
│ │ ├── properties-of-exponents-in-variable-expressions.json
│ │ ├── polynomial-division.json
│ │ └── radical-expressions.json
│ ├── 44-number-theory
│ │ ├── deterministic-primality-testing.json
│ │ ├── basic-properties-of-integers.json
│ │ ├── subexponential-time-discrete-logarithms-and-factoring.json
│ │ ├── finding-generators-and-discrete-logarithms-in-zpstar.json
│ │ ├── finite-fields.json
│ │ ├── probabilistic-primary-testing.json
│ │ ├── matrices.json
│ │ ├── rings.json
│ │ ├── distribution-of-primes.json
│ │ └── computing-with-large-integers.json
│ ├── 31-algebra
│ │ ├── real-number-variables-and-expressions.json
│ │ ├── simplifying-expressions.json
│ │ └── integers.json
│ ├── 37-single-variable-calculus
│ │ ├── parametric-equations.json
│ │ ├── polar-coordinates.json
│ │ ├── applications-of-integration.json
│ │ ├── further-applications-of-integration.json
│ │ ├── integrals.json
│ │ ├── functions-and-models.json
│ │ └── differential-equations.json
│ ├── 41-proofs
│ │ ├── disproof.json
│ │ ├── contrapositive-proof.json
│ │ ├── mathematical-induction.json
│ │ ├── proof-by-contradiction.json
│ │ ├── proofs-involving-sets.json
│ │ ├── cardinality-of-sets.json
│ │ ├── proving-non-conditional-statements.json
│ │ ├── direct-proof.json
│ │ ├── counting.json
│ │ └── relations.json
│ ├── 46-statistics
│ │ ├── probability.json
│ │ ├── continuous-random-variables.json
│ │ ├── the-normal-distribution.json
│ │ ├── chi-square-distribution.json
│ │ ├── the-central-limit-theorem.json
│ │ ├── data.json
│ │ ├── discrete-distributions.json
│ │ └── descriptive-statistics.json
│ ├── 34-trigonometry
│ │ └── sum-to-product-and-triple-angle-formulas.json
│ ├── 38-multivariable-calculus
│ │ ├── vector-functions.json
│ │ └── second-order-differential-equations.json
│ └── 36-precalculus
│ │ ├── trigonometric-functions-of-real-numbers.json
│ │ ├── sequences-and-series.json
│ │ └── trigonometric-functions-of-angles.json
├── actions
│ └── index.js
├── index.js
├── components
│ ├── Preview.js
│ ├── ChallengeControl.js
│ └── Tests.js
└── reducers
│ └── initState.js
├── .editorconfig
├── .gitignore
├── toJSONString.js
├── README.md
├── package.json
└── mergeChallenges.js
/docs/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/docs/favicon.png
--------------------------------------------------------------------------------
/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/public/favicon.png
--------------------------------------------------------------------------------
/src/assets/saxmono.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/src/assets/saxmono.ttf
--------------------------------------------------------------------------------
/src/assets/freeCodeCamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/src/assets/freeCodeCamp.png
--------------------------------------------------------------------------------
/src/assets/freeCodeCamp-alternative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/src/assets/freeCodeCamp-alternative.png
--------------------------------------------------------------------------------
/src/.sass-cache/6e9157b86ff7c133e63b829481b48e2a01568a00/index.scssc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freeCodeCamp/math-for-programmers-prototype/HEAD/src/.sass-cache/6e9157b86ff7c133e63b829481b48e2a01568a00/index.scssc
--------------------------------------------------------------------------------
/docs/asset-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "main.css": "static/css/main.06f693c3.css",
3 | "main.css.map": "static/css/main.06f693c3.css.map",
4 | "main.js": "static/js/main.667cee71.js",
5 | "main.js.map": "static/js/main.667cee71.js.map"
6 | }
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | end_of_line = lf
6 | charset = utf-8
7 | trim_trailing_whitespace = true
8 | insert_final_newline = true
9 |
10 | [package.json]
11 | indent_style = space
12 | indent_size = 2
13 |
14 | [*.md]
15 | trim_trailing_whitespace = false
--------------------------------------------------------------------------------
/src/helpers/initTests.js:
--------------------------------------------------------------------------------
1 | export default function(testStr) {
2 | return {
3 | test: testStr
4 | ? testStr.replace(/^assert\(/g, '').replace(/, 'message.*/, '')
5 | : '',
6 | message: testStr
7 | ? testStr.split(/, 'message: /)[1].replace(/'.*$/, '')
8 | : '',
9 | status: 'init'
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/docs/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/rsa-cryptosystem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "RSA cryptosystem",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b676",
7 | "title": "Implementing RSA",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/finite-fields.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Finite fields",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b685",
7 | "title": "Introduction to Finite Fields",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/preliminaries.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Preliminaries",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b621",
7 | "title": "Sets and equivalence relations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/rabin-cryptosystem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Rabin cryptosystem",
3 | "order": 15,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b680",
7 | "title": "Security of Rabin cryptosystem",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/introduction-to-transformation.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to Transformation Types",
3 | "order": 32,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b725",
7 | "title": "Identify Transformation Types",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/genetic-algorithms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Genetic algorithms",
3 | "order": 19,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b684",
7 | "title": "Lower bounds on the complexity of genetic algorithms",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # Configuration files
4 | .vscode
5 |
6 | # Sass cache
7 | /src/.sass-cache/
8 |
9 | # dependencies
10 | /node_modules
11 |
12 | # testing
13 | /coverage
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | .env.local
21 | .env.development.local
22 | .env.test.local
23 | .env.production.local
24 |
25 | npm-debug.log*
26 | yarn-debug.log*
27 | yarn-error.log*
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/introduction-to-public-key-cryptography.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to public-key cryptography",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b674",
7 | "title": "Introduction to public-key cryptography",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/public-key-cryptography-and-discrete-logarithms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Public-key Cryptography and Discrete Logarithms",
3 | "order": 17,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b682",
7 | "title": "ElGamal cryptosystem",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/rsa-cryptosystem-and-factoring-integers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "RSA Cryptosystem and Factoring Integers",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b673",
7 | "title": "RSA Cryptosystem and Factoring Integers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/discrete-logarithm-algorithms-in-practice.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Discrete logarithm algorithms in practice",
3 | "order": 22,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b687",
7 | "title": "Discrete logarithm algorithms in practice",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/toJSONString.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 |
3 | /* Command line Utility to convert
4 | * Regular expressions to valid JSON strings.
5 | *
6 | * INSTRUCTIONS:
7 | * 1. Add your code to the str variable
8 | * as a ES6 template string.
9 | * 2. Save the file.
10 | * 3. Run in the command line with:
11 | * node toJSONString.js
12 | */
13 |
14 | const str = `function tmp(str){
15 | console.log('Try');
16 | }`;
17 |
18 | // Print the answer to the stdout
19 | console.log(JSON.stringify(str));
20 |
21 |
--------------------------------------------------------------------------------
/src/actions/index.js:
--------------------------------------------------------------------------------
1 | export const UPDATE_CODE = 'UPDATE_CODE';
2 | export const RUN_TESTS = 'RUN_TESTS';
3 | export const SET_CHALLENGE = 'SET_CHALLENGE';
4 | export const RESET_CURRENT_CHALLENGE_TESTS = 'RESET_CURRENT_CHALLENGE_TESTS';
5 |
6 | export const updateCode = code => ({
7 | type: UPDATE_CODE,
8 | code
9 | });
10 |
11 | export const runTests = () => ({
12 | type: RUN_TESTS
13 | });
14 |
15 | export const setChallenge = (subject, topicIndex, challengeIndex) => ({
16 | type: SET_CHALLENGE,
17 | subject,
18 | topicIndex,
19 | challengeIndex
20 | });
21 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import { createStore } from 'redux';
4 | import { Provider } from 'react-redux';
5 | import reducer from './reducers';
6 | import './index.css';
7 | import App from './containers/App';
8 | import registerServiceWorker from './registerServiceWorker';
9 |
10 | const store = createStore(
11 | reducer,
12 | window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
13 | );
14 |
15 | ReactDOM.render(
16 |
17 |
18 | ,
19 | document.getElementById('root')
20 | );
21 | registerServiceWorker();
22 |
--------------------------------------------------------------------------------
/src/challenges/33-geometry/lines.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Lines",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b500",
7 | "title": "Line Types",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a299",
20 | "title": "Parallel and Skew Lines",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/rotations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Rotations",
3 | "order": 35,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b524",
7 | "title": "Defining Rotation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a433",
20 | "title": "Rotation Rules",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/integers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Integers",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b622",
7 | "title": "Mathematical induction",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a991",
20 | "title": "Division algorithm",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/pyramids.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Pyramids",
3 | "order": 41,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b530",
7 | "title": "Surface Area and Volume of Pyramids",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a455",
20 | "title": "Volume of Pyramids",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/isomorphisms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Isomorphisms",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b629",
7 | "title": "Definition and examples",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b011",
20 | "title": "Direct products",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/components/Preview.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import * as MathJax from 'react-mathjax-updated';
4 |
5 | const Preview = ({ code }) => {
6 | const mathDelims = /(^\$\$\n|\$\$$)/g;
7 | return (
8 |
9 |
Preview:
10 |
11 |
12 | {code
13 | ? code.replace(mathDelims, '')
14 | : ''}
15 |
16 |
17 |
18 | );
19 | };
20 |
21 | Preview.propTypes = {
22 | code: PropTypes.string.isRequired
23 | };
24 |
25 | export default Preview;
26 |
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/homomorphisms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Homomorphisms",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b631",
7 | "title": "Group homomorphisms",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b015",
20 | "title": "The isomorphism theorem",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/games-with-graphs.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Games with graphs",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b620",
7 | "title": "Progressively finite games",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a988",
20 | "title": "Nim-type games",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/finite-fields.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Finite Fields",
3 | "order": 19,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b640",
7 | "title": "Structure of a Finite Field",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b041",
20 | "title": "Polynomial Codes",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/matrix-group-and-symmetry.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Matrix group and symmetry",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b632",
7 | "title": "Matrix groups",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b017",
20 | "title": "Symmetry",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 | Math LaTeX
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/round-decimals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Round Decimals",
3 | "order": 17,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b427",
7 | "title": "Round Decimal Numbers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836407",
20 | "title": "Round Decimals with Place Value",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/permutation-groups.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Permutation groups",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b625",
7 | "title": "Definitions and notation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a999",
20 | "title": "Dihedral groups",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/structure-of-groups.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Structure of groups",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b633",
7 | "title": "Finite Abelian groups",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b019",
20 | "title": "Solvable groups",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/more-number-theory.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "More number theory",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b675",
7 | "title": "Euclidean algorithm",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b208",
20 | "title": "Chinese remainder theorem",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/converting-percentages.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Converting Percentages",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b433",
7 | "title": "Percents as Decimals",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836436",
20 | "title": "Percents as Fractions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/39-linear-algebra/determinants.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Determinants",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b584",
7 | "title": "Determinant of a matrix",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a807",
20 | "title": "Properties of determinants of matrices",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/the-sylow-theorems.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "The Sylow Theorems",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b635",
7 | "title": "The Sylow Theorem",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b024",
20 | "title": "Examples and applications",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/components/ChallengeControl.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 |
4 | const ChallengeControl = ({ runTests }) => {
5 | return (
6 |
7 |
8 |
17 |
18 | );
19 | };
20 |
21 | ChallengeControl.propTypes = {
22 | runTests: PropTypes.func
23 | };
24 |
25 | export default ChallengeControl;
26 |
--------------------------------------------------------------------------------
/src/challenges/40-differential-equations/series-solutions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Series Solutions",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b593",
7 | "title": "constructing a series solutions ",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a860",
20 | "title": "Euler equations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/integral-domains.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Integral domains",
3 | "order": 16,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b638",
7 | "title": "Fields of fractions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b033",
20 | "title": "Factorization in integral domains",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/law-of-large-numbers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Law of large numbers",
3 | "order": 19,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b720",
7 | "title": "Discrete random variables",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b387",
20 | "title": "Continuous random variables",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/polynomial-factoring.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polynomial Factoring",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b463",
7 | "title": "Factoring Polynomials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a022",
20 | "title": "Monomial Factors of Polynomials",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/intro-to-cryptography.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Intro To Cryptography",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b627",
7 | "title": "Private Key Cryptography",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b005",
20 | "title": "Public key cryptography",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/distributions-and-densities.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Distributions and densities",
3 | "order": 16,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b717",
7 | "title": "Important distributions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b380",
20 | "title": "Important densities",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/deterministic-primality-testing.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Deterministic primality testing",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b664",
7 | "title": "Basic idea",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b159",
20 | "title": "Algorithm and its analysis",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/31-algebra/real-number-variables-and-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Real Number Variables and Expressions",
3 | "order": 26,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b436",
7 | "title": "The Real Numbers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836449",
20 | "title": "Order Real Numbers",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/40-differential-equations/introduction-to-differential-equations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to Differential Equations",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b588",
7 | "title": "Definitions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a820",
20 | "title": "Direction Fields",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/sums-of-random-variables.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Sums of random variables",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b719",
7 | "title": "Sums of discrete random variables",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b385",
20 | "title": "Sums of continuous random variables",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/parametric-equations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Parametric Equations",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b572",
7 | "title": "Curves defined by parametric equations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a727",
20 | "title": "Calculus with parametric curves",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/polar-coordinates.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polar Coordinates",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b573",
7 | "title": "Areas and lengths in polar coordinates",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a729",
20 | "title": "Conic sections in polar coordinates",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/message-authentication-codes-mac.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Message authentication codes(MAC)",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b671",
7 | "title": "Nested MACs and HMAC",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b204",
20 | "title": "CBC-MAC and authenticated encryption",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/key-distribution-patterns.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Key distribution patterns",
3 | "order": 28,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b693",
7 | "title": "Fiat-Naor key distribution patterns",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b276",
20 | "title": "Mitchell-Piper key distribution patterns",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/unconditionally-secure-macs.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Unconditionally secure MACs",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b672",
7 | "title": "Strongly universal hash families",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b206",
20 | "title": "Optimality of deception probabilities",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/semantic-security-of-rsa.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Semantic security of RSA",
3 | "order": 16,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b681",
7 | "title": "Partial information concerning plaintext bits",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b223",
20 | "title": "Optimal asymmetric encryption padding",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/continuous-probability-densities.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Continuous probability densities",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b714",
7 | "title": "Simulation of continuous probabilities",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b372",
20 | "title": "Continuous density functions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/discrete-probability-distributions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Discrete Probability Distributions",
3 | "order": 12,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b713",
7 | "title": "Simulation of discrete probabilities",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b370",
20 | "title": "Discrete probability distributions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/normal-subgroups-and-factor-groups.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Normal subgroups and factor groups",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b630",
7 | "title": "Factor groups and normal subgroups",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b013",
20 | "title": "The simplicity of the alternating group",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | }
31 | ]
32 | }
--------------------------------------------------------------------------------
/src/reducers/initState.js:
--------------------------------------------------------------------------------
1 | import initTests from '../helpers/initTests';
2 | import data from '../data.json';
3 |
4 | // Sort Challenges
5 | for (let key in data) {
6 | if (data.hasOwnProperty(key)) {
7 | data[key].sort((a, b) => a.order - b.order);
8 | }
9 | }
10 |
11 | const subject = sessionStorage.getItem('subject');
12 | const topicIndex =
13 | sessionStorage.getItem('topicIndex') || 0;
14 | const challengeIndex =
15 | sessionStorage.getItem('challengeIndex') || 0;
16 |
17 | const subjects = data[subject || Object.keys(data)[0]];
18 | const topic = subjects[topicIndex];
19 | const challenge = topic.challenges[challengeIndex];
20 |
21 | const initState = {
22 | code: '$$\n' + challenge.challengeSeed.join('\n') + '\n$$',
23 | challenge,
24 | tests: challenge.tests.map(initTests),
25 | data
26 | };
27 |
28 | export default initState;
29 |
--------------------------------------------------------------------------------
/src/challenges/33-geometry/symmetry.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Symmetry",
3 | "order": 33,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b522",
7 | "title": "Lines of Symmetry",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a426",
20 | "title": "Reflection Symmetry",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a427",
33 | "title": "Rotation Symmetry",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/combinatorics.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Combinatorics",
3 | "order": 14,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b715",
7 | "title": "Permutations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b374",
20 | "title": "Combinations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b375",
33 | "title": "Card Shuffling",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/cones.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cones",
3 | "order": 43,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b532",
7 | "title": "Surface Area and Volume of Cones",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a461",
20 | "title": "Surface Area of Cones",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a462",
33 | "title": "Volume of Cones",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/triangle-similarity.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Triangle Similarity",
3 | "order": 29,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b519",
7 | "title": "AA Similarity",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a413",
20 | "title": "SSS Similarity",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a414",
33 | "title": "SAS Similarity",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/fields.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Fields",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b639",
7 | "title": "Extension Fields",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b038",
20 | "title": "Splitting Fields",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b039",
33 | "title": "Geometric Constructions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/reflections.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Reflections",
3 | "order": 36,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b525",
7 | "title": "Defining Reflection",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a435",
20 | "title": "Rules for Reflections",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a436",
33 | "title": "Reflecting Figures",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/disproof.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Disproof",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b606",
7 | "title": "Counterexamples",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a929",
20 | "title": "Disproving existence statements",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a930",
33 | "title": "Disproof by contradiction",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/spheres.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Spheres",
3 | "order": 44,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b533",
7 | "title": "Surface Area and Volume of Spheres",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a464",
20 | "title": "Surface Area of Spheres",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a465",
33 | "title": "Volume of Spheres",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/galois-theory.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Galois Theory",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b642",
7 | "title": "Field Automorphisms",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b043",
20 | "title": "The Fundamental Theorem",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b044",
33 | "title": "Applications",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/polynomials.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polynomials",
3 | "order": 15,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b637",
7 | "title": "Polynomial rings",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b030",
20 | "title": "Division algorithm",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b031",
33 | "title": "Irreducible polynomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/random-walks.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Random Walks",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b724",
7 | "title": "Random walks in Euclidean space",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b400",
20 | "title": "Gambler's Ruin",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b401",
33 | "title": "Arc Sine laws",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/groups.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Groups",
3 | "order": 3,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b623",
7 | "title": "Integer equivalence classes and symmetries",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a993",
20 | "title": "Definitions and examples",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a994",
33 | "title": "Subgroups",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/contrapositive-proof.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Contrapositive Proof",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b602",
7 | "title": "Contrapositive proof",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a915",
20 | "title": "Congruence of integers",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a916",
33 | "title": "Mathematical writing",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/group-actions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Group actions",
3 | "order": 12,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b634",
7 | "title": "Groups acting on sets",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b021",
20 | "title": "The class equation",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b022",
33 | "title": "Burnside's Counting Theorem",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/generating-functions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Generating functions",
3 | "order": 21,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b722",
7 | "title": "Discrete distributions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b392",
20 | "title": "Branching Process",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b393",
33 | "title": "Continuous Densities",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/basic-polygons.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Basic Polygons",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b497",
7 | "title": "Classify Polygons",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a277",
20 | "title": "Vertices and Sides",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a278",
33 | "title": "Polygon Classification in the Coordinate Plane",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/probability.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Probability",
3 | "order": 3,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b704",
7 | "title": "Independent or Mutually Exclusive",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b331",
20 | "title": "Addition and Multiplication Rules",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b332",
33 | "title": "Contingency Tables",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/cyclic-groups.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cyclic groups",
3 | "order": 4,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b624",
7 | "title": "Cyclic subgroups",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a996",
20 | "title": "Multiplicative group of complex numbers",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a997",
33 | "title": "Method of repeated squares",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/future-of-pki.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Future of PKI",
3 | "order": 33,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b698",
7 | "title": "Alternatives",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b300",
20 | "title": "Identity-based Cryptography",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b301",
33 | "title": "The Cocks identity-based encryption scheme",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/mathematical-induction.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Mathematical Induction",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b607",
7 | "title": "Proof by strong induction",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a932",
20 | "title": "Proof by smallest counterexample",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a933",
33 | "title": "Fibonacci Numbers",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/cosets-and-lagrange-theorem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cosets and Lagrange's Theorem",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b626",
7 | "title": "Cosets",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b002",
20 | "title": "Lagrange's theorem",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b003",
33 | "title": "Fermat's and Euler's Theorems",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/continuous-random-variables.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Continuous Random Variables",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b706",
7 | "title": "Continuous Probability",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b338",
20 | "title": "Uniform Probability",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b339",
33 | "title": "Exponential Probability",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/central-limit-theorem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Central limit theorem",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b721",
7 | "title": "Bernoulli trials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b389",
20 | "title": "Discrete independent trials",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b390",
33 | "title": "Continuous independent trials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/lattices-and-boolean-algebras.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Lattices and boolean algebras",
3 | "order": 17,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b641",
7 | "title": "Lattices",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b035",
20 | "title": "Boolean algebras",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b036",
33 | "title": "Algebra of electrical circuits",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/other-attacks-on-rsa.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Other attacks on RSA",
3 | "order": 14,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b679",
7 | "title": "Computing φ(n)",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b219",
20 | "title": "The decryption exponent",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b220",
33 | "title": "Wiener's low decryption exponent attack",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/the-normal-distribution.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "The Normal Distribution",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b707",
7 | "title": "Normal Probability Distribution",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b341",
20 | "title": "Standard Normal Probability",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b342",
33 | "title": "Normal Probability",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/conditional-probability.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Conditional Probability",
3 | "order": 15,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b716",
7 | "title": "Discrete conditional probability",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b377",
20 | "title": "Continuous conditional probability",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b378",
33 | "title": "Paradoxes",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/triangle-area-and-perimeter.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Triangle Area and Perimeter",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b504",
7 | "title": "Area and Perimeter of Triangles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a316",
20 | "title": "Triangle Area",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a317",
33 | "title": "Unknown Dimensions of Triangles",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/39-linear-algebra/eigenvalues.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Eigenvalues",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b585",
7 | "title": "Eigenvalues and eigenvectors",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a809",
20 | "title": "Properties of eigenvalues and eigenvectors",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a810",
33 | "title": "Similarity and diagonalization",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/area-of-a-circle.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Area of a Circle",
3 | "order": 24,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b514",
7 | "title": "Circle Area",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a391",
20 | "title": "Areas of Combined Figures Involving Semicircles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a392",
33 | "title": "Radius or Diameter of a Circle Given Area",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/chi-square-distribution.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chi-Square Distribution",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b711",
7 | "title": "Chi-Square Probability",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b361",
20 | "title": "Chi-Square Goodness-of-Fit Test",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b362",
33 | "title": "Chi-Square Test of Independence",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/direct-variations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Direct Variations",
3 | "order": 31,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b476",
7 | "title": "Direct Variation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a065",
20 | "title": "Applications Using Direct Variation",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a066",
33 | "title": "Graphs of Linear Models of Direct Variation",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/proportion-and-scale.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proportion and Scale",
3 | "order": 30,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b475",
7 | "title": "Proportions and Scale",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a062",
20 | "title": "Dimensional Analysis",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a063",
33 | "title": "Applications of Scale and Indirect Measurement",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/composition-of-transformations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Composition of Transformations",
3 | "order": 37,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b526",
7 | "title": "Composite Transformations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a438",
20 | "title": "Notation for Composite Transformations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a439",
33 | "title": "Tessellations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/inclusion-exclusion.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Inclusion-Exclusion",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b618",
7 | "title": "Counting with Venn Diagrams",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a981",
20 | "title": "Inclusion-Exclusion Formula",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a982",
33 | "title": "Restricted positions and rook polynomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/the-central-limit-theorem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "The Central Limit Theorem",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b708",
7 | "title": "Central Limit Theorem ",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b344",
20 | "title": "Central Limit Theorem for Averages",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b345",
33 | "title": "Central Limit Theorem for Sums",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/expected-value-and-variance.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Expected Value and Variance",
3 | "order": 17,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b718",
7 | "title": "Expected value",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b382",
20 | "title": "Variance of discrete random variables",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b383",
33 | "title": "Continuous random variables",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/polygon-angle-measures.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polygon Angle Measures",
3 | "order": 22,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b512",
7 | "title": "Determine Missing Angle Measures",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a383",
20 | "title": "Interior Angles in Convex Polygons",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a384",
33 | "title": "Exterior Angles in Convex Polygons",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/proof-by-contradiction.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proof by Contradiction",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b603",
7 | "title": "Proving statements with contradiction",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a918",
20 | "title": "Proving conditional statements by contradiction",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a919",
33 | "title": "Combining techniques",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/compare-decimals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Compare Decimals",
3 | "order": 16,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b426",
7 | "title": "Compare and Order Decimals",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836403",
20 | "title": "Compare and Compose Decimals and Fractions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836404",
33 | "title": "Compare, Order and Identify Decimal Inequalities",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/security-of-elgamal-systems.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Security of ElGamal systems",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b688",
7 | "title": "Bit security of discrete logarithms",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b237",
20 | "title": "Semantic security of ElGamal systems",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b238",
33 | "title": "Diffie-Hellman problems",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/lines-in-the-coordinate-plane.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Lines in the Coordinate Plane",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b502",
7 | "title": "Parallel Lines in the Coordinate Plane",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a308",
20 | "title": "Perpendicular Lines in the Coordinate Plane",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a309",
33 | "title": "Line Construction",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/basic-properties-of-integers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Basic properties of integers",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b643",
7 | "title": "Divisibility and primality",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b046",
20 | "title": "Ideals and greatest common divisors",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b047",
33 | "title": "Consequences of unique factorization",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/introduction-to-polynomials.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to Polynomials",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b461",
7 | "title": "Monomials, Binomials, and Trinomials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a015",
20 | "title": "Polynomials in Standard Form",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a016",
33 | "title": "Addition and Subtraction of Polynomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/cross-sections-and-basic-solids-of-revolution.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cross Sections and Basic Solids of Revolution",
3 | "order": 39,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b528",
7 | "title": "Composite Solids",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a446",
20 | "title": "Area and Volume of Similar Solids",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a447",
33 | "title": "Surface Area and Volume Applications",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/subexponential-time-discrete-logarithms-and-factoring.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Subexponential-time discrete logarithms and factoring",
3 | "order": 16,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b658",
7 | "title": "Smooth numbers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b125",
20 | "title": "Algorithm for discrete logarithms",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b126",
33 | "title": "Algorithm for factoring integers",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/34-trigonometry/sum-to-product-and-triple-angle-formulas.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Sum to Product and Triple Angle Formulas",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b547",
7 | "title": "Sum to Product Formulas for Sine and Cosine",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a560",
20 | "title": "Product to Sum Formulas for Sine and Cosine",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a561",
33 | "title": "Triple-Angle Formulas and Linear Combinations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/finding-generators-and-discrete-logarithms-in-zpstar.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Finding generators and discrete logarithms in Zp Star",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b654",
7 | "title": "Finding a generator for Zp Star",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b106",
20 | "title": "Computing discrete logarithms in Zp Star",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b107",
33 | "title": "The Diffie-Hellman key establishment protocol",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/adding-and-subtracting-rational-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Add and Subtract Rational Expressions",
3 | "order": 27,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b472",
7 | "title": "Addition and Subtraction of Rational Expressions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a051",
20 | "title": "Adding and Subtracting Rational Expressions where One Denominator is the LCD",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a052",
33 | "title": "Applications of Adding and Subtracting Rational Expressions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Data",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b702",
7 | "title": "Qualitative",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b323",
20 | "title": "Quantitative",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b324",
33 | "title": "Sampling",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b325",
46 | "title": "Frequency Tables",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/shapes.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Shapes",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b491",
7 | "title": "2D Shapes",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a258",
20 | "title": "Identify Shapes",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a259",
33 | "title": "Identify Less Common Shapes",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a260",
46 | "title": "Composite Shapes",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/elements-of-graph-theory.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Elements of Graph Theory",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b611",
7 | "title": "Graph Models",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a950",
20 | "title": "Isomorphism",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a951",
33 | "title": "Edge Counting",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a952",
46 | "title": "Planar graphcs",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/rings.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Rings",
3 | "order": 14,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b636",
7 | "title": "Rings",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b026",
20 | "title": "Integral domains and fields",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b027",
33 | "title": "Ring homomorphisms and ideals",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b028",
46 | "title": "Maximal and prime ideals",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/trust-models.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Trust models",
3 | "order": 32,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b697",
7 | "title": "Strict hierarchy model",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b296",
20 | "title": "Networked PKIs",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b297",
33 | "title": "Web Browser model",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b298",
46 | "title": "Pretty good privacy",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/percentages.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Percentages",
3 | "order": 28,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b473",
7 | "title": "Percentage Problems",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a054",
20 | "title": "Simple Interest",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a055",
33 | "title": "The Percent Equation",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a056",
46 | "title": "Proportions and Percents",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/dilation.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Dilation",
3 | "order": 31,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b521",
7 | "title": "Dilation of a Shape",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a421",
20 | "title": "Dilation in the Coordinate Plane",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a422",
33 | "title": "Mapping Dilations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a423",
46 | "title": "Self-Similarity and Fractals",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/proofs-involving-sets.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proofs Involving Sets",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b605",
7 | "title": "How to prove a∈A",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a925",
20 | "title": "How to prove A⊆B",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a926",
33 | "title": "How to prove A=B",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a927",
46 | "title": "Examples: Perfect Numbers",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/discrete-distributions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Discrete Distributions",
3 | "order": 4,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b705",
7 | "title": "Discrete Probability",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b334",
20 | "title": "Expected Value",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b335",
33 | "title": "Binomial Probability",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b336",
46 | "title": "Poisson Probability",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/graphing-slope.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Graphing Slope",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b453",
7 | "title": "Slope",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836556",
20 | "title": "Rates of Change",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836557",
33 | "title": "Slope of a Line Using Two Points",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836558",
46 | "title": "Graph Using Slope-Intercept Form",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/39-linear-algebra/representations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Representations",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b587",
7 | "title": "Vector representations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a816",
20 | "title": "Matrix representations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a817",
33 | "title": "Change of basis",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a818",
46 | "title": "Orthonormal Diagonalization",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/translations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Translations",
3 | "order": 34,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b523",
7 | "title": "Geometric Translation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a429",
20 | "title": "Sliding Figures",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a430",
33 | "title": "Translation Notation",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a431",
46 | "title": "Translation Applications in Circle Similarity",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/line-segments.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Line Segments",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b492",
7 | "title": "Definition of Line Segment",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a262",
20 | "title": "Midpoints and Segment Bisectors",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a263",
33 | "title": "Midpoint Formula",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a264",
46 | "title": "Points that Partition Line Segments",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/polya-enumeration-formula.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polya's Enumeration Formula",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b619",
7 | "title": "Equivalence and symmetry groups",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a984",
20 | "title": "Burnside's theorems",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a985",
33 | "title": "Cycle index",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a986",
46 | "title": "Polya's formula",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/copyright-protection.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Copyright protection",
3 | "order": 36,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b701",
7 | "title": "Fingerprinting",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b319",
20 | "title": "Identifiable parent property",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b320",
33 | "title": "2-IPP Codes",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b321",
46 | "title": "Tracing illegally redistributed keys",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/covering-circuits-and-graph-coloring.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Covering circuits and graph coloring",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b612",
7 | "title": "Euler cycles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a954",
20 | "title": "Hamilton circuits",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a955",
33 | "title": "Graph coloring",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a956",
46 | "title": "Coloring theorems",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/primality-testing.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Primality testing",
3 | "order": 12,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b677",
7 | "title": "Legendre and Jacobi symbols",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b211",
20 | "title": "Solovay-Strassen algorithm",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b212",
33 | "title": "Miller-Rabin algorithm",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b213",
46 | "title": "Square roots modulo n",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/46-statistics/descriptive-statistics.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Descriptive Statistics",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b703",
7 | "title": "Data Graphs",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b327",
20 | "title": "Quartiles and Percentiles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b328",
33 | "title": "Mean, Median, and Mode",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b329",
46 | "title": "Variance and Standard Deviation",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/special-triangles.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Special Triangles",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b508",
7 | "title": "Special Right Triangles and Ratios",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a354",
20 | "title": "45-45-90 Right Triangles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a355",
33 | "title": "30-60-90 Right Triangles",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a356",
46 | "title": "Quadrilaterals and Polygons",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/cylinders.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cylinders",
3 | "order": 42,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b531",
7 | "title": "Surface Area and Volume of Cylinders",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a457",
20 | "title": "Surface Area of Cylinders",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a458",
33 | "title": "Volume of Cylinders",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a459",
46 | "title": "Heights of Cylinders Given Surface Area or Volume",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/tangent-lines-and-theorems.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Tangent Lines and Theorems",
3 | "order": 27,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b517",
7 | "title": "Tangent Lines",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a403",
20 | "title": "Intersecting Secants Theorem",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a404",
33 | "title": "Tangent Secant Theorem",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a405",
46 | "title": "Circles in the Coordinate Plane",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/finite-fields.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Finite fields",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b662",
7 | "title": "Preliminaries",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b149",
20 | "title": "Existence of finite fields",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b150",
33 | "title": "Subfield structure and uniqueness of finite fields",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b151",
46 | "title": "Conjugates, norms and traces",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/circles-and-angles.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Circles and Angles",
3 | "order": 26,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b516",
7 | "title": "Inscribed Angles in Circles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a399",
20 | "title": "Inscribed Quadrilaterals in Circles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a400",
33 | "title": "Angles On and Inside a Circle",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a401",
46 | "title": "Angles Outside a Circle",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/applications-of-integration.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Applications of Integration",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b568",
7 | "title": "Areas between curves",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a707",
20 | "title": "Volumes",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a708",
33 | "title": "Volumes by cylindrical shells",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a709",
46 | "title": "Average value of a function",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/cardinality-of-sets.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cardinality of sets",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b610",
7 | "title": "Sets with equal cardinalities",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a946",
20 | "title": "Countable and uncountable sets",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a947",
33 | "title": "Comparing cardinalities",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a948",
46 | "title": "The Cantor-Bernstein-Schroeder Theorem",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/trees-and-searching.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Trees and searching",
3 | "order": 3,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b613",
7 | "title": "Properties of trees",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a958",
20 | "title": "Search trees and spanning trees",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a959",
33 | "title": "Traveling salesperson problem",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a960",
46 | "title": "Tree analysis of sorting algorithms",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/43-abstract-algebra/algebraic-coding-theory.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Algebraic Coding theory",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b628",
7 | "title": "Error-detecting and correcting codes",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b007",
20 | "title": "Linear codes",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b008",
33 | "title": "Parity-check and generator matrices",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b009",
46 | "title": "Efficient decoding",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/factoring-algorithms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Factoring algorithms",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b678",
7 | "title": "Pollard p minus 1 algorithm",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b215",
20 | "title": "Pollard Rho algorithm",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b216",
33 | "title": "Dixon's Random squares algorithm",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b217",
46 | "title": "Factoring algorithms in practice",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/powers-of-ten.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Powers of Ten and Scientific Notation",
3 | "order": 20,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b430",
7 | "title": "Multiply Decimals by Powers of Ten",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836417",
20 | "title": "Multiplication and Powers of Ten",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836418",
33 | "title": "Division and Powers of Ten",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836419",
46 | "title": "Scientific Notation",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/proportions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proportions",
3 | "order": 29,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b474",
7 | "title": "Proportions using LCD",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a058",
20 | "title": "Proportions using Cross-Multiplication",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a059",
33 | "title": "Rational Equations and Proportions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a060",
46 | "title": "Applications of Ratios and Proportions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/generating-functions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Generating Functions",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b616",
7 | "title": "Generating function models",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a972",
20 | "title": "Calculating coefficients of generating functions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a973",
33 | "title": "Partitions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a974",
46 | "title": "Exponential generating functions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/38-multivariable-calculus/vector-functions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Vector Functions",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b576",
7 | "title": "Vectors functions and space curves",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a748",
20 | "title": "Derivatives and integrals of vector functions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a749",
33 | "title": "Arc length and curvature",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a750",
46 | "title": "Velocity and acceleration",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/39-linear-algebra/linear-transformations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Linear Transformations",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b586",
7 | "title": "Linear transformations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a812",
20 | "title": "Injective linear transformations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a813",
33 | "title": "Surjective linear transformations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a814",
46 | "title": "Invertible linear transformations",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/36-precalculus/trigonometric-functions-of-real-numbers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Trigonometric Functions of Real Numbers",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b556",
7 | "title": "Unit Circle",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a632",
20 | "title": "Trigonometric Functions of Real Numbers",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a633",
33 | "title": "Trigonometric Graphs",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a634",
46 | "title": "Modeling Harmonic Motion",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/session-key-distribution-schemes.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Session key distribution schemes",
3 | "order": 29,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b694",
7 | "title": "The Needham-Schroeder(NS) Scheme",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b278",
20 | "title": "The Denning-Sacco Attack on the NS scheme",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b279",
33 | "title": "Kerberos",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b280",
46 | "title": "The Bellare-Rogaway scheme",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/multiplying-and-dividing-decimals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Multiply and Divide Decimals",
3 | "order": 19,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b429",
7 | "title": "Decimal Multiplication",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836413",
20 | "title": "Decimal Division",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836414",
33 | "title": "Multiply Decimals and Whole Numbers",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836415",
46 | "title": "Estimate Products and Quotients of Decimals",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/polynomial-special-products.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polynomial Special Products",
3 | "order": 21,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b465",
7 | "title": "Special Products of Polynomials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a024",
20 | "title": "Factor Difference of Squares",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a025",
33 | "title": "Factor Perfect Square Trinomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a026",
46 | "title": "Sum and Difference of Cubes",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/key-distribution.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Key distribution",
3 | "order": 27,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b692",
7 | "title": "Introduction to Key distribution",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b272",
20 | "title": "Diffie-Hellman Key Predistribution",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b273",
33 | "title": "Unconditionally secure key predistribution",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b274",
46 | "title": "The Blom Key Predistribution scheme",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/public-key-infrastructure.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Public-key infrastructure",
3 | "order": 31,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b696",
7 | "title": "Introduction to Public-key infrastructure",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b292",
20 | "title": "A practical protocol: Secure socket layer",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b293",
33 | "title": "Certificates",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b294",
46 | "title": "Certificate life-cycle management",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/linear-systems.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Linear Systems",
3 | "order": 15,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b458",
7 | "title": "Consistent and Inconsistent Linear Systems",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a587af21a188128bc4071a",
20 | "title": "Checking a Solution for a Linear System",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a587af21a188128bc4071c",
33 | "title": "Graphs of Linear Systems",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a587af21a188128bc4071d",
46 | "title": "Systems of Linear Equations in Two Variables",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/probabilistic-primary-testing.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Probabilistic primary testing",
3 | "order": 10,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b653",
7 | "title": "Trial division",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b102",
20 | "title": "Miller-Rabin test",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b103",
33 | "title": "Generating random primes using Miller-Rabin test",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b104",
46 | "title": "Factoring and computing Euler's phi function",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/linear-equations-in-the-real-world.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Linear Equations in the Real World",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b447",
7 | "title": "Applications of Linear Equations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836510",
20 | "title": "Problem-Solving Models",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836511",
33 | "title": "Guess and Check, Work Backward",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836512",
46 | "title": "Applications Using Linear Models",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/parallel-and-perpendicular-lines.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Parallel and Perpendicular Lines",
3 | "order": 13,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b456",
7 | "title": "Equations of Parallel and Perpendicular Lines",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836564",
20 | "title": "Equations of Parallel Lines",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836565",
33 | "title": "Equations of Perpendicular Lines",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836566",
46 | "title": "Families of Lines",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/polynomial-multiplication.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polynomial Multiplication",
3 | "order": 19,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b462",
7 | "title": "Multiply Polynomials by Monomials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a018",
20 | "title": "Multiply Binomials by Binomials",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a019",
33 | "title": "Multiply Polynomials by Binomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a020",
46 | "title": "Multiply Polynomials by Polynomials",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/further-applications-of-integration.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Further applications of Integration",
3 | "order": 8,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b570",
7 | "title": "Arc length",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a718",
20 | "title": "Area of a surface of revolution",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a719",
33 | "title": "Applications to physics,engineering, economics, or biology",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a720",
46 | "title": "Probability",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/proving-non-conditional-statements.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proving non-conditional statements",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b604",
7 | "title": "If-and-only-If proof",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a921",
20 | "title": "Equivalent statements",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a922",
33 | "title": "Existence Proofs; Existence and Uniqueness Proofs",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a923",
46 | "title": "Constructive versus non-constructive proofs",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/algorithms-for-the-discrete-logarithm-problem.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Algorithms for the discrete logarithm problem",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b683",
7 | "title": "Shank's algorithm",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b226",
20 | "title": "Pollard Rho discrete logarithm algorithm",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b227",
33 | "title": "Pohlig-Hellman algorithm",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b228",
46 | "title": "Index Calculus method",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Math LaTeX Challenges
2 |
3 | A prototype for freeCodeCamp's LaTeX-based Math for Programmers Curriculum.
4 |
5 | ### Demo
6 |
7 | You can [try it live here](https://freecodecamp.github.io/math-for-programmers-prototype/).
8 |
9 | ### Installation
10 |
11 | - Make sure that you have a recent version of Node and npm.
12 | - Clone this repository.
13 | - Open a terminal at the project's root folder and run `npm i`.
14 | - Install Sass:
15 | - [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) for your OS.
16 | - Run `gem install sass`.
17 | - Verify Sass installation with `sass -v`.
18 | - Run `npm run start`.
19 |
20 | ### Linux Setup
21 |
22 | - Clone this repository
23 | - Install appropriate versions of node.js and npm:
24 | - Install [node.js](https://nodejs.org/en/download/package-manager/) for your Linux OS.
25 | - Follow the four steps in Option-2 at the [link](https://docs.npmjs.com/getting-started/fixing-npm-permissions)
26 | - Open a terminal and run `npm install npm@latest -g`
27 | - At the project's root folder, run `npm i`
28 | - Install Sass:
29 | - [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) for your Linux OS.
30 | - Run `sudo gem install sass`
31 | - Verify Sass installation with `sass -v`.
32 | - Run `npm run start`
33 |
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/exponents-and-irrational-numbers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Exponents and Irrational Numbers",
3 | "order": 33,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b479",
7 | "title": "Negative and Zero Exponents",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a079",
20 | "title": "Fractional Exponents",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a080",
33 | "title": "Zero, Negative, and Fractional Exponents",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a081",
46 | "title": "Operations with Roots and Irrational Numbers",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/the-forms-of-a-linear-equation.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "The Forms of a Linear Equation",
3 | "order": 12,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b455",
7 | "title": "Standard Form of Linear Equations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836560",
20 | "title": "Slope-Intercept Form of Linear Equations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836561",
33 | "title": "Point-Slope Form of Linear Equations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836562",
46 | "title": "Forms of Linear Equations",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/graphing-polynomials.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Graphing Polynomials",
3 | "order": 24,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b469",
7 | "title": "Identify Parts of Polynomial Graphs",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a039",
20 | "title": "Graphs of Polynomials Using Transformations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a040",
33 | "title": "Graphs of Polynomials Using Zeros",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a041",
46 | "title": "Graphing Calculator to Analyze Polynomial Functions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/introduction-to-rational-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to Rational Expressions",
3 | "order": 25,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b470",
7 | "title": "Working with Rational Expressions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a043",
20 | "title": "Simplifying Rational Expressions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a044",
33 | "title": "Excluded Values for Rational Expressions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a045",
46 | "title": "Restricted Domain and Range",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/38-multivariable-calculus/second-order-differential-equations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Second-Order Differential Equations",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b580",
7 | "title": "Second-Order Linear Equations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a779",
20 | "title": "Nonhomogenous linear equations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a780",
33 | "title": "Applications of second-order differential eqatuions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a781",
46 | "title": "Series Solutions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/linear-exponential-and-quadratic-models.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Linear, Exponential and Quadratic Models",
3 | "order": 42,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b488",
7 | "title": "Identifying Linear, Exponential, and Quadratic Models",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a239",
20 | "title": "Linear, Quadratic, and Cubic Models",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a240",
33 | "title": "Cubic Models",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a241",
46 | "title": "Applications of Function Models",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/adding-and-subtracting-decimals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Add and Subtract Decimals",
3 | "order": 18,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b428",
7 | "title": "Add and Subtract Decimal Numbers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836409",
20 | "title": "Mental Math to Add and Subtract Decimals",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836410",
33 | "title": "Add and Subtract Decimals with Front-End Estimation",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836411",
46 | "title": "Round Decimals to Estimate Sums and Differences",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/multiplying-and-dividing-rational-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Multiplying and Dividing Rational Expressions",
3 | "order": 26,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b471",
7 | "title": "Products and Quotients of Rational Expressions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a047",
20 | "title": "Multiplication of Rational Expressions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a048",
33 | "title": "Division of Rational Expressions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a049",
46 | "title": "Complex Fractions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fcc-math-latex",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "chai": "^4.1.1",
7 | "prop-types": "^15.5.10",
8 | "react": "^15.6.1",
9 | "react-codemirror2": "^0.0.13",
10 | "react-dom": "^15.6.1",
11 | "react-mathjax-updated": "^0.1.3",
12 | "react-redux": "^5.0.6",
13 | "react-scripts": "1.0.11",
14 | "react-treebeard": "^2.0.3",
15 | "redux": "^3.7.2"
16 | },
17 | "devDependencies": {
18 | "concurrently": "^3.5.0",
19 | "eslint-plugin-prefer-object-spread": "^1.2.1",
20 | "prettier": "^1.6.1"
21 | },
22 | "scripts": {
23 | "start": "npm run merge-challenges && concurrently \"react-scripts start\" \"npm run scss-watch\"",
24 | "build": "react-scripts build && rm -rf docs && mv build docs",
25 | "test": "react-scripts test --env=jsdom",
26 | "eject": "react-scripts eject",
27 | "scss-watch": "cd src/ && scss --watch index.scss:index.css",
28 | "merge-challenges": "node mergeChallenges.js"
29 | },
30 | "author": "David Acosta",
31 | "license": "BSD 3-Clause",
32 | "repository": {
33 | "type": "git",
34 | "url": "git+https://github.com/juandaco/fcc-math-latex.git"
35 | },
36 | "bugs": {
37 | "url": "https://github.com/juandaco/fcc-math-latex/issues"
38 | },
39 | "homepage": "."
40 | }
41 |
--------------------------------------------------------------------------------
/src/challenges/31-algebra/simplifying-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Simplifying Expressions",
3 | "order": 31,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b441",
7 | "title": "Simplify Variable Expressions Involving Addition and Subtraction",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836477",
20 | "title": "Simplify Variable Expressions Involving Multiplication and Division",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836478",
33 | "title": "Simplify Variable Expressions Involving Multiple Operations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836479",
46 | "title": "Simplify Algebraic Expressions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/properties-of-exponents-in-variable-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Properties of Exponents in Variable Expressions",
3 | "order": 39,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b485",
7 | "title": "Exponential Properties Involving Products",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a219",
20 | "title": "Exponential Properties Involving Quotients",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a220",
33 | "title": "Exponential Terms Raised to an Exponent",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a221",
46 | "title": "Exponential Properties in Variable Expressions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | }
57 | ]
58 | }
--------------------------------------------------------------------------------
/mergeChallenges.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable import/unambiguous */
2 |
3 | /*
4 | * CLI Node utility to generate a
5 | * merge of all challenge data.
6 | * */
7 |
8 | const fs = require('fs');
9 | const path = require('path');
10 | const { promisify } = require('util');
11 | const { format } = require('prettier');
12 |
13 | const readDirAsync = promisify(fs.readdir);
14 | const readFileAsync = promisify(fs.readFile);
15 | const challengesPath = path.resolve('./src/challenges');
16 |
17 | let topics = [];
18 |
19 | readDirAsync(challengesPath)
20 | .then(subjects =>
21 | Promise.all(
22 | subjects.map(dir => {
23 | topics.push(dir);
24 | return readDirAsync(path.join(challengesPath, dir));
25 | })
26 | )
27 | )
28 | .then(fileNames =>
29 | Promise.all(
30 | topics.map((topic, i) =>
31 | Promise.all(
32 | fileNames[i].map(y =>
33 | readFileAsync(path.join(challengesPath, topic, y), 'utf8')
34 | )
35 | )
36 | )
37 | )
38 | )
39 | .then(challenges => {
40 | const dataObj = {};
41 | topics.forEach((topic, i) => {
42 | dataObj[topic] = challenges[i].map(c => JSON.parse(c));
43 | });
44 | const dataPath = path.resolve(challengesPath, '../', 'data.json');
45 | fs.writeFileSync(
46 | dataPath,
47 | format(JSON.stringify(dataObj), { parser: 'json' })
48 | );
49 | })
50 | .catch(err => console.log(err));
51 |
--------------------------------------------------------------------------------
/src/challenges/41-proofs/direct-proof.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Direct Proof",
3 | "order": 4,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b601",
7 | "title": "Theorems",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a910",
20 | "title": "Definitions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a911",
33 | "title": "Direct Proof",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a912",
46 | "title": "Using Cases",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a913",
59 | "title": "Treating similar cases",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/components/Tests.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 |
4 | const testStatus2Icon = status => {
5 | switch (status) {
6 | case 'failed':
7 | return 'times';
8 | case 'passed':
9 | return 'check';
10 | default:
11 | return 'cog';
12 | }
13 | };
14 |
15 | const testStatus2Color = status => {
16 | switch (status) {
17 | case 'failed':
18 | return 'red';
19 | case 'passed':
20 | return 'green';
21 | default:
22 | // Dark Grey
23 | return '#939393';
24 | }
25 | };
26 |
27 | const Tests = ({ tests }) => {
28 | const testsMsgs = tests.map((x, i) => {
29 | return (
30 |
40 | );
41 | });
42 |
43 | return (
44 |
45 | {tests.every(t => t.status === 'passed') ? (
46 |
47 |
48 | All Tests Passed
49 |
50 | ) : null}
51 | {testsMsgs}
52 |
53 | );
54 | };
55 |
56 | Tests.propTypes = {
57 | tests: PropTypes.array
58 | };
59 |
60 | export default Tests;
61 |
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/ratios.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ratios",
3 | "order": 14,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b424",
7 | "title": "Definition of a Ratio",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836393",
20 | "title": "Equivalent Ratios",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836394",
33 | "title": "Ratios in Simplest Form",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836395",
46 | "title": "Compare Ratios in Decimal Form",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac59836396",
59 | "title": "Unit Rates",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/31-algebra/integers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Integers",
3 | "order": 27,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b437",
7 | "title": "Absolute Value of Integers",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836451",
20 | "title": "Integer Addition",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836452",
33 | "title": "Integer Subtraction",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836453",
46 | "title": "Integer Multiplication",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac59836454",
59 | "title": "Integer Division",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/counting.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Counting",
3 | "order": 3,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b600",
7 | "title": "Counting lists",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a905",
20 | "title": "Factorials",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a906",
33 | "title": "Counting subsets",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a907",
46 | "title": "Pascal's triangle and the binomial theorem",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a908",
59 | "title": "Inclusion-exclusion",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/arcs-and-chords.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Arcs and Chords",
3 | "order": 25,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b515",
7 | "title": "Arcs in Circles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a394",
20 | "title": "Area of Sectors and Segments",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a395",
33 | "title": "Arc Length",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a396",
46 | "title": "Chords and Central Angle Arcs",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a397",
59 | "title": "Segments from Chords",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/network-algorithms.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Network algorithms",
3 | "order": 4,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b614",
7 | "title": "Shortest paths",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a962",
20 | "title": "Minimum spanning trees",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a963",
33 | "title": "Network flows",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a964",
46 | "title": "Algorithmic matching",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a965",
59 | "title": "The Transportation problem",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/47-probability/markov-chains.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Markov chains",
3 | "order": 22,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b723",
7 | "title": "Introduction",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b395",
20 | "title": "Absorbing Markov Chains",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b396",
33 | "title": "Ergodic Markov Chains",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b397",
46 | "title": "Fundamental Limit theorem",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b398",
59 | "title": "Mean First Passage Time",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/41-proofs/relations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Relations",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b608",
7 | "title": "Properties of relations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a935",
20 | "title": "Equivalence of relations",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a936",
33 | "title": "Equivalence classes and partitions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a937",
46 | "title": "The integers modulo n",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a938",
59 | "title": "Relations between sets",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/introduction-to-solid-figures.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Introduction to Solid Figures",
3 | "order": 38,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b527",
7 | "title": "Polyhedrons",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a441",
20 | "title": "Faces Edges and Vertices of Solids",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a442",
33 | "title": "Cross-Sections and Nets",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a443",
46 | "title": "Surface Area",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a444",
59 | "title": "Volume",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/logic-statements.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Logic Statements",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b498",
7 | "title": "Truth Tables",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a287",
20 | "title": "And and Or Statements",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a288",
33 | "title": "Negative Statements",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a289",
46 | "title": "If Then Statements",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a290",
59 | "title": "Converse, Inverse, and Contrapositive Statements",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/36-precalculus/sequences-and-series.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Sequences and series",
3 | "order": 11,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b562",
7 | "title": "Sequences and summation notation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a668",
20 | "title": "Arithmetic sequences",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a669",
33 | "title": "Geometric sequences",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a670",
46 | "title": "Mathematical induction",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a671",
59 | "title": "Binomial theorem",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/matrices.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Matrices",
3 | "order": 14,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b657",
7 | "title": "Basic definitions and properties",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b120",
20 | "title": "Matrices and linear maps",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b121",
33 | "title": "Inverse of a matrix",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b122",
46 | "title": "Gaussian elimination",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b123",
59 | "title": "Applications of Gaussian elimination",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/rings.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Rings",
3 | "order": 7,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b649",
7 | "title": "Definitions, basic properties, examples",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b080",
20 | "title": "Polynomial rings",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b081",
33 | "title": "Ideals and quotient rings",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b082",
46 | "title": "Ring homomorphisms and isomorphisms",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b083",
59 | "title": "The structure of Zn*",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/angle-pairs.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Angle Pairs",
3 | "order": 4,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b495",
7 | "title": "Angle Properties and Theorems",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a272",
20 | "title": "Complementary Angles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a273",
33 | "title": "Supplementary Angles",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a274",
46 | "title": "Missing Measures of Complementary and Supplementary Angles",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a275",
59 | "title": "Vertical Angles",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/integrals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Integrals",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b567",
7 | "title": "Areas and distances",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a702",
20 | "title": "Definite integrals",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a703",
33 | "title": "Fundamental theorem of calculus",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a704",
46 | "title": "Indefinite integrals and the Net change theorem",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a705",
59 | "title": "Substitution rule",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/basic-decimals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Basic Decimals",
3 | "order": 15,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b425",
7 | "title": "Place Value Charts and Decimals to Thousandths",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836398",
20 | "title": "Equivalent Decimals Ending in Zero",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836399",
33 | "title": "Decimals in Words",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836400",
46 | "title": "Decimal Place Value",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac59836401",
59 | "title": "Decimals in Expanded Form",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/36-precalculus/trigonometric-functions-of-angles.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Trigonometric Functions of Angles",
3 | "order": 6,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b557",
7 | "title": "Angle measure",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a636",
20 | "title": "Trigonometry of right triangles",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a637",
33 | "title": "Trigonometric functions of angles",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a638",
46 | "title": "Law of sines",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a639",
59 | "title": "Law of cosines",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/classifying-triangles.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Classifying Triangles",
3 | "order": 12,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b503",
7 | "title": "Classify Triangles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a311",
20 | "title": "Classify Triangles by Angle Measurement",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a312",
33 | "title": "Classify Triangles by Side Measurement",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a313",
46 | "title": "Isosceles Triangles",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a314",
59 | "title": "Equilateral Triangles",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/42-combinatorics/general-enumeration.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "General Enumeration",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b615",
7 | "title": "Basic counting principles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a967",
20 | "title": "Simple arrangements and selections",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a968",
33 | "title": "Arrangements and selections with repetitions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a969",
46 | "title": "Distributions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a970",
59 | "title": "Binomial identities",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/distribution-of-primes.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Distribution of primes",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b647",
7 | "title": "Chebyshev's Theorem on the density of primes",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b069",
20 | "title": "Bertrand's postulate",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b070",
33 | "title": "Merten's theorem",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b071",
46 | "title": "The sieve of Eratosthenes",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b072",
59 | "title": "The prime number theorem",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/44-number-theory/computing-with-large-integers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Computing with large integers",
3 | "order": 3,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b645",
7 | "title": "Asymptotic notation",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b057",
20 | "title": "Machine models and complexity theory",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b058",
33 | "title": "Basic integer arithmetic",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b059",
46 | "title": "Computing in Zn ",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b060",
59 | "title": "Faster integer arithmetic",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/33-geometry/geometry-of-circles.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Geometry of Circles",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b513",
7 | "title": "Semicircles and Quarter Circles",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a386",
20 | "title": "Identify Circle Components",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a387",
33 | "title": "Use Diameter, Radius and Pi",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a388",
46 | "title": "Circumference",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a389",
59 | "title": "Diameter or Radius of a Circle Given Circumference",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/polynomial-division.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Polynomial Division",
3 | "order": 23,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b468",
7 | "title": "Dividing Polynomials",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a034",
20 | "title": "Long Division of Polynomials",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a035",
33 | "title": "Synthetic Division of Polynomials",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a036",
46 | "title": "Finding Zeros of Polynomials",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a037",
59 | "title": "Zeroes and Intercepts of Polynomials",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/functions-and-models.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Functions and Models",
3 | "order": 1,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b563",
7 | "title": "Ways to represent a functions",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a673",
20 | "title": "Essential functions",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a674",
33 | "title": "New functions from old functions",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a675",
46 | "title": "Exponential functions",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a676",
59 | "title": "Inverse functions and logarithms",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/cryptanalysis.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cryptanalysis",
3 | "order": 2,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b666",
7 | "title": "Cryptanalysis of affine cipher",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b168",
20 | "title": "Cryptanalysis of substitution cipher",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b169",
33 | "title": "Cryptanalysis of Vigenere cipher",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b170",
46 | "title": "Cryptanalysis of Hill cipher",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b171",
59 | "title": "Cryptanalysis of LFSR stream cipher",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/30-arithmetic/long-division.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Long Division",
3 | "order": 5,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b415",
7 | "title": "Long Division Without Remainders",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac59836324",
20 | "title": "Divide up to Four Digits by Two Digits with Remainders",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac59836325",
33 | "title": "Groups and Remainders Word Problems",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac59836326",
46 | "title": "Long Division Word Problems",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac59836327",
59 | "title": "Divide Whole Numbers",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/37-single-variable-calculus/differential-equations.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Differential Equations",
3 | "order": 9,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b571",
7 | "title": "Modeling with differential equations",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a722",
20 | "title": "Direction fields and Euler's method",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a723",
33 | "title": "Separable equations",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a724",
46 | "title": "Models for population growth",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a725",
59 | "title": "Linear equations",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/45-cryptography/elliptic-curves.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Elliptic curves",
3 | "order": 21,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b686",
7 | "title": "Elliptic curves over the reals",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983b232",
20 | "title": "Elliptic curves modulo a prime",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983b233",
33 | "title": "Properties of elliptic curves",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983b234",
46 | "title": "Point compression and ECIES",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983b235",
59 | "title": "Computing point multiples on elliptic curves",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/src/challenges/32-linear-equations/radical-expressions.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Radical Expressions",
3 | "order": 35,
4 | "challenges": [
5 | {
6 | "id": "59a5801209a6acac5983b481",
7 | "title": "Simplify Expressions with Radicals",
8 | "description": [
9 | ""
10 | ],
11 | "challengeSeed": [
12 | ""
13 | ],
14 | "tests": [
15 | ""
16 | ]
17 | },
18 | {
19 | "id": "59a5801209a6acac5983a090",
20 | "title": "Multiplication and Division of Radicals",
21 | "description": [
22 | ""
23 | ],
24 | "challengeSeed": [
25 | ""
26 | ],
27 | "tests": [
28 | ""
29 | ]
30 | },
31 | {
32 | "id": "59a5801209a6acac5983a091",
33 | "title": "Raising a Product or Quotient to a Power",
34 | "description": [
35 | ""
36 | ],
37 | "challengeSeed": [
38 | ""
39 | ],
40 | "tests": [
41 | ""
42 | ]
43 | },
44 | {
45 | "id": "59a5801209a6acac5983a092",
46 | "title": "Addition and Subtraction of Radicals",
47 | "description": [
48 | ""
49 | ],
50 | "challengeSeed": [
51 | ""
52 | ],
53 | "tests": [
54 | ""
55 | ]
56 | },
57 | {
58 | "id": "59a5801209a6acac5983a093",
59 | "title": "nth Roots",
60 | "description": [
61 | ""
62 | ],
63 | "challengeSeed": [
64 | ""
65 | ],
66 | "tests": [
67 | ""
68 | ]
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------