From 50092fdd9b56940bdd5065f283324c3f8485c563 Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Thu, 20 Nov 2014 08:32:34 -0800 Subject: [PATCH 1/4] initial work on partial and length in sidenav --- views/partials/challenges.jade | 92 +++++++++++++++++++++++++--------- 1 file changed, 68 insertions(+), 24 deletions(-) diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index 7554b2841be..75ad89f38dd 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -4,83 +4,127 @@ ol(start='0') li a(href="/challenges/0", class="#{ cc.indexOf(0) > -1 ? 'strikethrough' : '' }") A One-minute Introduction to Free Code Camp + |   (1 min) li a(href="/challenges/1", class="#{ cc.indexOf(1) > -1 ? 'strikethrough' : '' }") Enter the Free Code Camp Chat Room + |   (5 mins) li a(href="/challenges/2", class="#{ cc.indexOf(2) > -1 ? 'strikethrough' : '' }") Create a Website and Deploy it to the Internet + |   (5 mins) li a(href="/challenges/3", class="#{ cc.indexOf(3) > -1 ? 'strikethrough' : '' }") Install Github's Atom Text Editor + |   (5 mins) li a(href="/challenges/4", class="#{ cc.indexOf(4) > -1 ? 'strikethrough' : '' }") Modify and Redeploy Your Website + |   (5 mins) li a(href="/challenges/5", class="#{ cc.indexOf(5) > -1 ? 'strikethrough' : '' }") Start Your First Pair Programming Session + |   (20 mins) li a(href="/challenges/6", class="#{ cc.indexOf(6) > -1 ? 'strikethrough' : '' }") Add Dynamic Content to your Website + |   (10 mins) li a(href="/challenges/7", class="#{ cc.indexOf(7) > -1 ? 'strikethrough' : '' }") Codecademy's HTML & CSS track + |   (7 hrs) li a(href="/challenges/8", class="#{ cc.indexOf(8) > -1 ? 'strikethrough' : '' }") Experiment with HTML and CSS in CodePen + |   (10 mins) li a(href="/challenges/9", class="#{ cc.indexOf(9) > -1 ? 'strikethrough' : '' }") Code School's Try jQuery + |   (4 hrs) li a(href="/challenges/10", class="#{ cc.indexOf(10) > -1 ? 'strikethrough' : '' }") jQuery Exercises + |   (3 hrs) li a(href="/challenges/11", class="#{ cc.indexOf(11) > -1 ? 'strikethrough' : '' }") Code School's Discover DevTools + |   (2 hrs) li a(href="/challenges/12", class="#{ cc.indexOf(12) > -1 ? 'strikethrough' : '' }") Customize Bootstrap with Bootswatch + |   (10 mins) li a(href="/challenges/13", class="#{ cc.indexOf(13) > -1 ? 'strikethrough' : '' }") Inject Life with CSS Transformations + |   (15 mins) li a(href="/challenges/14", class="#{ cc.indexOf(14) > -1 ? 'strikethrough' : '' }") Codecademy's JavaScript track + |   (10 hrs) li a(href="/challenges/15", class="#{ cc.indexOf(15) > -1 ? 'strikethrough' : '' }") Get Help The Hacker Way with RSAP + |   (30 mins) li a(href="/challenges/16", class="#{ cc.indexOf(16) > -1 ? 'strikethrough' : '' }") Stanford's Introduction to Computer Science + |   (24 hrs) li - a(href="/challenges/17", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Easy Algorithm Scripting Challenges on Coderbyte + a(href="/challenges/17", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Introduction to Regular Expressions + |   (20 mins) li - a(href="/challenges/18", class="#{ cc.indexOf(18) > -1 ? 'strikethrough' : '' }") Stanford's Relational Databases Mini-course + a(href="/challenges/18", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Easy Algorithm Scripting Challenges on Coderbyte + |   (15 hrs) li - a(href="/challenges/19", class="#{ cc.indexOf(19) > -1 ? 'strikethrough' : '' }") Stanford's SQL Mini-course + a(href="/challenges/19", class="#{ cc.indexOf(18) > -1 ? 'strikethrough' : '' }") Stanford's Relational Databases Mini-course + |   (1 min) li - a(href="/challenges/20", class="#{ cc.indexOf(20) > -1 ? 'strikethrough' : '' }") Stanford's JSON Mini-course + a(href="/challenges/20", class="#{ cc.indexOf(19) > -1 ? 'strikethrough' : '' }") Stanford's SQL Mini-course + |   (1 min) li - a(href="/challenges/21", class="#{ cc.indexOf(21) > -1 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte + a(href="/challenges/21", class="#{ cc.indexOf(20) > -1 ? 'strikethrough' : '' }") Stanford's JSON Mini-course + |   (1 min) li - a.disabled(href="/challenges/22", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine + a(href="/challenges/22", class="#{ cc.indexOf(21) > -1 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte + |   (1 min) li - a.disabled(href="/challenges/23", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure + a.disabled(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine + |   (1 min) li - a.disabled(href="/challenges/24", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte + a.disabled(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure + |   (1 min) li - a.disabled(href="/challenges/25", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git + a.disabled(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte + |   (1 min) li - a.disabled(href="/challenges/26", class="#{ cc.indexOf(26) > -1 ? 'strikethrough' : '' }") Install Node.js + a.disabled(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git + |   (1 min) li - a.disabled(href="/challenges/27", class="#{ cc.indexOf(27) > -1 ? 'strikethrough' : '' }") Clone a Github Repo + a.disabled(href="/challenges/27", class="#{ cc.indexOf(26) > -1 ? 'strikethrough' : '' }") Install Node.js + |   (1 min) li - a.disabled(href="/challenges/28", class="#{ cc.indexOf(28) > -1 ? 'strikethrough' : '' }") Deploy an app to Heroku + a.disabled(href="/challenges/28", class="#{ cc.indexOf(27) > -1 ? 'strikethrough' : '' }") Clone a Github Repo + |   (1 min) li - a.disabled(href="/challenges/29", class="#{ cc.indexOf(29) > -1 ? 'strikethrough' : '' }") Code School's Real-time web with Node.JS + a.disabled(href="/challenges/29", class="#{ cc.indexOf(28) > -1 ? 'strikethrough' : '' }") Deploy an app to Heroku + |   (1 min) li - a.disabled(href="/challenges/30", class="#{ cc.indexOf(30) > -1 ? 'strikethrough' : '' }") Try MongoDB + a.disabled(href="/challenges/30", class="#{ cc.indexOf(29) > -1 ? 'strikethrough' : '' }") Code School's Real-time web with Node.JS + |   (1 min) li - a.disabled(href="/challenges/31", class="#{ cc.indexOf(31) > -1 ? 'strikethrough' : '' }") Explore your Network with the LinkedIn API + a.disabled(href="/challenges/31", class="#{ cc.indexOf(30) > -1 ? 'strikethrough' : '' }") Try MongoDB + |   (1 min) li - a.disabled(href="/challenges/32", class="#{ cc.indexOf(32) > -1 ? 'strikethrough' : '' }") Build your first API + a.disabled(href="/challenges/32", class="#{ cc.indexOf(31) > -1 ? 'strikethrough' : '' }") Explore your Network with the LinkedIn API + |   (1 min) li - a.disabled(href="/challenges/33", class="#{ cc.indexOf(33) > -1 ? 'strikethrough' : '' }") Aggregate Data with Chron Jobs and Screen Scraping + a.disabled(href="/challenges/33", class="#{ cc.indexOf(32) > -1 ? 'strikethrough' : '' }") Build your first API + |   (1 min) li - a.disabled(href="/challenges/34", class="#{ cc.indexOf(34) > -1 ? 'strikethrough' : '' }") Code School's Shaping up with Angular.JS + a.disabled(href="/challenges/34", class="#{ cc.indexOf(33) > -1 ? 'strikethrough' : '' }") Aggregate Data with Chron Jobs and Screen Scraping + |   (1 min) li - a.disabled(href="/challenges/35", class="#{ cc.indexOf(35) > -1 ? 'strikethrough' : '' }") Reverse Engineer SnapChat + a.disabled(href="/challenges/35", class="#{ cc.indexOf(34) > -1 ? 'strikethrough' : '' }") Code School's Shaping up with Angular.JS + |   (1 min) li - a.disabled(href="/challenges/36", class="#{ cc.indexOf(36) > -1 ? 'strikethrough' : '' }") Reverse Engineer Reddit + a.disabled(href="/challenges/36", class="#{ cc.indexOf(35) > -1 ? 'strikethrough' : '' }") Reverse Engineer SnapChat + |   (1 min) li - a.disabled(href="/challenges/37", class="#{ cc.indexOf(37) > -1 ? 'strikethrough' : '' }") Reverse Engineer Pintrest + a.disabled(href="/challenges/37", class="#{ cc.indexOf(36) > -1 ? 'strikethrough' : '' }") Reverse Engineer Reddit + |   (1 min) li - a.disabled(href="/challenges/38", class="#{ cc.indexOf(38) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Team Project + a.disabled(href="/challenges/38", class="#{ cc.indexOf(37) > -1 ? 'strikethrough' : '' }") Reverse Engineer Pintrest + |   (1 min) li - a.disabled(href="/challenges/39", class="#{ cc.indexOf(39) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Solo Project + a.disabled(href="/challenges/39", class="#{ cc.indexOf(38) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Team Project + |   (1 min) li - a.disabled(href="/challenges/40", class="#{ cc.indexOf(40) > -1 ? 'strikethrough' : '' }") Crack the Coding Interview \ No newline at end of file + a.disabled(href="/challenges/40", class="#{ cc.indexOf(39) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Solo Project + |   (1 min) + li + a.disabled(href="/challenges/41", class="#{ cc.indexOf(40) > -1 ? 'strikethrough' : '' }") Crack the Coding Interview + |   (1 min) \ No newline at end of file From ebfac310fb969fb5c532e08ae419a8f056d92dfe Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Fri, 21 Nov 2014 13:36:43 -0600 Subject: [PATCH 2/4] finish updating the sidebar and resequencing courses --- views/partials/challenges.jade | 80 +++++++++++++++++----------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index 75ad89f38dd..b2d24ae58dc 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -18,113 +18,113 @@ a(href="/challenges/4", class="#{ cc.indexOf(4) > -1 ? 'strikethrough' : '' }") Modify and Redeploy Your Website |   (5 mins) li - a(href="/challenges/5", class="#{ cc.indexOf(5) > -1 ? 'strikethrough' : '' }") Start Your First Pair Programming Session - |   (20 mins) - li - a(href="/challenges/6", class="#{ cc.indexOf(6) > -1 ? 'strikethrough' : '' }") Add Dynamic Content to your Website + a(href="/challenges/5", class="#{ cc.indexOf(6) > -1 ? 'strikethrough' : '' }") Add Dynamic Content to your Website |   (10 mins) li - a(href="/challenges/7", class="#{ cc.indexOf(7) > -1 ? 'strikethrough' : '' }") Codecademy's HTML & CSS track + a(href="/challenges/6", class="#{ cc.indexOf(7) > -1 ? 'strikethrough' : '' }") Codecademy's HTML & CSS track |   (7 hrs) li - a(href="/challenges/8", class="#{ cc.indexOf(8) > -1 ? 'strikethrough' : '' }") Experiment with HTML and CSS in CodePen + a(href="/challenges/7", class="#{ cc.indexOf(8) > -1 ? 'strikethrough' : '' }") Experiment with HTML and CSS in CodePen |   (10 mins) li - a(href="/challenges/9", class="#{ cc.indexOf(9) > -1 ? 'strikethrough' : '' }") Code School's Try jQuery + a(href="/challenges/8", class="#{ cc.indexOf(9) > -1 ? 'strikethrough' : '' }") Code School's Try jQuery |   (4 hrs) li - a(href="/challenges/10", class="#{ cc.indexOf(10) > -1 ? 'strikethrough' : '' }") jQuery Exercises + a(href="/challenges/9", class="#{ cc.indexOf(10) > -1 ? 'strikethrough' : '' }") jQuery Exercises |   (3 hrs) li - a(href="/challenges/11", class="#{ cc.indexOf(11) > -1 ? 'strikethrough' : '' }") Code School's Discover DevTools + a(href="/challenges/10", class="#{ cc.indexOf(11) > -1 ? 'strikethrough' : '' }") Code School's Discover DevTools |   (2 hrs) li - a(href="/challenges/12", class="#{ cc.indexOf(12) > -1 ? 'strikethrough' : '' }") Customize Bootstrap with Bootswatch + a(href="/challenges/11", class="#{ cc.indexOf(12) > -1 ? 'strikethrough' : '' }") Customize Bootstrap with Bootswatch |   (10 mins) li - a(href="/challenges/13", class="#{ cc.indexOf(13) > -1 ? 'strikethrough' : '' }") Inject Life with CSS Transformations + a(href="/challenges/12", class="#{ cc.indexOf(13) > -1 ? 'strikethrough' : '' }") Inject Life with CSS Transformations |   (15 mins) li - a(href="/challenges/14", class="#{ cc.indexOf(14) > -1 ? 'strikethrough' : '' }") Codecademy's JavaScript track + a(href="/challenges/13", class="#{ cc.indexOf(14) > -1 ? 'strikethrough' : '' }") Codecademy's JavaScript track |   (10 hrs) + li + a(href="/challenges/14", class="#{ cc.indexOf(16) > -1 ? 'strikethrough' : '' }") Stanford's Introduction to Computer Science + |   (24 hrs) li a(href="/challenges/15", class="#{ cc.indexOf(15) > -1 ? 'strikethrough' : '' }") Get Help The Hacker Way with RSAP |   (30 mins) li - a(href="/challenges/16", class="#{ cc.indexOf(16) > -1 ? 'strikethrough' : '' }") Stanford's Introduction to Computer Science - |   (24 hrs) + a(href="/challenges/16", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Introduction to Regular Expressions + |   (1 hr) li - a(href="/challenges/17", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Introduction to Regular Expressions - |   (20 mins) + a(href="/challenges/17", class="#{ cc.indexOf(5) > -1 ? 'strikethrough' : '' }") Start Your First Pair Programming Session + |   (30 mins | Pair) li a(href="/challenges/18", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Easy Algorithm Scripting Challenges on Coderbyte - |   (15 hrs) + |   (15 hrs | Pair) li a(href="/challenges/19", class="#{ cc.indexOf(18) > -1 ? 'strikethrough' : '' }") Stanford's Relational Databases Mini-course - |   (1 min) + |   (1 hr) li a(href="/challenges/20", class="#{ cc.indexOf(19) > -1 ? 'strikethrough' : '' }") Stanford's SQL Mini-course - |   (1 min) + |   (4 hrs | Pair) li a(href="/challenges/21", class="#{ cc.indexOf(20) > -1 ? 'strikethrough' : '' }") Stanford's JSON Mini-course - |   (1 min) + |   (1 hrs | Pair) li a(href="/challenges/22", class="#{ cc.indexOf(21) > -1 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte - |   (1 min) + |   (15 hrs | Pair) li a.disabled(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine - |   (1 min) + |   (5 hrs | Pair) li a.disabled(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure - |   (1 min) + |   (5 hrs | Pair) li a.disabled(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte - |   (1 min) + |   (15 hrs | Pair) li a.disabled(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git - |   (1 min) + |   (30 mins) li a.disabled(href="/challenges/27", class="#{ cc.indexOf(26) > -1 ? 'strikethrough' : '' }") Install Node.js - |   (1 min) + |   (1 hr) li a.disabled(href="/challenges/28", class="#{ cc.indexOf(27) > -1 ? 'strikethrough' : '' }") Clone a Github Repo - |   (1 min) + |   (15 mins) li a.disabled(href="/challenges/29", class="#{ cc.indexOf(28) > -1 ? 'strikethrough' : '' }") Deploy an app to Heroku - |   (1 min) + |   (15 mins) li a.disabled(href="/challenges/30", class="#{ cc.indexOf(29) > -1 ? 'strikethrough' : '' }") Code School's Real-time web with Node.JS - |   (1 min) + |   (5 hrs) li a.disabled(href="/challenges/31", class="#{ cc.indexOf(30) > -1 ? 'strikethrough' : '' }") Try MongoDB - |   (1 min) + |   (30 mins) li a.disabled(href="/challenges/32", class="#{ cc.indexOf(31) > -1 ? 'strikethrough' : '' }") Explore your Network with the LinkedIn API - |   (1 min) + |   (1 hr) li a.disabled(href="/challenges/33", class="#{ cc.indexOf(32) > -1 ? 'strikethrough' : '' }") Build your first API - |   (1 min) + |   (10 hrs | Pair) li a.disabled(href="/challenges/34", class="#{ cc.indexOf(33) > -1 ? 'strikethrough' : '' }") Aggregate Data with Chron Jobs and Screen Scraping - |   (1 min) + |   (10 hrs | Pair) li a.disabled(href="/challenges/35", class="#{ cc.indexOf(34) > -1 ? 'strikethrough' : '' }") Code School's Shaping up with Angular.JS - |   (1 min) + |   (5 hrs) li a.disabled(href="/challenges/36", class="#{ cc.indexOf(35) > -1 ? 'strikethrough' : '' }") Reverse Engineer SnapChat - |   (1 min) + |   (50 hrs | Pair) li a.disabled(href="/challenges/37", class="#{ cc.indexOf(36) > -1 ? 'strikethrough' : '' }") Reverse Engineer Reddit - |   (1 min) + |   (50 hrs | Pair) li a.disabled(href="/challenges/38", class="#{ cc.indexOf(37) > -1 ? 'strikethrough' : '' }") Reverse Engineer Pintrest - |   (1 min) + |   (50 hrs | Pair) li a.disabled(href="/challenges/39", class="#{ cc.indexOf(38) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Team Project - |   (1 min) + |   (150 hrs | Pair) li a.disabled(href="/challenges/40", class="#{ cc.indexOf(39) > -1 ? 'strikethrough' : '' }") Help a Nonprofit: Solo Project - |   (1 min) + |   (150 hrs | Pair) li a.disabled(href="/challenges/41", class="#{ cc.indexOf(40) > -1 ? 'strikethrough' : '' }") Crack the Coding Interview - |   (1 min) \ No newline at end of file + |   (5 hrs) \ No newline at end of file From cc8cbfdf78c2b569cfa4a087344f1e3cbf0b4634 Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Fri, 21 Nov 2014 19:05:10 -0600 Subject: [PATCH 3/4] additional work on challenges partial --- views/partials/challenges.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index b2d24ae58dc..7c5f02870fc 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -72,16 +72,16 @@ a(href="/challenges/22", class="#{ cc.indexOf(21) > -1 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte |   (15 hrs | Pair) li - a.disabled(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine + a(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine |   (5 hrs | Pair) li - a.disabled(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure + a(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure |   (5 hrs | Pair) li - a.disabled(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte + a(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte |   (15 hrs | Pair) li - a.disabled(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git + a(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git |   (30 mins) li a.disabled(href="/challenges/27", class="#{ cc.indexOf(26) > -1 ? 'strikethrough' : '' }") Install Node.js From 3bf36160b176a9b764346a2462e6c3b143e06568 Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Fri, 21 Nov 2014 20:51:14 -0600 Subject: [PATCH 4/4] finish updating challenges.jade --- views/partials/challenges.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index 7c5f02870fc..7f3cd3d740a 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -51,7 +51,7 @@ a(href="/challenges/15", class="#{ cc.indexOf(15) > -1 ? 'strikethrough' : '' }") Get Help The Hacker Way with RSAP |   (30 mins) li - a(href="/challenges/16", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Introduction to Regular Expressions + a(href="/challenges/16", class="#{ cc.indexOf(17) > -1 ? 'strikethrough' : '' }") Learn Regular Expressions |   (1 hr) li a(href="/challenges/17", class="#{ cc.indexOf(5) > -1 ? 'strikethrough' : '' }") Start Your First Pair Programming Session @@ -72,16 +72,16 @@ a(href="/challenges/22", class="#{ cc.indexOf(21) > -1 ? 'strikethrough' : '' }") Medium Algorithm Scripting Challenges on Coderbyte |   (15 hrs | Pair) li - a(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine + a.disabled(href="/challenges/23", class="#{ cc.indexOf(22) > -1 ? 'strikethrough' : '' }") Build an Interview Question Machine |   (5 hrs | Pair) li - a(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure + a.disabled(href="/challenges/24", class="#{ cc.indexOf(23) > -1 ? 'strikethrough' : '' }") Build a Text-based Adventure |   (5 hrs | Pair) li - a(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte + a.disabled(href="/challenges/25", class="#{ cc.indexOf(24) > -1 ? 'strikethrough' : '' }") Hard Algorithm Scripting Challenges on Coderbyte |   (15 hrs | Pair) li - a(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git + a.disabled(href="/challenges/26", class="#{ cc.indexOf(25) > -1 ? 'strikethrough' : '' }") Code School's Try Git |   (30 mins) li a.disabled(href="/challenges/27", class="#{ cc.indexOf(26) > -1 ? 'strikethrough' : '' }") Install Node.js