您好, 访客   登录/注册

应用建构主义改革《C语言程序设计》教学

来源:用户上传      作者: 顾雯雯

   [摘要] 建构主义理论指导下的《C语言程序设计》课程改革:通过改革课程内容、课堂教学、实践教学体系、考核机制,使学生从知识的被动接受者变为信息加工的主体和知识的主动建构者。
  [关键词] 建构主义 C语言程序设计 教学改革
  
  在众多高级程序设计语言竞显风流的当今社会,C语言以其目标代码质量高、使用灵活、数据类型丰富、可移植性好等特点,成为一种在系统软件开发、科学计算、自动控制等诸多领域广泛应用并占据着重要地位的程序设计语言。
  《C语言程序设计》课程作为很多高职高专院校计算机类专业的一门核心基础课程,是学生学习程序设计的开端,学生分析问题、解决问题的能力和程序设计过程理念的形成都与C语言有着密切的联系。采用传统的教学方法,学生在学习中普遍反映“难学”、“不懂”。究其原因,是传统的教学方法注重教师的“教”,而忽略了学生主动构建知识的能力。作为国际科学教育改革的主流理论,“建构主义”为我们的课堂教学指明了方向。
  一、建构主义的基本理论
  建构主义(Constructivism)又称作结构主义,该理论最早源于瑞士著名心理学家让•皮亚杰的“发生认识论”。建构主义指出:知识不是通过教师传授得到的,而是学习者在一定情景即社会文化背景下,借助其它帮助(包括教师、学习伙伴及教学媒体),利用学习资料,通过意义建构的方式从而获得。建构主义理论核心是:以学生为中心,强调学生对知识的主动探索、主动发现和对所学知识意义的主动建构。建构主义倡导在教师指导下以学习者为中心的学习,即强调学习者的认知主体作用,又不忽视教师的指导作用,教师是意义构建的帮助者、促进者,学生是信息加工的主体、意义的主动构建者。
  建构主义思想表明,在发挥教师指导和促进作用,形成以学生为中心、学生主动探索、构建知识意义的过程中,以多媒体技术和网络环境为主体的信息技术运用,最能充分提供建构主义强调的情景和学习帮助,实现以学生为中心、主动探索构建知识意义的过程。建构主义学习理论认为要提高学习者理解能力和知识迁移能力,应给学习者构建一个非线性的媒体学习情境,以适应信息社会知识日趋复杂的特点,学习者双向的学习过程在提高学习能力同时,教师综合素质也得以发展。
  二、高职高专院校中《C语言程序设计》课程教学现状
  《C语言程序设计》课程一般是高职高专院校学生所接触的第一门编程类基础课程,在学习该课程时,同学们开始怀着神秘而兴奋地心情来学习,但随着几节关于大量难以理解和记忆的新术语、新规则的课程介绍,枯燥乏味的例题分析后,学生慢慢失去兴趣,觉得学习C语言很枯燥。传统的《C语言程序设计》课程的教学中,大多采用粉笔加黑板的手段,整个教学活动是围绕着如何教而展开的,偶尔加上的少许上机实践课程学生也是在云里雾里完成的,往往在一学期快结束时,才对编程有一点点地理解,甚至有的学生还是只停留最初的几节课的教学内容上。在这种教学内容多而广,且时常是以教师为主的教学下,学生如何能学会,学懂,学以致用呢?
  三、建构主义理论指导下的《C语言程序设计》教学改革
  1.改革课程内容
  建构主义认为,知识不是客观的东西,而是人们对客观世界的一种解释、假设或假说,它不是问题的最终答案,它必将随着人们认识程度的深入而不断地变革、升华和改写,出现新的解释和假设。《C语言程序设计》课堂教学的最基本目的是让学生学会灵活编写正确程序,在将来无论运用C语言来实现单片机控制还是继续学习别的程序语言时,一是能熟练应用,二是能创新升华。
  然而,目前各个高职高专院校所使用的C语言程序设计教材中的教学内容太多,而且有的对于高职生来说实在太难了,比如,指针、结构体、文件……我们的学生能在短短的一学期高强度中学全学会这么多的知识吗?
  为了更好地体现高职高专人才培养的要求,明确高等技术应用型人才的培养目标,对于该课程的教学内容本着教学内容突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性,以程序设计的重中之重――程序设计的3大结构(顺序结构、条件结构、循环结构)为核心进行组织教学内容安排。让我们的学生把编程的基本功打结实,将来学习其他更深层次的编程类软件会举一反三,真正做到会将知识进行迁移。
  2.改革课堂教学
  课堂教学是学生学习的第一学习环境,基于建构主义的学习环境所追求是让学生能主动地建构知识的意义。这需要学生在适当的学习环境下通过主动探索和主动发现才能完成,而教师必须给学生设计理想的学习环境,这样才能促进学生自身的意义建构。
  在建构主义学习环境中,目前已经开发的,比较成熟的教学方法主要有“抛锚式教学法”、“支架式教学法”和“随机进入教学法”等。
  (1)抛锚式教学法
  抛锚式教学要求建立在有感染力的真实事件或真实问题的基础上。确定这类真实事件或问题被形象地比喻为“抛锚”,因为一旦这类事件或问题被确定了,整个教学内容和教学进程也就被确定了(就像轮船被锚固定一样)。
  首先,为学生设定学习目标。作为初次接触计算机程序设计的学生,对编写C程序有何用这个问题有很大的好奇感,教师可以先将以往教学中学生设计的作品进行展示,使学生的学习目标有了一个比较精确地定位。其次,提出问题:C程序的结构,即抛锚。教师由复杂到简单的给出学生感兴趣的作品的程序代码,让学生自己去寻找相同规律,然后教师讲实例进行详细的讲解分析,并得出结论――main函数是每个C程序的入口函数;每条语句后必须用分号结束。甚至,洞察力强的学生能分析出程序中某些语句的格式来。这比教师直接给出结论更容易让学生理解和掌握,因此这些结论是学生自己“建构”出来的。
  (2)支架式教学法
  借用建筑行业中使用的“脚手架”作为对概念框架的形象化比喻,教师为学生构建知识理解的框架概念,把复杂的学习任务加以分解,把学生的理解引向深入。
  C程序中if条件语句有三种结构形式的教学可以采用此种教学法。首先,以按成绩的高低设置不同等级这个学生比较熟悉的问题来引入课题,加上学生对英文单词if、then和else的基本含义已有一定的了解,先从简单的显示及格与不及格两个等级为例进行切入,让学生在讨论中得出程序,并探索归纳出第一、二种if语句的结构。其次,向学生提问,如果要显示优、良、中、及格和不及格等级应该如何处理呢?此时让有条件的学生独立探索,其他的学生进行协作学习,得到提升的知识点第三种if语句的结构。最后,自主学习部分,教师设计2~3个习题让学生巩固所学知识点,并得出相应的自我评价和教师评价。
  (3)随机进入教学法
  学生可以随意通过不同途径不同方式进入同样教学内容的学习,从而获得对同一事物或同一问题的多方面的认识和理解。随机进入教学主要由呈现基本情境、随机进入学习、思维发展训练、小组协作学习和学习效果评价等5个环节。
  C程序的3大结构学习完成后的综合编程复习课是最适合采用此种方法的。教师可以使用以前上课用过的有难度的例题,让学生再次用更全面、更综合的思维角度来分析问题、解决问题,因此多次进入的结果,绝不仅仅是对同一知识内容的简单重复和巩固,而是使学习者获得对事物全貌的理解与认识上的飞跃。
  3.改革实践教学体系
  建构主义认为,学习者与周围环境的交互作用,对知识意义的建构(即学习内容的理解)起着关键性作用。实践教学体系是学生掌握基础知识和算法理解、提高程序设计能力的重要一环,将学生以3人进行分组实践课程教学,提出每次上机实践课程的学习任务,组织并指导小组成员之间、小组之间相互讨论交流,相互协作学习,相互帮助。教师从旁给予提示与鼓励,引导学生进行思考,使得每位学生通过练习产生成就感,增加自信力,使学生变被动学习为主动学习,主动接受信息。
  4.改革考核机制
  积极的考核机制有利于激发学生学习热情,保持浓厚的学习兴趣,对学生将来的学习产生强大的动力。学生最后的考核成绩就由以下两项组成:(1)建立试题库系统,把平时测验和期末考试有机结合起来;(2)建立评价体系,评价学生的学习效果,包括学生自评,小组对个人的评价以及教师对学生的评价。评价可以围绕自主学习能力、协作学习能力和是否完成意义建构进行。
  四、结束语
  C语言程序设计教学要求学生既要掌握理论基础知识又要具备实际动手编程能力。运用建构主义学习理论,对教师提出了新的挑战,要时刻以学生为中心,发展多元教学技巧,注重意义的建构、适当的创设问题情景等;同时,也使学生从知识的被动接受者变为信息加工的主体和知识意义的主动建构者。唯有教师在教学中不断探索改革,才能培养出具有高素质高技能的人才。
  参考文献:
  [1]张建伟,陈骑.从识知主义到建构主义.北京师范大学学报,1996,(4).
  [2]李克东.新编现代教育技术基础.华东师范大学出版社,2002.
  [3]谭浩强.C语言程序设计(第三版).清华大学出版社,2005.


转载注明来源:https://www.xzbu.com/9/view-1010825.htm