近期南京的东南大学、南京大学、南京航空航天大学和南京理工大学的微软俱乐部联合举行了一个基于微软技术的程序设计大赛,2008年12月14号我应邀去东南大学的九龙湖校区参加了一个学生软件开发项目比赛的复赛当评委。开始接触了当代高校学生的软件作品,水平参差不齐,但感觉有点后生可畏。在此提提几个印象比较深的学生项目。
首先是一个名为“Cross Media Search Project”的项目,用于图片匹配查找,使用了比较高深的图形处理算法,我对此没有研究,感觉是将图片马赛克后在进行像素二维数组模糊匹配,不过我这个理解可能是错误的。该项目据说是有两个博士生研究算法。
另外一个是“口袋*讲座——校园讲座信息精准投放平台”,是一个基于WindowsMobile的网络应用,服务端维护一个校园讲座信息库,而客户端是一个运行Windows Mobile的智能手机,安装一个C#编写的客户端软件,该软件通过无线网络连接服务器,使用者可以事先设置一些过滤条件,然后客户端就可以提醒使用者有某某应当感兴趣的讲座可以参与。
一个叫“Web Seracher”的客户端软件,类似RSS订阅器,平时龟缩在系统托盘中,它能定期收集指定网页中的具有某种关键字的超连接信息,若有某个新超链接出现则可以提醒使用者。该软件开发中使用了工厂设计模式,装饰者设计模式。
“OurClass”项目是一个WEB2.0的应用,用于建立高校班级班级,它定义了一套ASP.NET控件库用于提供班级网站的常见操作,这里的班级分支是由学校官方定义的。该项目介绍者没有使用PPT,而是搞了一个颇有动感的Flash来作为PPT使用。
“CookEasy”项目是一个介绍菜肴制作的软件,该软件维护了一个菜谱库,能按照口味、食材、做法三种方式来显示所有的菜谱,它具有一个菜肴制作向导,指导使用者按部就班的制作菜肴,每个步骤还可以有时间控制。
“小财神”项目是一个叫“1822工作室”的搞得,据说是基于金蝶的中间件开发的,实现了一个学校、学生和家长三方共同使用的理财管理系统。软件用户界面做的不错,PPT也不错。
“3D魔方”就是将使用Direct3D技术实现一个魔方游戏软件,使用了X格式网格文件。
此外还有一些游戏开发框架,能实现“英雄无敌”或“超级玛丽”样式的游戏,具体怎么实现的就不清楚了,不过游戏剧情编得有点意思。
这些学生有的只是大学二年级,对比我当年大二的水平那是非常强悍。而且很多人制作了比较不错的演示PPT和软件演示录像,后生可畏啊。造成这种情况我估计有两个原因,一方面是微软将各种高级软件开发技术进行了非常人性化的包装,使得以前高难度的软件开发过程变得比较容易。另外一方面就是现代的学生的综合水平确实比起我当年高出不少,有些学生已经懂得使用PPT,软件使用过程录屏,演讲和回答问题也比较流利。
此外我还观摩了“AI-TANK”的坦克射击游戏射击比赛,对战双方都在一个坦克射击游戏平台上开发脚本,定义了各自的射击策略和躲避策略,坦克可以发射不同威力的炮弹,若命中对方则自身能量上升,有点像魔兽中的吸血光环的效果。然后双方都有3个坦克开战。这些游戏开发策略我不是很懂,反正胜者为王嘛。不过比赛中出现了一些小意外,有选手不服造成一些肢体冲突,果然愤青。
虽然现在很多人讨论当代大学生能力如何如何,但不可否认,对于大学生中的强者,其综合素质是不断提高的。