APP下载

基于过程化考核的《程序设计语言原理》教学实践浅析

2019-06-01宋琦王冠宇黄德玲

现代计算机 2019年12期
关键词:程序设计考核知识点

宋琦,王冠宇,黄德玲

(1.重庆邮电大学软件工程学院,重庆 400065;2.重庆邮电大学光电工程学院,重庆 400065)

《程序设计语言原理》课程是软件工程专业的核心基础课程。借鉴美国纽约州立大学阿尔巴尼分校的专业课程体系设置,基于过程化考核教学理念,由美方教授来我校全程讲授该门课程。教学实践证明:《程序设计语言原理》课程对软件工程专业学生理解、掌握编程方法有很大助益,并且过程化考核方法提高学生的学习主动性、自主学习能力和团队合作能力,教学效果良好。最后,基于我校软件工程专业学生的实际情况,提出具体的持续改进措施。

程序设计语言原理;过程化考核;教学实践;软件工程专业

0 引言

软件工程专业本科教育的培养目标是以行业为导向,培养具有竞争力和较强创新能力的复合型软件技术人才。学生应掌握扎实的计算机科学和软件工程专业知识,具备软件开发能力、团队合作能力、系统分析设计能力、软件项目管理能力。归结为一点,就是学生要能与计算机进行良好的沟通,进而发挥计算机在各行业中的应用作用。程序设计语言是人与计算机沟通的唯一方式,因此作为未来的程序开发人员,软件工程专业的学生需要更深入地了解程序设计语言,进一步掌握程序设计语言,从而灵活应用程序设计语言。针对这样的目标,《程序设计语言原理》课程的开设是非常有必要的,原因如下:

(1)可以提高学生表达思想的能力,使其能够对重要的语言特性与结构有充分的理解,更好地构造算法和程序结构;

(2)可以帮助学生熟悉更多的语言和语言结构,在未来软件开发过程中,学生能根据实际需求选择合适的开发语言;

(3)可以有效地增强学生学习并掌握一门新的计算机语言的能力;

(4)可以改善学生对已知计算机语言的使用能力;

(5)可以帮助学生发现和修正程序的缺陷、提高所编写程序的执行效率。

但是,我校在对软件工程专业培养方案不断更新的过程中,根据对全国各高校软件工程相关专业的课程体系、培养方案的调研,我们发现国内目前很少有高校将《程序设计语言原理》课程列入软件工程专业的课程培养方案,大多都只是将某一种或两种编程语言(如C、C++、Java)纳入培养方案中。

鉴于此,重庆邮电大学软件工程学院与美国纽约州立大学阿尔巴尼分校建立了良好的合作关系,双方在软件工程专业的本科教育项目中相互交流合作,并借鉴了阿尔巴尼分校的专业课程体系设置,将《程序设计语言原理》课程列为软件工程专业的核心课程。同时引进了阿尔巴尼分校的教授,依照美国的过程化考核教学理念来我校全程讲授该门课程。笔者作为美方教授的合作教师,全程参与了该门课程的理论和实验教学工作,主要负责该门课程的实验课指导和理论课辅助教学。

1 过程化考核理念

1.1 过程化考核理论

过程化考核是在考核过程中以培养学生综合素质为目标,以项目教学法、任务驱动教学模式为支撑,注重对学生学习过程的考核[1],进而有效引导教学活动开展,促进人才培养质量提高。过程化考核是对学生理论知识的掌握程度和动手实践能力检验的一种综合考核机制。过程化考核方式通过课堂出勤、课上表现、课后作业、实验实践等多方面进行综合考核,并以此按比例来综合评定学生。这种考核方式与CDIO(Conceive构思、Design 设计、Implement 实现、Operate 运作)工程教育模式的教育理念殊途同归,都是以工程教育为主导的应用型软件人才培养方法[2]。

1.2 过程化考核优势分析

课程考核作为教学过程中的一个重要环节,一直以来是教育界的一项重要工作。现有的集中式考试模式存在着考试结果片面性、考试形式单一性、抑制学生积极性、教学反馈缺乏性等问题。相反,过程化考核模式则有着考核内容全面化、考核形式合理化、学生积极主动化、教学效果促进化等优点[3]。

首先,过程化考核模式边行课边进行考核,因此所考核的知识点全面深入。其次,期末集中考试一般采用试卷答题形式,形式单一,而过程化考核可以根据不同的知识点采取调研报告、笔答、实验、演讲等多种形式,更合理地对所学知识进行考核。再次,过程化考核有效的提高了学生的学习主动性和积极性。期末集中考试时,学生平时基本上不用心学,考试前突击复习,考完试很快就会忘掉,且考试成绩不容易拉开档次;过程化考核则按比例分阶段给分,确保了学生在行课过程中认真学习,争取每一分。最后,过程化考核可以帮助教师及时发现教学过程中学生对知识的掌握情况,合理的调整授课内容和教学方法,更好地提升教学质量[4]。

2 《程序设计语言原理》课程教学应用

2.1 课程概况

该课程设置48 学时理论课,16 学时实验课,共计64 学时,4 学分。无统一教材,学生以Robert Sebesta的Concepts of Programming Languages 为主要参考书[5],外教提供各种阅读资料[6]和网上资源链接[7]。

2.2 课堂教学情况

该门课程的理论课课堂教学主要分成两个主要环节:学生演讲和教师授课。

学期初,教师根据授课计划和学生人数提前设计10 个与每节课知识点相关的演讲题目,并将学生分成10 个小组,每组选择一个演讲题目,学生以小组为单位根据演讲题目自主查阅资料进行学习并整理成PPT。每次课上教师会安排10-15 分钟时间,由一组学生演讲本组的学习成果,小组成员全部参与演讲,从学习者的角度来讲解新知识。同时,其他学生可以根据自己对演讲内容的理解提出相应的问题,进行互动式学习。教师则对学生讲解的知识进行检验和评价,并解答学生理解不足之处。这种方式不仅调动了学生自主学习的主观能动性,同时使学生查阅资料、整理资料、分工合作、表达等能力得到了锻炼和提高。较之一味地灌输书本上的知识而言,学生通过自主学习学到的知识会更扎实更持久。

外方教授在授课的环节与国内相同,都是以PPT为主要媒介。PPT 上列出主要知识点,课堂的讲授则针对PPT 上的知识点进行展开。由于《程序设计语言原理》课程理论性很强,教师在讲解时,配备了很多视频和代码示例,以加强学生对知识的记忆。

2.3 过程化考核方式

《程序设计语言原理》课程不设置期末考试环节,课程的总评成绩由6 部分通过过程考核得出,根据以下线性加权公式计算:

式中,Stotal为课程总成绩,S1~S6分别代表考勤成绩、实验成绩、课堂演讲成绩、随堂测试成绩、作业成绩以及课程设计成绩。按照教学计划和教学大纲,这六个成绩完全覆盖了该门课程的过程化考核目标。其中,实验成绩S2取8 次实验成绩的平均成绩;课堂演讲虽以小组为单位完成,但每名学生都会根据个人在小组任务中的角色和表现得到自己的成绩;随堂测验S4取2 次测验成绩的总成绩;S5取4 次作业成绩的平均成绩;课程设计成绩S6则根据课程设计报告和程序代码质量综合给出。

此外,在过程化考核过程中,每次实验课,学生都要以小组为单位进行查阅大量资料、讨论、分析和动手编程。笔者作为合作教师参与到每组的讨论中,指导学生完成实验内容。《程序设计语言原理》课程采用过程化考核方式,不仅达到了预期的教学目的,还提高了学生的学习积极性和主动性,更重要的是在学习过程中,增强了学生的批判性思维能力、分析查找资料的能力、分析新事物和总结问题的能力。下图中给出了该门课程的成绩分布曲线图,由图1 可以看出,该门课程的通过率为97.8%,成绩分布近似于正态分布,并且注意到高分段(90-100 分)的人数占总人数的21.7%,优秀率较高,这正说明了采用的过程化考核手段,学生的学习兴趣、学习积极性、学习效率和学习效果比传统教学手段均有了明显提高。

图1 2016 级软件工程专业学生《程序设计语言原理》课程成绩分布曲线

3 教学分析与建议

根据目前重庆邮电大学学生的实际情况,《程序设计语言原理》课程采用过程化考核理念所开展的教学效果总体是很好的,但尚有需要改进之处,主要体现在图1 中的较低分数段(60-69 分)。原因分析如下:

(1)外教完全按照国外的教学方式教授中国学生,并不完全适用于本校软件工程专业学生的实际情况。美国学生一直接受的都是这种自主学习的主动式教学方式,而中国学生长久以来接受的都是国内传统的被动式教学方式,由被动式到主动式的骤然转换,会使少部分学生难以适应。少数学生没有经过自主学习的培养和训练,不知道从何着手,如何开展自主学习。因此在后续教学过程中,应该循序渐进,逐步引导,先加强自主学习方式方法的锻炼。

(2)少部分学生的英语听说能力较差,外方教授的全英文授课模式使得这部分学生理解困难,学生们需要先理解英语,然后再理解专业课知识点,往往是想明白了一个知识点,反而错过了后面的几个知识点,从而跟不上外方教授的进度,进而更难与其在课堂上互动。久而久之,会导致学生惧怕课上提问,闭口不言。因此该问题需要从两方面加以解决:一是加强英语听说能力的培养,在学生具备一定听说能力后再开设全英文授课;二是多给予学生“可理解性语言的输入”,适当放慢语速,使学生尽可能多地将精力用在对专业知识的理解上。

猜你喜欢

程序设计考核知识点
第十二页 知识点 静候“18”
基于SolidWorks和VBA的电机阶梯轴建模程序设计
基于OBE的Java程序设计个性化教学研究
关于口罩 这10大知识点你必须知道
项目化教学在Python程序设计课程中的应用
第九页 知识点 QSZ92式半自动手枪
医学专业“Python程序设计”课程教学改革总结与思考
“表里不一”如何识别——富平增强考核洞察力
考核偏向:错把经过当结果
创新完善机制 做实做优考核