任馨+张群燕
摘 要: 针对目前程序设计基础课程教师重语法、轻编程思维训练,学生动手能力差、编程能力弱的教学现状,分析其主要原因是教学主导思想偏差、教学方法不合理、实践教学太过偏重于验证而非解决实际问题的应用,以及课程考评机制不太合理等因素。提出采用以能力培养为目标的案例驱动模式的教学改革思路和方法,并将传统教学与MOOC教学相结合,从而增强学生编程能力、提升课程的效能。
关键词: 编程思维; 案例驱动; 能力培养; MOOC; 课程效能
中图分类号:G420 文献标志码:A 文章编号:1006-8228(2017)08-73-04
Abstract: The course teaching of Fundamentals of Programming exists the problems that teachers focuses on grammar, rather than the training of programming thinking, and students has poor practical ability and weak programming ability. The main reasons are the deviation of teaching thought, the unreasonable teaching methods, the practice teaching excessive emphasis on verification, rather than the practical problem resolving, the unreasonable mechanism of curriculum evaluation and so on. Aiming at the problems, this paper puts forward the idea and method for teaching reform, which adopts the case-driven teaching mode with ability training as its target, and combines the traditional teaching with the MOOC teaching, so as to enhance the students' programming ability and the course efficiency.
Key words: programming thinking; case-driven; ability cultivation; MOOC; course efficiency
0 引言
“程序设计基础”是教育部制定的高校非计算机专业大学计算机基础教学系列中的核心课程,选用的语言有VB、C\C++或JAVA等,课程旨在让学生理解程序设计思想,掌握程序设计方法,培养学生分析问题、解决问题的能力,并最终能运用计算机知识进行问题抽象、数学建模和计算机仿真计算等,为本专业服务。
1 存在的问题分析
目前,課程教学的普遍现象是学生的动手能力差、编程能力弱,大部分学生在课程学习后无法运用所学计算机知识对专业问题进行计算分析和计算机模拟求解,所学知识与实际应用脱节。
部分观点认为,造成这种现状的原因是所用编程语言古老,并非当今软件开发的主流,导致学生学习兴趣不高,但教育部制定的“高等学校非计算机专业计算机基础课程教学要求”中已明确了“C\C++\VB”为典型教学语言,且国内外很多知名高校如清华大学、斯坦福大学等也选C语言作为程序设计课程的入门语言[1]。
我们认为课程选用何种语言并不是导致问题的根源。问题的出现一般是由以下因素所导致。
⑴ 教学主导思想存在偏差、授课缺乏新意
教师在教学过程中太过重视语法的讲授,而弱化程序设计思维的引导,缺乏工程化能力的培养,使得教学主导思想存在偏差。在授课过程中,教师习惯“一言堂”,缺乏师生互动。教学案例陈旧,缺乏趣味性,也无结合专业知识的应用,学生对课程兴趣不高,对新知识的探知欲不强。
教师讲解案例的过程一般是“提出问题→写/展示代码”,而不是“提出问题→分析问题→流程图分解→代码实现”的启发式教学,学生对程序代码理解困难,当遇到新问题时无法变通。
⑵ 实践偏重验证而非实际应用
目前课程实验项目设置以验证性为主,几乎没有设计性或综合类实验,实验内容缺乏创新性。教师对学生的实践训练要求太过重视课堂讲授知识的直接应用,而不注重对学生工程化的思维训练。学生为完成实验内容,机械地运用老师课堂上讲授知识或语句,拼凑出一个个蹩脚的程序。
⑶ 课程考核存在缺陷
课程的最终考核机制不够完善。一是以实验和考试成绩为依据的课程考核机制缺乏对学生学习过程的监控和评价;二是考题太过偏重语法而弱化编程能力,部分学生以应试的学习态度对待课程,导致课程教学目标与能力培养之间存在巨大偏差。
2 课程改革思路探讨
如上所述,目前程序设计基础课从教学内容设置、教学方式、实践环节和考核考评机制等方面均存在问题,我们针对这些问题做出调整,开展以“能力培养”为目标的程序设计基础课程教学改革[2]。
2.1 理论教学改进措施
⑴ 开展以“案例驱动为导向、能力培养为目标”的教学
转变教学观念,开展以案例驱动为导向的教学,将章节知识融入教学案例中,让学生在案例学习过程中潜移默化地掌握新知识。如图1所示。由新知识导出引例,通过综合案例深入理解课本知识,再由拓展案例实现知识延伸拓展[3]。其中综合案例和拓展案例都是以能力培养为目标而设计的。从案例分析、问题求解,到代码实现的学习过程,让学生逐渐理解程序设计思想、掌握程序设计方法。