TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

474 点作者 paulygarcia超过 5 年前

22 条评论

ChuckMcM超过 5 年前
As someone who has lived through a big chunk of the &#x27;computer science&#x27; lifecycle arc :-) My perspective is a bit different here.<p>&quot;Programming&quot;, or the skill of writing specifications that can be translated via software into product has come a long way from the 60&#x27;s to the present day. People I meet, interview, and work with, often fall into three broad chunks of the spectrum.<p>At one end there are &#x27;coders&#x27;, who are essentially cooks, they take previously written code, adapt it to their requirements, attach it to third party libraries and ship the end result. They have been essential to the boom in Internet companies for decades because they ship a lot of code and they are relatively inexpensive (with respect to the expected generated revenue) to hire. When their code doesn&#x27;t work as they expect they generally iterate on it using other suggested solutions until they arrive at one that operates the way they need&#x2F;want it to.<p>In the middle are &#x27;engineers&#x27; who build more at the system level and can fill in the gaps with third party software when needed but are also fully capable of generating the required capability starting with a blank screen. When the system doesn&#x27;t work they expect they can analyze it from first principles to get to the root cause of the problem.<p>At the other end are &#x27;scientists&#x27; who think about the problems of the nature of computing. These folks rewrite an algorithm in three different ways to understand how different compute architectures might execute it. Driven by the joy of discovering new insights about how computers work, if something they build doesn&#x27;t work they are delighted because it has illuminated a gap in their understanding that can be productively filled.<p>Different educational settings are useful for addressing the goals of the student, and in my experience those goals will be different depending on where on the spectrum of &#x27;programmer&#x27; they see themselves.
评论 #21068995 未加载
jamestimmins超过 5 年前
This has some good courses, but in general seems overly long and is of inconsistent quality.<p>As an alternative, <a href="https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;</a> is a curriculum from the folks at Bradfield, but it&#x27;s narrowly focused on core CS concepts&#x2F;topics.
评论 #21063708 未加载
评论 #21067697 未加载
tombert超过 5 年前
This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these &quot;learn programming on your own!&quot; things&#x2F;bootcamps&#x2F;courses.<p>This isn&#x27;t because of some idea that it&#x27;s bad to learn programming for fun, but more that I think it&#x27;s kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There&#x27;s a reason college takes four or more years; it takes a long time for these fundamentals to really sink in, and moreover, a lot of the &quot;extra&quot; classes you&#x27;re required to take actually <i>do</i> inform your perspective on a lot of career stuff. For example, I hated taking philosophy classes and thought they were &quot;pointless&quot;, but I recently realized how much they have helped me with logical thinking, and being able to justify decisions I&#x27;m forced to make.<p>If you&#x27;re learning to code just for fun, these things are totally fine and can be incredibly fun, but if you&#x27;re learning to code for a job, <i>please</i> don&#x27;t treat these things as an &quot;alternative&quot; to college. Any kind of self-learning system almost universally requires a huge amount of self-study, probably more than a university, if you want to become any good at this stuff.
评论 #21064384 未加载
评论 #21063295 未加载
评论 #21064244 未加载
评论 #21063318 未加载
评论 #21063992 未加载
评论 #21063379 未加载
评论 #21063728 未加载
评论 #21064864 未加载
评论 #21068458 未加载
评论 #21063405 未加载
评论 #21069004 未加载
评论 #21064865 未加载
评论 #21063862 未加载
评论 #21065217 未加载
评论 #21064806 未加载
评论 #21067787 未加载
评论 #21064792 未加载
评论 #21084138 未加载
jlevers超过 5 年前
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.<p>If you&#x27;re self-taught, but have truly gone through something like OSSU (or [<a href="https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;](https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;)" rel="nofollow">https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;](https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;)</a>, or any other set of courses that covers much of what a CS degree would), how do you convince employers that you actually know what you say you know? Sure, you can perform well in the interview, but first you have to make it that far.
评论 #21071491 未加载
评论 #21069205 未加载
kevintb超过 5 年前
I hate to be that person, but “Multivariate Calculus”, “Introduction to Probability” and “Introduction to Logic” cannot possibly be considered “advanced math” and “advanced theory” as this guide states. This is something every CS freshman learns in their first term.
CalChris超过 5 年前
If this is self taught then calculus shouldn&#x27;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&#x27;re getting into topics that require it, 3 semesters of calculus will go unused. You can&#x27;t know too much linear algebra and discrete math.
评论 #21068262 未加载
评论 #21065220 未加载
pmiller2超过 5 年前
This is great, but I was wondering if there is any similar, more text-based alternative? Videos are great, but I prefer text.
评论 #21064736 未加载
saboot超过 5 年前
I really like this list, but believe it&#x27;s wrongly titled. I&#x27;m a nuclear engineer, who pretty much just writes modelling software all day. The software architecture stuff is something I&#x27;ve never been taught and always felt would be immensely valuable to learn. Some good resources for that on this list.<p>Also a request for any resources of scientists trying to get their head around how to write good software, we&#x27;re all pretty much people who once read a C++ tutorial and just went with it.
评论 #21064062 未加载
评论 #21063725 未加载
评论 #21064839 未加载
评论 #21063874 未加载
quaquaqua1超过 5 年前
I am entirely self taught. I have a degree in History but didn&#x27;t do any programming in college courses.<p>Everything I learned I learned from a non-structured source.<p>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.<p>But for the few employers who didn&#x27;t, I thank them for taking a chance on me and it seems they&#x27;re keeping me around because I deliver valuable code to end-users.
评论 #21068056 未加载
neogodless超过 5 年前
I see some comments here along the lines of &quot;Is this a good way to get educated in computer science?&quot; or &quot;Is this a good path into a career?&quot; or &quot;What are some good alternatives?&quot;<p>Maybe the problem is that it&#x27;s pretty hard to gauge how good education of any kind is. We have countries all over the globe doing things a bit differently, and we have public and private schools with different methodologies. But, while I personally don&#x27;t have the answers, and obviously our governments probably aren&#x27;t sure either, clearly there is work being done in figuring out what works and what doesn&#x27;t.<p>What are some good resources for identifying the best forms of education?<p>Are there any resources for identifying the best way(s) to learn computer science, or entry-level computer programming, or foundational software engineering?
unnouinceput超过 5 年前
Browsing throughout those courses I found out that more then 50% of them require you to either sign in with FB or Google in order to access them, so no thank you. Remember, if something is free then you&#x27;re the product.
评论 #21063609 未加载
评论 #21064106 未加载
评论 #21063702 未加载
评论 #21064664 未加载
评论 #21065281 未加载
groundCode超过 5 年前
&gt; assumes the student has already taken high school math and physics, including algebra, geometry, and pre-calculus<p>Does anyone have good resources for someone who would like to brush up on these subjects?
评论 #21078090 未加载
rc-1140超过 5 年前
While it isn&#x27;t directly related to the topic of the thread, is the Imposter&#x27;s Handbook a suitable purchase for someone who didn&#x27;t major in CS in college to &quot;catch up&quot;? I had two intro to CS courses during my undergrad and took several night courses while employed at my first job and did get a tech-facing career, but once I got that job I haven&#x27;t had the energy to go back and tackle things like Data Structures and the maths I have to take all with the pressure of a grade.
评论 #21064343 未加载
w8rbt超过 5 年前
You could also get a free Udacity account and watch the Georgia Tech CS Master classes (OMSCS). Algorithms, Machine Learning, Operating Systems, etc. It&#x27;s a good program.
dang超过 5 年前
A thread from 2017: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16035839" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16035839</a>
ilaksh超过 5 年前
Personally I think this is great but I would spend less time on certain things and more time on others.<p>I think what people who are trying to train themselves for programming jobs need most is topics in software engineering. And in particular I have my own view of the most important parts of software engineering.<p>So I would put more emphasis on modern tooling, practical requirements analysis, hammer home the importance of iteration and closed feedback loops such as end-to-end testing and observing&#x2F;interacting with users. Emphasize iterative requirements analysis and verification -- it&#x27;s very easy to get on to the wrong path early on in a project and waste a lot of time. And for most projects the programmer is the person who is best equipped to really understand and steer requirements and this means they need to be assertive which is quite a challenging aspect that requires practice.<p>Also modules and components can be critical so they need to get beyond objects or functions to that level. And also they need to understand and have experience with package managers and registries. These are examples where things have changed over the years. In the past it might have been more important to, for example, have experience with assembly language, or something. But these days, for building new software or integrating existing, selecting and combining components is critical to leverage the massive amount of available code and systems and avoid reinventing the wheel. People disparage that as &quot;glue&quot; or &quot;plumbing&quot; etc. but it is a high-level skill that needs to be developed and I think in most cases a much more advanced approach than building everything from scratch. Also it takes practice to know which parts should be components and which parts should be custom.
Havoc超过 5 年前
I’m glade that this exists and it looked interesting for me at first glance but it’s just too detailed. Wouldn’t mind brushing up my theory but learning about CMOS isn’t what I had in mind<p>I guess I’m not the target audience, which is fine
aronhegedus超过 5 年前
This reminds me of<p><a href="https:&#x2F;&#x2F;functionalcs.github.io&#x2F;curriculum&#x2F;#linear-algebra" rel="nofollow">https:&#x2F;&#x2F;functionalcs.github.io&#x2F;curriculum&#x2F;#linear-algebra</a>
dlphn___xyz超过 5 年前
why doesnt this exist for any other field? you never hear of a DIY mathematician or economist...further proves that tech is a trade not a profession
评论 #21064251 未加载
评论 #21064079 未加载
评论 #21067830 未加载
评论 #21064100 未加载
评论 #21064778 未加载
codesushi42超过 5 年前
Does anyone have a similar resource for applied math?<p>I am looking for something that goes beyond the standard calculus, linear algebra and stats material. For example, optimization, numerical analysis, stochastic processes, dynamical systems etc.
评论 #21063898 未加载
评论 #21064885 未加载
评论 #21067598 未加载
评论 #21064357 未加载
评论 #21063896 未加载
mlthoughts2018超过 5 年前
Given there is variation of skill at anything, there will be variation of skill at self-teaching. Not all self-teaching is created equal. If you’re not good at self-teaching, then you get a bad teacher every single time.<p>Colleges diversify this risk. A few teachers might be bad, a few will have their back to the gigantic lecture hall the whole time, etc. But averaged over all your classes, most of them are actually pretty good, and many TAs, tutoring center employees, classmates, etc., can help a ton. Plus you’ll practice and improve self-teaching the whole time.<p>Like it or not, college can command a high price for this standardization and diversification of teaching quality risk. It confers a status credential.<p>Meanwhile, if I see you are self-taught in a complex engineering discipline, so what? If you also have job experience already to back it up, then ok. If you’re asking me to be the first one to take a gamble on whether your particular instance of self-teaching led you to sufficient competency, no thanks, I don’t have time to take that risk.
评论 #21065333 未加载
评论 #21065233 未加载
swiley超过 5 年前
I&#x27;m not sure this is meaningful as a path to employment in the US if you don&#x27;t actually get a degree at the end.<p>I&#x27;ve gotten calls from at least five recruiters this week alone all excited to have <i>finally</i> found someone who&#x27;s at least done some C only to realize that I haven&#x27;t finished the community service hours for my degree (I&#x27;ve done all the classes but the university won&#x27;t officially confer the degree until I&#x27;ve finished this, that&#x27;s made my summer pretty complicated which has actually made it a lot harder than it needs to be, thankfully I&#x27;ll be done in a couple weeks.)<p>What you actually know only matters once you&#x27;re hired (at least for your first couple jobs.)<p>But it is always good to be learning new things and if that&#x27;s why you&#x27;re doing this than good! I&#x27;ve been teaching myself violin and I can definitely appreciate classical music more because of it, I absolutely don&#x27;t expect it to get me a job.