From b950070f80742e038164dd0a7fc6a38cdfd94ce9 Mon Sep 17 00:00:00 2001 From: Tom <20648924+moT01@users.noreply.github.com> Date: Fri, 10 Mar 2023 04:55:50 -0600 Subject: [PATCH] feat(curriculum): add college algebra cert as upcoming change (#43605) Co-authored-by: Shaun Hamilton --- api-server/src/common/models/user.json | 5 + api-server/src/server/boot/certificate.js | 14 +- api-server/src/server/boot/user.js | 1 + api-server/src/server/utils/certTypes.json | 3 +- .../server/utils/getDynamicPropsForUser.js | 3 +- .../src/server/utils/publicUserProps.js | 1 + api-server/src/server/utils/user-stats.js | 3 +- client/i18n/locales/english/intro.json | 134 ++++++++++++++++++ client/i18n/locales/english/translations.json | 2 + client/src/assets/icons/college-algebra.tsx | 22 +++ client/src/assets/icons/index.tsx | 4 +- .../src/client-only-routes/show-settings.tsx | 2 + .../src/components/profile/profile.test.tsx | 3 +- .../src/components/settings/certification.js | 11 +- .../settings/certification.test.tsx | 1 + .../build-a-data-graph-explorer/index.md | 11 ++ .../build-a-financial-calculator/index.md | 11 ++ .../build-a-graphing-calculator/index.md | 11 ++ .../index.md | 11 ++ .../build-three-math-games/index.md | 11 ++ .../index.md | 9 ++ .../college-algebra-with-python/index.md | 13 ++ .../index.md | 9 ++ .../index.md | 9 ++ .../index.md | 9 ++ .../learn-exponents-and-logarithms/index.md | 9 ++ .../learn-fractions-and-decimals/index.md | 9 ++ .../learn-functions-and-graphing/index.md | 9 ++ .../index.md | 9 ++ .../learn-how-to-solve-for-x/index.md | 9 ++ .../index.md | 9 ++ .../learn-linear-functions/index.md | 9 ++ .../index.md | 9 ++ .../learn-quadratic-equations/index.md | 9 ++ .../learn-ratios-and-proportions/index.md | 9 ++ .../index.md | 9 ++ client/src/redux/prop-types.ts | 1 + client/src/resources/cert-and-project-map.ts | 43 +++++- .../Challenges/projects/solution-form.tsx | 2 + .../src/templates/Challenges/utils/build.ts | 3 +- .../Introduction/components/block.tsx | 18 ++- client/src/utils/is-a-cert.ts | 4 + client/utils/challenge-types.js | 11 +- client/utils/help-category-map.json | 22 ++- config/certification-settings.ts | 22 ++- config/superblock-order.test.ts | 2 + config/superblock-order.ts | 11 ++ .../build-a-data-graph-explorer/meta.json | 15 ++ .../build-a-financial-calculator/meta.json | 15 ++ .../build-a-graphing-calculator/meta.json | 15 ++ .../meta.json | 15 ++ .../_meta/build-three-math-games/meta.json | 15 ++ .../meta.json | 20 +++ .../meta.json | 20 +++ .../meta.json | 20 +++ .../meta.json | 16 +++ .../learn-exponents-and-logarithms/meta.json | 16 +++ .../learn-fractions-and-decimals/meta.json | 20 +++ .../learn-functions-and-graphing/meta.json | 24 ++++ .../meta.json | 20 +++ .../_meta/learn-how-to-solve-for-x/meta.json | 20 +++ .../meta.json | 20 +++ .../_meta/learn-linear-functions/meta.json | 24 ++++ .../meta.json | 20 +++ .../_meta/learn-quadratic-equations/meta.json | 16 +++ .../learn-ratios-and-proportions/meta.json | 24 ++++ .../meta.json | 20 +++ ...lege-algebra-with-python-certification.yml | 16 +++ .../data-graph-explorer.md | 30 ++++ .../financial-calculator.md | 28 ++++ .../graphing-calculator.md | 28 ++++ .../multi-function-calculator.md | 28 ++++ .../three-math-games.md | 29 ++++ .../more-resources-in-colab.md | 37 +++++ .../spreadsheets-and-additional-resources.md | 37 +++++ .../applications-of-linear-systems-extra.md | 37 +++++ .../word-problems.md | 51 +++++++ ...s-applications-of-college-algebra-extra.md | 37 +++++ .../demand-and-revenue.md | 47 ++++++ .../factoring.md | 39 +++++ .../exponents-and-logarithms.md | 37 +++++ .../converting-fractions-and-decimals.md | 43 ++++++ .../fractions-and-decimals-extra.md | 47 ++++++ .../functions-and-graphing-extra.md | 43 ++++++ .../learn-functions-and-graphing/functions.md | 43 ++++++ .../learn-functions-and-graphing/graphing.md | 47 ++++++ .../graphing-systems-of-equations-extra.md | 39 +++++ .../graphing-systems.md | 43 ++++++ .../how-to-solve-for-x-extra.md | 54 +++++++ .../learn-how-to-solve-for-x/solving-for-x.md | 43 ++++++ .../solving-systems-of-equations-extra.md | 39 +++++ .../solving-systems.md | 43 ++++++ .../linear-equations.md | 43 ++++++ .../linear-functions-extra.md | 39 +++++ .../learn-linear-functions/slope.md | 39 +++++ .../parent-graphs-and-polynomials-extra.md | 39 +++++ .../parent-graphs.md | 39 +++++ .../learn-quadratic-equations/quadratics.md | 39 +++++ ...oduction-to-college-algebra-with-python.md | 47 ++++++ .../ratios-and-proportions-extra.md | 41 ++++++ .../solving-proportions.md | 39 +++++ .../simple-and-compound-interest-extra.md | 37 +++++ .../simple-and-compound-interest.md | 41 ++++++ curriculum/utils.js | 3 +- curriculum/utils.test.ts | 16 ++- tools/challenge-auditor/index.ts | 3 +- .../api/configs/super-block-list.ts | 4 + tools/challenge-helper-scripts/fs-utils.ts | 3 +- .../build-external-curricula-data.test.ts | 1 + tools/scripts/seed/certified-user-data.js | 1 + tools/scripts/seed/seed-demo-user.js | 2 + 111 files changed, 2328 insertions(+), 39 deletions(-) create mode 100644 client/src/assets/icons/college-algebra.tsx create mode 100644 client/src/pages/learn/college-algebra-with-python/build-a-data-graph-explorer/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/build-a-financial-calculator/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/build-a-graphing-calculator/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/build-a-multi-function-calculator/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/build-three-math-games/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/college-algebra-with-python-conclusion/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-applications-of-linear-systems/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-business-applications-of-college-algebra/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-common-factors-and-square-roots/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-exponents-and-logarithms/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-fractions-and-decimals/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-functions-and-graphing/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-how-to-graph-systems-of-equations/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-for-x/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-systems-of-equations/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-linear-functions/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-parent-graphs-and-polynomials/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-quadratic-equations/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-ratios-and-proportions/index.md create mode 100644 client/src/pages/learn/college-algebra-with-python/learn-simple-and-compound-interest/index.md create mode 100644 curriculum/challenges/_meta/build-a-data-graph-explorer/meta.json create mode 100644 curriculum/challenges/_meta/build-a-financial-calculator/meta.json create mode 100644 curriculum/challenges/_meta/build-a-graphing-calculator/meta.json create mode 100644 curriculum/challenges/_meta/build-a-multi-function-calculator/meta.json create mode 100644 curriculum/challenges/_meta/build-three-math-games/meta.json create mode 100644 curriculum/challenges/_meta/college-algebra-with-python-conclusion/meta.json create mode 100644 curriculum/challenges/_meta/learn-applications-of-linear-systems/meta.json create mode 100644 curriculum/challenges/_meta/learn-business-applications-of-college-algebra/meta.json create mode 100644 curriculum/challenges/_meta/learn-common-factors-and-square-roots/meta.json create mode 100644 curriculum/challenges/_meta/learn-exponents-and-logarithms/meta.json create mode 100644 curriculum/challenges/_meta/learn-fractions-and-decimals/meta.json create mode 100644 curriculum/challenges/_meta/learn-functions-and-graphing/meta.json create mode 100644 curriculum/challenges/_meta/learn-how-to-graph-systems-of-equations/meta.json create mode 100644 curriculum/challenges/_meta/learn-how-to-solve-for-x/meta.json create mode 100644 curriculum/challenges/_meta/learn-how-to-solve-systems-of-equations/meta.json create mode 100644 curriculum/challenges/_meta/learn-linear-functions/meta.json create mode 100644 curriculum/challenges/_meta/learn-parent-graphs-and-polynomials/meta.json create mode 100644 curriculum/challenges/_meta/learn-quadratic-equations/meta.json create mode 100644 curriculum/challenges/_meta/learn-ratios-and-proportions/meta.json create mode 100644 curriculum/challenges/_meta/learn-simple-and-compound-interest/meta.json create mode 100644 curriculum/challenges/english/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/build-a-data-graph-explorer/data-graph-explorer.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/build-a-financial-calculator/financial-calculator.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/build-a-graphing-calculator/graphing-calculator.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/build-a-multi-function-calculator/multi-function-calculator.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/build-three-math-games/three-math-games.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/more-resources-in-colab.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/applications-of-linear-systems-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/word-problems.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/business-applications-of-college-algebra-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/demand-and-revenue.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-common-factors-and-square-roots/factoring.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-exponents-and-logarithms/exponents-and-logarithms.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/converting-fractions-and-decimals.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/fractions-and-decimals-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions-and-graphing-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/graphing.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems-of-equations-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems-of-equations-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-equations.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-functions-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/slope.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs-and-polynomials-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-quadratic-equations/quadratics.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/introduction-to-college-algebra-with-python.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/ratios-and-proportions-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/solving-proportions.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest-extra.md create mode 100644 curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest.md diff --git a/api-server/src/common/models/user.json b/api-server/src/common/models/user.json index 9d279d3014c..eeca76455e7 100644 --- a/api-server/src/common/models/user.json +++ b/api-server/src/common/models/user.json @@ -216,6 +216,11 @@ "description": "Camper is relational database certified", "default": false }, + "isCollegeAlgebraPyCertV8": { + "type": "boolean", + "description": "Camper is college algebra with Python certified", + "default": false + }, "completedChallenges": { "type": [ { diff --git a/api-server/src/server/boot/certificate.js b/api-server/src/server/boot/certificate.js index 9a94bcc6eb4..95cf1249e4a 100644 --- a/api-server/src/server/boot/certificate.js +++ b/api-server/src/server/boot/certificate.js @@ -37,7 +37,8 @@ const { sciCompPyV7Id, dataAnalysisPyV7Id, machineLearningPyV7Id, - relationalDatabaseV8Id + relationalDatabaseV8Id, + collegeAlgebraPyV8Id } = certIds; const log = debug('fcc:certification'); @@ -122,6 +123,10 @@ function createCertTypeIds(allChallenges) { [certTypes.relationalDatabaseV8]: getCertById( relationalDatabaseV8Id, allChallenges + ), + [certTypes.collegeAlgebraPyV8]: getCertById( + collegeAlgebraPyV8Id, + allChallenges ) }; } @@ -211,7 +216,8 @@ function getUserIsCertMap(user) { isSciCompPyCertV7 = false, isDataAnalysisPyCertV7 = false, isMachineLearningPyCertV7 = false, - isRelationalDatabaseCertV8 = false + isRelationalDatabaseCertV8 = false, + isCollegeAlgebraPyCertV8 = false } = user; return { @@ -230,7 +236,8 @@ function getUserIsCertMap(user) { isSciCompPyCertV7, isDataAnalysisPyCertV7, isMachineLearningPyCertV7, - isRelationalDatabaseCertV8 + isRelationalDatabaseCertV8, + isCollegeAlgebraPyCertV8 }; } @@ -375,6 +382,7 @@ function createShowCert(app) { isDataAnalysisPyCertV7: true, isMachineLearningPyCertV7: true, isRelationalDatabaseCertV8: true, + isCollegeAlgebraPyCertV8: true, isHonest: true, username: true, name: true, diff --git a/api-server/src/server/boot/user.js b/api-server/src/server/boot/user.js index ee65b472ddb..fd38086b8ca 100644 --- a/api-server/src/server/boot/user.js +++ b/api-server/src/server/boot/user.js @@ -267,6 +267,7 @@ function postResetProgress(req, res, next) { isDataAnalysisPyCertV7: false, isMachineLearningPyCertV7: false, isRelationalDatabaseCertV8: false, + isCollegeAlgebraPyCertV8: false, completedChallenges: [], savedChallenges: [], partiallyCompletedChallenges: [], diff --git a/api-server/src/server/utils/certTypes.json b/api-server/src/server/utils/certTypes.json index 5bf9b76dd0d..f44b084a77a 100644 --- a/api-server/src/server/utils/certTypes.json +++ b/api-server/src/server/utils/certTypes.json @@ -14,5 +14,6 @@ "dataAnalysisPyV7": "isDataAnalysisPyCertV7", "machineLearningPyV7": "isMachineLearningPyCertV7", "fullStack": "isFullStackCert", - "relationalDatabaseV8": "isRelationalDatabaseV8" + "relationalDatabaseV8": "isRelationalDatabaseV8", + "collegeAlgebraPyV8": "isCollegeAlgebraPyCertV8" } diff --git a/api-server/src/server/utils/getDynamicPropsForUser.js b/api-server/src/server/utils/getDynamicPropsForUser.js index 6f55c39c9d4..345e263b2d8 100644 --- a/api-server/src/server/utils/getDynamicPropsForUser.js +++ b/api-server/src/server/utils/getDynamicPropsForUser.js @@ -10,7 +10,8 @@ function getCompletedCertCount(user) { 'isSciCompPyCertV7', 'isDataAnalysisPyCertV7', 'isMachineLearningPyCertV7', - 'isRelationalDatabaseCertV8' + 'isRelationalDatabaseCertV8', + 'isCollegeAlgebraPyCertV8' ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); } diff --git a/api-server/src/server/utils/publicUserProps.js b/api-server/src/server/utils/publicUserProps.js index e4ff3dc9196..50ee17eac04 100644 --- a/api-server/src/server/utils/publicUserProps.js +++ b/api-server/src/server/utils/publicUserProps.js @@ -30,6 +30,7 @@ export const publicUserProps = [ 'isSciCompPyCertV7', 'isDataAnalysisPyCertV7', 'isMachineLearningPyCertV7', + 'isCollegeAlgebraPyCertV8', 'linkedin', 'location', 'name', diff --git a/api-server/src/server/utils/user-stats.js b/api-server/src/server/utils/user-stats.js index 7acd5064320..0068f2c0573 100644 --- a/api-server/src/server/utils/user-stats.js +++ b/api-server/src/server/utils/user-stats.js @@ -132,7 +132,8 @@ function getCompletedCertCount(user) { 'isSciCompPyCertV7', 'isDataAnalysisPyCertV7', 'isMachineLearningPyCertV7', - 'isRelationalDatabaseCertV8' + 'isRelationalDatabaseCertV8', + 'isCollegeAlgebraPyCertV8' ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); } diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json index 9fea7132bf4..87ac34b6baa 100644 --- a/client/i18n/locales/english/intro.json +++ b/client/i18n/locales/english/intro.json @@ -742,6 +742,140 @@ } } }, + "college-algebra-with-python": { + "title": "College Algebra with Python", + "intro": [ + "This course is designed as a one-semester college course. It consists of instructional videos, with Google Colaboratory notebooks to follow along interactively, assignments, and challenging projects.", + "As you go through each part of this course in sequence, you will gain a full understanding of Algebra and how to write Python code to solve Algebra problems.", + "Throughout this course, you will also build your own Algebra Colab notebook that you will be able to use as your custom calculator. This course (and the code you write here) will give you the foundation for a deeper math and data science understanding." + ], + "note": "", + "blocks": { + "learn-ratios-and-proportions": { + "title": "Learn Ratios and Proportions", + "intro": [ + "Your journey begins here as you learn how to set up a Colab Notebook that can run Python code. Then, use the notebook to follow along with the videos to learn ratios and proportions using Python." + ] + }, + "learn-how-to-solve-for-x": { + "title": "Learn How to Solve for X", + "intro": [ + "This unit will focus on how to solve for an unknown number (often referred to as \"x\") using written Algebra and Python code." + ] + }, + "learn-fractions-and-decimals": { + "title": "Learn Fractions and Decimals", + "intro": [ + "This unit will focus on converting decimals to fractions and percents." + ] + }, + "learn-functions-and-graphing": { + "title": "Learn Functions and Graphing", + "intro": ["This unit will teach you about math functions."] + }, + "learn-linear-functions": { + "title": "Learn Linear Functions", + "intro": [ + "This unit will show you how to develop linear equations from two points." + ] + }, + "learn-common-factors-and-square-roots": { + "title": "Learn Common Factors and Square Roots", + "intro": [ + "In this unit, you will learn how to find common factors and divide them out. This will be useful when simplifying fractions and factoring square roots." + ] + }, + "build-a-multi-function-calculator": { + "title": "Build a Multi-Function Calculator", + "intro": [ + "This is one of the required projects to earn your certification.", + "For this project, you will build a multi-function calculator." + ] + }, + "learn-how-to-graph-systems-of-equations": { + "title": "Learn How to Graph Systems of Equations", + "intro": [ + "This unit will focus on graphing two equations on the same coordinate plane, so that you can see where the lines intersect." + ] + }, + "learn-how-to-solve-systems-of-equations": { + "title": "Learn How to Solve Systems of Equations", + "intro": [ + "In this unit, you will learn how to solve a system of two equations (with two variables) without graphing. You will see how you can factor an equation and solve for a certain variable in Python. By the end of this unit, you will be able to solve and graph the system with one block of code." + ] + }, + "learn-applications-of-linear-systems": { + "title": "Learn Applications of Linear Systems", + "intro": [ + "In this unit, you will see how you can use the algebra you learned so far to solve real world problems." + ] + }, + "learn-quadratic-equations": { + "title": "Learn Quadratic Equations", + "intro": [ + "This unit will go beyond linear equations, to work with exponents and graph parabolas. You will learn how to find key points in parabolas and how to solve quadratic equations." + ] + }, + "build-a-graphing-calculator": { + "title": "Build a Graphing Calculator", + "intro": [ + "This is one of the required projects to earn your certification.", + "For this project, you will build a graphing calculator." + ] + }, + "learn-parent-graphs-and-polynomials": { + "title": "Learn Parent Graphs and Polynomials", + "intro": [ + "This unit will show you many different types of \"parent\" graphs, the basic patterns that make up more complicated graphs. Polynomials are mathematical expressions with \"multiple things\" - the more complicated equations that are built with basic patterns. You will see what these graphs look like, how to modify them, and how to do this all with Python code." + ] + }, + "build-three-math-games": { + "title": "Build Three Math Games", + "intro": [ + "This is one of the required projects to earn your certification.", + "For this project, you will build three math games." + ] + }, + "learn-business-applications-of-college-algebra": { + "title": "Learn Business Applications of College Algebra", + "intro": [ + "This unit will show you how to apply your solving and graphing skills to find cost, revenue, and profit. You will write code to develop a demand function from two points. You will see how price affects the profit graph and how all of these equations relate to each other." + ] + }, + "learn-simple-and-compound-interest": { + "title": "Learn Simple and Compound Interest", + "intro": [ + "This unit will show you how to calculate interest, loan payments, and the estimated value of investments. You will see the math formula and turn that into code. Because these formulas tend to get complicated, you will appreciate having the code where you can just modify a few values." + ] + }, + "learn-exponents-and-logarithms": { + "title": "Learn Exponents and Logarithms", + "intro": [ + "This unit will show you how exponents and logarithms are inverse functions, and how you can use these functions in various applications." + ] + }, + "build-a-financial-calculator": { + "title": "Build a Financial Calculator", + "intro": [ + "This is one of the required projects to earn your certification.", + "For this project, you will build a financial calculator." + ] + }, + "college-algebra-with-python-conclusion": { + "title": "College Algebra with Python: Conclusion", + "intro": [ + "This will be the last unit in this course. Let's look at how you can connect your Math and Python knowledge with external data." + ] + }, + "build-a-data-graph-explorer": { + "title": "Build a Data Graph Explorer", + "intro": [ + "This is one of the required projects to earn your certification.", + "For this project, you will build a data graph explorer." + ] + } + } + }, "coding-interview-prep": { "title": "Coding Interview Prep", "intro": [ diff --git a/client/i18n/locales/english/translations.json b/client/i18n/locales/english/translations.json index 092871ffd13..d1f80e62aee 100644 --- a/client/i18n/locales/english/translations.json +++ b/client/i18n/locales/english/translations.json @@ -711,6 +711,8 @@ "information-security-v7": "Information Security Certification", "Machine Learning with Python": "Machine Learning with Python", "machine-learning-with-python-v7": "Machine Learning with Python Certification", + "College Algebra with Python": "College Algebra with Python", + "college-algebra-with-python-v8": "College Algebra with Python Certification", "Legacy Front End": "Legacy Front End", "legacy-front-end": "Front End Certification", "Legacy Back End": "Legacy Back End", diff --git a/client/src/assets/icons/college-algebra.tsx b/client/src/assets/icons/college-algebra.tsx new file mode 100644 index 00000000000..7a6c1205104 --- /dev/null +++ b/client/src/assets/icons/college-algebra.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +function CollegeAlgebra( + props: JSX.IntrinsicAttributes & React.SVGProps +): JSX.Element { + return ( + <> + + + ); +} + +CollegeAlgebra.displayName = 'CollegeAlgebra'; + +export default CollegeAlgebra; diff --git a/client/src/assets/icons/index.tsx b/client/src/assets/icons/index.tsx index 839f2090965..8de82e986b2 100644 --- a/client/src/assets/icons/index.tsx +++ b/client/src/assets/icons/index.tsx @@ -13,6 +13,7 @@ import PythonIcon from './python'; import ResponsiveDesign from './responsive-design'; import Shield from './shield'; import VikingHelmet from './viking-helmet'; +import CollegeAlgebra from './college-algebra'; const iconMap = { [SuperBlocks.RespWebDesignNew]: ResponsiveDesign, @@ -29,7 +30,8 @@ const iconMap = { [SuperBlocks.InfoSec]: Shield, [SuperBlocks.MachineLearningPy]: TensorflowIcon, [SuperBlocks.CodingInterviewPrep]: Algorithm, - [SuperBlocks.TheOdinProject]: VikingHelmet + [SuperBlocks.TheOdinProject]: VikingHelmet, + [SuperBlocks.CollegeAlgebraPy]: CollegeAlgebra }; const generateIconComponent = ( diff --git a/client/src/client-only-routes/show-settings.tsx b/client/src/client-only-routes/show-settings.tsx index f8452f5541e..b2ce2482027 100644 --- a/client/src/client-only-routes/show-settings.tsx +++ b/client/src/client-only-routes/show-settings.tsx @@ -117,6 +117,7 @@ export function ShowSettings(props: ShowSettingsProps): JSX.Element { isDataAnalysisPyCertV7, isMachineLearningPyCertV7, isRelationalDatabaseCertV8, + isCollegeAlgebraPyCertV8, isEmailVerified, isHonest, sendQuincyEmail, @@ -210,6 +211,7 @@ export function ShowSettings(props: ShowSettingsProps): JSX.Element { isBackEndCert={isBackEndCert} isDataAnalysisPyCertV7={isDataAnalysisPyCertV7} isDataVisCert={isDataVisCert} + isCollegeAlgebraPyCertV8={isCollegeAlgebraPyCertV8} isFrontEndCert={isFrontEndCert} isFrontEndLibsCert={isFrontEndLibsCert} isFullStackCert={isFullStackCert} diff --git a/client/src/components/profile/profile.test.tsx b/client/src/components/profile/profile.test.tsx index 346a1ddeb79..9426968f8b1 100644 --- a/client/src/components/profile/profile.test.tsx +++ b/client/src/components/profile/profile.test.tsx @@ -69,7 +69,8 @@ const userProps = { isSciCompPyCertV7: true, isDataAnalysisPyCertV7: true, isMachineLearningPyCertV7: true, - isRelationalDatabaseCertV8: true + isRelationalDatabaseCertV8: true, + isCollegeAlgebraPyCertV8: true }, // eslint-disable-next-line @typescript-eslint/no-empty-function navigate: () => {} diff --git a/client/src/components/settings/certification.js b/client/src/components/settings/certification.js index 7a59a882df3..573bf7c485b 100644 --- a/client/src/components/settings/certification.js +++ b/client/src/components/settings/certification.js @@ -42,6 +42,7 @@ const propTypes = { isBackEndCert: PropTypes.bool, isDataAnalysisPyCertV7: PropTypes.bool, isDataVisCert: PropTypes.bool, + isCollegeAlgebraPyCertV8: PropTypes.bool, isFrontEndCert: PropTypes.bool, isFrontEndLibsCert: PropTypes.bool, isFullStackCert: PropTypes.bool, @@ -82,7 +83,8 @@ const isCertSelector = ({ isSciCompPyCertV7, isDataAnalysisPyCertV7, isMachineLearningPyCertV7, - isRelationalDatabaseCertV8 + isRelationalDatabaseCertV8, + isCollegeAlgebraPyCertV8 }) => ({ is2018DataVisCert, isApisMicroservicesCert, @@ -99,7 +101,8 @@ const isCertSelector = ({ isSciCompPyCertV7, isDataAnalysisPyCertV7, isMachineLearningPyCertV7, - isRelationalDatabaseCertV8 + isRelationalDatabaseCertV8, + isCollegeAlgebraPyCertV8 }); const isCertMapSelector = createSelector( @@ -119,7 +122,8 @@ const isCertMapSelector = createSelector( isSciCompPyCertV7, isDataAnalysisPyCertV7, isMachineLearningPyCertV7, - isRelationalDatabaseCertV8 + isRelationalDatabaseCertV8, + isCollegeAlgebraPyCertV8 }) => ({ 'Responsive Web Design': isRespWebDesignCert, 'JavaScript Algorithms and Data Structures': isJsAlgoDataStructCert, @@ -132,6 +136,7 @@ const isCertMapSelector = createSelector( 'Data Analysis with Python': isDataAnalysisPyCertV7, 'Machine Learning with Python': isMachineLearningPyCertV7, 'Relational Database': isRelationalDatabaseCertV8, + 'College Algebra with Python': isCollegeAlgebraPyCertV8, 'Legacy Front End': isFrontEndCert, 'Legacy Data Visualization': isDataVisCert, 'Legacy Back End': isBackEndCert, diff --git a/client/src/components/settings/certification.test.tsx b/client/src/components/settings/certification.test.tsx index 2c6e033ace1..4436277ae51 100644 --- a/client/src/components/settings/certification.test.tsx +++ b/client/src/components/settings/certification.test.tsx @@ -244,6 +244,7 @@ const defaultTestProps = { isDataAnalysisPyCertV7: false, isMachineLearningPyCertV7: false, isRelationalDatabaseCertV8: false, + isCollegeAlgebraPyCertV8: false, username: 'developmentuser', verifyCert: () => {}, errors: {}, diff --git a/client/src/pages/learn/college-algebra-with-python/build-a-data-graph-explorer/index.md b/client/src/pages/learn/college-algebra-with-python/build-a-data-graph-explorer/index.md new file mode 100644 index 00000000000..e89d844ba71 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/build-a-data-graph-explorer/index.md @@ -0,0 +1,11 @@ +--- +title: Introduction to Build a Data Graph Explorer +block: Build a Data Graph Explorer +superBlock: College Algebra with Python +--- + +## Introduction to Build a Data Graph Explorer + +This is one of the required projects to earn your certification. + +For this project, you will build a data graph explorer. diff --git a/client/src/pages/learn/college-algebra-with-python/build-a-financial-calculator/index.md b/client/src/pages/learn/college-algebra-with-python/build-a-financial-calculator/index.md new file mode 100644 index 00000000000..c4123dea3c3 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/build-a-financial-calculator/index.md @@ -0,0 +1,11 @@ +--- +title: Introduction to Build a Financial Calculator +block: Build a Financial Calculator +superBlock: College Algebra with Python +--- + +## Introduction to Build a Financial Calculator + +This is one of the required projects to earn your certification. + +For this project, you will build a financial calculator. diff --git a/client/src/pages/learn/college-algebra-with-python/build-a-graphing-calculator/index.md b/client/src/pages/learn/college-algebra-with-python/build-a-graphing-calculator/index.md new file mode 100644 index 00000000000..8afe6117d7a --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/build-a-graphing-calculator/index.md @@ -0,0 +1,11 @@ +--- +title: Introduction to Build a Graphing Calculator +block: Build a Graphing Calculator +superBlock: College Algebra with Python +--- + +## Introduction to Build a Graphing Calculator + +This is one of the required projects to earn your certification. + +For this project, you will build a graphing calculator. diff --git a/client/src/pages/learn/college-algebra-with-python/build-a-multi-function-calculator/index.md b/client/src/pages/learn/college-algebra-with-python/build-a-multi-function-calculator/index.md new file mode 100644 index 00000000000..99b745a65fa --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/build-a-multi-function-calculator/index.md @@ -0,0 +1,11 @@ +--- +title: Introduction to Build a Multi-Function Calculator +block: Build a Multi-Function Calculator +superBlock: College Algebra with Python +--- + +## Introduction to Build a Multi-Function Calculator + +This is one of the required projects to earn your certification. + +For this project, you will build a multi-function calculator. diff --git a/client/src/pages/learn/college-algebra-with-python/build-three-math-games/index.md b/client/src/pages/learn/college-algebra-with-python/build-three-math-games/index.md new file mode 100644 index 00000000000..f825c3f97c7 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/build-three-math-games/index.md @@ -0,0 +1,11 @@ +--- +title: Introduction to Build Three Math Games +block: Build Three Math Games +superBlock: College Algebra with Python +--- + +## Introduction to Build Three Math Games + +This is one of the required projects to earn your certification. + +For this project, you will build three math games. diff --git a/client/src/pages/learn/college-algebra-with-python/college-algebra-with-python-conclusion/index.md b/client/src/pages/learn/college-algebra-with-python/college-algebra-with-python-conclusion/index.md new file mode 100644 index 00000000000..d1060b94780 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/college-algebra-with-python-conclusion/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to College Algebra with Python Conclusion +block: College Algebra with Python Conclusion +superBlock: College Algebra with Python +--- + +## Introduction to College Algebra with Python Conclusion + +This will be the last unit in this course. Let's look at how you can connect your Math and Python knowledge with external data. diff --git a/client/src/pages/learn/college-algebra-with-python/index.md b/client/src/pages/learn/college-algebra-with-python/index.md new file mode 100644 index 00000000000..d3bdeaabdf0 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/index.md @@ -0,0 +1,13 @@ +--- +title: College Algebra with Python +superBlock: college-algebra-with-python +certification: college-algebra-with-python +--- + +## Introduction to College Algebra with Python + +This course is designed as a one-semester college course. It consists of instructional videos, with Google Colaboratory notebooks to follow along interactively, assignments, and challenging projects. + +As you go through each part of this course in sequence, you will gain a full understanding of Algebra and how to write Python code to solve Algebra problems. + +Throughout this course, you will also build your own Algebra Colab notebook that you will be able to use as your custom calculator. This course (and the code you write here) will give you the foundation for a deeper math and data science understanding. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-applications-of-linear-systems/index.md b/client/src/pages/learn/college-algebra-with-python/learn-applications-of-linear-systems/index.md new file mode 100644 index 00000000000..d0eae676532 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-applications-of-linear-systems/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Applications of Linear Systems +block: Learn Applications of Linear Systems +superBlock: College Algebra with Python +--- + +## Introduction to Learn Applications of Linear Systems + +In this unit, you will see how you can use the algebra you learned so far to solve real world problems. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-business-applications-of-college-algebra/index.md b/client/src/pages/learn/college-algebra-with-python/learn-business-applications-of-college-algebra/index.md new file mode 100644 index 00000000000..df1fde27fe7 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-business-applications-of-college-algebra/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Business Applications of College Algebra +block: Learn Business Applications of College Algebra +superBlock: College Algebra with Python +--- + +## Introduction to Learn Business Applications of College Algebra + +This unit will show you how to apply your solving and graphing skills to find cost, revenue, and profit. You will write code to develop a demand function from two points. You will see how price affects the profit graph and how all of these equations relate to each other. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-common-factors-and-square-roots/index.md b/client/src/pages/learn/college-algebra-with-python/learn-common-factors-and-square-roots/index.md new file mode 100644 index 00000000000..c79120091d3 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-common-factors-and-square-roots/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Common Factors and Square Roots +block: Learn Common Factors and Square Roots +superBlock: College Algebra with Python +--- + +## Introduction to Learn Common Factors and Square Roots + +In this unit, you will learn how to find common factors and divide them out. This will be useful when simplifying fractions and factoring square roots. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-exponents-and-logarithms/index.md b/client/src/pages/learn/college-algebra-with-python/learn-exponents-and-logarithms/index.md new file mode 100644 index 00000000000..4f393a327b8 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-exponents-and-logarithms/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Exponents and Logarithms +block: Learn Exponents and Logarithms +superBlock: College Algebra with Python +--- + +## Introduction to Learn Exponents and Logarithms + +This unit will show you how exponents and logarithms are inverse functions, and how you can use these functions in various applications. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-fractions-and-decimals/index.md b/client/src/pages/learn/college-algebra-with-python/learn-fractions-and-decimals/index.md new file mode 100644 index 00000000000..b54a9fdd29d --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-fractions-and-decimals/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Fractions and Decimals +block: Learn Fractions and Decimals +superBlock: College Algebra with Python +--- + +## Introduction to Learn Fractions and Decimals + +This unit will focus on converting decimals to fractions and percents. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-functions-and-graphing/index.md b/client/src/pages/learn/college-algebra-with-python/learn-functions-and-graphing/index.md new file mode 100644 index 00000000000..16fd2746cbf --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-functions-and-graphing/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Functions and Graphing +block: Learn Functions and Graphing +superBlock: College Algebra with Python +--- + +## Introduction to Learn Functions and Graphing + +This unit will teach you about math functions. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-how-to-graph-systems-of-equations/index.md b/client/src/pages/learn/college-algebra-with-python/learn-how-to-graph-systems-of-equations/index.md new file mode 100644 index 00000000000..7aa77457d95 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-how-to-graph-systems-of-equations/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn How to Graph Systems of Equations +block: Learn How to Graph Systems of Equations +superBlock: College Algebra with Python +--- + +## Introduction to Learn How to Graph Systems of Equations + +This unit will focus on graphing two equations on the same coordinate plane, so that you can see where the lines intersect. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-for-x/index.md b/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-for-x/index.md new file mode 100644 index 00000000000..42005a5cd07 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-for-x/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn How to Solve for X +block: Learn How to Solve for X +superBlock: College Algebra with Python +--- + +## Introduction to Learn How to Solve for X + +This unit will focus on how to solve for an unknown number (often referred to as \"x\") using written Algebra and Python code. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-systems-of-equations/index.md b/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-systems-of-equations/index.md new file mode 100644 index 00000000000..ce46a95cdfd --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-how-to-solve-systems-of-equations/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn How to Solve Systems of Equations +block: Learn How to Solve Systems of Equations +superBlock: College Algebra with Python +--- + +## Introduction to Learn How to Solve Systems of Equations + +In this unit, you will learn how to solve a system of two equations (with two variables) without graphing. You will see how you can factor an equation and solve for a certain variable in Python. By the end of this unit, you will be able to solve and graph the system with one block of code. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-linear-functions/index.md b/client/src/pages/learn/college-algebra-with-python/learn-linear-functions/index.md new file mode 100644 index 00000000000..f5c57493cef --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-linear-functions/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Linear Functions +block: Learn Linear Functions +superBlock: College Algebra with Python +--- + +## Introduction to Learn Linear Functions + +This unit will show you how to develop linear equations from two points. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-parent-graphs-and-polynomials/index.md b/client/src/pages/learn/college-algebra-with-python/learn-parent-graphs-and-polynomials/index.md new file mode 100644 index 00000000000..2a6551520d9 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-parent-graphs-and-polynomials/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Parent Graphs and Polynomials +block: Learn Parent Graphs and Polynomials +superBlock: College Algebra with Python +--- + +## Introduction to Learn Parent Graphs and Polynomials + +This unit will show you many different types of "parent" graphs, the basic patterns that make up more complicated graphs. Polynomials are mathematical expressions with "multiple things" - the more complicated equations that are built with basic patterns. You will see what these graphs look like, how to modify them, and how to do this all with Python code. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-quadratic-equations/index.md b/client/src/pages/learn/college-algebra-with-python/learn-quadratic-equations/index.md new file mode 100644 index 00000000000..5565bcd63ed --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-quadratic-equations/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Quadratic Equations +block: Learn Quadratic Equations +superBlock: College Algebra with Python +--- + +## Introduction to Learn Quadratic Equations + +This unit will go beyond linear equations, to work with exponents and graph parabolas. You will learn how to find key points in parabolas and how to solve quadratic equations. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-ratios-and-proportions/index.md b/client/src/pages/learn/college-algebra-with-python/learn-ratios-and-proportions/index.md new file mode 100644 index 00000000000..110e3b8953a --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-ratios-and-proportions/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Ratios and Proportions +block: Learn Ratios and Proportions +superBlock: College Algebra with Python +--- + +## Introduction to Learn Ratios and Proportions + +Your journey begins here as you learn how to set up a Colab Notebook that can run Python code. Then, use the notebook to follow along with the videos to learn ratios and proportions using Python. diff --git a/client/src/pages/learn/college-algebra-with-python/learn-simple-and-compound-interest/index.md b/client/src/pages/learn/college-algebra-with-python/learn-simple-and-compound-interest/index.md new file mode 100644 index 00000000000..2c1911f8fe2 --- /dev/null +++ b/client/src/pages/learn/college-algebra-with-python/learn-simple-and-compound-interest/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to Learn Simple and Compound Interest +block: Learn Simple and Compound Interest +superBlock: College Algebra with Python +--- + +## Introduction to Learn Simple and Compound Interest + +This unit will show you how to calculate interest, loan payments, and the estimated value of investments. You will see the math formula and turn that into code. Because these formulas tend to get complicated, you will appreciate having the code where you can just modify a few values. diff --git a/client/src/redux/prop-types.ts b/client/src/redux/prop-types.ts index 062b201a3eb..2ded4abfafd 100644 --- a/client/src/redux/prop-types.ts +++ b/client/src/redux/prop-types.ts @@ -241,6 +241,7 @@ type ClaimedCertifications = { isBackEndCert: boolean; isDataVisCert: boolean; isEmailVerified: boolean; + isCollegeAlgebraPyCertV8: boolean; isFrontEndCert: boolean; isFrontEndLibsCert: boolean; isFullStackCert: boolean; diff --git a/client/src/resources/cert-and-project-map.ts b/client/src/resources/cert-and-project-map.ts index a2f1772e698..e1b59b0ddbd 100644 --- a/client/src/resources/cert-and-project-map.ts +++ b/client/src/resources/cert-and-project-map.ts @@ -25,6 +25,7 @@ const dataAnalysisPyBase = '/learn/data-analysis-with-python/data-analysis-with-python-projects'; const machineLearningPyBase = '/learn/machine-learning-with-python/machine-learning-with-python-projects'; +const collegeAlgebraPyBase = '/learn/college-algebra-with-python'; const takeHomeBase = '/learn/coding-interview-prep/take-home-projects'; const legacyFrontEndBase = feLibsBase; const legacyFrontEndResponsiveBase = responsiveWebBase; @@ -713,6 +714,44 @@ const certMap = [ certSlug: 'machine-learning-with-python-v7' } ] + }, + { + id: '61531b20cc9dfa2741a5b800', + title: 'College Algebra with Python', + certSlug: 'college-algebra-with-python-v8', + flag: 'isCollegeAlgebraPyCertV8', + projects: [ + { + id: '63d83ff239c73468b059cd3f', + title: 'Multi-Function Calculator', + link: `${collegeAlgebraPyBase}/multi-function-calculator`, + certSlug: 'college-algebra-with-python-v8' + }, + { + id: '63d83ffd39c73468b059cd40', + title: 'Graphing Calculator', + link: `${collegeAlgebraPyBase}/graphing-calculator`, + certSlug: 'college-algebra-with-python-v8' + }, + { + id: '63d8401039c73468b059cd41', + title: 'Three Math Games', + link: `${collegeAlgebraPyBase}/three-math-games`, + certSlug: 'college-algebra-with-python-v8' + }, + { + id: '63d8401e39c73468b059cd42', + title: 'Financial Calculator', + link: `${collegeAlgebraPyBase}/financial-calculator`, + certSlug: 'college-algebra-with-python-v8' + }, + { + id: '63d8402e39c73468b059cd43', + title: 'Data Graph Explorer', + link: `${collegeAlgebraPyBase}/data-graph-explorer`, + certSlug: 'college-algebra-with-python-v8' + } + ] } ] as const; @@ -737,7 +776,9 @@ certMap.forEach(cert => { if (cert.title !== 'Legacy Full Stack') { if (cert.title.startsWith('Legacy')) { legacyProjectMap[cert.title] = cert.projects; - } else { + // temporary hiding of certs from settings page + // should do suggestion on line 33 and use front matter to hide it + } else if (!cert.title.startsWith('College Algebra')) { projectMap[cert.title] = cert.projects; } } diff --git a/client/src/templates/Challenges/projects/solution-form.tsx b/client/src/templates/Challenges/projects/solution-form.tsx index 2efede3f422..5c552f55e6b 100644 --- a/client/src/templates/Challenges/projects/solution-form.tsx +++ b/client/src/templates/Challenges/projects/solution-form.tsx @@ -6,6 +6,7 @@ import { backend, backEndProject, codeAllyCert, + colab, frontEndProject, pythonProject } from '../../../../utils/challenge-types'; @@ -96,6 +97,7 @@ export class SolutionForm extends Component { break; case pythonProject: + case colab: formFields = solutionField; options.isEditorLinkAllowed = true; solutionLink = diff --git a/client/src/templates/Challenges/utils/build.ts b/client/src/templates/Challenges/utils/build.ts index 6951043d988..3e1a70091c1 100644 --- a/client/src/templates/Challenges/utils/build.ts +++ b/client/src/templates/Challenges/utils/build.ts @@ -104,7 +104,8 @@ const buildFunctions = { [challengeTypes.backend]: buildBackendChallenge, [challengeTypes.backEndProject]: buildBackendChallenge, [challengeTypes.pythonProject]: buildBackendChallenge, - [challengeTypes.multifileCertProject]: buildDOMChallenge + [challengeTypes.multifileCertProject]: buildDOMChallenge, + [challengeTypes.colab]: buildBackendChallenge }; export function canBuildChallenge(challengeData: BuildChallengeData): boolean { diff --git a/client/src/templates/Introduction/components/block.tsx b/client/src/templates/Introduction/components/block.tsx index b1649130bd4..d97caacc8f8 100644 --- a/client/src/templates/Introduction/components/block.tsx +++ b/client/src/templates/Introduction/components/block.tsx @@ -17,7 +17,11 @@ import { completedChallengesSelector } from '../../../redux/selectors'; import { ChallengeNode, CompletedChallenge } from '../../../redux/prop-types'; import { playTone } from '../../../utils/tone'; import { makeExpandedBlockSelector, toggleBlock } from '../redux'; -import { isNewJsCert, isNewRespCert } from '../../../utils/is-a-cert'; +import { + isCollegeAlgebraPyCert, + isNewJsCert, + isNewRespCert +} from '../../../utils/is-a-cert'; import { isCodeAllyPractice, isFinalProject @@ -99,6 +103,8 @@ class Block extends Component { const isNewResponsiveWebDesign = isNewRespCert(superBlock); const isNewJsAlgos = isNewJsCert(superBlock); + const isOdinProject = blockDashedName == 'the-odin-project'; + const isCollegeAlgebraPy = isCollegeAlgebraPyCert(superBlock); let completedCount = 0; const challengesWithCompleted = challenges.map(({ challenge }) => { @@ -332,17 +338,19 @@ class Block extends Component { ); const blockrenderer = () => { - if (isProjectBlock) - return isNewResponsiveWebDesign || isNewJsAlgos + if (isProjectBlock && !isOdinProject) + return isNewResponsiveWebDesign || isNewJsAlgos || isCollegeAlgebraPy ? GridProjectBlock : ProjectBlock; - return isNewResponsiveWebDesign || isNewJsAlgos ? GridBlock : Block; + return isNewResponsiveWebDesign || isNewJsAlgos || isCollegeAlgebraPy + ? GridBlock + : Block; }; return ( <> {blockrenderer()} - {(isNewResponsiveWebDesign || isNewJsAlgos) && + {(isNewResponsiveWebDesign || isNewJsAlgos || isCollegeAlgebraPy) && !isProjectBlock ? null : ( )} diff --git a/client/src/utils/is-a-cert.ts b/client/src/utils/is-a-cert.ts index fe9b06a45f7..5c445b9aa17 100644 --- a/client/src/utils/is-a-cert.ts +++ b/client/src/utils/is-a-cert.ts @@ -15,3 +15,7 @@ export function isNewJsCert(superBlock: string): boolean { export function isRelationalDbCert(superBlock: string): boolean { return superBlock === SuperBlocks.RelationalDb; } + +export function isCollegeAlgebraPyCert(superBlock: string): boolean { + return superBlock === SuperBlocks.CollegeAlgebraPy; +} diff --git a/client/utils/challenge-types.js b/client/utils/challenge-types.js index d0c665e1ade..cad47d4894c 100644 --- a/client/utils/challenge-types.js +++ b/client/utils/challenge-types.js @@ -15,6 +15,7 @@ const codeAllyPractice = 12; const codeAllyCert = 13; const multifileCertProject = 14; const theOdinProject = 15; +const colab = 16; // individual exports exports.backend = backend; @@ -22,6 +23,7 @@ exports.frontEndProject = frontEndProject; exports.backEndProject = backEndProject; exports.pythonProject = pythonProject; exports.codeAllyCert = codeAllyCert; +exports.colab = colab; exports.challengeTypes = { html, @@ -40,7 +42,8 @@ exports.challengeTypes = { codeAllyPractice, codeAllyCert, multifileCertProject, - theOdinProject + theOdinProject, + colab }; exports.isFinalProject = challengeType => { @@ -78,7 +81,8 @@ exports.viewTypes = { [codeAllyPractice]: 'codeAlly', [codeAllyCert]: 'codeAlly', [multifileCertProject]: 'classic', - [theOdinProject]: 'odin' + [theOdinProject]: 'odin', + [colab]: 'frontend' }; // determine the type of submit function to use for the challenge on completion @@ -101,7 +105,8 @@ exports.submitTypes = { [video]: 'tests', [codeAllyCert]: 'project.frontEnd', [multifileCertProject]: 'tests', - [theOdinProject]: 'tests' + [theOdinProject]: 'tests', + [colab]: 'project.backEnd' }; // determine which help forum questions should be posted to diff --git a/client/utils/help-category-map.json b/client/utils/help-category-map.json index 1826cf2e2cc..d20941ac83c 100644 --- a/client/utils/help-category-map.json +++ b/client/utils/help-category-map.json @@ -101,5 +101,25 @@ "build-a-palindrome-checker-project": "JavaScript", "build-a-roman-numeral-converter-project": "JavaScript", "build-a-telephone-number-validator-project": "JavaScript", - "learn-advanced-array-methods-by-building-a-statistics-calculator": "JavaScript" + "learn-advanced-array-methods-by-building-a-statistics-calculator": "JavaScript", + "build-a-multi-function-calculator": "Backend Development", + "build-a-graphing-calculator": "Backend Development", + "build-three-math-games": "Backend Development", + "build-a-financial-calculator": "Backend Development", + "build-a-data-graph-explorer": "Backend Development", + "learn-ratios-and-proportions": "Backend Development", + "learn-how-to-solve-for-x": "Backend Development", + "learn-applications-of-linear-systems": "Backend Development", + "learn-business-applications-of-college-algebra": "Backend Development", + "learn-common-factors-and-square-roots": "Backend Development", + "learn-exponents-and-logarithms": "Backend Development", + "learn-fractions-and-decimals": "Backend Development", + "learn-functions-and-graphing": "Backend Development", + "learn-how-to-graph-systems-of-equations": "Backend Development", + "learn-how-to-solve-systems-of-equations": "Backend Development", + "learn-linear-functions": "Backend Development", + "learn-parent-graphs-and-polynomials": "Backend Development", + "learn-quadratic-equations": "Backend Development", + "learn-simple-and-compound-interest": "Backend Development", + "college-algebra-with-python-conclusion": "Backend Development" } diff --git a/config/certification-settings.ts b/config/certification-settings.ts index dd7f943c707..feb8db93df6 100644 --- a/config/certification-settings.ts +++ b/config/certification-settings.ts @@ -14,7 +14,8 @@ export const certTypes = { dataAnalysisPyV7: 'isDataAnalysisPyCertV7', machineLearningPyV7: 'isMachineLearningPyCertV7', fullStack: 'isFullStackCert', - relationalDatabaseV8: 'isRelationalDatabaseCertV8' + relationalDatabaseV8: 'isRelationalDatabaseCertV8', + collegeAlgebraPyV8: 'isCollegeAlgebraPyCertV8' } as const; export enum SuperBlocks { @@ -32,7 +33,8 @@ export enum SuperBlocks { InfoSec = 'information-security', MachineLearningPy = 'machine-learning-with-python', CodingInterviewPrep = 'coding-interview-prep', - TheOdinProject = 'the-odin-project' + TheOdinProject = 'the-odin-project', + CollegeAlgebraPy = 'college-algebra-with-python' } export const certIds = { @@ -51,7 +53,8 @@ export const certIds = { sciCompPyV7Id: '5e44431b903586ffb414c951', dataAnalysisPyV7Id: '5e46fc95ac417301a38fb934', machineLearningPyV7Id: '5e46fc95ac417301a38fb935', - relationalDatabaseV8Id: '606243f50267e718b1e755f4' + relationalDatabaseV8Id: '606243f50267e718b1e755f4', + collegeAlgebraPyV8Id: '61531b20cc9dfa2741a5b800' }; export const completionHours = { @@ -70,7 +73,8 @@ export const completionHours = { [certTypes.sciCompPyV7]: 300, [certTypes.dataAnalysisPyV7]: 300, [certTypes.machineLearningPyV7]: 300, - [certTypes.relationalDatabaseV8]: 300 + [certTypes.relationalDatabaseV8]: 300, + [certTypes.collegeAlgebraPyV8]: 300 }; export const certSlugTypeMap = { @@ -96,7 +100,8 @@ export const certSlugTypeMap = { 'scientific-computing-with-python-v7': certTypes.sciCompPyV7, 'data-analysis-with-python-v7': certTypes.dataAnalysisPyV7, 'machine-learning-with-python-v7': certTypes.machineLearningPyV7, - 'relational-database-v8': certTypes.relationalDatabaseV8 + 'relational-database-v8': certTypes.relationalDatabaseV8, + 'college-algebra-with-python-v8': certTypes.collegeAlgebraPyV8 }; export const superBlockCertTypeMap = { @@ -119,6 +124,7 @@ export const superBlockCertTypeMap = { [SuperBlocks.DataAnalysisPy]: certTypes.dataAnalysisPyV7, [SuperBlocks.MachineLearningPy]: certTypes.machineLearningPyV7, [SuperBlocks.RelationalDb]: certTypes.relationalDatabaseV8, + [SuperBlocks.CollegeAlgebraPy]: certTypes.collegeAlgebraPyV8, // post-modern // TODO: use enum @@ -142,7 +148,8 @@ export const certTypeIdMap = { [certTypes.sciCompPyV7]: certIds.sciCompPyV7Id, [certTypes.dataAnalysisPyV7]: certIds.dataAnalysisPyV7Id, [certTypes.machineLearningPyV7]: certIds.machineLearningPyV7Id, - [certTypes.relationalDatabaseV8]: certIds.relationalDatabaseV8Id + [certTypes.relationalDatabaseV8]: certIds.relationalDatabaseV8Id, + [certTypes.collegeAlgebraPyV8]: certIds.collegeAlgebraPyV8Id }; export const certTypeTitleMap = { @@ -161,7 +168,8 @@ export const certTypeTitleMap = { [certTypes.sciCompPyV7]: 'Scientific Computing with Python', [certTypes.dataAnalysisPyV7]: 'Data Analysis with Python', [certTypes.machineLearningPyV7]: 'Machine Learning with Python', - [certTypes.relationalDatabaseV8]: 'Relational Database' + [certTypes.relationalDatabaseV8]: 'Relational Database', + [certTypes.collegeAlgebraPyV8]: 'College Algebra with Python' }; export const oldDataVizId = '561add10cb82ac38a17513b3'; diff --git a/config/superblock-order.test.ts b/config/superblock-order.test.ts index cf21825a48b..dd3d1253b0b 100644 --- a/config/superblock-order.test.ts +++ b/config/superblock-order.test.ts @@ -150,6 +150,7 @@ describe("'superBlockOrder' helper functions", () => { SuperBlocks.MachineLearningPy, SuperBlocks.CodingInterviewPrep, SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject, SuperBlocks.RespWebDesign ]; @@ -190,6 +191,7 @@ describe("'superBlockOrder' helper functions", () => { SuperBlocks.MachineLearningPy, SuperBlocks.CodingInterviewPrep, SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ]; expect(notAuditedSuperBlocks).toStrictEqual(test); diff --git a/config/superblock-order.ts b/config/superblock-order.ts index 8857c06a228..ff842c13687 100644 --- a/config/superblock-order.ts +++ b/config/superblock-order.ts @@ -78,6 +78,7 @@ export const defaultSuperBlockOrder: SuperBlocks[] = [ SuperBlocks.DataAnalysisPy, SuperBlocks.InfoSec, SuperBlocks.MachineLearningPy, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.CodingInterviewPrep, SuperBlocks.TheOdinProject ]; @@ -127,6 +128,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign] @@ -179,6 +181,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -225,6 +228,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -271,6 +275,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -316,6 +321,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -361,6 +367,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -405,6 +412,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -451,6 +459,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -498,6 +507,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [] @@ -544,6 +554,7 @@ export const superBlockOrder: SuperBlockOrder = { [SuperBlockStates.New]: [], [SuperBlockStates.Upcoming]: [ SuperBlocks.JsAlgoDataStructNew, + SuperBlocks.CollegeAlgebraPy, SuperBlocks.TheOdinProject ], [SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign] diff --git a/curriculum/challenges/_meta/build-a-data-graph-explorer/meta.json b/curriculum/challenges/_meta/build-a-data-graph-explorer/meta.json new file mode 100644 index 00000000000..7b637f178d3 --- /dev/null +++ b/curriculum/challenges/_meta/build-a-data-graph-explorer/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Build a Data Graph Explorer", + "isUpcomingChange": true, + "dashedName": "build-a-data-graph-explorer", + "order": 19, + "time": "150 hours", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "63d8402e39c73468b059cd43", + "Data Graph Explorer" + ] + ]} diff --git a/curriculum/challenges/_meta/build-a-financial-calculator/meta.json b/curriculum/challenges/_meta/build-a-financial-calculator/meta.json new file mode 100644 index 00000000000..606222684da --- /dev/null +++ b/curriculum/challenges/_meta/build-a-financial-calculator/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Build a Financial Calculator", + "isUpcomingChange": true, + "dashedName": "build-a-financial-calculator", + "order": 17, + "time": "150 hours", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "63d8401e39c73468b059cd42", + "Financial Calculator" + ] + ]} diff --git a/curriculum/challenges/_meta/build-a-graphing-calculator/meta.json b/curriculum/challenges/_meta/build-a-graphing-calculator/meta.json new file mode 100644 index 00000000000..e9c05cb176d --- /dev/null +++ b/curriculum/challenges/_meta/build-a-graphing-calculator/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Build a Graphing Calculator", + "isUpcomingChange": true, + "dashedName": "build-a-graphing-calculator", + "order": 11, + "time": "150 hours", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "63d83ffd39c73468b059cd40", + "Graphing Calculator" + ] + ]} diff --git a/curriculum/challenges/_meta/build-a-multi-function-calculator/meta.json b/curriculum/challenges/_meta/build-a-multi-function-calculator/meta.json new file mode 100644 index 00000000000..39bbff98641 --- /dev/null +++ b/curriculum/challenges/_meta/build-a-multi-function-calculator/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Build a Multi-Function Calculator", + "isUpcomingChange": true, + "dashedName": "build-a-multi-function-calculator", + "order": 6, + "time": "150 hours", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "63d83ff239c73468b059cd3f", + "Multi-Function Calculator" + ] + ]} diff --git a/curriculum/challenges/_meta/build-three-math-games/meta.json b/curriculum/challenges/_meta/build-three-math-games/meta.json new file mode 100644 index 00000000000..98703ffe7cb --- /dev/null +++ b/curriculum/challenges/_meta/build-three-math-games/meta.json @@ -0,0 +1,15 @@ +{ + "name": "Build Three Math Games", + "isUpcomingChange": true, + "dashedName": "build-three-math-games", + "order": 13, + "time": "150 hours", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "63d8401039c73468b059cd41", + "Three Math Games" + ] + ]} diff --git a/curriculum/challenges/_meta/college-algebra-with-python-conclusion/meta.json b/curriculum/challenges/_meta/college-algebra-with-python-conclusion/meta.json new file mode 100644 index 00000000000..27fef68088c --- /dev/null +++ b/curriculum/challenges/_meta/college-algebra-with-python-conclusion/meta.json @@ -0,0 +1,20 @@ +{ + "name": "College Algebra with Python: Conclusion", + "isUpcomingChange": true, + "dashedName": "college-algebra-with-python-conclusion", + "order": 18, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2899078df117ce4c407", + "Spreadsheets and Additional Resources" + ], + [ + "6363d2959078df117ce4c408", + "More Resources in Colab" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-applications-of-linear-systems/meta.json b/curriculum/challenges/_meta/learn-applications-of-linear-systems/meta.json new file mode 100644 index 00000000000..40240955d5e --- /dev/null +++ b/curriculum/challenges/_meta/learn-applications-of-linear-systems/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn Applications of Linear Systems", + "isUpcomingChange": true, + "dashedName": "learn-applications-of-linear-systems", + "order": 9, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2019078df117ce4c3fe", + "Word Problems" + ], + [ + "6363d23a9078df117ce4c3ff", + "Applications of Linear Systems: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-business-applications-of-college-algebra/meta.json b/curriculum/challenges/_meta/learn-business-applications-of-college-algebra/meta.json new file mode 100644 index 00000000000..3df21a53f48 --- /dev/null +++ b/curriculum/challenges/_meta/learn-business-applications-of-college-algebra/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn Business Applications of College Algebra", + "isUpcomingChange": true, + "dashedName": "learn-business-applications-of-college-algebra", + "order": 14, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2649078df117ce4c404", + "Demand and Revenue" + ], + [ + "63dbd0375d93712ff177d969", + "Business Applications of College Algebra: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-common-factors-and-square-roots/meta.json b/curriculum/challenges/_meta/learn-common-factors-and-square-roots/meta.json new file mode 100644 index 00000000000..6c1fdf31d2a --- /dev/null +++ b/curriculum/challenges/_meta/learn-common-factors-and-square-roots/meta.json @@ -0,0 +1,16 @@ +{ + "name": "Learn Common Factors and Square Roots", + "isUpcomingChange": true, + "dashedName": "learn-common-factors-and-square-roots", + "order": 5, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d251b51aeedd1a2bd648", + "Factoring" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-exponents-and-logarithms/meta.json b/curriculum/challenges/_meta/learn-exponents-and-logarithms/meta.json new file mode 100644 index 00000000000..c9e4275ad40 --- /dev/null +++ b/curriculum/challenges/_meta/learn-exponents-and-logarithms/meta.json @@ -0,0 +1,16 @@ +{ + "name": "Learn Exponents and Logarithms", + "isUpcomingChange": true, + "dashedName": "learn-exponents-and-logarithms", + "order": 16, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2769078df117ce4c406", + "Exponents and Logarithms" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-fractions-and-decimals/meta.json b/curriculum/challenges/_meta/learn-fractions-and-decimals/meta.json new file mode 100644 index 00000000000..563d8e84cfb --- /dev/null +++ b/curriculum/challenges/_meta/learn-fractions-and-decimals/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn Fractions and Decimals", + "isUpcomingChange": true, + "dashedName": "learn-fractions-and-decimals", + "order": 2, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d258b51aeedd1a2bd649", + "Converting Fractions and Decimals" + ], + [ + "6331d260b51aeedd1a2bd64a", + "Fractions and Decimals: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-functions-and-graphing/meta.json b/curriculum/challenges/_meta/learn-functions-and-graphing/meta.json new file mode 100644 index 00000000000..6ef476612a2 --- /dev/null +++ b/curriculum/challenges/_meta/learn-functions-and-graphing/meta.json @@ -0,0 +1,24 @@ +{ + "name": "Learn Functions and Graphing", + "isUpcomingChange": true, + "dashedName": "learn-functions-and-graphing", + "order": 3, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d266b51aeedd1a2bd64b", + "Functions" + ], + [ + "6331d26fb51aeedd1a2bd64c", + "Graphing" + ], + [ + "63e1798f811fda1bc546bba0", + "Functions and Graphing: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-how-to-graph-systems-of-equations/meta.json b/curriculum/challenges/_meta/learn-how-to-graph-systems-of-equations/meta.json new file mode 100644 index 00000000000..72b04c74a2f --- /dev/null +++ b/curriculum/challenges/_meta/learn-how-to-graph-systems-of-equations/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn How to Graph Systems of Equations", + "isUpcomingChange": true, + "dashedName": "learn-how-to-graph-systems-of-equations", + "order": 7, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d27db51aeedd1a2bd64e", + "Graphing Systems" + ], + [ + "6331d276b51aeedd1a2bd64d", + "Graphing Systems of Equations: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-how-to-solve-for-x/meta.json b/curriculum/challenges/_meta/learn-how-to-solve-for-x/meta.json new file mode 100644 index 00000000000..7a9cbad3042 --- /dev/null +++ b/curriculum/challenges/_meta/learn-how-to-solve-for-x/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn How to Solve for X", + "isUpcomingChange": true, + "dashedName": "learn-how-to-solve-for-x", + "order": 1, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d23eb51aeedd1a2bd646", + "Solving for X" + ], + [ + "6331d233b51aeedd1a2bd645", + "How to Solve for X: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-how-to-solve-systems-of-equations/meta.json b/curriculum/challenges/_meta/learn-how-to-solve-systems-of-equations/meta.json new file mode 100644 index 00000000000..69d8066faf6 --- /dev/null +++ b/curriculum/challenges/_meta/learn-how-to-solve-systems-of-equations/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn How to Solve Systems of Equations", + "isUpcomingChange": true, + "dashedName": "learn-how-to-solve-systems-of-equations", + "order": 8, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d2b0b51aeedd1a2bd655", + "Solving Systems" + ], + [ + "6331d2a9b51aeedd1a2bd654", + "Solving Systems of Equations: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-linear-functions/meta.json b/curriculum/challenges/_meta/learn-linear-functions/meta.json new file mode 100644 index 00000000000..94a368b4248 --- /dev/null +++ b/curriculum/challenges/_meta/learn-linear-functions/meta.json @@ -0,0 +1,24 @@ +{ + "name": "Learn Linear Functions", + "isUpcomingChange": true, + "dashedName": "learn-linear-functions", + "order": 4, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331d291b51aeedd1a2bd651", + "Slope" + ], + [ + "6331d28ab51aeedd1a2bd650", + "Linear Equations" + ], + [ + "6331d283b51aeedd1a2bd64f", + "Linear Functions: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-parent-graphs-and-polynomials/meta.json b/curriculum/challenges/_meta/learn-parent-graphs-and-polynomials/meta.json new file mode 100644 index 00000000000..aa8b73daef5 --- /dev/null +++ b/curriculum/challenges/_meta/learn-parent-graphs-and-polynomials/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn Parent Graphs and Polynomials", + "isUpcomingChange": true, + "dashedName": "learn-parent-graphs-and-polynomials", + "order": 12, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2529078df117ce4c402", + "Parent Graphs" + ], + [ + "6363d25c9078df117ce4c403", + "Parent Graphs and Polynomials: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-quadratic-equations/meta.json b/curriculum/challenges/_meta/learn-quadratic-equations/meta.json new file mode 100644 index 00000000000..038f97cd3cb --- /dev/null +++ b/curriculum/challenges/_meta/learn-quadratic-equations/meta.json @@ -0,0 +1,16 @@ +{ + "name": "Learn Quadratic Equations", + "isUpcomingChange": true, + "dashedName": "learn-quadratic-equations", + "order": 10, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d2429078df117ce4c400", + "Quadratics" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-ratios-and-proportions/meta.json b/curriculum/challenges/_meta/learn-ratios-and-proportions/meta.json new file mode 100644 index 00000000000..9d31f27a391 --- /dev/null +++ b/curriculum/challenges/_meta/learn-ratios-and-proportions/meta.json @@ -0,0 +1,24 @@ +{ + "name": "Learn Ratios and Proportions", + "isUpcomingChange": true, + "dashedName": "learn-ratios-and-proportions", + "order": 0, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6331caa1b51aeedd1a2bd644", + "Introduction to College Algebra with Python" + ], + [ + "6331d29fb51aeedd1a2bd653", + "Solving Proportions" + ], + [ + "6331d298b51aeedd1a2bd652", + "Ratios and Proportions: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/_meta/learn-simple-and-compound-interest/meta.json b/curriculum/challenges/_meta/learn-simple-and-compound-interest/meta.json new file mode 100644 index 00000000000..52be3c94147 --- /dev/null +++ b/curriculum/challenges/_meta/learn-simple-and-compound-interest/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Learn Simple and Compound Interest", + "isUpcomingChange": true, + "dashedName": "learn-simple-and-compound-interest", + "order": 15, + "time": "", + "template": "", + "required": [], + "superBlock": "college-algebra-with-python", + "challengeOrder": [ + [ + "6363d26c9078df117ce4c405", + "Simple and Compound Interest" + ], + [ + "63dbd1335d93712ff177d96a", + "Simple and Compound Interest: Extra" + ] + ] +} \ No newline at end of file diff --git a/curriculum/challenges/english/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml b/curriculum/challenges/english/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml new file mode 100644 index 00000000000..5706758bd1e --- /dev/null +++ b/curriculum/challenges/english/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml @@ -0,0 +1,16 @@ +--- +id: 61531b20cc9dfa2741a5b800 +title: College Algebra with Python Certification +challengeType: 7 +isPrivate: true +tests: + - id: 63d83ff239c73468b059cd3f + title: Multi-Function Calculator + - id: 63d83ffd39c73468b059cd40 + title: Graphing Calculator + - id: 63d8401039c73468b059cd41 + title: Three Math Games + - id: 63d8401e39c73468b059cd42 + title: Financial Calculator + - id: 63d8402e39c73468b059cd43 + title: Data Graph Explorer \ No newline at end of file diff --git a/curriculum/challenges/english/17-college-algebra-with-python/build-a-data-graph-explorer/data-graph-explorer.md b/curriculum/challenges/english/17-college-algebra-with-python/build-a-data-graph-explorer/data-graph-explorer.md new file mode 100644 index 00000000000..458aedbd74d --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/build-a-data-graph-explorer/data-graph-explorer.md @@ -0,0 +1,30 @@ +--- +id: 63d8402e39c73468b059cd43 +title: "Data Graph Explorer" +challengeType: 10 +dashedName: data-graph-explorer +--- + +# --description-- + +You will be working on this project with Google Colaboratory. + +After going to that link, create a copy of the notebook either in your own account or locally. Once you complete the project and it passes the test (included at that link), submit your project link below. If you are submitting a Google Colaboratory link, make sure to turn on link sharing for "anyone with the link." + +# --instructions-- + +For this challenge, you need to create a multi-function calculator using Python that take input and do the following: + +- Get a .csv file in three ways + - uploading it from the local computer + - getting a url from user input + - putting the url in the code +- Use the Pandas library to save the .csv as a dataframe +- Print headings and the first two rows +- Store the column names as a list +- Choose one or two columns and convert the data to Numpy arrays +- Display data as a scatter plot or a line graph +- Be able to do this for different column combinations, and interpret the graphs + +Once you're done, submit the URL to the public Colab notebook on your Google drive. + diff --git a/curriculum/challenges/english/17-college-algebra-with-python/build-a-financial-calculator/financial-calculator.md b/curriculum/challenges/english/17-college-algebra-with-python/build-a-financial-calculator/financial-calculator.md new file mode 100644 index 00000000000..572091e16db --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/build-a-financial-calculator/financial-calculator.md @@ -0,0 +1,28 @@ +--- +id: 63d8401e39c73468b059cd42 +title: "Financial Calculator" +challengeType: 10 +dashedName: financial-calculator +--- + +# --description-- + +You will be working on this project with Google Colaboratory. + +After going to that link, create a copy of the notebook either in your own account or locally. Once you complete the project and it passes the test (included at that link), submit your project link below. If you are submitting a Google Colaboratory link, make sure to turn on link sharing for "anyone with the link." + +# --instructions-- + +For this challenge, you need to create a multi-function calculator using Python that take input and do the following: + +- Calculate annuity with monthly or continuous growth +- Calculate monthly mortgage payment +- Estimate retirement investment balance +- Determine how long until an amount doubles, given the rate +- Solve logarithmic equations +- Convert to (and from) scientific notation + +If you are struggling, you can follow the video walkthrough for this project. + +Once you're done, submit the URL to the public Colab notebook on your Google drive. + diff --git a/curriculum/challenges/english/17-college-algebra-with-python/build-a-graphing-calculator/graphing-calculator.md b/curriculum/challenges/english/17-college-algebra-with-python/build-a-graphing-calculator/graphing-calculator.md new file mode 100644 index 00000000000..7d4d4f9253d --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/build-a-graphing-calculator/graphing-calculator.md @@ -0,0 +1,28 @@ +--- +id: 63d83ffd39c73468b059cd40 +title: "Graphing Calculator" +challengeType: 10 +dashedName: graphing-calculator +--- + +# --description-- + +You will be working on this project with Google Colaboratory. + +After going to that link, create a copy of the notebook either in your own account or locally. Once you complete the project and it passes the test (included at that link), submit your project link below. If you are submitting a Google Colaboratory link, make sure to turn on link sharing for "anyone with the link." + +# --instructions-- + +For this challenge, you need to create a graphing calculator using Python that can take input and do the following: + +- Graph one or more functions +- Create a table of (x,y) values +- Shade above or below the line +- Solve and graph a system of equations +- Zoom in or out on a graph +- Solve quadratic equations + +If you are struggling, you can follow the video walkthrough for this project. + +Once you're done, submit the URL to the public Colab notebook on your Google drive. + diff --git a/curriculum/challenges/english/17-college-algebra-with-python/build-a-multi-function-calculator/multi-function-calculator.md b/curriculum/challenges/english/17-college-algebra-with-python/build-a-multi-function-calculator/multi-function-calculator.md new file mode 100644 index 00000000000..fa9924aa9d1 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/build-a-multi-function-calculator/multi-function-calculator.md @@ -0,0 +1,28 @@ +--- +id: 63d83ff239c73468b059cd3f +title: "Multi-Function Calculator" +challengeType: 10 +dashedName: multi-function-calculator +--- + +# --description-- + +You will be working on this project with Google Colaboratory. + +After going to that link, create a copy of the notebook either in your own account or locally. Once you complete the project and it passes the test (included at that link), submit your project link below. If you are submitting a Google Colaboratory link, make sure to turn on link sharing for "anyone with the link." + +# --instructions-- + +For this challenge, you need to create a multi-function calculator using Python that take input and do the following: + +- solve proportions +- solve for x in equations +- factor square roots +- convert decimals to fractions and percents +- convert fractions to decimals and percents +- convert percents to decimals and fractions + +If you are struggling, you can follow the video walkthrough for this project. + +Once you're done, submit the URL to the public Colab notebook on your Google drive. + diff --git a/curriculum/challenges/english/17-college-algebra-with-python/build-three-math-games/three-math-games.md b/curriculum/challenges/english/17-college-algebra-with-python/build-three-math-games/three-math-games.md new file mode 100644 index 00000000000..d0969651fcc --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/build-three-math-games/three-math-games.md @@ -0,0 +1,29 @@ +--- +id: 63d8401039c73468b059cd41 +title: "Three Math Games" +challengeType: 10 +dashedName: three-math-games +--- + +# --description-- + +You will be working on this project with Google Colaboratory. + +After going to that link, create a copy of the notebook either in your own account or locally. Once you complete the project and it passes the test (included at that link), submit your project link below. If you are submitting a Google Colaboratory link, make sure to turn on link sharing for "anyone with the link." + +# --instructions-- + +For this challenge, you need to create three math games using Python that do the following: + +- Scatter plot game + - Randomly generate points on a graph and the player has to input the (x,y) coordinates + - For added difficulty, make the graph larger +- Algebra practice game + - Generate one-step and two-step problems with random integer values and the player has to input the answer + - Use positive and negative values. For added difficulty, make the numbers larger +- Projectile game + - Display a "wall" with random height and location. Player has to move sliders to adjust a parabolic path to clear the wall + - For added difficulty, make a second level where players enter a, b, and c without sliders + +Once you're done, submit the URL to the public Colab notebook on your Google drive. + diff --git a/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/more-resources-in-colab.md b/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/more-resources-in-colab.md new file mode 100644 index 00000000000..9d1534b6b6a --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/more-resources-in-colab.md @@ -0,0 +1,37 @@ +--- +id: 6363d2959078df117ce4c408 +title: "More Resources in Colab" +challengeType: 15 +videoId: L5hh3Og9RCU +dashedName: more-resources-in-colab +--- + +# --description-- + +One more thing... This brief video will show you some of the resources available to you in Google Colab notebooks. + +# --question-- + +## --text-- + +Which code snippets are available in the Google Colaboratory? + +## --answers-- + +Camera capture + +--- + +Adding form fields + +--- + +Importing data from Google Sheets + +--- + +All of the above + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md b/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md new file mode 100644 index 00000000000..93f9283320d --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md @@ -0,0 +1,37 @@ +--- +id: 6363d2899078df117ce4c407 +title: "Spreadsheets and Additional Resources" +challengeType: 15 +videoId: HNFrRHqpck4 +dashedName: spreadsheets-and-additional-resources +--- + +# --description-- + +Let's look at how you can connect your Math and Python knowledge with external data. This video will show you how to get data from other sources, then transform it so that you can graph it and interpret it. + +# --question-- + +## --text-- + +What library helps you to read data from a .csv and store it as a dataframe where you can select columns? + +## --answers-- + +Math + +--- + +Pandas + +--- + +Data + +--- + +Matplotlib + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/applications-of-linear-systems-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/applications-of-linear-systems-extra.md new file mode 100644 index 00000000000..5757c0b36cf --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/applications-of-linear-systems-extra.md @@ -0,0 +1,37 @@ +--- +id: 6363d23a9078df117ce4c3ff +title: "Applications of Linear Systems: Extra" +challengeType: 15 +videoId: ZtypoUnNdAY +dashedName: applications-of-linear-systems-extra +--- + +# --description-- + +The next video contains more examples of how to set up equations and use your Colab notebook to solve them. + +# --question-- + +## --text-- + +How can you make use of a Colab notebook to solve practical business problems? + +## --answers-- + +Modify the equations in the code you already wrote + +--- + +Copy your existing code and then modify it as necessary + +--- + +Write new code based on the functions you already know + +--- + +All of the above + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/word-problems.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/word-problems.md new file mode 100644 index 00000000000..0a15305c01e --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-applications-of-linear-systems/word-problems.md @@ -0,0 +1,51 @@ +--- +id: 6363d2019078df117ce4c3fe +title: "Word Problems" +challengeType: 15 +videoId: 3ZM3XMn1QYo +dashedName: word-problems +--- + +# --description-- + +This first video will look at key words that tell you what math operation to use. Then you will see how to apply some of your code to different problems. + +**Here are links to the textbooks you will need to complete the assignments for this video:** + +\- Business Math, a Step-by-Step Handbook (2021) by Jean-Paul Oliver + +\- Algebra and Trigonometry by Jay Abramson + +# --question-- + +## --assignment-- + +Complete the problems on pages 63, 75, 85, and 118 from "Business Math, a Step-by-Step Handbook (2021)". + +--- + +Complete the problems on pages 304, 308, and 321 from "Algebra and Trigonometry". + +## --text-- + +Which of the following key words indicate subtraction? + +## --answers-- + +plus, more, increase, up + +--- + +difference, less, decrease, down + +--- + +of, by, factor, area, times + +--- + +out of, per, divided, quotient + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/business-applications-of-college-algebra-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/business-applications-of-college-algebra-extra.md new file mode 100644 index 00000000000..6b8aadc6f0a --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/business-applications-of-college-algebra-extra.md @@ -0,0 +1,37 @@ +--- +id: 63dbd0375d93712ff177d969 +title: "Business Applications of College Algebra: Extra" +challengeType: 15 +videoId: 9n_ZybF0Phc +dashedName: business-applications-of-college-algebra-extra +--- + +# --description-- + +This video is showing you some economics applications, and creating graphs and formulas. + +# --question-- + +## --text-- + +Which of the following is not true of supply and demand graphs? + +## --answers-- + +The supply curve has a positive slope + +--- + +The demand curve has a negative slope + +--- + +The supply curve and demand curve will intersect + +--- + +The supply curve and demand curve will always be straight lines + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/demand-and-revenue.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/demand-and-revenue.md new file mode 100644 index 00000000000..ca2ea6f7796 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-business-applications-of-college-algebra/demand-and-revenue.md @@ -0,0 +1,47 @@ +--- +id: 6363d2649078df117ce4c404 +title: "Demand and Revenue" +challengeType: 15 +videoId: 8PIZmiMFmfk +dashedName: demand-and-revenue +--- + +# --description-- + +In this video, you will write code to develop a demand function from two points. You will see how price affects the profit graph and how all of these equations relate to each other. + +Here is the Colab notebook to go along with this video. + +**Here is a link to the textbook you will need to complete the assignment for this video:** + +\- Business Math, a Step-by-Step Handbook (2021) by Jean-Paul Oliver + +# --question-- + +## --assignment-- + +Complete the problems on pages 155 and 163 from "Business Math, a Step-by-Step Handbook (2021)". + +## --text-- + +Which of the following business equations is not correct? + +## --answers-- + +Profit = Revenue - Cost + +--- + +Revenue = Price * Demand + +--- + +Cost = Fixed Expenses + Variable Expenses + +--- + +Marginal Revenue = Margins + Revenue + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-common-factors-and-square-roots/factoring.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-common-factors-and-square-roots/factoring.md new file mode 100644 index 00000000000..a94a8eb3d94 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-common-factors-and-square-roots/factoring.md @@ -0,0 +1,39 @@ +--- +id: 6331d251b51aeedd1a2bd648 +title: "Factoring" +challengeType: 15 +videoId: Puyp_-ZYA54 +dashedName: factoring +--- + +# --description-- + +This first video will show you how to find common factors and divide them out - in writing, then in code using loops and modulus operations. + +Here is the Colab notebook used in this video. + +# --question-- + +## --text-- + +What does the modulus (`%`) operator do in Python? + +## --answers-- + +returns the percent + +--- + +divides + +--- + +returns the remainder when dividing + +--- + +creates a space + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-exponents-and-logarithms/exponents-and-logarithms.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-exponents-and-logarithms/exponents-and-logarithms.md new file mode 100644 index 00000000000..c4e0821eac9 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-exponents-and-logarithms/exponents-and-logarithms.md @@ -0,0 +1,37 @@ +--- +id: 6363d2769078df117ce4c406 +title: "Exponents and Logarithms" +challengeType: 15 +videoId: LhzmzugFFu8 +dashedName: exponents-and-logarithms +--- + +# --description-- + +Here is the Colab notebook to go along with this video. + +# --question-- + +## --text-- + +What is log5(25)? + +## --answers-- + +0 + +--- + +1 + +--- + +2 + +--- + +5 + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/converting-fractions-and-decimals.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/converting-fractions-and-decimals.md new file mode 100644 index 00000000000..7386db1e3a1 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/converting-fractions-and-decimals.md @@ -0,0 +1,43 @@ +--- +id: 6331d258b51aeedd1a2bd649 +title: "Converting Fractions and Decimals" +challengeType: 15 +videoId: hVHWr4KXZn0 +dashedName: converting-fractions-and-decimals +--- + +# --description-- + +The first video will show you how to convert between fractions, decimals, and percents on paper. Then, it will show you how to do it with Python code. + +Here is the Colab notebook used in the video. Use this code as a model, and write your own code to convert fractions and decimals. + +# --question-- + +## --assignment-- + +Add the code to convert fractions and decimals to your algebra Colab notebook. + +## --text-- + +Which of the following correctly represents "three hundredths" as a decimal? + +## --answers-- + +0.3 + +--- + +0.03 + +--- + +0.003 + +--- + +100.3 + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/fractions-and-decimals-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/fractions-and-decimals-extra.md new file mode 100644 index 00000000000..3d446e36663 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-fractions-and-decimals/fractions-and-decimals-extra.md @@ -0,0 +1,47 @@ +--- +id: 6331d260b51aeedd1a2bd64a +title: "Fractions and Decimals: Extra" +challengeType: 15 +videoId: YHVA6cYIglM +dashedName: fractions-and-decimals-extra +--- + +# --description-- + +The following video will show you one way to set up your Google Colaboratory notebook, so that you can continue to build your personalized algebra calculator. + +Here is the Colab notebook used in this video so you can use it as a model. + +# --question-- + +## --assignment-- + +Add the code to factor and solve for a variable to your algebra Colab notebook. + +--- + +Run the code in the following notebook to get practice converting fractions and decimals. As a bonus, look at the code used to generate the practice problems. + +## --text-- + +Which of the following languages can you not use in Google Colaboratory? + +## --answers-- + +HTML + +--- + +LaTex + +--- + +English + +--- + +Sanskrit + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions-and-graphing-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions-and-graphing-extra.md new file mode 100644 index 00000000000..7b131aa870d --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions-and-graphing-extra.md @@ -0,0 +1,43 @@ +--- +id: 63e1798f811fda1bc546bba0 +title: "Functions and Graphing: Extra" +challengeType: 15 +videoId: N7Fh1xKrIM4 +dashedName: functions-and-graphing-extra +--- + +# --description-- + +This next video will show you the connection between functions and graphing. Notice how the graph is a way to represent the inputs and outputs of a function. Then the video will show you how to graph a function with Python. + +Here is the Colab notebook to go with this video. + +# --question-- + +## --assignemnts-- + +Add code to your algebra Colab notebook for functions and graphing. + +## --text-- + +What Python library would you import to create arrays that you can graph? + +## --answers-- + +numpy + +--- + +nimby + +--- + +math + +--- + +graph + +## --video-solution-- + +1 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions.md new file mode 100644 index 00000000000..1e33e17dc7b --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/functions.md @@ -0,0 +1,43 @@ +--- +id: 6331d266b51aeedd1a2bd64b +title: "Functions" +challengeType: 15 +videoId: rYg12-omcGg +dashedName: functions +--- + +# --description-- + +This first video will show you what it means to be a function, and then it will show you how math functions and Python functions are similar. + +Here is the Colab notebook used in this and the next videos. + +# --question-- + +## --assigment-- + +Add code to your algebra Colab notebook that creates Python functions for decimal-to-fraction conversions + +## --text-- + +After defining a function in Python, indent each line of the function how many spaces? + +## --answers-- + +2 + +--- + +3 + +--- + +4 + +--- + +5 + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/graphing.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/graphing.md new file mode 100644 index 00000000000..d8718e3ba22 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-functions-and-graphing/graphing.md @@ -0,0 +1,47 @@ +--- +id: 6331d26fb51aeedd1a2bd64c +title: "Graphing" +challengeType: 15 +videoId: vUefCkh8-wc +dashedName: graphing +--- + +# --description-- + +This next video will show you the connection between functions and graphing. Notice how the graph is a way to represent the inputs and outputs of a function. Then the video will show you how to graph a function with Python. + +Here is the Colab notebook to go with the last two videos so you can start making your own graphs. + +# --question-- + +## --assignemnts-- + +Add code to your algebra Colab notebook for functions and graphing. + +--- + +Run the following notebook to see more ways to create graphs using algebra and Python. + +## --text-- + +Which of the following would put a blue line on a graph? + +## --answers-- + +`plt.plot([0,0],[10,10],'b-')` + +--- + +`plt.plot([0,0],[10,10],'bo')` + +--- + +`plt.plot([0,10],[0,10],'b')` + +--- + +`plt.plot([10,10],[10,10],'b^')` + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems-of-equations-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems-of-equations-extra.md new file mode 100644 index 00000000000..076a12baf1c --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems-of-equations-extra.md @@ -0,0 +1,39 @@ +--- +id: 6331d276b51aeedd1a2bd64d +title: "Graphing Systems of Equations: Extra" +challengeType: 15 +videoId: q8ad1tTFqns +dashedName: graphing-systems-of-equations-extra +--- + +# --description-- + +This next video will give you a deeper dive into what you can do with graphing systems of equations, graphing inequalities, and shading above or below the line. You will also see how to download the graph to your computer or your Google Drive. + +Here is the Colab notebook used in this video. + +# --question-- + +## --text-- + +If you want to create an interactive plot with a slider to zoom in and out, where does most of the graphing code appear? + +## --answers-- + +Within the interactive() function + +--- + +In the slider + +--- + +Within the function that the interactive() calls + +--- + +Before all of the functions + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems.md new file mode 100644 index 00000000000..b57b2bb3b00 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-graph-systems-of-equations/graphing-systems.md @@ -0,0 +1,43 @@ +--- +id: 6331d27db51aeedd1a2bd64e +title: "Graphing Systems" +challengeType: 15 +videoId: FxSIFR4zsrE +dashedName: graphing-systems +--- + +# --description-- + +This first video will show you how to graph systems of equations with with written math, then code. + +Here is the Colab notebook used in this video. + +# --question-- + +## --assignment-- + +Add code from the video to the algebra notebook you are building, and test it with different functions. + +## --text-- + +The numpy `linspace()` function takes three arguments to create an array. Which of the following arguments does it not take? + +## --answers-- + +Minimum value + +--- + +Maximum value + +--- + +Number of items in the array + +--- + +Formula to generate each item + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md new file mode 100644 index 00000000000..6cb62985260 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md @@ -0,0 +1,54 @@ +--- +id: 6331d233b51aeedd1a2bd645 +title: "How to Solve for X: Extra" +challengeType: 15 +videoId: lFTCVUCbNoM +dashedName: how-to-solve-for-x-extra +--- + +# --description-- + +This video will go deeper, with more examples of how to use SymPy solve. It will also explain how the practice functions generate the random problems. + +Here is the Colab notebook to go along with this video. Use it to add more to the algebra Colab notebook that you are building. + +# --question-- + +## --assignment-- + +Add the code for more ways to solve for x from the video to your algebra Colab notebook. + +--- + +Open the following Colab notebook, run the cell, and practice solving one and two-step algebra problems. As a bonus, look at the code that generates the practice problems. + +## --text-- + +If you import sympy and define x as a variable, what would be the input from the following code? + +```py +example = 3*x - 12 +equation = Eq(example,0) +solution = solve(equation,x) +print(solution) +``` + +## --answers-- + +3 + +--- + +4 + +--- + +[4] + +--- + +x = 4 + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md new file mode 100644 index 00000000000..cf99c6cfbd1 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md @@ -0,0 +1,43 @@ +--- +id: 6331d23eb51aeedd1a2bd646 +title: "Solving for X" +challengeType: 15 +videoId: _U9PEFKjyb8 +dashedName: solving-for-x +--- + +# --description-- + +This first video will show you the essence of algebra and then how Python code does the same task in a different way. + +Here is the Colab notebook to go along with this video. Add the code from the video to your algebra Colab notebook to see how to solve for X using Python. Then change the code if you want, test it, and compare it to paper-and-pencil solving. Remember the equation input needs to be in Python syntax. + +# --question-- + +## --assignment-- + +Add the code to solve for x from the video to your algebra Colab notebook. + +## --text-- + +In Python, what is the library you import to solve algebra problems with variables? + +## --answers-- + +symba + +--- + +math + +--- + +sympsons + +--- + +sympy + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems-of-equations-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems-of-equations-extra.md new file mode 100644 index 00000000000..96b8f567559 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems-of-equations-extra.md @@ -0,0 +1,39 @@ +--- +id: 6331d2a9b51aeedd1a2bd654 +title: "Solving Systems of Equations: Extra" +challengeType: 15 +videoId: 856p7t2V9NY +dashedName: solving-systems-of-equations-extra +--- + +# --description-- + +This video will show you one way to create a calculator that solves and graphs. It will also show you how to zoom in or zoom out on the graph and write the code to build that feature. + +Here is the Colab notebook used in this video. This will give you an example of what your notebook could look like so far, as you have some functions in there and create headings for the next few functions. + +# --question-- + +## --text-- + +Which of the following is not true? + +## --answers-- + +When graphing, you can adjust your tic marks on each axis + +--- + +The `nonlinsolve()` function can solve linear equations + +--- + +The `linsolve()` function can solve nonlinear equations + +--- + +To zoom in or out on a graph, an interactive slider is useful + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems.md new file mode 100644 index 00000000000..08847d0f8a6 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-how-to-solve-systems-of-equations/solving-systems.md @@ -0,0 +1,43 @@ +--- +id: 6331d2b0b51aeedd1a2bd655 +title: "Solving Systems" +challengeType: 15 +videoId: CNGUQzXfC6c +dashedName: solving-systems +--- + +# --description-- + +The first video will show you the math behind solving a system of two equations without graphing, how you can factor an equation, and solve for a certain variable. + +Here is the Colab notebook used in this video. + +# --question-- + +## --assignment-- + +Add code to your notebook to solve and graph systems of equations + +## --text-- + +Which of the following can SymPy do that matplotlib can't do? + +## --answers-- + +Solve for a variable + +--- + +Display an x-y axis + +--- + +Graph an equation or two + +--- + +Show tic marks on the graph + +## --video-solution-- + +1 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-equations.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-equations.md new file mode 100644 index 00000000000..c513b57f2eb --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-equations.md @@ -0,0 +1,43 @@ +--- +id: 6331d28ab51aeedd1a2bd650 +title: "Linear Equations" +challengeType: 15 +videoId: u0bgovPh4ME +dashedName: linear-equations +--- + +# --description-- + +This video will show you the math behind finding the y-intercept in a linear function, so you can develop the whole equation. Then the video will show you how to graph the whole function. You will also see how to do the whole process with Python code. + +Here is the Colab notebook to go with the last two videos, so you can see the formulas. + +# --question-- + +## --assignment-- + +Add code to your algebra Colab notebook to graph a function from points or from equation input. + +## --text-- + +If you know the slope ("m") and you have one (x,y) coordinate point, which of the following equations could you use to find "b", representing the y-intercept in Python? + +## --answers-- + +`y = mx +b` + +--- + +`b = y - m*x` + +--- + +`ax + by = c` + +--- + +`(y2-y1)/(x2-x1)=m` + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-functions-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-functions-extra.md new file mode 100644 index 00000000000..6f22635d3c8 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/linear-functions-extra.md @@ -0,0 +1,39 @@ +--- +id: 6331d283b51aeedd1a2bd64f +title: "Linear Functions: Extra" +challengeType: 15 +videoId: Emeex5gi5uA +dashedName: linear-functions-extra +--- + +# --description-- + +This video will give you a deeper look into developing equations from word problems (so then you can write the code to solve or graph those equations). The video will also begin to look at data points as (x,y) coordinates. With this, you will begin to see the connection between Algebra and data science. + +Here is the Colab notebook used in this video. + +# --question-- + +## --text-- + +Which of the following would you not use when displaying a graph? + +## --answers-- + +`ax.set_xlabel("x values")` + +--- + +`ax.set_ylabel("y values")` + +--- + +`ax.grid(True)` + +--- + +`ax.set_table()` + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/slope.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/slope.md new file mode 100644 index 00000000000..1cc287bcfee --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-linear-functions/slope.md @@ -0,0 +1,39 @@ +--- +id: 6331d291b51aeedd1a2bd651 +title: "Slope" +challengeType: 15 +videoId: nURsz7SR5aM +dashedName: slope +--- + +# --description-- + +This first video will focus on the slope of a line and how to calculate it. + +Here is the Colab notebook used in this and the next videos. + +# --question-- + +## --text-- + +If you have already defined these variables, which of the following is the correct slope formula? + +## --answers-- + +`slope = (x1 - x2) / (y1 - y2)` + +--- + +`slope = (x2 - x1) / (y2 - y1)` + +--- + +`slope = (x1 - y1) / (x2 - y2)` + +--- + +`slope = (y2 - y1) / (x2 - x1)` + +## --video-solution-- + +4 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs-and-polynomials-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs-and-polynomials-extra.md new file mode 100644 index 00000000000..241572a1dd6 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs-and-polynomials-extra.md @@ -0,0 +1,39 @@ +--- +id: 6363d25c9078df117ce4c403 +title: "Parent Graphs and Polynomials: Extra" +challengeType: 15 +videoId: YDlXmmRgQJI +dashedName: parent-graphs-and-polynomials-extra +--- + +# --description-- + +This next video will show you how to add sliders to your graphs, to see them change in real time. You will also see ways to use loops to find the roots of a graph, and how this method is different from factoring. + +Here is the Colab notebook to go along with this video. + +# --question-- + +## --text-- + +How many sliders would you add to change the coefficients in a quadratic graph? + +## --answers-- + +1 + +--- + +2 + +--- + +3 + +--- + +4 + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs.md new file mode 100644 index 00000000000..1fa248fc7f2 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-parent-graphs-and-polynomials/parent-graphs.md @@ -0,0 +1,39 @@ +--- +id: 6363d2529078df117ce4c402 +title: "Parent Graphs" +challengeType: 15 +videoId: 6S2QhY8rIcw +dashedName: parent-graphs +--- + +# --description-- + +In this video, you will see what these parent graphs look like, how to modify them, and how to do this all with Python code. + +Here is the Colab notebook to go along with this video. + +# --question-- + +## --text-- + +In numpy, what is the cube root of x? + +## --answers-- + +cbrt(x) + +--- + +cube_root(x) + +--- + +root3(x) + +--- + +root(x,3) + +## --video-solution-- + +1 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-quadratic-equations/quadratics.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-quadratic-equations/quadratics.md new file mode 100644 index 00000000000..51901bcde48 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-quadratic-equations/quadratics.md @@ -0,0 +1,39 @@ +--- +id: 6363d2429078df117ce4c400 +title: "Quadratics" +challengeType: 15 +videoId: pPLBL3L0OGg +dashedName: quadratics +--- + +# --description-- + +This video show you how to solve quadratic equations, and explain the coefficients ("A," "B," and "C") in the standard form and how to use them to find the roots and vertex. + +Here is the Colab notebook to go along with this video. + +# --question-- + +## --text-- + +In Python code, what is the formula for the x value of the vertex? + +## --answers-- + +x = -b/2a + +--- + +x = -b/(2 * a) + +--- + +x = b/2a + +--- + +x = -b/2*a + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/introduction-to-college-algebra-with-python.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/introduction-to-college-algebra-with-python.md new file mode 100644 index 00000000000..834b288fe92 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/introduction-to-college-algebra-with-python.md @@ -0,0 +1,47 @@ +--- +id: 6331caa1b51aeedd1a2bd644 +title: "Introduction to College Algebra with Python" +challengeType: 15 +videoId: bO3Sn10-XNw +dashedName: introduction-to-college-algebra-with-python +--- + +# --description-- + +This first video includes an introduction to the course, how it will work, and how to use Google Colaboratory. Follow along to create your first Colab notebook. + +**Videos throughout these courses will reference problems from these two textbooks:** + +\- Business Math, a Step-by-Step Handbook (2021) by Jean-Paul Oliver + +\- Algebra and Trigonometry by Jay Abramson + +# --question-- + +## --assignment-- + +Create an algebra Colab notebook on your google drive so you can follow along with the videos. + +## --text-- + +When adding text in Google Colab, what symbol would you use to create a heading that will appear in the table of contents? + +## --answers-- + +$ + +--- + +# + +--- + +@ + +--- + +% + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/ratios-and-proportions-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/ratios-and-proportions-extra.md new file mode 100644 index 00000000000..e7d4284672e --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/ratios-and-proportions-extra.md @@ -0,0 +1,41 @@ +--- +id: 6331d298b51aeedd1a2bd652 +title: "Ratios and Proportions: Extra" +challengeType: 15 +videoId: 6o0SsdyUf2U +dashedName: ratios-and-proportions-extra +--- + +# --description-- + +The last video in this section will show you how to use proportions in other applications, such as currency exchange rates and unit conversion. It will also show you more about setting up your notebook and working through the practice assignment. + +# --question-- + +## --assignment-- + +Open the following Colab notebook, run the cell, and practice solving one-step algebra problems. As a bonus, look at the code that generates the practice problems. + +## --text-- + +What is another way to write 0.9999... (repeating 9)? + +## --answers-- + +99 percent + +--- + +You can't get an exact answer + +--- + +1 + +--- + +Almost 1 + +## --video-solution-- + +3 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/solving-proportions.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/solving-proportions.md new file mode 100644 index 00000000000..8371ec1655d --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-ratios-and-proportions/solving-proportions.md @@ -0,0 +1,39 @@ +--- +id: 6331d29fb51aeedd1a2bd653 +title: "Solving Proportions" +challengeType: 15 +videoId: 61A3PNx1hjY +dashedName: solving-proportions +--- + +# --description-- + +Now we get to the math content. This video will show you how to set up and solve proportions and write code to solve for variables. + +Here is the Colab notebook to go along with this video. If you have not done so yet, set up your algebra Colab notebook from the last video. Then, add the code from this video to it. + +# --question-- + +## --assignment-- + +Add the code from the video to the algebra Colab notebook you created in the first step. + +## --text-- + +In solving a proportion, if one numerator is zero, does the other numerator have to be zero for the statement to be true? + +## --answers-- + +Yes + +--- + +No + +--- + +Sometimes + +## --video-solution-- + +1 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest-extra.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest-extra.md new file mode 100644 index 00000000000..2152a749bf5 --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest-extra.md @@ -0,0 +1,37 @@ +--- +id: 63dbd1335d93712ff177d96a +title: "Simple and Compound Interest: Extra" +challengeType: 15 +videoId: 2cbrstoKNSc +dashedName: simple-and-compound-interest-extra +--- + +# --description-- + +Here is a detour from the Python code, as this video shows you how to create mortgage payment amortization tables in Google Sheets. You will also learn about how to use a very similar setup to estimate retirement account investment returns. This is the video that shows you where your money is going. + +# --question-- + +## --text-- + +What marker do you use to attach a formula to a cell in a spreadsheet? + +## --answers-- + +() + +--- + += + +--- + +== + +--- + +formula() + +## --video-solution-- + +2 diff --git a/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest.md b/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest.md new file mode 100644 index 00000000000..7cce6981cca --- /dev/null +++ b/curriculum/challenges/english/17-college-algebra-with-python/learn-simple-and-compound-interest/simple-and-compound-interest.md @@ -0,0 +1,41 @@ +--- +id: 6363d26c9078df117ce4c405 +title: "Simple and Compound Interest" +challengeType: 15 +videoId: iMPFK7wXNPg +dashedName: simple-and-compound-interest +--- + +# --description-- + +This video will help you understand the equations of simple and compound interest, and what it all means. + +Here is the Colab notebook to go along with this video. + +Here is an additional Colab notebook that shows you one way to put many of these interest and payment forumlas into Python functions. Also you will see an example of using some formulas to output results, notice a trend, and follow up with other formulas to analyze patterns. + +# --question-- + +## --text-- + +In percent increase formulas, what does the "principle" refer to? + +## --answers-- + +the main amount + +--- + +the ending amount + +--- + +the starting amount + +--- + +the (1 + rate) multiplier + +## --video-solution-- + +3 diff --git a/curriculum/utils.js b/curriculum/utils.js index c9f18d45ee8..99cf51a3e61 100644 --- a/curriculum/utils.js +++ b/curriculum/utils.js @@ -121,7 +121,8 @@ const directoryToSuperblock = { '14-responsive-web-design-22': '2022/responsive-web-design', '15-javascript-algorithms-and-data-structures-22': '2022/javascript-algorithms-and-data-structures', - '16-the-odin-project': 'the-odin-project' + '16-the-odin-project': 'the-odin-project', + '17-college-algebra-with-python': 'college-algebra-with-python' }; function getSuperBlockFromDir(dir) { diff --git a/curriculum/utils.test.ts b/curriculum/utils.test.ts index 8f27689c9ac..992f7d28eae 100644 --- a/curriculum/utils.test.ts +++ b/curriculum/utils.test.ts @@ -39,8 +39,9 @@ const upcomingTest = { [SuperBlocks.MachineLearningPy]: 10, [SuperBlocks.CodingInterviewPrep]: 11, [SuperBlocks.JsAlgoDataStructNew]: 12, - [SuperBlocks.TheOdinProject]: 13, - [SuperBlocks.RespWebDesign]: 14 + [SuperBlocks.CollegeAlgebraPy]: 13, + [SuperBlocks.TheOdinProject]: 14, + [SuperBlocks.RespWebDesign]: 15 }; const espanolTest = { @@ -145,7 +146,7 @@ describe('getSuperOrder', () => { if (process.env.SHOW_UPCOMING_CHANGES !== 'true') { expect.assertions(13); } else { - expect.assertions(15); + expect.assertions(16); } expect(getSuperOrder(SuperBlocks.RespWebDesignNew)).toBe(0); @@ -163,8 +164,9 @@ describe('getSuperOrder', () => { if (process.env.SHOW_UPCOMING_CHANGES === 'true') { expect(getSuperOrder(SuperBlocks.JsAlgoDataStructNew)).toBe(12); - expect(getSuperOrder(SuperBlocks.TheOdinProject)).toBe(13); - expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(14); + expect(getSuperOrder(SuperBlocks.CollegeAlgebraPy)).toBe(13); + expect(getSuperOrder(SuperBlocks.TheOdinProject)).toBe(14); + expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(15); } else { expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(12); } @@ -177,7 +179,7 @@ describe('getSuperBlockFromPath', () => { ); it('handles all the directories in ./challenges/english', () => { - expect.assertions(16); + expect.assertions(17); for (const directory of directories) { expect(() => getSuperBlockFromDir(directory)).not.toThrow(); @@ -185,7 +187,7 @@ describe('getSuperBlockFromPath', () => { }); it("returns valid superblocks (or 'certifications') for all valid arguments", () => { - expect.assertions(16); + expect.assertions(17); const superBlockPaths = directories.filter(x => x !== '00-certifications'); diff --git a/tools/challenge-auditor/index.ts b/tools/challenge-auditor/index.ts index 27f37781904..26bf1cc8b82 100644 --- a/tools/challenge-auditor/index.ts +++ b/tools/challenge-auditor/index.ts @@ -43,7 +43,8 @@ const superBlockFolderMap = { '2022/responsive-web-design': '14-responsive-web-design-22', '2022/javascript-algorithms-and-data-structures': '15-javascript-algorithms-and-data-structures-22', - 'the-odin-project': '16-the-odin-project' + 'the-odin-project': '16-the-odin-project', + 'college-algebra-with-python': '17-college-algebra-with-python' }; // These blocks are in the incorrect superblock. They should be moved but, for diff --git a/tools/challenge-editor/api/configs/super-block-list.ts b/tools/challenge-editor/api/configs/super-block-list.ts index d5655f8f9a4..8f16f6165b4 100644 --- a/tools/challenge-editor/api/configs/super-block-list.ts +++ b/tools/challenge-editor/api/configs/super-block-list.ts @@ -58,5 +58,9 @@ export const superBlockList = [ { name: 'The Odin Project', path: '16-the-odin-project' + }, + { + name: 'College Algebra with Python', + path: '17-college-algebra-with-python' } ]; diff --git a/tools/challenge-helper-scripts/fs-utils.ts b/tools/challenge-helper-scripts/fs-utils.ts index ad479a27177..193b7302b3b 100644 --- a/tools/challenge-helper-scripts/fs-utils.ts +++ b/tools/challenge-helper-scripts/fs-utils.ts @@ -18,7 +18,8 @@ export function getSuperBlockSubPath(superBlock: SuperBlocks): string { [SuperBlocks.RespWebDesignNew]: '14-responsive-web-design-22', [SuperBlocks.JsAlgoDataStructNew]: '15-javascript-algorithms-and-data-structures-22', - [SuperBlocks.TheOdinProject]: '16-the-odin-project' + [SuperBlocks.TheOdinProject]: '16-the-odin-project', + [SuperBlocks.CollegeAlgebraPy]: '17-college-algebra-with-python' }; return pathMap[superBlock]; } diff --git a/tools/scripts/build/build-external-curricula-data.test.ts b/tools/scripts/build/build-external-curricula-data.test.ts index 424523fdc59..63b3dd7d19f 100644 --- a/tools/scripts/build/build-external-curricula-data.test.ts +++ b/tools/scripts/build/build-external-curricula-data.test.ts @@ -86,6 +86,7 @@ if (envData.clientLocale == 'english' && !envData.showUpcomingChanges) { const isUpcoming = [ '2022/javascript-algorithms-and-data-structures', + 'college-algebra-with-python', 'the-odin-project' ]; diff --git a/tools/scripts/seed/certified-user-data.js b/tools/scripts/seed/certified-user-data.js index 6392caf06aa..f23d643a76b 100644 --- a/tools/scripts/seed/certified-user-data.js +++ b/tools/scripts/seed/certified-user-data.js @@ -35,6 +35,7 @@ module.exports = { isDataAnalysisPyCertV7: true, isMachineLearningPyCertV7: true, isRelationalDatabaseCertV8: true, + isCollegeAlgebraPyCertV8: true, completedChallenges: [ { id: 'bd7123c8c441eddfaeb5bdef', completedDate: 1475094716730, files: [] }, { id: '5895f70bf9fc0f352b528e64', completedDate: 1537207306322, files: [] }, diff --git a/tools/scripts/seed/seed-demo-user.js b/tools/scripts/seed/seed-demo-user.js index 798321321c7..b77bff931a1 100644 --- a/tools/scripts/seed/seed-demo-user.js +++ b/tools/scripts/seed/seed-demo-user.js @@ -60,6 +60,7 @@ const demoUser = { isDataAnalysisPyCertV7: false, isMachineLearningPyCertV7: false, isRelationalDatabaseCertV8: false, + isCollegeAlgebraPyCertV8: false, completedChallenges: [], portfolio: [], yearsTopContributor: envVariables.includes('--top-contributor') @@ -121,6 +122,7 @@ const blankUser = { isDataAnalysisPyCertV7: false, isMachineLearningPyCertV7: false, isRelationalDatabaseCertV8: false, + isCollegeAlgebraPyCertV8: false, completedChallenges: [], portfolio: [], yearsTopContributor: [],