复杂工程问题的计算机课程设计改革

复杂工程问题的计算机课程设计改革

摘要:基于工程教育认证背景下计算机科学与技术专业实践教学环节改革发展趋势,以突出培养学生解决复杂工程问题的能力入手,提出了计算机科学与技术专业课程设计改革实施方案。方案提升了专业人才培养标准化水平,优化了实践教学体系。

关键词:复杂工程问题;计算机科学与技术专业;课程设计

0引言

工程教育认证要求通过认证的工程专业不仅要深入理解和把握复杂工程问题,更要按照国际实质等效原则培养学生具有解决复杂工程问题的能力[1]。目前,针对计算机相关专业解决复杂工程问题能力培养的研究还处于探索阶段。许智宏等人认为可采用半开放式项目驱动教学方法达成目标[2];尚凤军提出课程群建设面向复杂工程设计的方案[3];黄永红等人认为可增设综合训练项目来达到培养目标[4]。刘秀平等人提出了分层实施方案,从知识、实践、设计的维度支撑了解决复杂工程问题的能力[5]。王宏宇等人提出了以学科竞赛主题为对象,遵循工程逻辑设计开发过程的课程建设改革方法[6]。许多研究成果对于分解落实解决复杂工程问题能力的培养缺乏深入探索,对于如何优化课程设计体系和内容来提高学生解决复杂工程问题的能力方面也缺乏深入研究。

1课程设计改革的意义

完备的实践教学体系主要包括课程实验、课程设计、实习、毕业设计(论文)等。通常,国内高校都将毕业设计(论文)环节作为实现解决复杂工程问题的重要载体。但近年来,毕业设计期间应聘、考研等挤占了学生很多时间和精力,设计内容往往弱化甚至忽略难以处理的学科交叉问题和非技术因素,且毕业设计往往采取一人一题,很难达到个人与团队的教学指标。课程实验往往随理论授课逐周分散进行,受学时限制以及学生知识掌握处于积累阶段等因素,一些深度型、探究型、综合型的实验往往很难开展。实习由于受到场地、经费、管理难度、企业技术保密等限制,往往缺乏理论指导下的实践。一些计算机类专业学生到实习单位后,只能接触一些前端页面或模块代码的机械性编写,无法接触软件或硬件的具体设计过程,有些专业实习甚至畸变为企业参观。《计算机类专业教学质量国家标准》要求计算机类专业学生4年的实验当量应不少于2万行代码。在课程设计方面,要求至少完成两个有一定规模和复杂度的系统的设计与开发。调研发现,实践教学体系中提高学生解决复杂工程问题的环节应保证时间的集中性,内容的规模和复杂度要达到国家标准中的要求,且应在理论的指导下开展,课程设计比较符合这一要求,应作为提升学生解决复杂工程问题能力培养的关键突破口。

2课程设计改革宗旨和研究方法

2.1课程设计改革宗旨

第一,以培养学生解决复杂工程问题能力为主线,突出工程技术应用能力的培养,强调自主学习和终身学习意识培养,全面提升学生的能力和素质。第二,使学生能够设计针对复杂工程问题的解决方案,在设计环节中体现创新意识,实现多方案分析与评价,从而全面提升实践教学效果。第三,使学生深入掌握工程原理,结合工程实践,体现综合运用,提升解决复杂工程问题的能力。第四,分解落实解决复杂工程问题能力的培养,课程设计的持续改进逆向推进课程体系的整体优化。第五,构建计算机专业完善的实践教学体系和课程群体系,建立各项实践教学活动的持续改进机制。

2.2基本研究方法

第一,调研法。采取调研问卷调查和访谈的方式,对目前已毕业学生、在校生(包括计算机类专业本科生、研究生)、教师(包括教学管理、教学一线、教辅等多层面)开展调研。同时走访和调研部分高校、IT企业和专业培训机构等。第二,逆向研究法。从实践入手,逆向优化专业类知识体系教学。第三,分析建模法。对调研数据、教学环节统计与考核数据、质量保证监控数据进行科学分析,借助人工智能手段进行建模优化。第四,螺旋优化、研以致用法。杜绝纸上谈兵,形成的专业课程设计内容设置实施方案(含教改方案、教学大纲、课程标准、考核标准等),直接实施于一线教学活动,并通过实施效果的反馈螺旋优化后续方案。

3课程设计改革实践

课程设计计划的实施要求指导教师明确课程设计对应于工程教育认证标准具体的毕业要求指标点,并要在课程设计过程中坚持实施。明晰课程设计对毕业要求指标点的支撑作用,为合理安排课程设计的内容明确了指导思想。本校计算机科学与技术专业培养方案以工程教育专业认证为背景,共设置11门课程设计。一类课程设计在前5学期开设,涉及专业类知识课程门数相对较少,具体包括以下7门课程设计:C语言程序设计课程设计、Java程序设计课程设计、数据结构与算法课程设计、数据库原理课程设计、计算机网络课程设计、C++程序设计课程设计、JavaEE编程技术课程设计。以上课程设计以语言开发为主,是培养学生计算思维、软件工程设计规范、计算机语言开发能力的基础。指导教师面向解决复杂工程问题培养,认真设定课程设计题目和内容。以学生为中心,强调基础性、技能性、应用性、工程性和创新性,采用问题驱动和求解渐进化方式不断提升学生解决复杂工程问题的能力。每门课程设计在具体实施中,指导教师始终探索课程设计如何解决承上(课程实验)启下(毕业设计和实习),并不断思考和探索课程设计如何逆向优化专业类知识课程的教学活动。计算机科学与技术专业另一类课程设计在第6和第7学期设置,综合性较强(在某些高校或专业有时被称为“综合开发实训”或“综合训练项目”等,但通常拘泥于一种开发语言或技术)。综合类课程设计有4门:A.体系结构课程设计。专业类知识课程涉及体系结构、计算机组成原理、编译原理、汇编与接口技术、计算机网络等硬件类和系统类课程。B.操作系统课程设计。专业类知识课程涉及操作系统、Linux系统等系统软件类课程和部分高级语言类课程。C.软件开发综合课程设计。专业类知识课程涉及各种高级语言类课程(如Java、C、C++)、软件工程、数据结构与算法、数据库原理等软件开发类课程。D.Python与人工智能课程设计。专业类知识课程涉及各种高级语言类课程(如Python、Java、C、C++)、数据结构与算法、人工智能导论等课程。综合类课程设计涉及大量通识类知识和学科基础知识,具有较高的综合性,包含多个相互关联的子问题,体现问题和系统的规模、难度、复杂度、综合性。课程设计更强调培养学生的系统观,使学生能够站在系统的高度,以系统的视角去看问题,去适应错综复杂的应用场景,最终实现问题的系统化、科学化求解。“软件开发综合课程设计”综合了之前的.NET综合课程设计、Java综合课程设计等软件开发类课程设计。根据工程教育专业认证要求,这门课程设计并不拘泥于某一种语言或技术要求,要求学生能够针对复杂工程问题,选择与使用恰当的技术、资源、现代工程工具和信息技术工具等设计开发一套软件系统,并通过对比得到有效结论。“Python与人工智能课程设计”以解决复杂工程问题入手,学生首先分析问题建立模型,然后给出解决方案和算法设计,通过Python语言及其扩展库编程实现系统,最后通过设计方案、模型、算法、开发语言等多个角度对比分析给出所设计系统的客观性评价。在2017版培养方案中该课程设计为“Python程序设计课程设计”,设计内容包含了软件开发、大数据、人工智能、深度学习等。2019版培养方案中,专业增设了1门48学时的人工智能导论理论课,Python程序设计和人工智能导论合并为1门2周的“Python与人工智能课程设计”。“体系结构课程设计”和“操作系统课程设计”是专业认真研究工程教育认证标准后于2019版人才培养方案中新设置的2门课程设计。在学时紧张的情况下,专业仍增设了这2门综合类课程设计,力图保证学生硬件系统、组成原理、体系结构、操作系统方面的综合设计能力培养质量,保证人才培养的系统性和专业性。课程设计具体实施过程中,指导教师以突破解决复杂工程问题能力培养为核心安排课程设计内容,使学生的能力培养达到工程教育认证标准的培养要求,反复思考和尝试解决以下关键问题:第一,课程设计内容重点覆盖了《华盛顿协议》7个特征中的哪些特征?课程设计的规模、难度、复杂度、综合性是否能满足工程教育认证背景下的解决复杂工程问题的要求?第二,课程设计中,如何运用深入的而不是浅显的工程原理,经过什么样的分析,而不是直接套用原理、公式来解决设计目标?第三,课程设计中学生在哪些理论指导下进行实践?加深对哪些原理的理解?第四,为了突出复杂工程问题的解决,与课程设计相关的一门或多门相关课程的讲授环节中,将对传统的授课方式、方法和内容采取哪些变化?与课程设计相关的理论知识讲授和基本实验环节能否为学生完成课程设计奠定扎实基础?第五,课程设计是否要引入混合式教学?如果引入,混合式教学将如何提高课程设计效果?第六,从以学生为中心的角度分析学生如何通过课程设计和相关理论的学习,实现从“学了”到“学会”再到“会应用”?第七,课程设计“能力培养”如何量化考核,“复杂度”如何评价?以产出为导向,如何建立持续的人才培养改进机制?通过指导教师的不断思考和改革尝试,使各门课程设计实现了设计理念的转变、从简单到综合的转变、从单一系统到增加对比分析、综合评价等突破常规的转变。

4课程设计改革效果

课程设计改革使计算机科学与技术专业逐步形成一套课程设计内容设置实施方案(含教改方案、教学大纲、课程标准、形成性考核标准等),并直接实施于现有教学活动。通过培训和专家辅导讲座等形式,指导教师深刻理解了工程教育认证的本质和内涵,改变了传统的课程设计理念。以复杂工程问题的提出和解决为课程设计核心,突出产出导向,精心设计课程设计题目,优化课程设计考核指标,建立了课程设计持续改进机制。课程设计改革在人才培养方面取得了切实效果。第一,以培养学生解决复杂工程问题能力为主线,突出工程技术应用能力的培养,增强了学生自主学习和终身学习意识培养,设计理念更符合学科发展趋势。第二,使学生能够设计针对复杂工程问题的解决方案,在设计环节中体现创新意识,养成了多方案分析、对比和评价的设计习惯。第三,使学生逐步掌握深入的工程原理,结合工程实践,综合运用,提升了解决复杂工程问题的能力。第四,以课程设计内容设置为突破口,逆向推进课程体系设置整体优化,使学生通过实践逆向推动理论课学习的兴趣和动力,学生的理论素质进一步提升。课程设计改革首先在省级一流本科专业“计算机科学与技术”专业实施,并推广至软件工程、数据科学与大数据技术、物联网工程三个计算机类本科专业。与信息技术密切且相关的电子商务、电子信息工程、机器人工程等专业也逐步开展了面向复杂工程问题能力培养的课程设计改革,取得了切实有效的实施效果。

5结语

截至2018年,计算机类专业已达3349个专业点,培养学生复杂工程问题的解决能力,是工程教育专业认证对工程类专业人才培养的核心要求,也是一流本科专业建设的核心目标之一。随着工程教育认证的普及开展,面向OBE理念,突出解决复杂工程问题能力培养的课程设计改革越发迫切和必要。只有不断改革,建立持续改进机制,才能不断优化计算机教育教学工作,为信息技术产业培养更多优秀人才,推动我国信息技术产业的蓬勃发展。

作者:吕友波 苏晓东 秦相林 王华兵 单位:哈尔滨商业大学