Archive | December 2013

Ninja!

stickers

I guess I am officially done with Coding Dojo…  :-)

All I was searching for was me…
Ben Howard, Keep Your Head Up

Done!

Hard to believe but I’m done with Coding Dojo.  The past 10 weeks have been a total whirlwind and it’s really flown by.  But I’ve learned so so much, it’s amazing.  Although there are definitely aspects of Coding Dojo that are not ideal or that could be improved, the most important thing is that I’m coming out of it having learned so much.  And overall one of my big takeaways is that their curriculum, as in the topics taught and the order in which they are taught, is really good.  I’m glad to have covered such a wide variety of topics, and looking back now, it all makes so much sense in that each topic builds on the topics that came before.  The experience building a project was also really valuable, and I learned a whole other set of things through that process.  In the end, I felt really good about my project for the amount of time I had, and it was fun to show it at Demo Day.  I’m sad that Coding Dojo is over, and it’ll be so different not to be going there every day and seeing everyone and continuing to learn in that intensive, immersive environment.  But I’m so excited to keep learning and keep building things.  I have a long list of things I want to do, between getting more experience learning Rails, learning other technologies that I didn’t learn at Coding Dojo, continuing to add to my Math Canvas project, and building new projects.  Overall, I’m just so excited to have found something that I love so much.  Who knows exactly what my future holds, but one way or another I know I want to continue down this “coding road.”  And we will see where it leads…  :-)

Day 44 – Project cont.

2nd to last day!  Tomorrow is Demo Day!

I still have a very long list of changes I could make to my project, and I’ll keep making changes until I run out of time (and then of course can still work on it afterwards).  But…  Here it is!:

http://mathcanvas.herokuapp.com/

mathcanvaslogo

Feel free to add some drawings.  :-)

Day 42 – Project cont.

I’m making some progress on my project – slowly but surely…  I’ve gotten stuck on a lot of different things that have each taken a long time to solve, but little by little it’s getting there.  Dealing with jQuery Mobile has been frustrating because it does some things behind the scenes that cause some strange effects.  But then the same could be said of Rails – like yesterday when my CSS style files weren’t loading the first time I loaded a page (but if I refreshed they did) and then also my back button wasn’t working right – I was pretty sure it was jQuery Mobile’s fault but it turned out that Turbolinks in Rails was the culprit.  With some help from my teacher today I did get the stamps/clip art to save to the canvas so that is a big breakthrough.  The days are going by very quickly.  I’ll just get as far as I get by Friday.

I should also mention though – that I have been struck a number of times by the fact that Rails really is pretty cool.  There has definitely been a learning curve over the past few weeks, but now that I have the basics down it all just kind of really makes sense.  It feels good to understand the framework and have everything so modular, and the set-up for Rails just makes sense and although it seems complicated in some ways, it really is all designed to make things easy!  It just takes some time.  Plus things in Rails have fun names like Sprockets.  :-)

Project

Having finished as much of the Coding Dojo coursework as I’m going to do, it’s time for me to work on my final project, and this final week (week 9) is officially “project week.”  My project is going to be a place where elementary math students can draw out solutions to math problems.  The idea highlights the importance of individuality since each student’s thinking to solve a problem may be very different, creativity in students expressing their thinking using drawing, and problem solving in that the drawing forces the students to explain their thinking (visually) with the focus being on understanding how they get to the answer vs. just the answer itself.  This might be especially good for students who aren’t as strong at expressing their ideas verbally or in writing, and this provides the opportunity to combine math with art in a sense.

So I’m building off of the drawing app that I already made during our first project week (week 6) and am working on providing the structure for the rest of it in Rails.  However, it has been a frustrating few days programming-wise!  I keep getting stuck on things that take hours to figure out.  So I’m making progress but very slowly!

I built the basic structure in Rails and integrated the drawing app that I already created, and one major challenge right away involved figuring out how to save the drawing as an image.  I got stuck for hours where I thought I was doing everything correctly but the image data was not saving.  In the end it turned out that the jQuery Mobile library I was using for the touchscreen also forces forms to submit with Ajax and that was causing a problem with saving the images – so once I disabled Ajax for the form submissions everything worked fine.  Many hours later…  :-)

Then I knew I would need to deploy the Rails app to Heroku even for Demo Day vs. just keeping it on my local server since I want it be live so it can work on the touchscreen and to be able to show that.  So I figured I should tackle that sooner rather than later to make sure everything worked correctly, so that turned out to be a major challenge unto itself.  We learned Rails with SQLite for the database which of course is not supported in Heroku so I had to figure out how to migrate to Postgres which had all sorts of challenges with installation and getting everything to work.  But I got it eventually – again many hours later…  :-)

And another major challenge that I haven’t yet figured out is my draggable clip art isn’t being saved to the image files because it’s not actually part of the canvas image.  Eventually I got it to work and save on the computer version but I haven’t gotten it to work on the touchscreen.

So I’ve made progress but it’s been slow.  I’m trying to keep it as simple as possible and aim to at least have something “finished” for Friday’s Demo Day even if it’s basic.  I’ll start with minimal features and can always add more later if I have time.  Luckily I still have a whole week and can devote myself pretty much entirely to the project, so hopefully I’ll end up with something decent for Friday!  I can’t believe I only have 1 week left of Coding Dojo.  It really has flown by!

Day 37 – Rails cont.

I guess the day count is weird – just days of actual class in the 9 weeks.  It’s been so many more days than that.  Anyway, I’m still going with Rails…  It’s definitely starting to come together.  After much struggling…  I’m currently working on building user registration and login.  Again.  I think this is the 3rd time?  First with straight PHP and for “the wall”, then again with CodeIgniter, and now with Rails.  Interesting to do the same task different ways and compare.  Each has its own methods of validation, password encryption, error messages, etc.  At this point the whole login validation thing is old hat.

  1. Check if the username (or email address) field on the login form is blank and if so display an error message saying so.
  2. Otherwise, check if the username exists in the database and if not display an error message saying so.
  3. Otherwise if the username exists in the database check if the password matches and if not display an error message saying so.
  4. Otherwise if the username and password match then all is well and log the user in!

Whee.  Wanna see what that looks like?  It occurs to me that I’ve never posted any actual code on this blog.  Here!:

login

(Look at all the pretty colors!)  :-)