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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: What should I learn to become a computer scientist?

11 点作者 frodwith大约 15 年前
My 14-year-old cousin came over to my place, woke me up, and asked me (a career software developer) "What should I learn now to become a computer scientist?" I didn't have a really good answer for him. I told him to pay attention to algebra, take a class in symbolic logic if he could find one, and take any programming classes he could find. I started learning to program in college (not counting little games in BASIC and hello-world level stuff in C growing up). I'm sure there's plenty of good teach-yourself-to-program books aimed at people his age, but I don't know what they are.<p>TL;DR: What does HN recommend as a course of study for an aspiring young pre-CS student?

6 条评论

pook大约 15 年前
MIT's OpenCourseWare is an excellent way for him to study CS on his own while in high school.<p>I would recommend, at 14, getting him utterly hooked on the mindset of CS and related subjects. Godel, Escher, Bach, etc. If you can get him fascinated with the field, he'll find all the information he needs on his own better than any list of required reading you'll get.<p><a href="http://ocw.mit.edu/OcwWeb/web/home/home/index.htm" rel="nofollow">http://ocw.mit.edu/OcwWeb/web/home/home/index.htm</a><p><a href="http://www.amazon.com/dp/0465026567" rel="nofollow">http://www.amazon.com/dp/0465026567</a>
amock大约 15 年前
Does he want to study computer science or software engineering? If he wants to study computer science he should take lots of math, particularly courses that involve proofs. I recommend algebra, graph theory, and combinatorics in particular. I'd recommend Haskell or SML as programming languages since they have so much theory behind them. Haskell has a great community and is really nice to use, but SML is simpler to start with and has a concise definition.
评论 #1330911 未加载
评论 #1330642 未加载
j_baker大约 15 年前
I'd recommend the little schemer: <a href="http://www.ccs.neu.edu/home/matthias/BTLS/" rel="nofollow">http://www.ccs.neu.edu/home/matthias/BTLS/</a><p>I think if I'd seen this book when I was about that age, I'd have <i>loved</i> computer science.
评论 #1330658 未加载
bmalicoat大约 15 年前
Get a TI calculator and try making some simple games for it in TI Basic. The calculator is nice because you can program in your not-so-great history classes or whatever.<p>Also start messing around with Python, there is no overhead and you can get started quickly.<p>Paying attention to math is important, but more important is honing your problem solving skills.<p>(Addressed everything to the OPs cousin for readability)
评论 #1332322 未加载
评论 #1331602 未加载
CyberFonic大约 15 年前
Well maybe he doesn't understand the differences between: computer scientist<p>computer programmer<p>software engineer<p>You might think they are the same thing but they're not. A computer scientist would end up in academia doing research. A computer programmer writing programs and a software engineer design then building systems.<p>Learning to program for a budding computer scientist is the worst possible thing to do. It contaminates the mind with what ever preconceptions the chosen language may provide. Ok, maybe Lisp and Scheme not so much - but still ...
10ren大约 15 年前
For a computer <i>scientist</i> (as opposed to developer), study maths.
评论 #1331324 未加载