您的位置  > 互联网

计算机科学与技术专业的三年学不下去怎么办?

我的专业是计算机科学与技术,即将进入大四。 想想这三年来我的学习是多么的一塌糊涂。 很多时候,当我学完某件事时,却不知道下一步该做什么。 也有很多时候,我学东西到一半就学不完,才发现这东西不是我现在的水平能学的。 浪费了很多时间,而且学习不够系统。 我希望写下一个学习路线,给我剩下的一年做一些规划。 也希望能给一些对计算机感兴趣但不知从何入手的同志一些参考。

(我只是一个学生,技术经验有限,主要学的是后端,这篇文章只是我自己的想法,希望看到这篇文章的同学可以多参考几篇文章,避免被本文的观点误导文章)

读到一篇这样的博文:大学计算机相关专业学习路线的见解与分析,所以决定写这篇文章,并在此贴出链接,注明出处。

介绍

按照我个人的理解,计算机科学与技术专业可以分为计算机科学和计算机技术(什么废话……)。 计算机科学指的是计算机基础,是我们的专业课,而计算机技术应该指的是编程。 技术。 计算机专业所需课程大致如下:

计算机理论课程 编程基础 编程实践 消息中间件 数据库 Linux

计算机专业一定要有一定的学习顺序,还有一些其他的基础,才能学起来更轻松。 同时,单纯学习理论可能太枯燥,所以可以同时学习两门课程(理论和编程各一门)。 你只需要每天安排好时间就可以了。 如果读者是学生,老师的教学技术不够深入、不够负责,则不需要听课,可以依靠网课或购买书籍自学。 这篇文章我会推荐一些教学好的在线课程和一些学习平台,比如、MOOC、百度网盘资源。 同时我觉得入门的时候看视频比较好,但是如果有了基础之后想要学习更多的知识,还是看书比较好。

学习时做笔记,效果会更好。 这里建议使用语言写笔记,建议使用软件,也可以直接在csdn或者简本上写博客作为笔记。 在学习计算机理论知识时,可以利用思维导图来组织自己的想法。

以下课程顺序是我推荐的学习顺序:

离散数学

学习离散数学是学好计算机的基础。 在未来的学习中,您将使用许多离散的数学事物,例如数据结构中的图形。 就我个人而言,我的理解是,因为计算机中的很多东西都是离散的而不是线性的,因为计算机存储容量是有限的。 例如,计算机中的浮点数仍然不能表示无限数。 又比如,计算机屏幕上显示的颜色种类也是可数的,不能像自然界的颜色那样是无限的。

模拟电子产品

模拟电子技术是计算机组成原理的基础。 学习其中一些电路可以让我们更好地理解计算机的组成。 例如,主存中的基本电路需要模拟电路的知识才能更好地理解它们。 以及模拟电子学中逻辑电路的一些知识,计算机组成原理和编程语言中也会用到相关的东西。

c语言

C语言是学习编程的基础。 在学习过程中,一定要多写代码。 但是学习计算机有一个特点。 越是基础的事情可能就越困难。 比如C语言中的指针、数组指针,虽然很难理解,但是却非常重要。 你应该努力去理解。 如果实在看不懂,可以先跳过。 因为C语言可以说是最接近硬件和操作系统的高级语言,所以指针的概念与硬件和操作系统有很大关系。 同时C语言是基础,以后一定要复习。 到时候你就明白了(一定要记住)

计算机组成原理

计算机组成原理是计算机理论课程中最基础的课程,也是与硬件接触最多的一门课程。 所以,在学习过程中,如果有机会,一定要找一台电脑拆开看看。 如果你是学生,一般上电脑课的时候,老师都会安排学生拆电脑。 如果你对计算机或者电子产品特别感兴趣,那么有必要了解一下模拟电子学和电子学。

我个人推荐b站的视频《计算机组成原理》(哈尔滨工业大学)。 在学习的同时,我们可以看看B站的安装视频、电脑购买视频、电脑配件相关信息。 毕竟学计算机的人难免会被朋友要求选择计算机。 如果不懂这些,难免会被朋友瞧不起。 如果你有兴趣,你甚至可以学习修理电脑。

因为我主要学习后端开发,作为Java基础,非常重要。 你一定要学好它。 强烈推荐毕向东的视频(网上有很多毕向东35天视频的网盘资源,b站也有)。 很多人都是看毕老师的视频开始的。 毕老师一定会让你对编程产生兴趣。

操作系统

操作系统中的处理器管理可以说是整个编程系统的重中之重。 如果你学好了这一部分,你会发现这里的思想在以后的学习过程中很多地方都会用到。 同时,这部分面试几乎是强制性的。 。 一般考研的人都会看王导的视频来学习操作系统,但我觉得王导只是一一讲知识点(考点)。 整体知识框架不够连贯,只适合考研的人。 我还没有找到什么好的视频,只是从课本上学来的。

操作系统

与Linux相比,它具有更好的稳定性和安全性,一般用作服务器。 在以后的学习和工作中也会经常用到。 作为一名程序员,必须熟练使用Linux。 我通过观看 上的视频来学习 Linux 教程。 学完基础之后,还需要学习shell脚本(公司在求职时一般都会要求这个,其实我到目前为止还没有使用过shell编程)。 Linux上各种软件的安装以及Linux上应用程序的部署都会在以后的学习过程中进行研究。 同时,我建议大家学习一下。

数据结构

数据结构一般都是用C语言来学习的,但是我们可以用Java来实现这些结构或者了解Java封装的一些集合。 这里我们可以回顾一下C语言,其实这些东西需要一遍又一遍地学习,每次都学得更深入,理解得更深入。 关于数据结构,我个人看了《大话数据结构》。 我觉得这本书非常好。 我建议逐字阅读,自己实现里面的数据结构和一些算法,同时可以思考。 地图一目了然地显示所有常用的结构。

算法

算法是程序员的重中之重。 在学习算法之前,必须学好数据结构,然后学习常用的算法,深入理解那些经典算法的思想。 利用这些思想,你可以解决很大一部分算法问题。 如果不仔细研究数据结构和经典算法的思想。 直接回答算法问题会劝退99%的人。 我读了《建志Offer》这本书,非常好。 它是用C语言实现的。 我们可以用Java自己实现。 同时算法一定要练手,可以温习算法题。 此时应该是大二下学期。 可以参加一些关于算法的比赛,在准备比赛的时候你会更有动力去学习。 还有一些关于Linux的竞赛。 如果您有兴趣,可以参加。

设计模式

在java中,使用了很多设计模式,尤其是java中。 学习设计模式,即使我们不能在任何场景下合理使用设计模式,至少可以让我们更容易理解Java中的源代码。 我个人推荐“设计模式”。 这本书真的很好。 虽然没有解释全部23种设计模式,但是设​​计模式的思想解释得非常透彻。 在学习设计模式之前,我们需要先学习UML知识,这样才能看懂类图。 在学习过程中,我们可以自己画类图,用java来实现设计模式。

数据库系统简介

数据库几乎是学习编程必备的知识。 我们尽量学习数据库系统的介绍,了解数据库系统的整个体系,这样以后学习数据库的时候就会变得得心应手。 还有很多sql语句的练习。

mysql

mysql数据库可以说是最常用的数据库,也是比较适合入门的关系型数据库。 在学习的过程中,应该尽量深入的学习,多了解底层和原理。 不要仅仅停留在了解如何使用该数据库。

计算机网络

计算机网络对于网络编程来说是一个极其重要的主题,应该尽可能多地理解。 对于TCP/IP协议,应该尽可能的梳理知识,做好笔记或者思维导图。 面试过程中,握手三次、挥手四次几乎是强制的。

这是关于开发的编程技术。 与之前的学习相比,这部分的难度相对不高。 现在可以学习web基础,然后学习ssm框架,在B站找一组视频,跟着视频走。 一个小型的ssm项目。 然后学习框架。 我看的视频是传智播客的乐友商城视频。 你可以在B站搜索一下。但是在简历中写项目经历时,不要写乐友商城。 。 这部分也是如此。 不要只认为你可以使用它。 您应该尝试更多地了解底层实现并阅读更多技术博客。

雷迪斯

Redis也是一个几乎编程必备的数据库。 尽可能多的学习redis相关的知识和原理,对于面试来说是一个很大的优势,包括缓存的知识以及redis的几种使用。 我们在实践一些项目的时候,也会尝试使用redis。