I completed Udacity’s Nanodegree in 30 days. Here’s how it went….

Arcade
CodingBlackFemales
Published in
12 min readMay 15, 2020

I’m no stranger to Udacity’s MOOC given that it helped propel my career in tech, moving from a biological sciences graduate working in healthcare to a Technical Analyst in just under 6 months. This time round, as a furloughed worker I have been challenging myself to ‘skill-up’ in these unprecedented times (bet you’ve heard and read that phrase one too many times). Fortunately there have been a lot of free online resources and COVID-19 centred incentives in the tech sphere for exactly this purpose. One particular resource is Udacity’s offer for a limited one month free access to any Nanodegree on their website.

Udacity.com landing page & free access offer. ** this offer is now no longer available.

But what exactly is Udacity, how did it help me and how can it help you? Yes I mean you, the person reading this! Udacity has widespread popularity in the US, helping many get their career in tech started in a variety of different roles. However, it’s not as well known in the UK. Initially created in 2011, it was an addition to Stanford University computer sciences classes and provided free videos with a set up similar to EdX’s model for online learning.

The platform has a very well laid out design and smooth UX that is appealing to the eye. It’s easy it navigate and their tag-line ‘Bootcamp Quality at 1/10 of the cost’ boasts a good marketing strategy for anyone looking for an entryway into programming but cannot afford the large fees of bootcamps or pursuing further education.

I’m a stickler for freebies, so of course I snatched up this free access opportunity faster than you can say ‘coronavirus is keeping all my summer plans away’… too soon? I digress.

Seeing as I already had some experience using python for scripting but was not 100% confident on the basics of programming like functions and loops I opted to take the ‘Intro to Programming’ Nanodegree which covers HTML, CSS, Python and Javascript.

I can break down my experience of the course into 4 main parts:

  1. User Experience
  2. Course content
  3. Learning features
  4. Value for Money/Price

User Experience

As I mentioned previously, the design of the site is pretty aesthetically pleasing to the eye. How a website looks and its ease of use for engaging with the content is an important part of any learning platform. Coding can already feel very daunting to first time learners, like a secret club previously only reserved for the Steve Jobs and Mark Zuckerbergs of society. So it’s important to have a website that feels open and accessible.

The initial home page is simple and responsive to use, easy to navigate, neatly organised and informative. Each Nanodegree has a preview slide once selected and options to download a syllabus or instantly enroll. As for the specific information displayed for each nanodegree, I personally felt there should have been more detail about what exactly you will get from the program before committing to enrol. The syllabus outline mostly details the projects to be completed and not much about the lesson plans and course structure. I suppose in this instance they placed design and aesthetics over filling the page with too much text.

There is however, the option to download the syllabus as a PDF and whilst this does expand on the objectives of the course a little more, it still lacks some descriptiveness. Especially given that anyone enrolling would be committing to more than the price of a monthly phone bill upfront without the free offer.

The page also shows an estimated time of the average length of completion. Upon completion of the nanodegree and provided you pass the requirements of each project submission, there is an option to graduate with a certification of completion (best believe I’ve already added it to my LinkedIn).

Course content

The course content is divided up into multiple sections with a project submission at the end of each completed section. Each section can have a range of lessons which also have subsections in order to provide a slow and steady immersion into these new coding concepts. In the case of the Intro to programming course there were 8 sections for coding and 2 sections on career development.

Html & CSS

The first section in the ‘Intro to programming Nanodegree’ covers the basics of HTML/CSS and to be honest, it’s very hard to go wrong when it comes to this. Udacity does a good job of outlining syntax but also provides a bit more depth that I haven’t seen in other platforms. There are lessons about the document object model (DOM, which I will come back to later on), relatives urls and tree structures. The course also encourages writing notes as html documents to help actually use the new syntax that is being used. This is used as an unmarked project submission — see my notes on Github here.

Python

Python is programming language that was created in December 1989 by Guido Van Rossum, famously named after the British comedy group Monty Python’s Flying Circus — it is currently one of the most popular and widely used programming languages for new developers. Known for it’s similarity to the english language it’s perfect for beginners and the course does well to focus on this.

A majority of the course is devoted to python with 3 sections covering syntax, import modules, functions, loops web APIs and more. I really enjoyed how coding in python was introduced, not only because I have a preference to Python, but because it was unconventional compared to other learning platforms I had tried. Instead of starting with a basic “hello world” print statement, you’re introduced to the turtle.

The turtle is essentially a module, which means code previously written by somebody else and can be ‘imported’ to use in your own program. This helps developers avoid writing repetitive code over and over again. The turtle lets you see exactly what a program (a set of instructions) is doing by watching a pattern build up over each line of code that is written.

This was a beautiful introduction into loops which are a very powerful tool in programming. Loops are a way to instruct the computer to perform a specific action repeatedly for a specified amount of time. For example instructing the turtle to draw a square by moving forward and turning by a 90 degree angle, 4 times.

But what if you wanted to draw more than just a square? This question was Udacity’s way of providing segue into a programming principle that had confused me for quite some time — Functions :). Functions are at the core of every development and essentially they are a way of writing reusable blocks of code.

Now I’m not going to cover everything that was taught in the Udacity course regarding python because then I would be taking their job! What I can say is that learning to code is not only about memorising syntax but also learning about a new way of patterns, repetition, processes and problem solving. The turtle facilities this in a colourful and engaging way, which didn’t have me scratching at my temples or pulling out my hair with my face down in confusion.

By the end of the python section you’re exposed to conditionals, operators, inputs, while loops and the random module which aides you in completing the final project of a simple adventure game that can be run on your local machine!

My adventure game running in terminal. Ooops sorry I dropped my weeb card by accident

Javascript

Now I’ll be honest, javascript horrified me before this course and it still does. However, after going through the python section, Javascript seemed a little less daunting and easier to understand. Because Python has syntax that reads a lot more like english, understanding the basis of why and what we’re doing was easily transferable. It’s like they say, learning a second language is usually easier than the first.

Javascript (not to be confused with Java) is a programming language built for the web. It’s used in combination with HTML and CSS to help webpages really come to life by adding dynamic elements. Created in 1995, it was initially called liveScript but was changed to include the word ‘java’ in order to piggy back off the success and popularity of Java. It is primarily used through interacting with the console which can be accessed when you right-click in your browser and click inspect. A fun initial example of how to use the console was a demo on modifying the CSS.

Pretty cool right?! Udacity does a great job of enticing you in with these demos and as you delve further in there’s only more excitement at the prospects of what you can achieve using this diverse language.

Similarly to the Python lessons, first up is the basics of the syntax. How to declare variables, data types (integer, float, boolean etc.) functions and more. The difference begins when discovering how to interact browsers using the DOM.

The DOM refers to the end result of how html documents are converted into the webpages we seen in the browser. It is a tree structure that captures a representation of the HTML document, the relationship between elements and their properties. The DOM is NOT part of the Javascript language but is accessible using a special object provided by the browser called the document.

Honestly, this is where the course lost me a little bit. Given that I had a short amount of time to graduate from the course before being charged for access, I did not devote as much time to this section as much as I would have liked to. In the end my focus was completing and submitting the projects. I also underestimated how many lessons would be in this section (10 in total) and I had two days to complete it. So I really whizzed through it.

My criticism for this part of the course is that it should have been split into more sections and weighted with similar importance to Python. The saving grace for this is that the final project submission was much simpler than I had anticipated, a pixel art maker!

While it did require me to master functions and event handling, it wasn’t too complex enough to deter from my 30 day goal of completion.

Learning features

I absolutely love the structured lessons Udacity have, being a visual learner who is easily distracted, the shorter length videos which are followed by practice inside of a virtual workspace allowed me to stay focused and simultaneously excited. You really feel a sense of satisfaction about the small achieved by successfully answering a quiz, coding something correctly or checking off tasks completed. It was like Udemy , codeacademy and freecodecamp combined!

Most of the educational information is delivered via videos from a variety of Udacity teachers hosted on Youtube. These were often followed by summary text depending on the difficulty of the information. For instance explaining headers in html had a few lines, whereas removing objects using Javascript had much denser text.

Interactive workspaces

Udacity’s interactive workspaces makes it easy to quickly grasp concepts and follow along with tutorials without having to set up your local environment, which can be daunting for a lot of beginners new to programming. However for those already familiar with code editors and IDEs, this may seem a bit tedious.

I found going through these exercises very helpful to reinforce learning and give you a little bit of a boost to know that ‘hey, may be I can do this coding stuff after all!’. An incremental build up of knowledge and practice can do wonders for self esteem and confidence, especially in such a new and unfamiliar learning environment.

Quizzes

Not only do you practice what has been taught in the workspace, but there are helpful quizzes along the way to test your knowledge! You get a cute little congratulatory message with an image and positive reinforcement goes along way in my book.

Pro TIP: Don’t skip the quizzes or coding tasks, it’s the best way to test your newly acquired learning :)

Project submission

The projects and submission process is a great way to put what you’ve learnt into practice with feedback from project reviewers. A rubric is provided which outlines the specifications needed to pass each submission. After submission, it’s stated that you will receive feedback in up to 24 hours. However I found that it usually took 1–2 hours. The feedback is very helpful and provides suggestions/changes to your code for future refactoring. Even if you do not pass the first time around, you can use the suggestions to resubmit a project as many times you’d like.

Extras

Udacity also has a community peer chat feature as well as ‘mentor help’ . Personally I did not use these very much and there was not a big sense of community within the chats. Most of the time it was filled with people asking sporadic questions related to specific projects and mentors responding to each query.

The degree also boasts career services and a 1:1 career coaching session which, I have yet to take advantage of. Watch this space and I’ll update you on how that goes!

Price

Outside of this limited offer for a months free access Udacity has two pricing models for the intro to programming nanodegree:

  1. pay as you go for $399 /£320
  2. 3 months access for one time payment of $226/£180

However their pricing is dependent on which Nanodegree you pick, for example:

Both are priced the around same, so depending on how long it takes you to complete the nanodegree, you’ll definitely be paying more if you use the pay as you go option.

Given that the website boasts a slogan of having the feel of a Nanodegree for a lower cost, I expected more for how much you’re paying. To me this is an online course and has very little mentorship or guidance that is the specialist of a Bootcamp. I applaud it on its course structure and features but ultimately how much you end up paying is down to how quickly you progress through the course.

It would be good if there was a middle ground similar to codeacademy’s pro plan or treehouse that was more affordable given the lack of student/mentor interaction.

It’s worth noting that Udacity also have a lot of free courses that do not involve course submissions or multiple projects that I would also highly recommend as an alternative to paying for a Nanodegree enrolment but you do have to really search the website to find them.

Personal Reflection

Finding the motivation to complete a self-directed online course requires discipline, perseverance and constant battling against the nagging voice of imposter syndrome. Udacity does a wonderful job of creating engaging content that is not overcomplicated or inaccessible, which combats the usual burnout of online coding corses. I really enjoyed the course but I was in the fortunate position of being able to devote my time to one single objective — finish the course for free.

For those who have other responsibilities such as work, a limited amount of time and smaller budget, it may not be the best course of action but it is a good option.

My final opinion? If you’re looking for a middle ground between self-taught and Bootcamp for an introduction to programming, then Udacity does an okay job of catering to this. I would give it a 6.5 out of 10. I definitely recommend snapping up their free one month access whilst they still have it going. However, from a price point, without the offer I still feel it’s quite a steep price to pay on a monthly basis given that there are many other free self-taught paths out there. £300 odd a month is the price of my transport into London!

What’s next for me? Well I think I’ll give Udemy a try :).

--

--

Arcade
CodingBlackFemales

Attempting human life, Software developer, writer and gamer