天天看点

我的程序员之路(1)——学生时代(1)

已经完全成功进入IT行业了,但回想起整个过程来,总感觉自己是多么的幸运,好像是上天有意安排的。

我的大学——转行期

      2003年以低二本线14分的成绩,考入省内一所师范学院读本科,专业被调剂到了工商管理(市场营销方向)。

      大一时什么都不懂,系主任老师都会讲所读专业多么多么的好,我们也想着自己所读专业多么多么好,总有种幸运的感觉。下学期开设计算机基础课,Work和Excel,同时开始学五笔。

      大二其实是大一下学期就感觉到无聊了,玩玩游戏看看电影之类。很偶然的一次跟高中同学的聊天,我说很无聊,她说没事考个二级C语言啊,她已经过了。忘记具体是什么时间的聊天,但开始学C语言是2004年11月底的事了,就是谭浩强老师那本《C语言程序设计(第二版)》。我没有午休的习惯,所以每天中午都会看C语言,晚上去上机。上机很是辛苦,书上讲TC就用TC了,不懂调试不懂执行,黑屏里显示了个5050,才知道写好的程序怎么就出结果了,但也只知道写好程序按F9而已。看完循环就想写猜数字的游戏,费了很大很大劲终于写出来了,目标数字是写死在程序里的,好不容易找到rand函数,可每次执行都是一样的数字。问计算机专业的老师,答案是rand函数就行,不可能是一样的,是不是很菜啊,那老师肯定没写过什么程序,现在知道什么原因了,rand函数是需要种子数的。放寒假时已经到指针了,假期看完指针,做历年二级题。2005年4月第一周的周六周日考试,从这次开始改革:笔试改成两题,选择题七十分填空题三十分,基础知识三十分C语言七十分,基础知识包括数据结构等;机试取消DOS命令,改成填空改错和程序题。历年题及仿真题,总是差一点六十分。开学看文件,看不懂。4月份考完二级C,跨计算机专业的想法萌芽了,借了本离散数学看,因为查过我们学校的计算机专业课程安排了,大一就要学离散数学,大概能看懂点,但也只是看懂,做不了题。6月份二级C结果出来了,机试优秀(应该是100分),笔试及格,总成绩及格,当时两个考场考C,只有三四个人过,算是入门了。二级考的是计算机语言,分面向过程的和面向对象的,面向过程的C语言考完了,再报个面向对象的,C++和Java选择C++,因为谭老师那本书后面有两章讲C++。7月份进入暑假,看不懂离散数学就放下了,暑假学习数据结构和C++。

      开学就大三了,开学后做真题(只有一套啊,4月份改革后才考C++的,其他的都是仿真题),9月倒数第二周的周六周日考试。全校考C++的就我一个人,机试用VC++ 6.0,没有相应的书介绍开发环境的使用,只会调试不会运行,所以调试通过就算完成。程序题没做出来,判断语句应该用if(XXX)...else if(XXX)...,基础不好,if(XXX)...else(XXX)...怎么也调试不过(不过还好,11月份出的结果,笔试良好机试及格,过了)。考完二级C++,又没事了,三级由A类B类改成四科,其中三科机试考C语言另一科考汇编,据说机试是百道题里抽的,没意思,要考就考汇编,可那科笔试考的是硬件,太晕了,没报三级(汇编应该学一下,寒假学的汇编,不过只学习程序了,不会上机),这个时候就开始打算跨计算机专业考研了。在图书馆的计算机专业书中偶然发现了《WINDOWS程序设计 Win32 API》,上下册,写窗口程序的,好,就学它了。从MessageBox函数开始入门,学创建窗口、GDI画图、键盘事件,文本那章太累,又想不到能做什么,跳过。会创建窗口会画矩形了,可以写游戏了,俄罗斯方块吧,俄罗斯方块要定时下落,往后一翻,有一章讲计时器的,可以写俄罗斯方块了。写第一个游戏太难了,耗时一个多月的大工程终于在11月底竣工了。深灰色背景,游戏区是白色背景(不显示方块时用白色画刷擦一下就好了),方块是红色,分数的提示用黑色,很难看,实在不知道用什么颜色好啊。游戏应该有按钮有菜单啊,对话框注明一下版权啊,又学习了其他章节用在了我的作品里,2005年11月23号上传到了CSDN下载。寒假学习汇编语言,开始三月份就开始准备考研了,跨计算机专业。工商管理跨到计算机专业,记得当时去问过计算机系主任,被他笑话了,说我个文科专业的跨计算机专业,是不是在开玩笑,他们专业的学生都很难考上,我工商管理专业的凑什么热闹。算了,我走我的路,你笑话去吧。跨计算机专业,最难的是数学了,因为我们专业考的是数三数四,计算机专业要考数一,什么曲线积分曲面积分都没学过。专业课好说,我C语言学的相对好点(写过程序掌握的要好点),所以就看哪些学校专业课考C语言就报哪学校。05、06年中国地质大学(北京)及山西大学考C语言,不知道07年什么情况,不管什么情况,找个专业课考C语言的就OK了。政治英语么,工科分数线很低的,四十来分,总分也低,怎么也比我们专业好考多了。重点就在学数学了,政治06年后半年学就赶得上,英语平时看点单词,后半年做题,C语言最后两个月看下书就好了。06年三四五月份一直在学高等代数,上下册,同济大学那套,章节后面的题全过,一点不得马虎。六月份准备我们的专业课考试,怎么也不能把自己专业的考试给挂了吧。数学只在晚上自习时间学,平时上课该上什么课就上什么课,当然也抱本《WINDOWS程序设计》书看了,学习鼠标事件等等,改进我的俄罗斯方块啊,主要是在程序的结构上改进。第一版的游戏区背景是白色的,想在后面写些版权信息什么的,只能每次要重画游戏区时,白色画刷刷一遍,写字,画方块,结果是刷屏。第一版的方块旋转功能是用28*4*4的数组来实现的,0、1、2、3表示一种方块的四个状态,旋转时下标加1的办法实现方块旋转。太麻烦了吧,改进,改成7*4*4,旋转时用个临时的4*4数组实现旋转。总之经常想办法改进,改进任何方面。寒假学汇编语言不会上机,找个计算机专业开汇编语言课的班上课学上机,都挺顺利的。计算机等级考试四级只后半年考,大学期间就只有一次机会了,报考一下。要考的太多了,计算机核心课程大多数都要考,操作系统、计算机网络、数据库、计算机组成原理,太多了,都看了些。暑假7月份学习线性代数,8月份休息。

      开学就大四了,九月份考计算机四级,还是只我一个人考。笔试不必说,学的就不怎么样,机试只一道程序题,TC环境。题目我现在还记得:20个4位数,求平均值,若干组数据测试。调试没问题,可查看结果很是纳闷,小数位为是0,而且还有负数,求和然后除的20,没问题啊,直到交卷都没解决。最后才知道,小数位为0是因为除数被除数都是整数,应该乘个1.0;而负数,是因为20个4位数的和,两个字节的int整型数是表示不了的,最高位为1就成负数的了。心理平衡一点的是笔试机试都没过,不然就麻烦了——要不要补考啊。同时还得准备考研啊,9月份学概率论与数理统计。九月底应届生就能报考了,中国地质大学(北京)专业课考数据结构,麻烦,数据结构写程序还好,可考理论我可拿不了高分。还好,地质大学(武汉)专业课考C语言,山西大学也考C语言,怎么也得报个重点大学吧。十一假期后,数学进入第二轮复习,政治英语都要开始准备。又用了三个月,即10、11、12月份,数学完成第二轮复习。07年1月20号考,最后十几天做一下历年真题就好了。最麻烦的是英语,12月份做真题,连四十分都不够,汗,报个英语冲刺班吧。这个学期还有个重要任务,就是继续学习《WINDOWS程序设计》,下册学习位图了,然后把俄罗斯方块上的方块换成位图图片,怎么也看上去漂亮点了。再写写其他游戏,扫地雷、迷宫、贪吃蛇之类的。会画非矩形位图了(掩码),贪吃蛇看上去更像一些,尽管画的难看。考研挺顺利,就数学考的有些郁闷,两道线代题一道概率题全挤在大答题纸上,交卷时才发现还有张小点的答题纸。最后数一89,专业课C语言121(感觉专业课应该够一百四的),总分306,所有线都过了,准备复试。同时继续写代码,主要还是写小游戏了,双打俄罗斯,方块下落改用多线程之类。复试笔试考操作系统,机试用ACM,不懂,但应该不难吧,我都写那么多代码了,再就是面试了。三门必须全及格,复试成绩占30%,然后总成绩排名录取。复试没通过,最大的问题就是ACM,原来要在网页上写相应的代码段,然后提交,这些操作不会,交卷时间到了老师告我怎么操作,延长了半个小时才弄对一题(60分)(其实试卷第一二页就有说怎么操作,只是没看说明直接看题去了,郁闷)。下一步就是调剂了,由于地质大学复试成绩出的太晚,四月二十号才知道没通过,武汉的其他大学已经调剂满了。山西大学没名额,太原理工要求305分以上,可复试笔试要考三门理论课,不行,最后选择长春工业大学了,因为复试只考数据结构,这个我会点,而且招生老师说不用加试,还有公费名额。

      2007年5月8号,长春,笔试还好,不怎么难;面试,主考老师是许建潮老师,问我加试没,我说跨专业不是不用加试么?又问,你这是跨学科了,不是跨专业的问题。他就给研招办打电话,那边老师说既然能跨过来,就说明有能力,不用加试了。太好了,如果加试是考数据库、计算机网络什么的,那就惨了。不过心里还是没底,不知道会不会通不过。多方打听,只要不太差就没问题,而且啊,全班公费,原因是学校重视理工类专业,所以考数学的专业就公费了,一个字,爽。复试完回学校,剩下就是毕业的一些事,实习论文之类,等通知书,还有就是写代码了啊,^_^。写个录像功能的俄罗斯方块,自己玩一遍可以纪录下玩的整个过程哦,自然就得把数据保存到文件啊,播放录像时要读出文件恢复成游戏啊,是不是很好像啊。API代码写多了,C语言也就熟了,用C语言写俄罗斯方块,方块的保存以前都用的数组,改进成二字节整数啊,两个字节不是刚好16个位么?对应4*4数组啊。C语言写游戏,可以写字符模式的游戏(用gotoxy函数),也可以写图形模式的啊,扫地雷、迷宫、推箱子,而且还可以做地图,把地图数据保存到文件,游戏中选择地图再从文件中读取数据恢复图像,很好玩吧。我的毕业论文是《图论在人力资源配置中的应用》,我们专业老师只刚招去的一个老师听过图论,可答辩那会儿他去美国留学了,其他老师都没听过图论,自然没法给我提多大问题,顺利毕业了。

      总之一切顺利,程序学的也还好,跨计算机专业考研也成功了,毕业也顺利,下一步就是准备去长春读研,开始新的生活了。另外告诉大家一个巧合啊,我是2006年3月份买的手机,由于十元月租四百短信的业务,我买了张长春卡,没想到一年半后考研考到长春去了,手机号都不用换的,是不是很巧啊?~_~

作者:yjh4866

源地址:http://blog.csdn.net/yjh4866