编辑:sx_zhangjh
2014-11-04
探索研究性教学在高校计算机程序课程
精品学习网为大家收集整理了研究性教学在高校计算机程序课程,供大家参考,希望对大家有所帮助!!!
研究性教学是在教学过程中创设类似科学研究的情景,让学生在探索、思考和实践的过程中吸收知识、应用知识、分析问题、解决问题,提高学生的素质,培养学生创造能力和创新精神的教学模式[1]。
计算机程序设计,作为现今理工科大学生的必修课,天然具有重创新、重实践的课程特点。编写程序的目的是为了满足各种各样的需求,注重效率和用户体验。“成为编程高手至少要写十万行代码”,已是业内的一种普遍说法。所以,我们将研究性教学改革应用于计算机程序设计课程,其目的正是希望培养学生的学习兴趣和创新思维,培养学生分析解决问题的能力,让学生在扎实掌握基础知识的同时,培养其实际操作能力[2-3]。
1 教学改革的方案和手段
1.1 三个阶段的区分
在多种计算机语言中C语言因其应用领域的广泛,其程序设计系列课程已成为高等院校开设最广泛的程序设计课程,特别是非计算机专业的理工科学生,绝大多数都是学习C系列语言[4]。
由我们从事C语言系列课程的教学实践,根据程序设计的特点和方法不同,可分为三个阶段或层次:1)基础C语言语法和算法;2)C++面向对象编程;3)可视化、框架编程阶段。这三个阶段的划分,不仅是难度的逐步提高,更重要的是编程思维的不同。所以在实施研究性教学的时候,需区别对待。
C基本语法学习阶段,是面向过程的编程思维,而C++是面向对象的。第三阶段的VC++编程,虽然也是属于面向对象,但对学生来说,基于框架的可视化编程,从形式上又是一个大的突破。除了C语言课程体系,其它的许多计算机编程语言,也同样面临这三个方面的理解和学习。
1.2 研究性教学的内容安排和组织形式
在第一个阶段,由于面向的是零基础的学生,所以基础的语法仍然以课堂老师讲解为主。研究性教学体现在:当学生有一定编程基础以后,由老师选取合适的课题,让学生课后充分思考,再在课堂上讨论和比较。例如排序、查找、递归,都是比较适合运用上述教学方法的知识单元。特别要说的是,在教学过程中,凡涉及算法的内容,都鼓励学生采用伪代码描述,这样更能让学生明确算法和编程语言之间的区别和联系。
到学习面向对象编程的第二个阶段,大多数学生都会遇到理解上的障碍。笔者采取循序渐进、逐步深入的教学策略。首先通过事例和程序的讲解,让学生了解类与对象的概念以及它们在程序中的使用方法。后期采用研究性教学,老师和学生一起,努力探究种种语法现象的原理,布置学生查阅资料,并动手上机调试验证,最后以总结汇报的形式提交结论。
在这一阶段的学习过程中,学生对计算机程序的运做机制会有更加深入的认识。例如内存的分配机制、编译器所承担的角色等等,这些知识也是编写高效安全的程序代码所必须要求掌握的。笔者也尝试在学习C语言之初就“一步到位”的讲解这些原理性的内容,但通过比较发现,效果不如现行的教学方式。
研究性教学的第三阶段的本文由论文联盟http://wWw.LWlM.com收集整理任务是利用可视化编程环境编写具有良好用户界面的计算机软件。这部分内容的特点是:理论上,涉及的知识比较深奥,例如界面编程、消息和事件等;但另一方面,采用可视化的编程方法,特别是使用编程框架(例如MFC),能够大大降低软件编写的难度。基于此,本阶段的教学主要采取例程学习、任务驱动的模式。
先由教师选取典型的例程,让学生上机模仿,教师对各种编程部件做功能介绍,并对原理做一些简单讲解。等学生掌握基本的编程要素,便可由教师布置任务,交学生完成,并鼓励学生根据所学,自己提出任务设想。教学形式上主要采取分组分工,团队合作的模式,以完成任务的情况为最终的考核依据。从某种意义上说,这样的教学方式恰恰符合现代软件工程的基本思想。
标签:其它计算机论文
精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。