程序设计课程教学方法探讨

时间:2022-09-26 03:09:30

程序设计课程教学方法探讨

摘要:该文着眼于高校非计算机专业程序设计课程的现状,分析了目前程序设计课程存在的问题,从改变传统教学模式、建立合理考核方式和培养学生良好学习习惯等方面提出几点课程改革思考。

关键词:非计算机专业;程序设计课程;课程改革

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)11-2571-03

A Discussion of the Teaching Reform in Computer Programming Courses

ZHOU Lei

(School of Computer Science and Engineering, Changshu Institute of Technology, Changshu 215500, China)

Abstract: The article studies on the situation of the Computer Programming Courses for Non- computer majors in higher education and analyzes its current problems .Then it introduces a few teaching reforms from such aspects as changing traditional teaching mode , Establishing the reasonable examining mode and training the students’good learning habits.

Key words: non- computer majors; programming courses; teaching reform

1概述

在当今的信息时代,掌握计算机基本技能是每个大学生参与社会竞争所必须具备的条件之一。很多高校对非计算机专业的学生开设了程序设计课程,旨在学生具备程序设计思想,掌握分析和解决问题的能力,能用计算机这个工具处理本专业领域的具体问题。笔者在高校从事多年的程序设计课程教学,根据切身经验,对目前课程教学的现状做了分析,针对教育方法的改进提出自己几点思考。

2高校程序设计课程的现状及存在的问题

Visual Basic(以下简称VB)是一种入门简单的高级程序语言,对初学者相对来说容易上手。鉴于简单易学和实践性强等特点,很多高校选其作为非计算机专业学生必修的一门程序设计课程。笔者所在高校针对非计算机专业的所有理工科学生,在大学一年级的第二学期均开设了VB程序设计课程。在教学过程中,发现存在以下几个问题:

2.1新生程序开发基础薄弱

高校入学的部分新生,在高中时段接受过程序设计课程,但由于没有重视,入校后知识均已遗忘;还有部分没接受过程序课程,甚至高中时期的文科学生基础就更差了。新生授课时,接触到“类、对象”以及“属性、事件、方法”等概念时,显得很茫然,对程序设计的逻辑思维更是难以理解。这种情况对学生造成课程恐惧感,一开始就退缩了,打击了学生的学习积极性。

2.2大班授课教师难以兼顾

目前高校由于新生人数增加,相应的基础教育软硬件资源有限,很多基础课都安排大班授课。一个教师面对70-80位学生,授课的质量受到一定影响,教师难以顾及这么多学生的需求。学生多了,课堂的互动交流相对每个学生就少了,教师对每个学生的了解程序降低,影响教学质量。学生多了,不认真听讲的学生也相应多了,影响课堂的教学气氛。

2.3学生自身缺乏学习目的积极性差

学习是个师生互动的过程,教师“授”的同时,还得看学生的主动“接”。而如今的大学生在学习方法上存在很大问题:首先,入学的新生,刚从疲惫的高中生活中解放出来,整个人处于松懈状态,对于刚接触到的新课程会有一定的好奇心,但随着学习过程中困难的屡屡出现,很多学生会打退堂鼓。而程序设计课程恰是这样一门“渐入佳境”的课程,入门有点难,很多学生在感到有趣之前就提前放弃了;其次,入校的新生,对自己的专业了解不深,个人人生观还没建立,对学习和未来的生活充满茫然,缺乏学习目的,不清楚学习课程的目的;最后,学生缺乏科学的学习方法,缺少学习的主动性。学生习惯了高中时的“被灌”,学习是在教师或家长的严加看管和引导下完成,极其缺乏学习的主动性,学习依赖型强。在实验课的时候,有些学生很喜欢提问,遇到问题就找教师,同样的错误屡次出现,这是一种不思考的“懒人”提问法。教师鼓励学生提问,但是自身思考的基础上提问,这样的学生才能真正的学到知识。

2.4高校软硬件资源有待提高

随着高校扩招学生人数增多,部分高校的硬件资源相对匮乏。实验课会遇到两个独立班一起上课的尴尬情况,这对教师的授课指导有一定影响;同时,实验室的开放时间由于授课增多,留给学生自由上机的时间就少了,不利于学生的自我学习。软件方面由于学生在变,教师的授课方式也必须要变,这方面教师也应该从自身做更多的思考,新教师缺乏经验,而部分多年授课的教师守着经验不变,这些情况都需要我们改进。

3高校程序设计课程的几点思考

3.1增强高校的软硬件资源

高校的软硬件资源一定要跟得上学生人数的增加。硬件方面:多媒体教室和实验室的数量要增多,满足单班独立授课的需求,提供学生良好的学习环境。软件方面:担任程序设计课程的教师要固定时间交流经验,谈谈教学遇到的新问题,分析教学方法,集思广益集体备课;教师之间互相听课,取长补短,讨论知识重点难点的讲解方式,共同准备试题库。通过这些集体活动,增进教师间的交流,以集体的力量推进教学质量的提高。

3.2分层次授课适应学生不同需求

针对入学新生基础差异大的问题,可以考虑分层次教学。开学第一个月,全校所有非计算机专业的学生可以进不同的教室,尝试不同的授课方式,选出最适合自己的教师。一个月后,集体考试划分层次,根据学生的考试情况和自主选择情况,为学生重新分班。这种打破学生既定专业班级,为学生重新分班的方法,能满足学生需求,也能使教师更有针对性的授课。

3.3改变传统教学模式

程序设计课程的授课内容很多,从界面、控件到函数和编程,这一系列的知识对一个刚接触逻辑编程的学生来说确实有一定的困难。很多教师在授课的时候,依据书本的目录结构以界面控件的介绍作为第一课,讲解“对象与类”、“属性、方法、事件”的概念,学生还未接触编程,对这类知识的掌握太模糊很难理解,容易打击学生的学习兴趣和学习积极性,让学生对程序设计课程望而生畏。

笔者认为教师的授课可以打破书本结构,灵活组织教学:

1)第一课很重要:程序设计课程的第一堂课很重要,教师要抛开沉闷的概念介绍,先举几个有趣的例子,例如:“拍皮球”游戏,窗体上放一个漂亮的红色篮球,用户单击一下,篮球开始跳动,在学生还感觉有趣的时候就可以顺势介绍实体的三要素“属性、方法、事件”概念。接着可以再举一些例子,让学生自己分析实体三要素。

2)案例法贯穿:授课的时候,不要直白的抛出知识点,可以结合现实生活中的案例和学生一起分析解决方法,循序渐进的引出知识点,这样也能培养学生的逻辑思维能力。抛出问题的时候,引导学生先不要考虑程序如何执行,而是想想现实生活中会怎么解决,例如:授课期间,教师会不定期做一些作业或测试,测试的结果分析就能作为一个案例推出程序设计结构中“顺序、分支、循环”的知识点。“求全班总分”对应“FOR循环”、“求90分以上的人数”对应“DO循环”、“分别求男生与女生的平均分”对应“IF分支语句”、“求各分数段的人数”对应“CASE语句”,学生在好奇结果的同时学到了知识点。

3)任务驱动:整个学期的授课过程,教师结合知识点不定期布置任务,任务的难度由简至难,要求学生在课后分析解决方法,课堂简单讨论学生的方案,最终由教师结合知识点一起完成任务。这种方法能提高学生的学习兴趣,让学生参与教学过程,一旦方案被选中,学生会很有成就感。

3.4建立合理的考核方式

一门课程的考核方式会影响学生的学习偏向。程序设计课程是一门理论与动手相结合的课程,考核方式应该分理论考试和上机考试两个部分,理论考试考核学生的基础知识和逻辑思维,上机考试考核学生的实际解决问题能力。同时,考核的结果不应该太偏重于一次期末考试,平时的分阶段考核也很重要,也应该成为最终考核的组成部分,并且分值不能太少,这样能督促学生重视平时点点滴滴的知识点学习。

3.5引导学生养成良好的学习

纵观以上几点,都是从客观和教师的角度来谈课程授课,而学习关键还应该是学生。一个学生能主动学习,一切都能迎刃而解。因此,培养学生良好的学习习惯很重要,而教师能做的就是适当的引导。上课提供各种机会让学生参与授课,增加互动,让学生处于思考状态;课后布置适量的作业,让学生不会太忙却需要花点时间复习、预习;课堂考核学生的课后准备情况,让学生对自己的付出有成就感。

学生分组学习效果很好:学生的基础毕竟有差异,同样的任务,有学生觉得太简单,而有学生觉得难以应付,笔者考虑可以将这些学生组合起来。在开学一个月左右,教师对学生有了一定的了解,可以将全班学生分组,不同情况的学生做一个组合共同完成任务。挑选优秀的学生做组长,负责任务的分配和整个完成流程,这些学生在课后和实验课都作为一个整体一起学习,提高了学习积极性,增加了参与感与成就感,大家共同进步。

4结束语

程序设计课程对于初学者来说确实具有一定的难度。重视课程的第一课,给学生更多的课堂互动机会,让学生参与课程的教学对开展课程授课非常重要。高校的计算机课程任重而道远,让我们继续实践和总结,共同推进课程改革。

参考文献:

[1]黄刚,乔淑云.“分层、分组、互动”教学法在非计算机专业VB教学中的应用[J].计算机教育,2011(23):54-57.

[2]陈丽花.非计算机专业《计算机程序设计基础》课程教学研究改革研究[J].教学实践研究,2010(3):175-176.

[3]孙振楠.面向初学者Visual Basic教学方法探讨[J].电脑知识与技术,2011,7(33):8258-8259.

[4]张春英,刘凤春.基于项目开发教学法的Visual Basic程序设计教学模式的研究[J] .计算机教育,2010(5):105-107.

上一篇:基于粗糙集和概念格的异常基因检测 下一篇:一种结合文档频率和互信息的特征项提取方法