首页 > 文章中心 > 正文

语言程序设计教学

语言程序设计教学

[摘要]本文针对高职院校程序设计课程枯燥、难懂,教师只讲授语法知识,不注重学生学习兴趣的培养,学生厌学等问题,探讨将建构主义学习理论运用到任务型教学设计中,克服传统“灌输”式教学模式的弊端,以激发学生的学习兴趣,提高学生分析问题、解决问题的能力。

[关键词]计算机;建构主义;教学设计;程序设计;创新能力

Abstract:Thisarticle,inthelightofexistingproblemsinprogrammingteaching,suchasdullteaching,unintelligibility,ignoranceofstudent’sinterestcultivation,merefocusongrammarknowledge,etc.whichleadtostudent’sunwillingnesstowardsstudies,attemptedtoapplytheconstructivismprincipletotask-orientedteachingdesigntoovercomedrawbacksofthetraditionalcrammingteachingmodethustostimulatestudent’sstudyinterest,andtoenhancethestudent’sabilitytoanalyzeandsolveproblems.

Keywords:constructivism;teachingdesign;programming;innovationability

0引言

《C语言程序设计》是理工科各专业的一门计算机基础课,教学目的是通过学习培养学生的程序设计思想,使其具备基本程序结构代码的编写能力,并为后续课程打下基础。以往的教学实践反映,很多学生学完这门课程之后并没有达到预期的目的。究其原因,一是对学生动手能力的培养没有到位,以至于部分同学对《C语言程序设计》的学习还停留在“纸上谈兵”的阶段;二是对学生自主学习能力的培养没有到位,以至于涉及讲授范围之外的问题学生就不知从何入手。计算机技术的发展日新月异,如果没有自主学习的能力,无论在学校里学习的技术有多么流行,也很难保证其在明天能找到工作或是在未来的工作中不被淘汰。

高等职业教育是培养面向生产、建设、管理、服务第一线需要的“下得去、留得住、用得上”,实践能力强、具有良好职业道德的高技能人才,强调高职教学情境的真实性,让学生参与一定实际生产或在接近实际生产的环境中学习,对培养学生的职业素质,加强学生对职业岗位的认识和理解有非常重要的作用,同时对学生个体职业能力的终身发展也有十分重要的意义。学生在真实的职业情境中建构知识、能力,易于形成在工作中不断学习的能力和习惯。同时,职业教育的性质决定了在实际教学工作中,教师不但要注重知识的传授,更要注重培养学生的职业技能和学习态度,它要求教师应充分运用各种学习资源,发挥学生的学习主动性,要让学生有多种机会在不同的情境下去应用他们所学的知识,给学生以最大的发展空间。因此,建构主义理论对职业教育具有极其重要的指导意义。

1建构主义理论

建构主义认为,知识不是通过教师传授得到,而是学习者在一定的情境即社会文化背景下,借助他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构的方式而获得。

建构主义学习理论提倡教师指导下的、以学生为中心的学习。建构主义学习环境包含情境、协作、会话和意义建构四大要素。四大要素结合起来帮助学生建立对当前所学内容的认知结构。建构主义认为,学是与一定的社会文化背景即“情境”相联系的。在实际情况下或接近实际的情境下,学习者利用自己原有认知结构中的有关知识与经验去同化当前学习的新知识,并赋予新知识以某种意义。

我们可以将与建构主义学习理论以及建构主义学习环境相适应的教学模式概括为:“以学生为中心,在整个教学过程中由教师起组织者、指导者、帮助者和促进者的作用,利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和首创精神,最终达到使学生有效地实现对当前所学知识的意义建构的目的。”[1]

2建构主义学习环境下的教学设计原则

2.1强调以学生为中心

如何体现以学生为中心,建构主义认为可以从三个方面努力:

1)要在学习过程中充分发挥学生的主动性,要能体现出学生的首创精神;

2)要让学生有多种机会在不同的情境下去应用他们所学的知识(将知识“外化”);

3)要让学生能根据自身行动的反馈信息来形成对客观事物的认识和解决实际问题的方法(实现自我反馈)。

以上三点,即发挥首创精神、将知识外化和实现自我反馈可以说是体现以学生为中心的三个要素。

在高职《C/C++程序设计》的学习过程中,教师针对某一具体问题布置任务,为能体现学生创造精神,应鼓励学生采用多种方法;应鼓励学生组织参加各种协会、兴趣小组、参加各种比赛、协助教师科研、校外实习等,使所学知识在多种情境下得以应用,将知识“外化”;建立各种情境下的信息反馈渠道,使学生能够及时得到自身活动的反馈信息。

2.2强调“情境”对意义建构的重要作用

在《C语言程序设计》的教学过程中,实际情境下的学习,能使学生更加深刻地理解所学知识的意义,并容易看到自己的劳动成果,从而激发学习的动力和兴趣,提高学习的效率。

2.3强调“协作学习”对意义建构的关键作用

学生们在教师的组织和引导下一起讨论和交流,共同建立起学习群体。在群体中,允许观点和方法的碰撞和交锋,但最终需要群体成员的配合和支持,才能完成一个具体的任务。这样的协作学习对培养学生的团队精神起着关键性的作用。

2.4强调对学习环境(而非教学环境)的设计

学习环境是学生可以在其中进行自由探索和自主学习的场所。学生可以利用其中的各种工具和信息资源来达到自己学习的目标,这可以是生产性基地和创新实验室。

2.5强调利用各种信息资源来支持“学”(而非支持“教”),建立教学资源库

在学习过程中为学习者提供各种信息资源(包括各种教学媒体和资料),以支持学习者主动探索和完成意义建构。

2.6强调学习过程的最终目的是完成意义建构(而非完成教学目标)

在建构主义学习环境中,学生是认知主体,是意义的主动建构者。

3《C语言程序设计》教学设计

根据以上分析,我们认为建构主义学习环境下的教学设计应当包含下列内容与步骤。

3.1教学目标分析

建构主义教学设计中学生是学习的主体,通过《C语言程序设计》课程的各学习情境教学目标分析,确定当前学生学习的主题(即确定与基本概念、语法以及程序设计有关的知识内容),即学生主动建构意义的对象。这是教学设计面临的首要任务[1]。

《C语言程序设计》课程目标为:培养编程思想,熟悉基本程序设计方法;能更好地利用程序设计思想解决本专业领域中的问题;将程序设计方法用于后续计算机语言课程的学习中,为其他相关课程奠定基础。

3.2学习任务设计

建构主义所阐述的学习就是基于真实问题情景下的探索、学习的过程,就是解决实际问题的过程,问题构成了建构主义学习的核心。与客观主义不同,建构主义用问题来驱动学习,而不象原来那样充当概念、原理的例子,学习是为了解决问题,而不是把解决问题看成是学习的应用[2]。

《C语言程序设计》采用“以培养职业能力为核心,以工作实践为主线,以项目为载体,用任务进行驱动”的教学方法。以项目“超市信息管理系统”为主线,贯穿顺序、选择、循环结构和数组、指针等所有章节中,课程教学具有连贯性。同时结合现场提供实际项目案例(子项目)组织教学。教学过程中,通过案例导入,任务驱动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,在完成“任务”的过程中,培养学生分析问题、解决问题以及用计算机处理信息的能力,完成课程设计和教学训练的全过程。使学生体会到知识的实用性,提高学习兴趣。

3.3学习情境设计

学习情景指为学生提供一个完整、真实的问题背景,以此为支撑物启动教学,使学生产生学习的需要;同时支撑物的表征、视觉本质又促进了学习共同体中成员间的互动、交流,即合作学习,驱动学习者进行自主学习,从而达到主动建构知识意义的目的[3]。

在《C语言程序设计》教学实施中,将实际问题或企业实际开发项目(子项目)“超市信息管理系统”引入课堂教学,进行适当简化处理,作为教学和实验实训项目。根据课程内容和工作过程,结合学生特点,采用任务驱动、项目教学、讲练结合等教学手段,把工作项目开发过程的工作环节及任务穿插于各个知识点的学习中,设计出9个学习情境。

1)商品销售价格计算——C语言程序设计基础;

2)商品销售价格输入输出界面设计——顺序结构程序设计;

3)商品销售价格数据有效性检查——选择结构程序设计;

4)商品销售价格统计分析——循环结构程序设计;

5)商品价格排序、菜单设计——数组;

6)商品价格排序——用函数根据条件排序;

7)商品价格排序——用指针优化排序;

8)商品销售价格记录定义和数据处理——结构体和联合体;

9)商品销售价格及数据的保存——文件的读写(选讲)。

3.4信息资源设计

确定与本次任务完成相关的信息资源。确定所需信息资源的种类和每种资源在完成本次任务的过程中所起的作用。对于应从何处获取有关的信息资源,如何去获取以及如何有效地利用这些资源等问题,如果学生确实有困难,教师应给以适当的帮助。

信息资源是指提供与问题解决有关的各种信息资源(包括文本、图形、声音、视频和动画等)各种有关资源。学生自主学习、意义建构是在大量信息的基础之上进行的,所以必须在学习情景中嵌入大量的信息。丰富的学习资源是建构主义学习的一个必不可少的条件。另外还要注意怎样才能从大量信息中找寻有用信息避免信息污染,因此教学设计中要建立系统的信息资源库(或使用现有的资源管理系统),提供引导学生正确使用搜索引擎的方法[4]。

3.5自主学习设计

自主学习是让学生进行自我学习、自我探究的学习方式。其核心是发挥学生学习的主动性、积极性,充分体现学生的认知主体作用,其重点是如何帮助学生“学”。自主学习策略的设计是整个以学为主教学设计的核心内容之一,在以学为主的建构主义学习环境中常用的教学策略有“支架式教学策略”、“抛锚式教学策略”和“随机进入教学策略”。不管使用何种教学策略,在“自主学习设计”中均应充分考虑:

1)在学习过程中充分发挥学生的主动性,要能体现出学生的首创精神;

2)让学生有多种机会在不同的情境下去应用他们所学的知识;

3)让学生能根据自身行动的反馈信息来形成对客观事物的认识和解决实际问题的方案。

3.6协作学习环境设计

在个人自主学习的基础上开展小组讨论、协商,以进一步完善和深化对主题的意义建构。整个协作学习过程均由教师组织引导,讨论的问题可由师生根据教学内容,联系生活实际提出,在教师的指导下通过个人、小组搜集材料、提取信息、处理信息、合作研究、探索解决问题的学习方式,为学生提供一个交流、合作、探索、发展的平台[5]。

3.7考试考核方法改革

建构主义学习强调学习过程的最终目的是完成意义建构而非完成教学目标。在对学生进行能力评价时,要根据目标多元、方式多样、注重过程的评价原则,综合运用观察、测验、操作、作品展示、项目设计、论文答辩、自评与互评等多种评价方式。评价要体现:突出能力本位;重视对原有学习能力的认可;个性化评价;强调创新能力的评价。

本课程注重学生实践能力的培养,成绩评定注重对学生学习过程的评价,即通过更多地关注学生的学习过程,用发展的眼光评价学生,更好地体现评价的激励功能,促进学生主动学习。

本课程对传统试卷的考试方式进行改革,不但要考学生的知识水平,更要注重对学生学习能力、知识应用能力、分析能力、实际操作能力的考评。建议的考评标准为:理论占30%,实践技能占70%。实践技能包括:单项技能训练(占40分),综合技能训练(占30分)。理论部分考试采取闭卷方式,实践技能考试由平时上机成绩、单元技能训练上交作品成绩、综合技能训练上交作品成绩及最终总评的考核方式组成。

[参考文献]

[1]何克抗.建构主义——革新传统教学的理论基础[J].学科教育,1998,(3):21-24.

[2]张长海.以程序设计为主线讲授“高级语言程序设计”课[J].计算机教育,2005,(5):9-21.

[3]余胜泉.基于建构主义的教学设计模式[J].电化教育研究,2000,(12):7-13.

[4]郎永清.以建构主义教学模式推进素质教育[J].中国教育报,2007-12-24(6).

[5]郝长胜,贾茹.运用建构主义理论构建程序设计基础的新型教学结构[J].计算机教育,2007,(2):23-25.