我是如何自学计算机编程的
侧边栏壁纸
  • 累计撰写 1,121 篇文章
  • 累计收到 3 条评论

我是如何自学计算机编程的

私人云
2026-02-08 / 0 评论 / 0 阅读 / 正在检测是否收录...

计算机编程最大的难点就在于陌生。很多人都是计算机小白,完全没接触过计算机,不知道计算机是怎么一回事,这导致很多人还没学习就觉得很难,自己给自己建立了一个学习屏障。

所以开篇我先带大家了解一下什么是计算机,再来告诉大家怎么学习,怎么刷题。

一、理解计算机工作原理

冯• 诺伊曼在1945 年提出第一种计算模型,无论笔记本电脑还是电话,几乎所有计算机都遵循与这种模型相同的工作原理。那么你们了解计算机是如何工作的吗?计算机的工作原理主要包括计算机的组成,计算机五大逻辑部件的工作原理和计算机程序的执行过程。

如果你要了解各种计算机语言的底层原理,那么对语法分析,词法分析,语义分析,正则表达式,有限状态机的知识点是绕不开的话题,所以说编译原理其实也没有怎么变化过。

所以不管是java、Python、go、c/c++等这些语言,我们没必要去纠结语法,重点在底层的编译方法。

二、计算机要学什么?

首先,计算机专业不等于修电脑,也不是只敲代码,在学习计算机的过程中,数学基础、英语这些都很重要,除此之外我们还需要学会自学,提高自己找资料的能力,学会谷歌查找不懂的问题等。

计算机科学与技术专业为例,该专业的基础课程主要包括数理类课程、电器类课程、计算机类课程。由于计算机科学与技术专业是以理学相关学科为专业基础的,因此学生需要具备数学分析的思想和方法。而计算机跟人们常见的冰箱、电视等电器一样,属于电器设备,所以还要学习电路分析等电器类基础课程。

三、计算机系统学习内容

关于为什么要学习计算机基础,大家可以仔细阅读这个内容:

计算机网络

计算机网络是一门系统性比较强的计算机专业课,各大名校的计算机网络课程打磨的应该都比较成熟。

要想学好计算机网络,首先要了解的就是 OSI 七层模型或 TCP/IP 五层模型,即应用层(应用层、表示层、会话层)、传输层、网络层、数据链路层、物理层。

这里给大家推荐这本书——《网络是怎样连接的

从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术

说到这里就不得不推荐,哈工大的数据库、操作系统、计算机网络、编译原理讲的也是很详细了,推荐:

操作系统

不管你是学什么编程语言Python还是java,你都有必要了解一下操作系统。因为写代码的你,其实主要不是在跟计算机这个硬件打交道,而是首先在跟计算机上的操作系统打交道。无论什么时候,你都应该明白,你或你的代码在让操作系统做什么。

计算机是一堆硬件组合,操作系统是一个软件,我们的代码和计算机这个硬件之间,隔着一个操作系统,我们的代码控制着操作系统,操作系统控制着计算机。如果你想让计算机做一件事情,你需要告诉操作系统,然后操作系统再来指挥计算机做。

计算机操作系统》是教科书,知识点相对比较基础,涵盖范围也比较广,很推荐非科班的学生来学习。《图解HTTP》则是用很多插图将知识点讲得通俗易懂,看起来更有趣,知识点更易吸收。

国外好课推荐:

MIT的操作系统公开课(http://pdos.csail.mit.edu/6.828)。MIT自己基于Unix v6开发的xv6类Unix系统。除了没有视频,课表,作业,考试等都有。

youtube上有第四讲以后的所有视频https://www.youtube.com/watch?v=kDRHsNauoxk&list=PLfciLKR3SgqNJKKIKUliWoNBBH1VHL3AP

Udacity的Advanced OS公开课:Advanced Operating Systems from Udacity

数据库

数据库不只是存放数据,还有对数据进行管理,所以又把数据库称为数据管理系统。最最恰当的比喻就是文件柜,数据库就是电子化的文件柜,我们对文件柜中文件的写入,删除修改,查看,对应数据库就是增删改查。

所谓数据库,是按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库中的数据都有一定规律结构,相同类型的数据放在一起,不同类型的数据之间相互隔离数据库由统一的规则来读写,有SQL语言专门用来读写数据库,一般都是用程序来读写数据库的内容。

常用的数据库有Access、Oracle、Mysql、SQL Server、SQLite等。

推荐书籍:《Mysql技术内幕》——Mysql的高分书籍。

数据结构与算法

程序=数据结构+算法,可见数据结构和算法对于程序的重要性。

数据结构是一种存储和组织数据的方式,以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运算,即按照某种逻辑关系组织起来的一批数据,按一定的映射方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合。

数据的逻辑结构:反映数据元素之间的关系。有集合、线性结构、树型结构、图型结构。数据的存储结构:逻辑结构在计算机中的存储映象,是逻辑结构在计算机中的实现,它包括数据元素的表示和元素之间关系的表示。有顺序存储结构(数组)、链式存储结构(链表)、索引存储结构、散列存储结构等。数据的运算:对数据施加的操作,通过算法描述。

这部分内容对于很多大公司面试和考研一般都会用到,对于多数人来说只要知道算法的思想、应用场景和优缺点就行,实际开发中设计应用的机会并不多。

推荐书籍:本书图文并茂,以很容易理解的方式阐述了算法,进大厂的必看喔。

四、刷题平台

牛客-能刷到很多的算法题,同时还可以关注到大厂的校招信息;

网站:https://www.nowcoder.com/

2. LeetCode相信大家不会不知道这个,刷完直接进大厂;

https://leetcode-cn.com/problemset/all/

3. Programming by Doing

以作业的形式整理的编程基础题,题目相对还是比较简单的;

4. 新手编程必刷50题

这是LintCode上的一份在线OJ,题目由ACM铜牌选手心编撰;

5. 趣it-互联网求职刷题神器

https://www.funit.cn/ 大厂真题,专项练习;

五、编程语言学习

如果我上面给你说的话,你听进去了学好C语言,那么其他语言对你来说就非常简单了。

实际动手编码比起花哨的工具和框架,实践能提供更多技能,让你更好地理解java代码。下面给你全阶段java学习路线+全阶段书籍+ 面试及找工作内容:

如果你要从事前端工作,JS是一定要学会的。关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。

Python语法是非常简洁的,这也决定了Python 是易于学习的。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

六、好书推荐

Java学习:

Python学习:

前端学习:

就先分享这些了。

0

评论 (0)

取消