以“算法设计”为中心的程序设计课程改革研究与实施

时间:2022-08-26 01:50:05

以“算法设计”为中心的程序设计课程改革研究与实施

摘要:根据以“算法设计”为中心的程序设计课程教学改革思想,设计用于应用性本科计算机相关专业的教学方案,该方案从改革目标、教学内容与过程、教学方法设计、评价体系等内容组成,旨在使方案具有实用性和可操作性等特点。既可直接用于程序设计基础课程,同时该方案的设计思想、实施手段和操作方法可为其他相关课程改革提供参考。

关键词:程序设计 教学方案 算法设计

一、课程目标

计算机人才的培养一直面临着一个切实的问题,那就是如何提高计算机专业学生的“学科专业能力”,即计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力等。为了解决这个问题,以宁波市教育规划课题(以“算法为中心”的程序设计基础教学改革课题编号:YGH09081)为契机,对计算机科学与技术专业《程序设计基础》课程进行深入改革,试图通过对《程序设计基础》的改革探索,优化相关系列课程的教育教学方法,切实解决如上问题,使我院本科层次的应用型计算机人才的专业素质符合就业市场预期。

《程序设计基础》的改革意义非常重大,要培养切实的专业能力,不仅仅是教学方法改进的的问题,最根本的还是教学内容的问题。经过多次讨论,最终确定将《程序设计基础》课程的教学分为两个阶段,第一阶段主要培养学生的计算机思维、算法分析设计能力;第二阶段主要培养其综合程序设计与系统实现能力。在两个阶段中,将“团队意识”、“开发文档钻写”、“语言表达”等专业基本素质导入其中。

二、教学改革方案

1.教学内容设计

(1)以“算法设计”为中心的教学内容组织

“程序设计能力”的核心是“算法设计”,因此,教学内容以“算法设计为中心”,语言作为实现工具,目的是激发学生自己不断去创新算法,课程组根据这个思想确定了第一阶段课程教学内容。

第一阶段的教学中,教师要从传统的“以语法为中心的”教学方法中解放出来,设计适度规模的问题,引导学生根据“数学经验”建立“解题步骤”,教师将其“数学经验”与“计算机处理方式”进行对比,让学生将原有的“解题步骤”进行修正,进而引入流程图的构建,最终让学生思维从“数学解题步骤”迁移至流程图(计算机解题步骤)。这个过程是培养其主动思考、初步建立“算法概念”的阶段。

在第一阶段的教学中,强调思维训练,突出算法设计;为下一阶段培养学生的“综合程序设计能力”奠定基础。

(2)深化“程序设计”能力,全面培养“专业素质”

第二阶段是综合程序设计能力和系统能力的全面培养阶段,整个教学活动围绕“系统开发”:由学生组建“开发团队”(以三人最为合适),教师提出三个系统需求,针对不同系统,组员轮值项目负责人,从系统需求出发,完成“功能设计”、“模块划分”、“算法设计与优化”并最终“系统实现”,在此过程中,针对每个系统开发需求,“项目负责任人”进行任务分配、项目监控,并最终给其余团队成员评审考核。

2.课堂教学模式改革

以“讨论式”为主的课堂模式改革,是确保能力培养目标实现的有效手段。

探索在《程序设计基础》课中进行讨论式课堂教学,在程序设计课程中,针对中等规模的问题进行“算法设计”讨论,由教师提前提出问题,鼓励学生探索解决。在课堂上鼓励学生发表各自的“算法设计”方案,并激发其他学生提出争议,让学生真正体会“思维探索”的乐趣,激励学生在思想交流中深入思考;而教师在学生的争论中以“咨询员”、“主持人”等角色出现,合理把握课堂节奏,尝试课堂教学由“知识型教学”.向“探索型教学”转变,教师也由传统的教学主导者转变为教学活动的引导者。

通过教学反馈,发现“讨论式”教学不仅培养学生的主动思维探索能力,提高学生分析问题和解决问题能力,而且学生参与课堂的积极性有大幅度提高,这对于应用型本科院校的学生来说,实属难得。

3.评价体系

为确保能力培养目标的实现,提出“成果”为依据进行学生考核,所谓成果指在第二个教学阶段中,各个项目开发结束后形成的“软件成果”、“开发文档”、“答辩成果”作为其考核依据。其中,每个项目为30分,针对每个项目给出考评结果(如表1,其中“软件成果”和“开发文档”各占15分)。除去三个项目90分,剩余10分为“成果答辩”,所谓“成果答辩”主要是通过陈述和答辩方式展示开发成果(如表2),这个环节在每个案例结题后一周内进行,以小组为单位向任课教师申请,“成果答辩”部分以“开发小组”为单位自愿申请,并不强制,但从最终实施看,由于小组间的竞争,大部分小组都选择参与答辩。最终形成表3,作为其《程序设计基础》课程最终考核结果。

表1 项目评分表:(其中A1、B1为评分细则)

表2 答辩成果表

表3 总体评分表

三、实践成果

新课程改革方案已在2009级计算机与科学专业实施,从教学效果来看,通过两个阶段的培养,学生已超出预期的完成教改目标:

1.在大一,90%的学生顺利实现两千行设计性代码。

2.算法分析、综合程序设计能力明显提高,编码更注重技巧,算法追求创新。

3.大一结束,计科专业每位同学均能撰写3000字左右的设计文档,并做到符号、图形标准,设计报告撰写能力明显增强。

4.最为关键的是,学生的主动学习积极性明显提高,根据对学生的跟踪、调查,09计科专业的学生70%会主动放弃游戏时间,在宿舍内讨论项目开发、编码优化等问题;编码量的加大,并没有出现学生厌学的情况,反而使学生在算法设计中更关注个体创新,体会到算法设计的乐趣,进而快乐的创新。

四、小结

在《程序设计基础》的改革中,课时大幅度减少,课时教学效果明显提高。根据我们调查,由于学生编码量大幅度提高,讨论课增加,深层次问题也增多,而问题本身的个体性又很强,为保护学生的创作精神,教师加大课外辅导力度。由此可见,改革的成功并不仅仅取决于一个好的方案,更重要的是教师的付出。《程序设计基础》是一门基础类课程,它的教学效果绝不仅仅体现在现有以上几个方面,它的教学效果还将进一步在后续课程中得到验证;它的教学为应用型人才的专业能力培养奠定坚实基础,为后续课程的深化提供了依据。

参考文献:

[1]牛欣源.程序设计实践方案的研究与实施[J].计算机教育,2010,(10):132.

[2]马鸿雁,周爱桃. C语言程序设计实验教学方法改革探析[J].科技信息(学术研究),2008,(36):554.

[3]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术发展战略研究报告暨专业规范(试行)[M].高等教育出版社,2006.110.

基金项目:宁波市教育规划项目,以算法为中心的《程序设计基础》课程教学改革(YGH09081)。

上一篇:论体育课积极渗透思想品德教育贯彻素质教育 下一篇:大学生心理健康教育的思考