Wednesday, December 31, 2014

Project 3 - Passed!

Ending the year on a high note. :)

I received the evaluation on my resubmitted Project 3, and after cleaning up the requested issues, the result was...


I'm glad that I was able to get the hoped for evaluation result, and realize that in my excitement to get the arcade project in, I had completely missed the basics in my own review of my code. Hopefully, lesson learned and I can remember to watch for this before submitting projects in the future.

Monday, December 29, 2014

It pays to check the site...

I think I missed something in translation.

Students received an email several weeks about about changes to the Udacity site, where we could now submit our projects directly through the site, rather than via email. I already had a few in the pipeline, so I expected that any evaluations would be coming back via email as well, if I sent them in that way.

Apparently, the evaluations will be coming via the site now. I do like the new Udacity FEND site layout. I also appreciate the fact that you can access the evaluation wherever you can get the site (rather than trying to check several different email accounts waiting for a response), but I think it needs to be clearer that the evaluations will be coming from the site now.  As such, my evaluation for project 4 was sitting there since December 11th, and I had no idea.

This new process could be something I completely missed in the email, and I'll take blame for that oversight. In any case, I now have my evaluation and a list of things that need to be addressed in Project 4.

The biggest issue that I can see with my submission, is omitting the full Grunt/gulp/other process automations, which caused things like minimized CSS/JS to be "missing". Apparently minimizing files is part of the content efficiency that is talked about in the course, but not really detailed as such in the rubric. 

I am considering redoing the entire project using gulp, for two reasons.
  1. It should allow me to learn how to use such build tools in the content efficiency process, and make it easier to adapt this process to future projects (I suspect project 5 will make good use of this as well).
  2. It will help me to meet more of the Udacious level requirements for this project.
It looks less and less likely that I will be done by the end of January (a personal goal), but the rework will be worth it to learn these lessons.

Wednesday, December 24, 2014

Project 3 is a Hit!!

I was contacted a few days ago by Jessica Lin, one of the course managers at Udacity. She was wanting to get permission to post information about my arcade project (Project 3 in the Front-End Web Development Nanodegree) on their blog. I was more than happy to give my assent.

Today, that blog was published. I wasn't expecting the title of the post to be this:


I was blown away by the blog entry. I was hoping that my project would make an impact, and that it would be recognized for the amount of work that I put into it, but to have it selected for this list is beyond my expectations.

I'm not sure why the students' names were not included in the story, but I am sure there is a good reason that I am not aware of yet. I'm just happy to be included.

Thursday, December 18, 2014

Project 3 evaluation

I received my evaluation for Project 3 yesterday. I have been asked to make some updates and resubmit the project.

After looking at the review, I realized that I had made some mistakes and should have checked the project more closely before submitting. Simple things that I should have caught (semicolons after function expressions, no semicolons after function declarations) seemed to be my biggest offense.

Lesson learned: use the tools available to you.

Had I used jslint.com or any number of other tools that check JS syntax, I could have caught these issues right away. Instead, I thought I knew enough to not need the tools, and I was proven wrong.

So, after correcting the issues and resubmitting the project, I will be adding those tools into my work routine. I suspect I may have issues with Project 4 as well, since I did not use the recommended tools (Grunt, gulp, minifier) in that project either. If so, I will have them ready for when Project 5 comes around, as it seems that specific project will be a culmination of what we have learned throughout the courses - a true final project.

Tuesday, December 16, 2014

Project 6 finished

No, I didn't mistype the title. I viewed the coursework for Project 5 (Neighborhood Map), and though it is the next one on my list to do, I didn't feel as if the course gave me enough to work with, to attack the project properly. I did some research on Knockout.js, and decided that I would come back to it once the other course is completed later this month for project 5 (per conversations I had heard from several students and instructors).

So, I jumped into project 6. It turns out, the Jasmine testing that we are asked to do for that project is very similar to unit testing that I have learned for Java. So, I read up on Jasmine, and in two days, I had all of my tests set up and succeeding. I'm not completely positive that I have things working as they were intended to be (as the tests can be a bit cryptic to figure out if you are testing EXACTLY what is expected), but it looks pretty close to what is in the readme file.

I can't seem to come up with any extra tests to add, though, to get a Udacious rating on this project. I'm ahead of where I expected to be, so I can take a few days to think on it. After all, there isn't much more to do until the second course for Project 5 comes out. 

Thursday, December 11, 2014

Project 4 Submitted

It was interesting to me, that Project 3 took me almost a month from course start to submission, and yet Project 4 was only a few days from start to finish. I did have a lot more creative license with Project 3 - after all, it was a game that we could customize to our creative desire - but Project 4 was more like a project I would do in my everyday job.

Learning some new tools (Grunt, gulp, etc) was eye-opening, as well as getting to work with Google PageSpeed Insights, but it was actually pretty straightforward for me. My day job is to support existing applications within AT&T, and some of what we do is to look for problems and address them as best we can. Usually our issues are back end ones, though, so this was a nice change of pace.

I didn't actually use the automated tools for my project. Although I know it may have sped up the ability to get this project done, it also felt to me as if I was letting the tools do the work, rather than doing it myself and learning more hands-on. As long as I understood it in the end, it may not have mattered, but I wanted to know that I did the work myself, not some script.

I don't expect to get the "exceeds" rating this time around, as it requires use of those tools (and one page I barely got over the required PageSpeed score). I'm not as worried about it, since I would rather put the time toward the creative projects.

I'm still waiting on the response on Project 3, but I know the evaluators are swamped with last minute submissions, and they only have until Christmas to get those back to the students. I really want to know what the coaches (and especially Mike and Miriam) thought of the game.

Sunday, December 7, 2014

Project 3 submitted

I finally decided that I had added all that I should to the project, and submitted it on Friday.

I think the only thing the evaluators may not like is the commenting. I had gone back and forth on the comments, trying to keep them consistent without overdoing it. I think I ended up overdoing it anyway.

I had asked in Piazza about the necessity of JSDoc, and was told it should not affect the project evaluation. It seemed like JSDoc might be overkill for this size project, but I can see where it could be helpful to someone coming along and wanting auto-documentation. I think what I did put in as comments would be enough for someone trying to follow behind me.

In reading up on self-documenting code (search Stack Overflow for several posts about it), it seems that the general consensus is that although code can give you a lot of information about what is is doing, it cannot give you the WHY something was coded a specific way. I tried to leave my comments as "why" explanations, expecting the rest would explain itself. Once I get the review, I'll know whether that was enough.

Final submission link: here

Monday, December 1, 2014

The problem with projects you love...

.. is that they tend not to ever get done.

Case in point: to "pass" Project 3, the arcade game that is designed needs to meet a specific set of criteria that is pretty easy to complete. Watch the lesson, apply what you learn, and make sure you meet the rubric requirements.  I could have turned that version of the project in two weeks ago.

To exceed expectations, this project is really no different than the others: make it your own. Add something, change up how it plays, and you should be reaching that extra level of recognition.

Now, I've heard from several different sources that "web projects are never complete; they can be iterated against and constantly refined". When I like what I am doing, I tend to keep iterating and adding as I go along.

  • Game is finished. 
    • It's too plain, though. It needs something different. This project is for Udacity... why not make the game theme about Udacity? The player can collect books, instead of gems. Then, they can take the books to the top row, and put them there. Once the row is done, they win. Simple to implement.
  • Books added, top row now is a scoring row.
    • The player character needs to be Udacity themed too... hey, what if I get permission from Miriam and Mike to use their "likenesses" in the game?
  • Characters added. 
    • But, it needs a neat intro. Not just an HTML intro... something within canvas, that seems catchy and goes with the game. Gives it something I haven't seen yet.
  • Intro done. 
    • Well, there should be an exit equivalent too, to wrap the game up.
  • Outro done. 
    • The top row seems plain. 
  • Add building sprites to top row.
    • Then I can add...
You can see how this seems to never finish. There's always another neat idea to add, to give the game just a bit more pizazz, a little more to make it stand out. I thought I had finished a while ago.

I am glad that Udacity encourages this kind of exploration within their project structure. Not only have I learned a ton by being able to continue to put the concepts into practice, but I get to stretch creatively, and see appreciation for the work. The coaches are great at giving encouragement, which can be hard when working with 800+ students.

Oh, and my project probably still has another few days of changes before I can call it done... unless I find something else that just HAS to go into it.  :)