前言
计算机专业各种骨干核心课程中包容了计算机科学中最基础的知识,计算机专业课程难度较大,可锻炼自身思维能力。计算机专业的学习与实用应用型知识的学习相互促进。
计算机专业课程:
-
必修课:计算机专业的核心课程,代表着一名计算机专业学生应该具备的计算机科学理论和基础(最重要的四门):
-
数据结构与算法
介绍了计算机系统是由哪些部件组成的,这些部件之间是如何相互协作完成数据处理功能,同时又能满足成本、功耗等指标的。
学习这门课前通常需要学习数字电路基础,建议先学习《编码》(强烈推荐),学完这门课后可进一步学习操作系统和编译原理
学习内容:
- 计算机系统的概述
- 指令集设计
- 处理器结构
- I/O与存储系统与设计
- 并行计算(硕士)
- 云计算(硕士)
-
操作系统
必须要将其与软件开发以及动手实验结合起来
Linux:在互联 和嵌入式开发占主导地位
Windows:桌面应用与行业应用 -
计算机 络
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d5PYdg18-1571192739415)(Pictures/1564310760424.jpeg)]
掌握相应的 络协议是掌握各种上层应用软件开发技术的关键。最大的特点就是分层:
《计算机 络:自顶向下方法》就是从上层协议介绍到下层协议
《计算机 络》Andrew S.Tanebaum:自下而上来介绍
《计算机 络:系统方法》则以横切的方式,针对一个特定的 络问题来展开介绍
弄清楚三个问题:
1. 计算机是如何连接的
2. 数据是怎样在计算机 路中传输的
3. 络应用软件系统是怎样构建起来的学习建议:
* 理解分层的概念,清楚每一层所解决的主要问题是什么,面临的主要问题是什么,设计者针对这一问题的解决方案是什么,应用了哪些基本原理,有哪些常用的算法
* 阅读科普书籍入门计算机 络
* 动手用编程语言结合计算机 络协议来完成一些简单的任务
* 应用层次的学习:重点学习HTTP协议并掌握面向对象知识
* 学习 络抓包工具巩固计算机 络的基础 -
-
ACM总结的18个计算机科学关键领域:
- 对知识的掌握程度(三级):
- Familiarity(了解):What do you know about this(你对它了解多少
- Usage(会用):What do you know how to do关于怎样做,你知道多少
- Assessment(评估与决断):Why would you do that为什么要这么做
- 针对特定的场景和特定的问题能找到多种解决方案,并能够对这些方案进行评估从中选出合适的来应用
- ACM 告:软件工程知识领域中有关软件过程的知识集合,衡量对这些知识的掌握程度。
- 自学的核心任务:这18个核心领域之间有着紧密的联系,形成一个知识 络,构建这个知识 络就是自学的核心任务
知识组块:根据知识的内在逻辑和意义吧相关联的信息碎片理解和重组而建立
人类的学习过程,就是把吸收的知识转换为知识组块存入人的长期记忆中的过程
- 根据特定场景分析特定的需求,确定学习的目的,有选择地读特定的书,读书中特定的部分,进行特定的实践,形成特定的知识组块,组合这些组块去解决特定的问题
- 针对具体的场景,根据场景需求,搜集各种资源,构建知识框架
- 通过学习,不断向原本的框架补充内容
- 建立好知识框架,解决问题所需要的知识组块全部准备就位就可以着手解决实际问题
最初学到的只是些孤立的知识点,通过消化吸收和实践,知识点连接起来形成知识组块,组块之间再连接就形成知识之
计算机专业的学习要落实在理论与实践的统一上
- 先实践再理论的学习效果更佳
新知识的学习:
- 将新学来的知识附着到已经形成的知识 络上、
- 学习的误区:将各个知识点当做一个个孤立的点去攻克,而忽视新旧知识之间的联系
- 特定的知识往往要与特定的知识 络相结合后才能真正的学会
计算机专业学习的”N+1″与”N-1″
通过浅显易懂的科普书籍入门,通过专业教材来掌握基础并深入学习,再读专业技术书籍
建议多阅读英文书籍,或中英文书籍
读书时多注意专业术语的中英文翻译的对照,可做成一个表格。
多遍阅读法

线性代数是数字图像处理的基础
概率论与数理统计是大数据和人工智能的基础
计算机全局观的建立
读计算机专业概论,粗略的知道这个领域所涵盖的知识面,并了解自己当前所学的知识在整个计算机领域中的地位
选择最新版本的专业概论书籍
书籍推荐:
-
《浪潮之巅》吴军: 主要讲述IT产业发展的脉络和硅谷明星公司的兴衰沉浮
-
《数学之美》吴军: 介绍数学在计算机领域的具体应用
-
《学习之道》:针对学习的研究成果,用来改进学习方法
-
《微积分读本》普林斯顿:采用内心独白的方式介绍微积分,能够比较顺利的读懂
-
《离散数学及其应用》(机械工业出版 )
-
《线性代数及其应用》:展示线性代数在应用中的案例,更容易了解这门课的用途
-
《计算机科学概论》Nell Dale:采用剥洋葱方式从内向外介绍计算机科学
-
《计算机科学概论》J.Glenn Brookshear:由每个主题自然而然地引导出下一个主题,由具体到抽象
-
《算法图解》
-
《算法导论》:针对特定算法的数学分析与证明
-
《Linux》内核
-
《编码》Charies Petzold
-
《计算机 络:自顶向下方法》
-
《深入理解计算机系统》:从使用者而不是从计算机系统设计者的角度来组织材料
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDwwMPQV-1571192739432)(Pictures/1564308330214.jpeg)]
并不适合零基础入门,阅读者至少应该学过计算机科学的导论,并有一些C语言和Linux的开发经验这本书能够帮助读者将零散的知识组块化,在建立组块之间的联系,可以通过这本书了解计算机系统的整体设计,明白这些设计因素对于应用软件开发和运行的影响,建立一个完整的计算机专业知识体系和整体的知识框架,在这个框架之上再选择有针对性的书籍钻研特定的子领域
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!