总结下上半年的课程 - 行者无疆 始于足下 - 行走,思考,在路上
总结下上半年的课程
好久没有更新了。上次更新还是三个月之前。那时的算法课程,昏天黑地地写了三天的代码,bst, avl, splay,稀里糊涂。
转眼已到春至。回想前面几个月的生活,百感交集。12月份1月份以学习为主。专业课究竟是专业课,颇有力不从心的感觉。好在通过自己努力,成绩还不错 ,这么一来压力少了很多——我可以顺利毕业了,呵呵。
说说去年的课吧。
计算几何:唯一挂掉的课程。54分。主要是自己太过自信,秋学期考试前几天一直在看图形学,忽略了这门课的复习。我想我平时作业交了,期中考的还成,期末再怎么差也不会太难看。但事与愿违,老外的课不留水分。期末考试我觉得很难。很多人都弃考了,我也没有做出来几道题。考完了就有种不详的预感。最终悲剧的挂了。不过还是有所收获。除了一些入门知识,了解了latex tikz/pgf宏包的使用,还有geogebra软件。
计算理论:学过的所有课程中最为抽象的一门课程。半年就讲四章,中文书100页的内容,第四章图灵机的很多内容到现在还是不太明白,什么NP,原始递归,判定性等等。DFA,NDFA,CFG等,也是费了好大的力气才理解的差不多。作业占10%,期中占20%,期末70%。算上期中考试,我就上过3次课。作业最后补了不少,打算考试时候交给老师,可惜老师没有收。这么算了我作业分0分了。最后的几天都在复习,期末感觉还不错。最后总分80。比较满意了。现在想想这门课应该是蛮优美的一门理论,尤其是又穷自动机和正则语言、下推自动机和上下文无关文法、图灵机和文法之间的对应和转换关系,以及图灵机对很多问题的判定,都是非常抽象非常晦涩但是理解后又会使人感叹的东西。由此可见,本门课程的祖师爷Alan Turing先生的伟大之处。他在人们还没有搞懂什么是计算机的时候就发明了这套理论。
操作系统:78。比预期的要低。大概是自己太过自信,没有复习的缘故。14次小作业完成的都不错,presentation满分,期末考的不咋样。客观的说,这门课只能算作科普课程。通过这门课学习,知道了进程、线程、DMA、MMU、死锁、进程同步、CPU调度、文件系统、磁盘结果等概念。主要收获还是自己参与的三次Presentation。第一次写了基于浏览器的操作系统,第二次写了二十页英文的关于进程和线程的论述,第三次是linux系统调用深入研究。
汇编与接口,重点了解了x86 intel 汇编,我对接口部分没啥兴趣。大一时买的清华那本《IBM-PC汇编语言程序设计》总算派上了用场。最后自己编了一个200多行浮点数运算四则运算模拟的汇编程序,深入研究了IEEE 754浮点数标准,了解了汇编程序的结构,一些重要的指令和伪指令。最后考试不咋样。没怎么复习,接口部分不熟,总成绩66。
汇编与接口实验,多数实验是糊弄的……人家前脚做完实验,我后脚开机,开始“做实验”,最后参考别人程序,修修改改,蒙混过关……整个过程极其痛苦……发誓以后打死也不过电路芯片等硬件相关的东西。最后糊弄个80分了事。
计算机图形学,科普课程。课上只讲原理,不讲编程,作业却是用OpenGL编程,编六个大程序。结果考试却又完全不考OpenGL,真是无语的一门课程。最后考试题目大体如下:
- 扫描线填充和种子填充算法概述,优缺点比较。
- Phong模型和Gouraud模型概述,比较。
- 画家算法和z-buffer消隐算法概述,比较。
- 光线跟踪算法和辐射度方法。
- 如何用深度缓存生成影子。
我答的还不错。最大的收获是OpenGL编程、OpenGL Pipeline、3D几何变换,还有一些常用算法。不过说来容易做起来难,本身图形学对数学的要求极高,我这种水平也只能高山仰止,调调OpenGL函数糊弄了事。最后的程序搞了600多行,很是崩溃。尽管学的比较辛苦,但是成绩只有72分。大概是自己没上过几次课点名没到的缘故吧。
数值分析:很难的一门课。当然如果你有好的数学基础和扎实的编程基础,学起来还是蛮又收获的。讲到切比雪夫多项式的时候大家都晕了,只有老师一个人在台上无奈的叹气。实验要求是8个大程序,网址在这里,共30分。坦白的说,我一个人搞不定。最后的办法是借来了别人的程序,参考课本仔细研读,加上自己创造,终于在deadline之前搞定。考试也不简单,最后老师特地延长了时间。总成绩80。比较满意了。收获是以后遇到此类问题知道去哪里查书了。
高级数据结构和算法:8次课,在zjg,去了3次。和两位大二的学弟组了队。编了大程序——见我前一篇日志。最后80左右。收获:没啥收获。这么短的时间,所谓高级算法,就是一个噱头。
逻辑与计算机基础:极其痛苦的一门课。本身对电类课程过敏。而这么课又是讲什么全加器、选择器、译码器等数字电子电路相关的东西,加上课程在zjg,所以我也没怎么上。最后和别人组队,弄个文职,长者自己latex略有小成,弄了份精美的文档过去。四次quiz也是糊弄,期末考试也是糊弄,老师照顾,60分。总算过了。
逻辑与计算机基础实验:极其痛苦的一门课。13次实验+期末考试,只给一个学分。其实关于Verilog,大家都不会,也没几个感兴趣的。实验课就是前人栽树后人乘凉,好在我们在下午上课,上课的内容就是找到别人编好的程序,鼠标点点,运行下,最后糊弄下老师,签字走人。收获:看过了FPGA开发板,知道了XILINX这个软件bug多多,比较恶心。
操作系统实验:就是linux的相关操作。四次实验,依次是Linux API,编译内核,系统调用,文件系统改造。收获不小。看了部分《Unix环境高级编程》,亲自动手编译了内核——以前不敢的。进一步熟悉了Emacs、latex,还有强大的cscope的初步使用。最后91分。
马克思主义原理:没怎么去。只有60多分。收获:基本上复习了初中政治的内容,觉得资本主义本质、商品使用价值和价值的分析是最精彩的。课比较恶心,分比较低,老师比较不厚道。
游泳:60分。其实本不该这样。理论考考试系统出问题,一分钟刷出来一道题,做不完。体质测试又出问题,本来由于场地原因,我们这半年就上前面几周的课程,最后老师说我的体质测试成绩没有给他。可是我根本不知道那个时候该到哪里上课。结果60分。令人愤慨。
工程训练:暑假上的,科普课程。最令我感到震惊的是学医学的也要学这么课程,和我们这些工科男一起去打铁。最后自己做了个小锤子,送给mm了。82分。收获:开阔了眼界。
Linux程序设计:77分。作业都是在贵州做的,点名没到,貌似扣了5分。收获:进一步熟悉了各种命令。
还有一门弃考的计算机组成实验,今年再修。两门补考没去,分别是计算机组成和线性代数,都是大二挂的课程。大四再说了。这半年课程也不少,开学两周我还没怎么去上过课,惭愧。
今天先写到这里。去吃饭了。昨天搞gentoo到四点多,今天中午才起,午饭还没有吃。肚子饿了。以后把一些重要的资料传上来。^_^