受网友邀请,写我大学四年情况,说实话压力挺大,比起网上那些 牛人来说,我根本算不上什么,不过既然是别人邀请,还是勉为其难 写一下我大学的体会感受。
在网上的最大感受就是网上的高手太多了,虽然我也在百度知道里 给别人回答C/C++问题,但是知道的面还是很狭窄。觉得比较强的有 几个,一是郭天祥,各方面不得不服;二是讲单片机视频教程,也讲 的挺好,尤其是读英文资料的水平,这个暂时我是没有这个水平的; 三就是于博士,cadence 视频教程讲的非常好。和这些人比起来我算 是菜鸟,甚至菜鸟都不是,不过既然网上还是有那么多人认可我,我 还是说下鄙人的粗劣见解。
郭天祥的《我的大学四年》我看过,很受感动,我就仿照这个写吧。 首先还是做下自我介绍:我叫詹书庭,安徽建筑工业学院08 自动化 学生。我的大学期间主要作品有:C++版学生成绩管理系统,单片机 仿真多机通讯的例子,paladin 型51 学习板,手机软件,Altium Designer 视频教程,数据结构视频简单视频教程,Cadence16.5 入门视频教程。 自学的科目:网络技术、数据库、C++,J2ME(java)、数据结构等 会使用的软件:Matlab、Netbeans、eclipse、labviEW、Multisim、Protel99、 Altium Designer、cadence、Quartus II 、modelsim、keil 等等 了解的编程语言:C、C++、java、SQL、HTML、m 语言、汇编等。 大学觉得最成功的有两件事:一是独立编写了一个手机软件;二是独 立设计了一个51 学习板。
可以说我学的很多,很杂,这可能也跟自动化专业有关吧。有强电、 弱电、软件,其实我最想从事的是嵌入式(软硬结合)行业。应该说 我软件方便比硬件方面要强,不过在硬件方面也有一定的基本,尤其 是画pcb。前面说的一些多大是软件,说下硬件。我们学过单片机, DSP,自学过arm、FPGA,也焊过板子做个设计。
今天可以说是比较特别的一天,我被杭州海康数字技术有限公司录 用,第一份offer。现在已经是大四了,接下来的安排是学电子,还 有学英语。再找工作的时候才发现英语真的很重要,不仅要会翻译而 且还有会读,想进外企的话英语必须非常好。就是因为英语我才被一 家外企刷了,觉得很可惜,英语的用途真的很大,很多资料和软件都 是英文的。首先不能惧怕英语,不然你永远学不好。打算去学了就要 坚持下来,学几天然后不学这样是没有效果的。英语的重要性就不多 说了,大家都懂的。
感觉我大学四年真正学到东西的就大三下学期和大四,大一大二都 荒废掉了。如果那时候重视的话,我想现在的水平又该是另一个档次 了。其实知识真的很多,看你愿不愿意学,即使在好的学校不学那也 是没有多少真才实学的。这里我要鼓励二本的同学,要相信自己,好 好笑学习,到你找工作的时候就会发现学的还是有用。当你找工作的 时候就会发现什么都可能考,而且招聘考试跟学校考试不一样,你不 知道它会考什么,所以学好专业课还是很重要的,技术你对你的专业 不感兴趣也要努力把他学好。个人感觉我专业课学的还可以,就连不 感兴趣的强电(电力电子、电机拖动)这么考的也还可以。专业课是 一个基本的保障,如果你专业课没学好,其他自学的也没学好,你就 很难跟别人竞争。要知道跟你竞争的什么人都有,就看你的抱负了, 像我这边有工大、安大、科大、安农、安理工等一些其他学校,你想 如果你学校牌子不行的话,就只有靠自己的实力了。要相信自己,不 要以为工大的都是那么牛,当然科大就要高一些了,毕竟进来的时候 差距太大。我敢说工大好多人都没我强,不是我在吹。只要你想学就 一定能学好。
在这里我要提醒那些大一、大二的,你们的时间很充裕,如果能充 分利用起来,效果将你自己都想不到的。大三、大四的也不要担心自 己没时间,其实不是的,只要你想学,时间总是有的。鲁迅先生说过 “时间就是海绵里的水,只要你肯挤,总是有的”。
人最快的成长是跟比自己强的人在一起,你可以想向他们学习请 教,如果你虚心学习一段时间之后说不定你就超过他们了。当然跟实 际的强人在一起更好,没有也可以向网上那些牛人学习吗,你会发现 网上的高手遍地都是。然后你就发现差距了,只要你肯补肯学,差距 是可以缩小的,不知不觉中你已经成了牛人了!
在说一下学习的感受,这里只要指应付学校得考试,虽然我们不提 倡这样,当这也是大学这种教育制度导致的。学习吧,要看效果,如 果你一天到晚都待在图书馆,但是什么都没看,或者是看的一点效果, 那你还不如回寝室玩玩游戏,等状态好点再去看书。要应付学校的考 试,其实很容易,两三个星期准备你就可以考过不错的分数。一般而 言,大学老师都会画重点的,即使不画也不要紧,把你认为是重点的 挑出来,重点看,该记的记,该背的背。老师给的题一定要会,即使 自己不会做,让会做别人做好,自己背,如果能理解就更好了。再就 是考试的时候要细心一点,不要看着简单就随意写,能做对的就不要 做错,这样考及格应该是不成问题的。
上面说的这个并不是鼓励大家去这样干,应付考试,只能一时记得, 时间长了就忘了。上课认真听,学的好才是真的好,而不只是考的好, 关键是自己真的学到东西了。所以从现在开始要重视每一门要实用价 值的课,一些选修课、不重要的可以考过就行了,重要的课一定要学 好,比如C 语言、模电、数电等。
我的大学四年的经历,前面两年可以说是很平淡,什么都没有。大 一刚进学校还是好好学习,经常去上自习,那时候也没买电脑吗。大 二的时候就有经验了,不重要的课就可以随便一点,重要的当然还是 要学好了。考分我还是考的挺好的,不管是专业课还是专业基础课都 挺高的。上面的应付考试的方式就是我大四想出来的,一直使用到现 在觉得效果还不错,这要因人而异,不鼓励大家去使用的这个方法, 投机取巧并不是什么好事。
说到大三可就是一大堆了,大三上学期是准备考研的,原计划是考 中科大,当时书也买了,试卷也买了,词典什么的都买了,还复习了 几个月。但是家庭这两年越来越困难,考虑到家里的情况,毅然决定 放弃考研。工作了也还是可以考的,只是要更累一些,不推荐工作之 后再考研。当时有一个飞思卡尔比赛,让我参加,我说我考研,就没 有参加,等下学期决定不考了。突然有一种什么都没有的感觉,研没 考,飞思卡尔也没参加,别人有的你没有。但是我并不气馁,飞思卡 尔不过是由团队,有人带你,自己独立搞,要自己一个人研究而已, 还是可以搞得好,甚至比他们飞思卡尔还好。因为你自己学,你就有 了更多的时间,有更灵活的安排,根据自己的计划进行,还是可以做 的很好的。
大三寒假自学了 C++,计划是一个月,结果没到一个月就学完了, 正好也到春节,要拜年到处玩玩。在我那里很少有人玩的,一是没人 玩,二是没地方学,我个人比较喜欢静,主要就是要耐得住寂寞。学 语言类的东西也不是很轻松,如果你很感兴趣有基础要好一点,这两 点我都具备所以学起来很快。前面的C 语言部分,我一下就跳过, 因为讲的跟C 是一样的,只是输入输出换了一下而已。后面才是C++ 的精华,类、继承、重载、构造函数等这些都是C++说独有的,这个 是必须要重点看的。首先你拿到一本书,不要从头读到委,这样效果 很差,你要选出那些是要重点看的,哪些是可以跳过的,哪些是浏览 一下就可以的。这样你不仅能节省时间,而且还可以提高效率。
对于计算机考证我这里也可以说下,虽然找工作的时候没有多少 用,如果你不是计算机专业的也能学到一些东西。我二级考的C,三 级考的网络,四级考的数据库。对于C 的学习我后面会重点讲。三 级网络可以说是非常简单,笔试只要你多背背,买套试卷把做做错的 都掌握,考过应该不是问题。机试就更简单了,就一题,多上机做几 套试题就可以,题目就几个类型,掌握了考满分不是问题。四级我考 的是数据库,相对来说数据库就有一定的难度了,不过只要你用心去 准备也还算能过的。数据库对计算机来说是一门很重要的课,各行各 业都能用,要想走软件行业数据库必须要会。笔试仍然是多记多背, 四级没有机试,不过它会体现在笔试上,让你用SQL 编一个小程序。
人要有一个危机感,这样你就能很快,当时的环境是研也不考了, 飞思卡尔也没有参加,拿什么找工作,想到这些动力就来了。恰巧, 我在百度知道里给人回答C/C++问题,有个研究生找到我,向我问学 C++的事,他告诉我在做手机游戏,然后给我推荐了编译工具。然后 我就上网查阅资料,搜索J2ME 方面的资料,装好调试软件,正好在 网上找了一个简单的手机软件视频教程,基础的会了,后面机会可以 自己弄了。自学的话,可以说是有点困难的,尤其是自己构想手机软 件的时候,会有不少问题难以实现。先照视频上编了个最简单的软件, 放在手机运行一下,结果能运行起来。这让我感到有一种成就感,以 前编程从来没有在手机上能运行,原来真的可以学以致用。后面在图 书馆又借了这方面的书,照着编了几个程序。或许是因为我的C 语 言基本比较好吧,然后又学了下C++面向对象的编程,这一点跟java 很像,java 的最大区别就是API,基于帮助文档的编程,很多文档、 函数它都已经编好了,你通过查找帮助文档直接调用就好了。可以我 这个软件是分阶段的,每个阶段都会有不同的问题,首先的界面的设 计,我选的是最简单的列表方式,再就是每个子功能的实现。想到的 可能很简单,但是实现起来就会发现不是那么容易,甚至感觉力不从 心。遇到问题也不要担心,尽量自己解决,如果不行的话可以上网请 教。当你自己独立解决一些问题的,你就会发现你的能力就已经提升 了不少。每当你有灵感的时候一定要记下了,这里感触的就是我编程 遇到问题一直不能解决,突然想到一种思路,很多时候躺到床上突然 想到,这时候就立马起来调程序,因为灵感稍纵即逝,后面你可能就 想不起来了。当你想到什么功能的时候,可以尽量去让他实现,这里 我有两点,第一个是对文件的读入,这个我是查看帮助文档解决的, 第二个就是手机游戏,考虑到手机游戏比较复杂,短时间还没这个水 平,就上网搜索手机游戏的源代码,然后自己想了一段时间找到了一 个加载的办法,把别人的手机游戏加载到我的手机软件上了,第一个 加载成功了,后面就容易了,这里我加载了5 个游戏。手机图片在我 的空间里有,有兴趣的可以看下。
下面我说下我对编程类的学习,主要针对 C 语言,我觉得语言类 的学习都有一个通用的特点吧。我认为对于这种编程类的学习,最主 要的是上机编程,如果你只看不练,很难得到提高。我在学C 语言 的时候,实验都是认真做的,我们班的时候报告基本上就我这一个版 本。还是那句话要多练多上机编程,没有什么捷径。在学C 的时候, 我还用它来处理物理实验数据,虽然能处理,但是输入很麻烦,现在 看来那个程序写的还不是太好。后面我又写了一个?形程序,做了一 些改进,刚开始程序有一百多行,后面就改到五十多行。
后面一个偶然的机会,我进入到电信学院机器人实验室,也是编程 的,他的代码量有几万行,说实在在这里我并没有做多少事,也没有 学到多少东西。不过也不是一无所获,至少对linux 熟悉多了。如果 有机会的话还是建议大家去参加实验室。暑假留在学校搞这个,其实 我大部分时间都没搞这个,软件量实在太大了,而且当时我的目标是 硬件,软件已经有一定基础了,不过意外的收获是我们队拿了全国二 等奖,然后有我一个名字。
前面讲的都是软件,因为我前期做的也都是软件,后面就转到硬件 了。这看个人兴趣而已了,我的兴趣是嵌入式,也就是软硬结合,软 件整的差不多了,下面就该学硬件了。对硬件的话,只能做一些简单 的介绍,相对而言,我软件要比硬件强一点。大三下我们学了单片机, 我是先学的单片机软件,硬件程序差不多会写了,后面就搞实物。刚 开始去城隍庙买元器件还被坑了,一块钱卖了40 个电阻觉得还挺值, 现在看来被坑大了,呵呵,第一次难免会这样,不了解行情,后来就 好多了。买好元器件之后,就焊电路板,做了一个51 最小系统,看 到流水灯的确等闪烁。硬件做出来了,是你实实在在能看到的实物, 可以按照自己的意愿来修改,这让我很感兴趣。学完没一个模块之后 就想到自己做一个51 学习板,首先需要学习画图软件,这就开始了 后面的AD 的学习,也才有了AD 视频教程。
对于AD 的学习差不多有一个月,做完学习板之后,画图水平也有 了一定的提高,考虑到网上可能有人需要快速学习PCB,如实就做了 一个4 个小时左右的AD 视频教程。对于视频视频教程,就没有什么 好多说,相信网上不少人已经看过,也有不少人加我QQ,问我问题的。
学软件,还是推荐大家学习英文原版的,你可以熟悉英文环境,以后 面对全英文软件就不会害怕了。对于画图软件的学习也还是那样,多 练,我自己就是从设计51 学习板开始。期间也找了不少资料,加了 不少QQ 群,前去请教,这个很感谢网上那些人对我的帮助,不然我 也不会提高的这么快。画图要反复的画,我刚开始用的是自动布线加 手动布线,发现效果不少太好,后面改用全手工布线,第一次布起来 感觉挺难的,我那个板子布一次线要三个小时,我好像重复布了三次, 多布几次你的水平就上来了。再网上的交流中我无意接触到cadence 高档得画图软件,这个我在AD 视频教程里也介绍给大家,希望好东 西大家能分享。然后暑假开始了一个多星期的cadence 的学习,现在 应该能画简单的两侧板了,它的功能非常强,不过封装大多要自己画。
对于画图大家有不会的也可以问我,我现在找的工作是用cadence 画 电路板,cadence 适合画高端的,要画一般的,推荐大家使用AD (Altium Designer)就可以了。
后面硬件的学习我也是在网上找到的学习思路,看到嵌入式ARM 用 的比较多,我就果断买了一个ARM 学习板。对于学习,大家千万不要 吝啬,没有付出就难有回报。我是先看了一下视频教程,再搜索了一 下程序,自己在个基本上来改,学起来就非常快了,我买个板子回来 大概学了半个月,基础的也差不都也都会了。尤其写过手机软件,对 模块化比较了解,块组合能力也比较好,我整合了几个ARM 程序,自 己写了一个可以实现的。这些单片机类的,有个好处就是你能时是在 砸看到效果,如果能满足自己要求功能,就会觉得很有成就。搞完 ARM 我就觉得很有必需再学习下FPGA,然后就果断又买了一个FPGA 的板子。还是那样网上搜索些资料,整合之后你会起来就会非常快, 快到自己都不相信,我就用了半个月,基础的就已经搞完了。后面就 到了找工作时期了。
找工作,我不是很在行,我这里说两句,选择一个你想从事的行业, 要相信自己。找工作要慢慢来,不要急,不要怕累,有机会就不要放 弃。
后面说一下我自己的安排,我觉得还是那句话,实时的时候在实时 的决定,即使对于后面来说可能是很傻的决定,但是对于当时来说是 最好的就可以了。你要问我飞思卡尔没有参加,考研也没有参加,会 不会后悔。我告诉大家,不要把时间放在后悔上,即使你有后悔的意 思,把握好当下才是最重要的,并不是你没有机会,也并不是你没有 时间,就看你会不会把握了。以前我没意思到英语的重要性,以为随 便弄下就可以,其实英语学好了,真有很大的用处,尤其是对于电子 行业的,你会发现很多资料很多软件都是英文的。
还有一点就是,你做了决定就要去实施,当时我想自己写一个手机 软件,我做到了,做一个学习板,我也做好了,学习ARM、FPGA 我也 做到了。不管你做什么决定,做了就要努力去实施。如果你发现决定 是错误的,果断放弃,不要犹豫,这样你会少走一些弯路,多一些时 间来自己安排。当然了,并不是要你做一个具体的安排,比如早点六 点起来,晚上十二点睡觉。我觉得更好的是最有时间限定,什么时候 状态好,就加紧干,比如我那个时候感觉来,每天晚上写程序画电路 板要搞到一两点,平时没状态就玩玩游戏,并不影响,只要你能按时 完成自己的任务就可以了。这样,我还是往往,提前完成任务,因为 当你的感觉来了,你就会每天不吃不喝都要把它做好。到现在我制定 的每个学习机会都是提前完成的。学C++计划一个月,结果没到一个 月就完成了;学手机软件计划几个月,结果一个月就搞定了;学ARM 机会一个多月,结果半个月就完成了;学FPGA 计划一个多月,结果 半个月就完成了。虽然我学的都是些基础,但是这就足够了,先把范 围学宽一点,面就广了,见识的就多了,以后从事某个行业,自己再 去深究也不迟。
还有一点觉得有必要提一下,这只是我个人的看法。这你每学完一 样东西之后,最好能有自己独立的作品,一来是复习,二来也能找到 信息,三来是以后找工作你就有得说,作品多了,别人的看法也不一 样了。
至于学什么,每个人都有每个人的兴趣,可以根据自己的兴趣来安 排,不了解的可以上网搜索你这个行业的资料,看多了你见识的面就 广了。我觉得要学会自己做机会,别人又不了解你,帮你做的机会未 必适合你自己。做好了,去实施就可以了。对于努力,就是要坚持, 并不是所讲的每天都少点起来,多少点睡觉,看情况而定吗,我前面 也提高,主要的是你能再自己设定的时间范围完成自己的学习机会就 好了。
鄙人的经历、见解主要就是这些了,不足之处还请大家指教!有问 题的大家也可以找我 詹书庭