Machine Learning

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from Stanford University.

Machine learning is the science of getting computers to act without being explicitly programmed.

Logistic Regression Artificial Neural Network Machine Learning (ML) Algorithms Machine Learning

Next cohort starts July 20. Accessible for free. Completion certificates are offered.

Affiliate disclosure: Please use the blue and green buttons to visit Coursera if you plan on enrolling in a course. Commissions Reddsera receives from using these links will keep this site online and ad-free. Reddsera will not receive commissions if you only use course links found in the below Reddit discussions.

Taught by
Andrew Ng
CEO/Founder Landing AI; Co-founder, Coursera; Adjunct Professor, Stanford University; formerly Chief Scientist,Baidu and founding lead of Google Brain

Offered by
Stanford University

Reddit Posts and Comments

13 posts • 1193 mentions • top 35 shown below

r/IAmA • post
11739 points • SITNHarvard
We are PhD students from Harvard University here to answer questions about artificial intelligence and cognition. Ask us anything!


Thank you everyone for making this so exciting! I think we are going to call it a day here. Thanks again!!


Thanks everyone for the discussion! Keep the discussion going! We will try to respond to some more questions as they trickle in! A few resources for anyone interested.


Introduction to Programming with CodeAcademy.

More advanced [Python programming language] ( (one of the most popular coding languages).

Intro to Computer Science (CS50)

Machine learning:

Introduction to Probability (Stat110)

Introduction to Machine Learning

Kaggle Competitions - Not sure where to start with data to predict? Would you like to compete with other on your machine learning chops? Kaggle is the place to go!

Machine Learning: A Probabilistic Perspective - One of the best textbooks on machine learning.

Code Libraries:

Sklearn - Really great machine learning algorithms that work right out of the box

Tensorflow (with Tutorials) - Advanced machine learning toolkit so you can build your own algorithms.


Hello Redditors! We are Harvard PhD students studying artificial intelligence (AI) and cognition representing Science in the News (SITN), a Harvard Graduate Student organization committed to scientific outreach. SITN posts articles on their blog, hosts seminars, creates podcasts, and meet and greets with scientists and the public.

Things we are interested in:

AI in general: In what ways does artificial intelligence relate to human cognition? What are the future applications of AI in our daily lives? How will AI change how we do science? What types of things can AI predict? Will AI ever outpace human intelligence?

Graduate school and science communication: As a science outreach organization, how can we effectively engage the public in science? What is graduate school like? What is graduate school culture like and how was the road to getting here?

Participants include:

Rockwell Anyoha is a graduate student in the department of molecular biology with a background in physics and genetics. He has published work on genetic regulation but is currently using machine learning to model animal behavior.

Dana Boebinger is a PhD candidate in the Harvard-MIT program in Speech and Hearing Bioscience and Technology. She uses fMRI to understand the neural mechanisms that underlie human perception of complex sounds, like speech and music. She is currently working with both Josh McDermott and Nancy Kanwisher in the Department of Brain and Cognitive Sciences at MIT.

Adam Riesselman is a PhD candidate in Debora Marks’ lab at Harvard Medical School. He is using machine learning to understand the effects of mutations by modeling genomes from plants, animals, and microbes from the wild.

Kevin Sitek is a PhD candidate in the Harvard Program in Speech and Hearing Bioscience and Technology working with Satra Ghosh and John Gabrieli. He’s interested in how the brain processes sounds, particularly the sound of our own voices while we're speaking. How do we use expectations about what our voice will sound like, as well as feedback of what our voice actually sounds like, to plan what to say next and how to say it?

William Yuan is a graduate student in Prof. Isaac Kohane's lab in at Harvard Medical School working on developing image recognition models for pathology.

We will be here from 1-3 pm EST to answer questions!

Proof: Website, Twitter, Facebook


Proof 2: Us by the Harvard Mark I!

r/MachineLearning • post
204 points • zen91
Self-Paced Coursera Machine Learning now available!
r/learnprogramming • comment
118 points • Lesabotsy

This is the only place to learn machine learning online ...

r/learnprogramming • comment
219 points • ziptofaf

First - I suggest you take a look at this book:

Reason - somehow I doubt you actually learnt how to code in Python, you probably only learnt syntax. So might as well look at this one and see if you can do things presented in it as it focuses on real-life tasks.


\> My ultimate goal with python is to either make a social media type app

Look into Flask or Django. You will find plenty of resources if you google for these.

\> or do something with AI

Coursera, Andrew Ng course: Be warned, you don't really use Python in there. It's a field of math after all, just wrapped with some programming.

r/compsci • comment
51 points • FinxterCom

I would also recommend Andrew Ng's Coursera Course. He is the ML god.

r/Futurology • comment
93 points • StillNoNumb

Stanford is your way to go. Either the raw text material from here (assumes college calculus and linear algebra skills), or Andrew Ng's video course (no prerequisites except basic maths and programming).

r/programming • comment
45 points • lFailedTheTuringTest

Is that the Machine Learning course as in this one? PM me if you want to do it together. I am currently at week 5 and for now it is quite easy. Remember to study the vectorisation and linear algebra portions carefully as vectorising the exercises halves the lines of code.

r/Futurology • comment
36 points • Rachenlol

You mostly need to take specialized classes during your Masters and get into the research at the University level, or finish the Masters and look for a job specifically in that area. AI is a growing field of study, but it's not so big that every company needs it or wants to pay inexperienced people to work on it.

It doesn't take much to get started in this area of study. I recommend the free online class taught by Andrew Ng at Standford.

r/learnpython • post
36 points • sshumiye
Nice Introductory Course on Machine Learning on Coursera

In case anyone is interested, here is a course on Machine Learning on Coursera (without the certificate option, it is free).

r/MachineLearning • comment
34 points • theoneneophyte

Andrew Ng's ML course is absolute gold!

r/AskReddit • comment
28 points • conancat

Hey man! I don't think your degree is an issue, I graduated as a graphic designer lol and now I'm a full stack web developer. My gateway drug was HTML/CSS then Javascript programming... And so it begins, haha.

For machine learning there are plenty of free online courses to get into the field, one that I've completed and is immensely useful for me was this Coursera course by Stanford University professor Andrew Ng, pretty much every single ML/Big Data professionals I've met have completed this course. It doesn't presume any knowledge in computer science or anything, if you can do high school algebra you can do this course, and it's free!

Once you've completed the course you can then pick a field for your specialization, but must importantly if you want to work in the field you need to demonstrate that you have the skills for it. The industry doesn't look at your degree, they look at your Github or Gitlab for your hard skills, and LinkedIn for your soft skills.

If you're completely new to the field, completing the course should give you an idea what to expect and how to proceed to the next steps. If you dedicate all your time to it and if you have no full time job at the moment, you should be able to get from "unhireable" to "intern/junior" in two months.

I know Taiwan there are courses that help people to change careers in 6 months, and I've seen them gone from knowing nothing about the field to jumping to mid level devs -- I know, I hired some of them.

Tech industry is all about your skills, not your papers. The world is always hiring, but most importantly is dedicating the time to learn those skills needed!

r/day9 • post
28 points • Vilkaz
Do you guys remember Number "J" ?

Day 9 made it, Number J is Offizial part of Maschine Learning :D

Go To

SKIP to 3:03

Enjoy :D

r/DotA2 • post
275 points • klovinup
How we trained Dota 2 chat simulator: why he is so rude and fun

Hi! Yesterday we toured the chains from ROFLAN - Dota 2 chat simulator.

In this article, we will explain how we trained him, why he is so funny and rude.

ROFLAN's chat examples:

One Two Three

How the Roflan works?

We trained so called Recurrent Neural Network on chats taken from 1 million Dota 2 replays. This kind of neural network is used as a language model in machine translation and automatic question answering. Roughly speaking, the input neurons (called “encoders”) eats your sentence word-by-word and build a 50-dimensional numerical vector that represent what you said on network’s strange language. After that, output neurons (called “decoders”) generates the answer word-by-word utilizing mathematical transformations of your question vector.

The Roflan neural network was trained for several hours on single GPU — Nvidia GTX 1080Ti (yes, GPUs are not only useful to accelerate your games). The training process modifies neuron’s behavior step-by-step enforcing them to generate answers similar to real player’s messages.

Roflan Neural Network (RNN)

Why the answers are so strange?

First of all, when you read the chat, you can see a lot of strange in communication between players. Players send different kind of messages to each other, so there's nothing strange about this. There's a principle of "Garbage in, garbage out!'' in computer science, which can be reformulated as ''LoL-RoFl in, RoFl-LoL out'' by Roflan-bot.

Another reason is that the network doesn't take into account the significant part of the communication between the players occurring directly by actions on the map and also in the voice chat.

Why there are so many curse words and why it insults me?

Because this is how the players communicate in chat, ''language model'' doesn't understand what polite communication means and what is verbal abuse. It simply learns how to speak the language, which is spoken by people from the collection.

The neural network isn't alive and doesn't work like a human brain; It doesn't have a purpose to offend, its purpose is — to show the text, that matches the grammar of the language spoken by the players, and the answer has to be combined with the question as good as possible.

Want to create AI

If you want to be a Machine Learning geek and you’re ready for some math, I recommend to look through courses. There are lection about RNNs that covers the ideas behind Roflan bot. Also, the Andrew Ng course is a great starting point.

For all comers, we published anonymized chats used for training bot on Kaggle. Use it to make more ROFLs.

And don't forget enjoy ROFLAN

r/learnprogramming • comment
24 points • tomekanco

This is a free Coursera course (all content is available, including tests).

Starts from regression, to logistic regression to NN and further. You're forced to sumbit results in Octave/Matlab. You don't have to learn a lot of syntax, mainly matrix operations (which is a good exercise for vectorisation).

r/argentina • post
49 points • OneOverNever
Grupo de estudio de Machine Learning. Actividad colaborativa y gratuita!

Estimado Foro, si tienen:

1) Buen nivel de ingles (vamos a seguir material en ingles).

2) Conocimiento básico de algebra, cálculo diferencial y estadística.

3) Manejan Python/Javascript/Sql lo suficiente para escribirse un for loop que popule una tabla.

Estoy por arrancar desde cero los cursos de Fast. El curso de FAST tiene dos modulos, el primero de Machine Learning y el segundo de Deep Learning.

Como background, trabajo de Data Scientist y ya pase por el curso de Machine Learning de Andrew Young (el de Stanford/Coursera) hace casi un año y me gustaría retomar desde cero el tema.

Lo ideal es poder armar un grupo simpático con el que podamos competir en Kaggle eventualmente.

La frequencia que se busca es de 1 a 2 veces por semana, la segunda sería relativa al tiempo que dispongamos.

La ubicación sería en CABA, pero se puede ver de trabajar con distintas regiones de Argentina con reuniones por skype... Eso se ve.

Interesados hablenme!


PD - No hay necesidad de dinero. Solo una (buena) compu y tal vez unos mangos para el café si nos sentamos en algún bar.

Edit - Recién voy a estar en una compu para leer el thread de nuevo a la noche (por si no respondo).

r/learnmachinelearning • post
23 points • TO_DA_MOON
Let's start a Coursera ML group!

Stanford Machine Learning Course is starting this week and I think it would be cool to start a little community of people to help each other out on the course so that way we can ask questions and get quick responses if we're stuck, or to come up with cool ways to apply the stuff we learn.

I've just completed the first week, and this stuff seems super interesting, and I'd love to find a bunch of likeminded people to take it with!

r/artificial • comment
22 points • marcjschmidt

Basic: Machine learning, Natural Language Processing, Voice Recognition, Speech Synthesization. Hard: Common Sense, Self Analysis, Performance.

Start the journey by playing around with Python and Keras. Do, implement all the concepts of Basic. If you did that with good understanding, come back to me in 2 years.

r/learnprogramming • post
272 points • serimachi
Programming advice for CS majors

This week, a classmate approached my friend and I to ask for advice in becoming a better programmer. We're all CS students, but my classmate, despite being a genius, claimed not to feel confident in his programming ability. I was flattered and wrote him this lengthy email. I figured others might like to read it, and would be open to any feedback or additional advice.

Hi! Let's just launch right in.

What's more important is deciding what you want to do. Python is a great general-purpose language, and you can do anything in it. However, more specialized languages exist out there--you're already familiar with Matlab, which is designed for scientists doing matrix shenanigans. (As evidenced by its 1-indexing, wtf.) If your desire is to program for the web, you can hack together a PHP script in a day. If your desire is to do nuts-and-bolts system programming--interacting with the hardware itself--then C and C++ are your game (which may be useful to learn anyway, as you need them for class.) C# (or something) is what they use in game dev. Java is your only realistic choice for Android apps; likewise for C# (I think?) and Swift for iOS. But Python is still amazing, and I recommend it unless you're really set on specializing.

[Codeacademy] has another course that might be more your style. But make sure you install Python on your home computer at some point; don't just do it through the web.

I'm pretty sure the way I started with Python was a textbook I bought in 11th grade. This was silly, and I retained nothing and built nothing (maybe a if-branching and while-loop text adventure game). What really got me started was Python the Hard Way, which you can zip through in approximately no time. (I see now that the author has published an expanded book version--that's not necessary to buy, the link I sent you is the perfect base for anything you want to do.

After that, like I said, it's a matter of specializing.

  • You've expressed an interest in web programming. This is the traditional route, and the way most people get started. However, there's one big drawback to this--programming for the web is not as simple as learning one language. To some extent, you will have to learn HTML, CSS, and SQL. If you want your site to do anything flashy, you'll have to learn Javascript. You'll have a lot of disparate knowledge-gathering to do, and for me, when I was first learning, it wasn't easy to tell what knowledge was extraneous. Your best bet is to:
    • Run through HTML (do not bother with the tables section--table-based layouts are not good practice, I get so annoyed by this!) / CSS / SQL on Codeacademy. Codeacademy will just barely give you enough knowledge to do anything; it is not a thorough course. However, you could spend a year mastering front-end web design or SQL. You'll want to come back at some point to get a better grounding in this stuff, but this is enough to get started.
    • Run through this Flask tutorial.

That's really all you need to build your blog. (I say that's "really all", but in reality I just gave you at least 40 hours of work. Like I said, web dev has some real disparate knowledge requirements.) Ideally, edit what you built in the tutorial (or build the whole thing from scratch for the sheer practice of writing it, and reference what you built in the tutorial.) It won't be a pretty blog. After that, you'll probably want to go back and solidify your knowledge in HTML and especially CSS. Then comes Javascript (and its infinite number of useful libraries), which is a real programming language like Python, which again you could spend years studying and never really "know". And then there's Bootstrap, a thing which hastens CSS development. And so much more--you could not possibly learn it all. It depends how deep you wanna get into web dev.

But, learning web dev will make you useful at hackathons. A lot of jobs out there aren't much more than very simple web dev (or "CRUD: apps). Before long, you'll be able to throw together a blog in just a few hours. It's a really useful thing to learn.

You might consider ignoring everything I just said, and going through a full fledged online course. These exist en masse. This course teaches PHP and SQL--you could conceivably learn HTML and CSS and then hop right into this. There's this. I tried this, but it didn't stick. My first experience with web development, at twelve years old, was actually this. (But I'm not a childhood whiz kid or something; I forgot all of this and had to learn it again a couple years ago. And the website I built at twelve was just HTML/CSS with no backend; I just wanted a place to post my stories and articles.) Finding a university course lectured online might be more your style. I know, though, that I would get bored and never finish it. (When I do do courses, I tend to watch them at 1.5x speed, but I do pause to take very good notes and complete the exercises. I think most people fly through them without really absorbing the material like they would in an actual classroom, which is why they have no respectability whatsoever. That said, a lot of these courses on Coursera (and its ilk) says they should take a month or more to complete, and I like to blast through them over the course of a week or so depending on their difficulty.)

  • You might be into game dev, in which case pygame would be fun to learn (and probably a lot quicker / less overwhelming than web dev.) I was never interested in game dev, but this is how I taught my little brother programming. (Who is waaaaaay smarter than me.)
  • Web scraping is cool--building scripts that can scrape data off the web--and has been surprisingly useful. I've used it both in both of my jobs, and it impresses people. You'll need to know HTML, and it requires a knowledge of how whatever website you're building is structured (requiring research.) But I've built a few fun project that way, including one I'm particularly proud of that automated an assignment in a gen ed course. This tutorial looks fine. (I forget the one I used.)
  • You can build bots that interact with Twitter, Reddit, and most social media sites, if you can think of something clever to do with that. You need nothing more than basic Python for that. You'll have to Google that; "How to build a Twitter bot with Python for beginners" or something. (I have built a twitter bot, but the library I used is no longer supported.)
  • You are a math guy, so you might be interested in the course I'm in now. It's about parsing data and building attractive visualizations out of it using Python libraries. It requires nothing more than Python. (It later gets into machine learning. The usual recommendation for that (which I second) is Machine Learning with Andrew Ng, who is minorly famous, and that goes into the nitty-gritty more than other courses (but less than an actual university class). It uses Matlab, which you might prefer.)

These are just some ideas of directions to go in. By far, the best thing is to decide not on a technology you specifically want to learn for your resume or something, but on a project you want to build, and let your desire to complete that project drive you to learn. I keep a notepad on my computer of projects I want to work on. Keep an open mind and actually write down your ideas, and you'll have more than you could possibly ever act on. (Even if most of them are crazy or not terribly impressive. It's about learning, for us, at this point. We'll likely never have this much creative freedom in our careers.) Then, come to us or somebody relatively experienced for pointers, or look online for how you might get started.

There's something [Friend] and I have disagreeing approaches to. [Friend] is methodical, and like to understand things fully before applying them. He likes to work through courses and get his material in a structured way.

I'm the opposite. I get a creative itch to build something, and learn the bare minimum to build that thing. I learn on the fly, with a billion and a half reference pages usually open.

[Friend]'s way is probably better in some ways, because it doesn't leave one with with massive, fundamental knowledge gaps. I've built projects in languages and with frameworks I don't understand before, just by pattern-matching code, and A) it probably shows and B) I left without learning all that much. (Just recently, I've started a data analytics course in Python, and it kills me that there are libraries out there that would have been extremely useful and time-saving for projects I've worked on, had I researched them.)

The issue lies in actually motivating yourself to learn things thoroughly, and also in remembering it all. If you work through an entire book off HTML5 and CSS, and an entire book of Javascript, and an entire book of Python (with all the esoteric minutia that comes with learning an entire language)--you'll have forgotten the Javascript by the time you finish the Python book, and a year will have passed, and you'll have little to show for it. Also, there's the confidence you get when you build things in the real world, which makes you sure you can build other things, which snowballs. (And I don't want to exaggerate by making the gaps in knowledge you get by not doing courses worse than actually is--programming is a bit like math or like scuba diving in that practicing it really is the only way to learn sometimes.)

Point is, take what I say with a gigantic grain of salt, and follow your own learning style. Do what actually works for you. By far, the biggest learning block most people have is not a lack of resources or a bad teacher, but a lack of motivation to learn. Do what it takes to stay motivated. Even if it's silly. Sometimes, I'll force myself to go to the library only by making a deal with myself to buy chocolate milk from the store along the way.

You'll also want to make sure you've got the general programming skills. This is not stuff you'll want to do right away, for the most part. (You may want to get the basics of Git down, so you can show off your projects and link to them on your resume--but just the basic three commands, not the complex stuff you'll need when you're working as a team. It will take an hour, tops.) You might want to work on applying Data Structures and Algorithms on Leetcode and with Project Euler problems. (Whenever I learn a new language nowadays, I do a few problems on Project Euler rather than running through an entire tutorial. I learned C that way before taking Low-Level, and it gave me an advantage in the class.) You'll want to work through the books Cracking the Coding Interview _and _Clean Code. (The video series Clean Coders goes even more in-depth than the book and is a lot less boring--though it's really wacky in its presentation--I have the first 18 videos of the series if you like.) Plan stuff out, do some pair programming. You'll want to learn Test-Driven Development, SOLID principles, Git, how the Internet really works, etc. You'll want to install some version of Linux, probably Ubuntu, and really learn it, meaning the command-line and bash scripts. (I deleted Windows when I got my first laptop at 16 in order to eliminate the temptation of using it. I did learn Linux, but now I kind of forget how to use Windows.) A lot of people say to read code to learn other programming styles, and contribute to open-source projects. More generally--just stretch yourself a little, and occasionally do things the hard way just for the practice. (For example, it's sometimes okay to copy-paste code when you really want something done--you're essentially doing that every time you use a library--but you don't want to do that all the time.) This is the stuff that will make you a mature programmer. They're a bit boring (unless you're [Friend]), but it's like eating vegetables. You've just gotta do it.

Oh, and it's good to skulk and Probably some others I'm forgetting about. Read the sidebars, sort by top. Read the comments. Take everything you read with a pinch of salt, but try to find the good advice. (And don't get addicted.) This will give you a link into the hacker culture/community, will help you pick up a lot of general knowledge and will inspire a lot of thought/introspection in a way that's hard to define, but is definitely useful. You can do this at any point; there's no particular reason to wait.

It's a lot of work. More work than anyone sees. I spend, on average, about and hour and a half a night on courses or projects on top of my schoolwork, and more since [Friend] and I started on a project that has a large learning curve. Once you get in the habit, and you have something to be focused on, it's not a terrible pace. (It's pretty great that now I am functionally paid to learn for my work. And it's not to hard to build projects based around what you're doing in class--the machine learning course I completed, for example, has gotten me to brush up on linear algebra that has come in useful during our Math Concepts II class.) However, there's no need to go that hard unless you come to really love it, or unless you're aiming for a Big 4 (Google, Facebook, Microsoft, Amazon) sort of position (which you would be well-suited for, with your math-y background.) (We really are in a good field; a lot of anthropology students would envy us only needing to work only a half hour a night to be a competitive graduate with good job prospects.) And while each project is going to be inevitably harder than it seems when you first were planning it out, eventually you'll find yourself doing things in hours that once took you days or weeks. You'll walk into job interviews and they'll comment on how relaxed and confident you seem. And then, at some point, you'll find yourself being the person people come to for advice, and you'll be writing them lengthy emails at one in the morning.

Let us know how we can help. And please come to the hackathon! (And for goodness sake, please force me to come to this stupid CS career stuff, I really should be going. But I'm not wearing a damn suit!)

Sincerely, [ /u/serimachi ]

r/learnprogramming • comment
19 points • FeebleOldMan

I think it's this one.

r/netsec • comment
17 points • iceickle

Do this course:

r/learnmachinelearning • post
122 points • MoistPurchase
Looking for feedback on my Action Plan for Learning Machine Learning

Hello everyone, I am currently building an app and I want to integrate a Recommender system inside the app, so I decided to learn Machine learning. I'm going to be pursuing the Machine Learning course offered by Andrew NG on course era, but before I start it, I wanted to make sure I had the foundation to properly understand the concepts of Machine Learning. So this is the plan I made:

1) Linear Algebra
2) MIT Calculus 1A: Differentiation
3) MIT Calculus 1B: Integration
4) MIT Calculus 1C: Coordinate Systems & Infinite Series
5) Imperial College London: Mathematics for Machine Learning: Multivariate Calculus
5) MIT Fundamentals of Statistics
6) Finally, Stanford Machine Learning by Andrew Ng

I'm a college dropout and I want to get into learning machine learning so that I could start using concepts such as Recommender System in the app I am building, and hopefully eventually work towards getting a job in Machine Learning.

r/computerscience • post
68 points • Nottherealaron
Can we get a online course recommendation thread going?

Hi, since there are a lot of great free online courses, which in many cases are much better than what they teach at your university I thought it would be nice to get some recommendations.

So what online courses are you currently doing? Which are on your to do list? And which do you recommend?

I just started Algorithms Part 1 by Princeton University to prepare for the algorithms course I'm taking in fall.

I just finished part one of Object-Oriented programming with Java by University of Helsinki, good course, I would definitely recommend it if you're getting in to coding or are about to start your first year at uni.

I also just finished Elements of AI by University of Helsinki. It's a bit high level and I already knew a lot of what they talked about, but if you're not familiar with AI it could be a fun intro to Artificial Intelligence.

Machine learning by Andrew Ng

I haven't done this course yet, but a few friends have recommended and it's on my to do list.

r/synapseai • post
14 points • KatherineSynapse
Machine Learning w Andrew Ng
r/datascience • post
57 points • LeVraiPetitRenard
What's a good pathway to developing data science skills?

My background is a B.S. in EE, and this fall I'll be re-starting a Masters in CogSci. I know basic Python, and I'm currently working through "Discovering Statistics with R" by Andy Field. I don't know SQL, and my LinAlg and Calc needs brushing up on.

Frankly, I'm lost in all the online resources. I've spent the better part of a day trying to compare courses like Udacity's Data Analyst Course and Coursera's Data Science Course keeping in mind other things people continue to mention like Peter Ng's Machine Learning Course and free resources like DataQuest. I can't figure out where my time would be best spent.

I realize for job searching the best thing to have is a portfolio of projects, but it'd be nice to have a structured approach for the moment. Any and all advice is appreciated. Thanks!

r/learnprogramming • post
3319 points • ______DEADPOOL______
Here's a SANITIZED list of 530+ free online programming/CS courses (MOOCs) with feedback(i.e. exams/homeworks/assignments) that you can start this month (December 2016)


So, a submission on this sub to a huge list of MOOC courses caught my attention today as I've been trying to learn programming myself. So I look into the comments first to see what courses people were taking, when a comment caught my attention that says: "This is a great resouces but beware, OP ran some of the links through some pay site so that he profits out of traffic and hid this using links...."

So I decided to investigate further, and sure enough. uBlock Origin blocked the first link that I clicked. It turns out, pretty much every link to the course on the post is a link hiding a reference link to a spam site The url itself has reference id and everything. Full link:

I posted this in the comment and reported the post for spamming, thought nothing more of it, and move on. In my goofing off, I ended up installing NVIDIA CodeWorks, and the damn installer turned out to be a download manager for installer to a bunch of stuffs it needed to install. So, I let it run and while it downloads, I thought I'd fire up Overwatch and try to climb out of gold rank, when for some reason, I thought about the MOOC post again.

Hiding a reference link using is not only spamming, but it's also unethical because tracks where clicks come from and the whole practice preys on the innocent who just wanted to learn some programming stuffs.

So I decided to go through the links and sanitized the and removed all the spam links and replace it with direct links to each of the course.

Over the course of cleaning up the links, I found that OP feed all their links through two spam sites that ublock origin blocked:

The first one is the linksynergy site as I've mentioned before.

The second one is through

I hope this sort of shady spamming behavior is not tolerated in this sub, and doesn't happen again. But just in case another post comes up again next month, would someone be so kind as to make a expander plugin for chrome or something to automate this cleanup without exposing the user's location, and clicking on the reference, etc. I didn't want to run this through python in case something bad happens and some dumb protocol got exposed or whatever.

Anyway, here's the full sanitized list. I've left the links bare so you can see this list has not been compromised. And if you'll excuse me, I'm going to run spybot on my system now.

Happy learning. GLHF.


Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: Web Applications for Everybody via Others|Self paced|NA|NA Python for Everybody - Exploring Information via Others|Self paced|NA|NA NEW Swift for Beginners via Udacity|Self paced|NA|NA NEW Android for Beginners via Udacity|Self paced|NA|NA NEW Introduction to R via Datacamp|Self paced|NA|NA NEW Intro to Python for Data Science via Datacamp|Self paced|NA|NA Introduction to the Internet of Things and Embedded Systems via Coursera|5th Dec|4|3.7★ CODAPPS: Coding mobile apps for entrepreneurs via Coursera|5th Dec|8|5★ How To Create a Website in a Weekend! Project-Centered Course via Coursera|5th Dec|3|5★ Ruby on Rails: An Introduction via Coursera|5th Dec|3|3.1★ Build a Modern Computer from First Principles: From Nand to Tetris Project-Centered Course via Coursera|5th Dec|6|4.8★ HTML, CSS and JavaScript via Coursera|5th Dec|3|4.1★ Introduction to HTML5 via Coursera|5th Dec|3|4.1★ Code Yourself! An Introduction to Programming via Coursera|5th Dec|5|4.3★ Introduction to CSS3 via Coursera|5th Dec|4|4.6★ HTML, CSS, and Javascript for Web Developers via Coursera|5th Dec|5|5★ Python Programming: A Concise Introduction via Coursera|5th Dec|NA|NA Usable Security via Coursera|12th Dec|7|2.9★ An Introduction to Interactive Programming in Python Part 2 via Coursera|12th Dec|4|4.8★ Programming Foundations with JavaScript, HTML and CSS Coursera|12th Dec|4|3.8★ Introduction to Web Development via Coursera|12th Dec|NA|NA An Introduction to Interactive Programming in Python Part 1 via Coursera|12th Dec|5|4.9★ Creative Programming for Digital Media & Mobile Apps via Coursera|19th Dec|NA|4★ Learn to Program: The Fundamentals Coursera|19th Dec|10|4.8★ Internet History, Technology, and Security via Coursera|26th Dec|10|4.6★


Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: NEW Minecraft, Coding and Teaching edX|Self paced|NA|NA VR Software Development via Udacity|Self paced|NA|NA NEW Swift for Developers via Udacity|Self paced|NA|NA NEW Introduction to DevOps: Transforming and Improving Operations via edX|Self paced|NA|NA Algorithms, Part II via Coursera|1st Dec|6|4.8★ Software Defined Networking via Coursera|1st Dec|NA|4.2★ NEW Probabilistic Graphical Models 3: Learning via Coursera|1st Dec|NA|NA Single Page Web Applications with AngularJS Coursera|5th Dec|NA|NA Approximation Algorithms Part I via Coursera|5th Dec|5|5★ Managing Big Data with MySQL via Coursera|5th Dec|5|3.8★ Advanced Algorithms and Complexity via Coursera|5th Dec|NA|NA Ruby on Rails Web Services and Integration with MongoDB via Coursera|5th Dec|4|4.8★ Advanced Styling with Responsive Design Coursera|5th Dec|4|4.7★ Foundations of Objective-C App Development Coursera|5th Dec|4|3★ Cloud Computing Concepts, Part 1 Coursera|5th Dec|5|2.6★ Biology Meets Programming: Bioinformatics for Beginners via Coursera|5th Dec|4|5★ The Arduino Platform and C Programming Coursera|5th Dec|4|3.3★ App Design and Development for iOS via Coursera|5th Dec|5|3★ Data Visualization via Coursera|5th Dec|4|3.2★ Rails with Active Record and Action Pack via Coursera|5th Dec|4|4★ Graph Search, Shortest Paths, and Data Structures via Coursera|5th Dec|NA|NA The Raspberry Pi Platform and Python Programming for the Raspberry Pi via Coursera|5th Dec|4|3.5★ Introduction to Spreadsheets and Models via Coursera|5th Dec|4|4.7★ Responsive Website Basics: Code with HTML, CSS, and JavaScript via Coursera|5th Dec|4|3.9★ Framework for Data Collection and Analysis via Coursera|5th Dec|NA|3.5★ Functional Program Design in Scala via Coursera|5th Dec|NA|NA Software Processes and Agile Practices via Coursera|5th Dec|4|4.3★ Introduction to Software Product Management Coursera|5th Dec|2|4.2★ Client Needs and Software Requirements via Coursera|5th Dec|4|4.3★ Agile Planning for Software Products via Coursera|5th Dec|4|3★ Reviews & Metrics for Software Improvements via Coursera|5th Dec|4|NA Getting Started: Agile Meets Design Thinking Coursera|5th Dec|5|5★ Big Data Modeling and Management Systems via Coursera|5th Dec|NA|NA Best Practices for iOS User Interface Design via Coursera|5th Dec|4|5★ Interfacing with the Arduino via Coursera|5th Dec|4|4★ Communicating Data Science Results via Coursera|5th Dec|3|1★ Java Programming: Principles of Software Design via Coursera|5th Dec|4|4.7★ Object Oriented Programming in Java via Coursera|5th Dec|6|4.8★ Документы и презентации в LaTeX Introduction to LaTeX via Coursera|5th Dec|5|NA Cloud Networking via Coursera|5th Dec|5|4.3★ Web Application Development with JavaScript and MongoDB via Coursera|5th Dec|4|4.2★ Interfacing with the Raspberry Pi via Coursera|5th Dec|4|1★ Data Manipulation at Scale: Systems and Algorithms via Coursera|5th Dec|4|2.5★ Algorithmic Toolbox via Coursera|5th Dec|5|4.7★ Toward the Future of iOS Development with Swift via Coursera|5th Dec|4|NA Data Structures via Coursera|5th Dec|4|2★ Server-side Development with NodeJS via Coursera|5th Dec|4|5★ Front-End JavaScript Frameworks: AngularJS via Coursera|5th Dec|4|3.8★ Text Retrieval and Search Engines via Coursera|5th Dec|4|3.2★ Interactivity with JavaScript via Coursera|5th Dec|4|4.3★ Cybersecurity and the Internet of Things via Coursera|5th Dec|NA|NA Front-End Web UI Frameworks and Tools via Coursera|5th Dec|4|4.3★ Managing an Agile Team via Coursera|5th Dec|NA|2★ R Programming via Coursera|5th Dec|4|2.7★ The Data Scientist’s Toolbox Coursera|5th Dec|4|3.2★ Getting and Cleaning Data via Coursera|5th Dec|4|3.4★ Practical Machine Learning via Coursera|5th Dec|4|3.4★ Exploratory Data Analysis via Coursera|5th Dec|4|3.8★ Regression Models via Coursera|5th Dec|4|2.6★ Statistical Inference via Coursera|5th Dec|4|2.7★ Reproducible Research via Coursera|5th Dec|4|3.7★ Software Architecture for the Internet of Things via Coursera|5th Dec|NA|NA NEW Advanced Linear Models for Data Science 2: Statistical Linear Models via Coursera|5th Dec|NA|NA Games, Sensors and Media via Coursera|5th Dec|4|NA Mastering the Software Engineering Interview via Coursera|5th Dec|4|5★ Algorithms on Graphs via Coursera|5th Dec|NA|4★ Multiplatform Mobile App Development with Web Technologies via Coursera|5th Dec|4|5★ Data Warehouse Concepts, Design, and Data Integration via Coursera|5th Dec|5|5★ Advanced Data Structures in Java via Coursera|5th Dec|5|NA Introduction to Data Science in Python via Coursera|5th Dec|NA|NA Algorithms on Strings via Coursera|5th Dec|NA|3★ Functional Programming Principles in Scala via Coursera|5th Dec|7|4.8★ Data Structures and Performance via Coursera|5th Dec|5|5★ Programming Mobile Applications for Android Handheld Systems: Part 2 via Coursera|5th Dec|5|4.5★ Divide and Conquer, Sorting and Searching, and Randomized Algorithms via Coursera|5th Dec|NA|NA NEW Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming via Coursera|5th Dec|NA|NA Build Your First Android App Project-Centered Course Coursera|5th Dec|5|3★ Responsive Website Tutorial and Examples via Coursera|5th Dec|4|5★ Programming Mobile Applications for Android Handheld Systems: Part 1 via Coursera|5th Dec|5|4.1★ Beginning Game Programming with C# via Coursera|5th Dec|12|3.4★ Global Warming II: Create Your Own Models in Python via Coursera|12th Dec|5|2★ Data Analysis Tools via Coursera|12th Dec|4|3★ Algorithmic Thinking Part 1 via Coursera|12th Dec|4|4.1★ Testing with Agile via Coursera|12th Dec|NA|NA Interactive Computer Graphics via Coursera|12th Dec|8|3.5★ Managing Data Analysis via Coursera|12th Dec|1|1.8★ Cloud Computing Concepts: Part 2 via Coursera|12th Dec|5|4.8★ Cybersecurity and Mobility via Coursera|12th Dec|NA|NA Android App Components - Intents, Activities, and Broadcast Receivers via Coursera|12th Dec|NA|NA NEW Building Data Visualization Tools via Coursera|12th Dec|NA|NA Analysis of Algorithms via Coursera|12th Dec|6|4.8★ Introduction to Meteor.js Development via Coursera|12th Dec|4|5★ iOS App Development Basics via Coursera|12th Dec|5|4★ Essential Design Principles for Tableau via Coursera|12th Dec|NA|NA C++ For C Programmers, Part B via Coursera|12th Dec|NA|NA Data Science in Real Life Coursera|12th Dec|1|3★ Building a Data Science Team via Coursera|12th Dec|1|3.3★ Machine Learning via Coursera|12th Dec|11|4.8★ Principles of Computing Part 1 via Coursera|12th Dec|5|4.6★ Introduction to Big Data via Coursera|12th Dec|3|2.6★ Running Product Design Sprints via Coursera|12th Dec|5|NA NEW Fundamentals of Computer Architecture via Coursera|12th Dec|NA|NA Data Visualization and Communication with Tableau via Coursera|12th Dec|5|4★ Hadoop Platform and Application Framework via Coursera|12th Dec|5|1.9★ A developer's guide to the Internet of Things IoT via Coursera|12th Dec|NA|4★ Internet of Things: Communication Technologies via Coursera|12th Dec|4|3★ Building R Packages via Coursera|12th Dec|NA|NA Java Programming: Solving Problems with Software via Coursera|12th Dec|4|3.3★ A Crash Course in Data Science via Coursera|12th Dec|1|3.3★ Database Management Essentials via Coursera|12th Dec|7|3.8★ Introduction to Neurohacking In R via Coursera|12th Dec|NA|NA The R Programming Environment via Coursera|12th Dec|NA|NA Introduction to Architecting Smart IoT Devices via Coursera|12th Dec|NA|NA Algorithmic Thinking Part 2 via Coursera|12th Dec|NA|4.4★ Fundamentals of Visualization with Tableau via Coursera|12th Dec|NA|NA Dealing With Missing Data via Coursera|12th Dec|NA|NA Java Programming: Arrays, Lists, and Structured Data via Coursera|12th Dec|4|4.3★ Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure via Coursera|12th Dec|5|3.4★ Big Data Integration and Processing via Coursera|12th Dec|NA|NA Cybersecurity and the X-Factor via Coursera|12th Dec|NA|NA Advanced R Programming via Coursera|12th Dec|NA|NA Responsive Web Design via Coursera|12th Dec|4|3.3★ Introduction To Swift Programming via Coursera|12th Dec|5|1.2★ Data Management and Visualization via Coursera|12th Dec|4|2.4★ Principles of Computing Part 2 via Coursera|12th Dec|NA|4.3★ Software Security via Coursera|12th Dec|6|4.7★ Java for Android via Coursera|13th Dec|4|NA NEW Building and Deploying Android App Projects via Coursera|15th Dec|NA|NA C++ For C Programmers, Part A via Coursera|19th Dec|NA|3.2★ Introduction to Genomic Technologies via Coursera|19th Dec|4|2.7★ Python for Genomic Data Science via Coursera|19th Dec|4|2.4★ Web Connectivity and Security in Embedded Systems via Coursera|19th Dec|NA|NA Bioinformatics: Introduction and Methods 生物信息学: 导论与方法 via Coursera|19th Dec|14|NA Statistics for Genomic Data Science via Coursera|19th Dec|4|2★ Web Application Development: Basic Concepts via Coursera|19th Dec|NA|NA 算法设计与分析 Design and Analysis of Algorithms via Coursera|19th Dec|13|NA Genomic Data Science with Galaxy via Coursera|19th Dec|4|1.8★ Discrete Optimization via Coursera|19th Dec|9|4.3★ Programming Languages, Part B via Coursera|19th Dec|NA|NA Build Your Own iOS App via Coursera|19th Dec|NA|NA 面向对象技术高级课程(The Advanced Object-Oriented Technology) via Coursera|19th Dec|12|NA Julia Scientific Programming via Coursera|19th Dec|NA|NA Computer Architecture via Coursera|19th Dec|11|4.5★ Internet of Things: How did we get here? via Coursera|26th Dec|2|2★ Big Data, Cloud Computing, & CDN Emerging Technologies Coursera|26th Dec|3|3.3★ Wireless Communication Emerging Technologies Coursera|26th Dec|5|3.7★ Internet of Things & Augmented Reality Emerging Technologies via Coursera|26th Dec|2|2.5★ Algorithms, Part I via Coursera|26th Dec|6|4.4★ Cryptography I Coursera|26th Dec|7|4.7★ Programming Languages, Part C via Coursera|26th Dec|NA|NA Architecting Smart IoT Devices via Coursera|26th Dec|NA|NA Internet of Things: Sensing and Actuation From Devices via Coursera|26th Dec|6|NA Internet of Things: Setting Up Your DragonBoard™ Development Platform via Coursera|26th Dec|10|3★ Process Mining: Data science in Action via Coursera|26th Dec|6|4.3★ Internet Emerging Technologies via Coursera|26th Dec|3|3★ Cryptography via Coursera|26th Dec|7|4.2★


Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: NEW Combining and Analyzing Complex Data via Coursera|1st Dec|NA|NA NEW Recommender Systems: Evaluation and Metrics via Coursera|1st Dec|NA|NA Genomic Data Science and Clustering Bioinformatics V via Coursera|1st Dec|2|3.5★ Regression Modeling in Practice via Coursera|2nd Dec|4|5★ Genome Sequencing Bioinformatics II via Coursera|5th Dec|4|5★ Big Data, Genes, and Medicine via Coursera|5th Dec|NA|NA Probabilistic Graphical Models 1: Representation via Coursera|5th Dec|11|4.4★ Parallel programming via Coursera|5th Dec|NA|5★ Machine Learning With Big Data via Coursera|5th Dec|4|1.8★ Comparing Genes, Proteins, and Genomes Bioinformatics III via Coursera|5th Dec|5|5★ Relational Database Support for Data Warehouses via Coursera|5th Dec|5|2★ Machine Learning Foundations: A Case Study Approach via Coursera|5th Dec|6|4.2★ Finding Mutations in DNA and Proteins Bioinformatics VI via Coursera|5th Dec|5|NA Approximation Algorithms Part II via Coursera|5th Dec|4|NA Machine Learning: Regression via Coursera|5th Dec|6|4.7★ Finding Hidden Messages in DNA Bioinformatics I via Coursera|5th Dec|4|4.5★ Machine Learning: Classification via Coursera|5th Dec|7|4.8★ Pattern Discovery in Data Mining via Coursera|5th Dec|4|2.2★ Graph Analytics for Big Data via Coursera|5th Dec|4|2.4★ Machine Learning: Clustering & Retrieval via Coursera|5th Dec|NA|4.5★ Practical Predictive Analytics: Models and Methods via Coursera|5th Dec|4|2.5★ Developing Data Products via Coursera|5th Dec|4|3.9★ Cloud Computing Applications, Part 2: Big Data and Applications in the Cloud via Coursera|5th Dec|NA|NA Introduction to Recommender Systems: Non-Personalized and Content-Based via Coursera|5th Dec|NA|NA Hardware Security via Coursera|5th Dec|6|3★ Cluster Analysis in Data Mining via Coursera|12th Dec|4|2.6★ Basic Data Descriptors, Statistical Distributions, and Application to Business Decisions via Coursera|12th Dec|NA|NA Text Mining and Analytics via Coursera|12th Dec|4|3.7★ Nearest Neighbor Collaborative Filtering via Coursera|12th Dec|NA|NA Machine Learning for Data Analysis via Coursera|12th Dec|4|3★ Probabilistic Graphical Models 2: Inference via Coursera|19th Dec|NA|NA Computational Neuroscience via Coursera|19th Dec|8|3.8★ Algorithms for DNA Sequencing via Coursera|19th Dec|4|4.5★ Bioconductor for Genomic Data Science via Coursera|19th Dec|4|3.3★ System Validation 2: Model process behaviour via Coursera|19th Dec|NA|NA System Validation: Automata and behavioural equivalences via Coursera|26th Dec|NA|NA Advanced Linear Models for Data Science 1: Least Squares via Coursera|26th Dec|NA|NA Big Data Science with the BD2K-LINCS Data Coordination and Integration Center via Coursera|26th Dec|7|4★ Neural Networks for Machine Learning via Coursera|26th Dec|8|4.5★ Hands-on Text Mining and Analytics via Coursera|26th Dec|NA|NA Quantitative Formal Modeling and Worst-Case Performance Analysis via Coursera|26th Dec|4|4★ Embedded Hardware and Operating Systems via Coursera|26th Dec|NA|NA

r/datascience • comment
13 points • ndha1995

I think you can already start with taking an online ML course in which the teacher explains the math (not too deep though) behind the methods. Andrew Ng's ML course is one such course. Students also get a chance implement ML algorithms, not by calling from a library but by writing from scratch.

I think you have a real shot if you apply to a data engineer / data analyst position, prove yourself for a period of time and then ask to transition to a data scientist / ML engineer position.

r/MachineLearning • post
13 points • the_empty
[Discussion] Machine Learning course at Coursera

Hey guys, I am a software developer and I am interested in ML, what do you think about this course?

r/dubai • post
13 points • ThatGuyOverYonder
Anyone here enrolled in the Machine Learning course on Coursera?

It just started yesterday. Would be nice to have a local study group going. If you're interested in AI, Data and Machine Learning - you should join the class!

It's free, but if you want to get a certificate it will cost AED 300. It's taught by Andrew Ng, professor at Stanford and is widely considered one of the best courses on the topic.

EDIT: I've sent out messages to everyone who has expressed interest in joining the study group. If anyone else is interested then shoot me a DM or sound off below. Thanks

r/mlclass • post
13 points • sjforman
Anyone interested in a study group for Andrew Ng's Machine Learning Coursera / Stanford class?

I'm going to try to make my way through the session that starts on Nov 30. Let me know if you want to join. I was thinking maybe like a weekly virtual meet-up to work on the problem sets. Something along those lines.

r/learnpython • comment
40 points • ssingal05

Python is a good place to start for data science and Machine Learning. Are you looking for advice on how to start?

Python - I would try to take some basic introductory classes, even free ones like

Machine Learning - Are you into math at all? Are you curious about the fundamentals of machine learning? This is probably the most famous ML course, and I can attest it is phenomenal: (I think this is it....) They even go over neural nets. Downside is that it is in Matlab/Octave, so that is a new programming language.

Robots - You should look into Arduinos. Arduinos are microcontrollers and, in a nutshell, is a fantastic stepping stone into the world of robots. I'll have to defer for good sources for this, but you can Google around.

r/learnmachinelearning • comment
12 points • MrNaturalOrganic

Why don't you just try Professor Ng's course:

It is highly regarded in the community and free unless you want the certificate which I believe is $70 usd

r/datascience • post
112 points • aenimaxoxo
Introduction to Data Science


Data is the closest thing we have to a real world application of truth, and the world is a better place when decisions are made with care.

Now that you know why you should become a data scientist, here is a simple guide to becoming one.


Math: You can honestly get really far with little math. That being said, there are far too many people who don't understand the math and end up using analysis techniques with little forethought into why they should be using that model. I will say this much: The more math, the better off you are. It is a beautiful field and directly relevant to you if you want to make the most of your foray into data science.

Beginner: High school algebra, maybe some calculus 1, high school statistics

Intermediate: College stats, Calc 1,2,3, Probability Theory, linear algebra, Statistical Inference

Advanced: Upper undergrad / Grad level statistical inference, bayesian inference, harder probability theory, linear optimization, convex optimization, real analysis, calculus of variations. Math is the limiting factor, remove those obstacles. Learn all the advanced math you can muster.

Reccs: khanacademy if you've never seen the content. MIT OCW has really great self paced math courses for calc 1-3, linear algebra and much more. Eventually you will want to learn the art of grinding through math textbooks while doing problems. The only way to learn math is by doing math. Practice, practice, practice.

If you want to be a true OG, here is Michael I. Jordan's reading list for prospective grad students in ML:

Mike I. Jordan ML Books


Pick up a language and stick with it for now. It is far easier to pick up a second language once you are very good at one than it is to slowly work through being mediocre at a bunch of languages.

People live and die by their language of choice for some reason. Generally, my thoughts on this are the following:

R is fantastic. R is great for data analysis, and if you use the tidyverse, R is great for everything else too. R is an organically grown language that is not always lexically consistent, so it can be a bit quirky. Due to the community of statistics researchers that use R, generally you will find the most bleeding edge packages on R. R will make you think like a statistician.

Python is great for taking your data a bit farther. It has packages which provide most of the functionality you would need from R. Python is a great choice because it has many more varied packages and capabilities related to software development. Python is a broad, general purpose language that is beautifully designed and consistent. This will make you think more like a programmer.

Over a career, it is wise to know as many tools well as you can. Since you will spend a good amount of time writing code, you should strive to learn both at some point.

Alrighty, now onto the core stuff.

How to:

1. Get Data

This can be done by scraping, downloading a data set, building a data set, making a survey, whatever. There is a lot of data floating around and there are plenty of resources for learning how to scrape. Since data is usually stored in data bases in the real world, it is wise to learn a bit about data bases. Learn some SQL. Since we live in the age of big data, it would also be wise to learn non-relational database query languages like nosql and postgresql

Some good spots for data: /r/datasets, kaggle,

2. Clean it

Remember: garbage in, garbage out. The quality of the data is the foundation of all your work from here on out. Check out a book or a course that will take you from these early stages into actually playing with the data. For python, Harvard CS109 does this. It also have video lectures. For R, Hadley Wickham (Chief Scientist at RStudio) has a bunch of amazing books out. Check out R for Data Science . It wouldn't hurt to eventually read a book on data cleaning and data interpolation.

3. Take some time to familiarize yourself with your data

What kind of variables are there? Quantitative (numbers)? Categorical / Qualitative (Labels)? Text? Images? Geographical? The types of data present will determine what can be modeled.

Its a good idea to look at the data in list form and plot it out using R or python or excel or whatever. If using other types of data (eg images, geographical), then find the best ways to visualize the data. Now would be a good time to learn about knitr and rmarkdown if using R and jupyter notebooks if using python.

This is the time to do some descriptive statistics. Look at the way the data flows on the plots. What relationships do you think are there? Are there any outliers? Plot, plot, plot, and plot some more. Make the plots look good. Check out ggplot2 in R or matplotlib / seaborn in python.

Learn to dissect your data. Check out feature engineering. Learn to combine data sets to expand what can be done.

If you want to be a true OG, learn some graphic design principles. Learn to use blank space and color. There is nothing more influential than a beautiful graph.


Language Agnostic: The Visual Display of Quantitative Information

GGplot2 book

A book on seaborn / matplotlib if using python.

4. Figure out the questions you want to ask

This is perhaps the hardest part. The questions you ask will determine what you find in the data. When thinking about questions, ponder proactively about what techniques you would use to answer them. This is where a broad set of modeling tools comes handy. That will be gone over in the next section.

5. Analysis

The most satisfying part in my opinion. When you wrote out your questions, hopefully you have some idea of what techniques you would use. That said, there are a lot of techniques to choose from and each technique has its own special niches. You will learn to select models properly from seeing a lot of data and practicing. Like everything else, practice, practice, practice. Try many models, run them on test sets using cross validation and see what works best. Learn about bias-variance trade-off.

Generally statistical analysis is broken into 2 parts:

In descriptive statistics we want to describe the patterns and structure of the data. If you did part 3 well, this will be partially taken care of. You can expand on this as the analysis comes along.

In inferential statistics we want to predict from the data. This is what we are at now.

Broadly speaking, this is the content that seems to be spread around the most. I will post some reccs to different courses / books that you will see floating around this subreddit (because they are great).

Make sure you learn and understand cross validation extremely well.

Make sure to understand the assumptions behind each modeling technique you use. There is no one size fits all technique.

Since this is such a broad topic, go learn data analysis from books and courses. Learn models, figure out why you would want to use them, and then apply them.

Once you have completed your modeling, make sure to create a visualization. If others will be seeing it, learn to explain things in simple terms as if non experts will see it. When you are being paid to be a data scientist, it is not about how intelligent you come across, it is about results and understanding for everyone.

More Stats focused:

Introduction to Statistical Learning

More CS focused:

Andrew Ng Machine Learning

Think Stats: Data Analysis in Python

Harvard CS109 and R for Data Science linked in part 2.

Any other data analysis book you can find.

6. The Great Beyond

After step 5, you are essentially a (good) data analyst. What will differentiate you now will be the extras. Heres some other stuff that you should probably look into:

  • Databases: SQL / Nosql / any query language really.

  • Data Engineering: Create pipelines and automate a lot of the legwork to make raw data usable.

  • Shell: Linux is cool, and bash scripting is useful

  • Hadoop, Mapreduce, Spark, AWS, etc: Big Data

  • Deep Learning : See what the hype is all about

  • Time series analysis: Given the ubiquity of time series data, a book on TSA can't hurt

  • Computer Science: Learn CS rigorously. Check out Structure and Interpretation of Computer Programs, CLRS Algorithms, Concepts, Techniques and Models of Computer Programming, and more. If you learn the concepts underlying the technologies you see, you won't be outdated nearly as easily. Tools may change, but the concepts and math stay the same.

  • Learn to love practicing. This list is daunting, but it is completely achievable one small step at a time. Setting aside time to learn and practice daily will get you farther than you could ever imagine.

Guide to Learning

Like all other things in life, there are exciting things and less exciting things. What you find exciting is unique to you, but for the sake of this guide I will give how I would learn the content (assuming you know basic maths and programming):

  • Learn some data analysis. If using python, think stats is nice. If using R, R for Data Science is nice
  • Learn how to clean and dissect data. If you read one of the books in the bullet above, you will have learned this.
  • Now learn some visualization. Make it pretty with a book on ggplot or seaborn/matplotlib
  • Now learn some better tools for analysis: Read and work through Intro to Statistical Learning or Andrew Ng's Machine Learning course. Ideally you would do both.
  • Learn database query languages. You will come across databases, so its best to be a wizard with them.
  • Learn hadoop / map reduce / spark for big data
  • Learn the theory on a deeper level. Probability Theory is great, Statistical Inference is great, Bayesian Inference and multilevel modeling is great.
  • Never stop learning

Please let me know if there are errors, I wrote this quite late at night. Make sure to give your own reccs and advice in the comments! Data Science is a vast field that can be really intimidating to look into at first, and any input in the comments is helpful for me and others!

r/argentina • comment
11 points • mfalcon

El primer curso que hice fue el famoso de Machine Learning por Andrew Ng

Uno de sus capítulos es de neural networks

r/learnprogramming • comment
10 points • MarvinLazer

I was thinking of the Udemy machine learning course, but that one doesn't appear to be free anymore. This Stanford one, though, seems to be free indefinitely.

r/programming • comment
62 points • techwizrd

You should check out the following courses from They teach them in a top-down approach (rather than bottom-up), don't have a math prerequisite, and they teach practical machine learning (not toy problems) that you could actually use at work.

The courses are structured into weekly 2 hour videos with Jupyter notebooks so that you can actually write code that runs on GPUs. You can work at your own pace and each course is about 7 weeks.

Right now, they've got a few courses.

If you're looking to learn about regular machine learning (not deep learning specifically) from a more theoretical, math-y POV, check out Andrew Ng's Intro to Machine Learning