Can You Learn Python With Udacity? A Review

| Get awesome (and free) stuff here

About a year ago, when I decided I was going to teach myself how to code, the first course I jumped into was on Udacity's website.

It was an Intro to CS course. And I gave up halfway through lesson 2 after feeling hopelessly lost. I felt out of place when I turned to the message boards. Like all the people in discussion knew what was going on. But I didn't.

There were others that were on the boards, making comparisons between Python to other programming languages.

“The syntax similarity with Ruby.” And so forth.

Meanwhile I was thinking,

“HEY! This is for beginners! Get out of here!”

Ultimately, though, I was the one who dropped out of the course.

Want to master Python?

Then download my list of favorite Python learning resources.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Giving Udacity Another Chance

Nonetheless, I decided to give Udacity another shot.

But this time with their Intro to Object Oriented Programming course. Also referred to as “Programming Foundations with Python.”

Off the bat I noticed a few differences, like now you can actually pay Udacity $150/month for extra benefits. When I first went on Udacity a year ago, this wasn't an option.

(Update: Udacity now has tons of online courses — many of which cost something. But there are others that do not still.)

Still, you get a bulk of the courseware and resources for free. So what's there to lose?

So I began watching the instructional videos. And then in the second video the instructor, Kunal Chawla, addresses the high learning curve in programming. And says, point blank, that many students trying to learn programming drop out.

He literally read my mind.

Chawla then promises that this won't be that kind of course…

The Programming Foundations with Python Course Layout

First things first, I love the instructor.

Chawla is very entertaining to watch. And for some reason, maybe it's his tone of voice or what he says, Chawla is very comforting. Not your stereotypical monotone male professor.

The instructional format is video-based plus some additional reading. Which I love. I love instructional videos. It's much easier for me to comprehend concepts when they are being described aloud.

The course is comprises of only three lessons, starting off with functions. Unlike the intro to CS course I initially took, this class doesn't have many the online quizzes.

If I remember correctly, in the other Python class you had to pass certain quizzes to make it to the next lesson. This was nothing like that.

What I didn't like about this Udacity Python Course

Instead, the students are supposed to upload little projects to the discussion board. Such as describing a certain program to your friend, and video recording the whole conversation.

Which in a live classroom setting is fine. But online, when it's all optional, there's no incentive to do those little projects. While the online quizzes that don't show answers can be annoying, the ones that do show correct answers after a few attempts can be helpful.

And making one complete a quiz before moving ahead is probably best in the long run. I mean, it forces you to regurgitate what you just learned.

Beyond the little projects to upload to the discussion board, the exercises the instructor uses for teaching are awesome. For instance, in lesson 2b the exercise involves sending a text message from your computer to your cellphone using Python via a tool called Twilio. It's actually really awesome.

Other projects involve writing a program that sets up timed breaks by playing a YouTube video to creating a website with your favorite movie trailers.

Basically, this Udacity course demonstrates all the awesome stuff you can do with Python.

But it leaves me questioning if I am really learning anything.

Want to master Python?

Then download my list of favorite Python learning resources.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

The Problem with this Online Python Class

While the instructor is lovely, he simply walks you through the code. The code is easy to get working. But when it comes to actually taking this code and concept and recreating it — I know I could never do it.

Moreover, we also run the code in IDLE. Apparently, according to Zed Shaw, real programmers don't run code in IDLE. (Anyone have any insight on this? If so, please do tell.)

My question throughout this Udacity course was,

“How do I package this into something people can use?”

In the end, I think this class was almost too easy. Programming isn't meant to be easy. 

There should be more quizzes forcing you to retain the information…at least long enough to pass the quiz.

Not an optional discussion to get involved in. Because obviously I am lazy and not going to partake unless I absolutely must to make it to the next section.

Overall Impressions of Programming Foundations with Python


  • Free
  • Instructional video format
  • Fun and somewhat practical python use cases


  • Am I really learning anything?
  • No incentive to practice (aka no quizzes)

All and all, I think that for someone who wants to learn cool stuff you can do with Python—like the text message application thing—this course is fine.

But if you want to get down and dirty, this isn't for you.

However, I must say—this Python class totally boosted my confidence. I didn't run away scared like I did my first time with Udacity.

Did you ever try this, or any other, Udacity course? If so, tell me in the comments below. 

  • cvanway

    Tried Intro to computer science 101. Same problem you had. Easy at first, then rapidly escalated. Lastly, when I finished, they’d set up the course so I couldn’t “complete” it. The python interpreter was the “last lesson”, which meant the course couldn’t be completed. That was back in the freebie days, so it’s probably better now. The programming foundations course seems better. But I agree with your critique. Is it worth a Franklin or so? Not really.

    • Ah I see… well I never even made it half way through the Udacity 101 course. I’m not sure how the whole payment thing works with Udacity. But, yes, like you I started off with the Udacity 101 back when it was free! In fact, everything on the site way free then ^^

  • Pingback: Python: It's Starting To Click | Learn To Code With Me - Comprehensible Programming()

  • Pingback: Learning Javascript With Code Babes()

  • Jeff Parker

    Real programmers might or might not use IDLE. They often use some IDE.

    I agree that programming is not a natural activity for most of us, and you need to struggle to figure out how to take an idea and turn it into a functioning program that runs. Courses like this can be a useful addition to a course, but the interaction between faculty and students, and between student and student, is something that is still very difficult to capture.

    • Hi Jeff — yes, you are very right!

      I wrote this article back in June, 2014. And it’s AMAZING how much I progressed since then. I look back at some of these older posts and think, “Gosh! What was I doing!?”

      But you’re right — mentorship / one-on-one interaction has tremendous value.

      Lately, instead of online courses so much, I spend more time / money using services like code mentor or hackhands — where I can work directly with experienced programmers and they help me solve certain problems.

      Because many online courses are limited with the question & answering. And … an online forum can only achieve so much. I like hearing explanations.

      Anyways thanks for reading & sharing your thoughts.

  • jpmoral

    Note that Programming != Computer Science.

    • I’ve learned a lot since writing that in June 2014 :-x

      But I love keeping my old posts up to see how much I progress .. despite how much I sometimes cringe. ;)

  • AndrusskenN

    Udacity has a terrible learning system. They add a lot of overhead around their courses to make it difficult to learn easy things. Their website is full of errors, they are unclear about project specifications, then they will sit on reviews for two weeks before rejecting with vague, worthless, and insulting comments. They are clearly designed not to help you learn, but to maximize the number of billing cycles for which you will be encumbered by their system.

    • I am sorry you feel this way!

      I took the course back when they weren’t charging…or had just begun. Either way, I never paid for a Udacity course; only did their free ones or took the course when it was still free 2+ years ago.

      It’s a shame to hear they have done down the gutter, though. I hope some people still enjoy and get use from their program.

  • jainil

    The Udacity system now looks to have changed. Can you tell what you exactly created as part of your final project (or maybe provide a Youtube link). I just need to know whether you just make the Movie website with trailers playing when you click on it or there is something more.

    • Hey Jainil – I wrote this post awhile ago and lots has changed since on both Udacity and my site.

      I don’t remember what I did at the end of this course (I no longer do anything with Python) but good luck with working through the course and continuing to teach yourself :)

      Udacity has changed a lot since I wrote this, and I now think it’s one of the BEST platforms one can learn on. So you made a good choice :)


  • DebbieKat

    I tried to take a Data Science course through udacity a couple of years ago. It was the first time they were offering it and it was not free. The first lesson or two were okay, but then I was seeing a lot of things that should have been stated as prerequisites — like asking questions on quizzes that were not discussed in the coursework and an expectation that you would already know many of the things they were asking (usually statistics oriented). I saw a ton of comments on the forums stating that the coursework contained mistakes, which made me very wary of completing the work lest I confuse myself with incorrect information. My udacity contact was somewhat helpful but he didn’t write the course and, when errors were found, it didn’t seem like they were making a lot of effort to correct them. Meanwhile, I was still paying for a class that was confusing at times or downright incorrect. I dropped out of it halfway through. I think it was wrong of them to charge for that class the first time out when there were so many issues with it. It makes me wary of taking any additional classes with them.