LOADING

加载过慢请开启缓存 浏览器默认开启

计算机学业规划

2024/3/23

写在前面,这个还没写完,等我想想,不代表最终成果。


🌞🌞🌞关于生涯发展🌞🌞🌞

不管你想做什么,都建议大一大二多学点东西多做点东西,以后也有多东西说。

🎉🎉 就业

都是建议哈。
学历>实习>项目>竞赛。自身实力也非常重要,竞赛最好是顺手拿,可以花点时间但是不要花过多时间。蓝桥杯省奖都是减分项。就业要学习的内容不求广,而求深,样样通不如一样精。
建议早点学完一个体系,而且需要较为功利性的学,除非时间非常非常充裕,不然只要和工作无关的事情就不要花太大量的时间。理想状态下尽量大二暑假前完成几乎整个体系课程的学习,学校内课程能过就行。61分浪费,59分白费,60分就行。
大二暑假前一两个月狂投简历(也不要诚实的说自己是大二的)。平时的课直接找人代课,回来期末考个试。尽量在大三结束,大四开始那段时间后的秋招前拥有至少一段实习经历,一段大厂比较难。最好是两三段实习经历,三段是极限状态。
实在没学完也没关系,尽力就行,也不要太过于焦虑,没有人可以做到完美,不用做到完美也可以去好公司

🎉🎉考研

考研的话,开发的内容可以不用学的太快,但是建议平常多扩展课外知识,也多少做点东西,复试要说的。
能保研则保研,注重平时绩点,能稳定所有科目85甚至90以上最好,精力不够优先抓学分高的科目。
平常注重数学与英语,专业课最好是注重4门计算机基础课(计算机组成原理,计算机网络,操作系统,数据结构),建议学习顺序是: 数据结构——计算机组成原理——操作系统——计算机网络。计算机网络和操作系统不分先后。离散数学和数据库稍微注意一下,别的可以先放放。
其他计算机内容可以凭兴趣学,如故意学一些新鲜知识,感兴趣的知识。也可以功利性的学,如学一些开发已备考研失败,或者学习人工智能,为考上研究生后的工作奠定基础。但是依然不要跟随学校的进度,如果你真的想学好某一科也不要只听学校的课(除非你只是单纯想过,不想学)。
对于考研复试来说,竞赛可能比较有用,有机会可以多参加一些竞赛。ACM酌情考虑,不是不推荐,对于不是大牛的人来说,性价比不是特别高。

🎉🎉兴趣

可以尝试研究一下前沿技术,学习一些新语言。建议多看看老外做什么。也可以与平常玩的游戏相关(待添加……)


🌞🌞🌞关于学习内容🌞🌞🌞

🎉🎉通用

🌟学习方式上

  • 对于实践性的内容,一般是就业的小伙伴要注意。一般实践性多的,应用型的,经常敲代码的开发相关的工作。一般前期是看一些机构的视频跟着学,后期最好是养成文档+视频的方式,甚至纯文档的形式。
    不建议使用过多书籍,原因是,这部分技术迭代非常快,一般内容做成书再出版要过好几年,这时候可能技术都升级了,甚至直接淘汰了,时效性太差了。而文档因为容易发布,所以时效性要很多,尤其是官方文档,如Springboot官方文档,VUE官方文档。官方文档的知识内容是最全的,也是最权威最正确的,时效性也是最高,所以进阶学习这部分内容建议养成读文档的好习惯。
  • 对于理论性内容,一般是搞研究型工作,如考研的小伙伴要注意的。理论性的知识,则比较推荐用书籍来学习,如比较典型的,深入理解计算机系统(机械工业出版社),鸟哥的Linux私房菜。原理性的内容,一般这部分的技术迭代比较慢,再就是这部分知识很有深度,一般书籍就比较擅长这方面,当然也可以看一些老师的讲解视频,同时也推荐一些国外的学校,比如麻省理工的视频的讲解。

🌟通用知识学习推荐

待添加……

哈佛大学CS50计算机导论

个人非常推荐,计算机的基础的基础,可以为你的计算机学习之路奠定非常非常好的基础。学习一下这个能帮助你拥有很多对计算机基础知识的理解,在今后的学习中也会少很多疑问。
【4K HDR 自制中英字幕】CS50x 2024 哈佛大学计算机科学和编程艺术入门课程

湖科大计算机网络

我自己看的一个,借助一些动画和图片,让计算机网络变得实在是太通俗易懂了,而且不是上课录播(本人讨厌上课录播)。
深入浅出计算机网络 微课视频

算法

初学者建议:

后面的内容都建议先学完数据结构再学习
找工作(进阶)建议:

🎉🎉工作方向( 按岗位)

工作方向的学习内容很多网站已经总结的相当完善了,可以直接看这些现成的,选一个你觉得合适的岗位直接学即可。

🌟一般本科(非92)推荐职位:

建议直接去b站、知乎等地方搜索职位的相关内容,这里暂时只做推荐和大体介绍,不作详细介绍。
暂时只介绍软件方面,硬件我不了解

推荐等级为

  • 推荐
  • 较推荐
  • 较不推荐
  • 不推荐
前端开发
  • 介绍: 对于网站方面,主要做的内容,就是你打开一个网页能看的部分,你打开一个网页能看到的图片,内容,动画、交互效果,这些都是前端完成的。
    对于桌面应用程序,小程序,手机app,现在也多是由前端人员开发的。
  • 优点: 趣味性极大,容易做出成果,容易获得成就感,学习起来难度也相对要简单一些。对算法要求低。
  • 缺点: 工资相对低一点点。技术迭代非常非常快,需要不断学习新知识。然后玩前端的人总是喜欢整一些花活,喜欢整一些奇奇怪怪的库,然后用很多奇奇怪怪的表情符号,然后整的有些东西很乱(这个可能对于一些人来说不是缺点)
后端开发

能写后端的语言很多,但对编程了解少的人暂时只推荐 java,

  • 介绍: 后端的范围其实比前端要更广,后端做的都是在背后你看不见的事情。如与数据库的交互,数据上的处理。主要做的就是与数据的交互。但后端绝不仅仅只是说的这么简单。
  • 优点: 工资相对高一点点。
  • 缺点: 难度相对高。对算法有稍高的要求。有时候大部分时间你都在盯着一个黑框写代码,有时候容易枯燥。做一些难度较高的领域(如并发,Redis缓存)时,容易整出挫败感。
全栈开发
  • 介绍: 就是前端+后端。

🌟其他:

人工智能

不推荐。本科别选,除非你牛逼炸了。考个研,本科生找不到工作的。

测试

较推荐(存疑)。分为测试和测试开发,主要职责时产品上线之前,尽可能的找出产品可能会出现的bug并反馈,保证产品上线后的质量。(本人学过一段时间,挺枯燥的)

客户端开发

较推荐(存疑)。一般指的是桌面应用程序,或者一些工厂生产,或者医疗方面的机器上用的界面。个人觉得应该不是互连网。一般说学的内容是C++和Qt框架。互联网的桌面应用程序则参考前端。

其他的后端开发
C++

难度高,而且现在很少用公司用C++作为后端,不建议尝试,除非你牛逼的很。

Go

学校层次低,较不推荐。容易学习,但是一般用Go的岗位很多之前都是用的Java, 基本上Go的岗位都是先要求会Java的,而且Go很多岗位都是公司内部从Java转到Go的,学习门槛不高,但是求职门槛可能高。

C#

不推荐。国外比较兴,国内想都别想

Python Web

不推荐。对于web框架,也就是网页框架来说,如Python的Django, Flask。由于Python性能比较低,一般不用来干Web的后端开发,但是也有少数会用,学这玩意儿到时候选择会比较少,而且大厂应该没有用它作为后端语言的。

Python大数据开发

较推荐。大数据开发,Python则是一个很重要的需要学习的点,对于大数据的开发方面,Python的支持是必不可少的。需要学习如Hadoop,HDFS,MapReduce,Hive等一些大数据的处理技术。

其他上面没有的

更不推荐

游戏开发

推荐程度未知。但是如果你想去米哈游,腾讯这种,一般学历门槛会比较高。
感兴趣的可以了解一下Unity(C#)或者虚幻(C++, 蓝图),有意者可以探索一下Godot(多种语言)。

🎉🎉科研(考研)方向

跟学校的路线有点像。

  • 编程语言基础,如C
  • 面向对象语言,如C++或JavaSE
  • 最终你更常用的语言,如人工智能与大数据就是Python,开发就是JavaEE,嵌入式还是C/C++那一套
  • 离散数学,数据结构,数据库原理,计组计网操作系统
  • 其它梗专业化的内容(下方)

🌟人工智能与大数据分析

数据分析方面用的多的是Java和Python,Python用的多,Java有时候也会用到(你不学的话有时候用到了你就觉得有点为难),与开发不同的是,你只需要学JavaSE就行,也就是基础语法,不需要学习JavaEE与后端开发相关的内容。
Python必学,最基础的还有Python的常用第三方库,如numpy,pandas,matplotlib等
机器学习方面,scipy,sklearn等,还有pytorch或者tenserflow这些机器学习的库。
还需要一些数学知识,如统计学(不光概率论),还有些人工智能相关的算法(和普通的算法不一样)
PS: Python运行效率很低,所以这些库基本上都是用C/C++写的,性能很高,所以如果你想写更底层的代码,也需要会C/C++,当然不用学特别特别深。
这边的路线差不太多: 人工智能最新最完整学习路线,建议收藏!! - 知乎 (zhihu.com)

当然不需要全学哈,一般不同的科研方向需要的东西不一样,而且难度都很高

🌟算法

非专业性质的算法看上面,太专业的算法我也不清楚,ACM那边的我不懂

🎉🎉兴趣爱好方向


🌞🌞🌞关于对常见编程语言(大类)的介绍🌞🌞🌞

一些小规模的语言就不说了,比如HTML CSS, SQL, Shell

累死我了先不写了

C:

特点:

C++:

特点:

Java:

Python:

C#:

Go:

Rust:

Kotlin:


🌞🌞🌞关于学习工具(开发)🌞🌞🌞

个人主观主观主观评价

🎉🎉与大家最近有关的

记事本/Notepad++/NotepadNext等记事本

  • 推荐程度:
  • 使用场景: 简易,快速,临时性的打开文本文件时使用。就是真的只是单纯想打开文件看看用的,或者进行一些很简单的修改,开发千万别选它。用它写代码的人99%都是为了装逼!
  • PS: Notepad++涉及辱华事件,爱国人士请勿下载
  • 下载地址:

DevC++/小熊猫DevC++

  • 推荐程度: ⭐⭐⭐
  • 使用场景: 简单的C/C++程序,刚开始学习C/C++时使用。
  • 优点: 小巧,简便,开箱即用。适合初学者刚开始时使用。
  • 缺点: 不建议拿来搞中大型项目的开发,功能过于简单。无代码补全(小熊猫版有)
  • 下载地址: Dev-C++ download | SourceForge.net

JetBrains全家桶

Microsoft Visual Studio

  • 推荐程度: ⭐⭐⭐⭐
  • 使用场景: C++开发首选,少一星是因为我主观主观主观上觉得它很臃肿,然后界面不美观,一些组件和功能的位置和其他IDE放的地方不一样,用惯了其他IDE容易找不到。而且还对已有的C/C++标准进行了一些奇奇怪怪的修改。(如scanf无法使用,只能使用scanf_s)
  • 下载地址: Visual Studio: IDE and Code Editor for Software Developers and Teams (microsoft.com)

Microsoft Visual Studio Code (简称:VSCode)

  • 推荐程度:
    • 除Java外所有: ⭐⭐⭐⭐⭐
    • C/C++: ⭐⭐⭐⭐
    • Java: ⭐
  • 使用场景: 除了 Java 之外的全能性选手。
  • 优点: 简单易用,打开文件贼快。完全开源(完全开源也意味着完全免费),对语言的支持来自于社区(如果你经常接触互连网,你就知道社区的力量有多大),插件众多,比VS好看多了,美观,外观自定义。
  • 缺点: 有些操作需要指令完成,可能门槛比Jetbrains家产品稍微高一点点(但我不觉得这是缺点)。C/C++的配置比较繁琐。
  • 下载地址: Visual Studio Code - Code Editing. Redefined

🎉🎉其他(近期用不到,不说了)

Vim/VimNeo

HbuilderX

Atom

Zed

……

🎉🎉总的来说

也许上面的介绍看的有点眼花缭乱了。直接上总结

  • 初学者: 刚开始学习C/C++可以使用DevC++,但是后面继续学习建议换掉
  • C/C++: 不想花太多时间配置,且对其他两个不太了解选Visual Studio, 如果用过Jetbrains家的产品(如Idea),非常喜欢他们家的产品可以用 CLion,如果喜欢VSCode,且不讨厌花很长时间配置用VSCode
  • Java: 无脑Jetbrains家的Idea,没有其他选择,不要想什么eclipse,早过时了。初学JavaSE时可以用Idea的社区版(免费),后期学JavaEE时(Spring,Springboot)必须上旗舰版(Ultimate,付费版)
  • Python: VSCode或Pycharm,Pycharm把很多需要用命令操作的内容都给图形化了,我觉得算是双刃剑,既有优点也有缺点,然后工具给的比较全,很多不需要自己太过于折腾。VSCode需要配置,我个人比较喜欢。目前我认识的人当中只有我自己用VSCode写python
  • 前端: VSCode, 没有其他太好用的,也有人用Webstorm,开发uni-app可以用HbuilderX。
  • 其他没提到的的语言: 除Kotlin全部首选VSCode

当然当然当然,选择一个你喜欢的IDE就可以,如果实在还是不知道选哪个,那么在看网课视频的时候,你就用跟老师一样的IDE就行。


🌞🌞🌞关于学习工具(其他)🌞🌞🌞

待添加……

SQL: Navicat


🌞🌞🌞其他建议学习的内容🌞🌞🌞

我觉得每个人都要会的……
都做了很简单的介绍,先不做详细介绍了,太累了,可以自己搜索一下

🎉🎉开源 & Git & Github

没有太成体系的课程,需要的话我可以讲
GitHub介绍:如何找公开的软件、项目、代码等 - 开源的意义和知识的突破 opensource
git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request

开源

很重要很重要,这是一种思想,代表我做的东西完全公开,源代码完全公开。大家可以随便学习,也可以拿去使用。互联网能发展到今天,发展得这么快,就是因为开源。

Git

是一个源代码管理工具。通俗一点说就是,帮你把代码上传到代码仓库,在和别人合作写代码时方便管理,如合并代码,查看哪一行是谁写的,保存代码提交记录,也可以用于代码的回滚。你不会Git我想不到公司要你的理由。

Github

开源的代码仓库的网站,有很多优秀的开源项目,如Linux内核,VSCode源码等都在其中。开源意味着免费,我们可以随时使用这些项目做出来的软件,也可以随时观看他们的代码进行学习。甚至可以加入其中,为项目做出自己的一份贡献。
它的用途非常非常多,最简单的你可以把它当作专门存放代码的网盘,我们可以从中上传代码,也可以拉取代码。多人合作开展项目时,除了你本地的代码,我们还可以将代码存入到Github上,这样有一个“中枢”,我们所有人写完自己的部分都可以统一的上传到这一个地方,当我们需要更新别人写过的部分,只需要从中拉取,非常方便
你还可以用它搭建网站,完全免费!也可以用它存文件,也可以用它做一些功能,甚至一些很稀奇古怪的东西都可以。
当然这种平台不光有Github,国内的还有Gitee,还有公司内部自己搭建着用的Gitlab等。只不过Github是最优秀也是最推荐大家用的。

🎉🎉Markdown语法

一种写文档的格式语法,专属于程序员记笔记的方式!!!
专注于快速构建简洁美观的文档,现在程序员写文档记笔记都用它!
因为语法能展现的格式不多,且比较简单,文章的作者不需要花大量时间考虑排版,从而可以让作者更专注于内容。
并且很多地方都支持Markdown语法的网页直接生成网页,如一些自建的博客网站,其实CSDN等网站都是近似于Markdown语法的格式,只是很多人不知道而已
学习方式: B站搜

🎉🎉搜索引擎的使用

遇到问题多自己搜,不行还可以ChatGPT,比如一些报错,不要复制所有信息,找到报错信息的一些关键点,报错的错误代码,也许网上会有一些和你同样遭遇这个问题的帖子,也许能够解答你的疑惑。搜索无法解决的,再去求助其他人。
推荐的网站: CSDN, 稀土掘金(前端), 国外的stack overflow

🎉🎉快捷键的使用

Windows 10 快捷键速查表 | Cheat Sheet (cheat-sheet.cn)

  • Ctrl+X, Ctrl+C, Ctrl+V: 剪切,复制,粘贴
  • Ctrl+Z, Ctrl+Y: 撤销,回溯
  • Ctrl+S: 保存
  • Ctrl+A: 全选
  • Ctrl+N: 新建文件
  • Alt+→, Alt+←: 下一页,上一页
  • Win+R: 运行
  • Win+L: 锁屏
  • 不想列举了

🎉🎉电脑截图/视频的N种方法

截图

  • QQ: Ctrl+Alt+A
  • 微信: Alt+A
  • Win10/Win11: Shift+Alt+S
  • 键盘: PrtSc键(一般在F12的右边),或者PrintScreen键

视频

  • Win+G换出Xbox界面,找一找
  • ScreenToGif软件,可以录制画面为Gif动图
  • 一些视频录制软件
  • 实在不行你用手机拍吧,没办法了

🌞🌞🌞推荐的B站up🌞🌞🌞

  • 康文昌: 我自己比较推荐的,能让你对编程更感兴趣
  • 黑马程序员: 内容全,质量不错,找工作开发首选
  • 韩顺平: 学Java也可以看他,讲的很细,但是讲的慢,不建议从头看到尾
  • 技术蛋老师: 以少的时间简要明白一些知识,讲的很好
  • 奇乐编程学院: 以更少的时间快速了解一些知识内容。
  • 待添加……