关于我迄今为止所学的专业课
整理一下,用于洗心革面,重新做人…… Orz
=================我是按时间顺序的分割线===============
C语言:
作为头一门专业课,并且是大一上唯一的一门(请让我自动54文化基础……),自然是投入了所有的精力。虽然上课有时候大部分时间会睡着,但回寝室心血来潮还是会去做下课后练习。
期中的5子棋做得我很过瘾,那是我头一个完全靠自己研究算法并实施出来的程序,心情很爽。
最后的大项目因为对于链表、结构体、指针啥啥啥的了解不够充分,写啊写啊就崩溃了,最后上交的东西,其实6个功能只实现了1个半……
那个时候寝室还要断电,半夜我就坐在被窝里对着唯一发光的屏幕研究,时不时还要拿手电筒照照谭浩强的书,以便寻找解决方法。
于是,那本书是我翻得最透彻的教科书,C也就成了我自认为的,研究得最勤奋的一门语言,并且令我萌生了对算法无比的好感。
上机考一共考了3道题,我记得我好像做出来1道半,那半道是我觉得我算法对的,但它还是崩了。
我其实一直都很讨厌文件的输入输出,因为我搞不清那个文件指针操控的原理,读出来的东西有时会很莫名。
C++:
C++是OOP(面向过程语言),虽然在写法上跟C有很多地方相近,但是实质却截然不同。
那时候不太能够接受周胖教的方式,那本《Essential C++》也看得我很莫名。好吧,其实那本书我根本连前30页都没看完……
因为大项目是用Alice做小游戏,而不是传统的编DOS游戏,所以基本上不用看C++也能够完成。再加上平时作业抽不到我提交,因此就荒废了这门课。
最后开始赶项目的时候,真的是很累很崩溃,心情很压抑,觉得自己什么都不会。
上机考我脑子基本上一片空白,即使有了思路也不知道怎么去做,看提供给我们的那片代码,我一行也看不懂……
在很久之后,当我接触到其他需要C++的课程的时候,才觉得真正开始享受这门语言所带来的欢乐(- -||| 真的很欢乐……)
汇编:
这门课是很麻烦的课,因为跟机器语言距离很近,而且牵扯到很多非人类思考的问题,所以虽然上课听听很开心,但真的写起来一点也不开心。
研究怎么在屏幕上输入有颜色的字,怎么读取系统时间,怎么出声音,怎么输入怎么清屏,我一直都怕哪个中断写不好,会把电脑搞坏掉。
期末的项目是穿插在C++项目之中进行的,其实也就是拿了个现成的过来改了一下。在对代码写注释的过程中,我可以说是巩固了对汇编的认识,也意识到自己真的很会看代码…… Orz
我很清楚自己当初是低估了这个语言的伟大,因为它除了烦一点之外,真的可以做很多事情。
数据库课程设计:
这是我比较不想去回忆的一门课,因为没学到啥还充满阴影,所以还是跳过吧。如果这门课在数据库原理之后再开,一定会很美好~
数据结构与算法:
很喜欢的一门课,就是因为这课的原因,才让我对我C++的学习能力重拾信心。施大牛我实在太感谢你了~
可以说,我C++的学习完全是在上过这门课之后才开始的,大一下那就是浮云……
怀着对这门课(其实是算法)的热情,我突然对模板这原本纠结的东西豁然开朗。所以说,编程这东西真的是要不断去练习尝试才能够领会的。
我很喜欢每两周一次的小作业。研究算法,并且追求用最简单的方法实现,过程很享受,结果很喜人。我也看出来我很能够不走寻常路……
相比之下,笔试实在太无爱了,理论无能啊~ TAT
很神奇的成为了debug,并在之后升级为debug++ Orz,我的排错能力在不断地洗礼中成长……虽然还没达到无敌水平,不过我左手Google右手MSDN,来者不惧……XDDD|||
数据库原理与应用:
这是挽回我对数据库无限爱的一门课。所以说,打基础的东西真的不该放在那么晚才学。
我知道我最后基本上不会去走数据库方向,不过数据库又是每次做项目无法避免的部分,所以觉得不学好会很麻烦,不擅长也得了解。
课上的很开心,即使他是用我最痛苦的英语讲的。但当内容足够吸引人的时候,方式的问题也就不是问题了。也许其实我的英语也不是很差劲……|||
最大的收获是那Sybase的PowerDesigner,特别好用的一个CASE,不过我还没有研究透彻,单纯地认为用它设计ERD比MS SQL好太多了。
数字逻辑:
这课研究的是数字电路,关于01之间的故事……|||
虽然偏向硬件,但我还是学的很开心,因为有实验课。这实验课除了每次要交实验报告之外真的可以说很完美。
我还记得我们最后实验设计的时候,做了个定时报警装置。最怨恨的就是没有减法芯片,再重新去画卡诺图很麻烦,于是就变成累加到设定时间后蜂鸣器报警的东西了……
其实我觉得还是挺好的,少数几个能够顺利无误完成的作品,实在很让人欣喜。
Windows程序设计:
又是一门在我C++学习上占据无可比拟位置的课。在伟大的户Sir的循循善诱下,我对OOP的精髓——继承、封装——从无知走向理解。当初周胖怎么就没把我讲明白呢?我一直不是很清楚这个问题。
这门课让我无比兴奋的原因,其实是我终于能够不用再对着黑白的命令行,而是无比绚烂的图形化界面~ TAT
于是,我非常勤劳地把辅导书随身携带,用了两个礼拜的时间通读一遍。然后开始着手于期中的小项目——画图板。
话说画图板这东西是我继5子棋之后,又一个比较可以用来炫耀的东西(我太可悲了,太可悲了啊~)。而且没有拼死拼活的熬夜跟郁闷。
所以说,真理就是,早点开始动手,就不会到最后受累。
不过,之后的大项目我壮烈地阵亡了。因为无知的我实在不明白网络编程究竟为啥能够成功……这个纠结了我N天的问题,在我受尽折磨之后,项目涉险过关之后,还一直让我耿耿于怀。
不得不说,MFC真的是很神奇的东西。
计算机网络与通信:
终于,在网络出现之后,我对于Socket的怨念不复存在。TAT,我认识你实在太晚了,金大帅哥~你就是我在网络编程这条路上不用摸黑前进的指路明灯~~~
不幸的是,明灯的课我的结局太凄惨了……
但除却分数之外,我学到的东西很多,我再也不是网络小白了…… Orz
计算机组成原理:
又是偏硬件的课,很无奈,即使我学了不还是不懂买组装机么~(好吧,本来就不是教这个的……)
大致上就是讲怎么设计CPU的。我觉得我真的不知道怎么形容这门课……
操作系统:
顾名思义吧,讲了进程调度、内存管理、文件管理的方法。其实这种偏算法的东西我应该学得比较high才对,不过为啥每次我都像听天书一样不知道她在讲啥呢……
暑假里面写操作系统的过程不太想再说一次,反正就是前几个礼拜的事情。总的来说,这门课的收获比较多的体现在笔试上面,对于这个项目,收获的东西完全跟这 门课不搭界。不过好好研究过上课过程中几个小作业的话,还是可以看出OS的一些个算法思想。
软件工程:
应该算是一门比较实际的课,教我们怎么从需求分析开始去完成一个项目。我一直觉得这课很精华,虽然有时候我听着听着就不由自主地游离了。
其实我自认为这课学得挺失败的,特别是考试时候那些啥内爆外爆的东西。果然是因为少去了几节课吗,唉~其实我不想的……
我发现我挺喜欢做需求分析的,突然开始对写代码这件事情感到无趣了。每次开会即使一开就是4个小时也不会觉得很累,但一想到要写代码,啊~好痛苦……
软件架构与模式:
应该说是对OOP学习的一种升华。就像是把一块普通的矿石,雕琢成一件无价的艺术品。Design Pattern就是能够将一段代码进行整理优化,使得程序更精简更鲁棒。
无数大牛们数十年的经验,积累下来的这些个设计规范,实在令人惊叹不已。
================================================
其实就这么多了,觉得好像这两年学到的东西,敢打保票说自己学得很好的课,真的少到我飙泪啊~TAT 我好废柴~
