第一篇:电子设计竞赛引导下的《单片机》与《C语言》课程整合研究
电子设计竞赛引导下的《单片机》与《C语言》课程整合研
究
摘 要:本文提出了一种基于工作过程的《单片机》与《C语言》课程有机整合的改革模式和方法,结合几年来的探索和实践经验,将参加全国大学生电子设计竞赛的成果及时转化为教学内容,并对组合成的新课程《单片机与C语言程序设计》学习领域进行了重构。
关键词:工作过程;C语言程序设计;单片机课程;电子设计竞赛
一、C语言程序设计在电子类专业中的现状
第一,单片机和C语言课程独立开设的,C语言的教学一般由计算机部门的教师担任,教学围绕的目标是学生的等级考试,教学内容全校一样,不能根据各专业学生的需求“量身定做”。而单片机课程由本学院的教师担任。教授C语言和教授微型单片机课程的教师之间交流、沟通少,课程之间的衔接少;第二,《C语言程序设计》课程通常以普通PC机作为C语言运行的主要硬件平台,学生不理解C语言有什么用,缺乏学习的动力,而且教学方法单调,模式单一,学生只是被动接受,缺乏主动参与;第三,单片机课程陆续引入了C语言进行教学,将教学内容项目化,采取项目引导、任务驱动的教学模式,取得了一定效果。但改革的力度仅仅局限在单片机课程内部,而忽视了前序课程《C语言程序设计》的统筹改革,因此其改革的力度和效果非常有限[2];第四,在教学思想方面,忽视了对学生实践能力和技能的培养,失去了高职院校的特色。因此,迫切的需要该课程无论在教学内容上,还是教学方式上都要改进和革新。
二、课程改革思路
高职教育理论研究和实践结果表明,加强教学过程的实践性、开放性、职业性,有利于提高学生职业技能水平。本研究以教育部文件精神为指导,根据应用电子技术专业的培养方向,必须加强与微型单片机有关的课程间的衔接,增加新知识与新技术,删除过时的内容,优化课程体系,与企业合作,建立突出实践能力培养的《单片机与C语言程序设计》课程标准,改革教学内容和教学模式,克服传统的《C语言程序设计》课程和单片机课程衔接不够紧密、科学的弊端,提高教学质量。
三、课程改革方法和措施
(1)提高学生学习兴趣。工程教学中始终贯穿着项目,学生按工程项目的任务、要求有针对性地学习知识,学习目的明确,学习热情高涨,由过去传统教学过程中的“厌学”,到现在的“爱学”,充分体现工程教育模式对学生的学习热情的激发作用;(2)提高教学效率。建立一套包括理论讲授、计算机辅助教学、实践教学在内的全方位的课程教学新体系,积极主动地运用现代化教育手段,更新教学手段,使用电子课件、多媒体教学设施等,充分调动教师和学生两方面的积极性,提高课程的教学质量和课堂教学效率。(3)增强学生实践应用能力。在工程教育的教学模式下强调教学与实践一体化,贯彻“学中做、做中学”的理念。教学过程中安排了大量的实践活动,学生亲自动手完成项目要求的各个实践任务,有些实验必须不断修改程序、反复调试才能达到项目设计要求,从而提高学生的思维和实践动手能力。(4)提高任课教师的师德、业务素质与水平,建立一支高水平的教学和研究梯队。
四、课程总体设计
本研究提出了一种基于工作过程的C语言课程与单片机课程有效结合的课程改革模式,如下图1所示。
图1 改革后的课程体系
从工作过程出发,将课程整体综合项目的应用分解为C语言课程任务、C语言与单片机的结合、单片机课程任务三个部分,C语言课程任务和单片机课程任务两者服务于C语言与单片机的结合;C语言课程任务主要面向C语言程序设计的知识点学习即C语言的课程领域;C语言与单片机的结合又可分解为C语言在单片机中的算法学习和单片机中的C语言程序设计;单片机课程任务主要面向单片机内部资源的学习即单片机课程领域;最后将两者优化整合,形成《单片机与C语言程序设计计》课程。
总结:本文融“教、学、做”为一体的教学模式,强化学生单片机系统应用能力的培养,将单片机课程与C语言课程进行了有机整合。课程整合以来,学生兴趣浓厚、学习效果大为提高,并为历届的全国大学生电子设计竞赛大赛参赛学员的储备和选拔提供了良好支撑。作为学院唯一与全国大学生电子设计竞赛大赛相关的院系,应用电子技术专业今年第七次代表学校参加比赛,我校竞赛小组每年均获得湖北省一等奖,特别在2011年的大赛中一举取得了高职高专组全国一等奖的佳绩[2]。教学实践证明,课程改革效果良好,极大地提高了学生对实际问题进行电子设计制作的能力,促进了学生学生工程实践能力的培养。
参考文献:
[1] 阮越广.基于工作过程的高职单片机 C 语言教学设计[J].大学教育,2012.3:57-58
[2] 徐明,贺军.大学生电子设计竞赛的组织策略[J].职业技术,2014.9:25
第二篇:单片机的C语言程序设计与应用课程教学大纲
单片机的C语言程序设计与应用课程教学大
纲
课程编号:
一、说明
(一)课程性质
本课程应用电子技术专业的必修课。本课程面向的学生主要是高年级本科生。先修课程:数字电子技术、单片机的汇编语言、汇编语言、C语言程序设计。
(二)教学目的
本课程教学所要达到的目的是:从应用为目的出发,通过对C语言基本概念、基本语句、单片机应用系统的初步设计的学习,使学生能利用C语言编写51系列单片机应用程序,熟练使用Keil C编程软件,具有用C51语言进行程序设计的基本技能,培养学生分析问题和解决问题的能力。
(三)教学主要内容
本课程的主要内容:
1.语言的数据类型、运算符、表达式。2.语言的控制结构语句
3.函数与存储模式的特点与应用 4.数组和指针的特点与应用 5.位运算和预处理的特点与应用
6.C51语言在单片机的定时器/计数器,中断系统的应用 7.C51语言串行通信的应用 8.单片机的键盘和显示
重点内容:单片机C程序设计的方法,熟练使用KEIL51集成开发环境,对单片机的软硬件设计有一定的了解,能简单开发单片机以及嵌入式应用系统。难点内容:51单片机的内部结构、工作原理及其功能。
(四)教学时数
总学时64,理论学时,32、实验32,学分3。
(五)教学方式
课堂讲授与上机练习相结合。
(六)适用对象
电子信息工程、自动化、测控技术与仪器专业高年级学生。
二、教学内容及安排
第一章 单片机的C语言概述
教学要点:
理解嵌入式系统的定义、特点及架构;掌握嵌入式系统与单片机、PC的区别;了解嵌入式系统的应用领域;弄清嵌入式系统的发展趋势。教学时数:
2学时
教学内容:
1.1 C语言与MCS-51单片机
(1学时)
掌握嵌入式系统的定义、特点、组成及分类。1.2 Keil C51开发工具
了解嵌入式系统的应用领域。
1.3 C51的程序结构与编程实例(1学时)考核要求:
了解C51语言与汇编语言的优势对比,C51语言与标准C语言的区别。了解KeilC51开发工具。
第二章 C51程序设计基础
教学要点:
本章主要介绍C51的数据类型和存储类型、基本运算与流程控制语句、构造数据类型、函数以及程序设计中的其他一些问题等内容 教学时数:
12学时
教学内容:
2.1 C51数据类型及存储类型(2学时)
介绍C51语言的数据类型,常量与变量、数据存储类型。2.2 C51对单片机主要资源的控制(4学时)
1)C51对单片机应用系统主要资源的控制主要包括特殊功能寄存器的定义、片内RAM的使用、片外RAM及I/O口的使用、位变量的定义。
2)片内RAM的使用、片外RAM及I/O的使用又称为绝对地址的访问。2.3
C51 的基本运算与流程控制语句(2学时)介绍C51的
1)基本运算
2)选择(分支)控制语句
3)循环结构流程控制语句
4)
break语句、continue语句和goto语句
2.4 C51的构造数据类型(2学时)
介绍C51 的构造数据类型主要有数组、指针和结构等。重点讨论数组和指针。
2.5 C51 函数(2学时)
介绍C51的不同函数定义方式。
考核要求:
掌握:C51的数据类型、运算符及表达式;C51语言程序的基本结构及其流程图;函数及选择语句和循环语句的用法。
第三章 单片机内部资源的C51编程
教学要点:
掌握:计算机并行输入/输出、定时/计数器接口、串行接口和中断系统的概念,单片机中断系统的结构、中断源、中断特殊功能寄存器、中断响应过程;串行口功能与结构、工作方式及编程应用;定时/计数器系统的电路结构、特殊功能寄存器及功能和使用方法。
理解:单片机定时和计数、串行和中断的应用。教学时数:
8学时
教学内容:
3.1 单片机的并行口(2学时)
介绍51单片机的4个并行I/O口的特点,了解每个端口既可以按字节单独使用,也可以按位操作,各个端口可作为一般的I/O口使用,大多数端口又可以作为第二功能使用。
3.2 单片机的中断系统(2学时)
介绍51单片机的中断系统的特点,它提供5个中断源(52子系列是6个),具有两个中断优先级,可以实现两级中断嵌套。3.3 单片机的定时器/计数器(2学时)
介绍MCS-51单片机内部的两个16位的可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,第三个称为定时器T2)。它们既可用作定时器方式,又可用作计数器方式
3.4 单片机的串行口(2学时)
介绍MCS-51单片机内部的串行接口的特点。这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。
考核要求:
了解单片机内部的并行口、中断系统、定时器/计数器、串行口的构成及特点,熟练掌握对这些资源的C语言编程,能够利用这些资源实现某些功能。
第四章
单片机外部扩展资源的C51编程
教学要点:
在实际应用的51单片机系统中,很少是由以单块单片机独立构成的,经常需要对单片机的相关资源进行扩展,本章将介绍单片机的并行口、键盘、显示、A/D及D/A等扩展资源的C51编程。
教学时数:
6学时
教学内容:
4.1 并行口扩展的C51编程(2学时)
介绍并行口的扩展方法,有简单I/O口的扩展、利用串行口扩展并行口、可编程并行口扩展等几种方法。
4.2 键盘接口的C51编程(2学时)
介绍在单片机应用系统中利用键盘进行人-机对话,包括人对应用系统状态的干预以及向系统输入数据等。键盘从硬件结构上分并行接口的独立式键盘和行列式矩阵键盘。4.3 LED显示器接口的C51编程(2学时)
介绍LED显示器的显示原理及与MCS-51单片机的接口方法和相应的程序设计。考核要求:
掌握:单片机与键盘、LED的接口原理、技术与方法。
三、选用教材及参考书目
1.选用教材
姜志海 赵艳蕾 主编.单片机的C语言程序设计与应用.电子工业出版社,2008.5 2.参考书目
(1)马忠梅等,单片机的C语言程序设计,北京航空航天大学出版社(2)谭浩强,C程序设计(第二版),清华大学出版社
四、使用说明
1.根据专业不同,当课程学时学分调整时,可适当调整相关内容 2.教学方法
本课程主要采用课堂讲授、实验操作、随堂讨论、作业及练习等多种方式授课。本课程的主要教学环节如下:
(1)课堂讲授:讲授是本课的重要教学环节,是主要的教学方式之一,采用多媒体教学,以丰富教学内容和增强学生的感性认识。
(2)实验操作:本课程是软硬件技术相结合的、实践性较强的专业课,在教学过程中必须通过实验课的配合来加深和提高学生对课程内容的理解。
(3)随堂讨论:通过具体的问题、小课题进行,要注意培养学生自主学习的能力,帮助他们掌握本课程所要求的主要内容。
(4)作业及练习:根据教学进度和学生的实际情况,以小设计为主,通过简单的系统设计,帮助学生加深对知识的理解和掌握。
3.考核方式
理论部分:本课程考试为课程论文的形式。
实验部分:以每次实验的分析设计(实验预习)、实验过程、实验完成情况、实验效果及实验结果分析总结(实验报告)等五方面进行考评,综合得出最后实验成绩。
4.成绩评定:平时作业(10%)、实验(20%)、期末考试(70%)相结合。
第三篇:《C语言循环结构》课程教学设计研究(定稿)
《C语言循环结构》课程教学设计研究
作者简介作者简介:徐东(1972-),男,硕士,中国人民解放军海军大连舰艇学院讲师、教研室主任,研究方向为计算机视觉与人工智能、计算机教育。0引言
C语言程序设计中,循环结构、顺序结构和选择结构共同作为各种复杂程序的基本构造单元。C语言中几乎所有实用程序都包含循环,许多问题求解都可归结为重复执行的操作,比如数值计算中的方程迭代求根、非数值计算中的树的遍历等等。循环的特征是:在给定条件成立时,重复执行某程序段,直到条件不成立为止。教学实践证明,循环结构是整个C语言程序设计课程中的“拐点”,这个环节学好了,就有了进一步学习的兴趣,反之,则会让很多学生对C语言的深入学习望而却步。因此熟练掌握循环结构的概念及使用方法是程序设计最基本的要求之一。笔者通过总结学生学习C语言循环结构的一般心理思维规律,结合国内外优秀的计算机语言教学方法和模式,在讲授C语言循环结构程序设计环节的教学过程中,采取“双主体教学模式”,充分运用了项目实例教学、问题驱动教学、多媒体辅助教学等多种教学方法,重视学生的学习主体作用,在课堂教学中,以创造性贯彻“启发式教学原则”为基本特征,鼓励学生积极主动学习,教师极尽启发、诱导、调动学生学习的主动性,使学生在掌握知识、形成能力、开发智力等方面得到最大发展。
1C语言公共课教学中存在的问题
C语言公共课程的授课对象均为非计算机专业学生,C语言教学总课时数也偏紧。C语言相对于计算机基础课程,它注重设计算法、书写程序并进行调试的整个过程,内容较为抽象、复杂,教学方法和学习方法都有极大的不同。笔者通过观察并与学生交流,发现很大一部分学生上课时能听懂课程,但程序一旦稍有改变就便不知所措,学生独立编程时更是无从下手,尤其到了循环结构设计阶段。究其原因,在教学方面存在以下问题。
1.1传统课堂教学方式存在一些弊端
通常,传统的C语言教学方法是选用经典教材,教师在讲解时先给出一般的语法格式,然后逐步讲解语法要点,再给出例子。传统教学方法比较适合基础差的学生,但此方式的缺点也是显而易见的,一方面不利于学生自学能力的培养;另一方面,对于基础好的学生会觉得太罗嗦,甚至因此丧失学习兴趣。多数学生对于这种按部就班讲编程的传统教学方式有厌倦心理,不愿意主动与教师在课后交流,依靠教师的现象比较严重。另外,很大一部分学生还在延续高中时的学习方法,缺乏自主学习的意识和能力。C语言毕竟是一门抽象、复杂的课程,知识点非常散。学生在学习C语言的过程中,在教学内容越来越多、编程越来越困难的情况下,很难自我保持学习的兴趣和热度。
1.2教与学比例不合理
教师在教学实施过程中,往往过于注重对知识的传授,过于强调教学方法,而实际上,C语言是一门实践性很强的课程,理论理解与实际演练密不可分,相辅相成,因而,整个C语言教学过程中如何分配教与学、理论与实践的比例,是学生学好C语言的关键因素之一。
1.3上机实作课时偏少
由于总课时数的限定,目前计划学时内安排上机实作学时不足以完成预订目标,以计划外形式安排课时,学生在自主学习能力较弱的情况下,学习效果不佳。
2双主体教学法
经过多年实践,我们在教学过程中采取了适合C语言公共课的“双主体互动教学模式”。双主体互动教学模式是新型的课堂教学理论,它突破传统教学中的“双主”理论,极其重视学生的学习主体作用,并引入“互动”观念,教、学双方相互影响,彼此促动。在课堂教学中,它以创造性贯彻“启发式教学原则”为基本特征,鼓励学生积极主动学习,提倡教师极尽启发、诱导、调动学生主动性之能事,在授课过程中,采用讲解、现场编程演示、幻灯片、提问、目光交流、练、学生自主学习相结合的方式,授课完毕后进行课堂小结,布置上机作业。
2.1采用实例教学法,提高学生对抽象概念的感观认识
实例教学法打破了以教材为中心的传统教学模式,不按教材的顺序授课,在讲课过程中,经常举一些与实际生活相关的事例,以精选出的程序实例为中心,把学习的重点放在具体实例讲述上,并引导学生自己去思考解决方案,从主观上让学生感受到成就感,从而保持他们的学习兴趣。整个教学过程中强调学以致用,在应用中学习,从而避免了枯燥、繁杂的理论说教,不仅增强了学生的学习积极性,而且对提高学生综合分析和解决实际问题的能力也大有帮助。
为了达到本课程的教学目的,让学生能更加深刻地体会到软件编程的实际作用,提高并保持对该课程的学习兴趣,本文引例就从“实弹射击训练分析系统软件”的编制任务开始,该软件编制任务共分5个阶段完成,编制过程将一直持续到本课程结束,并且会在后续章节中得到进一步完善。“实弹射击训练分析系统软件”具体任务安排:
第一阶段:能记录一名学生的打靶成绩(平均环数)。
说明:为简单起见,规定每名学生打10发子弹,记平均成绩。
第二阶段:能记录每个班的打靶总成绩(总平均环数)。
第三阶段:能对参训学生进行成绩排名;能对参训单位进行成绩排名。
第四阶段:在前3个阶段任务完成的情况下,进一步完善该软件的功能,学生可以添加自定义功能模块。
在简单介绍“实弹射击训练分析系统软件”的编制任务后,提出本次课的任务。运用实例启发学生,明确本节课要解决的任务,即寻求一种循环机制,能够自动循环地对10个成绩求和。这样,不仅激起了学生探究问题的兴趣,而且轻松地引入了本节课的教学内容:循环结构。接下来,就按照软件设计的步骤依次进行。
2.2采用进阶式问题驱动法,提高上机效率
在C语言教学过程中,上机操作是非常必要的。通过上机,学生不但可以进一步理解和掌握知识,而且许多不清楚或不理解的问题也迎刃而解。但在上机过程中,教师不要总是要求学生按部就班地解决问题,要让学生自己寻找解决方法,把学习的主动权还给学生,增强学生的自主学习能力,当然,教师的主导地位不能变。在组织学生上机实践的过程中,教师可以适当地设计一些连续的作业。例如,学完循环结构后,在上机时先带领学生分析一个程序,其功能是输出四行六列并且是由星形符号构成的图案[1,2]。教师可以通过以下步骤引导学生上机实践:
步骤1:教师可用多种编程方法进行程序演示。①利用普通的输出函数如何解决;②利用单循环如何解决;③利用双重循环如何解决;④说明双重循环的优点及特征,然后让学生自行编写并运行程序。
步骤2:待学生完成任务后,在原程序基础上,进一步提出新问题,让学生学会灵活编程。①若要输出每行“#”与“*”相间的四行六列图案应该如何修改程序;②若要输出每行两个连续的“#”和3个连续的“*”的四行五列图案应该如何修改程序;③若要输出用“*”组成的一个正三角形应如何修改程序;④行列数在这里是固定的,可否通过键盘随机输入,等等。
以上问题均可通过修改步骤1中编好的程序逐步解决,每次修改的幅度均不大,难度也是缓慢增加,学生在不知不觉中得到了编程的训练,在很短的时间内掌握了所学知识并灵活运用,学生会拥有成就感,同时会意识到,只要自己肯动脑,问题就会很快解决,从而激发了学生的学习主动性。
2.3以项目为牵引,强化学生课后自主学习
在完成一定的教学任务后,及时布置项目作业,训练学生对所学知识的灵活运用能力,并使每一阶段的内容有足够的焦点,让学生轻松消化每个知识。
在布置项目时,除要包含所学内容的焦点问题外,还要特别注意对新知识的迁移,也就是说,可以在项目中涉及少量的学生没有学过的知识点,促使学生主动探究、主动解决,教师在恰当的时候再给出解答方案,最后由学生自己总结得出项目结果。这么做不仅让学生学习的心态更加主动,而且让学生更具有成就感。
第四篇:C语言程序设计课程教学内容及教学方法研究
C语言程序设计课程教学内容及教学方法研究
摘要:该文主要探讨了C语言程序设计课程在现有高等教育体系中教学内容及方法。提出了C语言程序设计课程的教学内容应该分成基础课程和高级课程两部分;提出了根据现实中的问题和需要学习的知识点为依据来编排教学案例,通过增加问题的难度逐步学习掌握更多的知识点。
关键词:C语言程序设计;教学内容;教学方法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)13-0161-03 C语言程序设计课程在教学中出现的问题
C语言是现今计算机领域通用的语言之一,虽然并不像上个世纪80年代那样一枝独秀,但仍具有非凡的魅力。C语言是Thompson、Ritchie等人开发UNIX操作系统的副产品,并用C语言并UNIX操作系统进行了重写。在C语言普及后,国际标准化组织又多次对C语言进行了标准化,包括C89标准、C99标准和最新的C11标准。C语言对现代编程语言产生了巨大的影响,许多流行的现代编程语言都借鉴了大量C语言的特性,包括C++,JAVA,OC,Swift,C#等。
考虑到大量新编程语言的普及程度。高等院校学生还有学习C语言的必要吗?对于这个问题回答:首先,学习C有利于更好的理解其他新式编程语言,能让程序员更好地掌握继承自C语言的基本特性。其次,现有大量的C语言代码需要维护。最后,C语言仍然是众多工程领域最重要的编程语言,包括嵌入式开发、智能机器人、智能家居和智能电子产品等。
现今国内大部分高校都会首选C语言作为计算机编程的入门语言。各专业开设的C语言课程一般都是一个学期讲完,学时数大概在48~64课时之间。由于学生没有编程基础,很难在这么短的时间内熟悉C语言的各个知识点。在各个高校C语言程序设计课程教学中,有两种教学方法比较主流:一种是采用多媒体演示+黑板板书、并用一定的课时量上机练习编程的教学方法,这种方法可以在一学期内讲解完C语言课程大部分知识点。但是这种教学方法需要学生课后自己花时间上机练习编程。而且由于教师不在现场,学生出现的问题得不到及时解决,容易对编程产生厌恶感,导致学习失败。另一种方法是采用教室与机房一体化的教学方法,教师采用多媒体演示+黑板板书,通过设计好的项目来引导学生学习,指导学生现场编程,通过多年的实践发现,这种教学方法的效果比上一种好,但是由于班级学生人数众多,即使采用小班教学,也有30个左右的学生需要指导。在一学期的课时内,没有足够的时间指导学生学完全部重要的知识点。
本文的主要目的就是探讨C语言程序设计课程中教学的内容及教学方法,提供解决以上教学方式中出现的问题的思路。C语言程序设计课程教学内容的探讨
C语言程序设计课程教学中,选择一本好的教材非常重要。什么是好的教材?首先教材作者应该是C语言编程方面的专家、有实际项目的开发经验、熟悉C语言的标准。其次教材中应该有好的教学案例和精?x的习题,教学内容应该由浅入深、知识点全面、对C语言初学者经常犯的错误有提示和解答。我们不应该选择那种字典式、看起来全面但不便于学习的教材。国内的有些教材喜欢纠结于语法上的细节,故意把语句写得很复杂以考查学生是否掌握了相关的语法知识,这样做甚至会使习题的答案陷入了未定义行为的泥潭,对学生编程能力的提高是有害的。
通过对前面所述的两种主流教学方法的分析发现,由于C语言程序设计课程学时的限制,不可能既全面的讲解各个知识点,又让学生较快地掌握C语言的编程技术。因此有必要将C语言程序设计课程分成基础课程和高级课程来教学。
基础课程包括以下内容:
1)C语言概述和C语言编译器的使用;
2)C语言的基本概念、格式化输入/输出和表达式;
3)选择语句、循环语句和基本数据类型;
4)数组、函数和指针;
5)结构、联合与枚举;
6)底层程序设计;
7)预处理器和多文件程序的编写。
高级课程包括以下内容:
1)指针和数组;
2指针的高级应用:动态存储分配、链表、指向指针的指针和指向函数的指针;
3)标准库、输入/输出、标准库对数值和字符数据的支持;
4)错误处理和国际化特性;
5)C99标准和C11标准。
在课程教学中,教师最好采用项目化教学的方式,对基本知识点的熟练应用进行重点训练,使学生能够用所学的编程知识和技巧解决实际的项目问题。高级课程是否需要开设,关键看学生的专业和需求。对于电气电子信息类专业的学生,应该开设C语言的高级课程,使学生有能力使用C语言进行单片机和嵌入式技术的开发。C语言程序设计课程教学方法的探讨
C语言程序设计作为一门应用性很强的课程,检验学生学习的效果如何就是看学生编程的能力。欧美高校普遍采用的教学方法是在大班教学中采用多媒体演示+黑板板书的方式教学,然后在小班讨论课程中以助教辅导的方式练习编程。国内高校很少采用教授大班讲解课程,然后分班由助教辅导的教学模式,这就决定了国内的教学方式与欧美高校有所不同。由于需要教师一个人完成所有的教学任务,一个较好的教学模式就是采用项目化教学方式,将课程分为基础课程和提高课程进行教学。对C语言编程要求较高的专业,学习基础课程和高级课程两个部分,分两学期完成。对于一般的工科专业,可以只学习基础课程,重点了解编程的思想和编程的现代方法。
对于C语言程序设计基础课程,可以采用项目化教学的方式,将主要知识点分解在一系列由实际案例建立起来的项目里来学习。教学的方式是首先引入实际案例,编写简单的程序,然后增加新的知识点,通过多个阶段逐步建立完整的程序。下面通过对C语言基本概念和格式化输入输出的课程部分来说明教学案例的实施过程。
第五篇:C语言程序设计课程考试模式改革实践与研究[最终版]
C语言程序设计课程考试模式改革实践与研究
摘要:针对程序设计类课程教学效果不佳的教学实际,以C语言程序设计课程为例,通过分析历年试卷,提出加强中间实践教学过程考核及以程序设计题为主的无纸化期末考核,并从试题库建设、系统设计思想、软件功能结构、运行效果等方面介绍无纸化考试平台。
关键词:动手编程能力;教学质量;无纸化考核方式
引言
C语言程序设计是理工科类专业的一门必修课程。就当前严峻的就业形势及社会对计算机操作能力越来越高的要求而言,学校在培养学生程序设计能力方面还有待提高。针对当前的教学现状,进行本门课程的考试方法改革,即以无纸化考试方式驱动学生加强平时动手能力的训练,以提高C语言程序设计课程的教学质量。与传统纸质考试模式比较,无纸化机试考试模式可以很好地考查学生的程序设计能力,同时也能很好地排除考试各环节中人为因素的影响,比如评分标准不一致等现象。此外,机试考试也减轻了教师的出题、评阅、统计、分析等工作任务,提高了工作效率。
1教学现状分析
1.1学生的程序设计能力水平普遍较低
通过对近3年3100份试卷的分析发现,能够编写出完整正确程序的学生人数不足40%,而卷面分数达到合格的人数却超过了75%,如图1所示;此外,近3年全国计算机等级考试(二级C)的合格率不超过28%,如图2所示。这些数据说明学生的程序设计能力与社会对人才的要求还存在一定差距。
1.2传统纸质考试方式弱化了对学生程序设计能力水平的考查
程序设计语言类课程的考试应着重考查学生的动手编程能力。目前,该类课程的学习效果评价手段多以传统纸质试卷为主,其中程序设计题仅占20%,弱化了对学生程序设计能力的考查,因此普遍存在卷面合格的学生不能编写完整正确程序的现象。
一个完整正确的程序往往不能一次就编写成功,需要不断地调试,从中发现错误并加以改正,学生在调试过程中不断巩固所学内容。传统纸质试卷考试方式在考查学生调试程序能力方面也存在弱势。
1.3传统纸质考试方式不符合全国计算机等级考试改革方向
教育部规定自2013年开始全国计算机等级考试所有科目均采用无纸化考试方式,学生是否具有计算机语言程序设计能力,是否具有解决实际问题的能力,都不再是纸上谈兵。无纸化考试教学改革可提高学生学习的积极性和主动性,培养其实际动手编程能力,提高教学质量。
2改革举措
针对C语言程序设计课程建立一套5000道试题的试题库,涵盖教学大纲规定的所有知识点,且重点、难点突出,开发与之对应的无纸化考试平台,并制定科学合理、切实可行的无纸化考试管理办法及平时考核机制。
2.1以教学大纲为蓝本建设试题库
根据C语言程序设计课程教学大纲,组织该课程的一线授课教师共同建设试题库,确保试题内容设置具有科学合理、难度适宜、重点突出、结合实际等特点,能够全面评价学生的程序设计能力。该试题库建立过程中,参与教师达到17名,试题类型包括程序填空、程序改错和程序设计3类,试题数量分别为1000道、1000道、3000道,覆盖知识点69个,涉及算法26种。
2.2结合软件工程思想开发无纸化考试平台
无纸化考试平台以提高教学质量及学生的动手编程能力、全面考核学生的程序设计能力、减轻教师出题和评阅等繁琐工作任务为主要目标,功能主要包括服务器端与客户端两部分。服务器端完成试题库维护、考试参数设置、考试数据文件生成与打印等功能,客户端完成随机抽题、考生作答、自动评阅等功能,具体功能如图3所示。
该平台的关键功能是随机抽题和成绩评定:随机抽题模块确保所抽试题覆盖知识点广、涉及算法不重复;同时对于程序设计题的成绩评定,建立科学合理的评分准则。此外,该平台注重考
2.3加强平时实践教学环节的考核
考试模式改革的目的不是用机试考试方式简单地代替纸质考试方式,而是通过考核方式的转变,扭转学生对C语言学习的认识,强调利用计算机语言解决实际问题的学习目的,加强动手编程能力的培养。全面考核学生的程序设计能力不能仅依赖于期末考核,还要侧重于平时实践环节的考核,只有这样,学生才能在实践中不断积累经验,牢固掌握知识。
学校已将C语言程序设计课程平时实践考核成绩作为最终成绩的重要部分,比例为50%。平时成绩的具体考核形式主要有两种:一是针对每一章设置独立知识点的试题,各章学习结束后,利用该考试平台进行章节测试,随机抽取一道试题,让学生利用25~30分钟作答;第二种形式是以2~3人的组为单位,课下完成一个复合知识点的题目,这类题目考核的知识点既包含学过的,也包含没学过的,需要学生课下主动查阅资料,寻找解决方法,最终以答辩形式向其他同学汇报,成绩由其他同学打分确定。
核学生利用计算机语言解决实际问题的能力,即以程序设计题为主,辅以程序填空及程序改错题。平台的建立利用面向对象程序设计方法并结合软件项目开发思想,其部分运行界面如图4所示。
2.4加强程序设计能力的考核
无纸化考试系统既能考核学生阅读程序的能力,又能考核学生编程调试程序的能力,采用该系统进行期末考试,每份试卷包含3道试题,均为程序设计题,它们所属章节不同。本系统将章节分为3部分:顺序结构与选择结构为第1部分,循环结构与数组为第2部分,函数、指针及结构体为第3部分。此外,3道试题所涉及的算法均不同,各试题分值分别为30分、30分、40分,试题难度由易到难。这样既能保证考核知识面广,又能公正地评价每位学生的程序设计能力。
2.5人性化的考核模式
C语言程序设计课程的教学任务分两个学期完成,其中第1学期任务量在4400人左右,第2学期任务量在2200人左右。面对众多的考生,无纸化考试需分批分阶段完成,根据制定的科学有效的无纸化考试管理办法,结合网上预约考试平台,学生可在规定的时间段内合理选择考试时间,实现人性化的考试。具体实施步骤为:课程结束前两周由教务处发布考试通知,考试时间一般定于课程结束后的第2周,从周一至周五全天工作时间均可进行考试,考场数量根据本学期考生数量适当增加或减少。学生自收到通知之日起,就可通过预约系统进行考试预约,教务工作人员随时查看预约情况,合理安排监考教师,学生根据预约结果合理安排考前准备进度。
3改革效果
3.1激发了学生学习的主动性
考试方式的转变,加强了学生动手编程能力的训练,学生不再每天纸上谈兵,靠死记硬背获取知识,而是通过上机编写程序、调试程序,灵活掌握课堂中学到的知识,并举一反三,收到了事半功倍的效果。学生对本门课程的相互讨论增多了,对获取更多知识的欲望增强了,课堂教学过程中学生主动与教师的交流也增多了。
3.2提高了学生的编程能力
经过近两年的实践,本门课程的考试成绩有了明显的提高,全国计算机等级考试(二级C)的通过率增长了约9个百分点。由于C语言程序设计课程是大一阶段的必修课,学生通过实践锻炼,掌握了程序设计语言类课程的学习方法,在学习后续的其他类似课程时入门快、效率高,增强了自信心。如数据结构课程,绝大多数学生不会再因为程序设计语言不过关而学不好,可完全将学习重点放在数据的逻辑结构学习中。
3.3减轻了教师的工作量
无纸化考试方式减少了教师考前出题、试后评阅、分数统计等繁杂的工作,同时也避免了由于工作失误而造成的分数统计错误等现象,教师的工作重点完全转向如何改进教学方法、提高学生的实际动手编程能力和提高教育教学质量。
4结语
加强实践教学环节是学好计算机语言的关键所在,机试考核方式驱动了学生对计算机语言的学以致用。下一步的工作是借鉴C语言程序设计课程取得的改革经验,结合其他各门计算机语言课程的特点,逐步完成Java语言、c++语言等课程的教学改革。