feat(curriculum): make college algebra with python live (#49695)

This commit is contained in:
Tom
2023-03-23 16:57:32 -05:00
committed by GitHub
parent 90efc43149
commit 605fdf220a
46 changed files with 337 additions and 167 deletions
+4 -2
View File
@@ -163,7 +163,8 @@ function sendCertifiedEmail(
isSciCompPyCertV7,
isDataAnalysisPyCertV7,
isMachineLearningPyCertV7,
isRelationalDatabaseCertV8
isRelationalDatabaseCertV8,
isCollegeAlgebraPyCertV8
},
send$
) {
@@ -179,7 +180,8 @@ function sendCertifiedEmail(
!isSciCompPyCertV7 ||
!isDataAnalysisPyCertV7 ||
!isMachineLearningPyCertV7 ||
!isRelationalDatabaseCertV8
!isRelationalDatabaseCertV8 ||
!isCollegeAlgebraPyCertV8
) {
return Observable.just(false);
}
+10 -10
View File
@@ -785,8 +785,8 @@
"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",
"build-a-multi-function-calculator-project": {
"title": "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."
@@ -816,8 +816,8 @@
"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",
"build-a-graphing-calculator-project": {
"title": "Graphing Calculator",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a graphing calculator."
@@ -829,8 +829,8 @@
"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",
"build-three-math-games-project": {
"title": "Three Math Games",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build three math games."
@@ -854,8 +854,8 @@
"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",
"build-a-financial-calculator-project": {
"title": "Financial Calculator",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a financial calculator."
@@ -867,8 +867,8 @@
"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",
"build-a-data-graph-explorer-project": {
"title": "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."
@@ -1542,6 +1542,146 @@ exports[`should check certification button consistency 1`] = `
</table>
</div>
</div>,
<div
className="row"
>
<div
className="col-sm-8 col-sm-offset-2 col-xs-12"
>
<div
className="spacer"
style={
{
"height": "1px",
"padding": "15px 0",
}
}
/>
<h3
className="text-center"
id="cert-college-algebra-with-python-v8"
>
certification.title.College Algebra with Python
</h3>
<table
className="table"
>
<thead>
<tr>
<th>
settings.labels.project-name
</th>
<th>
settings.labels.solution
</th>
</tr>
</thead>
<tbody>
<tr
className="project-row"
>
<td
className="project-title col-sm-8 col-xs-8"
>
<a
href="/learn/college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator"
>
certification.project.title.Build a Multi-Function Calculator
</a>
</td>
<td
className="project-solution col-sm-4 col-xs-4"
/>
</tr>
<tr
className="project-row"
>
<td
className="project-title col-sm-8 col-xs-8"
>
<a
href="/learn/college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator"
>
certification.project.title.Build a Graphing Calculator
</a>
</td>
<td
className="project-solution col-sm-4 col-xs-4"
/>
</tr>
<tr
className="project-row"
>
<td
className="project-title col-sm-8 col-xs-8"
>
<a
href="/learn/college-algebra-with-python/build-three-math-games-project/build-three-math-games"
>
certification.project.title.Build Three Math Games
</a>
</td>
<td
className="project-solution col-sm-4 col-xs-4"
/>
</tr>
<tr
className="project-row"
>
<td
className="project-title col-sm-8 col-xs-8"
>
<a
href="/learn/college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator"
>
certification.project.title.Build a Financial Calculator
</a>
</td>
<td
className="project-solution col-sm-4 col-xs-4"
/>
</tr>
<tr
className="project-row"
>
<td
className="project-title col-sm-8 col-xs-8"
>
<a
href="/learn/college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer"
>
certification.project.title.Build a Data Graph Explorer
</a>
</td>
<td
className="project-solution col-sm-4 col-xs-4"
/>
</tr>
<tr>
<td
colSpan={2}
>
<a
className="col-xs-12 btn btn-primary btn-block"
data-cy="btn-for-college-algebra-with-python-v8"
href="/certification/undefined/college-algebra-with-python-v8"
onClick={[Function]}
onKeyDown={[Function]}
>
buttons.claim-cert
<span
className="sr-only"
>
College Algebra with Python
</span>
</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>,
]
`;
+9 -2
View File
@@ -93,7 +93,8 @@ export const certificatesByNameSelector = username => state => {
isSciCompPyCertV7,
isDataAnalysisPyCertV7,
isMachineLearningPyCertV7,
isRelationalDatabaseCertV8
isRelationalDatabaseCertV8,
isCollegeAlgebraPyCertV8
} = userByNameSelector(username)(state);
return {
hasModernCert:
@@ -108,7 +109,8 @@ export const certificatesByNameSelector = username => state => {
isSciCompPyCertV7 ||
isDataAnalysisPyCertV7 ||
isMachineLearningPyCertV7 ||
isRelationalDatabaseCertV8,
isRelationalDatabaseCertV8 ||
isCollegeAlgebraPyCertV8,
hasLegacyCert:
isFrontEndCert || isBackEndCert || isDataVisCert || isInfosecQaCert,
isFullStackCert,
@@ -167,6 +169,11 @@ export const certificatesByNameSelector = username => state => {
show: isRelationalDatabaseCertV8,
title: 'Relational Database Certification',
certSlug: 'relational-database-v8'
},
{
show: isCollegeAlgebraPyCertV8,
title: 'College Algebra with Python Certification',
certSlug: 'college-algebra-with-python-v8'
}
],
legacyCerts: [
+15 -11
View File
@@ -723,32 +723,32 @@ const certMap = [
projects: [
{
id: '63d83ff239c73468b059cd3f',
title: 'Multi-Function Calculator',
link: `${collegeAlgebraPyBase}/multi-function-calculator`,
title: 'Build a Multi-Function Calculator',
link: getCollegeAlgebraPyPath('build-a-multi-function-calculator'),
certSlug: 'college-algebra-with-python-v8'
},
{
id: '63d83ffd39c73468b059cd40',
title: 'Graphing Calculator',
link: `${collegeAlgebraPyBase}/graphing-calculator`,
title: 'Build a Graphing Calculator',
link: getCollegeAlgebraPyPath('build-a-graphing-calculator'),
certSlug: 'college-algebra-with-python-v8'
},
{
id: '63d8401039c73468b059cd41',
title: 'Three Math Games',
link: `${collegeAlgebraPyBase}/three-math-games`,
title: 'Build Three Math Games',
link: getCollegeAlgebraPyPath('build-three-math-games'),
certSlug: 'college-algebra-with-python-v8'
},
{
id: '63d8401e39c73468b059cd42',
title: 'Financial Calculator',
link: `${collegeAlgebraPyBase}/financial-calculator`,
title: 'Build a Financial Calculator',
link: getCollegeAlgebraPyPath('build-a-financial-calculator'),
certSlug: 'college-algebra-with-python-v8'
},
{
id: '63d8402e39c73468b059cd43',
title: 'Data Graph Explorer',
link: `${collegeAlgebraPyBase}/data-graph-explorer`,
title: 'Build a Data Graph Explorer',
link: getCollegeAlgebraPyPath('build-a-data-graph-explorer'),
certSlug: 'college-algebra-with-python-v8'
}
]
@@ -759,6 +759,10 @@ function getResponsiveWebDesignPath(project: string) {
return `${responsiveWeb22Base}/${project}-project/${project}`;
}
function getCollegeAlgebraPyPath(project: string) {
return `${collegeAlgebraPyBase}/${project}-project/${project}`;
}
function getJavaScriptAlgoPath(project: string) {
return showUpcomingChanges
? `${jsAlgo22Base}/${project}-project/${project}`
@@ -778,7 +782,7 @@ certMap.forEach(cert => {
legacyProjectMap[cert.title] = cert.projects;
// 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')) {
} else {
projectMap[cert.title] = cert.projects;
}
}
+20 -20
View File
@@ -106,24 +106,24 @@
"build-a-roman-numeral-converter-project": "JavaScript",
"build-a-telephone-number-validator-project": "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"
"build-a-multi-function-calculator-project": "Python",
"build-a-graphing-calculator-project": "Python",
"build-three-math-games-project": "Python",
"build-a-financial-calculator-project": "Python",
"build-a-data-graph-explorer-project": "Python",
"learn-ratios-and-proportions": "Python",
"learn-how-to-solve-for-x": "Python",
"learn-applications-of-linear-systems": "Python",
"learn-business-applications-of-college-algebra": "Python",
"learn-common-factors-and-square-roots": "Python",
"learn-exponents-and-logarithms": "Python",
"learn-fractions-and-decimals": "Python",
"learn-functions-and-graphing": "Python",
"learn-how-to-graph-systems-of-equations": "Python",
"learn-how-to-solve-systems-of-equations": "Python",
"learn-linear-functions": "Python",
"learn-parent-graphs-and-polynomials": "Python",
"learn-quadratic-equations": "Python",
"learn-simple-and-compound-interest": "Python",
"college-algebra-with-python-conclusion": "Python"
}
+2 -2
View File
@@ -148,10 +148,10 @@ describe("'superBlockOrder' helper functions", () => {
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler,
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject,
SuperBlocks.RespWebDesign
];
@@ -190,10 +190,10 @@ describe("'superBlockOrder' helper functions", () => {
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler,
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
];
expect(notAuditedSuperBlocks).toStrictEqual(test);
+40 -24
View File
@@ -55,7 +55,7 @@ type SuperBlockOrder = {
};
// all languages should have this many, one for each current cert
export const numberOfSuperBlocksOnLanding = 11;
export const numberOfSuperBlocksOnLanding = 12;
/*
* This is the used for tests to make sure a superBlock isn't out of order
@@ -108,7 +108,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -124,13 +125,13 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
@@ -155,7 +156,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -178,13 +180,13 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.RelationalDb,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -203,7 +205,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -226,13 +229,13 @@ export const superBlockOrder: SuperBlockOrder = {
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [
SuperBlocks.RelationalDb,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -251,7 +254,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -274,13 +278,13 @@ export const superBlockOrder: SuperBlockOrder = {
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [
SuperBlocks.RelationalDb,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -299,7 +303,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -322,11 +327,13 @@ export const superBlockOrder: SuperBlockOrder = {
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
},
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [SuperBlocks.ProjectEuler],
[SuperBlockStates.Current]: [
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -345,7 +352,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -368,11 +376,13 @@ export const superBlockOrder: SuperBlockOrder = {
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
},
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [SuperBlocks.ProjectEuler],
[SuperBlockStates.Current]: [
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -391,7 +401,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -414,13 +425,13 @@ export const superBlockOrder: SuperBlockOrder = {
},
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -439,7 +450,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -463,11 +475,13 @@ export const superBlockOrder: SuperBlockOrder = {
[SuperBlockStates.Legacy]: []
},
[TranslationStates.NotAudited]: {
[SuperBlockStates.Current]: [SuperBlocks.ProjectEuler],
[SuperBlockStates.Current]: [
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -486,7 +500,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -510,13 +525,13 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: []
@@ -535,7 +550,8 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.SciCompPy,
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy
],
[CurriculumMaps.Learn]: {
[TranslationStates.Audited]: {
@@ -558,13 +574,13 @@ export const superBlockOrder: SuperBlockOrder = {
SuperBlocks.DataAnalysisPy,
SuperBlocks.InfoSec,
SuperBlocks.MachineLearningPy,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.CodingInterviewPrep,
SuperBlocks.ProjectEuler
],
[SuperBlockStates.New]: [],
[SuperBlockStates.Upcoming]: [
SuperBlocks.JsAlgoDataStructNew,
SuperBlocks.CollegeAlgebraPy,
SuperBlocks.TheOdinProject
],
[SuperBlockStates.Legacy]: [SuperBlocks.RespWebDesign]
@@ -1,15 +1,14 @@
{
"name": "Build a Data Graph Explorer",
"isUpcomingChange": true,
"dashedName": "build-a-data-graph-explorer",
"name": "Build a Data Graph Explorer Project",
"isUpcomingChange": false,
"order": 19,
"time": "150 hours",
"time": "30 hours",
"template": "",
"required": [],
"superBlock": "college-algebra-with-python",
"challengeOrder": [
[
"63d8402e39c73468b059cd43",
"Data Graph Explorer"
"Build a Data Graph Explorer"
]
]}
@@ -1,15 +1,14 @@
{
"name": "Build a Financial Calculator",
"isUpcomingChange": true,
"dashedName": "build-a-financial-calculator",
"name": "Build a Financial Calculator Project",
"isUpcomingChange": false,
"order": 17,
"time": "150 hours",
"time": "30 hours",
"template": "",
"required": [],
"superBlock": "college-algebra-with-python",
"challengeOrder": [
[
"63d8401e39c73468b059cd42",
"Financial Calculator"
"Build a Financial Calculator"
]
]}
@@ -1,15 +1,14 @@
{
"name": "Build a Graphing Calculator",
"isUpcomingChange": true,
"dashedName": "build-a-graphing-calculator",
"name": "Build a Graphing Calculator Project",
"isUpcomingChange": false,
"order": 11,
"time": "150 hours",
"time": "30 hours",
"template": "",
"required": [],
"superBlock": "college-algebra-with-python",
"challengeOrder": [
[
"63d83ffd39c73468b059cd40",
"Graphing Calculator"
"Build a Graphing Calculator"
]
]}
@@ -0,0 +1,14 @@
{
"name": "Build a Multi-Function Calculator Project",
"isUpcomingChange": false,
"order": 6,
"time": "30 hours",
"template": "",
"required": [],
"superBlock": "college-algebra-with-python",
"challengeOrder": [
[
"63d83ff239c73468b059cd3f",
"Build a Multi-Function Calculator"
]
]}
@@ -1,15 +0,0 @@
{
"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"
]
]}
@@ -1,15 +1,14 @@
{
"name": "Build Three Math Games",
"isUpcomingChange": true,
"dashedName": "build-three-math-games",
"name": "Build Three Math Games Project",
"isUpcomingChange": false,
"order": 13,
"time": "150 hours",
"time": "30 hours",
"template": "",
"required": [],
"superBlock": "college-algebra-with-python",
"challengeOrder": [
[
"63d8401039c73468b059cd41",
"Three Math Games"
"Build Three Math Games"
]
]}
@@ -1,6 +1,6 @@
{
"name": "College Algebra with Python: Conclusion",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "college-algebra-with-python-conclusion",
"order": 18,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Applications of Linear Systems",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-applications-of-linear-systems",
"order": 9,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Business Applications of College Algebra",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-business-applications-of-college-algebra",
"order": 14,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Common Factors and Square Roots",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-common-factors-and-square-roots",
"order": 5,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Exponents and Logarithms",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-exponents-and-logarithms",
"order": 16,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Fractions and Decimals",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-fractions-and-decimals",
"order": 2,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Functions and Graphing",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-functions-and-graphing",
"order": 3,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn How to Graph Systems of Equations",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-how-to-graph-systems-of-equations",
"order": 7,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn How to Solve for X",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-how-to-solve-for-x",
"order": 1,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn How to Solve Systems of Equations",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-how-to-solve-systems-of-equations",
"order": 8,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Linear Functions",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-linear-functions",
"order": 4,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Parent Graphs and Polynomials",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-parent-graphs-and-polynomials",
"order": 12,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Quadratic Equations",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-quadratic-equations",
"order": 10,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Ratios and Proportions",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-ratios-and-proportions",
"order": 0,
"time": "",
@@ -1,6 +1,6 @@
{
"name": "Learn Simple and Compound Interest",
"isUpcomingChange": true,
"isUpcomingChange": false,
"dashedName": "learn-simple-and-compound-interest",
"order": 15,
"time": "",
@@ -1,16 +1,17 @@
---
id: 61531b20cc9dfa2741a5b800
title: College Algebra with Python Certification
certification: college-algebra-with-python
challengeType: 7
isPrivate: true
tests:
- id: 63d83ff239c73468b059cd3f
title: Multi-Function Calculator
title: Build a Multi-Function Calculator
- id: 63d83ffd39c73468b059cd40
title: Graphing Calculator
title: Build a Graphing Calculator
- id: 63d8401039c73468b059cd41
title: Three Math Games
title: Build Three Math Games
- id: 63d8401e39c73468b059cd42
title: Financial Calculator
title: Build a Financial Calculator
- id: 63d8402e39c73468b059cd43
title: Data Graph Explorer
title: Build a Data Graph Explorer
@@ -1,13 +1,13 @@
---
id: 63d8402e39c73468b059cd43
title: "Data Graph Explorer"
title: "Build a Data Graph Explorer"
challengeType: 10
dashedName: data-graph-explorer
dashedName: build-a-data-graph-explorer
---
# --description--
You will be <a href="https://colab.research.google.com/github/freeCodeCamp/boilerplate-cat-and-dog-image-classifier/blob/master/fcc_cat_dog.ipynb" target="_blank" rel="noopener noreferrer nofollow">working on this project with Google Colaboratory</a>.
You will be <a href="https://colab.research.google.com/#create=true" target="_blank" rel="noopener noreferrer nofollow">working on this project with Google Colaboratory</a>.
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."
@@ -1,8 +1,8 @@
---
id: 63d8401e39c73468b059cd42
title: "Financial Calculator"
title: "Build a Financial Calculator"
challengeType: 10
dashedName: financial-calculator
dashedName: build-a-financial-calculator
---
# --description--
@@ -1,8 +1,8 @@
---
id: 63d83ffd39c73468b059cd40
title: "Graphing Calculator"
title: "Build a Graphing Calculator"
challengeType: 10
dashedName: graphing-calculator
dashedName: build-a-graphing-calculator
---
# --description--
@@ -1,8 +1,8 @@
---
id: 63d83ff239c73468b059cd3f
title: "Multi-Function Calculator"
title: "Build a Multi-Function Calculator"
challengeType: 10
dashedName: multi-function-calculator
dashedName: build-a-multi-function-calculator
---
# --description--
@@ -1,13 +1,13 @@
---
id: 63d8401039c73468b059cd41
title: "Three Math Games"
title: "Build Three Math Games"
challengeType: 10
dashedName: three-math-games
dashedName: build-three-math-games
---
# --description--
You will be <a href="https://colab.research.google.com/github/freeCodeCamp/boilerplate-cat-and-dog-image-classifier/blob/master/fcc_cat_dog.ipynb" target="_blank" rel="noopener noreferrer nofollow">working on this project with Google Colaboratory</a>.
You will be <a href="https://colab.research.google.com/#create=true" target="_blank" rel="noopener noreferrer nofollow">working on this project with Google Colaboratory</a>.
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."
@@ -2,7 +2,7 @@
id: 6363d2959078df117ce4c408
title: "More Resources in Colab"
challengeType: 15
videoId: L5hh3Og9RCU
videoId: HNFrRHqpck4
dashedName: more-resources-in-colab
---
@@ -2,7 +2,7 @@
id: 6363d2899078df117ce4c407
title: "Spreadsheets and Additional Resources"
challengeType: 15
videoId: HNFrRHqpck4
videoId: JH9Uk2mi3Dc
dashedName: spreadsheets-and-additional-resources
---
@@ -8,7 +8,7 @@ dashedName: exponents-and-logarithms
# --description--
Here is the <a href="https://colab.research.google.com/drive/1IVBaeX84arJXS73raRROaxbz4qMyFVb6?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">Colab notebook to go along with this video.</a>
Here is the <a href="https://colab.research.google.com/drive/1hg7ecxGT20B8HR2mV75HzMylj9SHIWH8?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">Colab notebook to go along with this video.</a>
# --question--
@@ -10,7 +10,7 @@ dashedName: fractions-and-decimals-extra
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 <a href="https://colab.research.google.com/drive/1ND_gULby6RWU4Zs27Z7V5WK2g7fHPk1b?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">the Colab notebook used in this video</a> so you can use it as a model.
Here is <a href="https://colab.research.google.com/drive/1a_RtRtVfeO0m2528T4V-bCXozWf3HpM7?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">the Colab notebook used in this video</a> so you can use it as a model.
# --question--
@@ -10,7 +10,7 @@ dashedName: graphing-systems
This first video will show you how to graph systems of equations with with written math, then code.
Here is the <a href="https://colab.research.google.com/drive/1tB7N3QqHEbGk33v0BdTwZTVkS9ju9yn6?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">Colab notebook used in this video.</a>
Here is the <a href="https://colab.research.google.com/drive/1N1JEZJctODxsntROnmg0VqMSHXYdIlFD?usp=sharing" target="_blank" rel="noopener noreferrer nofollow">Colab notebook used in this video.</a>
# --question--
@@ -24,7 +24,7 @@ Open the following Colab notebook, run the cell, and <a href="https://colab.rese
## --text--
If you import sympy and define x as a variable, what would be the input from the following code?
If you import sympy and define x as a variable, what would be the output from the following code?
```py
example = 3*x - 12
+20 -17
View File
@@ -21,9 +21,10 @@ const englishTest = {
[SuperBlocks.DataAnalysisPy]: 8,
[SuperBlocks.InfoSec]: 9,
[SuperBlocks.MachineLearningPy]: 10,
[SuperBlocks.CodingInterviewPrep]: 11,
[SuperBlocks.ProjectEuler]: 12,
[SuperBlocks.RespWebDesign]: 13
[SuperBlocks.CollegeAlgebraPy]: 11,
[SuperBlocks.CodingInterviewPrep]: 12,
[SuperBlocks.ProjectEuler]: 13,
[SuperBlocks.RespWebDesign]: 14
};
const upcomingTest = {
@@ -38,10 +39,10 @@ const upcomingTest = {
[SuperBlocks.DataAnalysisPy]: 8,
[SuperBlocks.InfoSec]: 9,
[SuperBlocks.MachineLearningPy]: 10,
[SuperBlocks.CodingInterviewPrep]: 11,
[SuperBlocks.ProjectEuler]: 12,
[SuperBlocks.JsAlgoDataStructNew]: 13,
[SuperBlocks.CollegeAlgebraPy]: 14,
[SuperBlocks.CollegeAlgebraPy]: 11,
[SuperBlocks.CodingInterviewPrep]: 12,
[SuperBlocks.ProjectEuler]: 13,
[SuperBlocks.JsAlgoDataStructNew]: 14,
[SuperBlocks.TheOdinProject]: 15,
[SuperBlocks.RespWebDesign]: 16
};
@@ -59,8 +60,9 @@ const espanolTest = {
[SuperBlocks.RelationalDb]: 9,
[SuperBlocks.InfoSec]: 10,
[SuperBlocks.MachineLearningPy]: 11,
[SuperBlocks.CodingInterviewPrep]: 12,
[SuperBlocks.ProjectEuler]: 13
[SuperBlocks.CollegeAlgebraPy]: 12,
[SuperBlocks.CodingInterviewPrep]: 13,
[SuperBlocks.ProjectEuler]: 14
};
const chineseTest = {
@@ -76,8 +78,9 @@ const chineseTest = {
[SuperBlocks.MachineLearningPy]: 9,
[SuperBlocks.RespWebDesign]: 10,
[SuperBlocks.RelationalDb]: 11,
[SuperBlocks.CodingInterviewPrep]: 12,
[SuperBlocks.ProjectEuler]: 13
[SuperBlocks.CollegeAlgebraPy]: 12,
[SuperBlocks.CodingInterviewPrep]: 13,
[SuperBlocks.ProjectEuler]: 14
};
describe('createSuperOrder', () => {
@@ -148,7 +151,7 @@ describe('getSuperOrder', () => {
}
if (process.env.SHOW_UPCOMING_CHANGES !== 'true') {
expect.assertions(14);
expect.assertions(15);
} else {
expect.assertions(17);
}
@@ -164,16 +167,16 @@ describe('getSuperOrder', () => {
expect(getSuperOrder(SuperBlocks.DataAnalysisPy)).toBe(8);
expect(getSuperOrder(SuperBlocks.InfoSec)).toBe(9);
expect(getSuperOrder(SuperBlocks.MachineLearningPy)).toBe(10);
expect(getSuperOrder(SuperBlocks.CodingInterviewPrep)).toBe(11);
expect(getSuperOrder(SuperBlocks.ProjectEuler)).toBe(12);
expect(getSuperOrder(SuperBlocks.CollegeAlgebraPy)).toBe(11);
expect(getSuperOrder(SuperBlocks.CodingInterviewPrep)).toBe(12);
expect(getSuperOrder(SuperBlocks.ProjectEuler)).toBe(13);
if (process.env.SHOW_UPCOMING_CHANGES === 'true') {
expect(getSuperOrder(SuperBlocks.JsAlgoDataStructNew)).toBe(13);
expect(getSuperOrder(SuperBlocks.CollegeAlgebraPy)).toBe(14);
expect(getSuperOrder(SuperBlocks.JsAlgoDataStructNew)).toBe(14);
expect(getSuperOrder(SuperBlocks.TheOdinProject)).toBe(15);
expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(16);
} else {
expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(13);
expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(14);
}
});
});
+3 -2
View File
@@ -21,7 +21,8 @@ const certifications = [
'Scientific Computing with Python',
'Data Analysis with Python',
'Information Security',
'Machine Learning with Python'
'Machine Learning with Python',
'College Algebra with Python'
];
describe('Landing page', () => {
@@ -69,7 +70,7 @@ describe('Landing page', () => {
cy.get(landingPageElements.certifications)
.children()
.its('length')
.should('eq', 11);
.should('eq', 12);
cy.wrap(certifications).each((cert: LandingPageLogs) => {
cy.get(landingPageElements.certifications).contains(cert);
});
+2 -1
View File
@@ -18,6 +18,7 @@ const superBlockNames = [
'Data Analysis with Python Certification',
'Information Security Certification',
'Machine Learning with Python Certification',
'College Algebra with Python Certification',
'Coding Interview Prep',
'Project Euler',
'Legacy Responsive Web Design Certification'
@@ -44,7 +45,7 @@ describe('Learn Landing page (not logged in)', () => {
const superBlocks = document.querySelectorAll<HTMLAnchorElement>(
`${challengerSelector.challengeMap} > li > a`
);
expect(superBlocks).to.have.length(14);
expect(superBlocks).to.have.length(15);
superBlocks.forEach((superBlock, idx) => {
expect(superBlock.innerText).to.have.string(superBlockNames[idx]);
@@ -10,7 +10,7 @@ describe('Settings certifications area', () => {
it('Should render the default settings page', () => {
cy.visit('/settings/');
cy.findAllByText('Claim Certification').should($btns => {
expect($btns).to.have.length(16);
expect($btns).to.have.length(17);
});
cy.findByText('Show Certification').should('not.exist');
cy.contains(`I agree to freeCodeCamp's Academic Honesty Policy.`);
+2 -2
View File
@@ -14,7 +14,7 @@ describe('Public profile certifications', () => {
// The following line is only required if you want to test it in development
//cy.contains('Preview custom 404 page').click();
cy.get('[data-cy=claimed-certification]').should('have.length', 16);
cy.get('[data-cy=claimed-certification]').should('have.length', 17);
});
it('Should show claimed certifications if the username includes uppercase characters', () => {
@@ -32,7 +32,7 @@ describe('Public profile certifications', () => {
// The following line is only required if you want to test it in development
//cy.contains('Preview custom 404 page').click();
cy.get('[data-cy=claimed-certification]').should('have.length', 16);
cy.get('[data-cy=claimed-certification]').should('have.length', 17);
});
});