大学如何自学计算机科学与技术?

链接:https://www.zhihu.com/question/403657999

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

如果一个科目能自学成功,那成功的这个肯定具备坚强的毅力和强大的兴趣。当然如果真的是由于客观原因不得不选择自学,还是建议多搜集资料,最好跟着一个专业的平台走。你说身边有没有,报了班,花了钱还没有坚持到底的人呢,有,真的有,有的以为资料存了就是学了,花钱了就是会了。其实还差着远呢。如果想自学,别人告诉你的或许是道路和需要学的内容,但任何专业,想学会,必须自己费尽心力,真抓实干的去学。道路或内容是什么,先看看小伙伴们的回答。

作者:Chobits

https://www.zhihu.com/question/403657999/answer/1305194331

嗯,这应该是我最后一次回答“如何自学计算机”相关的问题了。

从零开始,每一步清晰明了,可以直接照着做。

0. 首先,自学计算机,在经济情况允许的情况下,你需要有一台电脑(在经济情况允许的情况下,CPU型号最好是酷睿i3以上的,内存最好8G以上,显卡无所谓)。然后去这个网站注册一个账号,接下来要学习的所有课程都在里面,全部免费:

中国大学MOOC(慕课)国家精品课程在线学习平台:https://www.icourse163.org/

1. 第一门课:国防科大的《大学计算机基础CAP》。这门课是为非理工科专业的学生准备的一些计算机的基础知识。

大学计算机基础CAP_国防科技大学:https://www.icourse163.org/course/NUDT-1001614002

2. 第二门课:电子科大的《离散数学》,到这一步就可以说入门计算机科学了。

离散数学_电子科技大学:https://www.icourse163.org/course/UESTC-1002268006

3. 第三门课:浙大的《程序设计入门——C语言》,正式学习你的第一个编程语言。一般来说,Python语言可能比C语言更容易入门,但是C语言程序设计是一个绕不过去的必修科目,而且接下来的数据结构也需要用到C语言,因此这里花点功夫把C语言学好是大有益处的。

程序设计入门-C语言_浙江大学:https://www.icourse163.org/course/0809ZJU007A-199001

4. 第四门课:浙大的《数据结构》。所谓程序,其实说到底就是数据结构+算法。这门课里也会涉及许多简单又有用的算法。

数据结构_浙江大学:https://www.icourse163.org/course/ZJU-93001

5. 第五门课:华中科大的《计算机组成原理》。到这一步,开始进阶。

计算机组成原理_华中科技大学:https://www.icourse163.org/course/HUST-1003159001

6. 第六门课:哈工大的《操作系统》。这门课理论和实践充分结合,挺有趣的。

操作系统_哈尔滨工业大学:https://www.icourse163.org/course/HIT-1002531008

7. 第七门课:哈工大的《计算机网络》。到这一步,已经达到了本科计算机专业的平均水平了。

计算机网络_哈尔滨工业大学:https://www.icourse163.org/course/HIT-154005

8. 好了,到这里你已经上道了,不需要再看别人的路线了。科班还需要学习编译原理、数字电路等等。但自学不一定要按照科班路线来走,可以自己选择自己想学的内容。计算机科学可以细分为许多领域,每一个领域都可以穷尽人的一生,比如:计算机图形学,逆向工程,人工智能,嵌入式开发等等。加油,共勉。

作者:3cpj
https://www.zhihu.com/question/403657999/answer/1456578660

计算机科学与技术要学习什么?

  • 一般来说,主要的课程有如下:C语言程序设计、线性代数、离散数学、数据结构、操作系统、数据库原理、算法分析与设计、程序设计基础、面向对象编程(c++/java/c#)、软件工程、软件设计模式、计算机网络、高等数学、大学物理、计算机组成原理、编译原理、Linux程序设计、Linux操作系统内核分析、数字电路与数字逻辑、人工智能及图形学等课程。其中:数据结构、操作系统、数据库原理、计算机网络是核心课程中最为重要的几门课。

如何学习?

  • 自学的话,可以制定学习计划,先学好一门计算机语言,譬如:C 语言,这门语言的学习直接关系到后续相关课程学习,譬如:数据结构的学习,有的数据结构用的是C语言实现的版本,那么C语言就必须学会而且还要学好,当然 如果数据结构用的是C++ 或 java语言实现的,那么学好C++或Java同样非常重要; 其次 需熟练掌握 数据库原理;依次排后的为:操作系统、软件工程、计算机网络、编译原理、Linux程序设计等。

  • 如何学好一门计算机语言呢?曾经多次说过:学好计算机语言的不二法门-----亲手敲代码、调试代码。

关于编程问题

  • 在掌握了计算机基础理论课以及一门计算机语言后,就可以尝试编程了,从哪里下手呢?个人觉得最开始以课本上例子作为入门,譬如:冒泡排序、文件操作、链表增删改等;此后可以尝试看看一些开源源码,譬如谷歌的chromium、grpc等等,不一定完全看懂,但一定能够从中吸取营养,对编码能力提高还是有帮助的。

写在最后:务必多写代码、调试代码,对计算机语言的掌握,以及对数据结构等核心基础课程的学习都起到至关重要的作用。

作者:一只路过打酱油的牛
https://www.zhihu.com/question/403657999/answer/1304464554

首先,你需要有数学知识作为支撑。

当然,这个说法不是绝对的,计算机类不同方向对数学的要求差别很大。但还是建议学一学。大一大二期间学习高等数学、线性代数、概率论、离散数学。  

然后是计算机系的一些通用知识。

大一:计算机导论、面向过程编程(一般是以C语言教学)、数据结构与算法(一般以C++教学)和数字电路与逻辑。

大二:面相对象编程(我们学校以java为教学语言)、数据库、计算机组成原理、操作系统、计算机网络、设计模式。

大三按你喜欢的方向选修,我所知道的分为三个大类。第一种是开发方向。选择一门语言去深入学习,并且学习相关技术。第二种是偏硬件类的,我了解不多。第三种是学习大数据、人工智能等热门技术。我个人是选了第一种和第三种。第一种方向主要是依赖个人解决问题的能力,你要学习各种不同的技术然后整合起来实现功能。第三种方向我学到的东西不多,个人经验上来说,第三种方向对数学要求特别高主要还是做数学工作。

最后提一下,如果自学是想以后往计算机方向就业的话还是转专业比较好。

作者:邱八肌
https://www.zhihu.com/question/403657999/answer/1506395998

算机科学与技术的知识较多较杂,个人建议将方向从专业放到语言上,对计算机知识的学习会事半功倍。

我就说说比较俗套一些的知识点和方法吧(没有高大上的干货,请挑选阅读)

首先计算机知识最最基础的东西你要了解。计算机的构造,也就是硬件,一台电脑里什么东西做什么,CPU、显卡、硬盘等等,这个比较简单,多去看看人家装机视频,看看一些计算机基础知识导论也应该有。再来就是系统,软件中最基础的就是系统,建议先明确的了解一下最大众的操作系统windows,学会装系统,学会系统内的一些操作,(分盘、格式化、数据搬运、找注册表之类的)。毕竟有了计算机的基础,你才能继续走下去。

再来就是专业里的东西了,其实我一直觉得我们专业(计科),学的东西很多很杂,且理论知识偏多,理论方面我建议仔细阅读和学习《计算机基础导论》、《数据结构》、《高等数学》、《面向对象程序设计》,会让你对计算机基础知识和一些语言的编写原理有个大致的认识。

而语言的选择也很重要,建议从简到繁,我就是大一学了C语言,学得压力很大,而从前端开发入手时,我就有了一种循序渐进的感觉。

我个人建议的方向:HTML+CSS+JS(可以说是我认为最简单的语言了)→PHP(前面两个学完一个网页你就能自己做了)→C、C++、C#、python、java(这里就自己选择其中一个,主要是看你之后的方向是什么)→数据库(数据库可以在前面的学习中了解,放在最后是我觉得有些比较复杂的原理在学完前面的语言后会更容易了解)

其实掌握一门语言和会操作电脑就是大部分计科学生毕业后的状态,且也能在互联网公司谋到一份有不错待遇的工作。学习计算机知识需要有一定的逻辑能力和空间想象力。我希望你先去有一个初步的了解,然后再明确要不要学他,且决定如何学他。毕竟,这个职业是真的很掉头发……

如果还有任何疑问,都可以评论或私信我。(我是个毕业两年的计科学生,虽然目前工作不是这个类型的了,但是学习过程还是有自己见解的,毕竟那时候学得贼辛苦)

作者:同学请坐
https://www.zhihu.com/question/403657999/answer/1304806417

很明确的给你一个答案,自学计算机非常的难。建议报班从头学起,大学期间是可以利用课余时间去学习,千万不要想着买几本书看看就行,我大学时候计算机书籍都是买来之后都起灰了。

很难坚持下去,最稳妥的选择就是报班再修一个学科,或者和学校进行沟通换专业或者修两个专业都是可以的。

加油同学,计算机并非相信中简单,学不好,学不精很容易半途而废。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

你可能感兴趣的:(人工智能,数据库,编程语言,java,软件开发)