All posts by Digital Doll

Finishing CS50x and a Huge Thank You

So at the time of my last post I was still submerged deeply within the CS50 course, panicking wildly about creating and submitting a final project.

The good news is that it is done and I passed!  What I wasn’t anticipating is just how hard it would be.  There were many tears, frustrations and self doubts.  Testament to this is just how long it has taken me to sit down and think / write about it here on the site (5 months!).

Overall I am slightly disappointed that (as per the brief) I haven’t changed the world with my project, but hey there is still plenty of time for that.  I decided to create a meal planning tool, I thought this would be achievable and useful to me personally.  I felt that I would have a good base to go from having completed  one of my assignments that covered SQL and PHP which then tied in to a web application front end.  Then came the realisation that I know so little, what seemed a fairly simple idea soon sprawled out into a huge mess of things that I didn’t understand or couldn’t fathom how to work.  I started to get very stressed and soon even ‘simple’ things I should’ve known how to get started with seemed a million miles away.

Cue meltdown…..

The huge thankyou goes to the IT-Rex who put up with my melting down for all of about a week, who then told me to pull my socks up and helped me take a step back and apply what I had been learning, which it seems was not just to speak ‘computer’.  I had forgotten the approach used for every single assignment that I had done previously; breaking the problem down into manageable parts and tackling them step by step, working through each piece logically (thanks CS50!).  IT-Rex also read my code for me (over and over and over) and acted as a translator when I just couldn’t get my head round the techy speak of servers and databases and connections and so on.

So after a fraught couple of weeks it was done, the presentation video uploaded and marked within a couple of days – PASS.

Screen Shot 2015-01-21 at 11.11.50

On to the next chapter…



Ten Months On

An Update

I am nearly ten months on from starting my journey into the land of computecalendarr science and the very first tentative introduction of myself here on Digital-Doll.

Although I have been quiet here on the site I have been busily beavering away, learning and experimenting and working.  I have met with huge brick walls of frustration and then experienced massive moments of elation during this time.  You know on reality tv shows where they say they’ve been on a “journey”?  I hate it and think it sounds really naff but here I am really and truly feeling the sentiment right now!

Most of my time has been devoted to the CS50x course I started in January, I have now completed (and passed!) nine problem set assignments.

CS50x Grade Book
Very Proudly Presenting my CS50x Grade Book

  These assignments have taken me from getting a computer terminal to print the words “hello, world!” to the screen, right through to to playing around with Google Earth programming a virtual shuttle to pick up and drop off passengers on a map.  I have been learning C language and JavaScript, learned more about HTML and CSS and even dabbled a little with SQL and PHP.  On top of the actual languages I have learned some massively important fundamentals about how to approach problems, create algorithms and functions to make my computer do very magical things.

I feel I am about a million miles from where I started, I remember thinking back then “I don’t know anything, how will I know where to start, what if I don’t get it”.  I felt I was lost in an eternal cycle (akin to the “which came first the chicken or the egg” conundrum) of not knowing what to learn first as everything seemed linked together, not understanding the other terminology / languages / geekery that was referenced making everything seem like a big jumble. 

Well bring on the trumpets…

…I now get it, well a fair bit of what I need to know to progress further.  I can read code snippets and understand what they do.  I know how JavaScript, CSS and HTML work together to make a web page.  I know how to do all manner of strange things (like implement a sort or store data) by writing code.  I feel as I am gaining understanding my fear of failure is diminishing,  I mean if I can get this far surely I can continue to grow, learn and understand.

As a real test the IT Rex wanted us to try out an episode of the Silicon Valley tv series, and sure enough I knew what they were on about, I got the jokes, and in his Yoda-like capacity to my young padawan self my IT Rex husband was pleased.

So what next?

I am about to embark on my final project for CS50x, a tad scary as all the assignment briefs and the video walkthroughs are no more, basically all the wonderful handholding from the CS50 team are gone.  You are on your own (eeeeek!) left to build something, anything you want really, as per the CS50x site:

“The final project is your opportunity to take your newfound savvy with programming out for a spin and develop your very own piece of software. So long as your project draws upon this course’s lessons, the nature of your project is entirely up to you. You may implement your project in any language(s).  All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact your community, or that you change the world. Strive to create something that outlives this course.”

Easy then eh, changing the world…

See you on the flip side (with news of a splendid final project I hope)

Digital Doll

(off to lie down in a darkened room praying the gods of inspiration and innovation bestow enlightenment upon her)…

Coding – it isn’t how you speak it’s what you say

For a bit of a change of scenery I have been tinkering about with Code Academy, codeacademy a site that provides interactive courses that teach you how to code in different languages…… FOR FREE!  So far I have had a play with JavaScript and a bit of php.

I am also about half way through my computer science course (edX’s CS50 Introduction to Computer Science), we are still working in C language but I have got to a point where we are making programs that create windows with graphics in.  My last assignment was to make the game Breakout, you know the one with the bat and a ball and a wall of bricks to destroy?

Break Out
My version of Breakout created in C

I really am enjoying learning to code but there is something more important happening underneath all of this.  I have had a bit of a epiphany / light bulb / trumpety “herald the age of enlightenment” moment.  Coding isn’t about learning a whole language, so much as forming a set of ideas about how to make the computer do what you want it to.  Once you have this idea, you can set about pulling it apart to understand and then input the components that form the idea.  Whether in C or JavaScript or php the inputting seems all rather similar and familiar even though some of the terminology / semantics are different.  It is kind of like introducing yourself in different countries, the words of the language may be unfamiliar, the structure may be different but the basic idea is the same, you refer to yourself (I or my),  include a word for name (or am called), and give your name.

I can’t praise the course CS50x enough, I feel it is really giving me a base of how to think and problem solve.  This is such a positive feeling for me, going back a few months I was really intimidated by the enormity of what there is to learn in this field.   A combination of the confidence the course has given me, a realisation (yet again!) that I don’t have to know or learn every minute detailed thing, just the important bits – the concepts, the ideas, the frameworks rather than masses and masses of information and terminology.   It also helps that the IT-Rex keeps reminding me about this invention called the internet, apparently there are numerous resources on there or something….. Ahem!

I realise this post might be stating the obvious a wee bit but I am just so pleased I have started to get the point and am quite excited about what happens next.

Something a little different…

So I wanted to share a conversation I had with mister IT-Rex about the “free” games you get on your smartphones, tablets etc.  We have quite a few of these things on our mobile devices, both our daughters seemed to have mastered most of the features of our iPad by age two; getting in to my email, sharing pony pictures to Facebook, deleting boring things such as mummy’s calendar and eBay app (that may have been the mister though!) and of course the games.

We do have some really lovely apps for them, mostly that is all the things we have paid for.  For example Toca Boca have a plethora oftocaboca-480x480 little fancies; from hair dressing, to cooking dinner for monsters, to building robots and little cute dolly creatures.  There is another called Tozzle which is a set of interactive puzzles, once completed you can interact with them.  Our daughters love these and they have lasted on our devices for months / years.  I can feel happy about these purchases aligning them more with buying my girls a book or a physical game that would last some time.

Then there are the “free” games and I find these so so SO frustrating.  There are so many, covering so many genres, from things we have downloaded for my daughters (princess dressing up, pet hospitals) to things we have got for ourselves (candy crush, word games etc).  They are, for the most part, sly and utilise underhand methods of getting you to spend money – not so “FREE” then.  Most of them are riddled with adverts, some of which are not appropriate for the audience.  They are also tricky with how you swipe or click / press, taking you to random pages or back to the app store for more of the same.  One game we had flew in a banner where you swipe in perfect time for you trying to start the game.  Then there is the in game purchasable content, wow!  I could buy some imaginary diamonds, to use to buy some non-existent food, for some make believe animals, in a made up world for £29.99.

And so this here brings me to my point (thank you if you’ve made it this far), I know there are lots of things wrong in this world (our wonderful media targeting charities looking for evil doings is quite topical at the moment).  I also know people need to make money.  I am not very political, or knowledgable about the state of things.  I am ashamed to say I live in a land somewhere between apathy and Narnia, shaking my head at the bad stuff and skipping delightedly through the good.  But surely when people are starving, homeless, struggling, there is something out of whack paying for a pixelated house for a pixelated pony?

moshi game
Moshi Monsters Village

So you can pay 69 pence to advance through the levels in the game of Candy Crush, to perform a made up action in a completely non-existent environment.  That 69p could buy a tin of food for a local food bank, something real for someone real that needed it.  Twenty-five pounds (less than the price for a big bundle of gems in the Moshi Monsters village) could pay for a Macmillan nurse for an hour to help someone real living with cancer.

I saw a quote on Facebook that said something like:

If someone from the ninteen fifties suddenly appeared today, what would be the most difficult thing to explain to them about life today, answer: I possess in my pocket a device that is capable of accessing the entirety of information known to man.  I use it to look at pictures of cats and get in arguments with strangers”

I wonder what they would make of this?

The purpose of this post isn’t to judge people and what they spend their money on.  I have given in to the lure of being stuck on a game, so frustrated that I have paid my way out.  I don’t know what the answer is, there are rich and poor,  bad guys and good guys, and a whole lot in-between and all around.  Perhaps next time I get stuck I will delete the silly thing and donate to a charity, or read a book, or say something nice to my husband instead.  Perhaps I won’t.

What do you think?

I *heart* Twitter

I have been making a concerted effort to start exploring and using different pieces of software, applications, technology and perhaps MOST importantly read more.  The past few years have been dedicated to and completely devoured by my two small daughters, they are turning out pretty good so I don’t feel badly about this but it has meant that there has not been a lot of spare time to do anything “extracurricular”.  This has meant some things have passed me by, Twitter for example.


I had previously passed off the IT-Rex’s sales pitch for Twitter, mainly as I just didn’t get it. I have a Facebook account and didn’t quite see why or how I would use Twitter, or why it was so interesting.  I did not feel I had space in my life for another social networking thingamy.

I set up my Twitter account around the same time as setting up this site.  I thought if I was going to be tinkering around in this field then I should be as informed a user of all things “web” or “app” as I could be.  I still did not quite get the gist of it at first, the constant stream of information seemed a bit overwhelming.  Then  something clicked, I think I got out of “Facebook” mode and realised my timeline was full of delicious little  scanable snippets,  some of which are exactly what they are (a couple of lines of text), some there to inform and tempt you in to something  bigger, but you can dip in or dip out.  I also started reading and scrolling upwards on my timeline – revelation!  It might sound silly but I had been getting cross with Twitter for not taking me to the top of the page and scrolling myself up only to read downwards (feel free to tease me about my stupidity, I know, I know!).  Then the realisation came that you can search to see what people are saying about pretty much anything(!) and tag your own posts to be viewed by anyone and everyone, using the amazing, marvellous #hashtag.


One of my posts to Twitter (tagging my CS50x course and the Scratch course) led to over a hundred people I don’t know (and therefore with no obligation) to visit my blog in the space of 24hours.  I think the IT-Rex found my elation at my increasing visitor count most quaintly amusing, but it was like magic that these people somehow happened upon my tweet and then took the time to come visit, how lovely is that?*

I have added a page of my Twitterings to the site as I have been using it to share some articles and interesting bits and bobs and here is hoping for more of these successful experiments!  Hmmmm turns out the 640 million or so Twitter users are on to something.

* by the way I also think it is lovely that people I do know visit my blog  (so thank you very much peeps!) and no one is actually obliged to come apart from my husband who would never hear the end of it if he didn’t.

I made it…

…my first week and first assignment -done!

CS50x – Week 0

I rather enjoyed my first week of CS50x.  It was a rather fabulous and novel feeling to be using my brain again, well other than for answering endless “why?” questions from a four and a two year old or using it to decide what to put on the grocery shopping list.  There were new concepts to get my head around; explanations of binary, ASCII and Hexadecimal code, and algorithms.  I found the video lectures and accompanying walkthroughs interesting and didn’t find myself wandering off to la la doodle land too often. kittydoodle The presenters were personable, they spoke in “real” language and used everyday examples to explain the fearsome technical bits – pairs of desk lamps, being switched on or off were used to illustrate binary code.  Warm fluffy feelings of “I might actually be able to do this” ensued.

Problem Set 0 – Scratch

The first assignment was to create my own project using a programming tool called Scratch.  It looked quite frivolous and fun, for a start there is no scary typing of code in to a black terminal type screen.  It is a visual way of coding, using cartoon sprites along with puzzle pieces of code that slot together to form your program.  The Scratch tool was created with children in mind, as a way of teaching them to code.  In a rather sweet twist of fate I had previously watched a TED talk by Mitch Resnick talking about this very tool and how we should be teaching our kids to code. TEDtalk  The basic premise of the talk is that we all learn to read and write without the presumption that we will grow up to be a writer.  It is considered an essential life skill, it enables you to interact with many different pieces of information in many different mediums every single day.  With technology today, and with what our children have access to, doesn’t it make sense that they are able to question, pull apart and analyse, and create themselves?  Learning to code is not just reserved for those who want to grow up to be computer programmers or scientists, it could be just as life enriching as reading and writing.

The assignment informed me that my mission was to have fun with Scratch and create whatever took my fancy (an animation, game, interactive art, anything at all) with some specific criteria (about variables, loops, conditions, using sprites and sounds) in place to demonstrate my understanding of what I had been taught in the weeks lectures.  I made a game:

Monkey Rock Paper Scissors – go and have a play!

Monkey Rock Scissors Paper Game

I passed the first assignment with a perfect score!


I would encourage anyone, that might enjoy a tinker, to go and have a look.  Anyone can make an account and play around, it is a really cute tool and is very easy to use (if you want any help feel free to give me a shout).  It is definitely something that the IT-Rex and I will be introducing our little girls to one day (teeny digital dolls in the making!).

Where to start?

It was last September that I started my first tentative steps down the path on this adventure.  I had my few bits of background knowledge; like the basic understanding that computers speak in noughts and ones, I kind of knew how the internet magically beams in to my computer, I could perform the basic moves to be an IT help desk (the famed off and on trick, pulling out wires, plugging in things, installing, removing and so on) and I knew what it meant when the IT-Rex made the joke there’s no place like

So where to start in rounding out and building up my knowledge, how to commence the transformation from mild mannered part-time geek to full on computer nerd?

Lesson 1 – a false start

With all the best intentions I opened my huge book on web design and began the task of learning stuff.  After a few weeks battling bookthrough the chapters on html and css I was able to understand how to mark up a document to be a web page and the (very) basics of how to format it, it wasn’t very exciting or fulfilling, the subject matter quickly became very dry and the novelty of the simple tricks I was able to reproduce wore off very quickly. Not quite the exciting change in direction I had been anticipating.


Lesson 2 – if you are trying something different, try something different

The book was a mistake, it is a good book with some valuable information and I’m sure that in the future it will be useful to reference.  I think the very first hurdle of getting started had seemed so huge and I felt very lost in the ever so big wide world of computing so the book had been a familiar safe thing to jump in to, something tangible and structured.  It had not occurred to me for one second that this might be a negative thing that could hold me back.

Luckily I have the IT-Rex.  He spotted my frustration and set me a challenge, he told me to chuck the book to one side and get on and try and do something.  Even better he gave me something to do, he set me a task (I will elaborate on this later) and told me to report back to him on completion.  This was the push I needed to switch my mentality from having to learn something thoroughly, in a fixed way, before diving in to just getting on with it (belly flop style!).  I completed the task, it was fun, it was testing, I found it interesting and there I was done, I had started something (whoop!).

So what next?

I started searching for some online tutorials or courses, something to give me enough direction and provide me with a good base to go from, to then enable me to go off exploring and experimenting.  I needed something that would be a good compromise between the structured book and an interactive challenge.  I also wanted something that I would be able to check my progress and practical tinkerings against, to help me get things right, to explain why they are right and to build experience and understanding to fix things when they do not go right.

I found a computer science course online.  It was through a non-profit group called edX who offer online classes from some quite renowned universities (Harvard, MIT, Berkley).  I signed up for CS50x “Introduction to Computer Science”, which was not only free it promised to cover a whole plethora of topics including; images_course_imageabstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages including C, PHP, and JavaScript plus SQL, CSS, and HTML.  It was a self paced course, starting January 2014 due to end in December 2014.  There were twelve ‘weeks’ of topics with ten problem sets (assignments) and on satisfactory completion the course promised me my very own certificate from HarvardX.
And so it begins…..exciting!

A pretty little thought

I like to think of how children view the world and how their take on things can subsequently make the world a more magical place.  For example my four year old daughter asks me all manner of wonderful things like “can we make the moon pink?” or “will we see unicorns at the zoo?”.  Beholding her sheer wonder and delight at planting a seed and watching it grow was truly something.  That is how all this technology is to me, it is magical and does amazing things (I do feel a bit like I am about to go through the wardrobe to Narnia).  I am hoping that this is what I can share here, and hopefully my web veteran husband sees this too – when I am bothering him for the millionth time to look at a border I made or picture I’ve inserted.

Previously on Digital Doll

So my husband (mister IT-Rex himself) says I need a website (okey dokey) and hosting for the site (errrrm, beg your pardon?) and a name (oooooh exciting) and that the name has to be relevant, catchy and most of all available and not already taken (oh).  He also said that he wasn’t going to help me with any of those things as sometimes it is best to learn by doing thing on ones ownsome (pout!).  I’m thinking perhaps the IT-Rex thinks he is some kind of combination of Yoda and Mr Miyagi from Karate Kid.

So I opened my notepad and I racked my rusty, dusty, cobwebby brain for a name for this site.  I made a list of words, things that described me, things I liked, clever sounding things and some very random things.  At first everything seemed too obvious and either already taken, or just too disjointed and bizarre.  Lets just say trying to apply my name (El or Elle) to random words makes urls that sound like hair removal products.

It was a challenge as I was not entirely sure what the site will be used for, or what I am going to end up doing, and ultimately what I want to portray here.  After a long time spent looking and thinking and thinking and drinking (coffee) and looking, finally something glimmered amongst the heap of scribbledy doodles I had amassed…


 *insert angelic ahhh ahhh ahhh ahhh music and shiny beautiful text effect here once I learn how to do that*

“Digital Doll”

The named seemed a rather sweet summary, it is techy but girly which just happens to be two of the many things I am attempting to be right now via the amazing wondrousness of multi-tasking.  I typed it in to a check availability box (arrived at from a swift google search) with my fingers crossed, concentrating on good karma type things and hoping, and there it was, I could have it!  Woooooot!

I placed an order for the domain name and then set up hosting with the appropriate peoples online (this was provided by the mister).  It was all very straightforward, with walkthroughs and instructions all the way (ner ner to the IT-Rex).  It was all very easy, so far so good….. I am actually rather uneasy about it being a bit too simple, but one thing I am discovering about delving in to the world of computing is that it is enormous.  The technology (hardware and software) involved is huge, and I have to remind myself that I am new and not let myself get overwhelmed with information or daunted because I don’t know everything.

So here we are, one install of Word Press later and I am live on the internet talking to people (person? husband? maybe? hello?).