徐琳 杨明广 杨勇
摘要:为了契合学校办学理念,符合人才培养计划,根据课程定位,分析学生学情现状,计算机学院“面向对象程序设计”课程组通过5年多的课程改革探索,不断调整教学方法和教学手段,分别总结出从学生角度和专业角度课程改革的收获和值得继续探索的方向。
关键词:面向对象程序设计;课程改革;教学方法;教学手段
中图分类号:TP311.1 文献标志码:A
文章编号:2095-5383(2018)02-0069-03
Exploration of Curriculum Reform on Objectoriented Programming
XU Lin,YANG Mingguang ,YANG Yong
(School of Computer Engineering,Chengdu Technological University,Chengdu 611730,China)
Abstract:Schoolrunning philosophy and the talent development plan, the Objectoriented Programming course group has been undergoing reforms in the past 5 years based on the course orientation. The teaching methods and approaches were adjusted constantly through analyzing the present situation of students learning. Finally, the lessons learned from the course reform and the directions worth to be explored were summarized respectively from the perspective of students and professional development.
Keywords: Objectoriented Programming; course reform; teaching method; teaching approach
教育部教指委人才培養标准要求计算机本科各专业学生能系统的掌握自然科学基础知识和计算机科学基础知识,具备较坚实的理论基础,获得计算机专业良好的科学思维和系统的工程训练,结合成都工业学院应用型本科的办学理念,“面向对象程序设计”课程定位为高等学校计算机学科中本科各专业的基础课和主要骨干课程之一。这不仅为今后学习专业课打下坚实的理论基础和技术基础,而且为软件开发、程序设计提供必要的理论、方法和工具。按照人才培养方案中对于学生知识结构和能力结构的要求,希望通过本课程的学习,学生能够:1)系统了解程序设计语言的概况和基本理论,了解软件开发的全过程;2)理解面向对象方法的概念;3)系统掌握面向对象程序设计语言的语法结构,基本掌握面向对象程序设计的基本方法和编程技术;4)通过大量的实验和课外实践,逐步培养学生阅读程序、分析程序和独立编写程序的能力。
1 “面向对象程序设计”课程现状
本课程的前导课程有“计算机导论”“程序设计基础”,后续课程有“数据结构”“数据库原理”“C#程序设计”和“JAVA程序设计”等。可见本课程在由基础训练到专业课教学阶段过渡过程中起到承上启下的作用。
我们通过成绩分析、问卷调查、教师评估,并在2014级学生在“面向对象程序设计”课程中进行了抽样能力测评,发现学生有相对牢固的理论基础和较为薄弱的实践能力,在学习能力中没有强烈的主动学习意识,缺乏科学的思维方法,测评结果见图1。
2 “面向对象程序设计”课程改革手段
结合人才培养方案和学生的能力现状,课程组从课程结构、教学方法、教学手段等几方面着手课程改革。
在课程结构上考虑到这是一门理论和实践高度结合的课程,从2015年开始把课程分为“面向对象程序设计”和“面向对象程序设计实验”两个部分,分别侧重于理论教程和实践教学,以契合应用型本科的教学要求。课程合计4个学分,64课时,课程开设时间在第二学期。教学课时及内容分布见图2。
其中面向对象(C++)程序设计概述(12课时)主要教授语法规则、以及对程序设计基础知识点的巩固;重点讲解类和对象(10课时)、继承性和派生类(12课时)、多态性和重载(12课时);课程的难点在模板与异常(6课时)、IO流库(8课时)章节;MFC对话框应用及其它(4课时)作为学期末的上机内容,为学习进度较快的同学提供进一步深入学习面向对象程序设计的实践练习。
本课程的教学方法从两个方面着手:1)讲练结合。经过第一学期的课堂秩序训练,第二学期我们允许并鼓励学生带电脑来教室或者机房上课。教学中对基础知识精心讲解,并配合课堂练习,鼓励学生现场提交练习作业获取平时成绩,加强师生的及时交流,便于发现问题、解决问题,也便于学生对基本知识的牢固掌握。实践证明,该教学方法有助于激发学生的学习兴趣、培养创新能力和动手实践能力,有利于培养高质量的计算机应用型人才。2)问题驱动。利用各章节的问题知识点,分解项目任务,培养学生自学能力和创新精神。教师授课首先给出本章项目任务,针对任务讲授相关知识点,然后利用这些知识点来解决问题,让学生带着问题听课,培养了学生从多角度、多层次、宽范围获取和应用知识的能力。
教学手段从两方面着手:1)精心设计多媒体课件。在课件设计中,营造轻松活泼的课堂气氛,通过图片、动画、实例演示等方式使课程内容变得容易理解和掌握,教学方式更为直观生动,教学过程更为紧凑,更能吸引学生的注意力。学生能更好发挥学习的主体性和能动性,从而使本课程的教学效果更为显著。2)阶段测评和在线测试。通过近5年的题库建设和详细复核,课程组设计了一套完善的自动考核系统,包括程序设计考试系统和程序设计在线测试系统,分别用来考核学生的理论知识和实践能力。每个重要章节都会组织相应的上机测试进行侧重于理论的阶段测评,而在线测试系统在提升学生的实践操作能力上有很大优势。通过我们的考试和测评系统可以加强学生学习过程监控,及早发现学生学习中的问题,方便教师及时调整教学方案和教学进度。
本课程选用了陈维兴编著的《C++面向对象程序设计教程(第3版)》,参考书籍有谭浩强主编的《C++面向对象程序设计(第2版)》、陈维兴主编的《C++面向对象程序设计教程(第3版)习题解答与上机指导》。因《C++面向对象程序设计教程(第3版)》专为已经学过C语言程序设计、具有程序设计初步知识的学生编制,是普通高等教育“十一五”国家级规划教材,教材配套的上机指导和习题分析内容逻辑清晰,步骤详尽,能为学生的课后学习提供有力的指导和帮助。
3 “面向对象程序设计”课程改革效果
经过数年的课程改革和建设,我们抽样了2014—2016三年的学生情况,分别从两个角度来做分析:
1)从学生的角度看,绝大多数大一新生保持着较高学习热情,但这个阶段对程序设计的学习兴趣开始呈现出明显的两级分化。如图3所示,据软件数据统计和邮件反馈情况来看,多数成绩优良的同学活跃于程序设计在线测试平台,在第一学期程序设计基础取得良好学习效果的同学会更主动探索高一级的编程课程,学习能力有所提升,实践操作能力显著提高,学习状态呈良性发展;虽然面向对象程序设计会在很大程度上巩固程序设计基础的知识点,但在前期学习未能打好基础的同学,也会因挫败感而在这个环节再次落后。所以在本课程中对两极化学生分别进行能力提升优化和帮助返回学习轨道是值得探索的课题。
2)从专业的角度看,“面向对象程序设计”作为一年级的必修课涵盖整个计算机学院各个专业。由于各专业学生情况不同,对于课程的学习效果也会有差异。近几年平时测评数据和在线程序设计题目完成情况见图4。计算机科学与技术(简称计科)、网络、
軟件工程是表现比较稳定的专业,学习效果逐年稳步上升;物联网工程作为新专业经历了一个由低到高的递增变化;第一年开始招生的数字媒体专业学习效果比较不稳定。所以打破传统学科建设的课程设置模式,根据计算机学院各专业对程序设计的要求,对教学大纲进行研讨和调整,按照人才培养目标将知识、能力、素质贯穿于整个学习过程,提高学生利用计算机解决问题的综合能力和素养,是我们做课程改革的新目标。
4 结语
“面向对象程序设计”课程改革是一项重要而艰巨的任务,需要学院、教师和学生多方协作努力。从办学理念、人才培养、学科专业建设等多角度思考问题,探索符合学情的教学模式和教学方法,为学生今后的专业学习提供坚实的基础,引领学生找到程序设计的思路和方法,才能真正提高教学质量。
参考文献:
[1]
陈维兴,林小茶.C++面向对象程序设计教程[M].3版.北京:清华大学出版社,2009.
[2]
谭浩强.C++面向对象程序设计教程[M].2版.北京:清华大学出版社,2014.
[3] 刘甫迎,陈元霞,罗国涛,等.软件技术重点专业建设的探索[J].成都工业学院学报,2016(2):9699.