本科学计算机科学、软件工程的诸位,觉得有哪些科目最值得学?

2015-01-17 00:14:28 +08:00
 oldcai
本人非计算机相关专业毕业,想学一下没有机会在学校里面学的东西。
求推荐,如果可以顺便提到相关的书或者公开课就更好了。
不仅限于计算机相关专业特有的科目,比如数学类的都可以推荐下。
谢谢!
5508 次点击
所在节点    问与答
30 条回复
ppdg
2015-01-17 04:44:09 +08:00
马哲
马政经
mthli
2015-01-17 07:20:59 +08:00
离散数学啊。高数也不错。
Dongdong36
2015-01-17 09:02:31 +08:00
1,软件工程
2,数据结构与算法

软件工程上学时觉得老师就是在扯淡,分析这个分析那个的、开始工作才开始体会其重要性和必要性
fangpeishi
2015-01-17 09:23:41 +08:00
算法与数据结构
编译原理
操作系统
数学相关的所有课程。
loggerhead
2015-01-17 11:00:15 +08:00
序号是个人认为的重要程度,以下推荐的书要么是经典要么是公认的好,而不一定是教材:
1. 英语;
2. [算法与数据结构](http://book.douban.com/subject/1139426/),上课用的它但是翻译得很差;推荐看[大话数据结构](http://book.douban.com/subject/6424904/)或者[数据结构与STL](http://book.douban.com/subject/1152139/);
3. 计算机组成原理、操作系统;组成原理对理解硬件是如何工作的很有帮助,不过书不多,如果LZ愿意看教科书的话,那我推荐[唐朔飞的](http://book.douban.com/subject/2994636/);操作系统推荐[现代操作系统](http://book.douban.com/subject/1390650/)或者[Operating System Concepts](http://book.douban.com/subject/1418566/);
4. [编译原理](http://blog.csdn.net/skymingst/article/details/7436892),学了这个后写编译器、设计脚本语言、实现HTTP协议等就都有思路了;


以下这些并不一定不重要,只不过我还不能体会它们的重要性。
+ [计算机体系结构](http://book.douban.com/subject/20452387/)
+ [计算机网络](http://book.douban.com/subject/1391207/)
+ [算法导论](http://book.douban.com/subject/1885170/)
+ [汇编语言](http://book.douban.com/subject/2039913/)
+ 数据库


如果楼主想学数学的话,可以自学__离散、概率论、线代__,这几门数学我只能窥见其重要性,所以也不多说。此外,我见到很多学计算机的豆列里有[How to solve it](http://book.douban.com/subject/1456890/)和[具体数学](http://book.douban.com/subject/1231910/)这两本书,LZ感兴趣可以看看。
mringg
2015-01-17 11:32:30 +08:00
计算机那些,感觉学到能应付考试的水平,85+吧就行了。主要会用主流的开发语言写一些程序。我个人认为绝大部分人并不适合学得太深,还是应该往广度发展。学些统计,金融知识挺好,既有前途,也有钱途。
hooluupog
2015-01-17 11:33:55 +08:00
非计算机专业的话,
公共课:
高数(高数能考满分就考满分,对理工科生来说,优异的高数成绩对任何理工科专业的未来就业或者继续考研深造,都会非常有好处,导师或者HR肯定喜欢高数好的)。
英语(高中学的那些英语真的不够)

计算机专业课:
核心是:数据结构与算法。掌握一门编程语言,计算机专业课程不需要深究,可以找一本计算机导论之类的书看看有好处。
和计算机相关的数学:
数论,离散数学,组合数学

——如果要读计算机的研究生:

计算机四大基础课认真的看看,假期的时候做做编程项目,写一个程序或者设计个web页面都行。
可以去一些著名的OJ站点做做题,主要是练你的算法能力,搞不好还能参加acm竞赛,acm每年夺金的非计算机专业大牛不少。

——如果你打算未来从事计算机行业的工作:

找一找计算机本科生的课表,把能借到的书尽量借,平时自己看看,有时间的话可以去听课。大学空余时间多得是。给自己设计一个长期的项目,坚持做,或者找人合作,做项目,做得越多,将来找工作越有优势。
oldcai
2015-01-17 12:05:35 +08:00
@loggerhead 谢谢,正好昨天已买《离散数学及其应用(原书第6版)(本科教学版)》和《图灵计算机科学丛书•具体数学:计算机科学基础(第2版)》
希望能啃得动。
其实昨天也就是买书的时候纠结怎么买一些我真正能啃得动的书,想到发帖求教一下。
然后,我读书少,编译原理和HTTP协议实现之间的关系还是不解^_^

@hooluupog 谢谢。
不过好像“——”是正回顾后发符号;
“:”是先行符号。
不太确定小标题是标注的哪一段,2333

@Dongdong36 你好,请问软件工程有推荐的好书或者公开课吗?
Her0
2015-01-17 17:07:06 +08:00
操作系统,
数据结构和算法,
TCP/IP
HTTP
onice
2016-07-01 18:08:53 +08:00
无意中翻到的帖子,说说我们学的一些东西吧,你可以根据自己的情况调整下优先级。
如果你想知道操作系统的内部机制,例如为什么操作系统可以同时运行多个程序,任务管理器里面的进程是什么,我们在复制文件的时候操作系统都干了些什么。请学习《操作系统》
如果你想知道如何才能让程序的效率更高,执行的时间最短,占用的内存最少,请学习《数据结构与算法》
如果你使用过数据库,特别是想知道为什么数据库的效率比 excel 高,为什么要存在 sql 语言,请学习《数据库系统》
如果你想知道当我们上网的时候,数据是怎么传输的,请学习《计算机网络》和《 TCP/IP 协议》
如果你已经会使用某种编程语言,你想要知道为什么这种语言要那么定义,为什么 C 语言用花括号, python 要用缩进,编译器是怎么识别程序源代码,又是怎么检测出来有语法错误的。更重要的是,如果你开始思考自己能不能发明一种新的语言,《编译原理》一定要学。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/162879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX