当年的部分课程项目回顾(二)

 

先来个定场诗:

八斗奇才学五车,
敛容正襟坐书阁。
毛笔一提任挥洒,
看官瞠目尽结舌。
要问写的是什么:
(醒木一响,“啪”!)
哈喽卧得。(Hello World)
(改编自程序员退休练书法的笑话)

呦,给整成三句儿半了,不是,五句儿半。言归正传,书接上一回。继续前面的课程项目回顾。

4. 仿mspaint小画板程序-Windows程序设计课程项目(大二上)

模仿Windows自带的小画板,除了存储与读取可以只支持BMP格式即可,其他方面模仿得越像越好。不准用MFC去写,图形化的界面只准拿C++去调用WinAPI画出来,这可增加了不少工作量。总之最大的目的就是熟悉开发Windows程序的基本结构,包括消息队列之类的机制。

在实践上起到的功效就是,学会查阅适当的WinAPI函数来完成特定功能。照老师的话说就是,Windows API有上千个,你以为你们谁能都记住吗?小画板的这些功能,你以为课本或课件上都会挨个儿讲吗?于是搞这种开发,就得了解Windows的一些运行机制,然后猜它会有什么样的API,之后去网上、去MSDN里查阅,找到函数的原型和说明,再在程序里去调用。于是到开发的时候,界面画好了(为了绘制时保证不闪屏需要有图象缓冲区的设计),基本的画笔功能实现了,在其余功能的开发上,就成了文献查阅大赛。查到的多,做的程序功能就全,得分就高。比如画曲线,那时候没学过图形学,自己不会画,猜着API里得有相关函数,找着了就做出来了。再比如复制粘贴图象,就要去想了,Windows应该提供操作剪贴板的API吧,去查好了,这一系列的功能就实现了。当时留下的启示就是,用一套库,能调用的东西太多了,书本上写不下,脑子里记不完,就得有自己查阅找寻最终实现自己目的的能力。

5. 电脑多功能伴侣-Windows程序设计课程项目(大二上)

名字起得花哨,其实就是个小工具合集。主要是当初这个任务被布置到了假期去完成,合计着一组人不在一起不好协作,配个源代码管理的服务器也嫌麻烦。忽然以拍脑袋,大家做个小工具合集吧,一个人写写一些小型的实用工具,互不干涉,封装到DLL里,开学来了一拼,就算完事儿。

这就主要训练技术广度了,小工具搞得要涉及各个方面,那就得各方面都了解点。有分析网页的,有装系统钩子的,乱七八糟一大堆。从深度上看,倒没什么太大的含量。就当是锻炼思维了,因为一堆人得凑到一起头脑风暴,计划出都要编写什么工具。

差不多从大二起吧,自己再获得技术突破的基本都是在一些小型的散碎的任务(数目也比较多,在这里就不写了)上了。而比较有工作量的课程项目,重点基本都转移到了如何自上而下(从宏观设计到微观实现,之所以用这么费劲的词语,是因为还不敢妄称架构设计)地完成任务上。虽然动手能力依然重要,可总凭细节的堆积去构建整体。人,总得有些整体视角和眼光。

6. 上海地铁查询系统-WinCE嵌入式系统课程项目(大二下)

在Windows Mobile SDK 6.0的基础上开发的。模仿的这个网站:http://www.exploreshanghai.com/ditie/。主界面就是地铁线路图,在上面选起点、终点后,计算出换乘线路并列出线路信息,等等。

7. 源代码在线测评系统-软件工程课程设计(大二下)

参加过编程竞赛吗?使用的就是这一类系统。用户注册,提交代码,程序自动评判结果,包括正误、是否超时、是否超过规定内存等等。只不过老师为了增加工作量,不允许用B/S架构,只能用C/S架构,自己写服务端、客户端,而且界面可以用C#,程序的内部逻辑必须用面向过程的C去写。当然,代码还不是重点,软件工程的课程设计嘛,重点要放在文档的规范性上。需求分析、概要设计、详细设计之类的文档,都要写好。写起来冗余挺多的,不过为了规范嘛。就好像古时候的文人初学格律诗,都要要求苛刻,依着永明体,平仄韵脚不能乱,八病不能犯,熟练之后再逐渐破除枷锁,纵使偶尔破格,也能拗救,总归能无伤大雅,韵律和谐。

8. 火车票票务服务系统-J2EE课程项目(大三上)

不知道谁想出来的这么个题目。后台用JSP+Servlet实现,当时没有采用使用框架的想法,不过自行设计的方案里,倒有些地方与框架的一些基本观点不谋而合。这么一来,在后来学框架的时候就很容易理解它们的用意了。这算不算启发式教学(虽然是自我启发吧)?前台用了用Ajax。数据库用的MySQL。就提这么多了。

9. 简易的人脸识别系统-Linux程序设计课程项目(大三上)

以前只是在各种编程语言、库这样的技术之间来回游荡,这回了解了点模式识别的东西,才认识到这些离不开数学的理论根基的更深层方向,是一个多么精彩的世界。于是乎在工程性专业里带了许久的我,后来就打算去学术领域里逛一遭。有的时候人就是这样,在一个世界里呆久了,就容易忽视另一个世界的风景。都接触一番,而后决定归属,也没什么不好。

再往后,课就很少了,也自然没有什么工作量较大的课程项目了。有也是“小打小闹”。到大三下,攒着这些个经验就出去找了实习,一直到大四上的前半个学期。那时候,课程项目逐渐从专业生涯中淡出——那是接触真正商业项目的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值