为什么有人劝别选计算机专业?

现在如果还在劝退计算机专业的,就三种人:菜、蠢、坏。

1、第一种人:菜。是自己学了计算机专业,然后大学混了4年,或者在课堂上假努力,浪费了4年时间,最后找工作实用的技术都不了解,代码没写过几行,计算机科班毕业了找不到什么技术岗位工作,就算找到了也是薪水待遇极其不满意。从而心生怨念,觉得计算机专业高薪都是假的,劝退其他所有人。

2、第二种人:蠢。自己是非计算机专业,非互联网行业从业者。身体活在2021年,脑袋里的思想还停留在1921年。对人类社会的发展,未来行业的发展丝毫无任何的洞察力与预见性。我的高中同学有无数人同学自己没有主见,家长也对社会的发展,未来的趋势无任何主见,劝退计算机,然后报考了我家里上代人老牌的机械、土木、什么工程造价专业或者为了一句话“二十一世纪是生物科学的世纪”就报了生物。

猪学长曾经分享过:虎嗅2021年前不久刚刚统计的一份互联网行业报告:

截止 2021 年 4 月,在港股和美股上市的市值最大的中国公司都是互联网公司(腾讯、阿里巴巴);尚未上市的估值最高的中国公司也是互联网公司(字节跳动);估值超过 1000 亿美元的互联网公司至少有七家(腾讯、阿里巴巴、美团、拼多多、快手、京东、字节跳动)。毫无疑问,互联网是过去二十年中国最大的经济奇迹,也是最能创造财富的行业,没有之一。
在海外资本市场,出现了 Chinternet(China + Internet)这个复合词,用来形容来自中国的互联网巨头。在全世界范围内,只有美国的互联网巨头比中国数量更多、估值更高,例如著名的 FAANG (Facebook,Apple, Amazon, Netflix, Google)。在经历 2020 年的暴涨之后,中国的头部互联网公司的估值与 FAANG 的差距已经大幅拉近了。

截止 2021 年 4 月,在港股和美股上市的市值最大的中国公司都是互联网公司(腾讯、阿里巴巴)

估值超过 1000 亿美元的互联网公司至少有七家(腾讯、阿里巴巴、美团、拼多多、快手、京东、字节跳动)

互联网是过去二十年中国最大的经济奇迹,也是最能创造财富的行业,没有之一。

3、第三种人:坏。自己是非互联网行业相关人士,自己的工资待遇非常不理想,羡慕其他曾经的同学同事就因为学了计算机而比自己工资待遇高一些,就心生怨念。天天到处黑程序员都秃头、猝死、35岁危机,劝所有新同学别学计算机。

额外还有一种说法是自己是互联网技术工作者,然后上了车想把车门关上劝退后人,或者自己干的不爽,到处劝退。猪学长周围的同事都无比优秀,友善,乐于分享,这种人可能存在,不过我是没见过。

现在2021年,我就根据我个人的短浅的社会阅历,有几个专业还能像计算机这样,三本、二本垃圾本科毕业就能通过自己努力拿到1w甚至2w月薪offer的吗?

除了金融少数名校同学,还有其他专业能像计算机毕业能拿到30w - 40w年薪这种别的行业工作多年都望而却步的offer的吗?

还有其他专业能大学期间实习薪水就几乎月薪过万,超过很多正式工作的吗?

这个同学双非普本,大二就早早的拿到字节大厂的日常实习offer,日薪400/day。

计算机专业,无论你出身985名校还是双非普本,无论你是在北上广深一线城市,还是在偏远地区末流院校,只要你自己肯努力,大学四年能早点儿努力,做到以下这些,本科毕业就拿到月薪过万的offer绝对不是问题:

1.基础编程能力必须过关吧? 算法题最近几年国内开始重视起来,技术岗笔试面试都是必须考察这个。而且绝大大多数技术面试的都没说考察ACM级别的困难题目,最多让你写一写leetcode简单中等的题目,LeetCode最起码也要刷300题左右,尤其把热门题目以及常用基本数据结构链表、队列、二叉树都熟练了。《剑指offer》上面也有60多水题过一下。

2.操作系统,计算机最重要的基础课程之一,工作中最常打交道。下面这些面试问烂了的点,都要知道吧。

  • 进程、线程、僵尸进程、孤儿进程、进程间通信方式?线程有几种状态?
  • 操作系统死锁、原因、避免(银行家算法)、同步、异步、阻塞、非阻塞?
  • 信号量本质?和互斥量区别?
  • 内存存储、段存储、页存储、段页?虚拟内存、MMU、LT、ET模式、
  • 页面替换算法、烂大街的LRU、时钟(CLOCK)

如果同学你是做java、golang业务系统层面的研发或者web前端客户端等其他岗位,操作系统也就会问一些基础的知识了。面试前基本的常见的操作系统书籍《计算机操作系统教程》、《操作系统原理及应用》、《unix环境高级编程》什么的书籍随便找一本过一遍。

如果同学你是做cpp/Linux底层偏底层研发方向,那linux必须玩儿精了,

  • Linux内核实现什么的《Linux内核设计与实现》
  • MIT6.828: 操作系统课程 这个是麻省非常著名的操作系统实现lab什么的

3.计算机网络,概念性内容比os少一些,侧重点几乎就在应用层、传输层、网络层:

  • 网络万年问一千遍问题了:url输入到浏览器里发生了什么?
  • osi七层模型,网络层、传输层、tcp、ip报头
  • http、https底层原理、区别、dns解析、UDP怎么保证可靠?

而且计算机网络内容虽然看似枯燥,但是市面上生动的学习资料简直太多了。学习是最关键的了解一次网络连接过程中整个数据时如何发送传递的。

  • 所有同学都力推的《自顶向下计算机网络》关键在于搞懂TCP协议为什么要这么设计,为什么是三次握手,四次挥手?书中的其他rdt模型为什么不实用?
  • 还有各种生动的图解《图解TCP/iP》、《图解HTTP》......

4、数据库,这个对于后台开发方向简直是重中之重。面试几乎必问的范式、索引?事务?如何合理设计数据库查询、如何优化?自己项目中数据库如何设计的?为什么?给你个场景写几个sql?

  • 数据库基本原理、特性、ACID?一致性理解?
  • 索引、innodb的索引结构、聚簇、非聚簇索引、Hash索引
  • B树、B+树区别?B+树范围、查找、复杂度?
  • 数据库各种锁、锁的类型、乐观锁、悲观锁、什么情况下使用?
  • 小白同学基本入门书籍《数据库原理》之类的自己随便找一本看看入门,进阶《mysql技术内幕++InnoDB存储引擎》必读了吧、进一步要提高扩展知识《高性能Mysql》偶尔翻翻。
  • 《Redis设计与实现》 现在都是必读物了。

上面这些都是计算机的基础知识,几乎大多数技术岗位都会考察,只不过侧重点不同。

当然,上面这些也只是列出了部分推荐书籍,其他关于java、c++、数据结构、操作系统、设计模式、系统设计,主流框架、前后端开发等各个方向的计算机优质的技术书籍推荐可以看一下这个书单:

如果你要做java服务端方向,下面这一套你也得看一遍吧:

  • 基础书籍《java核心技术卷一》,
  • 进阶书籍:《Java核心技术卷2高级特性原书第10版》
  • 《深入理解java虚拟机》
  • 《实战java高并发程序设计》
  • 《java并发编程的艺术》
  • 《SPRING技术内幕:深入解析SPRING架构与设计原理(第2版)》
  • 《spring源码深度解析》
  • 《深入分析Java Web技术内幕》

这些都属于java技术栈需要学习与掌握的吧。

其他具体方向,比如你要搞cpp/Linux服务端研发方向:计算机系统底层原理、网络编程方面都要进一步进阶吧

  • 《深入理解计算机系统》CSAPP
  • 《程序员的自我修养:链接、装载与库》
  • 《深入理解计算机系统》原作者视频:
  • 国防科技大学编译原理国家精品课:
  • 游双老师《Linux高性能服务端编程》

当然,上面这些也只是列出了部分推荐书籍,其他关于java、c++、数据结构、操作系统、设计模式、系统设计,主流框架、前后端开发等各个方向的计算机优质的技术书籍推荐可以看一下这个书单:

此处重点推荐陈硕老师的《Linux 多线程服务端编程:使用 muduo C++ 网络库》,这本书真的是Linux网络编程学习必读书籍。是大神个人开发的C++的TCP网络编程库。muduo基于Reactor模式实现。这本书中对muduo整个架构进行了非常详尽的介绍和分析。校招同学求职c++方向同学的简历上几乎烂大街的服务器项目很多都是参考这个。

muduo 源码注释版本:

这里还有一个学习moduo的视频:

上面这写只是技术学习层面的。

但是猪学长一直觉得人与人之间的差异最关键的不是在学习层面上的,而是在意识层面上的。

  • 计算机专业自学意识太重要了。上面这些计算机技术知识看起来非常高深复杂,但是大学4年时间,早点儿学这点儿东西真的绰绰有余。有多少同学堂堂计算机专业科班,大学4年完全还像高中一样傻傻的跟着课堂学习?最后以一找工作的时候连投递什么技术岗位都不知道。
  • 猪学长说了一万遍的互联网校园招聘信息差。
  • 作为垃圾本科走出来的猪学长,我太清楚越底层普本院校计算机专业同学的状况。多少计算机专业同学,以计算机专业学习需要为由,向父母索要重金购买高配游戏笔记本,刚步入大学就放飞自我,疯狂在网络上搜索LOL、Dota2、吃鸡、王者农药的各种游戏攻略。没有几个人去网上搜索就业、求职、找工作、互联网校园招聘攻略?最后等到大三大四快毕业了才想起来学技术找工作,那还能来得及了吗???
  • 再说说个人信息采集能力。
  • 现在都2021年了,还有多少计算机同学都不知道github、LeetCode、牛客网、面经....猪学长承认越好的院校自然学习氛围更好,了解信息更多。但是现在互联网时代,一个人的信息采集能力直接决定了这个人的未来发展。有人同样双非本科大二就拿到了大厂实习,在努力冲刺大三校招ssp。有人985名校计算机科班,还一场游戏干到大四,什么技术都不会直接开始考研。
  • 如果毕业想要拿到10+k、20+k高薪的offer,想要进大厂,你说你一没985top学历,二没知名比赛获奖,三没好的项目经历。简历不挂你挂谁?在学校里能有什么高大上项目?绝大多数进大厂的同学都有实习经历啊。
  • 这个是知乎同学自己评论猪学长的分享
  • 三本院校同学,大一大二自己不与垃圾院校环境打游戏,混日子的同学同流合污,自学计算机技术,大三疫情期间拿到滴滴实习offer,最后成为猪学长字节跳动小同事:
  • 头部C9院校的学生有机会跟着厉害的老师做一些好的项目。其他绝大数同学在学校里根本接触不到主流技术栈的项目。甚至还有同学给我发简历,想求职java后端做俩前端项目木。github了解一下?各种硬核的国外lab课程实操几个,然后早点儿去找实习啊。不是大厂实习也行啊,简历上有公司线上项目的实习经历肯定就有优势了啊。
  • 说说面经。有很多计算机专业的同学不知道什么是互联网校园招聘,更不知道面经是什么东西。面经是指很多其他同学在互联网校园招聘中面试各个互联网大厂的面试经验,面试真题总结
  • 计算机技术真的比其他专业简单多了,所有人努力都能学好计算机。
  • 猪学长真的觉得计算机技术其实就是入门难,也就算法数据结构有些难度。其他的技术知识学习难度真的比其他挺多专业简单多了。我认识很多其他非科班转行计算机的同学,跟猪学长说原来计算机这些课程知识这么简单。就操作系统、计算机网络、数据库、编程语言什么的不比什么电气专业、机械专业学的那些高数、大学物理、电场磁场什么的、比生化环材学的一堆化合反应简单多了???
  • 要有对自己就业的危机意识。
  • 现在计算机非常火热,很多有远见的同学都在各种转码。就是考研究生也都跨考计算机的同学很多,竞争也很大。什么通信转码早就是常态了,我浙大机械学院的学弟现在都在自学计算机校招转行互联网。现在互联网技术岗位招聘本身就只看技术,不卡学历专业。就是大部分同学都在大学这个温室里,温水煮青蛙自己没有意识而已。
  • 计算机技术岗位的薪水。 如果大学努力的计算机专业能进大厂或者其他知名国内互联网企业研发岗,无论你是三本还是985毕业拿到16k - 25k都是很普遍的现象。就是去不了大厂,去很多中小型互联网公司,在二三线拿到8k - 12k的薪水也是很正常的。这不比很多985天坑专业毕业的同学找个5-6k的工作香?

现在社会上大多数人都只知道现在就业的情况非常不好,就算曾经辉煌的土木专业现在就业情况都不理想,就是无比火热的金融,现在也调侃:

现在也就计算机是为数不多努力最起码能有一些回报的方向了。最后希望所有同学都能付出都有结果,得到满意的回报吧。

其他关于java、c++、数据结构、操作系统、设计模式、系统设计,主流框架、前后端开发等各个方向的计算机优质的技术书籍推荐可以看一下这个书单:

同学们如果觉得有帮助的话,不要白嫖猪学长,给猪学长点一个吧,

这样可以让跟多的同学看到!

最后同学如果还有什么问题,只要是计算机相关互联网大厂求职技术方向等等问题,都可以在评论区给猪学长留言,或者关注我猪学长哈,猪学长不向同学们开通付费咨询!

同时对字节跳动感兴趣的同学,想要找猪学长内推的,也可以联系猪学长哈。

真心希望可以帮助到你。

究其原因,大致有三点:一是高校开设计算机专业的门槛不高,所以追热开设这门专业的高校数量实在太多了。二是每年高考后,不管喜不喜欢、适不适合就直接冲着高薪热门的计算机专业报考的人实在太多了。

千万别学计算机科学与技术吗

对于很多高中生要不要学“计算机科学与技术”专业的疑问,很多正在从事计算机行业相关工作的人第一反应就是劝人别学,原因很简单:这个专业的毕业生工作后实在是太辛苦了,加班是常态,工作不仅费脑而且还费头发。

确实,以上这些说法都是对的。但是那些所谓过来人并没有告诉高中生们的是,当码农的确辛苦,但是同样的工作量与时间,收入却是同龄其它专业毕业生的两倍甚至以上。工作环境基本上都是安装着空调的明亮办公室,比土木、电气、机械等专业毕业生的工作环境不要好太多。

所以,如果仅仅是因为他人口中以上这两点不足,就直接放弃报考计算机类专业,其实真的没必要。

目前计算机类专业的平均月收入仍然排在所有本科专业中的第一名。无论怎么看,在目前的各个行业中,计算机类专业还算是收入排名最靠前的几个,同时也是普通家庭出身的高中生通过知识改变命运的一条康庄之路。

如果你对编程、计算机、数据处理感兴趣,如果你的数学基础较好、不排斥通过计算机专业在毕业后快速的挣到买房的首付钱,那么报考计算机类专业,在大学四年期间努力学习专研,相信毕业后你一定也能找到一份相对不错的工作。

计算机科学与技术专业是否难学

零基础真的不太影响你在这个专业的学习,选定自己的主攻方向,多练习多问人,起步晚并不影响你入门的。找好入门课程,努力学就成。

计算机科学与技术专业基础必修课:C语言程序设计、数据结构、JAVA程序设计、计算机网络等。

第一门课应该是“C语言程序设计”,这基本上属于你日后一切学习的开始与基础,算是入门必备,简单说它就是说一下的基础语法,只要好好听课,真的不算太难。

第二门课程是“数据结构”,难度适中,这门课要认真的听,一些有了语言基础之后,就必须学习结构知识和算法,主要是教你一些设计算法的思想和架构,一般都是结合C语言来教。

第三门课程是JAVA程序设计,也是一门计算机语言,跟C一样都是教基础的语法结构,很多语法跟C差不多,不过我感觉JAVA的应用面更广,招聘平台上招JAVA开发的需求是最多的,所以要好好学,学精学透。然后是数据库,我学校教的是SQL server,搞软件开发的少不了要接触数据库,然后是静态网页,是HTML,CSS,都是教标记(tag),很容。

第四们课程是计算机网络,主要是教各种协议,TCP,IP,TCP等等,还有OSI的七层模型,比较枯燥,这门课还是英语授课,虽然老师改得不严,但怎么说,这门课要弄懂它说了啥相当不轻松。

计算机科学学科基础选修课部分:信息处理技术、Photoshop、电模和数电等。

信息处理技术就是教你计算机的组成,还有WORD,EXCEL,PPT的使用,相当容易,想挂都难。

电模和数电相当于是让你了解计算机内部电路板的原理吧,想弄懂不容易,但这个真不影响你在IT这行的发展。图二的概率论,数学建模和图一的离散数学都是起到辅助教学的作用,不用太担心。计算机英语同理。

PS(Photoshop)就好玩了,把妹利器啊,要好好学,老司机不骗你。

虚拟现实就是时下热门的VR技术,学VRML的过程中的乐趣也不少。

想什么呢,当然不是!!!

今年刚从 985 研究生毕业,本科计算机科学与技术,在计算机专业呆了 7 年,自认为还比较懂。

其实对于计算机专业科班学生来说,想学习计算机科学与技术,我感觉做好两点就够了:

  • 掌握一门扎实的编程语言。

编程语言是工具,是我们吃饭的家伙什。掌握是啥,是熟悉,不是了解就行

  • 扎实的计算机基础知识。

计算机基础知识重要的基本上就是“数据结构与算法”“计算机组成原理”“操作系统”“计算机网络”“数据库”。

其实总而言之,对于学习计算机专业,技术才是最重要的

当然也要多读点计算机的专业书籍,为了节省大家找的时间,我已经做了整理:

毕竟在计算机专业呆了够久,后来总结了几条经验,读研究生的时候无数次在想,如果我在大学的时候就懂得这些,大学会更起飞

  • 学会自学。大学的自由时间一大把,只靠上课听讲远远不够,上课你不睡觉我都算你是条好汉,你是大学生了,不能只低头拉车,更要抬头看路!
  • 掌握一门编程语言好嘛。这个是必须,根据自己的规划,无论是选择 Java、C++、Python 都行,无论你以后是不是用这门语言,这都是你找工作的敲门砖。
  • 没事的时候多敲点代码。当个熟练工,才能显得你牛x,有机会跟着学校的老师或者进入到实验室做项目,一定要坚决跪舔,要跟着学习跟着做。
  • 学好数据结构、操作系统、计算机网络、计算机组成原理、数据库这些基础课程。以后不管你是走考研这条路还是面试找工作全都用的上!学好这些,走到哪里都不怕。

大学的自由时间一大把,只靠上课听讲远远不够。

上课你不睡觉我都算你是条好汉,主要上大学,是大学生了,不能只低头拉车,更要抬头看路!

其实还有一点就是,对于你大学的不同规划,努力的方向也是不一样的!

我觉得计算机的新生,尽快在上大学的初期,想明白自己之后想要干啥。

认真思考未来,这个动作越早做越好,毕竟目标导向。

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

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

玩命学不是瞎学,把握住两方面就好了:

玩转一门编程语言,玩转是啥,是熟悉,不是了解就行

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

没有就自己去问,我不信个计算机专业没这个。

实在没有,那就多刷题练感觉,刷题是啥,后面会说到。

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

你要找工作的话,首先保证数据结构与算法学的顶呱呱。

在这个基础上,多刷题,按照分类按照专题刷。

可以看下这个前字节大佬的刷题笔记

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

两者配合起来应该非常舒爽。

除了数据结构的其余的课程的话,上课认真听,下课多琢磨,可能很多东西抽象懵懂,没事,你要你认真学了,认真琢磨了,你就超过 90% 的人了。

着重考研的话,学习的内容和“着重就业”学习的差不多,但是就是不用玩命,平稳的学就好。

编程语言的话,那 C 语言好好学一下。

其余的计算机基础课程,还是那些,都好好学。

考研看学校的,不同学校的计算机考研课程不同。

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

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

呃,政治的话就上课好好听就好了,反正到时候还是得背的,问题不大。

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

下面我来具体说一下学习路线!!!

都是很干的干货,麻烦动动小手帮我 点赞,么么哒。

计算机专业导论是面向非计算机专业人员和学生介绍计算机基础知识的计算机基础教程

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

其实算个科普教程,上大学的第一门课,这门课能不能学好完全看老师讲的好不好。

我就很幸运,不知道是不是因为是实验班,当时给我们上这门课的是我们院长,造导弹的间隙来给我们上个课,讲的非常风趣幽默,无愧大佬。

作为一个计算机小白,真正从那一刻开始觉得:诶,计算机不错呦。

呃,如果你的老师只是个讲 PPT,听的云里雾里的。

不慌,我来给你推荐门课:《计算机科学速成课》,通过图文并茂生动形象的介绍计算机的基础知识。

关于这个我写过一篇文章:

一共 40 集,都是英文的可能对英语不好的同学来说难度太大,但是不要慌,国内一些爱好者早已经把它们翻译成中文

这门 40 集的课真的包含了超多的基础知识:

像计算机的早期历史、编程的发展史,到二进制、指令和程序,到算法入门、数据结构,甚至是计算机安全、黑客、加密、机器学习 & 人工智能、计算机视觉、自然语言处理、机器人等等等等都有涉及,感兴趣的可以看下,链接在下面:

如此良心的一门课,如此贴心的翻译团队,真的强烈建议大家一定要好好看,沉下心来,认认真真的每天学一点,你会发现真的很不一样,有时候改变和成长就是这么潜移默化的进行

计算机科班的同学,不出意外,进入编程世界的第一门的语言学的肯定是 C 语言了。

其他立志做技术行的同学,从 C 语言入门百利无害。

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

为啥现在还有这么多技术大佬建议学一下 C 语言呢?

因为 C 语言是一门面向过程的语言,运行速度极快,是计算机产业的核心语言,像操作系统、硬件驱动、数据库这些都离不开 C 语言。不学 C 语言,就很难深入了解计算机底层的运行机制。

现在常见的高级语言的底层几乎都是 C 语言实现的。

在大学的时候搞 ACM,用过三年的 C 语言,自认为比较熟悉,给大家总结一下 C 语言的学习路线。

我写过关于 C 语言得学习路线,下面我给大家摘要一些重要得内容。

C 语言的学习其实就三个阶段就好了:

这个阶段学习 C 语言的基础语法知识。

目标是可以开发一些简单的小程序。

这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。

目标是开发一些基本的应用程序。

这个是实战阶段,要具备一定的综合性应用软件开发能力。

目标是能够开发像、图书管理系统、学生信息管理系统等项目。

此时同学们应该是小白阶段。

对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。

可以先从视频教程开始。

C 语言的视频教程我只推荐一人:浙江大学翁恺老师的 C 语言课,yyds!

是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!

当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!

不多说,看过的都知道。翁恺老师的课是在 MOOC 上开的。

  1. 第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。

完成本课程之后,就能具有初步的运用C语言编写程序的能力。

2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。

我姑且认为现在题主有了一点基础,可以能配合视频看书了。

这本书是为计算机纯小白量身打造。

风格幽默,生动形象,通俗易懂,读起来令人耳目一新,对入门小白培养兴趣的帮助很大。

在语言艺术这方面,是登峰造极,让人不得不佩服作者的才华和用心。

只不过内容并不深入,真的是对零基础,大佬绕路。

语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。

现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。

  • 第1、2章介绍了C语言编程的预备知识。
  • 第3~15章详细讲解了C语言的相关知识。
  • 第16章、17章介绍C预处理器、C库和高级数据表示。

指针和指针操作一直是c语言中的重点和难点,反正我当时学到这里的时候,就很头疼。

这本书是 C 指针的经点之作,通过对指针的基础知识和高级特性的探讨,来让我们学会把指针的强大功能融入到自己的程序中去。

但是这本书不只是指针,更是一本很棒的 C 语言入门书,提供和C语言相关的全面资源,还有比较深入的讨论,让你形成一个正确的c语言观。

任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花

这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。

书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。

差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。

任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花

这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。

书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。

差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。

学编程除了理论外,更重要的是要应用,应用很好理解,前期多敲代码,之后慢慢去升华。

其实编程语言就是要多练,怎么多练,就是代码量。

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

1、C语言制作斗地主发牌器

通过本项目的学习,可以让学员掌握一些棋牌类的手机游戏中的发牌系统算法怎么编写,为学员就业后编写一些小的游戏类APP打下良好的基础。

2、C语言实现通讯录/图书管理

这个课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念,需要对 C 语言有一定的了解。

3、C语言实现2048小游戏

2048是之前十分火爆的一款益智游戏,这个课程将使用 C 语言完成一个2048游戏。适合对C语言有一定基础,需要了解C语言,以及绘图库ncurses的实用。大大提高你的动手能力。

一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质。

C语言 的入门级项目!

用 C 从零创建一个简单的数据库。

计算机基础一定要好好学,不管以后面试找工作还是保研、考研都很有用。

我写过关于计算机基础得学习路线,跟着整没问题!

主要内容是下面这几门:

程序 = 数据结构 + 算法。

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

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

  • 数据结构主要讲解数据的组织形式。就是我们要怎样把这些数据存储起来,所以有数组、链表、栈、队列、树、图,这是数据结构的重点。
  • 算法,则注重的是思想。比如数组里的元素怎么排序、怎么找到最大的数和最小的数等等。说白了就是解决现实中问题的思想。所以才会有贪心、动态规划等这些算法。

学习算法的套路很简单,多看、多写、多上机。

计算机组成原理,即“计算机”“组成”的“原理”。

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

无论你学习什么语言,都避免不了和操作系统打交道。所有语言的最后执行,都是靠操作系统。

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

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

只有学会了操作系统,才能够更好地学习其他语言和技术。

所以,操作系统是程序员进阶必会的知识

计算机网络的相关知识在工作时使用的频率较多的。

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

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

数据库就是存储数据的地方,但也不只是这么简单。

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

再深入点儿还要学习SQL优化、备份与恢复、架构优化等等进阶内容。

我选的是 Python,那这里我就来说下 Python 的学习路线。

我们学任何东西学习之前,肯定要先快速的了解它是什么,大概做到心中有数,帮我们初步判断一下这个是不是想进一步学习的东西,帮助消解一下面对未知时的恐惧。

这里大家可以看一下GitHub上的这个项目,可以让你在短短几分钟之内了解一门技术

不管是零基础学习 Python 或者其他的编程语言,在刚开始的时候还是建议视频为主,书籍为辅。

毕竟啥也不了解,直接上来就看书,立马从开始到放弃。

1、[小甲鱼]零基础入门学习Python

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

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

这个课程看起来有点老了,但是内容差别不大,后来又搜了一下,他们又录制了最新版的《零基础入门学习 Python》,现在是更新到了序列,觉得不错的小伙伴可以追一下,对新手还是比较友好的。

这是微软放出的一门免费的 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 学的差不多了膨胀了...

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

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

如果实在让我推荐一本,我是会推荐买这本书的...

对于计算机专业来说,实战是非常重要的,因为这决定着你的生产力。

大学期间含金量比较高的几个比赛:

  • CCPC 全国大学生程序设计竞赛

因为我是做 ACM的,数据结构与算法的学习,往往要伴随着“刷题”。

我总结了一些刷题的经验,感兴趣的可以看下。

刷题网站可以在下面这些选择:

如果是不想参加ACM,为了锻炼数据结构与算法得学习,我建议大家刷 LeetCode 就好。

针对算法小白,我总结了一套算法小白的刷题顺序,可以作为参考。

一方面可以提前接触第一手的项目,有大佬带,学习经验,另一方面可以提前感受互联网公司的工作强度和工作氛围。

这个我在数据结构与算法那提过,就不再过多表述。

可以参加学校实验室的项目或者参与 GitHub 上比较好的开源项目,锻炼自己的能力,开拓自己的视野。

在我看来,既然你选择了计算机,就一定要好好努力,它一定会给你一个比较好的未来!

码字不易,如果觉得不错,记得帮我 点个赞呀。

我要回帖

更多关于 计算机专业真的很吃香吗 的文章

 

随机推荐