HN Academy

The best online courses of Hacker News.

Hacker News Comments on
Introduction to Python Programming | Udacity

Udacity · 16 HN comments

HN Academy has aggregated all Hacker News stories and comments that mention Udacity's "Introduction to Python Programming | Udacity" .
Course Description

In this course, you'll learn the fundamentals of the Python programming language, along with programming best practices. You’ll learn to represent and store data using Python data types and variables, and use conditionals and loops to control the flow of your programs. You’ll harness the power of complex data structures like lists, sets, dictionaries, and tuples to store collections of related data. You’ll define and document your own custom functions, write scripts, and handle errors. Lastly, you’ll learn to find and use modules in the Python Standard Library and other third-party libraries.

HN Academy Rankings
Provider Info
This course is offered on the Udacity platform.
HN Academy may receive a referral commission when you make purchases on sites after clicking through links on this page. Most courses are available for free with the option to purchase a completion certificate.
See also: all Reddit discussions that mention this course at reddacity.com.

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this url.
In which case you may want to follow Udacity Com Sci 101 which includes building a search engine in python. (Free, video based https://www.udacity.com/course/intro-to-computer-science--cs...)
For learning Python and basic algorithmic knowledge (like the other links, free) - https://www.udacity.com/course/intro-to-computer-science--cs...

I'd say to get to lesson 2 and from there spend 90% of your time solving Codewars challenges and the other 10% continuing the course. The former 90% will make the latter 10% a breeze. Google whenever you have a specific question and expect to search that same thing many times before you remember it.

I challenge you not to enjoy this.

Udacity has another Python course (OOP with Python). It feels very 'on rails' and isn't much fun. I'd skip it.

For syntax - * https://www.udacity.com/course/intro-to-computer-science--cs... * https://www.codewars.com/dashboard

Complete Codewars challenges alongside Udacity. That'll give you a strong grasp of creating and using functions.

Beyond that, I have no idea as that's about where I'm at now with both Js and Python. I'm headed to a meetup later this week for Js and I'm probably just going to ask to paor program with somebody to learn what it's like to actually make things.

Agreed with it basically being lots of hard work, and that you have to be very motivated.

I'm currently 29, working as a Software Developer, and also started late. Got my MSc in Oceanography, had some basic programming experience (built basic websites for beer money, some light scientific programming), but not much. Decided I liked the analytics more than the rest of science, and got a job at a SaaS company as a Data Analyst. Really started falling in love with programming quickly there, and did the following: - took online courses like crazy (often waking up early to get some in before work, and more on evenings/weekends when possible) - always took on the most technical tasks at work, where I'd get to write as much Python/R/SQL as possible - started a coding club at work, great for group learning and motivation

After ~2 years of this I had gotten myself to a point where I could legitimately work as a Software Developer, and got a new job as one (at the same company). Stayed in my area of expertise, data science/analytics, but as a developer instead of an analyst.

I wouldn't suggest codeacademy, though. Maybe it's changed since I tried it, but my experience was that they introduced you to a bunch of syntax, but left out most of the fundamentals of how computer science and how to structure programs. I'd much more strongly suggest taking more involved courses. Some of my favourites include (note - bias towards Python, Scala and SQL courses, as that's what I happen to use a lot of):

Intro to Comp Sci (Python) https://www.udacity.com/course/intro-to-computer-science--cs...

Intro to Web Dev (Python) https://www.udacity.com/course/web-development--cs253

Data Structures and Algos (Python): http://interactivepython.org/runestone/static/pythonds/index...

JS intro: http://eloquentjavascript.net/

Functional programming (Scala): https://www.coursera.org/course/progfun

Reactive programming (Scala): https://www.coursera.org/course/reactive

Good databases courses (boring but good content): https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...

My personal feeling is that things like codeacademy get you superficial knowledge, like learning to use tools, when what you really want is deeper knowledge about how to build houses, regardless of the tools.

I did https://www.udacity.com/course/cs101 Intro to Compsci and cs253 Web Dev. cs253 in particular is good, taught by Steve Huffman who built Reddit. They are fairly easy and probably at a simpler level than MIT/Stanford type stuff. Huffman's is more of a practical guide to building scalable sites rather then academic stuff.
muraiki
I strongly recommend CS253. The course has just the right level of depth. Unless it's changed, it uses Google App Engine, but don't worry about that because it teaches you all the concepts about web development that you need to know to move on. This course was one of the biggest things that led to me becoming a professional developer (the other was http://www.ccs.neu.edu/home/matthias/HtDP2e/ although I didn't finish it completely)
I really enjoyed that article. I read it over a year ago while I was doing Udacity’s [Intro to Computer Science](https://www.udacity.com/course/cs101) course where you learn to build a web crawler and implement a basic page ranking algorithm.
Sep 10, 2014 · jskonhovd on Swift Has Reached 1.0
I don't know if Swift would be the best language to learn programming. Python is probably a better option. I would avoid platform specific languages until you are hired to work in that space. Open platforms like Python are much easier than close platforms to get started in Computer Science.

A good place to start with python would be the Introduction to Computer Science course on Udacity.

https://www.udacity.com/course/cs101

If you are interested in ML, I can recommend taking the Programming Languages course on Coursera after the python course.

https://www.coursera.org/course/proglang

platz
The Programming Languages course on Coursera: highly recommended
To me, Python is a great language to start with. Check out the following courses: Udacity CS101 "Intro to CS" (it teaches Python from scratch) https://www.udacity.com/course/cs101 In parallel with Udacity CS101 , you can advise your spouse to take Python track on Codecademy (it also teaches Python from scratch and it's great when combined with Udacity CS101) http://www.codecademy.com/en/tracks/python After those 2 courses I'd suggest to take a super-short "Programming foundations with Python" course (it teaches Object-Oriented Programming basics) https://www.udacity.com/course/viewer#!/c-ud036 If these are overwhelming, I'd point to Codecademy's HTML/CSS, jQuery, Make a Website and Make an Interactive Website tracks. After completing these classes one can move on to JavaScript or Python or Ruby classes. To be short, try to stick with Codecademy and Udacity in the beginning. This is the way how I tought myself how to code and landed a job as a Python/Django developer.
bredman
Thanks, I haven't looked at Udacity much so I'll give that look. I like using Python as it's a bit practical.

To clarify her goal isn't to land a job, just to learn a new skill and be able to relate to her coworkers that are doing more coding better.

Our field is wonderful in the way it encourages and rewards those who, with or without formal training, make things people want.

Learn by doing.

And if you feel now or in the future that you'd like a dash of fundamentals to go with your programming practice, you have options beyond those of traditional education. For example, Udacity has a great Introduction to Computer Science online class:

https://www.udacity.com/course/cs101

The free courseware includes the lectures and auto-graded exercises. It's Python-based, but goes beyond programming languages to touch on foundational CS concepts in general. Recommended.

A bit of advice from someone who is trying to do the same:

- Learn one language/ platform at a time. Also, think about what you want to learn. Web development? Mobile? CS fundamentals? It is very easy to waste alot of time when your are not focussed on a particular goal.

- Try not to get tricked into spending to much time on those fancy looking tutorials. Building something yourself is much more valuable than obtaining meaningless 'badges' and achievements.

- Ruby on Rails is complex and I would not recommend it for beginners. I wasted alot of time doing tutorials that covered random parts of rails that I never used in projects. Again, if you want to learn Rails, start your own project as soon as possible and select learning materials based on that.

- Stick with the basics. Try not to get distracted by frameworks, tools and the overwhelming amount of tutorials available.

for javaScript, have a look at this:

http://javascriptissexy.com/how-to-learn-javascript-properly...

Ruby / Python:

http://learncodethehardway.org/ https://www.udacity.com/course/cs101

rails http://guides.rubyonrails.org/getting_started.html

good luck

iamryandrake
Agreed Thomas! Thanks for your input.

I am learning for the sole intent of then being able to immediately put into action what I've learnt within the startup environment and also contribute to open source projects where I can :)

What are you learning?

Sep 29, 2013 · rzendacott on How to write a crawler
Udacity CS101 [1] also goes through the basics of building a web crawler. It's a lot more lightweight (no backend, etc), but it's a fun overview and can be completed pretty quickly.

[1]: https://www.udacity.com/course/cs101

mattcanhack
I took this when it first came out, definitely a good course for beginners or intermediates.
I would recommend looking at the Real Python courses as well, although after learning the basics from Dive into Python or LPTHW. After the introduction, it starts teaching you how to start doing practical things with Python.

I also enjoyed taking Udacity's CS 101 course which is great as an intro programming course overall.

http://www.realpython.com/ https://www.udacity.com/course/cs101

"I worry that it could be a waste of time"

It's education. If you want to stay 20 years in this industry, you have to invest in your education. Don't worry, just do it. Solving the problems would make you a better problem solver.

"I feel that most prospective employers don't really care about that, though."

That's right. Most prospective employers don't care. Don't work for them. If you have to, read my last answer.

"In otherwords, is SICP worthy of a CV bullet point."

Yes, really good developers would appreciate the effort. Employers won't care but the senior developer taking your technical interview may appreciate it.

"I should be focusing on more practical projects before looking for a first job." Yes, you must do that. Nothing beats showing a perfectly operational website. And depending on the profile you are targeting it can be a Android game or Web game or scraper or anything. Don't worry your github profile yet. Once you start building stuff it will come alive.

You can also check out https://www.udacity.com/ for some practical courses. They are taught by awesome people and are free. All these courses focus on a project to teach you basics of computer science. And you get real world skills.

1. Building a Search Engine - Introduction to Computer Science - https://www.udacity.com/course/cs101

2. Building a HTML5 game - HTML5 Game Development - https://www.udacity.com/course/cs255

3. Building a Blog - Web Development - https://www.udacity.com/course/cs253

4. Building a Browser - Programming Languages - https://www.udacity.com/course/cs262

5. Building blocks of any non - trivial software project - Design of Computer Programs - https://www.udacity.com/course/cs212 .

All the best learning CS, building things and contributing to the world.

Thanks for the positive replies fellas!

I've started in on this intro Python course at Udacity: https://www.udacity.com/course/cs101

I'm also going to work my way through the W3schools tutorials on HTML/CSS and Javascript and other resources posted here and elsewhere online. I'll probably pick up the O'Reilly book too as I hear their texts are good quality.

As for typing speed, I think I clock in somewhere around 70 to 80wpm accurately, so I'm good there.

I'm really looking forward to the challenge. Thanks again!

I was able to pick up Python pretty effortlessly (coming from a zero programming experience background) through Udacity's search engine course. If you're coming from little or no experience, you can easily pick up on Python. Like everything else, it just takes time to get used to.

If you happen to go the Python route, here are a few resources that helped me:

Udacity's Search Engine Course https://www.udacity.com/course/cs101

Google's AppEngine (for Python development) https://developers.google.com/appengine/

Django - Web Framework for Python https://www.djangoproject.com/

I've learned Python exactly same purposes as a hobbyist. Although it depends on your learning curve, Its easy to start and continue. You can find tons of examples for every level. Also if you interested with web developing, Django (Python web framework) can be good solution. If you are total beginner, this lesson will be very useful: https://www.udacity.com/course/cs101
HN Academy is an independent project and is not operated by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.