Live data from Hacker News

OSSU: A path to a free self-taught education in computer science

github.com

131–140 of 177 posts

Re: OSSU: A path to a free self-taught education in computer science

#131
post #2

This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. This isn't because of some idea that it's bad to learn programming for fun, but more that I think it's kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There's a reason college takes four or more years; it ta…

I don't think this can be reduced to being taught at a university.

A good analogy might be going to a gym: some people have the discipline to just work out at home on their own; others simply need the right environment to get into the right mindset.

Some people can perfectly teach themselves programming, but it requires both practice and individual research, aka. doing stuff and reading articles/books/papers. Others may just need the environment and guidance of a university to reach an optimal mindset for learning the right things.

And even among those who "learn" at a university, there's always those who think that all they need to do is attend classes and let the knowledge drip into them. Those people often go out being as incompetent as they went in, because they didn't spend any time improving themselves.

Ultimately, saying university is either pointless or a must for every person is missing the point. Some people are better off without it, others could hugely profit from it. The only absolutes are that university is the "safer" route, while self-teaching is, if it works out, the more direct one.

Re: OSSU: A path to a free self-taught education in computer science

#132
post #2

This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. This isn't because of some idea that it's bad to learn programming for fun, but more that I think it's kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There's a reason college takes four or more years; it ta…

I'm one of the maintainers of the curriculum. > I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. I somewhat agree, though I don't really see the problem with "learn to code" style programs if learning to code is precisely your goal. What I don't like is the seemingly widespread belief that learning to code is equivalent to learning computer science, when comput…

MOOC drop out rates are a fiction.

For example, I do some teaching and occasionally I will "enroll" in 5+ MOOCs (i.e. every MOOC covering the same or ismilar subject) because I want to see how each of them presents a particular tiny concept - because I can't see what is in their lecture 4 slides 10-12 without "enrolling" and subsequently "dropping out".

Re: OSSU: A path to a free self-taught education in computer science

#133
post #128

If this is self taught then calculus shouldn't be core. It should be moved to advanced math and replaced by more linear algebra. Calculus is a beautiful course but linear algebra is central to data science and ai. Unless you're getting into topics that require it, 3 semesters of calculus will go unused. You can't know too much linear algebra and discrete math.

Linear Algebra is indeed essential - but Calculus as well. If you're talking about AI, then backpropagation would be the first thing that comes to my mind where Calculus is needed. On the other hand if you talk about data science, I would focus more on statistics and probability theory (again linear algebra and calculus are tools you will need)

There's really nothing in applied machine learning that requires calculus.

1. Usually you're not implementing training, you're most likely using a framework that does training for you while you set up NN structures and data flows.

2. If you are implementing specific training methods yourself, massaging loss functions, new regularization functions and various objectives, and you are explicitly implementing backpropagation, then you're not implementing differentiation yourself, you're most likely using some kind of autodiff library or framework that does that for you.

3. If you are actually doing something with ML that involves you doing calculus, congratulations, you're likely doing PhD research on the topic and yes, sure, you're expected to know calculus at that point. But it's not really necessary even at this stage, an intuitive understanding of the concepts is obviously useful, but much of actual applied ML academic research doesn't really use calculus directly, the methods obviously use calculus but it's used just like CUDA kernels are used - obviously necessary but as a very low level of abstraction that's handled by those who specialize in it and most others can just apply it because it just works and is good enough.

I mean, seriously, you can get good progress and published papers in computer vision or NLP or data analysis without ever needing to directly use calculus; most people doing that would obviously know calculus as it's a basic thing, but it's not really that relevant to the daily work, most likely none of the experiments you'll run will require you to solve any calculus problems.

Re: OSSU: A path to a free self-taught education in computer science

#134

As someone who has lived through a big chunk of the 'computer science' lifecycle arc :-) My perspective is a bit different here. "Programming", or the skill of writing specifications that can be translated via software into product has come a long way from the 60's to the present day. People I meet, interview, and work with, often fall into three broad chunks of the spectrum. At one end there are 'coders', who are es…

Simplistic but it's a pragmatic way of looking at things.

Re: OSSU: A path to a free self-taught education in computer science

#135
post #2

This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. This isn't because of some idea that it's bad to learn programming for fun, but more that I think it's kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There's a reason college takes four or more years; it ta…

I don't get it. The self study is the easiest part. Nothing prevents you from starting to learn these things from age 12 and up. Not even the language barrier is an important consideration. The harder part is actually getting recognized by employers when you can't just supply them with a paper that shows them that you burned X amount of years on a certain topic which employers use as a form of spam prevention like the proof of work mechanism in bitcoin. So not only do you need to study as hard as a university student but after self study you will still have to work hard to get past the HR filters.

Re: OSSU: A path to a free self-taught education in computer science

#136
post #70
post #4

Earlier quoted context omitted.

I'm 50/50 on this. Part of me really agrees with you -- you need time and practice and mistakes to learn this stuff. But also, I'm not sure it has to be wall clock time. Four years at university gets you breadth that is probably good for you as a human, and probably important for contextualizing your work as an engineer (oh hey, history might be a valuable lesson for your understanding of ethics. Art and literature m…

The 4 years of college includes a lot of non-college time during summers, breaks, holiday vacations, etc. There is no reason why a serious student shouldn't be actively learning 50 weeks a year, minus holidays, and putting in the same work time as his peers who entered the job market after high school. In which case, 3 years is easily enough. However, 3 * 50 * 40 is only 6000 hours, which won't make you an expert. Th…

From a physical standpoint there are enough hours in a week to work 40 hours and pursue 40 hours of university.

Except universities aren't something like an evening school that is explicitly designed around this idea. University lectures do not follow a nice time table that allows that. Lectures start at different times depending on the day of the week. Therefore your workday will start at a different hour every day, except all your colleagues still work their 9 to 5 schedule which will make you significantly less productive than them because you don't get to meet them every day. There can be gaps between lectures but you can't just go back and forth between university and work. It takes time to travel and even if you can do it in a reasonable amount of time you will end up doing multiple context switches per day. This makes working significantly more than 20 hours per week extremely hard.

Re: OSSU: A path to a free self-taught education in computer science

#137
post #111
post #2

This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. This isn't because of some idea that it's bad to learn programming for fun, but more that I think it's kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There's a reason college takes four or more years; it ta…

University doesn't teach you how to code. They delve into complex theory or math proofs. You still need to learn to code on your own. These self taught systems do come in handy.

That's a generalization that maybe used to be true but probably never was. There are some good university programs today that I feel actually focus on learning how to program like the How to Design Programs curriculum.

Re: OSSU: A path to a free self-taught education in computer science

#138
post #70

Earlier quoted context omitted.

The 4 years of college includes a lot of non-college time during summers, breaks, holiday vacations, etc. There is no reason why a serious student shouldn't be actively learning 50 weeks a year, minus holidays, and putting in the same work time as his peers who entered the job market after high school. In which case, 3 years is easily enough. However, 3 * 50 * 40 is only 6000 hours, which won't make you an expert. Th…

That "10000 hours will make you an expert" thesis has been debunked. http://www.bbc.com/future/story/20121114-gladwells-10000-hou...

Isn't it obvious? Learning how to hold a spoon takes less time than learning how to drive a car.

Re: OSSU: A path to a free self-taught education in computer science

#139

It seems to me that one of the biggest advantages of having a CS degree from an actual institution is that prospective employers are far more likely to believe that you actually have the skills you say you do. If you're self-taught, but have truly gone through something like OSSU (or [ https://teachyourselfcs.com/](https://teachyourselfcs.com/) , or any other set of courses that covers much of what a CS degree would)…

There are also lots of comments in this HN submission that assume if you have no CS degree then you simply do not know the concepts that are taught in a CS degree. If you do not have a CS degree then you will have to overcome this bias every single time.

Re: OSSU: A path to a free self-taught education in computer science

#140

I am entirely self taught. I have a degree in History but didn't do any programming in college courses. Everything I learned I learned from a non-structured source. I talked my way into my first technical job, then talked my way into my next, and so on. Many people denied me during coding test or on resume screens. But for the few employers who didn't, I thank them for taking a chance on me and it seems they're keepi…

Did anyone tell you why you failed the coding test stages? I'm putting together a best practice checklist for coding tests, and I wondered if you'd noticed any common themes.

It's probably not very helpful but certain problems are just too hard for me or I've never seen them before :) I don't have a deep background in data structures and algorithms, so most of the jobs I get are more like for very small companies that just want a guy to stand a bunch of libraries on top of each other and make a cool crud app with a "modern" interface.

It's a very different experience from an org with 100 or more engineers. Good luck on your project!

Post reply on HN