自学编程不容易,程序员需要持续的学习能力,作为过来人,跟大家聊一聊我的自学心得,希望可以帮助大家少走弯路,少踩坑。学习交流、资料分享可加群,最后,看到简介的都行大运!发财!幸福!快乐!三连点赞超级加倍!
大学是美好的,就业是现实的,如今学生为了个人发展在选择专业的时候很谨慎,过来人的说法是最有参考性的,过来人也很愿意分享自己的经验,希望高考生们能避雷。
大家有没有发现,现在似乎所有的大学专业都在劝退,高考生经过精挑细选选出来一个专业,本来很满意,可一问过来人各种负评都来了,总有人语重心长的劝退喊“快逃”。
什么“劝人学医天打雷劈,劝人学法千刀万剐,生化环材四大天坑”,看大高考生晕头转向,就连大热的计算机专业也有人劝退,原因是容易秃头。
这么下去什么专业都不能选了,这些被“劝退”的专业真的那么不好吗?还真不一定,因为细细观察就会发现,大学生口中的“劝退”分真假,法学医学和生化环材对比明显。
有时候大家口中的“劝退”就是那么一说,比如法学专业和医学专业,一到大学期末就听见法学生和医学生哀嚎一片。
因为自己处于“水深火热”之中,不想学弟学妹们受这个罪,有很多大学生语重心长地劝退新生,可实际上法学和医学专业特别受欢迎,看每年高考录取情况就知道了。
医学和法学专业分数就没降过,报考的学生只见多不见少,热门专业的地位妥妥的,越劝越热门。
但是再看生化环材,那可是真“劝退”,大学生和毕业生们巴不得能进入到每一名高中生的梦中告诉他们不要选,录取分数是一降再降,招生是越来越难,连名校都拯救不了。
2021年中山大学把生化环材和计算机等热门专业捆绑招生,学生奔着热门专业去的,结果一不小心就开了个“天坑专业”盲盒,学生也不傻,为避免风险干脆不报中山大学了。
2021年中山大学招生遇冷,分数直降,学生宁愿不选中山大学也不愿承担被录取到生化环材的风险,是什么让学生对法学医学和生化环材这么双标?
大家劝退法学医学专业的原因是学习难度大和工作辛苦,法学和医学都是著名的容易挂科的专业,医学学制长,法学要考研,学习年限都很长,学起来确实让人头秃。
医生工作很辛苦,也是劝退的理由之一,不过大学生们只是口头抱怨,因为这两个专业的发展都很好,付出和收获是成正比的。
而生化环材就不同了,学习难易程度就不多说了,光是毕业后的就业前景就让人不敢选。
生化环材也曾经辉煌过,但绝不是现在,也不会是以后,很大一部分原因是中国发展得太快了,现在人工智能、计算机、云计算等等取代了传统的产业,很多传统行业被淘汰了,或者逐渐走下坡路,没有那么大的人才缺口,发展前景也不好。
生化环材本科生和硕士研究生对口工作很难找,基本毕业就转行,博士生也找不到好工作,那还何必选择呢?
有些专业的弱势无法忽视,但是所谓的热门专业也容纳不了那么多人,总有人会选中所谓的“劝退”专业,也不必太悲观,笔者有三点建议。
首先,要清楚自己所选的专业是不是真的没救了,有时候对专业的认知会受环境影响,或者由于信息的闭塞,误以为自己选中了不好的专业,先别悲观,各行各业都有大牛人物。
其次,如果你真的选中了生化环材这样的专业,能转专业就转专业吧,大一的时候就要想清楚,别等大三大四后悔都来不及了,转专业对成绩要求很高,要努力了。
最后,考研和留学也是很好的自救方式,可以考本专业硕博,但是天坑专业的硕博终究是没有其他专业发展好,有能力还是推荐转专业考研或转专业申请国外大学,现在海归身份就业还是蛮吃香的。
建议大家出坑不是在污蔑某些专业,而是解决学生很现实的问题,读大学不就是为了毕业能找份合适的工作,能过上好点的生活,选错专业真的很苦恼。
笔者希望能让学生们了解自己所选专业的真实情况以及自救的方式,至于是否要出坑就交给学生自己选择。
今日话题:你怎么看待生化环材?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请。
想什么呢,当然不是!!!
今年刚从 985 研究生毕业,本科计算机科学与技术,在计算机专业呆了 7 年,自认为还比较懂。
其实对于计算机专业科班学生来说,想学习计算机科学与技术,我感觉做好两点就够了:
编程语言是工具,是我们吃饭的家伙什。掌握是啥,是熟悉,不是了解就行。
计算机基础知识重要的基本上就是“数据结构与算法”“计算机组成原理”“操作系统”“计算机网络”“数据库”。
其实总而言之,对于学习计算机专业,技术才是最重要的。
当然也要多读点计算机的专业书籍,为了节省大家找的时间,我已经做了整理:
毕竟在计算机专业呆了够久,后来总结了几条经验,读研究生的时候无数次在想,如果我在大学的时候就懂得这些,大学会更起飞:
大学的自由时间一大把,只靠上课听讲远远不够。
上课你不睡觉我都算你是条好汉,主要上大学,是大学生了,不能只低头拉车,更要抬头看路!
其实还有一点就是,对于你大学的不同规划,努力的方向也是不一样的!
我觉得计算机的新生,尽快在上大学的初期,想明白自己之后想要干啥。
认真思考未来,这个动作越早做越好,毕竟目标导向。
最好及早决定自己是要毕业直接工作还是要考研,因为虽然在学习内容上相差不大,但是重点努力的方向还是不同的。
着重就业,那你的大一大二就玩命学,之后大三找机会进大厂实习,为你之后毕业找一个薪资炸的工作打下基础。
玩命学不是瞎学,把握住两方面就好了:
玩转一门编程语言,玩转是啥,是熟悉,不是了解就行。
最好能做点工程项目,如果有机会进实验室跟着老师或者有额外的机会做点东西都行。
没有就自己去问,我不信个计算机专业没这个。
实在没有,那就多刷题练感觉,刷题是啥,后面会说到。
校招来说,计算机基础重要的就这么几门:数据结构与算法、计算机组成原理、操作系统、、数据库这几门。
你要找工作的话,首先保证数据结构与算法学的顶呱呱。
在这个基础上,多刷题,按照分类按照专题刷。
可以看下这个前字节大佬的刷题笔记:
针对 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 上开的。
完成本课程之后,就能具有初步的运用C语言编写程序的能力。
2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。
我姑且认为现在题主有了一点基础,可以能配合视频看书了。
这本书是为计算机纯小白量身打造。
风格幽默,生动形象,通俗易懂,读起来令人耳目一新,对入门小白培养兴趣的帮助很大。
在语言艺术这方面,是登峰造极,让人不得不佩服作者的才华和用心。
只不过内容并不深入,真的是对零基础,大佬绕路。
语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。
现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。
指针和指针操作一直是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 项目的过程。
如果实在让我推荐一本,我是会推荐买这本书的...
对于计算机专业来说,实战是非常重要的,因为这决定着你的生产力。
大学期间含金量比较高的几个比赛:
因为我是做 ACM的,数据结构与算法的学习,往往要伴随着“刷题”。
我总结了一些刷题的经验,感兴趣的可以看下。
刷题网站可以在下面这些选择:
如果是不想参加ACM,为了锻炼数据结构与算法得学习,我建议大家刷 LeetCode 就好。
针对算法小白,我总结了一套算法小白的刷题顺序,可以作为参考。
一方面可以提前接触第一手的项目,有大佬带,学习经验,另一方面可以提前感受互联网公司的工作强度和工作氛围。
这个我在数据结构与算法那提过,就不再过多表述。
可以参加学校实验室的项目或者参与 GitHub 上比较好的开源项目,锻炼自己的能力,开拓自己的视野。
在我看来,既然你选择了计算机,就一定要好好努力,它一定会给你一个比较好的未来!
码字不易,如果觉得不错,记得帮我 点个赞呀。