Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Which Coursera courses/specializations you recommend?
163 points by quotz 27 days ago | hide | past | web | favorite | 61 comments
I am a recent grad with beginner knowledge in programming. I wanna get into programming seriously, and my former university is sponsoring all my coursera certifications. Which ones should I do over the summer?

I would recommend Andrew Ng's Deep Learning Course. https://www.coursera.org/specializations/deep-learning

This course is extremely good mostly because it covers the essential theoretical topics and gives some practical advice. TIP: do solve the assignments bcz it will clear a lot of concepts while solving it. ( or other solution can be found on github )

I strongly second that and also Andrew Ng's : Machine Learning course.

The only thing that was annoying for me was that the Jupyter assignment auto-grader would incorrectly fail correct answers and it's not always easy to debug the reason why it failed. If the python syntax deviates too much from the expected answer, it also can cause some issues. Please note: I am a very experienced programmer and have been using python for more than a decade. This was not my first rodeo...

Otherwise this should in no way be a deal breaker, the material and assignments are top-notch. The forums are also helpful in finding out issues with the auto-grader.

Worth every penny and minute invested!

Can you comment on whether it'd be best to jump straight into the deep learning course, or is it better to do the machine learning course first?

I went through it, really enjoyed it. But I had experience in the same subject matter before taking it. If you have some ML experience, I would recommend diving straight in for a good breadth-first look at deep learning topics. If you don't have any ML experience or don't really know the concepts, I would recommend taking their other course first (Intro to AI, or AI for Everyone, or w/e -- which I skimmed to see if it was something I should recommend to others, and I liked it).

The deep learning course is taught in a way where you don't need the machine learning course first, so it's possible to start with either, especially if you have any familiarity with ML. Deep learning is one specific type of machine learning so there is alot of other techniques you will be missing if you only do the deep learning course though.

I think it would be useful to take Udacity’s machine learning class as well to provide an additional perspective. There are some parallels such as edge detection uses the same techniques as convolutional networks, regularization is a general technique useful for both neural networks and clustering, optimization of steps in planning probably has a parallel to how Alpha Go works. Particle filters was cool.

Also, take several of the classes in the specialization. Don’t stop at the first course. Convolutional networks has been great.

I liked working on the notebooks and watching the interviews with some of the pioneers of Deep Learning.

Can anyone who's taken that and MIT's deep learning course (introtodeeplearning.com) compare them?

How much do the material overlap? Which one is better?

Dan Boneh's Cryptography I course: https://www.coursera.org/learn/crypto

I started learning about crypto from this one and found it well taught and detailed - he really goes into more rigorous proofs and attack models etc. When I did it (some 4-5 years ago) the assignments were also really challenging and fun, proper programming assignments.

I second this. Probably the best online course I've ever done. Very challenging but very rewarding. I'm looking forward to hopefully doing Cryptography II... One day.

Check out Dan Boneh and Victor Shoup's work-in-progress textbook here: http://toc.cryptobook.us/

As it happens I have catalogued and ranked all mentions of Coursera courses on Hacker News - you'll note that many of the mentions in this current discussion appear there as well.

HN Academy: https://yahnd.com/academy/

I've also more recently done the same thing with mentions of Coursera on Reddit: https://reddsera.com

Hope it helps!

I'd be very wary about this kind of resource given that Coursera is almost completely different from what it was 5 years ago. Some courses have been removed. More things have been pay-gated, including automated test suites for programming assignments.

A comment from HN years ago about a Coursera course may well be misleading in 2020.

Very true. I try to mitigate this in some ways on my site, but it is certainly not perfect.

Great job!! I looked at your HN profile & it looks like you’ve a knack for similar websites that compile information from comment threads.

I suppose you’re using NLP, specifically NER. Is there a blogpost that details your general approach? Or could you suggest how to extract such information from threads?

Nope - regular expressions all the way. :-) I keep thinking I'll move toward NER but keep finding other ways to find value first. Same answer regarding the blog...

Wow thanks!

1. CS50 [difficulty level: medium, has certificate: Yes] https://www.edx.org/course/cs50s-introduction-to-computer-sc...

2. Algorithms [difficulty level: hard, has certificate: No] https://www.coursera.org/learn/algorithms-part1

3. Nand2Tetris [difficulty level: ok, has certificate: Yes] https://www.coursera.org/learn/build-a-computer

Why is almost every answer on this thread is related to Machine Learning. The question was about programming. There is 3 part series from University of Washington on programming languages covering Standard ML, Racket and Ruby. It compares and contrasts functional programming and Object oriented programming in detail by teaching 3 different languages. I believe this is a great resource to start with. Here is the link. --> https://www.coursera.org/learn/programming-languages

I did part of the ML course. I've been pondering over which language to choose to advance my functional programming journey. I've been torn between choosing Lispy variants such as Scheme, Racket, Clojure etc or the ML variants such Scala, SML, OCaml, F# or go nuts and do Haskell! :D But I'm a data analyst by profession and I'm 35 years old. So I need to choose something wisely. I'm studying statistics at the moment and the most wise choice for me is R. I already do some work on Python. R is based on Scheme and has a lot of functional aspects. Some of the answers related to Machine Learning here are relevant to me. But for the question, I also believe the Washington University course is a strong contender. Hopefully, I'll have the time in future to learn some of it.

One of the best courses i had. It gave an First view of functional programming. And ML, is just great. And now I can see many languages influenced by It.

I also highly recommend this course. It does a great job of comparing/contrasting functional and OOP.

The first two course of the specialization on functional programming by Scala's founding father is worth your time if you're into that. I remember it being quite challenging, but gives you a thorough grasp of FP, and a new language in your toolkit.



I have completed both of the following:

1) https://www.coursera.org/learn/learning-how-to-learn

2) https://www.coursera.org/learn/machine-learning

I highly recommend both of them, if they cover a subject you're interested in, though if you only have time for one, they are listed in descending priority order.

Given how low it's time+energy requirements are, and how large the pay-off has been, I recommend Learning How to Learn by Dr. Barbara Oakley to everyone regardless.

I did Learning How To Learn twice and I still not sure how helpful it is. The only thing I found useful/applicable is spaced repetition.

What part of the course do you feel it's valuable? I don't mind going back to do it again.

A meaningful part of what I found useful was that I knew ~<10% of the content. It was 8 hours effort (Tuesday+Thursday 1 hour lunchtimes for four weeks, including all videos, quiz's, note taking (on the phone I was watching it on), and tests), and I'm now sure I know how to study effectively.

I think one working day is worth it to make sure you're up to date.

I also found the working memory, and memory information in general very informative and helpful.

The focused vs diffuse thinking part was very useful for me.

How do you apply this? Let's say we want to learn a new programming language. I should spend time focus on a topic, then how do I apply diffused thinking here?

I learned to value physical activity for diffuse thinking, and related to it when I unconsciously feel the urge get up and walked around the room when thinking about some subjects I've learned.

This isn't coursera, but it is so good I felt compelled to mention it, fast.ai is fantastic.

Seconding this. fast.ai has greatly emphasized practical approaches for those interested in building deep learning applications. While I haven't completed their Deep Learning from the Foundations course, I don't know of any other course that goes as in-depth on the fascinating topic of building your own Deep Learning API.

The Stanford algorithms specialization (https://www.coursera.org/specializations/algorithms) is outstanding. Professor Roughgarden is the best instructor I've ever had, online or in person. He's got infectious enthusiasm about the topic and does a great job explaining the algorithms and how to analyze and understand them.

Software Design and Architecture Specialization: https://www.coursera.org/specializations/software-design-arc...

I learned so much in these courses that cover OOD, design patterns, and architecture in a real world and practical way. I found it one of the best taught courses I've taken.

Is there a reason the course uses Java and not Kotlin for developing an app?

Can anyone recommend a course for someone looking to move from senior software engineer/architect role to a technology management role in a traditional bank ? I am comfortable in Technology delivery but I need a guide map to successfully traverse the organizational politics and egos and policies. I know I need help with those soft skills.

For soft skills, I would recommend reading The Case for Servant Leadership by Ken Keith. Take the Strengths Finder survey and get the full assessment. If you can afford it, find an executive coach to help you developing a learning plan to develop your soft skills. Also look for networking groups that might have soft skills seminars. I am a board member for one and we meet monthly and have guest speakers that talk about leadership, communications, networking, etc.

1. Strengths Finder from Gallup was very revealing. I also recommend getting the 34 strength full profile, although the 5 will already give you a lot to think about.

2. Do you have/can you get a mentor in the bank, preferably 3 levels above you?

3. Ask yourself why you want to move to management. The answers will guide you in terms of who could be a good coach. Ask for references and talk to those people.

Thank you ! I am going to do the Strengths Finder Survey. I am also very interested in the networking groups what could help. If your group has a Toronto chapter , I would very much like to join it.

What does an executive coach do? Very interested

I really wonder if anyone not hand-picked for an Olympic team / for a position through nepotism ever got ANY benefit from "coaches".

I will treat this as a real question. The answer in my case is yes.

Many, many senior executives, founders and owners benefit from coaching, and pay at times thousands per hour to be coached. In fact a famous coach in Silicon Valley was so well loved his coachees (including google founders) wrote a book about him to thank him.

To paraphrase Dune, the first lesson is learning how to learn.

Put another way, an insightful person rooting for you and kicking your ass can have a profound impact on your life.

I recommend it!

It's a serious question. I see virtually every "coach" as a scam artist who would be doing what they coach if they could. The few legitimate coaches out there are prohibitively expensive. Of course, that's just my take on it.

If you log back in, here's how I would think about it. Imagine yourself at peak personal and work performance. Do you have a sort of a 'type' or person that comes to mind? e.g. Perhaps you're into building content based communities, and Alexis Ohanian comes to mind. Find out who advised and coached Mr. Ohanian in the early days of launching reddit. Can you imagine wanting that person's input into your life, and how it might help you?

That's the sort of person I'm thinking of when we talk executive coaching.

The other kind, to parody, a sort of failed masseuse and mid-tier office worker turned coach is not at all the sort that I think would generally move the needle for someone interested in the tech startup world.

That's at least partially true. There are lots of "life coaches" out there who may have a certificate in coaching, but not a degree in related field and no professional license (like a licensed social worker or therapist). Some are good, some are no better than your best friend, only anonymous-ish (I guess there's some value there).

But, there are legit coaching programs out there (Georgetown has one of them). While not full degree programs, the end product (ie, the coach graduates) can be very good.

And getting value from a coach is a 2-way exercise. They won't transform you into your best self without work from you. You need to have problems that need solving, you need to put work into discussing them, and then you need to execute when you're back in the office.

I think it works the same way that a psychologist works. You’re partially paying them to just be an impartial generator of feedback. You cannot get that anywhere within your organization or circle of friends.

Related suggestion... most large companies have internal coaching and leadership training opportunities. I'd check with HR or the L&D group at your bank.

Failing that, I made the engineer-leader transition a few years ago and have taken most of the internal training at my employer - if you just need to bounce some ideas around, let me know. I'm not a certified coach, wouldn't even claim to be an expert, but happy to help if I can.

If you are a beginner you want to start with either Python or Javascript (with our without HTML). Any course that introduces those languages would be fine. Don't bother with anything more advanced until you have the fundamentals down. Also, unless you're already doing it, learn how to touch type.


not Coursera but free and extremely valuable.

Look up Programming Languages, part A and B

... and C. But I can see why you dropped Part C. Part A and B were excellent but C not that much.

Dan Grossman is an excellent educator. You'll probably learn more programming [languages] concepts than any other beginner's course.

C is the most important part to me, lol.

The algorithm specialization was really cool to work through.

While not directly related to programming I'm currently doing The science of wellbeing https://www.coursera.org/lecture/the-science-of-well-being/b... and would definitely recommend it.

I appreciate your contribution, but this doesn't answer OP's question.

Secondly, Udemy is notoriously a sham full of copyright infringement. So I would respectfully ask that folks use alternative learning platforms when possible.

Here's one of many, many, examples of content theft / copyright infringement: https://www.troyhunt.com/the-piracy-paradox-at-udemy/

I can vouch for this one as well.

Stanfords cryptography 1 course is fantastic, highly recommend. Apparently a more advanced one (crypto 2) is coming out October-ish too.

What would you recommend as the best mathematics course for understanding the underlying mathematics in machine learning ?

There was one called Mathematics for Machine Learning on Coursera check it out its by Imperial College London

The intro to deep learning using tensorflow is great. It made a lot more stuff click for me than fast.ai.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact