Wednesday, January 6, 2016

Day 169: FCC, Completing the New JavaScript Sections

Okay, I wanted to get straight to the Pomodoro Clock today, but since the FCC curriculum was updated a couple of weeks ago, I may as well complete the additional sections that were inserted into sections I had already completed.

The additions are very simple, so I don't think it will take me more than a few hours, if that.

Well, now that I'm actually doing it, it looks like they added more like 5 hours of basic material to one section, as well as one more algorithm scripting problem.  Between those two things, that may be enough to occupy my productive focus today.

I've done a bunch of problems so far today, but I've still got about 16 more to go on the Basic JavaScript section.  

We've got dark skies and a cold rain pouring down on Austin today, but that's all right, it makes me appreciate the sunny days the rest of the year.


I made a switch statement.  I've encountered them before, but they don't come up too often. 

function myTest(val) {
  var answer = "";
  // Only change code below this line
  switch(val) {
  case 1:
    answer = "alpha";
    break;
  case 2:
    answer = "beta";
    break;
  case 3:
    answer = "gamma";
    break;
  case 4:
    answer = "delta";
    break;
  }
  // Only change code above this line  
  return answer;  
}

// Change this value to test

myTest(1);

Here's another switch statement:

function myTest(val) {
  var answer = "";
  // Only change code below this line
  switch(val) {
  case "a":
    answer = "apple";
    break;
  case "b":
    answer = "bird";
    break;
  case "c":
    answer = "cat";
    break;
  default:
    answer = "stuff";    
  }
  
  
  // Only change code above this line  
  return answer;  
}

// Change this value to test

myTest(1);

This one's different, it gives switch statements for various results at the same time, instead of one at a time:

function myTest(val) {
  var answer = "";
  // Only change code below this line
  switch(val) {
  case 1:
  case 2:
  case 3:
    answer = "Low";
    break;
  case 4:
  case 5:
  case 6:
    answer = "Mid";
    break;
  case 7:
  case 8:
  case 9:
    answer = "High";
    break;
}
  
  // Only change code above this line  
  return answer;  
}

// Change this value to test

myTest(1);

This is neat, so this function:

function isLess(a, b) {
  if(a < b) {
    return true;
  } else {
    return false;
  }
}


isLess(10, 15);

Is the same as this function:

function isLess(a, b) {
    return a < b;
}


isLess(10, 15);

As in, it returns a true or false.  That's useful to know.  This next problem was really fun to work on, here's the actual problem:




And here's my solution!

var count = 0;

function cc(card) {
  // Only change code below this line
  if (card === 10 || card === 'J' || card === 'Q' || card === 'K' || card === 'A') {
    count -= 1;
  }
  else if (card === 7 || card === 8 || card === 9) {
    count = count + 0;
  }
  else if (card === 2 || card === 3 || card === 4 || card === 5 || card === 6) {
    count += 1;
  }
  var holdOrBet;
  if (count > 0) {
    holdOrBet = " Bet";
  }
  else {
    holdOrBet = " Hold";
  }
  return count + holdOrBet;
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display

cc(2); cc(3); cc(7); cc('K'); cc('A');

Neat, huh?  I'm wondering if it will work the same if I shorten the OR sections...I tried it, and no, it won't so when I do the && or ||, make sure to explicitly state each comparison, the shortcut won't work, at least on this example and on another I experimented with earlier.

I learned that if a property of an object we're trying to access has a space in its name, we have to use bracket notation.  This one was neat to work on also:


// Setup
function phoneticLookup(val) {
  var result = "";
  // Only change code below this line
  var lookup = {
    alpha:"Adams",
    bravo:"Boston",
    charlie:"Chicago",
    delta:"Denver",
    echo:"Easy",
    foxtrot:"Frank"
  };
  result = lookup[val];
  // Only change code above this line
  return result;
}

// Change this value to test

phoneticLookup("");

It filters and returns the property for the key.  Here's how to access an object with several levels:

// Setup
var myStorage = {
  "car": {
    "inside": {
      "glove box": "maps",
      "passenger seat": "crumbs"
     },
    "outside": {
      "trunk": "jack"
    }
  }
};

// Only change code below this line


var gloveBoxContents = myStorage.car.inside['glove box']; // Change this line

Note the bracket notation for the last property, and the quotes.  Also note that if we had placed the property in a variable and then accessed it via brackets, we wouldn't have used the quotes.  This accesses the "pine" value:

// Setup
var myPlants = [
  { 
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }  
];

// Only change code below this line


var secondTree = myPlants[1].list[1]; // Change this line

Check out this one!!!  I solved it quickly:




And here's my solution:

function multiplyAll(arr) {
  var product = 1;
  // Only change code below this line
  for (var i=0; i < arr.length; i++) {
    for (var j=0; j < arr[i].length; j++) {
      product = product * (arr[i][j]);
    }
  }
  // Only change code above this line
  return product;
}

// Modify values below to test your code

multiplyAll([[1,2],[3,4],[5,6,7]]);

O.k., so now, it's 1:34 a.m., and I'm planning to go to bed at 2 a.m., BUT I have only one problem left, out of 100 total in the JavaScript Basics section...so I really want to finish it, but it seems to be the hardest problem so far of all of them.  I'm going to give it a shot, I've got to go at it in a very methodical way to knock it out and go to bed on time...

With this solution, I added an array element to an existing array (1245):

// Setup
var collection = {
    2548: {
      album: "Slippery When Wet",
      artist: "Bon Jovi",
      tracks: [ 
        "Let It Rock", 
        "You Give Love a Bad Name" 
      ]
    },
    2468: {
      album: "1999",
      artist: "Prince",
      tracks: [ 
        "1999", 
        "Little Red Corvette" 
      ]
    },
    1245: {
      artist: "Robert Palmer",
      tracks: []
    },
    5439: {
      album: "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function update(id, prop, value) {
  if (prop === "tracks" && value !== "") {
    collection[id][prop].push(value);
    console.log(collection[prop]);
    return collection;
  }
  if (value !== "") {
  collection[id][prop] = value;
  }
  if (value === "") {
    delete collection[id][prop];
  }
  return collection;
}

// Alter values below to test your code

update(1245, "tracks", "Addicted to Love");

The code adds "Addicted to Love" to the tracks array for 1245, but it adds that string as an item in the array, it doesn't replace the array in tracks with a string, it inserts "Addicted to Love" into the array in tracks. 

That was the longest problem of the day, it took me one hour and 45 minutes to solve, and that hour and forty five minutes flew by in no time...I really enjoy when I get so into programming that I lose track of time.

Today was great, I'm much more comfortable with objects now.  It's 3:41 a.m., though, I stayed up a bit late coding...I'll leave the blog post at 11:30 p.m. yesterday anyways, so I don't have two posts on the same day.

SUMMARY OF CODING SKILLS

Total Treehouse Points: 5,503

Treehouse Points by Subject Matter (Miscellaneous not included): 
HTML:                                663 
CSS:                                1,599 
Design:                            1,193 
Development Tools:            747 
JavaScript:                      1,239

Treehouse Ranking (%): "You have more total points than 93% of all students."

Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Console Foundations
Git Basics
Introduction to Programming
JavaScript Basics

Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy) 

Books Read or in Progress:

Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
Completed: "A Smarter Way to Learn JavaScript," by Mark Myers 
Completed: "HTML and CSS," by Jon Duckett
Completed: "JavaScript and JQuery," by Jon Duckett

My Progress on The Odin Project:
1.  Introduction to Web Development                                             100% Complete
2.  Web Development 101                                                               33% Complete 
Note: I switched to FCC for the great online community and better updates/support.

My Progress on Free Code Camp (FCC): 
1. Get Started with Free Code Camp                                                      Complete
2. HTML5 and CSS                                                                                  Complete
3. Responsive Design with Bootstrap                                                       Complete
4. Gear up for Success                                                                           Complete
5. jQuery                                                                                              Complete
6. Basic JavaScript                                                                                 Complete
7. Object Oriented and Functional Programming                                     Complete
8. Basic Algorithm Scripting                                                                   Complete
9. Basic Front End Development Projects                                                 On 4 of 5
10. Intermediate Algorithm Scripting                 On 4 of 21 (#13 and #14 also done)

11. JSON API's and Ajax
12. 
Intermediate Front End Development Projects
13. Claim Your Front End Development Certificate
14. Upper Intermediate Algorithm Scripting
15. Automated Testing and Debugging
16. Advanced Algorithm Scripting
17. AngularJS
18. Git
19. Node.js and Express.js
20. MongoDB
21. Full Stack JavaScript Projects

22. Claim Your Full Stack Development Certificate

After the 800 hours of FCC work above, there are 800 more hours of non-profit coding projects.


Hours Spent Coding Today: 9
Total Hours Coding: 793

Tuesday, January 5, 2016

Day 168: "JavaScript & JQuery" by Jon Duckett

I'm starting today on page 456.  I should finish the book today, it's going to be a long-distance sprint of over ten hours, but I should finish it today.  I learned about the console.table() method, which allows us to write tables that contain objects or arrays to the console.

I used the sources option on the Chrome dev tools to look at the value of a variable by highlighting it, selecting breakpoints.  We can write in the word debugger at various points, which will set a breakpoint if the developer tools are open.

We must remove all debugger code before a page goes live.  We can insert debugger code into conditional statements, so the debugger only stops at that section if the condition is met.

Now I'm on page 490, learning about content panels.

Page 494 shows how to make an accordion panel.  This will help me with the Pomodoro Clock, as far as giving an id to the button I will use to being the timer, and using:

.on('click', function() {
  the timer function;
  }
);

Something like that, to start the timer, and then something similar to stop it, or a method within the same function that stops and the timer when the user clicks on the button again.

There's a JavaScript function called clearTimeout() which takes one parameter, the variable used to identify the timer.  I'm thinking I can use this to reset the timer for the Pomodoro Clock, assuming the timer that this function is tied to can be shown on the page.  Hey, I've got a lead to follow up on tomorrow, so that's great!

There's another JavaScript function, called setTimeout() which executes a function after a number of milliseconds.  If I can set the timeout to 25 minutes, and then another to 5 minutes, then have these countdowns shown on the page, I can then use clearTimeout(), linked to a button, to reset the time to zero, and if I click on the button again, to start the countdown again.  Something along those lines may work.

I'm on page 544, learning about filtering, searching, and sorting.  This chapter is a bit more complicated.  I'm going to enjoy coming back to this book in the coming days, weeks, months, and years, and reading the parts I didn't understand 100% until one day I do understand them 100%.

O.k., I finished the Filtering, Searching & Sorting chapter, and like the AJAX and JSON chapter, I'll have to go over that one again when I need to apply the information within for an actual project, FCC or otherwise.

Now I'm on Form Enhancement & Validation, which is chapter 13, the final chapter.  It's a long chapter, it starts on page 567 and ends on page 622.  

I made a timer appear on the page for the first time right now...it uses code I found online:

// HTML START

<div id="countdown"> </div>

<div id="download">Break Time!</div>

// HTML END

// TIMER START
window.onload = function() {
    var countdownElement = document.getElementById('countdown'),
        downloadButton = document.getElementById('download'),
        seconds = 1500,
        second = 0,
        interval;

    downloadButton.style.display = 'none';

    interval = setInterval(function() {
        countdownElement.firstChild.data = 'You can start your break in ' + (seconds - second) + ' seconds';
        if (second >= seconds) {
            downloadButton.style.display = 'block';
            clearInterval(interval);
        }

        second++;
    }, 1000);
}


// TIMER END

That's really cool.  I want to start on the Pomodoro Clock project already, but I have to finish the book!

Okay, I finished the book.  That last chapter was confusing to me, again, because I haven't used any of the material before in any projects.  Nonetheless, I went through it, and my FCC projects that are coming up will give me a lot of practice.  

I'm really looking forward to tomorrow.  Pomodoro Clock, here I come!

SUMMARY OF CODING SKILLS

Total Treehouse Points: 5,503

Treehouse Points by Subject Matter (Miscellaneous not included): 
HTML:                                663 
CSS:                                1,599 
Design:                            1,193 
Development Tools:            747 
JavaScript:                      1,239

Treehouse Ranking (%): "You have more total points than 93% of all students."

Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Console Foundations
Git Basics
Introduction to Programming
JavaScript Basics

Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy) 

Books Read or in Progress:

Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
Completed: "A Smarter Way to Learn JavaScript," by Mark Myers 
Completed: "HTML and CSS," by Jon Duckett
Completed: "JavaScript and JQuery," by Jon Duckett

My Progress on The Odin Project:
1.  Introduction to Web Development                                             100% Complete
2.  Web Development 101                                                               33% Complete 
Note: I switched to FCC for the great online community and better updates/support.

My Progress on Free Code Camp (FCC): 
1. Get Started with Free Code Camp                                                      Complete
2. HTML5 and CSS                                                                                  Complete
3. Responsive Design with Bootstrap                                                       Complete
4. Gear up for Success                                                                           Complete
5. jQuery                                                                                              Complete
6. Basic JavaScript                                                                                 Complete
7. Object Oriented and Functional Programming                                     Complete
8. Basic Algorithm Scripting                                                                   Complete
9. Basic Front End Development Projects                                                 On 4 of 5
10. Intermediate Algorithm Scripting                 On 4 of 21 (#13 and #14 also done)

11. JSON API's and Ajax
12. 
Intermediate Front End Development Projects
13. Claim Your Front End Development Certificate
14. Upper Intermediate Algorithm Scripting
15. Automated Testing and Debugging
16. Advanced Algorithm Scripting
17. AngularJS
18. Git
19. Node.js and Express.js
20. MongoDB
21. Full Stack JavaScript Projects

22. Claim Your Full Stack Development Certificate

After the 800 hours of FCC work above, there are 800 more hours of non-profit coding projects.


Hours Spent Coding Today: 9
Total Hours Coding: 784

Monday, January 4, 2016

Day 167: "JavaScript & JQuery," by Jon Duckett and Solving a Bug!

Something interesting happened today, I was so into my coding that I woke up super early, just to get started on the book...

I mean, really early, it's 5:30 a.m., and I went to bed at 1 a.m., so I've only slept 4 and a half hours.  Sometimes I wake up at 6:30, 8, or 9 at the latest, depending on how early I want to be up and about and what I've got going on, but this week, I've been waking up at like 9 a.m., so 5:30 is a pretty big change.  

That's fantastic.

Ok, I'm starting today on pg 314, learning more about JQuery today!!!  I can't wait to learn enough to master the knowledge necessary to complete the Pomodoro Clock FCC project...

So, right before I got to studying, I checked my facebook and saw a post that a coder from San Francisco had made, her website was scrolling infinitely, and she wanted to make is stop doing that.  She said she had been working on debugging it forever but could not figure it out.

So, I added this to the code:

body{ overflow-x: hidden;}

And that solved it, at least on Chrome for the Mac.  I commented on her post letting her know!  If she tries it and it works for her also, that will be the first time that I solve a real-world bug for someone else, and she's a web dev from San Francisco!  I'm so stoked to see her reply.

Page 345 of the book is awesome.  It shows how to add items to a list via Jquery.

Also, I learned how to grab the html file from any site and load it up on my text editor.  It's super simple, but I had just never done it, I had only accessed the html for sites via the web dev console for Chrome or Firefox, for example.

All right, I'm on page 378, and it's 5:38 p.m.  So far so good.  I have to finish this book by tomorrow at midnight, so the more I finish today, the more leeway I have for tomorrow, in case some of the material takes me longer to complete than expected.

There's 622 pages in the book, so I'm 60.77% done with it.  Let's see how far I can get today before I pass out!

I'm on page 412 now, learning about API's.  The AJAX section was not familiar to me at all.  I don't think I learned much from it because I haven't had a project yet where I needed to use AJAX technologies.  That said, I'm looking forward to rereading that section of this book when I need to use AJAX technologies for one or more of the front end projects coming up.

I'm having a great day, I like being so productive.

I'm working with the geolocation API now.

Now I'm on Web Storage API, on page 420, which means I'm 67.74% done with the book.

JQuery UI accordion is a really neat feature that is discussed on page 130.  It's simple to accomplish, yet the effect is very polished.  JQuery UI tabs is neat also, but I like the accordion better.

I'm on page 434 now, learning about AngularJS.  This is awesome.  I feel like it's all coming together now.  I'm learning about a software development approach called MVC (model view controller), which is the approach that Angular is based on.

I'm on pg 440, learning about platform API's.

I'm on pg 456, learning about error handling and debugging.

SUMMARY OF CODING SKILLS

Total Treehouse Points: 5,503

Treehouse Points by Subject Matter (Miscellaneous not included): 
HTML:                                663 
CSS:                                1,599 
Design:                            1,193 
Development Tools:            747 
JavaScript:                      1,239

Treehouse Ranking (%): "You have more total points than 93% of all students."

Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Console Foundations
Git Basics
Introduction to Programming
JavaScript Basics

Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy) 

Books Read or in Progress:

Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
Completed: "A Smarter Way to Learn JavaScript," by Mark Myers 
Completed: "HTML and CSS," by Jon Duckett
In Progress: "JavaScript and JQuery," by Jon Duckett (on pg 456 of 622)

My Progress on The Odin Project:
1.  Introduction to Web Development                                             100% Complete
2.  Web Development 101                                                               33% Complete 
Note: I switched to FCC for the great online community and better updates/support.

My Progress on Free Code Camp (FCC): 
1. Get Started with Free Code Camp                                                      Complete
2. HTML5 and CSS                                                                                  Complete
3. Responsive Design with Bootstrap                                                       Complete
4. Gear up for Success                                                                           Complete
5. jQuery                                                                                              Complete
6. Basic JavaScript                                                                                 Complete
7. Object Oriented and Functional Programming                                     Complete
8. Basic Algorithm Scripting                                                                   Complete
9. Basic Front End Development Projects                                                 On 4 of 5
10. Intermediate Algorithm Scripting                 On 4 of 21 (#13 and #14 also done)

11. JSON API's and Ajax
12. 
Intermediate Front End Development Projects
13. Claim Your Front End Development Certificate
14. Upper Intermediate Algorithm Scripting
15. Automated Testing and Debugging
16. Advanced Algorithm Scripting
17. AngularJS
18. Git
19. Node.js and Express.js
20. MongoDB
21. Full Stack JavaScript Projects

22. Claim Your Full Stack Development Certificate

After the 800 hours of FCC work above, there are 800 more hours of non-profit coding projects.


Hours Spent Coding Today: 9
Total Hours Coding: 775

Sunday, January 3, 2016

Day 166: "JavaScript & JQuery," by Jon Duckett

Ok, I'm starting today on page 198, we're going over nodelists.

I'm on pg 234 now, working on modifying attributes and text via DOM manipulation. 

I'm on pg 276 now, learning about events.

I'm on pg 304 now, learning about JQuery.

Closing out the day on pg 314, learning more about JQuery!

SUMMARY OF CODING SKILLS

Total Treehouse Points: 5,503

Treehouse Points by Subject Matter (Miscellaneous not included): 
HTML:                                663 
CSS:                                1,599 
Design:                            1,193 
Development Tools:            747 
JavaScript:                      1,239

Treehouse Ranking (%): "You have more total points than 93% of all students."

Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Console Foundations
Git Basics
Introduction to Programming
JavaScript Basics

Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy) 

Books Read or in Progress:

Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
Completed: "A Smarter Way to Learn JavaScript," by Mark Myers 
Completed: "HTML and CSS," by Jon Duckett
In Progress: "JavaScript and JQuery," by Jon Duckett (on pg 314 of 622)

My Progress on The Odin Project:
1.  Introduction to Web Development                                             100% Complete
2.  Web Development 101                                                               33% Complete 
Note: I switched to FCC for the great online community and better updates/support.

My Progress on Free Code Camp (FCC): 
1. Get Started with Free Code Camp                                                      Complete
2. HTML5 and CSS                                                                                  Complete
3. Responsive Design with Bootstrap                                                       Complete
4. Gear up for Success                                                                           Complete
5. jQuery                                                                                              Complete
6. Basic JavaScript                                                                                 Complete
7. Object Oriented and Functional Programming                                     Complete
8. Basic Algorithm Scripting                                                                   Complete
9. Basic Front End Development Projects                                                 On 4 of 5
10. Intermediate Algorithm Scripting                 On 4 of 21 (#13 and #14 also done)

11. JSON API's and Ajax
12. 
Intermediate Front End Development Projects
13. Claim Your Front End Development Certificate
14. Upper Intermediate Algorithm Scripting
15. Automated Testing and Debugging
16. Advanced Algorithm Scripting
17. AngularJS
18. Git
19. Node.js and Express.js
20. MongoDB
21. Full Stack JavaScript Projects

22. Claim Your Full Stack Development Certificate

After the 800 hours of FCC work above, there are 800 more hours of non-profit coding projects.


Hours Spent Coding Today: 9
Total Hours Coding: 766

Saturday, January 2, 2016

Day 165: "JavaScript & JQuery" by Jon Duckett

Today's the first day of the new year.  I'm starting on page 96 of the Duckett book.  I have to finish as much as possible today, so as to finish the book by my goal date of January 5th.

I learned a new way to create a function, via a function expressions, like so:

var area = function(width, height) {
return width * height;
};

You could then call it like so:

var size = area(3, 4);

When you use a function expression, it can only be called AFTER the interpreter gets to the declaration statement, whereas with a regular function you can call it before you have defined it, as long as it is defined somewhere in the code.

I'm on page 104 now.  Gotta keep it up.  We can create an empty object in two ways, here's two examples:

var hotel = new Object();

or

var hotel = {};

Either works.  To add properties and methods, we would do this to add a property:

hotel.name = "Miramar";

or this to add a method:

hotel.checkAvailability = function() {
  return this.rooms - this.booked;
};

To delete a property, we can do:

delete hotel.name;

If you just want to clear the value of a property, simply set it to a blank string, like so:

hotel.name = "";

This is a constructor function (note that its name is capitalized):

function Hotel(name, rooms, booked) { 
  this.name = name;
  this.rooms = rooms;
  this.booked = booked;
  this.checkAvailability = function() {
    return this.rooms - this.booked;
  };
}

So then at any time, I can simply call the function, enter parameters, and it creates a new Hotel object.  When we create an object using that function, we should use the new keyword, like so:

var miramar = new Hotel("Miramar", 400, 287);

I'm on  page 130.

I learned about immediately invoked function expressions, which allows you to prevent other variables from intruding on your function, the abbreviation for these is IIFE. 

We started working with milliseconds (a thousandth of a second), and it comes in handy when using the date object.  There's 31556900000 milliseconds in a non-leap year.  If you want to add 7 days time in milliseconds, you would do this:

today.getTime() + 7 * 24 * 60 * 60 * 1000

Neat.

The Logical Not logical operator reverses a boolean value, like so:

!(2 < 1)

Would evaluate to true, instead of false, due to the Logical Not operator.

When a variable has been declared, but not yet assigned a value, it would be undefined.  If you try to do this:

('ten'/2) 

The result would be NaN, which is a number data type value that stands for Not A Number.

Ok, I closed out the day on page 198.

SUMMARY OF CODING SKILLS

Total Treehouse Points: 5,503

Treehouse Points by Subject Matter (Miscellaneous not included): 
HTML:                                663 
CSS:                                1,599 
Design:                            1,193 
Development Tools:            747 
JavaScript:                      1,239

Treehouse Ranking (%): "You have more total points than 93% of all students."

Treehouse Courses Completed:
How to Make a Website
HTML
CSS Foundations
CSS Layout Techniques
Aesthetic Foundations
Design Foundations
Adobe Photoshop Foundations
Adobe Illustrator Foundations (66% complete, switched focus from web design to web dev)
Console Foundations
Git Basics
Introduction to Programming
JavaScript Basics

Codecademy (& other) Courses Completed:
HTML and CSS (Codecademy) 

Books Read or in Progress:

Completed: "Head First HTML and CSS," by E. Robson & E. Freeman
Completed: "A Smarter Way to Learn JavaScript," by Mark Myers 
Completed: "HTML and CSS," by Jon Duckett
In Progress: "JavaScript and JQuery," by Jon Duckett (on pg 198 of 622)

My Progress on The Odin Project:
1.  Introduction to Web Development                                             100% Complete
2.  Web Development 101                                                               33% Complete 
Note: I switched to FCC for the great online community and better updates/support.

My Progress on Free Code Camp (FCC): 
1. Get Started with Free Code Camp                                                      Complete
2. HTML5 and CSS                                                                                  Complete
3. Responsive Design with Bootstrap                                                       Complete
4. Gear up for Success                                                                           Complete
5. jQuery                                                                                              Complete
6. Basic JavaScript                                                                                 Complete
7. Object Oriented and Functional Programming                                     Complete
8. Basic Algorithm Scripting                                                                   Complete
9. Basic Front End Development Projects                                                 On 4 of 5
10. Intermediate Algorithm Scripting                 On 4 of 21 (#13 and #14 also done)

11. JSON API's and Ajax
12. 
Intermediate Front End Development Projects
13. Claim Your Front End Development Certificate
14. Upper Intermediate Algorithm Scripting
15. Automated Testing and Debugging
16. Advanced Algorithm Scripting
17. AngularJS
18. Git
19. Node.js and Express.js
20. MongoDB
21. Full Stack JavaScript Projects

22. Claim Your Full Stack Development Certificate

After the 800 hours of FCC work above, there are 800 more hours of non-profit coding projects.


Hours Spent Coding Today: 5
Total Hours Coding: 757