面向计算机专业的软件开发技术课程集成发现教学法探索,计算机-
在调研和分析国内外高等院校计算机和软件工程相关专业课程体系及其存在问题的基础上,面向信息技术高端人才需求和新旧体系调整的要求,基于软件开发中的抽象思维(对象思维、模式思维和架构思维),提出了以运用能力为主要目标的集成发现教学法和教学模式。并且,进一步探讨建立以软件开发方法及其综合实践为核心的应用软件课程教学体系,重组基础课程、核心课程和相关平台应用课程关系,使这些课程内容联系更加紧密,衔接更加顺畅,有利于学生运用能力和创新能力的培养。
关键词:软件开发技术;课程改革;集成发现教学法;抽象思维;
计算机软件开发培训
简介:王小平,教授,主研领域:智能算法,软件技术,社会计算,安全关键系统。
0引言
随着信息技术和计算机学科的发展,软件系统的重要性在整个计算机系统中所占的份额及其本身的复杂性迅速地提高,使得它的开发代价和重要性超过了基本硬件系统。目前,相对于信息技术发达的国家而言,我国信息技术及其产业的发展面临“技术少标准、开发缺规范、生产无检验、质量无保证”落后压力。本科生教育是信息技术人才的主要源头,问题求解、程序设计、软件开发和创新能力是计算机专业人才优劣衡量标准中最重要的方面之一。然而,软硬件能力的培养并非一两门课可以完成的,而是需要一个长期的、
有目的的修养过程。系统及其运行信号的非直观可视性,又使得这种能力在很大程度上依赖于逻辑思维方法、抽象思维能力,以及对学科发展过程中不断深化的自顶向下、逐步求精、分而治之等思想,依赖对计算理论、抽象建模、系统设计和实现三个过程的基础内容掌握程度。另外,不断涌现的新问题求解、新系统设计和创造、新技术应用,也凸显了本学科创新思维和能力培养的重要性,要求学生对目前的软件开发技术和研究发展状况有很好的理解和掌握,以适应当前应用及未来发展的需要。计算机专业教学内容和形式也在发生深刻的转变,要求传统的“教导”或“灌输”、自底而上的单一展现模式,逐渐构建为自顶而下的“集成式”、目标导向的“发现式”、问题求解的启发式,甚至是这些模式的混合体。这些教学方法和教学模式的研究、发展和逐渐成熟,将会受到广泛关注,作为教学方法论的参考,也会逐渐被开放式背景下类如MOOCs和SPOCs在线形式教学方式所接受,使得更为广泛的受教育者获益。
2013年底IEEE ACM联合发布CS2013[1],这一版本与CC2001和CS2008比较起来,在知识体系有了较大的变化。CS2013包括18个知识领域,其中软件开发基础(SDF)和系统基础(SF)作为两个新的知识领域被正式提出,并列出了各种不同类型大学的80个课程样本和5个完整的课目样本。现有的课程包含不同知识领域的论题,可以用不同方法组合成一个完整的课目,在课时数满足的前提下覆盖所有课目的知识单元。
计算机科学与技术作为一门学科的边界很广阔,学生兴趣又各有不同,这就要求专业的课程体系为学生在本科阶段的学习提供不同的选择。但无论如何,学校课程的教学体系也有责任保证,不论学生的选择
是什么,都能学到计算机系统的核心知识和主要专业技能。例如,软件开发方法学作为一门新的专业课程在国内许多高校相继开设,包括天津大学计算机专业自2011年开始开设“软件开发方法论”,北京大学、西安交通大学、西安电子科技大学等都先后开设了类似的课程,相应的教材也开始编写。但系统性不强、内容陈旧,应该与非计算机专业的《软件开发技术基础》教材要求有较大的区别。不仅要求学生掌握软件开发各个阶段的技术方法,还要求掌握软件开发全过程的技术方法,这是计算机专业培养系统能力的重要入口,如软件建模、构件技术、软件架构和基于平台的开发技术,并且强调可尽量采用新的技
术、管理方法和新工具,与软件开发技术的行业标准相适应。北大青鸟软件开发培训课程作为国内IT职业教育的知名品牌,迄今已持续十多年,一方面说明不同层次软件开发人才需求旺盛,另一方面也说明了目前学校专业教育的短板。只有在理论、技术和实践能力都有较高水平的教学要求,并付诸实施,才能满足目前信息产业高端人才的紧缺需求。
本文在调研和分析国内外高等院校计算机和软件工程相关专业课程体系及其存在问题的基础上,面向信息技术高端人才需求和新旧体系调整的要求,基于软件开发中的抽象思维(对象思维、模式思维和架构思维),提出了以运用能力为主要目标的集成发现教学法和教学模式。最后,进一步探讨建立以软件开发方法及其综合实践为核心的应用软件课程教学体系,重组基础课程、核心课程和相关平台应用课程关系,使这些课程内容联系更加紧密,衔接更加顺畅,有利于学生创新能力的培养。
1新旧课程体系特点和观念变化
在IEEE ACMCS2013中,包括18个知识域[2]:算法与复杂性、体系结构与组织、计算机科学、离散结构、图形和可视化、
人机接口、信息保障和安全、信息管理、智能系统、网络与通信、操作系统、基于平台的开发、并行和分布式计算、程序语言、软件开发基础、软件工程、系统基础、社会议题和专业实践。其中,软件开发基础,过去叫编程和系统导引,包括算法、设计、编程和软件开发过程。它是一些基础软件开发概念的组合。系统基础也是一个新的知识领域,包括操作系统、网络、计算机体系结构的常用论题。为了并行计算的普适性和计算机安全更好理解的需要,加入了并行和分布式计算、信息保障和安全和基于平台的开发等课目。比以前关注较少的内容包括数字逻辑、数值方法、网页设计、检索引擎、语言翻译等,在CS2013中算作选修材料。CS2013还概括了CS研究生除专业技术之外与专业实践有关的一些特征,譬如沟通能力、团队合作和伦理道德,也是大学生经验的一部分。
值得关注的软件开发方法新要求,要求教学中论及一种软件开发方法时,应该考虑以下因素:开发全过程,在各阶段间的模型转换和技术衔接;便于在开发各阶段人员之间的技术交流和迭代性改进;支持有效解决问题的综合决策和管理;支持系统设计和实现的各种不同途径;支持软件正确性的检查、测试和验证;满足在系统需求中有关抽象设计、系统环境和性能的约束;支持设计师和程序员创造性的劳动;
支持系统生存周期的演化;高效率使用一些自动化工具。此外,所有阶段软件开发成果物都应该是可预见和可控的。这些新要求对软件开发的专业教学提出更高的标准,应该可演示、可转移、可重复验证,并且在技术实现上

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。