登陆注册
47934000000054

第54章 实施现代教育的一些建议(15)

经过短短几十年的发展,计算机科学与技术已经从计算数学、电子学等专业分化出来,成为独立的学科。由于该学科本身涉及很多理论、技术,学习研究理论、技术十分必要。更本质地看,所有的理论形成、技术发明都来自解决问题的需要。在一定程度上,这些理论、技术可以视为针对问题而提出的解决方法,甚至借鉴了现实生活、其他学科的逻辑思路和方法。数据结构、数据库、操作系统、编译原理、软件工程和计算机网络等课程的理论和技术莫不如此。编程语言借鉴自然语言逻辑,设计模式、遗传算法等借鉴其他专业的学术思想。

随着技术的发展,计算机学科的课程体系与时俱进,不断丰富完善,并不断分化出多个专业技术方向,例如:软件理论与技术、体系结构、网络工程、信息安全、物联网工程、服务科学与工程等。我们应该理性地认识到:任何大学都不可能培养学生掌握所有的理论、技术,研究者理当关心前沿技术、最新进展,但大学教育本身不应该过于“赶时髦式”地追逐潮流。

从技术本身来看,早期的软件开发通常强调代码最优,尽量降低时间、空间复杂度。可如果仅考虑代码最优,Windows系统、Linux系统和基于网络的多层软件体系都远比早期的DOS、两层结构的C/S系统复杂、低效。Java虚拟机、浏览器中脚本解析与C语言、机器代码的运行效率更不能相提并论。

从工程角度来看,基于中间件的多层软件体系,特别是基于B/S模式的Web应用系统,架构上就显得更加合理、灵活,且具有更强的可扩展性、健壮性。至于SOA、云计算、物联网等新技术的出现,莫不是从系统工程的角度出发,面向技术发展和实际应用的问题需求,设计相关的技术、机制、协议和方法,从而形成相应的技术体系。

从应用角度来看,技术始终是技术,并不能代表业务。如某个人即便很好地掌握了所有的计算机技术,但如果他不懂会计管理、银行清算等应用领域的具体业务,他也无法编写出相应的应用软件。信息化是非常时髦的名词,其本质就是业务功能、业务流程的计算机化。在实施信息化工程的过程中,如果业务流程不清晰、不完整、甚至存在歧义或逻辑错误,就需要实施业务流程再造,否则,再好的技术也无济于事。电子政务、电子商务、办公自动化、企业管理等信息化工程,尽皆如此。

软件开发通常很难达到预期效果。据统计,整个软件行业的项目成功率很低,不超过1/3,大规模团队的联合开发则更糟。导致这种现象的原因很多,其中,最为重要的恐怕是架构设计、项目过程管理、业务分析的能力不足。架构设计是系统的宏观性思考,通常属于经验性的技能,另外两方面则属非技术因素。很多政府官员、技术人员,甚至专家教授过于强调技术的作用,轻视业务分析、项目管理的能力培养和工程经验的积累。

这就是为什么说需求分析是软件工程,乃至所有工程的起始环节;业务流程建模技术日益重要;计算机专业学生在大学四年学了七种编程语言却依旧不得要领;甚至有学生感叹“大学四年白学了”。至于软件工程、软件项目管理及CMM(能力成熟度模型)等课程则更是技能应用的经验总结,对工程项目的实施起到指导性作用。这些课程的教学如果不结合实际应用,学生很难深刻理解书本知识的内涵。相反,某个人即便非科班出身,没有学习书本上的经验,也可以开发软件。在开发复杂系统时,他可能会走一些弯路,但只要勤于动手实践、善于思考总结,同样可以成才。

(三)课程教学理念和方法的思考

1.编程即是建模

笔者常对学生说:“编软件犹如写小说、绘画等,可视为建模的过程。”《聊斋志异》、《西游记》等小说是作者用自然语言构思、描述的故事模型或画卷,其创作过程可视为建模过程;《清明上河图》或某幅山水画也是画家构思、用各种原料绘制形成的场景模型。类似地,软件编程本质上也是建模过程,是编程者按照一定的逻辑,用编程语言或建模工具对任务和功能进行的建模。

我们不妨认为,作家用文字、画家用色彩、建筑师用图纸、音乐家用音符、软件工程师用编程语言进行建模。模型的质量不仅取决于微观的技术,更取决于宏观的构思。构思被视为作品的架构性设计,尤其重要。掌握某种语言或技术,如精通中文、英语等语言或绘画的小技巧,任何人都可以写小说或绘画,但并非人人皆能创作出优秀的作品。同样地,掌握某种编程语言,任何人都可以编程,但如果缺乏宏观建模思维(即架构设计),肯定编不出优秀的软件作品。

编程语言与自然语言类似,是一种单线性的描述技术。采用单线性技术建立的模型,往往很难直观地给人宏观性、整体性、并发性的视图。如采用自然语言描述同时发生的多件事情、事物固有的多面性,我们只能按照某种先后顺序单线性地进行描述。在建模复杂的工程系统时,包括软件系统,如何能够宏观全面地设计、描述系统的多面性、不同组成部分以及它们之间的关系,是包括计算机技术在内的所有工程技术发展面临的主要挑战之一。

正因为如此,基于工程开发的经验,人们发明了多种图形化的建模方法,设计了各种工程图,如FSM(有限状态机)、UML(统一建模语言)、Petri网、SDL(规范描述语言)、TTCN(测试和测试控制标记)、MDA(模型驱动的架构)、BPMN(业务流程建模标记)等。其中很多方法具有严格的数学基础,通常被称为形式化的方法。不同的图形化建模方法各有优缺点,适用于不同应用的建模需求、工程过程的不同阶段(包括需求分析、设计、实现、测试)。它们的描述能力也不相同。我们相信,在计算机领域,随着技术的发展和应用的深入,还将会产生建模描述能力更强的方法。

任何编程语言、建模方法都是应用领域建模需求的共性抽象。遗憾的是,所有的编程语言、建模方法都不是中国人总结、发明和设计的。如计算机教育,我们绝大多数老师、学生只注重相关理论、编程语言的教学,甚至很多老师也不清楚编程语言、图形化建模方法之间的关系。犹如有了钢筋、水泥和柱子等离散的要素并不等于有了房子,学生即便掌握了编程语言、类似UML的图示化建模方法等离散的技术,却缺乏应用系统建模、解决实际问题的能力训练,无法积累实际的工程经验,因而不会开发软件。这种能力训练、经验积累难以在课堂上讲授,必须依托于项目“做中学”,哪怕项目是老师虚拟出来的。

国内外大学的计算机专业通常都开设C、C++或Java等编程语言课程,但教学方式却大相径庭。很多人持有这样的惯性思维:C语言是基础,学生应该先学C语言,再学C++或Java等OO(面向对象)技术。而且每门编程语言的教学需六七十学时,还要安排三四十个实验学时。国外很多大学讲授语言课程只用三四十学时,甚至有中学生选修Java或其他编程课程。其实,未必要学了英语,才能学德语、法语等其他语言;同样地,未必要先学C语言,才能学其他编程语言。至于OO技术,与其说是编程语言,不如说是建模方法和思维方式。

笔者曾听说,某大学生学了七种不同的编程语言,仍然觉得心里没底。可以说,我们的学生非常渴望学习掌握各种知识,却苦于没有人为他们“解惑”。在学生,甚至很多老师的眼里,各种编程语言就是不同的计算机技术,为了适应未来的就业需求,就应该多学编程语言。其意图本身并没有错,但局限于学技术、学语言却有失偏颇。除了技术背后的思想、方法以及运用技术解决问题的能力之外,技术本身并无多少内涵。可我们的编程语言教学与英语教学方式类似,通常只是为了学语言而教语言,并未从思路、方法上培养学生思考和解决问题的能力。老师也没有告诉学生该如何读大学,如何真正地培养能力。因而,学生发出“大学四年白读了”的感慨也就不足为怪了。

2.对其他课程的看法

首先,很多课程内容的思路、方法来源于生活的经验、智慧和逻辑,但书本知识又高于生活。不管数据库、数据结构、操作系统,还是计算机网络、软件工程、设计模式等课程,很多知识点可从生活中找到具有相同逻辑的参照模型。

以TCP的虚连接为例,所依赖的IP层通信是无状态的,虚连接的两端自行管理通信连接状态。在现实生活中,我们可以找到具有同样逻辑的通信模型:通过邮局投递无状态的普通信件,异地的男女谈恋爱、商人洽谈商业合同等情形。这时,恋爱、合同洽谈的进展状态,则由借助邮局进行通信的双方自行管理。其实,会话通信也采用了相同的逻辑。计算机专业的很多老师是否真正理解,并能讲授清楚虚连接、会话通信等概念,我们不得而知。如果某个人肯用心,即便没有读大学,也可以靠自学来理解这些概念的本质。但他若不能真正理解这些知识的含义,即便博士毕业,发表了很多论文,有了“纸上谈兵”的创新,又有何用?

同类推荐
  • 教师专业发展的理论取向与实现路径

    教师专业发展的理论取向与实现路径

    本书立足于当代中国基础教育改革的发展趋势从教师专业发展、教师阅读、教师继续教育和教育思考等四个方面,阐述了知识经济时代给教师带来的机遇与挑战。作者通过大量的案例分析和理性思考,创造性地提出了教师发展的新理念、新思路、新方法、新途径,对当下教育改革有一定的借鉴意义。
  • 中外名记者的梦想与追寻

    中外名记者的梦想与追寻

    本书是浙江省社会科学界联合会社科普及课题的成果,列举了中外著名新闻工作者的生平、职业生涯、新闻思想,其中有梁启超、王芸生、林肯·斯蒂芬斯、亨利·卡迪尔·布列松等中外著名新闻工作者,这些人也正是中外新闻史的奠基人和开拓者,这些中外名记者的梦想与追寻为当代新闻工作者提供了很好的方向指引。
  • 明代宗族研究

    明代宗族研究

    宋以后新宗族形态的重要特点是组织化,明代则是这一新宗族形态承上启下的重要历史时期。本书依据大量的明代文集、族谱、方志等万史文献,从整体上综合性地把握宗族祠庙祭祖形态和演变,深入研究宗族制度与乡约推行的关系,着力论述士大夫重建宗族的理论探讨与具体实践。作者考证了明代宗族祠庙祭祖制度及其演变,注意区分明代不同时期不同地区的祠庙祭祖形态,提出宗族乡约化的概念,把宗族活动放在宋以后士大夫的化乡实践中认识,对著名宋濂、杨士奇、罗钦顺的宗族思想进行了探讨。本书是第一部研究明代宗族问题的学术专著,对于探讨明代社会文化史有着重要的参考价值。
  • 后望书

    后望书

    回望已经毁灭了的天下第一关——潼关。那里,曾是一片古战场,风云迭荡、苍茫遥远;那里,是北方大风景的结点;那里,文物古迹遍地。
  • 政府应对境外媒体策略研究

    政府应对境外媒体策略研究

    政府与新闻传媒之间的关系,越来越成为政府“软实力”的重要组成部分。主动运用传媒提高政府部门执政形象、引导舆论的“新闻执政”理念不仅是西方现代政府的共识,同时也是我国各级政府努力的方向。本书介绍了境外主流媒体、驻华新闻机构及其涉华报道的主要特点,在分析典型案例的基础上,提出了当前我国各级政府应对境外媒体的各种策略。适读对象:各级政府对外宣传管理人员,国际关系、新闻传播等相关专业研究人员及广大师生。
热门推荐
  • 来自唐朝的皇子

    来自唐朝的皇子

    桃花绽放,时光清浅意缠绵;桃花纷落,岁月岑寂长相思。他曾是唐玄宗李隆基的第十二个儿子,俊美无缺的容颜,尊贵无比的皇子;他曾是天渡岛上洞天老祖的嫡传弟子,无上修为的道法,昆仑仙岛的尊者;本是显赫高贵的大唐皇子,五岁时被下毒险些丧命,后机遇巧合被带入昆仑山上悬浮的神秘仙岛,参透宇宙奥妙,掌控非自然的能力,无生无死,永不衰老的容颜,永不泯灭的灵魂。千年后,为了等待相见再次轮回的伊人,来到江南苏州,隐居在独墅湖边的李宅,一世一世的等待,不停的变换身份,从商人到音乐家,从建筑家到医生,展笑红尘,恪守承诺,一段逾越千年的恋情。
  • 出肉装的迈特凯

    出肉装的迈特凯

    木叶的苍蓝猛兽,迈特凯参上!凯,就应该出肉装!狂徒全图浪,八门复活甲!在我双抗叠满的肉装面前,各位外星人全都是垃圾!
  • 老板这个真不会

    老板这个真不会

    他是老板她是花痴,花痴就是不花痴他,气死他。某男摸摸自己的下巴“难道魅力下降了”“老板这个我真不会,不要逗我了。”花痴女抱大腿。“起来起来,我可是好讲话的人,来把这个背十遍。”“啊”郝艾艾下巴都磕地上了,老板你不是冰山男吗?那么这个逗比是谁。
  • 完美虚假

    完美虚假

    当我们离开网络的虚拟世界,重新审视自己所谓现实的生活之时,你是否意识到自己所坚信的一切可能只是一场完美的虚假。
  • 白衣女王:腹黑嫡女太傲娇

    白衣女王:腹黑嫡女太傲娇

    正在睡梦中的凉琴不知怎就穿越到一个性子软弱的相府嫡女身上,姨娘狠毒多次设计要害死她,庶妹也看不得她好过,父亲也不管不顾由她自生自灭,在如狼似虎的相府中她不得不谨慎再谨慎,后来又不小心招惹到外表高冷实则腹黑傲娇的小侯爷……
  • 误失尘

    误失尘

    祁容尘与陈一晴一见钟情,多年的艰难相处却逃不过分道扬镳的结局。后祁容尘与姚辞相遇,小心翼翼地展开相处。多年后,祁容尘再次遇见陈一晴,面对陈一晴的改变,祁容尘幡然醒悟,用匪夷所思的行动,成就了属于自己驱动的事业和感情。
  • 风雪邢台

    风雪邢台

    北宋徽宗宣和七年末,叶霜跟随师父红叶准备上凌霄山,了却旧日师门恩怨。不料刚到了信德府境内,便听得金人南侵,不日将进攻邢台城。师徒二人途中见到信德府招贤告示,便放弃上凌霄山的计划,到了邢台城协助信德府抵御金兵。信德府知府在城下举行英雄宴,宴请赶来邢台助阵的各路江湖好汉,宴席上,叶霜遇到了红叶的一些旧友,又见红叶心绪大变,心中充满疑惑。最后在和云梦子畅谈中,叶霜的疑惑才慢慢解开。叶霜知道红叶此时面对外族侵袭、师门仇怨、情场变故等等情形,心中异常失落……
  • 铭道

    铭道

    道存于心,若有,一息尚存也可逆转乾坤!若无,纵使比拟于天终会崩塌虚无!一少年始于一个普通的门派,开启了问道铭心之旅........
  • 贪恋红尘三千尺

    贪恋红尘三千尺

    本是青灯不归客,却因浊酒恋红尘。人有生老三千疾,唯有相思不可医。佛曰:缘来缘去,皆是天意;缘深缘浅,皆是宿命。她本是出家女,一心只想着远离凡尘逍遥自在。不曾想有朝一日唯一的一次下山随手救下一人竟是改变自己的一生。而她与他的相识,不过是为了印证,相识只是孽缘一场。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!