基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用

上传人:E**** 文档编号:118102662 上传时间:2019-12-11 格式:PDF 页数:3 大小:232.74KB
返回 下载 相关 举报
基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用_第1页
第1页 / 共3页
基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用_第2页
第2页 / 共3页
基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用》由会员分享,可在线阅读,更多相关《基于“任务驱动”的建构主义学习理论在c语言程序设计教学中的应用(3页珍藏版)》请在金锄头文库上搜索。

1、 f薰 基于“ 任务驱动 的建构主义学习理论在 C语言 程序设计教学中的应用 李艳红 ( 云南省普洱市普洱学院计科系 云南普洱6 6 5 0 0 0 ) 【 摘 要 】 : 本文针对学生当前对C语言的学习现状及存在问题, 结合实际的教学实践, 提 出将将 基于“ 任务驱动” 的建构主义学习理论应用于 c语言的 日常的实际教学_3 - 作中, 阐述了基于“ 任务驱 动” 的建构主义学习理论在 C语 言的理论和实践教学中的具体应用和优势。 【 关键字】 : 建构主义 任务驱动 意义建构 C语言是国 内外使用最广泛 的计算机程序设计 语言之一。它 同时具有高级语 言和汇编语言的特 点。 既可作为系统

2、设计语 言,也可作为应用程序设计语 言。它具有功能强大、 数据处理能力强 、 使用灵活方 便 、 可移植性好、 数据类型方便、 语法限制不太严格和 程序设计 自由度大等特点。因此 ,C语言的应用范围 广泛, 是适用于计算机及非计算机专业的一门理论性 和实践性相结合 的基础性课程。 但是 C语言 的概念复 杂、 语法规则繁多、 自由度大且容 易出错及学习枯燥 等特点, 在 日常的教学中使用传 统的教学方法难 以达 到理想的教学效果 。 我国传统教育的 目标着重于知识的传递 , 忽视了 学生学习能力的培养 , 但是 C语言的实践性较强 , 其 教学 目标是使学生能够编写基本程序代码 , 培养 良好

3、 的程序设计 思想 , 为 以后的学习打下基础, 因此需要 注重学生动手能力的培养。 传统教学方式在 C语言的 教学中常 出现 以下的 问题 : “ 教师讲 , 学生听” 这种授 课方式 , 使学生感到枯燥乏味 , 失去了对知识的兴趣 , 从而也失去了 自主学习的积极主动性; 课堂上接受 了 很多理论知识, 但面对计算机却无从下手, 理论与实践 动手能力相脱节。 这些 问题 的出现导致了学生对 C语 言 的学习效率低下 , 学习 比较死板 , 难 以解决学习过 程 中出现的新问题。因此在教学中应当采取适当的教 学方式方法来激发学生学习的主动性,加深对相应知 识点的理解 以取得 良好的教学 目标

4、 。 将基于建构主义 学 习理论的任务驱动教学法, 灵活应用于 C语言程序 设计的教学 中, 可 以充分调动学生的学习能动性、 创造 性, 提高学生的 自学能力, 培养学生的实践动手能力和 自主分析、 解 决问题的能力 。 建构主义认为, 知识不 1 6 4 福建电脑 1 2 0 1 3 年 第5 期 是 由教师传授获得的, 而是学生 自己在一定的社会环 境下, 基于 已有知识, 借助他人的帮助 ( 如: 教师的指 导) , 主动形成对新知识的认知过程。教学是学生对知 识的处理和转换而不是教师的传递。学习是学生在教 师 的指导下主动收集 、 加工信 息, 实现知识 的意义建 构 , 而非传授和

5、灌输。建构主义要求教师在教学中需 要创建适合的教学情境 , 加深新 旧知识、 理论与实践 的联系, 实现知识的意义建构。同时激发学生的学习 积极性、 组织协作性。因此, 教师应采取启发式教学, 让学生主动收集信息和资料 , 将 当前 问题与已有知识 相联系, 在解决问题的过程中进一步加深对知识的理 解, 并发现新问题, 从而实现知识 的意义建构。 C语言 的语法规则 比较繁多 ,学 习起来 比较枯 燥, 而且有些规则有别于我们的思维习惯 。因此 , 在 C 语言的教学过程 中, 通过设置一些简单 的驱动式试验 任务 , 在学生 已有的知识基础上 , 引导学生积极思考 进行程序 的编 写,在编写

6、程序 的过程 中主动 发现 问 题 , 在解决 问题 的过程 中巩 固已学知识, 同时也发现 并学习一些新知识, 从而实现知识的意义建构。 一 、输入、 输出函数 : 在 C语言 中有 g e t c h a r 、 p r i n t f两个 输 入 函 数和 p u t c h a r 、 s c a n f 两个输出函数,但是每个函数的使用格 式及相应繁杂的语法规则难于记忆 , 因此使用以下简 短程序段来进一步加深对相应知识的记忆和理解 , 并 学习新的知识点。教师先给出以下一个简单的程序编 写题题 目: “ 使用 g e t c h a r 输入三个字符, 用 p r i n t f

7、输 出 这些字符” 。 在编 写该程 序之前 学生 已学习 了 g e t c h a r 、 p r i n t f 两个输入 函数和 p u t c h a r 、 s c a n f 两个输 出函数 的基本 。 一一一一 一 一一 一 一 一 璺 一 语法格式及简单的使用方法, 但对其使用过程中的应 该注 意的相关事项还未 曾提及 。该程序 的主体语句 为 : “ a = g e t c h a r ( ) ; b = g e t c h a r O ; c = g e t c h a r ; ” “ p r i n t f ( c c c ” , a , b , c ) ; ” 。编写

8、该程序对于 已有一定基础 的学生 并无太大 问题 , 但 在运行该程序过程 中, 学生输入的 字符一般如 : d e f , 输 出的结果为 : d e f , 是我们所期望的 结果。但 由于学生也学习了 s c a n f 输入函数 的输入方 法, 所 以也有一部分学生会输入 以下字符如 : d e f ( 中 间有空格) , 输 出结果 为: d e ( 中间有 空格) , a得到字 符 d , b得到空格 , C得到字符 e ; 这并不是我们所预期 的结果。 由此 引导学生学习新 的知识:使用 g e t c h a r函数 接受输入字符时, 多个字符之 间不需要使用空格来作 间隔 ,

9、如果使用空格 , 也会将 空格作为字符赋值给相 应 的变量 。同时学生也进一步理解 了其所 学 习的知 识: g e t c h a r 函数一次只能输入一个字符,当需要输入 三个字符时就需要使用三次 g e t c h a r ;而 p r i n t f 函数一 次可 以输 出多个字符,但是输 出字符需要使用c格 式 , 而c格式一次只输出一个字符 。 为进一步加深学生对输入输 出函数知 识的学习 与理解 , 再给 出另一个简单的程序编写题题 目: “ 使用 s c a n f 输入三个数据, 用 p r i n t f 输 出” 。该程序 的主体语 句 为: “ s c a n f (

10、d d d ” , &a , & b , & c ) ; ” , “p r i n t f ( d d d , a , b , c ) ; ” 。该简单程序的编写对于 已有一定基础 的学 生而言也无太大 问题 , 但在运行该程序 时, 大多 数学生的输入为: 1 2 3 ( 中间有空格) , 输出为: 1 2 3 , 是 我们想要的结果。但也有学生会与 g e t c h a r 函数的输 入相混淆, 于是输入如: 1 2 3后按下 e n t e r 键 , 等待输出 结果时, 却始终等不到结果的输 出。由此巩 固已学知 识点: 在使用 s c a n f 函数输入时, 两个数据之间必须用

11、一 个或多个空格 、 e n t e r 键或者 t a b键来作 为间隔, 否 则计算机则认为一个还未输入第二个数据 。 在这里虽 然输入 1 2 3 ,我们认为 已经 已经输入了 1 、 2和 3三个 数据 , 但计算机却只认为输入 了 1 2 3一个数据 。 比较前面所编写两个程序, 学生进一步的加深 了 对输入输 出函数的使用语法规则的认识和理解 。学生 也在实践的过程 中产生错误 、 发现 问题 , 最终在解决 问题的过程 中进一步 的加深 了对知识的理解和新知 识的学习。实现了学生 自主发现、 分析和解决问题 , 以 学生为主 导, 学生 自主运用 已经知识 , 实现对新知识 的意

12、义建构。 二、 浮点型数据 的精度 : C语 言中常用 的浮 点型变 量有单精度和双精度 两种 , 但 它们 的精度位数却是不一样 的, 可是单纯 的 理论讲解显得枯燥乏味, 而且与人类 的一般思维方式 不 同, 学生难 以接受和理解 , 所 以教师可 以使用一些 简单的编程题 目来引入知识的学习 , 使学生在实践的 过程中 自主学 习新 的知识 。在此之前, 学生 已经学习 了浮点型变量 的基本知识及其定义方法 , 但还 尚未学 习浮点型数据的精度知识 。因此教师引入 以下题 目: 定义 一个单精度 的变量 a并 为其 赋值 1 1 1 1 1 1 1 1 1 1 , 再 定 义 一 个 双

13、 精 度 的 变 量 b 并 为 其 赋 值 1 1 1 1 1 1 l 1 1 1 1 1 1 1 1 1 1 1 , 要求输出 a -, b的值。 学生运用 已有知识 , 便可以写 出该程序的主体语 句:“ fl o a t a ; d o u b l e b : ” , “ a = 1 1 1 1 1 1 1 1 1 1 ; b = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ; ” , “p r i n t f ( ” f n f n ” , a b ) : ” 。 我 们 所想要的结果是 : a的值 为 1 1 1 1 1 1 1 1 1 1 , b的值

14、为 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 。但运行 该程序得 到的结果却 是 : a的值 为 1 1 1 1 1 1 1 1 3 2 8 , b的值 为 1 1 1 1 1 1 1 1 1 1 1 , 并不是我们所预期和想要 的结果。由该例可 以看到: a 为单精度 , 该数 的输 出中只有前 7为是正确 的, 之 后 的都是错误 的; b为双精度, 其小数位只保留了 6位 。 由该实例,教师便可引导学生 自主进行总结, 并 学 习到新的知识点: 单精度 有效位数为 7位 , 而双精 度有效位数为 l 6 位 。 a 为单精度, 但整数 已有 5位 , 故 小

15、数两位之后均为无效数字 。 B为双精度, 但 T C小数 后最多保留 6位 , 其余部分均四舍五入。该知识点不 是 由教师讲解所得 , 而是学生 自主通过该实例 , 从 问 题的解决中自主发现所得。 三、 变量的初始化 : 学习了变量 的初始化知识之后, 当我们想要给不 同的变量赋相等的值 时, 由于我们 以前的所接受的教 育而形成的思维方式,我们会 自然地随着 自然思维, 认为直接赋值就可以了, 如 : a = b = c = 3 。由此我们引入 一 个 C语言的实例, a = b = c = 3并输出其结果 。在 已有 知识的基础上 ,学生很快 就能够写 出相应 的语句: “ i n t

16、a = b = c = 5 : ” , “ P r i n t f ( a = d b = d , c = d n ” , a , b , C 1 ; ” , 但在学生调试运行该程序时, 系统却始终有一个错误 提示信息, 所 以最终无法得到运行结果。因此 , 教师引 导学生将 a = b = c = 5使用 以前学习过 的单个赋值方法 进行 改写为: i n t a = 5 , b = 5 , c = 5 ; 则结果为: a = 5 , b = 5 , ( 3 - 5 。由此学生学习到新的知识点: 在定义中不允许连续 赋值 。究其原因: i n t a = b = c = 5还存在 b 、 C变量还未定 义却 已经在使用 ( 赋初值) 的问题 , 这与 C语言中所要 求 的变量 先定义 , 后使用 ” 的规则相悖。 四、 表达式的求

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号