Live data from Hacker News

Teach Yourself Computer Science

teachyourselfcs.com

131–140 of 273 posts

Re: Teach Yourself Computer Science

#131
post #12

Whenever i have someone ask me where to get started on CS - i give them a few options tiered to try and ensure some stickiness/higher utility for them specifically. ~Some Existing Touch Point With CS Teachyourselfcs.com is definitely in the conversation - in general I recommend it to friends who have a pre-existing "gateway" to the field (software engineer or otherwise). The page talks about progressing from "type 2"…

I'd never heard of OSSU, thanks. The maths courses linked in that are good, too.

Re: Teach Yourself Computer Science

#132
post #58
post #36

Earlier quoted context omitted.

I remember telling people to read "The Python Tutorial" on python.org , if they wanted to write Python. It takes a few hours for an experienced programer, and a couple of days for a beginner. People had difficulty starting.

A beginner might have trouble assimilating this information - too few examples, not enough entry level drilling on data types, operators, flow control and functions. For example they might forget to put quotes around a string or not know how to use two for loops, one inside the other, even if they know how to use one in isolation. It's hard to grok how to compose things even if the student saw how to use them in isol…

>For example they might forget to put quotes around a string

I wonder whether a "richer" editor/IDE, that flags such things immediately upon writing them, could greatly improve the learning experience.

Many tools even point out things such as non-existing variables in scope, which are not strictly "errors" in a dynamic language during edit time.

Re: Teach Yourself Computer Science

#133
post #97
post #63

I like to compare CS to medicine. Most topics of it aren't difficult to understand, but overall it's just a lot of information. If you want to get a comprehensive CS-education, you have to accept that it takes years of studying, learning and practise.

I wonder if there's any TeachYourself Medicine resources?

That would be very dangerous, albeit useful. Making a diagnosis and giving a therapy have different consequences than programming SW and executing code

Re: Teach Yourself Computer Science

#134

Earlier quoted context omitted.

I graduated with a degree in BioSciences a few years ago, and elected to not do grad school like my peers. I saw no point of losing thousands of dollars to do a master’s in Bioinformatics/Data just to get a jr level job. That summer after graduation from undergrad I attempted to learn CS and go through OSS Computer Science program and TeachYourSelfCS to break into the industry. The problem was a lot of it wasn’t job…

> The problem was a lot of it wasn’t job relevant and it felt very rigid, and sometimes even more complex than it needed to be. CS was born out of a time when computers were very limited. How do you write a word processor with a spell checker, when the dictionary alone won't fit on a floppy disk, or fit in memory?[1] How do you draw rounded rectangles on your GUI when they take too many CPU cycles to draw?[2] CS peop…

Interesting. I believe much of CS is practical now, and much is forward-facing and not relevant yet.

Re: Teach Yourself Computer Science

#136
post #63

I like to compare CS to medicine. Most topics of it aren't difficult to understand, but overall it's just a lot of information. If you want to get a comprehensive CS-education, you have to accept that it takes years of studying, learning and practise.

There are many similarities indeed (eg abstraction: cell -> tissue -> organ, modularity etc) but the fundamentals are different (deterministic CS vs probabilistic biomed)

Re: Teach Yourself Computer Science

#137
post #110

Earlier quoted context omitted.

That's definitely strange. I studied at a university in the Netherlands which implemented what I think was a European standard curriculum, and what this article mentions is a subset of the first two years of the undergraduate degree if I remember correctly. Some elective courses are missing, and AI though it is mentioned. We also used many of the books mentioned here. Also back when I did it there were more seperate…

I feel like a lot of my coursework was overstuffed with learning and re-learning waterfall vs agile, and fluff subjects like 'user-centred design' and 'professional computing practice'. The latter was basically 'how to make a resumé' and 'how to not be an arsehole in email'.

That sounds like I might have been a professional education instead of a scientific education. Nothing wrong with that, you could get a full computer science degree from our university and not be able to code for shit. You definitely can't hire university grads blindly. You often see developers act tough about how knowing how a CPU works is important for being a developer, and it is, but knowing that doesn't make you a good developer. It just makes a good developer better.

Re: Teach Yourself Computer Science

#138
Having gone through all of these course myself, I'm wondering if this stuff is really relevant to today's workforce? Compiler Design? How to build an Operating System?

I remember in a job writing my own BNF grammer and a a parser for it to optimize something or other and I got back basically "WTF" on the code review.

I would say database fundamentals is a must, so is networking. But honestly the rest is iffy. When was the last time you needed to build a red-black tree?

I think programming should be a larger part of CS. And no, not in Lisp. I also think ML needs to be more of a thing as well.

Re: Teach Yourself Computer Science

#139

Earlier quoted context omitted.

I have a hard time believing that an employer ever cared about my degree in CS from 24 years ago from a no name state college when they decided to hire me. I’m sure my classes in COBOL,FORTRAN, and data structures in Pascal made any difference. Well, I did take a course in C and 16 bit x86 assembly.

It was different times back then I'd argue, you could basically do 5+5 in a shell and get hired and shipped of to New York, but they where also forced to be constrained enough by the hardware to become clever after getting the job. 2018 Apple had 20 million registered developers and it has only increased since then. It's still very easy to become a developer right now (sambo found it to be the easiest path forward fo…

I’m saying once you have experience even now, as the original poster has, most companies don’t care if you have experience.

In the immortal words of every in r/cscareerquestions “learn leetCode and work for a FAANG”. No I didn’t do that to “get into a FAANG” but it is a much easier route than the one I took.

If you want to go the enterprise route, if you have experience and do enough resume driven development and can answer basic techno trivia on a company’s chosen stack, it’s even easier.

Re: Teach Yourself Computer Science

#140
post #110

Can anyone with a CS undergrad from an elite US college (Stanford, Berkeley, MIT, Carnegie Mellon) comment on whether they feel their undergrad covered 100-200 hours worth of these subjects? As someone with an Australian CS degree, I feel like my curriculum covered less than half of this properly.

That's definitely strange. I studied at a university in the Netherlands which implemented what I think was a European standard curriculum, and what this article mentions is a subset of the first two years of the undergraduate degree if I remember correctly. Some elective courses are missing, and AI though it is mentioned. We also used many of the books mentioned here. Also back when I did it there were more seperate…

Undergraduate studies in the US in general are very different from in Europe.

I did my undergrad (EECS) at Imperial and MIT (for my final year), and the difference between the two was pretty enormous. My home department expected me to take five graduate classes (plus some undergraduate classes for "light relief") over the course of my year at MIT, something the other undergraduates there thought was very unusual.

In general US undergrad is much broader than in Europe, and doesn't go into as much depth, even though a US bachelors is a year longer than a European one. Not necessarily a bad thing, it just depends on what you consider the point of an undergraduate education to be; I'd say that most European universities try to structure degree programs which can funnel you straight into research or industry without having a sudden step up (the step up from undergrad to graduate studies in the US is pretty huge) whereas the US thinks it's more important to develop yourself in a broader range of areas rather than see the degree solely as a means to an end.

They both have strengths and weaknesses (having experienced both) and I don't think either can be said to be better.

Post reply on HN