finish initial coding and copy. doing a quick qa cycle

This commit is contained in:
Michael Q Larson
2014-11-03 13:24:30 -08:00
parent 97ddb9bc21
commit b3542862b0
4 changed files with 71 additions and 31 deletions

View File

@ -9,6 +9,7 @@ exports.aOneMinuteIntroToFreeCodeCamp = function(req, res) {
name: 'A one-minute introduction to Free Code Camp', name: 'A one-minute introduction to Free Code Camp',
video: "110729062", video: "110729062",
time: "1 minute", time: "1 minute",
next: '/challenges/enter-the-free-code-camp-chat-room',
steps: ["Watch this video.", "When you're done, click the \"I've completed this challenge\" button to move on to your next challenge."] steps: ["Watch this video.", "When you're done, click the \"I've completed this challenge\" button to move on to your next challenge."]
}); });
}; };
@ -18,6 +19,7 @@ exports.enterTheFreeCodeCampChatRoom = function(req, res) {
name: 'Enter the Free Code Camp Chat Room', name: 'Enter the Free Code Camp Chat Room',
video: "110753794", video: "110753794",
time: "5 minutes", time: "5 minutes",
next: '/challenges/create-and-deploy-a-website',
steps: ["Register for the Free Code Camp chat room at <a href='https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a' target='_blank'>https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a</a>", "Introduce yourself to our chat room by typing: \"hello world!\""] steps: ["Register for the Free Code Camp chat room at <a href='https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a' target='_blank'>https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a</a>", "Introduce yourself to our chat room by typing: \"hello world!\""]
}); });
}; };
@ -27,6 +29,7 @@ exports.createAndDeployAWebsite = function(req, res) {
name: 'Create a Website and Deploy it to the Internet', name: 'Create a Website and Deploy it to the Internet',
video: "110753793", video: "110753793",
time: "5 minutes", time: "5 minutes",
next: '/challenges/install-github-atom-text-editor',
steps: ["Download a template from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a>", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Find the template you downloaded in your file manager (Finder on Mac, Windows Explorer on Windows)", "Drag the entire template directory onto BitBalloon to deploy it", "Once it's deployed, share the link to it in the Free Code Camp chat room."] steps: ["Download a template from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a>", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Find the template you downloaded in your file manager (Finder on Mac, Windows Explorer on Windows)", "Drag the entire template directory onto BitBalloon to deploy it", "Once it's deployed, share the link to it in the Free Code Camp chat room."]
}); });
}; };
@ -36,6 +39,7 @@ exports.installGithubAtomTextEditor = function(req, res) {
name: "Install Github's Atom Text Editor", name: "Install Github's Atom Text Editor",
video: "", video: "",
time: "5 minutes", time: "5 minutes",
next: '/challenges/modify-and-redeploy-your-website',
steps: ["Download the Atom editor at <a href='http://atom.io' target='_blank'>http://atom.io</a>", "Unzip it and install Atom.", "Open up Atom.", "Now you have a dedicated text editor!"] steps: ["Download the Atom editor at <a href='http://atom.io' target='_blank'>http://atom.io</a>", "Unzip it and install Atom.", "Open up Atom.", "Now you have a dedicated text editor!"]
}); });
}; };
@ -45,6 +49,7 @@ exports.modifyAndRedeployYourWebsite = function(req, res) {
name: 'Modify and Redeploy Your Website', name: 'Modify and Redeploy Your Website',
video: "110753792", video: "110753792",
time: "5 minutes", time: "5 minutes",
next: '/challenges/start-a-pair-programming-session',
steps: ["Open up the template you downloaded from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a> in your file manager (Finder on Mac and Windows Explorer on Windows).", "Open up the index.html file with Atom", "Find the title tag in the HTML and change it.", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Drag the entire template directory onto BitBalloon to deploy it", "Verify that the title has indeed changed."] steps: ["Open up the template you downloaded from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a> in your file manager (Finder on Mac and Windows Explorer on Windows).", "Open up the index.html file with Atom", "Find the title tag in the HTML and change it.", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Drag the entire template directory onto BitBalloon to deploy it", "Verify that the title has indeed changed."]
}); });
}; };
@ -54,6 +59,7 @@ exports.startAPairProgrammingSession = function(req, res) {
name: "Start Your First Pair Programming Session", name: "Start Your First Pair Programming Session",
video: "110753642", video: "110753642",
time: "5 minutes", time: "5 minutes",
next: '/challenges/add-dynamic-content-to-your-website',
steps: [ steps: [
"Download Screen Hero, the popular pair programming tool, here: <a href='https://screenhero.com/download.html' target='_blank'>https://screenhero.com/download.html</a>", "Register your account with the same email address you used when you registered for the Free Code Camp chat room.", "Go to the Free Code Camp chat room.", "Say hi to somebody, and ask if they can pair program with you real quick.", "Type '/hero @' and their name to start a Screen Hero session with them.", "Once you've \"paired\" with someone, they become your \"pair\". Show your new pair the website your just created." "Download Screen Hero, the popular pair programming tool, here: <a href='https://screenhero.com/download.html' target='_blank'>https://screenhero.com/download.html</a>", "Register your account with the same email address you used when you registered for the Free Code Camp chat room.", "Go to the Free Code Camp chat room.", "Say hi to somebody, and ask if they can pair program with you real quick.", "Type '/hero @' and their name to start a Screen Hero session with them.", "Once you've \"paired\" with someone, they become your \"pair\". Show your new pair the website your just created."
] ]
@ -65,6 +71,7 @@ exports.addDynamicContentToYourWebsite = function(req, res) {
name: "Add Dynamic Content to your Website", name: "Add Dynamic Content to your Website",
video: "", video: "",
time: "10 minutes", time: "10 minutes",
next: '/challenges/codecademy-html-and-css-track',
steps: ["Go to <a href='http://www.powr.io' target='_blank'>http://www.powr.io</a>", "From the dropdown menus, choose 'Contact Form' and 'HTML'", "Find the template you downloaded from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a> in your file manager (Finder on Mac and Windows Explorer on Windows).", "Drag the file to Atom", "Copy the lines of HTML from the POWr tutorial to your index.html file, being careful to put them where they belong.", "Drag the entire template directory onto BitBalloon to deploy it", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Verify that the form works by filling it out and submitting it. You can then go back to POWr.io and view the new database record that the form created.", "Now add a the POWr.io Twitter feed to your portfolio website, then redeploy it to BitBalloon."] steps: ["Go to <a href='http://www.powr.io' target='_blank'>http://www.powr.io</a>", "From the dropdown menus, choose 'Contact Form' and 'HTML'", "Find the template you downloaded from <a href='http://startbootstrap.com' target='_blank'>http://startbootstrap.com</a> in your file manager (Finder on Mac and Windows Explorer on Windows).", "Drag the file to Atom", "Copy the lines of HTML from the POWr tutorial to your index.html file, being careful to put them where they belong.", "Drag the entire template directory onto BitBalloon to deploy it", "Go to <a href='http://bitballoon.com' target='_blank'>http://bitballoon.com</a>", "Verify that the form works by filling it out and submitting it. You can then go back to POWr.io and view the new database record that the form created.", "Now add a the POWr.io Twitter feed to your portfolio website, then redeploy it to BitBalloon."]
}); });
}; };
@ -74,6 +81,7 @@ exports.codecademyHtmlAndCssTrack = function(req, res) {
name: "Codecademy's HTML & CSS Track", name: "Codecademy's HTML & CSS Track",
video: "110753641", video: "110753641",
time: "7 hours", time: "7 hours",
next: '/challenges/experiment-with-html-and-css-in-codepen',
steps: [ steps: [
"Go to <a href='http://www.codecademy.com/tracks/web' target='_blank'>http://www.codecademy.com/tracks/web</a> and complete the course." "Go to <a href='http://www.codecademy.com/tracks/web' target='_blank'>http://www.codecademy.com/tracks/web</a> and complete the course."
] ]
@ -85,6 +93,7 @@ exports.experimentWithHtmlAndCssInCodepen = function(req, res) {
name: "Experiment with HTML and CSS in CodePen", name: "Experiment with HTML and CSS in CodePen",
video: "110752744", video: "110752744",
time: "10 minutes", time: "10 minutes",
next: '/challenges/code-school-try-jquery-course',
steps: [ steps: [
"Go to <a href='http://www.newsweek.com/' target='_blank'>http://www.newsweek.com/</a>", "Change the window size. Note that Newsweek.com is using <strong>Responsive Design</strong>.", "Right-click an area of the page that doesn't have any HTML elements on it, then choose 'view page source'.", "Select all the text, then copy it.", "Go to <a href='http://codepen.io/pen/' target='_blank'>http://codepen.io/pen/</a>", "Paste the HTML you copied from Newsweek.com into the HTML field of Codepen.", "You now have your own customizable version of the Newsweek.com webpage. See if you can change some of the text and images." "Go to <a href='http://www.newsweek.com/' target='_blank'>http://www.newsweek.com/</a>", "Change the window size. Note that Newsweek.com is using <strong>Responsive Design</strong>.", "Right-click an area of the page that doesn't have any HTML elements on it, then choose 'view page source'.", "Select all the text, then copy it.", "Go to <a href='http://codepen.io/pen/' target='_blank'>http://codepen.io/pen/</a>", "Paste the HTML you copied from Newsweek.com into the HTML field of Codepen.", "You now have your own customizable version of the Newsweek.com webpage. See if you can change some of the text and images."
] ]
@ -95,6 +104,7 @@ exports.codeSchoolTryJqueryCourse = function(req, res) {
res.render('challenges/code-school-try-jquery-course', { res.render('challenges/code-school-try-jquery-course', {
name: "Code School's Try jQuery Course", name: "Code School's Try jQuery Course",
time: "4 hours", time: "4 hours",
next: '/challenges/jquery-exercises',
video: "110753638", video: "110753638",
steps: [ steps: [
"Go to <a href='https://www.codeschool.com/courses/try-jquery' target='_blank'>https://www.codeschool.com/courses/try-jquery</a> and complete the course." "Go to <a href='https://www.codeschool.com/courses/try-jquery' target='_blank'>https://www.codeschool.com/courses/try-jquery</a> and complete the course."
@ -106,6 +116,7 @@ exports.jqueryExercises = function(req, res) {
res.render('challenges/jquery-exercises', { res.render('challenges/jquery-exercises', {
name: "jQuery Exercises", name: "jQuery Exercises",
time: "3 hours", time: "3 hours",
next: '/challenges/code-school-discover-devtools-course',
video: "110752745", video: "110752745",
steps: [ steps: [
"Go to <a href='http://jqexercise.droppages.com/' target='_blank'>http://jqexercise.droppages.com/</a> and complete all of the exercises.", "The person who created it was not a native English speaker, so please excuse the spelling and grammar mistakes.", "This will be a lot more fun if you pair program with someone from the Free Code Camp chat room." "Go to <a href='http://jqexercise.droppages.com/' target='_blank'>http://jqexercise.droppages.com/</a> and complete all of the exercises.", "The person who created it was not a native English speaker, so please excuse the spelling and grammar mistakes.", "This will be a lot more fun if you pair program with someone from the Free Code Camp chat room."
@ -117,6 +128,7 @@ exports.codeSchoolDiscoverDevtoolsCourse = function(req, res) {
res.render('challenges/code-school-discover-devtools-course', { res.render('challenges/code-school-discover-devtools-course', {
name: "Code School's Discover DevTools", name: "Code School's Discover DevTools",
time: "2 hours", time: "2 hours",
next: '/challenges/customize-bootstrap-with-bootswatch',
video: "110752743", video: "110752743",
steps: [ steps: [
"Go to <a href='http://discover-devtools.codeschool.com/' target='_blank'>http://discover-devtools.codeschool.com/</a> and complete the course." "Go to <a href='http://discover-devtools.codeschool.com/' target='_blank'>http://discover-devtools.codeschool.com/</a> and complete the course."
@ -128,6 +140,7 @@ exports.customizeBootstrapWithBootswatch = function(req, res) {
res.render('challenges/customize-bootstrap-with-bootswatch', { res.render('challenges/customize-bootstrap-with-bootswatch', {
name: "Customize Bootstrap with Bootswatch", name: "Customize Bootstrap with Bootswatch",
time: "10 minutes", time: "10 minutes",
next: '/challenges/inject-life-with-css-transformations',
video: "110752741", video: "110752741",
steps: ["Go to <a href='http://getbootstrap.com/components/' target='_blank'>http://getbootstrap.com/components/</a>", "Right-click an area of the page that doesn't have any HTML elements on it, then choose 'view page source'.", "Select all the text, then copy it.", "Go to <a href='http://codepen.io/pen/' target='_blank'>http://codepen.io/pen/</a>", "Paste the HTML you copied from GetBootStrap.com into the HTML field of Codepen.","Go to <a href='http://bootswatch.com/' target='_blank'>http://bootswatch.com/</a>", "Decide which theme you want to use.", "Click the down arrow next to the download button and choose 'bootstrap.css'", "Select all the text, then copy it.", "Go back to CodePen and paste the CSS you copied from Bootswatch.com into the CSS field of Codepen.", "Your Bootswatch CSS should now be applied to the HTML from the GetBootStrap page.", "This page is currently using a two-column layout, with the main content on the left and additional navigation on the right. See if you can make it a one-column layout."] steps: ["Go to <a href='http://getbootstrap.com/components/' target='_blank'>http://getbootstrap.com/components/</a>", "Right-click an area of the page that doesn't have any HTML elements on it, then choose 'view page source'.", "Select all the text, then copy it.", "Go to <a href='http://codepen.io/pen/' target='_blank'>http://codepen.io/pen/</a>", "Paste the HTML you copied from GetBootStrap.com into the HTML field of Codepen.","Go to <a href='http://bootswatch.com/' target='_blank'>http://bootswatch.com/</a>", "Decide which theme you want to use.", "Click the down arrow next to the download button and choose 'bootstrap.css'", "Select all the text, then copy it.", "Go back to CodePen and paste the CSS you copied from Bootswatch.com into the CSS field of Codepen.", "Your Bootswatch CSS should now be applied to the HTML from the GetBootStrap page.", "This page is currently using a two-column layout, with the main content on the left and additional navigation on the right. See if you can make it a one-column layout."]
}); });
@ -137,6 +150,7 @@ exports.injectLifeWithCssTransformations = function(req, res) {
res.render('challenges/inject-life-with-css-transformations', { res.render('challenges/inject-life-with-css-transformations', {
name: "Inject Life with CSS Transformations", name: "Inject Life with CSS Transformations",
time: "15 minutes", time: "15 minutes",
next: '/challenges/codecademy-javascript-track',
video: "110752740", video: "110752740",
steps: [ steps: [
"Go to <a href='http://daneden.github.io/animate.css/' target='_blank'>http://daneden.github.io/animate.css/</a> and try out some of the CSS animations.", "Go to <a href='http://codepen.io/ossia/pen/bGegt' target='_blank'>http://codepen.io/ossia/pen/bGegt</a>.", "Press the \"Fork\" button. This will fork, meaning create a copy of, the CodePen.", "Click the gear in the CSS column.", "Click \"Add another resource\" and start typing \"animate.css\". Click on the dropdown results to autocomplete it.", "Now that you have Animate.css enabled, use jQuery and the \"toggleClass\" method to add an animated class to all h1 elements when you click the \"Press Me\" button." "Go to <a href='http://daneden.github.io/animate.css/' target='_blank'>http://daneden.github.io/animate.css/</a> and try out some of the CSS animations.", "Go to <a href='http://codepen.io/ossia/pen/bGegt' target='_blank'>http://codepen.io/ossia/pen/bGegt</a>.", "Press the \"Fork\" button. This will fork, meaning create a copy of, the CodePen.", "Click the gear in the CSS column.", "Click \"Add another resource\" and start typing \"animate.css\". Click on the dropdown results to autocomplete it.", "Now that you have Animate.css enabled, use jQuery and the \"toggleClass\" method to add an animated class to all h1 elements when you click the \"Press Me\" button."
@ -148,6 +162,7 @@ exports.codecademyJavascriptTrack = function(req, res) {
res.render('challenges/codecademy-javascript-track', { res.render('challenges/codecademy-javascript-track', {
name: "Codecademy JavaScript Track", name: "Codecademy JavaScript Track",
time: "10 hours", time: "10 hours",
next: 'challenges/get-help-the-hacker-way-with-rsap',
video: "110795564", video: "110795564",
steps: [ steps: [
"Go to <a href='http://www.codecademy.com/en/tracks/javascript-combined' target='_blank'>http://www.codecademy.com/en/tracks/javascript-combined</a> and complete the course." "Go to <a href='http://www.codecademy.com/en/tracks/javascript-combined' target='_blank'>http://www.codecademy.com/en/tracks/javascript-combined</a> and complete the course."
@ -156,10 +171,11 @@ exports.codecademyJavascriptTrack = function(req, res) {
}; };
exports.getHelpTheHackerWayWithRsap = function(req, res) { exports.getHelpTheHackerWayWithRsap = function(req, res) {
res.render("challenges/get-help-the-hacker-way-with-rsap", { res.render('challenges/get-help-the-hacker-way-with-rsap', {
name: "Get Help the Hacker Way with RSAP", name: "Get Help the Hacker Way with RSAP",
video: "", video: "",
time: "30 minutes", time: "30 minutes",
next: '/challenges/easy-algorthim-scripting-challenges-on-coderbyte',
steps: [ steps: [
"Watch the video to learn the RSAP (Read, Search, Ask, Post) methodology for getting help.", "Watch the video to learn the RSAP (Read, Search, Ask, Post) methodology for getting help.",
"Try an intelligent Google query that involves JavaScript and filters for this year (since JavaScript changes)", "Try an intelligent Google query that involves JavaScript and filters for this year (since JavaScript changes)",
@ -176,6 +192,7 @@ exports.easyAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
name: "Easy Algorithm Scripting Challenges on Coderbyte", name: "Easy Algorithm Scripting Challenges on Coderbyte",
video: "", video: "",
time: "15 hours", time: "15 hours",
next: '/challenges/harvard-introduction-to-computer-science-cs50-course',
steps: [ steps: [
"Create a CoderByte account at <a href='http://coderbyte.com/sl/' target='_blank'>http://coderbyte.com/sl/</a>", "Create a CoderByte account at <a href='http://coderbyte.com/sl/' target='_blank'>http://coderbyte.com/sl/</a>",
"Now go to <a href='http://coderbyte.com/CodingArea/Challenges/#easyChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#easyChals</a> and start working through Coderbyte's easy algorithm scripting challenges using JavaScript.", "Now go to <a href='http://coderbyte.com/CodingArea/Challenges/#easyChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#easyChals</a> and start working through Coderbyte's easy algorithm scripting challenges using JavaScript.",
@ -189,6 +206,7 @@ exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) {
name: "Introduction to Computer Science", name: "Introduction to Computer Science",
video: "", video: "",
time: "150 hours", time: "150 hours",
next: '/challenges/medium-algorthim-scripting-challenges-on-coderbyte',
steps: [ steps: [
"Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation. It will introduce you to important concepts in computer science like algorithms, databases, data structures.", "Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation. It will introduce you to important concepts in computer science like algorithms, databases, data structures.",
"Go to <a href='https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ' target='_blank'>https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ</a> and register for the course." "Go to <a href='https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ' target='_blank'>https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ</a> and register for the course."
@ -201,6 +219,7 @@ exports.mediumAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
name: "Medium Algorithm Scripting Challenges on Coderbyte", name: "Medium Algorithm Scripting Challenges on Coderbyte",
video: "", video: "",
time: "15 hours", time: "15 hours",
next: '/challenges/stanfords-relational-databases-mini-course',
steps: [ steps: [
"Go to <a href='http://coderbyte.com/CodingArea/Challenges/#medChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#medChals</a> and start working through Coderbyte's medium algorithm scripting challenges using JavaScript.", "Go to <a href='http://coderbyte.com/CodingArea/Challenges/#medChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#medChals</a> and start working through Coderbyte's medium algorithm scripting challenges using JavaScript.",
"Be sure to pair programming on these challenges, and remember to apply the RSAP methodology." "Be sure to pair programming on these challenges, and remember to apply the RSAP methodology."
@ -213,6 +232,7 @@ exports.stanfordsRelationalDatabasesMiniCourse = function(req, res) {
name: "Stanford's Relational Databases Mini-course", name: "Stanford's Relational Databases Mini-course",
video: "", video: "",
time: "10 hours", time: "10 hours",
next: '/challenges/stanfords-json-mini-course',
steps: [ steps: [
"Go to <a href='https://class.stanford.edu/courses/DB/RDB/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/RDB/SelfPaced/about</a> and register for this course.", "Go to <a href='https://class.stanford.edu/courses/DB/RDB/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/RDB/SelfPaced/about</a> and register for this course.",
"Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges." "Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges."
@ -225,6 +245,7 @@ exports.stanfordsJsonMiniCourse = function(req, res) {
name: "Stanford's JSON Mini-course", name: "Stanford's JSON Mini-course",
video: "", video: "",
time: "2 hours", time: "2 hours",
next: '/challenges/build-a-text-based-adventure',
steps: [ steps: [
"Go to <a href='https://class.stanford.edu/courses/DB/JSON/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/JSON/SelfPaced/about</a> and register for this course.", "Go to <a href='https://class.stanford.edu/courses/DB/JSON/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/JSON/SelfPaced/about</a> and register for this course.",
"Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges." "Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges."
@ -237,6 +258,7 @@ exports.buildATextBasedAdventure = function(req, res) {
name: "Build a Text-based Adventure", name: "Build a Text-based Adventure",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/hard-algorthim-scripting-challenges-on-coderbyte',
steps: [ steps: [
"Go to <a href='http://www.amctv.com/shows/halt-and-catch-fire/colossal-cave-adventure' target='_blank'>http://www.amctv.com/shows/halt-and-catch-fire/colossal-cave-adventure</a> and play the original text-based adventure (known simply as \"Adventure\".", "Go to <a href='http://www.amctv.com/shows/halt-and-catch-fire/colossal-cave-adventure' target='_blank'>http://www.amctv.com/shows/halt-and-catch-fire/colossal-cave-adventure</a> and play the original text-based adventure (known simply as \"Adventure\".",
"Using CodePen, create a text based adventure, using buttons instead of text input.", "Using CodePen, create a text based adventure, using buttons instead of text input.",
@ -251,6 +273,7 @@ exports.hardAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
name: "Hard Algorithm Scripting Challenges on Coderbyte", name: "Hard Algorithm Scripting Challenges on Coderbyte",
video: "", video: "",
time: "15 hours", time: "15 hours",
next: '/challenges/stanfords-sql-mini-course',
steps: [ steps: [
"Go to <a href='http://coderbyte.com/CodingArea/Challenges/#hardChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#medChals</a> and start working through Coderbyte's hard algorithm scripting challenges using JavaScript.", "Go to <a href='http://coderbyte.com/CodingArea/Challenges/#hardChals' target='_blank'>http://coderbyte.com/CodingArea/Challenges/#medChals</a> and start working through Coderbyte's hard algorithm scripting challenges using JavaScript.",
"Be sure to pair programming on these challenges, and remember to apply the RSAP methodology." "Be sure to pair programming on these challenges, and remember to apply the RSAP methodology."
@ -262,6 +285,7 @@ exports.stanfordsSqlMiniCourse = function(req, res) {
res.render('challenges/stanfords-sql-mini-course', { res.render('challenges/stanfords-sql-mini-course', {
name: "Stanford's SQL Mini-course", name: "Stanford's SQL Mini-course",
time: "10 hours", time: "10 hours",
next: '/challenges/build-an-interview-question-machine',
steps: [ steps: [
"Go to <a href='https://class.stanford.edu/courses/DB/SQL/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/SQL/SelfPaced/about</a> and register for this course.", "Go to <a href='https://class.stanford.edu/courses/DB/SQL/SelfPaced/about' target='_blank'>https://class.stanford.edu/courses/DB/SQL/SelfPaced/about</a> and register for this course.",
"Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges." "Be sure to watch the videos, in addition to doing the exercises, because they have embedded challenges."
@ -274,6 +298,7 @@ exports.buildAnInterviewQuestionMachine = function(req, res) {
name: "Build an Interview Question Machine", name: "Build an Interview Question Machine",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/code-school-try-git-course',
steps: [ steps: [
"Using CodePen, create an interview question machine that will show an interview question, count down from 5, then shows the answer.", "Using CodePen, create an interview question machine that will show an interview question, count down from 5, then shows the answer.",
"Create a button the user can press to see the next question.", "Create a button the user can press to see the next question.",
@ -288,6 +313,7 @@ exports.codeSchoolTryGitCourse = function(req, res) {
name: "Code School's Try Git Course", name: "Code School's Try Git Course",
video: "", video: "",
time: "15 minutes", time: "15 minutes",
next: '/challenges/install-node-js',
steps: [ steps: [
"Go to <a href='https://www.codeschool.com/courses/try-git' target='_blank'>https://www.codeschool.com/courses/try-git</a> and complete this short interactive course." "Go to <a href='https://www.codeschool.com/courses/try-git' target='_blank'>https://www.codeschool.com/courses/try-git</a> and complete this short interactive course."
] ]
@ -298,6 +324,7 @@ exports.installNodeJs = function(req, res) {
res.render('challenges/install-node-js', { res.render('challenges/install-node-js', {
name: "Install Node.js", name: "Install Node.js",
time: "15 minutes", time: "15 minutes",
next: '/challenges/clone-a-github-repo',
video: "", video: "",
steps: [ steps: [
] ]
@ -309,6 +336,7 @@ exports.cloneAGithubRepo = function(req, res) {
name: "Clone a Github Repo", name: "Clone a Github Repo",
video: "", video: "",
time: "15 minutes", time: "15 minutes",
next: '/challenges/deploy-an-app-to-heroku',
steps: [ steps: [
] ]
}); });
@ -319,6 +347,7 @@ exports.deployAnAppToHeroku = function(req, res) {
name: "Deploy an app to Heroku", name: "Deploy an app to Heroku",
video: "", video: "",
time: "15 minutes", time: "15 minutes",
next: '/challenges/code-school-real-time-with-node-js-course',
steps: [ steps: [
] ]
}); });
@ -329,6 +358,7 @@ exports.codeSchoolRealTimeWithNodeJsCourse = function(req, res) {
name: "Code School's Real-time web with Node.JS", name: "Code School's Real-time web with Node.JS",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/try-mongodb',
steps: [ steps: [
"Go to <a href='https://www.codeschool.com/courses/real-time-web-with-node-js' target='_blank'>https://www.codeschool.com/courses/real-time-web-with-node-js</a> and work through the course.", "Go to <a href='https://www.codeschool.com/courses/real-time-web-with-node-js' target='_blank'>https://www.codeschool.com/courses/real-time-web-with-node-js</a> and work through the course.",
"Note that this course is a paid course, but that if you can find time to finish the course within two consecutive days, you can use Code School's free two-day hall pass to complete it for free here: <a href='https://www.codeschool.com/hall_passes/213f3fedb6b9/claim_shared' target='_blank'>https://www.codeschool.com/hall_passes/213f3fedb6b9/claim_shared</a>" "Note that this course is a paid course, but that if you can find time to finish the course within two consecutive days, you can use Code School's free two-day hall pass to complete it for free here: <a href='https://www.codeschool.com/hall_passes/213f3fedb6b9/claim_shared' target='_blank'>https://www.codeschool.com/hall_passes/213f3fedb6b9/claim_shared</a>"
@ -341,6 +371,7 @@ exports.tryMongoDb = function(req, res) {
name: "Try MongoDB", name: "Try MongoDB",
video: "", video: "",
time: "30 minutes", time: "30 minutes",
next: '/challenges/explore-your-network-with-the-linkedin-api',
steps: [ steps: [
"Go to <a href='http://try.mongodb.org/' target='_blank'>http://try.mongodb.org/</a> and work through their interactive MongoDB tutorial" "Go to <a href='http://try.mongodb.org/' target='_blank'>http://try.mongodb.org/</a> and work through their interactive MongoDB tutorial"
] ]
@ -352,6 +383,7 @@ exports.exploreYourNetworkWithTheLinkedInApi = function(req, res) {
name: "Explore Your Network with the LinkedIn API", name: "Explore Your Network with the LinkedIn API",
video: "", video: "",
time: "2 hours", time: "2 hours",
next: '/challenges/build-your-first-api',
steps: [ steps: [
"Go to <a href='http://developers.linkedin.com/' target='_blank'>http://developers.linkedin.com/</a> and register a LinkedIn app.", "Go to <a href='http://developers.linkedin.com/' target='_blank'>http://developers.linkedin.com/</a> and register a LinkedIn app.",
"Using the API keys provided by LinkedIn, write a script that pulls your LinkedIn profile and and connections." "Using the API keys provided by LinkedIn, write a script that pulls your LinkedIn profile and and connections."
@ -364,6 +396,7 @@ exports.buildYourFirstApi = function(req, res) {
name: "Build Your First API", name: "Build Your First API",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/aggregate-data-with-chron-jobs-and-screen-scraping',
steps: [ steps: [
] ]
}); });
@ -374,6 +407,7 @@ exports.aggregateDataWithChronJobsAndScreenScraping = function(req, res) {
name: "Aggregate Data with Chron Jobs and Screen Scraping", name: "Aggregate Data with Chron Jobs and Screen Scraping",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/code-school-shaping-up-with-angular-js-course',
steps: [ steps: [
] ]
}); });
@ -384,6 +418,7 @@ exports.codeSchoolShapingUpWithAngularJsCourse = function(req, res) {
name: "Codeschool's Shaping up with Angular.js", name: "Codeschool's Shaping up with Angular.js",
video: "", video: "",
time: "5 hours", time: "5 hours",
next: '/challenges/reverse-engineer-snapchat',
steps: [ steps: [
"Go to <a href='https://www.codeschool.com//courses/shaping-up-with-angular-js' target='_blank'>hhttps://www.codeschool.com//courses/shaping-up-with-angular-js</a> and complete this free course." "Go to <a href='https://www.codeschool.com//courses/shaping-up-with-angular-js' target='_blank'>hhttps://www.codeschool.com//courses/shaping-up-with-angular-js</a> and complete this free course."
] ]
@ -395,6 +430,7 @@ exports.reverseEngineerSnapchat = function(req, res) {
name: "Reverse Engineer Snapchat", name: "Reverse Engineer Snapchat",
video: "", video: "",
time: "50 hours", time: "50 hours",
next: '/challenges/reverse-engineer-reddit',
steps: [ steps: [
] ]
}); });
@ -405,6 +441,7 @@ exports.reverseEngineerReddit = function(req, res) {
name: "Reverse Engineer Reddit", name: "Reverse Engineer Reddit",
video: "", video: "",
time: "50 hours", time: "50 hours",
next: '/challenges/reverse-engineer-pintrest',
steps: [ steps: [
] ]
}); });
@ -415,6 +452,7 @@ exports.reverseEngineerPintrest = function(req, res) {
name: "Reverse Engineer Pintrest", name: "Reverse Engineer Pintrest",
video: "", video: "",
time: "50 hours", time: "50 hours",
next: '/challenges/help-a-nonprofit-team-project',
steps: [ steps: [
] ]
}); });
@ -425,6 +463,7 @@ exports.helpANonprofitTeamProject = function(req, res) {
name: "Help a Nonprofit Team Project", name: "Help a Nonprofit Team Project",
video: "", video: "",
time: "200 hours", time: "200 hours",
next: '/challenges/help-a-nonprofit-solo-project',
steps: [ steps: [
] ]
}); });
@ -435,6 +474,7 @@ exports.helpANonprofitSoloProject = function(req, res) {
name: "Help a Nonprofit Solo Project", name: "Help a Nonprofit Solo Project",
video: "", video: "",
time: "200 hours", time: "200 hours",
next: '/challenges/crack-the-coding-interview',
steps: [ steps: [
] ]
}); });
@ -445,6 +485,7 @@ exports.crackTheCodingInterview = function(req, res) {
name: "Crack the Coding Interview", name: "Crack the Coding Interview",
video: "", video: "",
time: "20 hours", time: "20 hours",
next: "",
steps: [ steps: [
] ]
}); });

View File

@ -33,7 +33,7 @@
h1.animated.zoomInDown Nicely done! h1.animated.zoomInDown Nicely done!
.animated.zoomInUp.delay-1 .animated.zoomInUp.delay-1
span.landing-icon.ion-checkmark-circled.text-success span.landing-icon.ion-checkmark-circled.text-success
a.animated.fadeIn.delay-2.btn.btn-primary.btn-block(href='/curriculum', aria-hidden='true') Take me to my next challenge a.animated.fadeIn.delay-2.btn.btn-primary.btn-block(href=next, aria-hidden='true') Take me to my next challenge
#skip-dialog.modal #skip-dialog.modal
.modal-dialog.animated.zoomIn.fast-animation .modal-dialog.animated.zoomIn.fast-animation
.modal-content .modal-content
@ -44,4 +44,4 @@
h2.animated.zoomInDown You can retry this challenge any time. h2.animated.zoomInDown You can retry this challenge any time.
.animated.zoomInUp.delay-1 .animated.zoomInUp.delay-1
span.landing-icon.ion-skip-forward.text-primary span.landing-icon.ion-skip-forward.text-primary
a.animated.fadeIn.delay-2.btn.btn-primary.btn-block(href='/curriculum', aria-hidden='true') Take me to my next challenge a.animated.fadeIn.delay-2.btn.btn-primary.btn-block(href=next, aria-hidden='true') Take me to my next challenge

View File

@ -39,27 +39,26 @@ block content
p First, you'll learn basic web design tools like: p First, you'll learn basic web design tools like:
ul ul
li &#8226 HTML - the structure of web pages li &#8226 HTML - the structure of web pages
li &#8226 CSS - the design of web pages li &#8226 CSS - the visual style of web pages
li &#8226 Bootstrap - a "responsive design" tool that helps your websites look great on tablets and phones li &#8226 Bootstrap - a "responsive design" tool that helps your websites look great on tablets and phones
li &#8226 jQuery - an easy tool for controlling content in the browser li &#8226 jQuery - an easy tool for controlling content in the browser
li &#8226 Chrome DevTools - a way to experiment with your websites and debug them, right in your browser li &#8226 Chrome DevTools - a tool for understanding and debuging websites, right in your browser
p Then you'll learn computer science and the art of programming: p Then you'll learn computer science and the art of programming:
ul ul
li &#8226 JavaScript - the programming language that all web browsers use li &#8226 JavaScript - the one programming language that all web browsers use
li &#8226 Linux - the most popular operating system for servers (but you don't need to learn desktop Linux) li &#8226 Git - a version control system for saving and sharing your projects
li &#8226 Git - the best way to save and share your projects li &#8226 SQL - a popular language for pulling data out of spreadsheet-like relational databases
li &#8226 Databases - SQL is like a giant spread sheet that stores and retrieves your data li &#8226 Algorithms - step-by-step recipies for getting things done
li &#8226 Algorithms - these are basically step-by-step recipies for getting things done
p You'll spend the last half of Free Code Camp using Agile Methodologies and Full Stack JavaScript to build projects for nonprofits: p You'll spend the last half of Free Code Camp using Agile Methodologies and Full Stack JavaScript to build projects for nonprofits:
ul ul
li &#8226 Agile - a set of software development principles that focus the design and production of a project on the needs of its users. li &#8226 Agile - a set of software development principles that focus the design and production of a project on the needs of its users
li &#8226 MongoDB - a popular non-relational database li &#8226 MongoDB - a popular non-relational database
li &#8226 AngularJS - a tool for making exciting web interfaces li &#8226 AngularJS - a tool for making exciting web interfaces
li &#8226 ExpressJS - a powerful web development framework li &#8226 ExpressJS - a powerful web development framework
li &#8226 NodeJS - a JavaScript-based web server li &#8226 NodeJS - a JavaScript-based web server
h2 How will I learn all this? h2 How will I learn all this?
ul ul
p By pair programming with other Free Code Camp students on our coding challenges. We've also built an optional curriculum of the best free courses on the web. Eventually, you'll work with people at nonprofits to build real-life software solutions. p By pair programming with other Free Code Camp students on our coding challenges. Eventually, you'll work with people at nonprofits to build real-life software solutions.
h2 What is 'pair programming', and what's so special about it? h2 What is 'pair programming', and what's so special about it?
ul ul
p Pair programming is where two people code together on one computer. You discuss different approaches to solving problems, and keep each other motivated. The result is better code than either of you could have written by yourselves. Because of its benefits, many engineers pair program full time. And it's the best way to learn coding. Thanks to tools like Screen Hero, you can pair program online without needing to be in the same room. p Pair programming is where two people code together on one computer. You discuss different approaches to solving problems, and keep each other motivated. The result is better code than either of you could have written by yourselves. Because of its benefits, many engineers pair program full time. And it's the best way to learn coding. Thanks to tools like Screen Hero, you can pair program online without needing to be in the same room.

View File

@ -33,43 +33,43 @@
li li
a(href="/challenges/codecademy-javascript-track") Codecademy's JavaScript track a(href="/challenges/codecademy-javascript-track") Codecademy's JavaScript track
li li
a(href="/challenges/get-help-the-hacker-way-with-rsap") Get Help The Hacker Way with RSAP a.disabled(href="/challenges/get-help-the-hacker-way-with-rsap") Get Help The Hacker Way with RSAP
li li
a(href="/challenges/easy-algorthim-scripting-challenges-on-coderbyte") Easy Algorithm Scripting Challenges on Coderbyte a.disabled(href="/challenges/easy-algorthim-scripting-challenges-on-coderbyte") Easy Algorithm Scripting Challenges on Coderbyte
li li
a(href="/challenges/harvard-introduction-to-computer-science-cs50-course") Harvard's CS50: Introduction to Computer Science a.disabled(href="/challenges/harvard-introduction-to-computer-science-cs50-course") Harvard's CS50: Introduction to Computer Science
li li
a(href="/challenges/medium-algorthim-scripting-challenges-on-coderbyte") Medium Algorithm Scripting Challenges on Coderbyte a.disabled(href="/challenges/medium-algorthim-scripting-challenges-on-coderbyte") Medium Algorithm Scripting Challenges on Coderbyte
li li
a(href="/challenges/stanfords-json-mini-course") Stanford's JSON Mini-course a.disabled(href="/challenges/stanfords-json-mini-course") Stanford's JSON Mini-course
li li
a(href="/challenges/build-a-text-based-adventure") Build a Text-based Adventure a.disabled(href="/challenges/build-a-text-based-adventure") Build a Text-based Adventure
li li
a(href="/challenges/hard-algorthim-scripting-challenges-on-coderbyte") Hard Algorithm Scripting Challenges on Coderbyte a.disabled(href="/challenges/hard-algorthim-scripting-challenges-on-coderbyte") Hard Algorithm Scripting Challenges on Coderbyte
li li
a(href="/challenges/stanfords-sql-mini-course") Stanford's SQL Mini-course a.disabled(href="/challenges/stanfords-sql-mini-course") Stanford's SQL Mini-course
li li
a(href="/challenges/build-an-interview-question-machine") Build an Interview Question Machine a.disabled(href="/challenges/build-an-interview-question-machine") Build an Interview Question Machine
li li
a(href="/challenges/code-school-try-git-course") Code School's Try Git a.disabled(href="/challenges/code-school-try-git-course") Code School's Try Git
li li
a(href="/challenges/install-node-js") Install Node.js a.disabled(href="/challenges/install-node-js") Install Node.js
li li
a(href="/challenges/clone-a-github-repo") Clone a Github Repo a.disabled(href="/challenges/clone-a-github-repo") Clone a Github Repo
li li
a(href="/challenges/deploy-an-app-to-heroku") Deploy an app to Heroku a.disabled(href="/challenges/deploy-an-app-to-heroku") Deploy an app to Heroku
li li
a(href="/challenges/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS a.disabled(href="/challenges/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS
li li
a(href="/challenges/try-mongodb") Try MongoDB a.disabled(href="/challenges/try-mongodb") Try MongoDB
li li
a(href="/challenges/explore-your-network-with-the-linkedin-api") Explore your Network with the LinkedIn API a.disabled(href="/challenges/explore-your-network-with-the-linkedin-api") Explore your Network with the LinkedIn API
li li
a(href="/challenges/build-your-first-api") Build your first API a.disabled(href="/challenges/build-your-first-api") Build your first API
li li
a(href="/challenges/aggregate-data-with-chron-jobs-and-screen-scraping") Aggregate Data with Chron Jobs and Screen Scraping a.disabled(href="/challenges/aggregate-data-with-chron-jobs-and-screen-scraping") Aggregate Data with Chron Jobs and Screen Scraping
li li
a(href="/challenges/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS a.disabled(href="/challenges/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS
li li
a.disabled(href="/challenges/reverse-engineer-snapchat") Reverse Engineer SnapChat a.disabled(href="/challenges/reverse-engineer-snapchat") Reverse Engineer SnapChat
li li