高级语言程序设计课程教学改革的研究

更新时间:2023-11-14 23:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

高级语言程序设计课程教学改革的研究

摘 要:本文从分析培养程序设计能力对计算机专业学生的重要性出发,总结了当前《高级语言程序设计》课程教学中存在的问题,并就教学、实践、考核和交流反馈四个环节分别提出了改革的方法和措施,并以此为基础研究设计了高级语言程序设计课程网站,为提高学生的程序设计能力提供平台。

关键词:高级语言程序设计;计算机专业;程序设计能力;网站 research on teaching reformation of high level language program design course

liu xia, liu zhi-ming, luo jiang-qin(school of computer science and technology, university of south china, hunan hengyang 421001)

【abstract】 this paper analyses the importance of training programming capability to students of computer major, summarizes the standing problem during the present teaching of high level language program design course, presents reform methods and measures from four links of teaching, practicing, testing and communicating. base on these research results, the high level language program design course website is studied and designed. it can provide a platform for improving the students’ programming capability.

【key words】high level language program design; computer major; programming capability; website 0 引 言

采用冯诺依曼体系结构的计算机依靠存储程序的原理以实现自动工作。程序对于计算机的重要性,决定了程序设计在计算机学科知识体系中处于核心地位。只有懂得程序设计,才能懂得计算机,才能真正了解计算机的工作过程。因此,对于计算机专业的学生来说学习程序设计语言,掌握程序设计方法,培养程序设计能力就成为其专业学习的主要目标。并且,程序设计能力对计算机专业的学生来说不仅是职业技能的培养,也体现着创造性思维的信息素质培养过程。程序设计正是有形表达抽象思维的方法,在程序设计过程中贯穿阅读判断、分析思考、工具利用、抽象表达、综合创造等多项技能,对计算机专业人才素质的培养至关重要[1]。

教育要面向市场需求[2]。《麦可思2008中国应届大学毕业生就业年度报告》中提供的数据显示:“计算机科学与技术”专业毕业时的工作落实率为52%,离校时掌握的工作能力仅为5l%。当前计算机类专业毕业生就业的残酷现状反映出大部分计算机专业学生(包括毕业生)缺乏实际程序设计能力,没有很好地掌握一门程序设计语言。

因此,如何提高学生的程序设计能力,培养出符合社会需要的计算机专业人才成为计算机学科教学的一个亟待解决的重要问题。

1 现状分析

《高级语言程序设计》是计算机类本科专业的核心基础必修课程。本课程以计算机科学导论为先修课程,主要介绍某种高级语言的语法和高级语言程序设计的概念、方法和思想。通过本课程的学习可以使学生掌握一门高级程序设计语言,掌握程序设计的方法,确立程序设计的思维方式,培养和提高学生的应用程序开发能力,并为数据结构,编译原理,操作系统和其他计算机程序设计语言等后续课程的学习打下基础。国内外凡是和程序设计相关的院系都开设了该门课程,《高级语言程序设计》已经成为世界级的计算机必修课程。

《高级语言程序设计》作为学生入校后接触到的第一门程序设计课程,可是说是大学四年中学生培养程序设计能力的起点,对后续各门课程的学习将产生深远的影响。本文以《高级语言程序设计》课程的教学为实例,总结当前课程教学中存在的问题和经验,研究探索在高级语言程序设计课程教学中提高学生程序设计能力的方法和途径。

对当前的《高级语言程序设计》课程教学进行分析,发现主要存在以下几方面问题:

(1)教学方面。《高级语言程序设计》课程的教学内容主要包括:数据类型、运算符、表达式、选择结构、循环结构、数组、函数和指针等。内容涉及知识面广,概念复杂,内容抽象,规则繁多,使

用灵活。尤其是作为学生入校后接触到的第一门程序设计课程,学生的程序设计思想尚未建立,导致该课程的入门难度较大,学生在学习的过程中容易产生畏难情绪。

程序设计课程传统的教学以语法教学为主,上机验证程序为辅,虽然利于许多学生对各分散知识点的入门学习,但学完之后要让他们应用相关知识来进行程序设计解决问题时往往不知从何下手。其原因就是当学生们深陷于在各个知识点语法细节的学习时,迷失了串起各个知识点的程序设计思想的主线,忽视了学生编程思维的建立和程序设计能力的培养。

目前高级语言程序设计的课程教学主要采用多媒体课件授课的方式。教师一边讲解教学内容,一边进行演示,再在微机实验室让学生按实验辅导书进行操作、练习。教师个别辅导,有时也针对主要问题进行集体讲解。这种“以教师为中心”的传统教学模式,虽有利于发挥教师的主导作用以及调控教学的组织管理和教学过程,却往往因为不能充分调动学生的积极性,造成学生缺乏学习兴趣。不利于学生自主创新能力的培养。

(2)实践方面。程序设计课程传统的教学实践通常是由老师布置题目,学生编写程序,由老师来评判程序的正确与否。这种形式的教学实践既缺乏激励机制,难以引起学生的兴趣;又因为需要人工评判程序,评判结果不及时且带有主观性。

(3)考核方式。目前,高级语言程序设计课程的考核方式由平时

成绩和考试成绩两部分组成。平时成绩主要考查学生的出勤和作业完成情况,占总评成绩30%的比重。期末考试占总评成绩70%的比重,采用笔试的形式,对上机实践考核缺乏。笔试试题基本上是以考语法规则与阅读程序等形式为主,这种形式单调的考核方式,缺乏综合性、科学性和系统性,无法从考试中充分反映学生解决问题的能力和实际的操作技能。这样会造成学生能读懂程序,一旦轮到自己实际编写程序时,就不知从何下手,更谈不上思考算法了。忽视了动手操作与应用能力的培养。

(4)交流反馈。在传统的教学方式中,以教师为主导,学生通常充当被动接受的角色。除非教师在课堂上提问学生回答,师生之间很少交流。由于《高级语言程序设计》作为计算机学院各专业的基础必修课,自高校扩展以来,多采用合班上课的形式,学生人数众多,教师无法兼顾所有同学。而对于大一的学生来说,《高级语言程序设计》无论在学习内容,还是思维方式上都是一门全新的课程。而且该课程的概念多、实践性强、涉及面广,对学生来说,在学习中很容易遇到问题。在交流有限的情况下,使得有些同学遇到问题不能及时解决,更造成后续学习的困难。 2 教学研究与改革 2.1 教学环节

对教学环节的改进包含两个方面:课堂内的教学和课堂外的教学。 对于课堂内的教学,针对重语法、轻算法的教学方法所存在的问

题,建议采用“提出问题—分析问题—引入新知识—解决问题—总结提高”这样一个循序渐进、交叉进行、螺旋式上升的教学模式。将课程内容分为若干个主题,通过每一个典型的、针对性强的、贴近现实的案例程序设计作为贯穿各主题的主线。这样既能在较大程度上避免枯燥的语法知识,又能引起学生的学习兴趣,从而接受和理解这些思想和方法。

对于课堂外的教学,构建高级语言程序设计课程网站教学平台,作为课堂教学的有效补充。课程网站教学平台教学资源丰富,提供经典算法(如选择、排序等)的 cai 动画课件,有利于学生理解重点和难点内容。提供课程信息栏、电子教案栏、课程资源栏、实验指导栏、答疑区、作业区、讨论区、测试区等数字化学习环境,可丰富学生课程学习的层面,使得启发式、任务驱动式、讨论式、参与式等多种教学模式成为教学的有力支撑,有力地提高了学生自主学习的能力。 2.2 实践环节

学生的程序设计能力主要依靠上机实践逐步培养出来的。编程不是看会的,不是听老师讲课听会的,而是学生自己通过上机实践练会的,可见实验教学的重要性。此外,有效的实践环节还可以激发学生的学习热情,进一步加强学生对理论知识的理解。 对实践环节教学的改进包含两个方面:课堂内的实践和课堂外的实践。

对于课堂内的教学实践,建议调整理论和实验课时的比例,应该至少 1∶0.5或实验课时占到更高的比例;其次,教师应该提前下发实验作业,要求学生上机前提前准备好调试内容,并对学生准备情况进行检查,提高上机效率;再次,每一次实验任务明确,要求学生在规定的时间内完成程序调试。

对于课堂外的教学实践,向学生提供在线评判(onlinejudge,简写为oj)网站,供学生课余时间进行在线实践,作为课堂内教学实践的有效补充。在线实践不同于传统的教学实践,它指由oj网站提供试题,学生在线提交程序,oj网站的在线评判系统实时反馈评判结果。这些试题具有趣味性、挑战性,而且评判过程和结果公正及时,能引起学生的极大兴趣。学生登录oj网站浏览题目,根据题目要求完成程序,并在oj上提交程序后,通过oj系统反馈回来的评判结果反复修改程序,一直到最终收获accept(程序正确)。这个过程不仅能培养学生独立分析问题、解决问题的能力,而且每成功解决一道题目都能给学生带来极大的成就感。 2.3 考核环节

课程的考核是督促学生学习、检测学生学习效果的有效手段。正确有效地考核不仅能准确获知学生的课程学习情况,也能帮助教师发现课程教学中的不足,从而能对教学方法进行更好的改进。 对考核环节的改进包含两个方面:平时成绩考核和期末考核。对于学生的平时成绩考核,除了传统的评价指标,如:考勤、作业等

外,还应综合考虑学生课外在课程网站教学平台上浏览课程网站、在线学习的效果、展示编程作品/提供编程巧妙方法的次数等因素;对于学生的期末考核,为改变传统笔试在考查学生上机实践方面的缺失,建议采用在线考试,可大大提高工作效率。考试成绩评定采用相对分数的方式给出,给出合理的分数比例段,突出学生在各个环节考核中的排序作用。这样做激励了学生之间的竞争,避免由于出题的深浅造成不合理的情况,学生的成绩具有横向可比性。 2.4 交流反馈环节

为了弥补课堂内师生交流、生生交流在时间上的局限性,可借助在高级语言程序设计课程网站教学平台上提供的两种方式:留言簿和论坛。教师与学生课外通过留言簿和论坛进行交流讨论,留言簿仅由教师回复学生问题,实现一对一的教学;而论坛则由任何注册用户进行多级回复,便于学习讨论,教师可以根据学生的反馈意见获取学生学习情况并及时对网站内容进行调整,学生也可从教师处获取有益的指导意见,及时调整和把握自己的学习进度。交流平台帮助教师及时获取同学的反馈,调整教学活动,是对以往课堂教学的有效延伸,使教师成为教学的辅助者。

根据上述在高级语言程序设计课程的教学分析改革中所提出的需求,设计高级语言程序设计课程教学网站结构如下图所示:

图1 “高级语言程序设计”课程网站结构图

3 总 结 参考文献

[1] 耿国华. 程序设计能力培养模式的探索与实践[j]. 中国大学教学,2009(3):30-32.

[2] 古辉.知识经济与计算机教育创新[j].生产力研究,(1);122-123.

2001,

本文来源:https://www.bwwdw.com/article/momv.html

Top