|
| 1 | +--- |
| 2 | +title: 计算机专业基础课 |
| 3 | +category: 计算机书籍 |
| 4 | +--- |
| 5 | + |
| 6 | +## 通用课 |
| 7 | + |
| 8 | +通用课的部分我想分为两大部分来介绍,主要就是数学和英语,一般在大一和大二两学年就可以全部修完,大二大三逐渐接触专业课。通用课作为许多高中生升入大学的第一门课,算是高中阶段到本科阶段的一个过渡,从职业生涯重要性上来说,远不及专业课重要,但是在本科阶段的学习生活规划中,有着非常重要的地位。由于通用课的课程多,学分重,占据了本科阶段绩点的主要部分,影响到学生在前两年的专业排名,也影响到大三结束时的推免资格分配,也就是保研。而从升学角度来看,对于攻读研究生和博士生的小伙伴来说,数学和英语这两大基础课,还是十分有用的。 |
| 9 | + |
| 10 | +### 数学 |
| 11 | + |
| 12 | +#### 微积分(高等数学) |
| 13 | + |
| 14 | +微积分,即传说中的高数,成为了无数新大一心中的痛。但好在,大学的课程考核没那么严格,期末想要拿高分,也不至于像高中那样刷题刷的那么狠。微积分对于计算机专业学生的重要性,主要体现在计算机图形学中的函数变换,机器学习中的梯度算法,信号处理等领域。 |
| 15 | + |
| 16 | +微积分的知识体系包括微分和积分两部分,一般会先学微分,再学积分,也有的学校把高数分为两个学期。微分就是高中的导数的升级版,对于大一萌新来说还算比较友好。积分恰好是微分的逆运算,思想上对大一萌新来说比较新,一时半会可能接受不了。不过这门课所有的高校都有开设,而且大部分的名校都有配套的网课,教材也都打磨的非常出色,结合网课和教材的“啃书”学习模式,这门课一定不会落下。 |
| 17 | + |
| 18 | +书籍的话,推荐《普林斯顿微积分读本》。这本书详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容。 |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +#### 线性代数(高等代数) |
| 23 | + |
| 24 | +线性代数的思维模式就更加复杂了一些,它定义了一个全新的数学世界,所有的符号、定理都是全新的,唯一能尝试的去理解的方式,大概就是用几何的方式去理解线性代数了。由于线性代数和几何学有着密不可分的关系,比如空间变换的理论支撑就是线性代数,因此,网上有着各种“可视化学习线性代数”的学习资源,帮助理解线性代数的意义,有助于公式的记忆。 |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +书籍的话,推荐中科大李尚志老师的 **[《线性代数学习指导》](https://book.douban.com/subject/26390093/)** 。 |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +#### 概率论与数理统计 |
| 33 | + |
| 34 | +对于计算机专业的小伙伴来说,这门课可能是概率论更有用一点,而非数理统计。可能某些学校只开设概率论课程,也可能数理统计也教,但仅仅是皮毛。概率论的学习路线和微积分相似,就是一个个公式辅以实例,不像线性代数那么抽象,比较贴近生活。在现在的就业形势下,概率论与数理统计专业的学生,应该是数学专业最好就业的了,他们通常到岗位上会做一些数据分析的工作,因此,**这门课程确实是数据分析的重要前置课程,概率论在机器学习中的重要性也就不言而喻了。** |
| 35 | + |
| 36 | +书籍的话,推荐 **[《概率论与数理统计教程》](https://book.douban.com/subject/34897672/)** 。这本书共八章,前四章为概率论部分,主要叙述各种概率分布及其性质,后四章为数理统计部分,主要叙述各种参数估计与假设检验。 |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | +#### 离散数学(集合论、图论、近世代数等) |
| 41 | + |
| 42 | +离散数学是计算机专业的专属数学,但实际上对于本科毕业找工作的小伙伴来说,离散数学还并没有发挥它的巨大作用。离散数学的作用主要在在图研究等领域,理论性极强,需要读研深造的小伙伴尽可能地扎实掌握。 |
| 43 | + |
| 44 | +### 英语 |
| 45 | + |
| 46 | +英语算是大学里面比较灵活的一项技能了,有的人会说,“英语学的越好,对个人发展越有利”,此话说的没错,但是对于一些有着明确发展目标的小伙伴,可能英语技能并不在他们的技能清单内。接下来的这些话只针对计算机专业的小伙伴们哦。 |
| 47 | + |
| 48 | +英语课在大学本科一般只有前两年开设,小伙伴们可以记住,**想用英语课来提升自己的英语水平的,可以打消这个念头了。** 英语水平的提高全靠自己平时的积累和练习,以及有针对性的刷题。 |
| 49 | + |
| 50 | +**英语的大学四六级一定要过。** 这是必备技能,绝大部分就业岗位都要看四六级水平的,最起码要通过的。四级比高中英语稍微难一些,一般的小伙伴可能会卡在六级上,六级需要针对性的训练一下,因为大学期间能接触英语的实在太少了,每学期一门英语课是不足以保持自己的英语水平的。对于一些来自于偏远地区,高中英语基础薄弱的,考四六级会更加吃力。建议考前集中训练一下历年真题,辅以背一下高频词汇,四六级通过只需要 425 分,这个分数线还是比较容易达到的。稍微好一点的小伙伴可能冲一下 500 分,要是能考到 600 分的话,那是非常不错的水平了,算是简历上比较有亮点的一项。 |
| 51 | + |
| 52 | +英语的雅思托福考试只限于想要出国的小伙伴,以及应聘岗位对英语能力有特殊要求的。雅思托福考试裸考不容易通过,花钱去比较靠谱的校外补课班应该是一个比较好的选择。 |
| 53 | + |
| 54 | +对于计算机专业的小伙伴来说,英语能力还是比较重要的,虽然应聘的时候不会因为没有雅思托福成绩卡人,但是你起码要能够: |
| 55 | + |
| 56 | +- **熟练使用英文界面的软件、系统等** |
| 57 | +- **对于外网的一些博客、bug 解决方案等,阅读无压力** |
| 58 | +- **熟练阅读英文文献** |
| 59 | +- **具备一定的英文论文的撰写能力** |
| 60 | + |
| 61 | +毕竟计算机语言就是字符语言,听说读写中最起码要满足**读写**这两项不过分吧。 |
| 62 | + |
| 63 | +## 编译原理 |
| 64 | + |
| 65 | +编译原理相比于前面介绍的专业课,地位显得不那么重要了。编译原理的重要性主要体现在: |
| 66 | + |
| 67 | +- 底层语言、引擎或高级语言的开发,如 MySQL,Java 等 |
| 68 | +- 操作系统或嵌入式系统的开发 |
| 69 | +- 词法、语法、语义的思想,以及自动机思想 |
| 70 | + |
| 71 | +**编译原理的重要前置课程就是形式语言与自动机,自动机的思想在词法分析当中有着重要应用,学习了这门课后,应该就会发现许多场景下,自动机算法的妙用了。** |
| 72 | + |
| 73 | +总的来说,这门课对于各位程序员的职业发展来说,相对不那么重要,但是从难度上来说,学习这门课可以对编程思想有一个较好的巩固。学习资源的话,除了课堂上的幻灯片课件以外,还可以把 《编译原理》 这本书作为参考书,用以辅助自己学不懂的地方(大家口中的龙书,想要啃下来还是有一定难度的)。 |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | +其他书籍推荐: |
| 78 | + |
| 79 | +- **[《现代编译原理》](https://book.douban.com/subject/30191414/)** :编译原理的入门书。 |
| 80 | +- **[《编译器设计》](https://book.douban.com/subject/20436488/)** : 覆盖了编译器从前端到后端的全部主题。 |
| 81 | + |
| 82 | +我上面推荐的书籍的难度还是比较高的,真心很难坚持看完。这里强烈推荐[哈工大的编译原理视频课程](https://www.icourse163.org/course/HIT-1002123007),真心不错,还是国家精品课程,关键还是又漂亮有温柔的美女老师讲的! |
| 83 | + |
| 84 | + |
0 commit comments