Saturday, January 31, 2015

Project 4 - Passed!

I had started on the web optimization project Back in the middle of December, and received feedback that advised my project wasn't meeting all the specs that it should. The nice part about the evaluations that come back from Udacity coaches, is that the description of what is wrong is usually accompanied by suggestions on how to address those issues.

I followed the suggestions from Poornima, and my resubmission finally met the requirements.


Because I didn't use the gulp/Grunt build tools, I didn't expect to get "exceeds" on this evaluation, even though some of the rubric points did exceed - but that's ok. I'm happy with what I learned, and feel like it will be very useful in the future.

Tuesday, January 20, 2015

Diving into Project 5

Down to the last project!

Several of the students in my cohort that spend time in HipChat and Piazza helping other students, have progressed to the point that they have completed the nanodegree.

Seeing Dawoon Choi's completion certificate (as well as Kevin Mayo's, and Ben Halperin's, and... you get the idea) has inspired me to get into this last project, and finish out my nanodegree.

I have completed the first lesson in the JavaScript Design Patterns course, and I have to agree with the other students that have commented on how well done the presentation is. Ben Jaffe takes the Model View * design, and makes it easy to understand. Even the examples used for demonstration were well laid out, and easy to follow. Like other Udacity courses, I am sure the complexity will ratchet up. Unlike the Object Oriented JavaScript course, where it felt like the material was too complex to pick up as it was being presented, this course has a pace that feels easier to absorb.

There is quite a bit to do in each lesson, so I'm doing one per night this week, which should put me at the point of doing my own project over the weekend. I expect this final project will take a few weeks, just as the arcade clone did, as the students get to "make it our own" with the presentation and details that get added into the project.

I admit, I did not go back and use the build tools for project 4 - I don't know if that is going to prove to be a hindrance in the way this project turns out. I might need to back up and do that before getting too deep into the actual project.


Thursday, January 15, 2015

Project 4 resubmitted

After quite a while away from it, I finally buckled down and updated Project 4 for resubmission.

In looking at the project again, and following the suggestions from my evaluation, I was able to find some additional optimizations that I had not looked at previously. It turns out that I had missed one correction to the JavaScript that I had actually done on another part of the code, but didn't realize that it could have been done in several locations. By making that ONE change, I was able to drop the cost of the pizza resize by almost a factor of TEN!

On my system, I am able to get the pizza page to display at better than 60fps for scrolls and programmatic resizing of the pizzas. I did find, however, that scrolling via a mouse was very consistent in frame rate, but scrolling via the arrow keys caused the screen rate to drop to 12fps. I'm not sure what it is in the iMac hardware that is causing it (possibly because it is a Bluetooth keyboard?), but there is a significant difference between mouse scroll and keyboard scroll.

I also updated the README file that I somehow completely missed the first time I submitted the project. I kind of feel like I am giving away the "secrets" to the project completion, but this is what was requested, so I put all the detail in that I could remember.

I just hope it is enough.

Tuesday, January 6, 2015

Project 6 - Passed!

With the holidays being busy (for both students and coaches, I expect), I wasn't terribly concerned about the fact that Project 6 had been submitted back on December 18th, and as of the two week mark, I had not received an evaluation.  I had taken a slight vacation from my nanodegree work after that submission.

Today, I received my evaluation on Project 6, and it was...


As I had posted here, this project was very similar in concept to unit testing I had learned for Java, but much easier to understand due to the syntax Jasmine uses. I added two additional tests that seemed to make sense for extending the usefulness of the feed reader. One of the tests works on the feed reader as is (assuming the page as presented is default), and one test which does not work, but could if additional functionality is added. The nonfunctional test is marked it as "pending" using Jasmine's pending() function. By marking this extra test as pending, the other tests can run, leaving the pending test as a yellow mark - rather than throwing red errors across the screen.

This leaves the rework for Project 4 and new work on Project 5 to be completed, in order to finish out the nanodegree projects. With this evaluation now under my belt (and holidays well past), I'm ready to get back into the Front End Development mindset.