Lingjing团队决赛前的一些故事

2007/08/15 | 21:02 | 分类:团队合作 | 标签: | 572次阅读

  2007年08月10日,Imagine Cup 2007的各项比赛结果公布,我们北京理工大学Lingjing团队在Web Development中没有拿到前三名。队员和导师深感遗憾,但同时这一结果也并不令我们意外。会后裁判告诉我们说Lingjing位列第四,不管真的是有一个量化指标还是仅仅是一个安慰,我们心里始终清楚自身的实力和位置。

  我们Lingjing团队隶属北京理工大学学生科协,成员来自计算机、光电、电子、物理等多个专业,从事过“挑战杯”等大学生科技竞赛。参加Imagine Cup可谓偶然,选择Web Development仅仅是因为其它更擅长的项目已经停止报名。在Round 1截稿不到一周的一个下午,几个人凑在避风塘里,一边编写另一个项目的代码,一边构思Imagine Cup的方案,最终敲定了“Knowledge 360°”。紧接着几天,每个人分别负责用中文写了一块内容,由英文高手冯朝源翻译整合,最后一天按时提交了。

Lingjing团队决赛前的一些故事

  Round 1文档提交之后,大家都去忙各自的学业和其它项目了。直到有一天,收到晋级Round 2的通知,几个人又一次聚在一起商量对策。事实上,有过Web开发经验的仅有我一人,其他成员并非计算机专业学生,只有少量C和.Net基础。开发的重任自然落在我身上,他们则负责素材采集、合成、处理和录入等。关键时刻我们请来了同属校学生科协的一位外援。她在Flash和美工方面的工作成为我们作品最终能够入围决赛的重要条件之一。

  入围决赛的通知使得我们感到既欣喜,又措手不及。本来认为我们的Imagine Cup基本上没戏了,早已为暑假安排了其它活动,现在突然要我们赴韩参赛,真有点受宠若惊。但事实既如此就应该勇敢面对,何况决赛代表的不仅仅是学校,而是国家。身边的同学投来羡慕和鼓励的目光,他们大都认为我是四个人中最有底气的,因为我是其中最懂技术的。但正是因为我了解技术,我才最清楚我们团队在实力上的差距,因此也表现得最为保守。正逢期末考试,我们的主要精力当然放在了学业上。与其它一些高校不同,我们在考试之后还有为期三周的小学期,因此难以将太多时间分配给Imagine Cup。初次参加Imagine Cup的我们一度认为决赛就是对Round 2作品的修改完善及其相关答辩等,直到比赛形式公布,我们才意识到问题的严重性。我们立即开始借书、充电。好在我的ASP.Net基础扎实,而且积累过不少代码,一步步带着其他成员学习,效率还算不错。我们的那位外援也俨然成为一位老师,为我们补充Action Script知识。距比赛前三天,我们终于确定了做“中国剪纸”这个立意落俗但形式上有所创新的主题。可以说这不到十天的时间内即使是填鸭式的方法,我们也突击了不少技术,但更重要的是突击出了想法。

Lingjing团队决赛前的一些故事

  在24小时的决赛中,我们能力之所及的内容都按期完成了,而突击学习的技术出现了数个之前未曾预料的问题,占用了大量调试时间。最终Flash与Web Service通信等关键程序没有调试通过,导致了网站在核心功能上的缺陷,影响了成绩。因此我认为结果是合理的,输得也服。

  我为什么要谈决赛之前这些辛酸、遗憾而且有一些污点的经历呢?我想说的,第一、Imagine Cup这类高水平国际性学生科技竞赛比拼的确定是实力。实力靠的是积累,突击出来的东西必然会漏洞百出。当然我们不否认Imagine Cup对于学习能力的考查,我和我的队友都认同,我们在准备决赛期间,乃至比赛的24小时内,学到的知识远多于之前散漫的几个月。第二、技术固然重要,但在学生技术水平基本一致,难以在技术上有所突破的情况下,应用集成创新和内容立意创新成为争取亮点的必由之路。毕竟微软不缺技术,它需要的是持续发展所需的创造性灵感。我们能够入围决赛,内容上取胜是关键。当然,有人可能认为做中国传统文化的东西是落入俗套了,但如果能把握好内容创新和形式创新之间的平衡点,确实可能产生令人满意的结果。第三、态度决定一切。侥幸和投机的心理赢得了一时,赢不了一世。Imagine Cup仅仅是我们学习和生活中一个小小的里程碑,重视是必要的,但需要用平和的心态。回首从准备到参赛的漫漫历程,我承认我们有很多非技术失利,如果能够克服个人心态和团队思想方面的诸多困难,相信技术上的难题也就不算难题了。

  最后,真诚地希望有兴趣的同学们重视和关注计算机学科诸多国际国内学科竞赛,它们离我们并不远,但团结的力量和汗水的付出是必须的。

北京理工大学开源软件研习小组情况概述

2007/06/18 | 21:30 | 分类:Linux与开源 | 标签: | 786次阅读

  北京理工大学开源软件研习小组是一个科技创新性质的学生社团,直接隶属于计算机科学技术学院,同时是计算机学科学生科技创新基地的一个项目组。其宗旨是“弘扬自由开放精神,提高科技创新能力”。小组面向全校开展各类与开源软件技术相关活动,致力于组织学生开展技术创新,举行相关讲座与交流,维护校内相关计算机资源,提供开源软件技术支持。我们的目标将它建设成为我校开源软件及相关信息技术爱好者、研究者和开发者的共同团体及我院学生科技创新工作的重要基地。

 

  成员

 

  小组是随同2006年12月计算机学科学生科技创新基地的成立而建立的首批项目组之一,成员主要为计算机科学技术学院、软件学院的本科学生,现有成员16人,另邀请我校自由软件业内资深人士李凌老师作为技术顾问,为小组的发展方向提出指导性建议。
  在成立之初,我们经由成员内部推荐或通过宣传途径,限量吸纳一些技术和热情兼备的同学加入;待发展成熟后面向全校吸纳人才。具体项目和活动的开展将不受限于小组成员,可号召一切有兴趣的同学参加。
  本小组设负责人一名,全权负责各项事务。同时设研究、开发、宣传、外联等负责人。在目前情况下,一些活动开展及宣传工作由院学生会协助进行。

 

  工作

 

  本小组始终以科技创新为导向,着力开展以下几个方面的工作:

 

  1、组织学生开展技术创新


  创新是一个团队发展的灵魂,作为一个学生社团,积极主动地开展科技创新活动,符合学院发展和学生培养的目标。这方面的具体工作可以以下形式组织:
  (1)组织团队进行技术探索与实践。可由顾问教师或小组技术核心成员选择合适的课题,特别是针对开源软件深层次开发与应用、或基于开源软件的计算机理论研究,组织小组成员进行探索与实践。学生内部实践活动的开展形式可参考我校光电创新基地以及网络教室程序设计课程中“学生带学生”的模式。而针对一些理论性强、创新潜力大的课题,我们可与学校从事相关研究的教师联系,寻找切入点,争取将其深入地做下去,成为可能产生学术成果的亮点。
  (2)自由软件项目开发。我们将主动了解自由软件界及校内相关应用领域的需求,结合成员的兴趣与能力,组织项目开发,以推出具有科技创新和实用性的自由软件作品为主要目标。本小组的发起者大都有一定的自由软件项目开发经验。如果我们的软件能够为广大用户、特别是校园用户提供便利,同时体现出技术上的创新点,这将成为提高本小组存在价值和影响力的最有效的途径。
  (3)为相关领域的竞赛类活动做准备。我们将及时关注国内外适合在校大学生参加的、与开源软件或程序开发领域相关的竞赛等活动的信息,一方面与学院沟通,在学院和老师的支持参与下组织培训。一方面选择符合小组成员兴趣或能力的项目组织团队,加强学习,为参赛做准备。争取利用这类机会提高学院与小组的影响力,同时提高小组成员编程水平,培养团队合作精神。

 

  2、举行相关讲座与交流


  我们希望得到学院的支持,适时地邀请一些校内外的相关领域专家学者在我校举办技术性的讲座,以开拓学生眼界,活跃学院氛围。我们还会适当利用论坛等平台召开源软件爱好者举行主题明确的技术交流会等活动,共同提升技术水平。
  我们也会关注开源软件业界的一些学术与技术交流活动,并在校内发布有价值的活动信息,召集有兴趣的人员参加。我们已多次参加过Ubuntu社区、Sun公司、中科院自动化所自由软件协会组织的技术交流活动,受益匪浅。

 

  3、维护校内相关计算机资源


  我校、我院有少量闲散或长期缺乏维护的计算机资源。我们希望在提出可行性方案的前提下,向相关部门提出申请,将这些资源充分利用起来。一方面可以用它们作为服务器,运行一些校内亟缺、技术性相对较强的服务,如搭建内容完善的Linux镜像服务,解决校内部分Linux发行版安装不便、软件难找的问题;再如搭建分布式计算平台,解决网络教室的大批量程序编译问题。另一方面可利用这些计算机进行技术实践、项目开发等活动,特别是与网络相关、不便于个人单机实验的项目。

 

  4、提供开源软件技术支持


  校内有不少开源软件用户,特别是Linux操作系统用户,但熟练掌握它们的人并不多。尽我们所能地为他们提供技术支持,既是技术服务于群众的体现,又能够提高我们自身解决实际问题的能力。在这方面我们有一定的工作平台和群众基础,也已经做过不少工作。
  我们还将发扬开源软件的自由共享精神,为广大校园用户提供便利,免费提供各类开源软件。我们目前已有一些物质基础,Linux镜像服务器、Linux专题FTP等。我们已与国内外一些Linux社区联系,获得了免费的Linux安装光盘,并在校内向需要的用户发放。

 


  小组网站:http://ossg.bitunion.org/

集思广益

2006/03/12 | 18:27 | 分类:团队合作 | 标签: | 690次阅读

  大家也许看过我们OOAD与UML上学期发布的“集聚软件英才,放飞创新梦想”广告(http://10.1.0.63/)。我们提到要打造一个网络服务平台。作为扩大我们小组影响的一个项目,要打造北理工的一个精品,补空当是成功的要点。但我们认为的空当(技术的先进性、自主知识产权)不一定为大家所认可的空当(服务的创新性、实用性)。要实现我们的目的,重要的一点是能要吸引同学的关注。创新性和实用性必须重视。因此,我们向对此有兴趣的同学广泛征求意见——你希望校园网上出现一个什么样的新平台?它能够为大家提供什么新服务?对我们的项目或我们的小组有什么建设性的想法,都可以告诉我们。可以与我QQ联系或在这里留言。谢谢。

  附:我对Web图片这个项目的一点分析:

  关于Web图片这个项目,我收到的一些同学的反馈基本是认为这个系统的设计定位不大明确,没有体现创新,他们不理解这个系统和网络上一般的相册服务有什么不同。结合同学的反馈,从技术层面,我认为:

  1、一般的网络相册只支持一个分类标准(一个分类树),我们的特色是提出“多种分类标准的图片检索。比如‘金老师在香山’的照片同时可以在‘人物\老师’、‘风景\山’以及‘金老师个人专辑\旅游\香山’等分目下检索到。”,这是模仿Office图片收藏的模式。Office图片收藏用这一模式,我想有一点是因为它收藏图片的固定性——不会有频繁地有大量的新图片加入。对Web图片这个项目,收集的图片是不断增加的。我们认为这是一个更加便于检索的方案,但多种分类标准的图片检索如果分类过细(比如一组专题就是一个节点)就会导致树过大,不细又显不出多种分类标准的方便性。近期网络上不少BLOG、相册提供通过自定义Tags实现的检索服务,用Tags检索似乎成为了为Web2.0推崇的快捷检索的主流方式。这一点究竟什么检索模式好,还值得商榷。

  2、我们提出“支持多种客户端访问。包括Web浏览器、RSS新闻聚合器。”,这也是目前Web2.0推崇的浏览方案(信息制定化、集中化)。目前网上各种Blog和大多数的相册都支持Web浏览器、RSS新闻聚合器浏览,也有推出自己专用的客户端的(如Q-Zone)。这一点我们不敢说是创新。

  3、我们提出“集成无线网络技术(基于WAP、WIFI、蓝牙等协议),开发移动客户端(基于Windows Mobile、S60等平台)”,从一些同学的反馈看这一点是最有争议的。对WAP模式的,技术要求较高且涉及Internet接入和运营手续问题,我们暂做不了,但目前网上已有不少成功的实例(3GQQ相册、新浪移动博客等)。对WIFI、蓝牙模式,它们的发射功率仅足以在一室之内使用,又要安装专用的客户端,而且对这种临时性连接,它们的协议就已规定了每次连接都要双方手动配对,不够方便和实用。如果认为这是一种对现有技术的实践性研究,是不是应该考虑把试验性质的东西实用化的可能性?(说到这一点,有同学举例:用WIFI、蓝牙实现手机通过电脑到Internet的路由,实现手机免费室间对讲等等都是不错的可实用化的实践性研究。但这些目前主要的开发平台是C++和Java。)

  我们从上学期到现在也多次探讨过如何真正把它做出创新、做出特色,或者说不做这个,另想一个更加创新、更有特色的Web项目。但目前仍没有更具建设性的想法。

【广而告之,For BIT】集聚软件英才,放飞创新梦想

2006/01/17 | 18:23 | 分类:团队合作 | 标签: | 538次阅读

  北京理工大学OOAD与UML技术研究小组是计算机学院金旭亮老师带领下的一支软件技术探索和开发团队。我们致力于追踪最新的软件技术,努力挖掘技术的潜力,不断进取,大力提倡创新精神。我们渴望能聚集起北理工的软件开发人才,不管你是哪个学院,不管你是本科生还是研究生,只要你对软件开发有着强烈的兴趣,只要你愿意踏踏实实地学习与工作,我们就可以团结合作,共同打造北理工自己的具有独特技术与自主知识产权的软件运行与开发平台!

  我们的研究方向是面向对象软件开发技术及应用。2005年我们开发了一个基于Microsoft .NET平台的C/S结构的软件项目。全组件化的开发方式,应用反射、串行化等技术实现了软件组件的动态插拔,构建了一套可动态扩充的系统架构,很好地满足了用户提出的需求,并积累了一批可以复用的软件组件。

  紧接着,我们将把研究重点转向基于网络的软件开发领域。我们认为:未来的软件,是网络化软件。新一代的互联网,服务是中心。在未来,“网站”的概念将逐渐模糊,而“服务”的概念将突显出来。为此,我们计划用三到四年的时间,打造一个统一的北京理工大学网络功能服务提供中心。具体来说,新的服务中心包括以下几个子系统:

  (1)资源共享系统:提供强大的检索手段。
  (2)基于XML的信息发布系统:比如可被自动聚合的BLOG或论坛。
  (3)网游平台:提供统一的游戏插件接口,实现人与游戏服务器的人机对战;提供统一的通讯接口,实现基于局域网的人人对战。
  (4)教学支持系统:为采用电子方式授课的教师与学生提供支持。

  我们的服务分为两个层次:一个是针对普通用户的,其特点是用户只需登录一次,就可以同时拥有服务中心提供的所有服务。它将原有的独立的如论坛、FTP等子系统通过新一代的软件技术如XML、Web Service、多层分布式系统架构、服务集群等结合起来。另一个是针对校内软件开发者的,我们将提供可供二次开发的Web Service供应用程序开发者聚合调用。

目前我们正在制作的是图片资源共享系统(属于资源共享系统的一部分),初步框架已完成。按照预期的计划,这个系统将具备以下特点:

  (1)多种分类标准的图片检索。比如“金老师在香山”的照片同时可以在“人物\老师”、“风景\山”以及“金老师个人专辑\旅游\香山”等分目下检索到。
  (2)支持多种客户端访问。包括Web浏览器、RSS新闻聚合器。
  (3)集成无线网络技术(基于WAP、WIFI、蓝牙等协议),开发移动客户端(基于Windows Mobile、S60等平台)。

  目前我们做了一个只包含最基本功能的DEMO版本放在网上(http://10.1.0.63/picstarweb/)给大家测试。这个版本的架构还不够成熟,未来的设计开发还要大家群策群力。大家对这个系统有什么建议和意见,可以发邮件给我们,或者直接在系统的评论页面中留言。

  图片资源共享系统作为我们的网络平台的第一个项目,它的首要目的是搭建起一套通用的程序和数据库架构,积累一批通用组件,为将来的开发打好基础。有关此系统的功能构想、架构设计和技术特点等将在下学期陆续公布在网站上,并计划在学期初召开一个技术交流会。

  我们希望拥有以下技术之一的同学加入此项目开发:

  (1)掌握服务器端技术。服务器端将采用分布式架构,希望能用多台服务器实现负载平衡、容错、数据缓冲等功能,采用Web集群技术提升服务器的吞吐量;
  (2)掌握J2ME或微软的SmartClient技术,为图片资源共享系统开发智能手机与PocketPC客户端;
  (3)我们想使用AJAX技术,让Web页面也能实现丰富交互特性。欢迎掌握这方面技术的同学共同参与开发。

  我们希望对软件开发有着强烈的兴趣,喜欢编程,特别是有着独特创新思想的同学加入。一方面希望有相关专业的研究生(包括高年级准备考本校研究生或已保研的同学)参加,因为我们接下来的研究方向(分布式服务器集群、跨平台应用、无线网络和移动客户端开发)需要有相关技术基础的人员参与。这既有利于小组在高手带新手的氛围下快速成长,更可以和参与者本人的课题方向相结合,将在小组的实践作为课题的一部分。另一方面招收低年级学生(2004级与2005级),我们将采用“高年级带低年级,研究生带本科生”的方式帮助大家共同提高。不怕你缺少技术基础,只担心你并不真心喜欢软件开发,没有足够的毅力坚持下来。在大学四年培养自主学习能力,掌握一技之长,对适应未来竞争是极有益处的。

  有意者可以联系金老师(E-mail: jinxuliang@bit.edu.cn)或林健同学(E-mail: sswv@bit.edu.cn,QQ:71424),在工作时间也可到中心教学楼904房间找金老师面谈。

  希望有意参与的同学在假期有所准备。

  更多的信息,请在开学后关注OOAD与UML技术研究网站:http://10.1.0.63。

尽己所能

2005/09/15 | 21:11 | 分类:学习随感 | 标签: | 651次阅读

尽己所能
──凭想像写一点不成熟的想法给同年级有志计算机方向的同学

  开学这就大二了……

  我和老师、同学谈话,往往听到大家对北理计算机领域和校园网络方面的一些抱怨。的确,北理的计算机教学研究氛围不如某些兄弟学校,小团体多而杂,缺乏核心技术团队。网络方面各部门各自为政,没有统一的网络教学管理平台,给教师和学生带来很多不便;存在大量重复的网络服务,却没多少是自主知识产权的。

  不少计算机专业同仁都有志于改变现状。在校园网方面,提出建立统一的网络教学管理平台、通知发布系统,建立校内门户站点,提供多样的服务等等。在软件开发方面,各个团队更是不断地在校园内或论坛上帖广告宣传自己的主张,拉拢人才。这反映了大家对我校计算机事业的强烈支持和热切期望,但这么多人一古脑地搞,似乎又有点不妥。网络方面名曰“统一”,但谁不想当这个老大?“统一”在技术上的问题暂不说,如何说服大家相信你的系统可靠且高效?行政层容易搞通吗?用户的习惯容易改变吗?软件团队方面,大家一谈技术就提soff,仿佛都有拉拢soff的心思。但北理计算机水平达到soff程度的又有几个?想团结人才,凭什么底子?放假前总能看到一堆招临时程序员的广告,一位打工回来的同学说得到的一是钱,二是怨气──没有人看中你的技术。即便说得到了团队合作经验,在商业利益的驱动下,也掺和着那种不光彩现象的影子。种种现状,使我们不得不思考我们的畅想的可行性。

  靠一两个团队改变学校的氛围是有难度的,以名和利为直接目的更是干不成大事。我想我们还是从现实出发,做一些力所能及的事情吧!

  学习是第一要务。不少新人一说项目开发就提钱,不看看自己的本钱。学习分理论学习和实践学习,关于这个的讨论就多了,这里就不说了。只是想强调一下,我们在学校的很多实践,特别是自己觉得得意的那些小程序,其效率、可靠性、安全性远远是达不到实际企业应用项目的要求(想想我们的选课系统吧)。如果说要从程序员干起,走技术──管理──转行的经典路线,现在不如从企业级开发着手,做些技术上达到企业级质量要求的东西。当然这应该也是基于团队的。虽说不会像在学校内搞网站那样提高你的人气,但这个毕竟实用一些──企业不会看你那些花哨的东西,人家要的是上来就能干活的人。

  分清楚什么是用来学习研究的,什么是用来干活赚钱的,两者都不要轻视,应采取相应的学习策略。大学计算机专业课大都是“学习研究型”的,该深入的就要深入,这是计算机专业人员起码的技术素质,是我们学习“干活赚钱型”知识的基础。对于.NET等不被某些技术牛人所看在眼里的高效开发体系,对快速企业级开发很适应,它功能强大且很好上手,不要求我们了解太多的底层原理,可以说是“干活赚钱型”工具。深入地掌握一两门这类技术,至少可以毕业不待业。

  最后说点题外话。大家都清楚的,计算机专业学生很多都是游戏型人才。对自己所学的专业不感兴趣很正常,不想搞计算机就抓紧时间搞点别的有用的东西,别用游戏消磨时间了!以后不可能再有大学这样自由的学习环境了,还是那句老话:该干啥干啥。