APP下载

C语言渐进教学模式的研究及实践

2013-07-17黄培泉

中国科技信息 2013年2期
关键词:C语言学时知识点

黄培泉

1.广东青年职业学院计算机工程系,广东省广州市 510507

2.辽宁工程技术大学创新实践学院,辽宁省阜新市 123000

引言

C语言程序设计是国内高等院校计算机专业的一门必修课,同时也是大部分院校非计算机专业学生程序设计基础课程。其教学目的是让学生掌握高级语言的基础知识、编程技术和基本算法[1],能灵活运用高级语言进行程序设计,具备利用计算机解决实际问题的能力,以培养学生严谨的科学态度、理论联系实际的实践动手能力和创新能力[2]。

然而,从历年C语言教学情况来看,特别是对于非计算机专业学生而言,C语言所涉及的概念、语法规则、应用技巧等知识繁多且不容易掌握。在理论学时及实践学时较少的情况下,既要掌握C语言的基本语法规则,又要掌握高难的算法知识及实践编程技巧,实在是很艰难的工作。

多年调查分析发现,目前C语言教学方法主要分为两种,一种方法是:先对新知识进行系统的讲解并在计算机上进行验证,然后举例说明新知识的应用,通过典型例子让学生达到掌握知识的目的。这种教学方法适合推理逻辑特别强的课程,比如高等数学、大学物理等。对于C语言程序设计而言,特别是对于语法规则方面的掌握,这种方法会让学生感到内容枯燥、繁琐,教师还没有讲到经典实例学生已经失去了耐心,当然对新知识的掌握及应用方面效果很差。如果每次课都如此,学生将失去学习的兴趣,前面的知识没有掌握,新知识又无法进行学习,导致恶性循环,后果不堪设想。另一种方法是案例教学方法,即先讲授典型案例,让学生先看到成果,然后再对案例中所涉及的知识进行解释、归纳与总结。这种授课方法在一定程度上提供学生的学习兴趣及积极性,但这种方法所采用的案例相对来说与实际生活太遥远,并且案例之间没有任何相关,缺乏知识连续性。

针对上面的问题,本文提出了新的教学模式,即“渐进体验教学模式”。强调学生逐步的、由浅入深的知识体系体验;强调对实际项目设计与开发的体验过程;强调对C语言语法规则及程序设计思想之间相互关联的体验。

1 渐进体验教学模式设计

1.1 教学基本思路

在不改变教学大纲的基础上,将教学内容重新组织,内容的讲授不再是教材内容的陈述,而是对生活中常见的事物进行剖析,比如:银行“ATM自动取款机”、“个人通讯录”、“学生成绩管理系统”等。将一个实实在在的系统按功能进行划分,由浅入深,一步一步地去完成系统的设计与开发。在整个系统开发过程中,每完成一个功能都将向学生讲授相关知识点,而且某些重要的知识点将在多个模块中重现,这也使得一些重要的知识点得到巩固。学生在学完整个系统开发相关知识之后,也把教学大纲中要求的知识点学完,而且还将学习到软件开发的基本过程及基本原理,提高了学生的认知能力、拓宽了学生的知识面、同时在掌握C语言基本语法规则的基础上,学会了程序设计的思想,为学生以后的学习打下了坚实的基础。

1.2 教学内容组织

教学内容不再遵循传统教材内容组织方式,而是根据实践项目设计模块重新组织,不同的模块将使用多个知识点实现,这些知识点包括新知识点,也包括已学习的旧知识点。这样既达到学习新知识点的目的,同时又复习了旧知识点,实现知识巩固。部分教学内容组织如下:

(1)用户界面设计实现

用控制台应用程序实现用户登录界面,在此模块中主要讲解用Visual C++编程环境建立项目,编写C语言程序等工作。使用基本输入输出语句实现简单的用户界面。本模块将完成基本输入输出教学任务及系统函数调用知识。

(2)单用户信息验证

本模块将实现单用户信息存储,包括用户账号、密码的存储,实现简单用户登录验证过程。本模块完成基本数据类型及if简单语句应用的讲解。

(3)用户简单操作选择功能实现

本模块将实现用户选择功能,包括输入学生课程成绩、查询课程成绩、修改课程成绩、删除课程成绩、退出系统等基本操作功能。本模块完成if语句、if嵌套、switch语句、break语句、函数等方面的讲解。

(4)添加成绩、查询成绩、修改成绩功能实现

本模块实现添加、查询及修改某位学生多门课程成绩功能。主要涉及知识点包括算术元素、if条件判断、文件读写等知识。

(5)用户循环操作选择功能实现

本模块实现用户一次登录需要完成多项操作功能,主要涉及知识点包括循环程序设计知识。

(6)多名学生多门课程成绩存储功能实现

多名学生多门课程成绩管理功能将涉及存储信息比较多,为方便管理将同类型的使用数组存储,更合理的管理方法是使用结构体存储数据。本模块将学习数组、结构体等知识。

(7)课程成绩排名查询

将某门课程成绩从大到小,或者按学生的总成绩或平均成绩进行排序是一些频率很高的操作。本模块将实现数据排序等基本知识。

1.3 教学辅助手段

在教学中,要实现学生牢固掌握各种新知识,仅使用一种教学手段显得捉襟见肘。围绕本教学模式,为整个教学体系专门设计了各种辅助教学手段,包括:

(1)教学资源网站开发

教师在课堂上的授课知识必定是有限的,不仅在广度上还是在深度拓展方面,都有所限制,学生在课堂上也不能100%的集中精力进行学习。那么课外知识获取对学生而言至关重要,为方面学生学习,本教学体系专门设计了教学辅助网站,为学生提供教学课件、电子教材、经典案例、疑难问题解答等教学资源。

(2)渐进考核系统的研发

在整个教学及实践环节当中,为了衡量学生对教学大纲及实验大纲掌握程度,在实践过程中利用“渐进体验考核系统”对学生所掌握的知识进行测试,并达到巩固知识的目的,同时也根据学生的测验结果进行分析,及时对教学计划进行微调,让教师的授课知识更能适应学生当前的学习进度及学习状态,解决一些不可预知的问题,同时也是理论教学的内容补充。

(3)引导学生参加计算机竞赛

知识的掌握程度需要通过实际的验证方能体现价值,能将学习到的知识迅速应用用到实际当中,这是“渐进体验教学模式”的终极目标。在学生学完该课程之后,理论上可以使用C语言进行一些系统开发或其他一些实践活动,其中,引导学生参加计算机竞赛是一个很好的手段。课程结束之后,从教学改革班级中挑选多名C语言优秀的学生参与“全国电脑鼠走迷宫竞赛”当中,分别获得辽宁省赛区一等奖、二等奖、全国三等奖的佳绩。通过竞赛,学生既学到了课堂上学不到的知识,同时也使学生获得一些个人荣誉,增强学生的动手能力、自信心及成就感。

2 渐进体验教学模式实施过程

选择4个班级进行教学改革试验,每两个班为一组改革对象。理论授课学时为48学时,实验学时为32学时,共80学时,与其他班级的学时一样。教学大纲不变,在授课方式、内容组织上有较大的变化,内容的讲解不再是教材内容的再现,而是通过实际项目的演示,让学生对其中所涉及的知识进行理解及掌握。在课堂上,对于个别典型的问题进行分组讨论,让同学之间有交流的机会,在交流当中发现问题、了解他人的绝妙想法、解决实际问题;在实验教学环节,学生首先需要对课堂上教师的授课内容进行掌握,然后再实现教师安排的实验,实现对新知识的巩固。考虑到期末考试的实际情况,每两次实验之后,学生将利用30分钟的时间完成“渐进考核系统”的里面的题目,以此来检查学生对教学大纲所要求的知识掌握程度。

3 主要特色及创新之处

本研究在C语言教学方法、实验方法及教学内容组织上做出了重大的改革,整个改革注重学生的体验、注重学生的动手能力及创新思维模式的培养。让学生真正地、由浅入深地体验实际项目开发过程,并让学生自己动手实践,将所学的知识快速的应用到实践当中。

4 结语

参与本次教学改革试验的学生一共118名学生,全部为非计算机专业学生,在期末考核中,优良成绩人数48人、中等成绩人数30人、及格人数13人、不及格人数17人,统计图表见图1。

从学生成绩统计分析来看,学生优良率较高,达到44%,不及格率15%,在全校学生不及格率达到30%的情况下,这种不及格率就显得很低了。

图1 学生期末成绩统计图

课程结束后,引导多名学生参加了“2010全国电脑鼠走迷宫竞赛”,“2011年国信蓝点杯程序设计大赛”并取得了优异的成绩,“电脑鼠走迷宫竞赛”获得辽宁省赛区一等奖一项及二等奖一项,全国三等奖等一项;“国信蓝点杯竞赛”获得辽宁省一等奖一项。结果表明:本课题研究涉及的各个环节都具有科学合理性、针对性强、具有可操作性,取得了比较明显的效果。通过“渐进体验教学模式”,提高了学生的学习兴趣及积极性,提高了学生的动手能力、自信心及成就感,消除畏惧心理;提高了学生的团队合作精神,磨炼了学生坚强的意志力及刻苦耐劳精神,培养培养了学生的创新思维能力,同时也拓展了学生的知识面,为以后的学习打下了坚实的铺垫。

当然,作为第一次应用该体验教学模式,也存在多方面的问题,比如:如何解决“惰性”学生的学习状态、教学内容与教材之间的脱节问题、实践学时过少问题等。我们研究小组在以后的研究中将针对性地去解决相关问题,不断为C语言的教学摸索一种科学、合理、实际可行的教学模式。

[1]付宏东.形势与政策课教学探索[J].继续教育研究,2009(4):152-154

[2]薛琴.任务驱动法在C语言教学中的应用[J].科技资讯,2009(26):198-200

猜你喜欢

C语言学时知识点
第二课堂成绩单制度下的学时发放标准的探索
——以中国民用航空飞行学院为例
《诗词写作》课程教学大纲(节选)
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
教学大纲国画(工笔花鸟)
探索学时积分制 构建阶梯式成长激励体系
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程