tweaked challenges
This commit is contained in:
@ -7,7 +7,7 @@ var _ = require('lodash');
|
|||||||
|
|
||||||
exports.returnChallenge = function(req, res, next) {
|
exports.returnChallenge = function(req, res, next) {
|
||||||
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
|
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
|
||||||
if (challengeNumber > 41) { challengeNumber = 0; }
|
if (challengeNumber > 60) { challengeNumber = 0; }
|
||||||
Challenge.findOne({challengeNumber: challengeNumber}, function (err, c) {
|
Challenge.findOne({challengeNumber: challengeNumber}, function (err, c) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Challenge err: ', err);
|
console.error('Challenge err: ', err);
|
||||||
|
@ -66,7 +66,17 @@ var userSchema = new mongoose.Schema({
|
|||||||
46: { type: Number, default: 0 },
|
46: { type: Number, default: 0 },
|
||||||
47: { type: Number, default: 0 },
|
47: { type: Number, default: 0 },
|
||||||
48: { type: Number, default: 0 },
|
48: { type: Number, default: 0 },
|
||||||
49: { type: Number, default: 0 }
|
49: { type: Number, default: 0 },
|
||||||
|
50: { type: Number, default: 0 },
|
||||||
|
51: { type: Number, default: 0 },
|
||||||
|
52: { type: Number, default: 0 },
|
||||||
|
53: { type: Number, default: 0 },
|
||||||
|
54: { type: Number, default: 0 },
|
||||||
|
55: { type: Number, default: 0 },
|
||||||
|
56: { type: Number, default: 0 },
|
||||||
|
57: { type: Number, default: 0 },
|
||||||
|
58: { type: Number, default: 0 },
|
||||||
|
59: { type: Number, default: 0 }
|
||||||
},
|
},
|
||||||
profile: {
|
profile: {
|
||||||
name: { type: String, default: '' },
|
name: { type: String, default: '' },
|
||||||
|
@ -275,7 +275,6 @@ ul {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
.signup-btn.btn {
|
.signup-btn.btn {
|
||||||
background-color: #ffac33;
|
background-color: #ffac33;
|
||||||
background-image: linear-gradient(#ffcc4d, #ffac33);
|
background-image: linear-gradient(#ffcc4d, #ffac33);
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "A 3 Minute Introduction to Free Code Camp",
|
"name": "Learn how Free Code Camp Works",
|
||||||
"time": 3,
|
"time": 1,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 0,
|
"challengeNumber": 0,
|
||||||
"steps": [
|
"steps": [
|
||||||
"Watch this 3-minute video, or simply read this summary:",
|
"Watch this 1-minute video, or simply read this summary:",
|
||||||
"Our goal is to help you become an employable software engineer.",
|
"Our goal is to help you become an employable software engineer.",
|
||||||
"We're going to do this by pair programming on projects for nonprofits.",
|
"We're going to do this by pair programming on projects for nonprofits.",
|
||||||
"Pair programming is where two people code together on the same computer.",
|
"Pair programming is where two people code together on the same computer.",
|
||||||
@ -15,7 +15,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Join the Free Code Camp Chat Room",
|
"name": "Join Our Chat Room",
|
||||||
"time": 5,
|
"time": 5,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 1,
|
"challengeNumber": 1,
|
||||||
@ -29,7 +29,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Join the Free Code Camp Subreddit",
|
"name": "Subscribe to Our Subreddit",
|
||||||
"time": 5,
|
"time": 5,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 2,
|
"challengeNumber": 2,
|
||||||
@ -92,7 +92,7 @@
|
|||||||
"Go to <a href='https://dash.generalassemb.ly/projects/cotbots-1' target='_blank'>https://dash.generalassemb.ly/projects/cotbots-1</a> and complete the fourth project."]
|
"Go to <a href='https://dash.generalassemb.ly/projects/cotbots-1' target='_blank'>https://dash.generalassemb.ly/projects/cotbots-1</a> and complete the fourth project."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Meet jQuery",
|
"name": "Get Started with jQuery",
|
||||||
"time": 30,
|
"time": 30,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 8,
|
"challengeNumber": 8,
|
||||||
@ -200,7 +200,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Inject Life with CSS Transformations",
|
"name": "Inject Animation into CSS",
|
||||||
"time": 15,
|
"time": 15,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 17,
|
"challengeNumber": 17,
|
||||||
@ -215,7 +215,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Basic Computer Science Concepts from Stanford",
|
"name": "Learn Basic Computer Science",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 18,
|
"challengeNumber": 18,
|
||||||
@ -227,7 +227,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Loops from Stanford",
|
"name": "Learn Loops",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 19,
|
"challengeNumber": 19,
|
||||||
@ -235,28 +235,28 @@
|
|||||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/</a> and complete Week 2."]
|
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/</a> and complete Week 2."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Computer Hardware Concepts from Stanford",
|
"name": "Learn Computer Hardware",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 20,
|
"challengeNumber": 20,
|
||||||
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/</a> and complete Week 3."]
|
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/</a> and complete Week 3."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Computer Networking Concepts from Stanford",
|
"name": "Learn Computer Networking",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 21,
|
"challengeNumber": 21,
|
||||||
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/</a> and complete Week 4."]
|
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/</a> and complete Week 4."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Boolean Logic from Stanford",
|
"name": "Learn Boolean Logic",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 22,
|
"challengeNumber": 22,
|
||||||
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/</a> and complete Week 5."]
|
"steps": ["Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/</a> and complete Week 5."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Learn Computer Security Concepts from Stanford",
|
"name": "Learn Computer Security",
|
||||||
"time": 120,
|
"time": 120,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 23,
|
"challengeNumber": 23,
|
||||||
@ -265,7 +265,7 @@
|
|||||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/</a> and complete Week 6, the final week of the course."]
|
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/</a> and complete Week 6, the final week of the course."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Build a Choose Your Own Adventure Game",
|
"name": "Build an Adventure Game",
|
||||||
"time": 60,
|
"time": 60,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 24,
|
"challengeNumber": 24,
|
||||||
@ -340,7 +340,7 @@
|
|||||||
"Go to <a href='http://www.codecademy.com/courses/objects-ii/0/1' target='_blank'>http://www.codecademy.com/courses/objects-ii/0/1</a> and complete this final section."]
|
"Go to <a href='http://www.codecademy.com/courses/objects-ii/0/1' target='_blank'>http://www.codecademy.com/courses/objects-ii/0/1</a> and complete this final section."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Get Help The Hacker Way with RSAP",
|
"name": "Get Help The Hacker Way",
|
||||||
"time": 30,
|
"time": 30,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 32,
|
"challengeNumber": 32,
|
||||||
@ -366,8 +366,8 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Start Pair Programming on Coderbyte problems",
|
"name": "Pair Program on Coderbyte",
|
||||||
"time": 30,
|
"time": 60,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 34,
|
"challengeNumber": 34,
|
||||||
"steps": [
|
"steps": [
|
||||||
@ -414,7 +414,7 @@
|
|||||||
"Go to <a href='https://class.stanford.edu/courses/DB/RDB/SelfPaced/courseware/ch-introduction/seq-vid-introduction/' target='_blank'>https://class.stanford.edu/courses/DB/RDB/SelfPaced/courseware/ch-introduction/seq-vid-introduction/</a> and watch the videos."]
|
"Go to <a href='https://class.stanford.edu/courses/DB/RDB/SelfPaced/courseware/ch-introduction/seq-vid-introduction/' target='_blank'>https://class.stanford.edu/courses/DB/RDB/SelfPaced/courseware/ch-introduction/seq-vid-introduction/</a> and watch the videos."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Pair program on SQL Movie Rating Queries",
|
"name": "Pair Program to Query SQL 1",
|
||||||
"time": 90,
|
"time": 90,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 36,
|
"challengeNumber": 36,
|
||||||
@ -426,7 +426,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Pair program on SQL Social Network Queries",
|
"name": "Pair Program to Query SQL 2",
|
||||||
"time": 60,
|
"time": 60,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 37,
|
"challengeNumber": 37,
|
||||||
@ -438,7 +438,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Pair program on SQL Movie-Rating Modification",
|
"name": "Pair Program to Modify SQL 1",
|
||||||
"time": 90,
|
"time": 90,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 38,
|
"challengeNumber": 38,
|
||||||
@ -450,7 +450,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Pair program on SQL Social Network Modification",
|
"name": "Pair Program to Modify SQL 2",
|
||||||
"time": 30,
|
"time": 30,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 39,
|
"challengeNumber": 39,
|
||||||
@ -474,7 +474,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Try Git, the popular Source Code Revision Control System",
|
"name": "Manage Source Code with Git",
|
||||||
"time": 30,
|
"time": 30,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 41,
|
"challengeNumber": 41,
|
||||||
@ -485,7 +485,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Get started with Node.JS",
|
"name": "Get Started with Node.js",
|
||||||
"time": 45,
|
"time": 45,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 42,
|
"challengeNumber": 42,
|
||||||
@ -511,7 +511,7 @@
|
|||||||
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1</a> and complete the section."]
|
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1</a> and complete the section."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "See how Node.js Modules work",
|
"name": "Learn how Node.js Modules Work",
|
||||||
"time": 45,
|
"time": 45,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 45,
|
"challengeNumber": 45,
|
||||||
@ -532,7 +532,7 @@
|
|||||||
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/6/video/1</a> and complete the section."]
|
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/3/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/6/video/1</a> and complete the section."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Use Redis to persist data",
|
"name": "Use Redis to Persist Data",
|
||||||
"time": 45,
|
"time": 45,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 48,
|
"challengeNumber": 48,
|
||||||
@ -556,7 +556,7 @@
|
|||||||
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/2/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/2/video/1</a> and complete the section."]
|
"steps": ["Go to <a href='http://campus.codeschool.com/courses/real-time-web-with-node-js/level/2/video/1' target='_blank'>http://campus.codeschool.com/courses/real-time-web-with-node-js/level/2/video/1</a> and complete the section."]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Take advantage of Parameters",
|
"name": "Take Advantage of Parameters",
|
||||||
"time": 45,
|
"time": 45,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 51,
|
"challengeNumber": 51,
|
||||||
@ -587,7 +587,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": " Angular.js",
|
"name": "Get Started with Angular.js",
|
||||||
"time": 45,
|
"time": 45,
|
||||||
"video": "114447214",
|
"video": "114447214",
|
||||||
"challengeNumber": 55,
|
"challengeNumber": 55,
|
||||||
|
@ -2,135 +2,185 @@
|
|||||||
.panel-heading Challenges
|
.panel-heading Challenges
|
||||||
.panel-body
|
.panel-body
|
||||||
ol(start='0')
|
ol(start='0')
|
||||||
h4 Web Design
|
li
|
||||||
li
|
a(href="/challenges/0", class="#{ cc[0] > 0 ? 'strikethrough' : '' }") Learn how Free Code Camp Works
|
||||||
a(href="/challenges/0", class="#{ cc[0] > 0 ? 'strikethrough' : '' }") A One-minute Introduction to Free Code Camp
|
| (1 minute)
|
||||||
| (1 min)
|
li
|
||||||
li
|
a(href="/challenges/1", class="#{ cc[1] > 0 ? 'strikethrough' : '' }") Join Our Chat Room
|
||||||
a(href="/challenges/1", class="#{ cc[1] > 0 ? 'strikethrough' : '' }") Enter the Free Code Camp Chat Room
|
| (5 minutes)
|
||||||
| (10 mins)
|
li
|
||||||
li
|
a(href="/challenges/2", class="#{ cc[2] > 0 ? 'strikethrough' : '' }") Subscribe to Our Subreddit
|
||||||
a(href="/challenges/2", class="#{ cc[2] > 0 ? 'strikethrough' : '' }") Create a Website and Deploy it to the Internet
|
| (5 minutes)
|
||||||
| (5 mins)
|
li
|
||||||
li
|
a(href="/challenges/3", class="#{ cc[3] > 0 ? 'strikethrough' : '' }") Build a Personal Website
|
||||||
a(href="/challenges/3", class="#{ cc[3] > 0 ? 'strikethrough' : '' }") Install Github's Atom Text Editor
|
| (60 minutes)
|
||||||
| (5 mins)
|
li
|
||||||
li
|
a(href="/challenges/4", class="#{ cc[4] > 0 ? 'strikethrough' : '' }") Build a Responsive Blog Theme
|
||||||
a(href="/challenges/4", class="#{ cc[4] > 0 ? 'strikethrough' : '' }") Modify and Redeploy Your Website
|
| (60 minutes)
|
||||||
| (5 mins)
|
li
|
||||||
li
|
a(href="/challenges/5", class="#{ cc[5] > 0 ? 'strikethrough' : '' }") Build a Small Business Website
|
||||||
a(href="/challenges/5", class="#{ cc[5] > 0 ? 'strikethrough' : '' }") Add Dynamic Content to your Website
|
| (60 minutes)
|
||||||
| (10 mins)
|
li
|
||||||
li
|
a(href="/challenges/6", class="#{ cc[6] > 0 ? 'strikethrough' : '' }") Tweak HTML and CSS in CodePen
|
||||||
a(href="/challenges/6", class="#{ cc[6] > 0 ? 'strikethrough' : '' }") Codecademy's HTML & CSS track
|
| (10 minutes)
|
||||||
| (7 hrs)
|
li
|
||||||
li
|
a(href="/challenges/7", class="#{ cc[7] > 0 ? 'strikethrough' : '' }") Build a CSS Robot
|
||||||
a(href="/challenges/7", class="#{ cc[7] > 0 ? 'strikethrough' : '' }") Experiment with HTML and CSS in CodePen
|
| (60 minutes)
|
||||||
| (10 mins)
|
li
|
||||||
li
|
a(href="/challenges/8", class="#{ cc[8] > 0 ? 'strikethrough' : '' }") Get Started with jQuery
|
||||||
a(href="/challenges/8", class="#{ cc[8] > 0 ? 'strikethrough' : '' }") Codecademy's jQuery track
|
| (30 minutes)
|
||||||
| (3 hrs)
|
li
|
||||||
li
|
a(href="/challenges/9", class="#{ cc[9] > 0 ? 'strikethrough' : '' }") Traverse the DOM
|
||||||
a(href="/challenges/9", class="#{ cc[9] > 0 ? 'strikethrough' : '' }") Code School's Try jQuery
|
| (30 minutes)
|
||||||
| (4 hrs)
|
li
|
||||||
li
|
a(href="/challenges/10", class="#{ cc[10] > 0 ? 'strikethrough' : '' }") Work with the DOM
|
||||||
a(href="/challenges/10", class="#{ cc[10] > 0 ? 'strikethrough' : '' }") Code School's Discover DevTools
|
| (30 minutes)
|
||||||
| (2 hrs)
|
li
|
||||||
li
|
a(href="/challenges/11", class="#{ cc[11] > 0 ? 'strikethrough' : '' }") Listen for DOM Elements
|
||||||
a(href="/challenges/11", class="#{ cc[11] > 0 ? 'strikethrough' : '' }") jQuery Exercises
|
| (30 minutes)
|
||||||
| (1 hr)
|
li
|
||||||
li
|
a(href="/challenges/12", class="#{ cc[12] > 0 ? 'strikethrough' : '' }") Use jQuery for Styling
|
||||||
a(href="/challenges/12", class="#{ cc[12] > 0 ? 'strikethrough' : '' }") Customize Bootstrap with Bootswatch
|
| (30 minutes)
|
||||||
| (10 mins)
|
li
|
||||||
li
|
a(href="/challenges/13", class="#{ cc[13] > 0 ? 'strikethrough' : '' }") Build a MadLibs Game
|
||||||
a(href="/challenges/13", class="#{ cc[13] > 0 ? 'strikethrough' : '' }") Inject Life with CSS Transformations
|
| (60 minutes)
|
||||||
| (15 mins)
|
li
|
||||||
h4 Computer Science and JavaScript
|
a(href="/challenges/14", class="#{ cc[14] > 0 ? 'strikethrough' : '' }") Discover Chrome's DevTools
|
||||||
li
|
| (90 minutes)
|
||||||
a(href="/challenges/14", class="#{ cc[14] > 0 ? 'strikethrough' : '' }") Codecademy's JavaScript track
|
li
|
||||||
| (10 hrs)
|
a(href="/challenges/15", class="#{ cc[15] > 0 ? 'strikethrough' : '' }") Tackle jQuery Exercises
|
||||||
li
|
| (60 minutes)
|
||||||
a(href="/challenges/15", class="#{ cc[15] > 0 ? 'strikethrough' : '' }") Stanford's Introduction to Computer Science
|
li
|
||||||
| (24 hrs)
|
a(href="/challenges/16", class="#{ cc[16] > 0 ? 'strikethrough' : '' }") Customize Bootstrap
|
||||||
li
|
| (10 minutes)
|
||||||
a(href="/challenges/16", class="#{ cc[16] > 0 ? 'strikethrough' : '' }") Get Help The Hacker Way with RSAP
|
li
|
||||||
| (30 mins)
|
a(href="/challenges/17", class="#{ cc[17] > 0 ? 'strikethrough' : '' }") Inject Animation into CSS
|
||||||
li
|
| (15 minutes)
|
||||||
a(href="/challenges/17", class="#{ cc[17] > 0 ? 'strikethrough' : '' }") Learn Regular Expressions
|
li
|
||||||
| (1 hr)
|
a(href="/challenges/18", class="#{ cc[18] > 0 ? 'strikethrough' : '' }") Learn Basic Computer Science
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/18", class="#{ cc[18] > 0 ? 'strikethrough' : '' }") Start Your First Pair Programming Session
|
li
|
||||||
| (30 mins | Pair)
|
a(href="/challenges/19", class="#{ cc[19] > 0 ? 'strikethrough' : '' }") Learn Loops
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/19", class="#{ cc[19] > 0 ? 'strikethrough' : '' }") Easy Algorithm Scripting Challenges on Coderbyte
|
li
|
||||||
| (15 hrs | Pair)
|
a(href="/challenges/20", class="#{ cc[20] > 0 ? 'strikethrough' : '' }") Learn Computer Hardware
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/20", class="#{ cc[20] > 0 ? 'strikethrough' : '' }") Stanford's Relational Databases Mini-course
|
li
|
||||||
| (1 hr)
|
a(href="/challenges/21", class="#{ cc[21] > 0 ? 'strikethrough' : '' }") Learn Computer Networking
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/21", class="#{ cc[21] > 0 ? 'strikethrough' : '' }") Stanford's SQL Mini-course
|
li
|
||||||
| (4 hrs | Pair)
|
a(href="/challenges/22", class="#{ cc[22] > 0 ? 'strikethrough' : '' }") Learn Boolean Logic
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/22", class="#{ cc[22] > 0 ? 'strikethrough' : '' }") Stanford's JSON Mini-course
|
li
|
||||||
| (1 hrs | Pair)
|
a(href="/challenges/23", class="#{ cc[23] > 0 ? 'strikethrough' : '' }") Learn Computer Security
|
||||||
li
|
| (120 minutes)
|
||||||
a(href="/challenges/23", class="#{ cc[23] > 0 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte
|
li
|
||||||
| (15 hrs | Pair)
|
a(href="/challenges/24", class="#{ cc[24] > 0 ? 'strikethrough' : '' }") Build an Adventure Game
|
||||||
li
|
| (60 minutes)
|
||||||
a.disabled(href="/challenges/24", class="#{ cc[24] > 0 ? 'strikethrough' : '' }") Build an Interview Question Machine
|
li
|
||||||
| (5 hrs | Pair)
|
a(href="/challenges/25", class="#{ cc[25] > 0 ? 'strikethrough' : '' }") Build Rock Paper Scissors
|
||||||
li
|
| (60 minutes)
|
||||||
a.disabled(href="/challenges/25", class="#{ cc[25] > 0 ? 'strikethrough' : '' }") Build a Text-based Adventure
|
li
|
||||||
| (5 hrs | Pair)
|
a(href="/challenges/26", class="#{ cc[26] > 0 ? 'strikethrough' : '' }") Learn For and While Loops
|
||||||
li
|
| (60 minutes)
|
||||||
a.disabled(href="/challenges/26", class="#{ cc[26] > 0 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte
|
li
|
||||||
| (15 hrs | Pair)
|
a(href="/challenges/27", class="#{ cc[27] > 0 ? 'strikethrough' : '' }") Learn If and Then Statements
|
||||||
h4 Full Stack JavaScript Development
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/27", class="#{ cc[27] > 0 ? 'strikethrough' : '' }") Code School's Try Git
|
a(href="/challenges/28", class="#{ cc[28] > 0 ? 'strikethrough' : '' }") Learn Control Flow
|
||||||
| (30 mins)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/28", class="#{ cc[28] > 0 ? 'strikethrough' : '' }") Install Node.js
|
a(href="/challenges/29", class="#{ cc[29] > 0 ? 'strikethrough' : '' }") Build a Contact List
|
||||||
| (1 hr)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/29", class="#{ cc[29] > 0 ? 'strikethrough' : '' }") Clone a Github Repo
|
a(href="/challenges/30", class="#{ cc[30] > 0 ? 'strikethrough' : '' }") Build an Address Book
|
||||||
| (15 mins)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/30", class="#{ cc[30] > 0 ? 'strikethrough' : '' }") Deploy an app to Heroku
|
a(href="/challenges/31", class="#{ cc[31] > 0 ? 'strikethrough' : '' }") Build a Cash Register
|
||||||
| (15 mins)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/31", class="#{ cc[31] > 0 ? 'strikethrough' : '' }") Code School's Real-time web with Node.JS
|
a(href="/challenges/32", class="#{ cc[32] > 0 ? 'strikethrough' : '' }") Get Help the Hacker Way
|
||||||
| (5 hrs)
|
| (30 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/32", class="#{ cc[32] > 0 ? 'strikethrough' : '' }") Try MongoDB
|
a(href="/challenges/33", class="#{ cc[33] > 0 ? 'strikethrough' : '' }") Learn Regular Expressions
|
||||||
| (30 mins)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/33", class="#{ cc[33] > 0 ? 'strikethrough' : '' }") Explore your Network with the LinkedIn API
|
a(href="/challenges/34", class="#{ cc[34] > 0 ? 'strikethrough' : '' }") Start Pair Program on Coderbyte
|
||||||
| (1 hr)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/34", class="#{ cc[34] > 0 ? 'strikethrough' : '' }") Build your first API
|
a(href="/challenges/35", class="#{ cc[35] > 0 ? 'strikethrough' : '' }") Learn Relational Databases
|
||||||
| (10 hrs | Pair)
|
| (30 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/35", class="#{ cc[35] > 0 ? 'strikethrough' : '' }") Aggregate Data with Chron Jobs and Screen Scraping
|
a(href="/challenges/36", class="#{ cc[36] > 0 ? 'strikethrough' : '' }") Pair Program to Query SQL 1
|
||||||
| (10 hrs | Pair)
|
| (90 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/36", class="#{ cc[36] > 0 ? 'strikethrough' : '' }") Code School's Shaping up with Angular.JS
|
a(href="/challenges/37", class="#{ cc[37] > 0 ? 'strikethrough' : '' }") Pair Program to Query SQL 2
|
||||||
| (5 hrs)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/37", class="#{ cc[37] > 0 ? 'strikethrough' : '' }") Reverse Engineer SnapChat
|
a(href="/challenges/38", class="#{ cc[38] > 0 ? 'strikethrough' : '' }") Pair Program to modify SQL 1
|
||||||
| (50 hrs | Pair)
|
| (90 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/38", class="#{ cc[38] > 0 ? 'strikethrough' : '' }") Reverse Engineer Reddit
|
a(href="/challenges/39", class="#{ cc[39] > 0 ? 'strikethrough' : '' }") Pair Program to modify SQL 2
|
||||||
| (50 hrs | Pair)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/39", class="#{ cc[39] > 0 ? 'strikethrough' : '' }") Reverse Engineer Pintrest
|
a(href="/challenges/40", class="#{ cc[40] > 0 ? 'strikethrough' : '' }") Learn JSON
|
||||||
| (50 hrs | Pair)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/40", class="#{ cc[40] > 0 ? 'strikethrough' : '' }") Help a Nonprofit: Team Project
|
a(href="/challenges/41", class="#{ cc[41] > 0 ? 'strikethrough' : '' }") Manage Source Code with Git
|
||||||
| (150 hrs | Pair)
|
| (60 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/41", class="#{ cc[41] > 0 ? 'strikethrough' : '' }") Help a Nonprofit: Solo Project
|
a(href="/challenges/42", class="#{ cc[42] > 0 ? 'strikethrough' : '' }") Get Started with Node.js
|
||||||
| (150 hrs | Pair)
|
| (45 minutes)
|
||||||
li
|
li
|
||||||
a.disabled(href="/challenges/42", class="#{ cc[42] > 0 ? 'strikethrough' : '' }") Crack the Coding Interview
|
a(href="/challenges/43", class="#{ cc[43] > 0 ? 'strikethrough' : '' }") Try Node.js Events
|
||||||
| (5 hrs)
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/44", class="#{ cc[44] > 0 ? 'strikethrough' : '' }") Try Node.js Streams
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/45", class="#{ cc[45] > 0 ? 'strikethrough' : '' }") Learn how Node.js Modules Work
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/46", class="#{ cc[46] > 0 ? 'strikethrough' : '' }") Start an Express.js Server
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/47", class="#{ cc[47] > 0 ? 'strikethrough' : '' }") Use Socket.io
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/48", class="#{ cc[48] > 0 ? 'strikethrough' : '' }") Use Redis to Persist Data
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/49", class="#{ cc[49] > 0 ? 'strikethrough' : '' }") Dive Deeper into Express.js
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/50", class="#{ cc[50] > 0 ? 'strikethrough' : '' }") Set up Express.js Middleware
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/51", class="#{ cc[51] > 0 ? 'strikethrough' : '' }") Take Advantage of Parameters
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/52", class="#{ cc[52] > 0 ? 'strikethrough' : '' }") Add the Body Parser
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/53", class="#{ cc[53] > 0 ? 'strikethrough' : '' }") Configure Routes in Express.js
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/54", class="#{ cc[54] > 0 ? 'strikethrough' : '' }") Try MongoDB
|
||||||
|
| (30 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/55", class="#{ cc[55] > 0 ? 'strikethrough' : '' }") Get Started with Angular.js
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/56", class="#{ cc[56] > 0 ? 'strikethrough' : '' }") Apply Angular.js Directives
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/57", class="#{ cc[57] > 0 ? 'strikethrough' : '' }") Power Forms with Angular.js
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/58", class="#{ cc[58] > 0 ? 'strikethrough' : '' }") Customize Angular.js Directives
|
||||||
|
| (45 minutes)
|
||||||
|
li
|
||||||
|
a(href="/challenges/59", class="#{ cc[59] > 0 ? 'strikethrough' : '' }") Create Angular.js Services
|
||||||
|
| (45 minutes)
|
||||||
|
|
||||||
|
a.btn.btn-primary.disabled(href="/done-with-first-100-hours") I've finished all Free Code Camp challenges and all 90 CoderByte Challenges
|
Reference in New Issue
Block a user