论文部分内容阅读
摘要:传统的《C程序设计》教学方法存在很多不足,提出一种新的基于案例的教学方法。该方法采用“案例-理论和概念”的教学模式,具有突出实践性,体现真实性,实现互动性,发挥学生主体性等显著特点。案例设计是该方法的前提和基础,指出了设计案例时需注意的问题,并结合实例进行了说明。案例教学可极大提高学生学习的兴趣,增强学生在课堂上的参与感,改变原来课堂“满堂灌”现象,从而提高教学质量。
关键词:C程序设计;案例教学;认知负荷
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)17-21500-02
1 引言
C 语言是既得到美国国家标准化协会(ANSI)标准化又得到工业界广泛支持的计算机语言之一,几乎任何一种机型、任何一种操作系统都支持 C语言开发[1]。《C程序设计》是计算机、信息管理以及电子商务等专业的一门重要基础课,一旦掌握了C语言,就可以较为轻松地学习其它任何一种程序设计语言,为后续的《面向对象程序设计》、《数据结构》、《计算方法》等课程的学习打下基础。
目前,在传统的《C程序设计》课程的教学中,存在一些不足。首先,在教学方式上,教师利用多媒体讲解说明各个知识点,更多的只是注重教的过程,而忽然了非常重要的学生学的过程,教学缺乏直观性、生动性,教学效果不理想。其次,在教学内容上,C语言的内容繁多,在有限的课时内课本内容要面面俱到,必然会造成重点不突出,实用性不强等问题。另外,该课程一般在低年级开设,学生大部分初次接触程序设计,综合能力还比较弱。这些都使得教学质量不高,培养的学生分析、阅读、设计程序的能力不强。
2 案例教学
案例教学是目前国内外比较流行的一种教学方法,已被广泛应用于医学、法学、管理信息系统等教学中。所谓案例教学是指教师本着理论和实践有机整和的宗旨,依据教学目的和要求,以案例为基本素材,将学生引入一个特定的真实情景中,通过师生、生生之间双向和多向互动,积极参与,平等对话和探讨,重点培养学生的批判反思意识以及团体合作能力,并促使学生充分理解问题之复杂性、变化性和多样性等属性的教学方法[2-3]。
结合《C程序设计》课程体系本身特点,其案例教学具有以下特点:
1) 突出实践性:注重培养学生的实际操作能力、实践应用能力和创新能力。
2) 体现真实性:案例教学可缩短理论与实际应用之间的差距,是教学通向现实的一个桥梁,可使学生更快地适应以后的实际工作。
3) 实现互动性:案例教学是互动式教学,使学生的学习由被动接受知识变为主动探索。它训练的是决策艺术,锻炼学生以积极主动的心态解决问题,从而提高学生分析和解决问题的能力,提高学生的综合素质。案例教学把抽象的原理和概念具体化,把知识点置于一定的案例中,再采用启发式教学,将教师讲与学生课堂讨论有机结合起来,从而开阔学生思路、活跃课堂气氛、激发学生学习兴趣,有利于培养学生独立思考问题的能力。
4) 发挥学生主体性:案例教学主要目的是培养学生综合能力,在整个教学过程中,自始至终都以学生为主。学生自己分析案例,找出解决思路,写出解决方法,然后进行小组讨论或者班级讨论,最终确定解决方法。解决方法可以有多种,每个学生解决方法可能不同,所以案例教学拓宽了学生思路。教师创造机会让学生表达自己的思维,使学生形成富于压力的学习机制,有利于调动学生学习的积极性和主动性,使学生的能力在学习过程中得到锻炼和提高。
3 教学案例设计
传统的教学方法是“概念-理论-应用”教学模式,教师一般先讲解C语言语法规则,再举例说明应用,由于语法知识点非常繁多,学生在解决实际问题时很难掌握。而案例教学与传统的教学方法完全相反,采用“案例-理论和概念”的教学方法,教师先设计案例,然后由学生分析解决方法,教师由案例引出新的知识点,学生讨论解决方法,最后综合讨论结果,总结解决方案[4]。其中,组织好学生参加案例讨论是案例教学实施的一个关键,教师在这个环节担当着组织者、引导者、讲授者等多种角色。而经过学生讨论后,教师应该及时做出点评,肯定问题的多种解决方案,并讲授本案例中所需用到的理论知识和技能。在这里,我们只重点研究第一个环节,即案例设计,它是整个案例教学的前提和基础。
案例并不是简单的举例,它应该具有系统性、针对性、可实践性等特点,在设计案例时应注意如下几个问题:
3.1 难易合适
心理学中的认知负荷理论认为[5],问题解决或者学习过程中的各种认知活动均需消耗认知资源,若所有活动所需的资源总量超过了个体所具有的资源总量,则存在资源分配不足的问题,从而影响学习或者问题解决的效率,这就是认知负荷过重。所以案例设计应该符合当前阶段学生的认知水平,如果案例设置过于复杂,则会挫伤学生学习的积极性。例如在给学生讲解数据类型的数值范围时,由于这是本课程的开始内容,学生尚无任何基础,所以应该给学生设计简单的案例,可首先让学生分析如下程序的输出结果:
void main()
{
char c=129;
printf("c is %d\n",c);
}
教师在学生分析时要进行指导,如提示学生此程序是否正确,最后的结果是否是129等,并在经过学生讨论分析后,给出学生正确的结果-127。这个案例难易合适,并包括了很多知识点,如字符类型和整型数据的区别和联系,原码补码的转换,输入输出的控制字符等。
3.2 趣味性
认知负荷理论的核心观点是尽量降低因学习材料的组织和呈现方式所导致的无关的外部认知负荷,如果内在认知负荷很高,即学习的内容比较复杂困难,同时外在的认知负荷也很高,那么全部认知负荷将超过总的智力资源,学习可能失败。而在C程序设计中,语法知识点繁多,学生要学习的算法与要解决的实际问题交织在一起,它们在学生头脑中形成高水平的内在认知负荷,为了避免失败,选择的案例应贴近学生生活或者学习的兴趣点,减轻学生的外部认知负荷,从而使学生提高学习兴趣,加强理解能力。如在讲解运算符时,可让大家分析体育比赛的案例,即5位跳水高手参加10米高台跳水决赛,有好事者让5人据实力预测比赛结果。A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一。决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛的实际名次。这个案例对于爱好体育运动的学生有一定的趣味性,同时又考察了C语言中各种表达式和循环语句的使用等。
3.3 大小合适
小案例适用于平时基础知识的讲授,虽然案例应尽可能接近现实应用,但由于内容的限制,小案例与现实应用会有较大的差距,甚至可能没有任何应用价值。故应至少设计一个贯穿整个课程的大案例系统,学生在教师的指导下,每次完成该系统的一个模块或一部分,这样才能巩固基础知识,贯通课程内容,培养学生将基础知识结合起来解决复杂现实问题的能力。如学生成绩管理问题,能考察数据类型、数组、指针、排序、结构体等知识的综合运用。
4 总结
计算机及相关专业人员熟练掌握一门程序设计语言非常重要,但更重要的是具有编程思维能力和开发能力。本文提出的基于案例的程序设计教学,可极大提高学生学习的兴趣,增强学生在课堂上的参与感,改变原来课堂“满堂灌”现象,对培养学生的编程思维能力和提高他们的软件开发能力有很大的帮助。但这种教学方法有很多要求,如案例设计,因为目前普通本科学生接触实践较少,如何选择学生较为熟悉、又有一定实用价值的案例显得比较困难,同时,案例教学也给教师提出很多新的要求,尤其对于年轻教师来讲,如何做好案例教学的设计者和组织者,都需要再进一步探讨。
参考文献:
[1] 谭浩强. C程序设计(第3版)[M]. 北京:清华大学出版社,2005.
[2] 庄亚俊, 徐人凤, 聂哲. 印度NIIT模式在高职软件教育中的借鉴与深化[J]. 计算机教育,2006,(10).
[3] 陈建潮. 在程序设计课程中导入“案例式”教学方法[J]. 计算机教学,2007.(4).
[4] 李洛, 吴绍根. 基于印度培养模式的二年制高职软件人才培养思路[J]. 高教探索,2004,(2).
[5] 张慧. 认知负荷理论综述[J]. 教育研究与实现,1999,(4).
关键词:C程序设计;案例教学;认知负荷
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)17-21500-02
1 引言
C 语言是既得到美国国家标准化协会(ANSI)标准化又得到工业界广泛支持的计算机语言之一,几乎任何一种机型、任何一种操作系统都支持 C语言开发[1]。《C程序设计》是计算机、信息管理以及电子商务等专业的一门重要基础课,一旦掌握了C语言,就可以较为轻松地学习其它任何一种程序设计语言,为后续的《面向对象程序设计》、《数据结构》、《计算方法》等课程的学习打下基础。
目前,在传统的《C程序设计》课程的教学中,存在一些不足。首先,在教学方式上,教师利用多媒体讲解说明各个知识点,更多的只是注重教的过程,而忽然了非常重要的学生学的过程,教学缺乏直观性、生动性,教学效果不理想。其次,在教学内容上,C语言的内容繁多,在有限的课时内课本内容要面面俱到,必然会造成重点不突出,实用性不强等问题。另外,该课程一般在低年级开设,学生大部分初次接触程序设计,综合能力还比较弱。这些都使得教学质量不高,培养的学生分析、阅读、设计程序的能力不强。
2 案例教学
案例教学是目前国内外比较流行的一种教学方法,已被广泛应用于医学、法学、管理信息系统等教学中。所谓案例教学是指教师本着理论和实践有机整和的宗旨,依据教学目的和要求,以案例为基本素材,将学生引入一个特定的真实情景中,通过师生、生生之间双向和多向互动,积极参与,平等对话和探讨,重点培养学生的批判反思意识以及团体合作能力,并促使学生充分理解问题之复杂性、变化性和多样性等属性的教学方法[2-3]。
结合《C程序设计》课程体系本身特点,其案例教学具有以下特点:
1) 突出实践性:注重培养学生的实际操作能力、实践应用能力和创新能力。
2) 体现真实性:案例教学可缩短理论与实际应用之间的差距,是教学通向现实的一个桥梁,可使学生更快地适应以后的实际工作。
3) 实现互动性:案例教学是互动式教学,使学生的学习由被动接受知识变为主动探索。它训练的是决策艺术,锻炼学生以积极主动的心态解决问题,从而提高学生分析和解决问题的能力,提高学生的综合素质。案例教学把抽象的原理和概念具体化,把知识点置于一定的案例中,再采用启发式教学,将教师讲与学生课堂讨论有机结合起来,从而开阔学生思路、活跃课堂气氛、激发学生学习兴趣,有利于培养学生独立思考问题的能力。
4) 发挥学生主体性:案例教学主要目的是培养学生综合能力,在整个教学过程中,自始至终都以学生为主。学生自己分析案例,找出解决思路,写出解决方法,然后进行小组讨论或者班级讨论,最终确定解决方法。解决方法可以有多种,每个学生解决方法可能不同,所以案例教学拓宽了学生思路。教师创造机会让学生表达自己的思维,使学生形成富于压力的学习机制,有利于调动学生学习的积极性和主动性,使学生的能力在学习过程中得到锻炼和提高。
3 教学案例设计
传统的教学方法是“概念-理论-应用”教学模式,教师一般先讲解C语言语法规则,再举例说明应用,由于语法知识点非常繁多,学生在解决实际问题时很难掌握。而案例教学与传统的教学方法完全相反,采用“案例-理论和概念”的教学方法,教师先设计案例,然后由学生分析解决方法,教师由案例引出新的知识点,学生讨论解决方法,最后综合讨论结果,总结解决方案[4]。其中,组织好学生参加案例讨论是案例教学实施的一个关键,教师在这个环节担当着组织者、引导者、讲授者等多种角色。而经过学生讨论后,教师应该及时做出点评,肯定问题的多种解决方案,并讲授本案例中所需用到的理论知识和技能。在这里,我们只重点研究第一个环节,即案例设计,它是整个案例教学的前提和基础。
案例并不是简单的举例,它应该具有系统性、针对性、可实践性等特点,在设计案例时应注意如下几个问题:
3.1 难易合适
心理学中的认知负荷理论认为[5],问题解决或者学习过程中的各种认知活动均需消耗认知资源,若所有活动所需的资源总量超过了个体所具有的资源总量,则存在资源分配不足的问题,从而影响学习或者问题解决的效率,这就是认知负荷过重。所以案例设计应该符合当前阶段学生的认知水平,如果案例设置过于复杂,则会挫伤学生学习的积极性。例如在给学生讲解数据类型的数值范围时,由于这是本课程的开始内容,学生尚无任何基础,所以应该给学生设计简单的案例,可首先让学生分析如下程序的输出结果:
void main()
{
char c=129;
printf("c is %d\n",c);
}
教师在学生分析时要进行指导,如提示学生此程序是否正确,最后的结果是否是129等,并在经过学生讨论分析后,给出学生正确的结果-127。这个案例难易合适,并包括了很多知识点,如字符类型和整型数据的区别和联系,原码补码的转换,输入输出的控制字符等。
3.2 趣味性
认知负荷理论的核心观点是尽量降低因学习材料的组织和呈现方式所导致的无关的外部认知负荷,如果内在认知负荷很高,即学习的内容比较复杂困难,同时外在的认知负荷也很高,那么全部认知负荷将超过总的智力资源,学习可能失败。而在C程序设计中,语法知识点繁多,学生要学习的算法与要解决的实际问题交织在一起,它们在学生头脑中形成高水平的内在认知负荷,为了避免失败,选择的案例应贴近学生生活或者学习的兴趣点,减轻学生的外部认知负荷,从而使学生提高学习兴趣,加强理解能力。如在讲解运算符时,可让大家分析体育比赛的案例,即5位跳水高手参加10米高台跳水决赛,有好事者让5人据实力预测比赛结果。A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一。决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛的实际名次。这个案例对于爱好体育运动的学生有一定的趣味性,同时又考察了C语言中各种表达式和循环语句的使用等。
3.3 大小合适
小案例适用于平时基础知识的讲授,虽然案例应尽可能接近现实应用,但由于内容的限制,小案例与现实应用会有较大的差距,甚至可能没有任何应用价值。故应至少设计一个贯穿整个课程的大案例系统,学生在教师的指导下,每次完成该系统的一个模块或一部分,这样才能巩固基础知识,贯通课程内容,培养学生将基础知识结合起来解决复杂现实问题的能力。如学生成绩管理问题,能考察数据类型、数组、指针、排序、结构体等知识的综合运用。
4 总结
计算机及相关专业人员熟练掌握一门程序设计语言非常重要,但更重要的是具有编程思维能力和开发能力。本文提出的基于案例的程序设计教学,可极大提高学生学习的兴趣,增强学生在课堂上的参与感,改变原来课堂“满堂灌”现象,对培养学生的编程思维能力和提高他们的软件开发能力有很大的帮助。但这种教学方法有很多要求,如案例设计,因为目前普通本科学生接触实践较少,如何选择学生较为熟悉、又有一定实用价值的案例显得比较困难,同时,案例教学也给教师提出很多新的要求,尤其对于年轻教师来讲,如何做好案例教学的设计者和组织者,都需要再进一步探讨。
参考文献:
[1] 谭浩强. C程序设计(第3版)[M]. 北京:清华大学出版社,2005.
[2] 庄亚俊, 徐人凤, 聂哲. 印度NIIT模式在高职软件教育中的借鉴与深化[J]. 计算机教育,2006,(10).
[3] 陈建潮. 在程序设计课程中导入“案例式”教学方法[J]. 计算机教学,2007.(4).
[4] 李洛, 吴绍根. 基于印度培养模式的二年制高职软件人才培养思路[J]. 高教探索,2004,(2).
[5] 张慧. 认知负荷理论综述[J]. 教育研究与实现,1999,(4).