C语言的多维立体教学系统

时间:2022-08-19 09:59:17

C语言的多维立体教学系统

摘要:目前各高校均开设C语言程序设计课程,该课程教学内容抽象,教师难教,学生也难学。因此,在传统教学模式基础上,提出多维立体教学系统,从教学手段和教学方法等方面对C语言程序设计课程进行教学改革和教学实践,提高学生学习兴趣并培养学生分析与解决问题的能力。

关键词:C语言;教学模式;教学改革

0 引言

C语言程序设计不仅是计算机专业的必修课,而且是很多非计算机专业的公共基础课。它通常是高校学生所接触到的第一门程序设计语言,其重要性可见一斑。由于是“第一门”,学生的学习热情高涨,但当碰到数据类型繁多、语法结构复杂的计算机语言时,学生的学习兴趣很快就消退了。如何结合现有的教学模式,改进C语言的教学效果,提高学生的学习兴趣,让学生能较快地掌握程序设计基本方法,一直以来都是值得探索的问题。

1 C语言的多维立体教学系统

树立一个正确的教学目的和学习目的分别是教师教好和学生学好一门课的根本所在。教师和学生都应向这一目标努力。传统的教学模式存在交互性弱、理论与实践缺乏联系等缺点。笔者结合多年C语言程序设计课程的教学经验,在传统教学模式的基础之上,提出多维立体教学系统,如图1所示。该系统由多元学习系统、实例分析系统、成功激励系统3个子系统构成多维度、立体化的学习模式。多维立体教学系统为C语言学习者定制完全个性化的学习模式,能全面提升学习者的C语言运用水平,真正实现学知所用、学有所用、学会所用。

1.1多元学习系统

高校制订教学计划时,通常将该课程安排在大学一年级开设,而这一时期,学生刚刚由高中进入大学,对专业方向以及后续要学习哪些专业课程还不了解。学生们会疑惑:这门课对后续课程学习到底有什么用?这时,他们根本不可能认识到将这门课作为专业基础课的真正用意,而从辅导员及学长那里得到的信息是计算机二级证书对于就业大有裨益。于是,学生在学习这门课伊始,心里便有了目标:通过计算机二级考试。对此,教师首先要做的是明确教学目的并调整教学目标,及时引导学生,让学生明确学习C语言的终极目标是“学以致用”。

多元学习系统是以多媒体教学为基础,并采用正常学习课、主题沙龙课、学习辅导课相结合的教学环节,帮助学生学习C语言。正常学习课就是教师采用传统的教学方法,以正常的多媒体及板书形式授课,使学生在短时间内获取大量信息的教学方法。这种方法虽然存在大家所都熟知的诸多缺点,但要使几十甚至上百名学生能较快地掌握课程内容,传统的教学方法不可或缺。教师应在讲授这门课程伊始就清楚地告诉学生:学习这门课的主要目的,是通过学习C语言,了解基本的算法,掌握正确的编程思想和编程方法,提高计算机的应用水平,为后续课程打下良好、坚实的基础。教师在讲授这门课的同时,也要注意适时引导,不要过分强调计算机二级考试和期末考试的重要性,应本着实用的目的,让学生活学活用。至于计算机二级考试,其实与我们上面指明的学习目的并不矛盾,如果学生的学习目标真正明确了,顺利通过二级考试也是自然而然的事情。

主题沙龙课和学习辅导课是正常学习课的重要补充。教师在正常学习课环节的基础上开展主题沙龙课,将正常学习课的重要知识点进行提炼,提出一定主题下的拓展命题,可以训练学生对知识点的认知能力,使其进一步加深在知识点应用层面上的体会,并促进学生对知识进行消化和吸收。学习辅导课是针对学生上课(包括正常学习课及主题沙龙课)、作业及答疑过程中存在的不足,为学生扩展和补充C语言语法特点和应用案例等方面的知识,帮助学生快速积累知识。由正常学习课、主题沙龙课、学习辅导课构成的多元学习系统如图2所示,三者相互促进且互为补充,是C语言多元学习中必不可少的环节。

1.2实例分析系统

美国著名的教育家乔伊斯在《教学模式》一书中,将教学模式分成4类。信息处理模式注重帮助学习者获取信息,并发展学习者获取信息、加工信息、观察问题和解决问题的能力;归纳模式侧重信息的获得和加工;概念获得模式主要是帮助学习者有效地学习概念;探究模式主要在于培养学习者探究的技能。

结合乔伊斯的教学模式理论,笔者提出实例分析系统。该系统以几个完整的案例为总线,从工程实践的角度出发,首先提出问题:我要编写一个什么样的程序,该程序要实现什么样的功能;其次再进行功能模块划分,引出模块化的思路;最后以案例为向导实现每个功能模块,而每个模块所涉及的知识点也被顺理成章地引出来。传统的C语言程序设计教学以填鸭式教学为主,强调教师“如何教”,忽视学生“如何学”这个问题。教学基本上都是在讲解基本语法,配套教材中的案例也只是为了说明语法而已,缺乏趣味性。然而兴趣和爱好却是最好的老师,瓦特发明蒸汽机、牛顿发现万有引力定律都是兴趣的指引。

实例分析系统首先用生动的实例告诉学生这门课的学习目的是什么,避免了是什么、怎么用的介绍方式,而采用提出问题、分析问题、解决问题的方式;其次,掌握枯燥难懂的语法是实现案例功能的重要途径,采用实例分析系统可以让学生以轻松和主动的态度学习与掌握知识点;最后,将工程应用能力和创新能力的培养渗透于日常的实践教学中,这也符合“卓越工程师教育培养计划”(简称卓越计划)的提出。实例分析系统在具体实施过程中还要注意把握以下几个方面。

1.2.1多媒体教学结合案例教学

目前,C语言教学大多采用多媒体形式,因此教师应充分发挥多媒体的视听优势,注重选用集实用性、趣味性、一致性于一体的案例,通过多媒体演示程序执行流程、数据类型存储过程、函数参数传递过程等。除了贯穿全局的大案例选择,小案例的选择也很重要。所选案例既要与教学目的相吻合,又要是学生易于接受和感兴趣的案例。

教学选择“智力大通关游戏”作为贯穿始终的大案例。该游戏由用户选择1、2、3、4、5、6(用户可通过掷骰子选择点数),然后进入相应的游戏环节,有算术游戏、智力问答、五子棋等游戏。教师通过程序展示环节,让学生对C语言编写的应用程序有一个初步了解,然后随着学习内容的深入,学生从最简单的模块开始,不断完善程序功能。

例如,学生在学习输入输出函数时,利用输出函数输出一个算术题或智力题,加深对打印输出函数printf()的理解;利用输入函数输入数值,加深对输入函数scarlf()的理解;学习选择结构时,利用if-else结构判断输入的答案是否正确,若答案正确,输出“恭喜你,答对了”,答案错误则输出“下次再努力吧!”;利用switch()结构可以选择游戏类型,练习多分支结构的使用;学习循环结构时,可用“当型循环”或“直到型循环”循环地出算术题或智力问答题,直到用户选择退出游戏;在学习函数知识时,可以用函数调用的方式练习出题过程。

至此,“智力大通关游戏”的基本程序框架已搭好。学生对于数组、结构体、共用体及指针内容的学习,可以以教师选择的信息管理系统为案例进行学习。学生可利用数组的知识,练习编写计算每门课平均成绩及每名学生平均成绩的程序;用结构体和共用体及指针的概念来存储和管理每名学生的基本信息,在此基础上,逐渐增加该程序的难度,并利用前面所学的函数知识,实现成绩查询、学生基本信息查询等功能;学习文件时,可编写如何将学生信息保存到文本文件或如何从文本文件中读人信息的程序,使学生掌握有关文件处理函数的使用。相关内容学习结束后,一个简单的信息管理系统程序设计也就完成了。

1.2.2课堂讨论与实践教学相结合

人的能力是在实践中形成的,实践是实现由知识到能力转化的重要过程。要实现具有一定理论基础、创新能力和扎实的动手能力的应用型人才培养目标,加强实践教学尤为重要。教师在讲课时也可以把一些富有启发性的问题编成思考题,要求学生查找资料、独立思考,然后再组织学生就这些思考题进行讨论,在讨论中巩固所学内容。

学生有了学习兴趣,自然就能积极自主地学习,教师也转变为学习的辅助工具,从而逐步完成从“做中学”到“学中思”的过渡。在实现“智力大通关游戏”程序后,教师可以给同学留下一些讨论题,如增加菜单的功能、增加用户密码的功能等,要求同学分组讨论(即主题沙龙课环节),利用所学知识完善程序。教师在学生学会设计学生信息管理系统程序后,要求学生实现图书信息管理系统或飞机订票系统的程序设计,以激发学生的创造性。课堂讨论不仅能拓宽学生的思路,使学生高质量地完成学习任务,而且还可以提高学生的综合素质。

1.2.3多媒体教学与传统板书教学相结合

教育心理学研究表明:人获取的外界信息中,83%来自视觉,11%来自听觉,3.5%来自嗅党,1.5%来自触觉,1%来自味觉。显然,增加视觉和听觉信息量是多获取信息的可取方法。多媒体恰好在视听方面具有显著优势,因此,从教育心理学角度看,运用多媒体辅助教学对提高教学效果必然大有好处。但多媒体教学不只是教师用电子教案取代纸板教案、用电子板书代替粉笔板书,而是在充分理解媒体语言、掌握其传播特性的基础上进行设计。

在众多的教学媒体中,文本擅长表述高度概括、极为抽象或结论性的内容,我们通常将文本用于概念的表达,如语句的基本语法介绍等;图形、图像形象直观,能够直观并生动地传播信息,因此结合文本进行合理的页面布局可以起到画龙点睛的作用;动画是以视听的方式进行表达,恰当的动画成分可起到强调主题、增加情趣的作用,如采用动画方式对指针的应用进行讲解,使学生了解每一条语句在执行过程中的作用,增强学生的直观感受。

教师在利用多媒体技术辅助教学时需要注意以下方面。

1)在教学过程中,不建议一味追求视觉效果,而忽视教学本身,对多媒体类型的选择要慎重。

2)多媒体技术是教学的辅助手段,因此不能本末倒置。幻灯片相比传统板书方式包含的信息量大,教师容易忽视学生对知识的消化能力。因此,多媒体教学要有重点地与板书进行结合,有的放矢地利用传统教学手段强调关键内容。

3)制作课件时,避免将课本内容原样拷贝到课件上,这会使学生难以领会重点。多媒体教学只有与传统板书教学有机结合,才能使课堂教学环节集知识、专业、趣味于一体。

1.3成功激励系统

西方教育“以人为本”,从课程学习与实践上升到人的全方位成功。成功激励系统帮助学生实现自我认识、自我定位、自我成功等。编程是一种技能,学习C语言的关键是将C语言运用到实际应用当中。首先了解你自己,在此基础上,设定C语言学习目标,以案例为驱动力,尝试新的挑战,不断地从错误中总结并提高自己,追求卓越,这是一个不断循环的过程。成功激励系统如图3所示,它可以是C语言学习的成功激励系统,同时也与“卓越计划”的初衷一致。

2.1重视买践环节

通过课堂的理论学习,学生掌握了C语言的语法知识,但是编写的程序是否正确并符合要求、能否运行,就需要通过上机调试环节来验证。上机调试可以使学习中的疑点或问题得到明确解答,使学生更好地理解和巩固课堂内容,并且能培养学生编程和调试程序的能力,因此必须重视上机实践环节。作为教师,结合学生在课堂上所学的知识,对上机实验内容进行精心设计,以便学生更好地消化和理解知识;还要尽量结合学生的专业,注重内容的实用性。

C语言是一门实践性很强的课程,学生仅通过几学时的上机环节还是不了解到底怎样编写一个能够应用的完整程序。基于此,教师增设了课程设计环节,首先合理选题,题目既要起到训练的目的,又不能难度太大。从以往的课程设计情况来看,信息管理类的题目比较适合做C语言程序设计题目。另外,考核方式也应灵活,教师不应以成败论英雄,应摒弃以往以程序是否调通为依据,并将其作为最终成绩的做法。实践证明,“成败论”有损学生对C语言学习的积极性。考核应以学生的考勤和钻研精神、所做程序的完整性和运行情况、最终的简要答辩为依据,着重鼓励学生通过课程设计掌握编程知识和技能。

2.2教学、实践与创新的关系

教学环节是知识积累的基础,而实践环节是教学环节的必要补充,两者相辅相成、缺一不可。教学、实践与创新的关系如图4所示。实践环节是学习能力与创新精神的集中体现,是训练学习能力和创新能力的最佳途径。教学、实践、创新,进而促进教学及实践环节,这样不但可以促进学生巩固课堂知识,而且可以激发学生在课外学习自己感兴趣的知识,为以后学习专业知识打下坚实基础。

3 结语

C语言教学需要改革,需要以学生为中心的现念。结合工科院校学生的特点,笔者主要从C语言课程的教学模式、教学环节、实践创新等方面进行切合实际的分析,相信这套教改方案会对提高C语言课程教学效果及实施卓越计划产生有利的影响。

上一篇:“面向对象技术与UML”课程教学探索 下一篇:C语言教学中关于自加运算符理解的误区