Kaiyun(中国)开云·官方网站

请问开云APP 开云官网入口计算机类专业都有什么区别? | 开云(Kaiyun.com)
× 快速导航
新闻资讯
分类
请问开云APP 开云官网入口计算机类专业都有什么区别?
发布日期:2023-10-07 20:16:20

  开云体育 kaiyun.com 官网入口开云体育 kaiyun.com 官网入口因为很多高考完和大一下分流的同学在问,所以我之前写过一篇计算机大类专业的分析文章

  非要说差别的话,大概是计科考公或者走选调选择会更多一些,软件工程的学费会贵一倍左右(我们学校软件接近1w,计科就和大部分专业一样的学费 4k-6k 的样子)

  从上的课程来说,软件会多出一些软件设计、软件工程、软件建模这样的课程,计科则会多一些偏硬件设计的课程,比如 微机原理与系统。

  但是无论计科还是软件、物联网这些专业,在课程设置上基本上跳不出这个框架(大同小异):

  不管咋说,这些学科出来的归属大概率都是互联网公司码农,我学计科一样可以去做大数据、物联网,学物联网一样也可以去做 Java。

  这里的 > 不是说网络工程就比大数据和物联网好,而是更适合大部分人,除非你有特别爱好,否则不要去选物联网、网络安全、大数据这类,虽然说上的课和计科、软甲都差不多,Kaiyun 开云但是会学得更杂一点。

  计算机科学与技术(Computer Science and Technology)是国家一级学科,下设信息安全、软件工程、计算机软件与理论、计算机系统结构、计算机应用技术、计算机技术等专业。

  大家可能现在还会听到物联网、人工智能、大数据等专业,不管叫什么,这些专业要学的核心主干课程就是那些CS基础课,只是专业方向侧重不同而已!

  而且这些专业出来大概率最终就业归属都是:互联网公司(BATTMD等)码农

  而且这些细分的二级学科方向不会限制死你的方向,比如你学软件工程,你一样可以研究大数据、人工智能。

  高级语言程序设计、数据结构与算法、电路与电子技术、集合论与图论、代数与逻辑、数字逻辑、计算机组成原理、操作系统原理、数据库原理、编译原理、软件工程、计算机网络。

  学习计算机最核心的方法,也是小北一路走来总结的,按照学长推荐的这个路线走,大学毕业成为offer收割机,去BAT TMD 这些都没啥问题:

  入门看视频 + 不断编码 + 深入看源码和经典大黑书 + 做国外计算机硬核Lab

  学习计算机一定不要想着速成,要下苦功夫,去啃那些经典书和源码,然后自己动手写代码。

  接下来,从我科班踩的坑出发,给还在上大学的学弟学妹们一点学习建议以及划重点。

  虽然我是985 CS 科班出身,即便是所谓的科班,但任然认为自己是”自学编程“。

  因为我想了下,很多东西、编程知识都是我自学的,而学校上的CS基础课也仅仅是满足考试而已。

  大一上完C语言课,我的水平几乎停留在做课后习题,自己对于内存、指针都是看似懂了,实际没有领悟到精髓。

  而后我依靠看大量C语言和系统底层方面的书籍,比如《CSAPP》、《汇编语言》《程序员自我修养》、《C和指针》、《深入理解C指针》等,才勉强说对于内存、指针这些彻底搞懂了。

  过去几个月,我微信、知乎收到很多学弟学妹私信,问通信、电子、机械这些专业的同学转码要怎么学?

  我们可以看下网易云课堂这个计算机科班的课程体系,虽然不是每个学校都一样,但是大同小异:

  比如计组、汇编、体系结构等课程会让我们明白计算机的构成、运行机制,以及典型的冯诺依曼结构,也会对于内存和指针这样两块在任何编程语言中都是极其重要的概念理解非常深入(不要扯Java这类语言没指针,你完全可以把引用当做受限指针)。

  另外,像数字逻辑、模电这样的课程主要是让你明白数字:浮点数、整数都是如何在计算机内部表示和存储的,以及一些门电路的知识。

  操作系统则让你明白「一个程序是如何跑起来的」,一个它是如何编译、链接、加载、运行的,在这一整个过程几乎会涉及到操作系统的所有环节,学了这个你就会明白 synchronized 关键字在OS层面到底是如何保证的。

  而计算机网络则是让你明白「一个数据包是如何从一台主机发送到另外一台主机的」,这里面涉及到路由算法、差错检测、寻址、重试策略等等,包括 TCP/IP整个协议栈

  编译原理则是让你明白高级语言都是如何被编译程序识别、转换为另外一种语言的,我认为编译器的本质就是做转换。很多人觉得平常用不到编译原理,其实不然。

  你清楚的知道你写下的每一行代码都会做什么,会调用到哪些系统资源,它会占用、依赖哪些系统资源。

  虽然不了解原理,也不妨碍使用,但是往往在设计和排查问题的时候,原理非常重要,因为原理就是理论,理论可以帮助我们排查掉各种明显错误的分支,而留下少数理论验证通过的分支,会大大降低我们的工作量。

  把操作系统、组成原理、系统编程这些学了,认认真真的把计算机基础打扎实了,那你其实就是一个「计算机科班学生了」。

  接下来说下我认为对一个「计算机知识体系完整的毕业生」最重要的课程,你至少得把下面这些课 都学了:

  1、 编程语言:C/C++ (学好了这两门,基本其它编程语言一周就上手了)

  2、《系统级编程》(我们教材是CSAPP,这是我本科上过最值的课!System Programing)

  推荐:《C程序设计语言》、《C与指针》、《C++ Primer》、《C++对象模型》、《Effective C++ 》

  我当时应该是看了不少网课,然后自己跟着教程”抄了“一个 mini os。

  学习操作系统一定不要去死看书,最好跟着那种有配套实验完成一个os的课程或者书。

  我推荐大家花在「基础 : 领域知识 : 技能」 接近 7 : 2 : 1。

  这也是我推荐你在大学期间分配学习时间的比例,至少学习基础知识的时间不少于 50%,当然,这些东西你都学完了那可以去找找感兴趣的方向专研一下。

  不要大一、大二一上来就扎进 Java Web、Python 爬虫这种东西,这些可以学,但不是重点。

  这篇文章也没写到具体该如何去学,有哪些好的资料,由于篇幅限制,我准备把这个单独再写一个 《How 篇》,持续关注我哟~

  这个问题换个表达就是「一个数据包是如何发送到另外一台电脑的」,如果你能完整的说出整个过程,那么计网你一定是学懂了!这就是为啥面试这么喜欢问这个问题的原因。

  这个问题回答得越详细越好,基本上能说清,你就理解了编译原理、操作系统、组成原理这三座大三。

  好吧,考虑到你刚刚高中毕业,根据你的问题,还是给你建立个认知。先给计算机及相关系统简单分个类吧,再简单说一下前几个专业,更多信息请学会使用搜索引擎。

  (按规模还可以分成大型计算机[比如服务器]、个人计算机[如笔记本电脑]、掌上计算机[如智能手机])

  ①硬件没有太多说的,就是组成计算机的物理条件,目前都是基于图灵系统构造的。包含了计算机、单片机等。当然还有相应的周边硬件也可以属于计算机硬件,比如打印机,路由器等。

  ②计算机软件,分为计算机操作系统和应用软件。系统软件就是常说的如Windows\Mac OS\Linux\Android\iOS等,操作系统的功能简单说是帮助用户管理计算机硬件(详见《计算机操作系统》);应用软件就是为了实现某一功能/完成某一工作,开发的利用计算机完成该功能的软件,也就是常见的各种exe\dmg\pkg格式的APP、游戏等。

  ③计算机网络,就是将各地N立计算机连接起来的通信通路,它是互联网的基础。它包含网络硬件(物理链接),网络软件(网络操作系统)。

  那么,有了分类,就来具体针对你的问题进行回答(专业定义请百度,我只大概说一下前几个专业,毕竟太多了):

  这个专业会学习研究整个计算机的生态系统(硬件、软件、网络),一般来说偏理论一点,会非常系统地学习整个计算机方方面面的知识,是比较传统的计算机专业,可以说是比较全,但是本科阶段不够深,而且理论面太广,主要是为你建立其整个计算机系生态统的认知。你可以理解为大套餐,你也可以根据自己的口味专精某一方面。毕业可以继续深造从事计算机相关方面的科研,也可以从事硬件、软件、网络各细分领域的相关工作,可以说很万金油,但是精度可能不太够(靠自己学精某一方面吧,也看学校的教育水平)。

  顾名思义,就是主要学习研究软件开发的专业,一般来说主攻计算机软件中应用软件的开发。当然,也会学些计算机相关的基础课程(对计算机硬软件网络的基础认知,以下简称计算机公共课)。这个专业的应用性比较强,不光强调自身的软件开发能力,还会学习一个软件开发工程的管理/协同方法。主要就业也就是常说的码农(学不好就是码农,学好了是软件工程师,哈哈哈),从事软件架构、算法以及基础开发等工作。PS:也有可能做产品经理……

  顾名思义,就是主要研究计算机网络的专业,一般来说会除了计算机公共基础课外,较深入研究计算机网络的硬软件管理、应用、开发等。毕业了主要从事计算机网络的搭建、维护和安保等工作,一般工作就是搭建/维护企事业单位的服务器、内部网络之类的,称为网络工程师,俗称网管(开玩笑)。

  顾名思义,就是主要研究计算机信息安全与保障的专业,一般来说除公共课外,会较深入研究计算机的信息安全(服务器、PC等)、网络安全方面的知识,主要对计算机及相关系统的安全负责(找漏洞,开发补丁……)。毕业了主要从事计算机安全方面的工作,保障企事业单位的计算机系统能够正常运行,不遭受/避免恶意攻击。一般称为信息安全工程师或网络安全工程师(按具体领域分),电影里演的黑客可以认为是这类,emmm……网警也算(2333)

  一般性工作:搞渗透、审查别人的代码、看别人薅羊毛、防止被别人薅羊毛、吹牛逼……

  物联网工程我不是特别了解,我理解的就是把任何终端都通过物联网技术连接起来,通过互联网进行链接控制的工程技术,最常见的就是共享单车的控制系统了,可控监控摄像头应该也属于物联网技术。它会同时涉及到终端硬件/软件,终端管理系统等方面。具体做啥……emmmm,你就假设有一堆自行车,要你开发出如现在共享单车的软件系统和硬件设施(车上的智能锁,扫码系统,轨迹、计费,管理网络等……),具体我线。

  Emmm……再提一下电子与计算机技术,这个专业其实会较多与电路板打交道,也会涉及到单片机,计算机方面除了公共课也就学一下编程语言,不要被名字误导,当然,不同学校可能培养方向不同。还有数字多媒体,更倾向于视觉表达,比如前端设计开发,游戏动画设计之类的。

  计算机类专业多热门无需多言,但是不同的学校对计算机类专业定义不同,在大类招生越来越多去情况下,还是要留心一下,万一因为粗心导致后来发现某学校的计算机类某具体专业并不是你想学的就晚了。

  比较奇葩,信息管理信息系统属于管理学,不知道为什么列入计算机类?按照惯例专业分流时总会有人去学这个,那当初冲计算机类报考的考生学了这个不知道做何感想?但这只是惯例,不排除南京大学有其它比较骚的操作。

  属于比较正常的比较纯粹的计算机类招生,计算机类、软件工程、网络安全、数字媒体技术等是分开的,很多院校,尤其是两电一邮以及其它电子信息类比较强势的院校都是这么做的。

  不再单列,而是把计算机列为某大类中的一个专业,你没法直接报考该专业,只能报考该大类,等专业分流时才可能读到计算机,但是谁也不能保证你一定读到该专业,这就存在一定的风险,虽然风险肯定不会特别大。

  当然这里只是列举了几个学校几种类型, 不排除还有其它形式存在,此文的目的只是提醒大家留个心眼,注意看括弧内的专业名称,仔细看相关说明,别低级错误。

  计算机科学与技术是专业的一个总称,像软工、网络、信安、物联网、数媒这些都是它的细分。就像当年本科时我就读的是学校

  软件工程是上面说的计科的分支专业,主要研究的是软件工程,可以理解为偏软件开发的计算机科学。

  网络工程顾名思义专攻网络方面,主要研究网络,也分硬件和软件,硬件的话比如服务器维护、计算机安装维护,软件的话就类似计算机网络、安全等。

  主要研究的是网络信息安全,未来就是从事各类信息安全系统、计算机安全系统的研究设计开发管理等工作。

  是个有前景的行业,物联网专业却是个我不太看好的,学的东西太多,编程,通信,网络,硬件,电子,基本就是把其它学科一些有用的课程拿来,降低一个 level 学一下,驳杂且多且不精...

  其中软工的学费较贵,差不都1w一学期,计科的学费则正常一些,差不多接近软工学费的一半。

  就我身边的同学,软工的同学毕业出来以后基本都从事了互联网行业,而计科出来的同学除了大多数在互联网行业,还有少部分的参与了选调和考公。

  其实不管怎么说,这些学科出来基本就是混迹在各大互联网公司,这只是专业选择,代表你未来可能会从事的方向,但是没人规定说我计科出来的就不能去做网络,不能去做物联网,也没说我网络出来的不能去做开发。

  学习计算机最核心的方法,也是学长一路走来总结的,按照学长推荐的路线走,大学毕业后成为 Offer 收割机肯定是没问题的:

  计算机经典书籍哪里找,我花了好久整理好了,大多数书我都看过,质量有保证,自取。

  大学之前从来没接触过编程,一度以为计算机专业就是打游戏专业,正是靠着自己的努力,从一所二本院校考到了软工排名前三的 985 院校读研!

  当然对于自学这件事,需要能耐得住寂寞,需要长久的坚持,这个坚持不是一天两天,不是一个月两个月,而是以年为单位。

  最好及早决定自己是要毕业直接工作还是要考研,因为虽然在学习内容上相差不大,但是重点努力的方向还是不同的!!!

  着重就业,那你的大一大二就玩命学,之后大三找机会进大厂实习,为你之后毕业找一个薪资炸的工作打下基础。

  最好能做点工程项目,如果有机会进实验室跟着老师或者有额外的机会做点东西都行。

  校招来说,计算机基础重要的就这么几门:数据结构与算法、计算机组成原理、操作系统、计算机网络、数据库这几门。

  针对 LeetCode,题的解法有很多,我们往往追求的是最优解,这里有一份清华学长整理的LeetCode 最优解,强烈推荐:

  除了数据结构的其余的课程的话,上课认真听,下课多琢磨,可能很多东西抽象懵懂,没事,你要你认真学了,认线.考研

  有的考 408,有的只考数据结构算法,但这些都不是问题,你只要这些课都在你的学习之时学好,都不成问题。

  除了编程语言和计算机基础课程外,你想考研,还要把数学(高数、现代、概率论)、英语、政治学好,这些都要考。

  还有就是,最好大一大二能参加个竞赛,拿个有点分量的奖,还有像什么奖学金啦这种能争就争,对考研复试有好处。

  大学的自由时间一大把,只靠上课听讲远远不够,上课你不睡觉我都算你是条好汉,你是大学生了,不能只低头拉车,更要抬头看路!

  这个是必须,根据自己的规划,无论是选择 Java、C++、Python 都行,无论你以后是不是用这门语言,这都是你找工作的敲门砖。

  当个熟练工,才能显得你牛x,有机会跟着学校的老师或者进入到实验室做项目,一定要坚决跪舔,要跟着学习跟着做。

  学好数据结构、操作系统、Kaiyun 开云计算机网络、计算机组成原理、数据库这些基础课程。

  以后不管你是走考研这条路还是面试找工作全都用的上!学好这些,走到哪里都不怕。

  但是现在网上好的经验这么多,有多少人是能从头到尾看下来,这其中又有多少人是能认真跟着做的。

  内容涉及计算机应用,Internet,与计算机交互,音频、视频和打印,数据处理,存储数据,操作系统,应用软件,网络,在线世界,数据库管理,信息系统,软件编程和开发,以及计算机安全等内容。

  很多人都觉得 C 语言入门难,不能像 Python 这种编程语言一样快速获得成就感。

  自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。

  数据结构经常与算法放在一起,在有些高校,会存在“数据结构”和“算法设计与分析”这样两门课。

  这就造成很多同学懵圈,数据结构与算法有什么区别?甚至有些同学认为这就是一种。

  数据结构与算法的学习,往往要伴随着“刷题”,如果没特殊情况,我建议大家刷 LeetCode 就好。

  我在大学的时候参加 ACM,拿过亚洲区预赛银奖,刷题贯穿了我的整个大学生涯,总结了一些刷题的经验,感兴趣的可以看下。

  我觉得它是所有计算机基础课程中最难学的一门课,整个课程的核心就是使用数字逻辑电路和触发器搭建一个可以运行汇编指令的机器。

  比如你学习 Java,用到多线程技术,实际上操作系统才是负责管理进程和线程的。

  不懂操作系统,你在未来学习编程语言的高级特性,涉及到线程进程调度,内存分配,或者是学习 Linux 相关的知识时,都会一头雾水。

  链接:【清华大学】操作系统 陈渝 全113讲(下)_哔哩哔哩_bilibili

  学习计算机网络,你需要懂得Socket编程,知道TCP/IP网络模型,了解OSI七层网络架构,知道一个数据包是如何层层包装,再层层拆包,从客户端发送到服务端。

  但是计算机网络好学的多,因为计算机网络不抽象,在现实生活中,都能找的到例子。

  绝大部分都在用谢希仁的这本《计算机网络》,讲的很好,浅显易懂,同样也是考研 408 的常用教材。

  链接:计算机网络微课堂(有字幕无背景音乐版)(陆续更新中......)_哔哩哔哩_bilibili

  学习数据库,不仅要懂得SQL语句,表设计结构这些基础部分,还要懂索引、慢查询优化,配置参数调优。

  我大二的时候有一段时间想转去 Python,当时也没买书,就想先了解一下,不知道怎么就搜到了小甲鱼的论坛,当时跟着他的视频学过一段时间,觉得讲的挺有意思,还专门去他网站冲了个永久的会员,好像一百多来着,后面好像再也没登陆过...

  后来看到小甲鱼的这门课在 B 站上已经 1500w+ 的播放量,搜索排名第一(不过第一的那个应该别人发的,他们自己的账号是200w+播放)。

  这是微软放出的一门免费的 Python 教程,名字叫 Python for Beginners,专为初学者打造,一共有 44 个视频,每个视频的时长大概在 2-6 分钟之间,只有极少数的几个时间在 10 分钟以上。

  整个课程由两位讲师共同讲解,分别是微软高级项目经理Christopher Harrison和微软的 AI Gaming 开发经理 Susan Ibach,英文配中文字幕,食用起来极佳,同时课程的示例代码和 PPT 微软也同步到了GitHub 上,只能一句走天下了...

  这是我买的第一本 Python 书,当然也是刚开始学的时候看了别人的推荐,加之也是豆瓣评分 9.1 的书,就买来看看。理论 + 实践,前面是基础知识,后面是实战项目。

  前面的基础知识讲的很详细,以至于给我当时的感觉有点过于啰嗦了,不知道其他人看会是什么感觉。每个知识点后面都带着“动手试一试”,我感觉这点比较好,学编程之初,就是要多练,多敲代码...

  至于后面的实践部分,包括一个简单的 2D 游戏、数据可视化和 web 项目,可能是当时我太菜了,或者之前没有做过项目的原因,我觉得这三个项目出现的太突兀了,2D 那个游戏做完我就直接被劝退了,倒是没觉得有啥提升,没甚意思,sad...

  而且跟着书做项目,因为书出版的时间太长,很多用法都变了,照着书上做,大概率会有运行错误的时候,可能心态有点崩...

  我大二的时候有一段时间想转去 Python,当时也没买书,就想先了解一下,不知道怎么就搜到了小甲鱼的论坛,当时跟着他的视频学过一段时间(现在看来当时的视频比较老),还专门去他网站冲了个永久的会员,好像一百多来着,后面好像再也没登陆过...去年他的书出了第二版,就买来看了一下...

  非计算专业的同学可以拿来一看,如果你想系统学习一下的话,就别花这钱了,内容有点乱,这个得真的配合他的视频食用了,不然真的难顶,但如果一本书需要配合视频才能看懂,那也就不太推荐了...

  这本书是我朋友送我的,书到了以后一直在吃灰,因为那时候 Python 学的差不多了膨胀了...

  翻开也是很偶然,那天刚好很无聊,Kaiyun 开云就随手拿出来翻了翻,然后就翻完了,怎么说呢,这本书的内容给人一种很舒适的感觉,我很少有觉得读起来很舒服的技术书...

  整个的结构很清晰,内容简单但是不肤浅,整个基础知识的讲解简洁明了,一点也不啰嗦,很容易就看懂了,不会有那种我看了好几遍才理解的情况(os:我什么时候也能写成这样),各种小的代码片段比比皆是,在练习的过程中反过来再加深对概念的理解。而且作为实践部分,它后面带了十个小项目,按照实际开发的步骤介绍Python 项目的过程。

  计算机的软硬件都学(但其实就业所需知识用不了这么多,小部分搞硬件,大部分都去当程序员了)。

  培养周期较短,本科毕业即可就业。由于仍然是朝阳产业,读硕读博的提升收益都较大。

  专指计算机中的软件学科。相对于计算机大科,软件工程侧重于描述在开发(而非科研)任务中,机器与人的组织关系和形式,以及工作流程。整体更加偏向于应用,毕业也是当程序员。当然,有更多的机会升任软件架构师。

  培养周期较短,本科毕业即可就业。由于仍然是朝阳产业,读硕读博的提升收益都较大。

  不同学校对这个专业的定义非常不同。在我的学校,网络工程的课程内容几乎等同于通信工程,是电子信息大类下的,并非计算机大类下。课程的内容非常广泛,往下层要学电路和信号处理,往上层要学编程,在中层要学编解码、路由、数据传输等通信协议。毕业去华为中兴等通信设备商,移动联通等通信运营商,或者BAT等应用层面的公司(其实互联网公司主做软件和应用,还是有点偏了)

  培养周期较长,本科毕业不容易从事本专业岗位,一般需要读硕。但由于业内市场趋于饱和,读博的收益比不上计算机大类。

  专注于安全议题,要求数学功底强,例如密码学(应用数学范畴)。目前就业前景很好。

  本科就业同样不容易从事本专业岗位,一般需要读硕。由于物联网属于通信行业下的新兴学科,读博收益适中。

  如果是,值得入手~虽然国内AI泡沫比较大,但性价比还是不错的,建议读硕读博。

  更不清楚了,什么鬼,意思是通信工程下属的卫星组网等空间通信技术吗?如果是,那么就业面较窄,适合读硕读博,然后进研究所或留在高校。

  这个,听起来偏硬件啊,做大型机超算的吗?(天真问号脸)完全不懂不敢乱讲,还不如去百度。