专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

自学计算机前需要准备什么_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 22:17:47       共计:3614 浏览

自学计算机前需要准备什么?

学习路线

首先需要对计算机科学和计算机产业进行总体的认识,可以通过阅读计算机导论有关的书籍进行了解。

在对计算机概论有一个比较全面的了解后,我们最先需要的就是掌握一门编程语言,同时学好数学。在大学的计算机专业中,这两部分往往安排在大一至大二。

关于初学者第一门编程语言,比较常见的有这几种:

C:国内大多高校所普遍使用的入门语言。JAVA/C#:两者都是很典型的面向对象的编程语言,后期的课程如数据结构与算法也有不少学校使用其作为范例编程语言。 JAVA 有很多非常活跃的开源社区与数不尽的开发者为其提供代码以供学习。而 C# 的背后则是 IT 巨头微软,并且 C# 的语法糖被很多新生语言所借鉴,如 Google 现今的官方开发语言 kotlin。Python:典型的动态语言,国内一部门高校所选用的新兴入门语言,应用极为广泛。尤其是现今的大数据与人工智能时代,更加离不开 Python。

这些编程语言的均可以通过书籍与视频结合的学习方法。关于学习的书籍和视频网上已经有很多了,这里就不做赘述。

计算机专业必须掌握的四门数学课程,包括高等数学、离散数学、线性代数、概率论与数理统计。为什么要学数学?因为具备基本的数学能力是对所有计算机专业人员的基本要求。在实际开发项目中,对程序员的数学功底要求其实并不高,很多框架的底层都有强大的算法作为支撑,但初级程序员并不需要完全理解这些算法。对于初级程序员来说,仅仅需要有高中的数学基础加上一些数据结构的知识就行了。但对于中高级程序员来说,则必须基本良好的数学功底,尤其是需要使用一些特定技术进行开发,建模或者设计相关算法,例如现今比较流行的人工智能,它的实现就需要强大的 AI 算法——这意味的技术水平的提高,学习领域的深入,所需要的数学功底也是逐渐提高的。

本人以前觉得只要掌握大学中所学的数学就足够了,然而在深入学习中却发现大学中所学的数学基础课程还远远不够用于开发,例如我在学习 unity 的过程中,经常碰到三维向量,欧拉角与四元数等等,为了理解这些东西,我重新回过头来学习了一遍计算机图形学中的 3D 数学。

国内的大部分数学教材,往往只讲相关的法则定理证明等等理论知识,而不会涉及到其发展历史和具体应用,不强调解决特定问题的思路,文字枯燥,并不适合自学。还有些教材往往写的过于简练,比如经常出现“由此可见”,“由此可得”等词语,本人在自学的过程中对这些词眼极为头疼,于是便放弃了使用国内的教材。

这里可以参考知乎上@周筠 的回答:计算机系的高数,离散,线代都是用在哪些方面的? - 周筠的回答 - 知乎,讲的很不错。

在掌握了编程语言与数学基础后,就可以进入专业基础课和一些使用技术的学习。各个学校的计算机专业基础课都大同小异,总数有十多门。但最重要的就是以下四门科目,也是计算机专业学生的考研科目——数据结构与算法、计算机组成原理、操作系统、计算机网络。同样采用视频与教材结合的方式。

数据结构与算法:参考书籍:机械工业出版社的 《算法基础 打开算法之门》和《算法导论》

公开课:麻省理工学院公开课:算法导论

Data Structures ? 数据结构

计算机组成原理:这门课可以用两个字概括——抽象。对于在校大学生,我们不需要(也不可能)完整的理解它,因此可以把它和操作系统这门课结合起来学习。参考书籍:人民邮电出版社的《计算机组成:结构化方法》

公开课:计算机组成原理

操作系统:

参考书籍:中国电力出版社的《深入理解计算机系统》

公开课:浙江大学操作系统 38 讲

操作系统原理

计算机网络:这门课应该从上层往下层学习,而且需要通过实验以加深理解。

参考书籍:《计算机网络教程:自顶向下方法》

公开课:哈工大的 计算机网络

计算机网络基础

作为大学生,以上科目可以先完整的看一遍教学视频,配合参考书籍和学校的教程进一步学习,重点还是在学习的过程中多去实践。在学习理论科目的同时,我们可以学习一些相关的实用技术,如各种流行的开发框架和工具等来加深理解。

在完成了以上学习后,就进入了一个新的自学阶段,这一阶段的学习就可以针对你感兴趣的特定领域进行了解和学习。比如人工智能,物联网,大数据,web 开发,游戏开发等等。这一阶段的学习目的非常明确,就是培养特定领域的专业编程技能,从而能够选择进入相关领域继续研究(考研考博)或者进入参加。

最重要的一点是:你需要打好扎实的基础。其实在很多大公司眼里,新人只是一张能够吸墨的白纸,你的基础扎实程度就代表你能够吸收多少墨汁。所以在大学期间,不要过分追求项目经验。但这并不代表着你不需要对所学的知识加以实践,只是相比“怎么做”,你更加需要明白“为什么”。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:java后台接口怎么防止重复提交_java | ·下一条:高度为k的二叉树最多有几个结点_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有