当前位置:文档之家› 以能力为导向的程序设计类课程教学体系

以能力为导向的程序设计类课程教学体系

第4期 74 2011 年 2 月 25 日
计 算 机 教 育
Computer Education 中图分类号:G642
No.4 Feb.25,2011
文章编号:1672-5913(2011)04-0074-05
文献标识码: A
以能力为导向的程序设计类课程教学体系
马雪英,王桂平
(浙江财经学院 信息学院,浙江 杭州 310012)
摘 要:计算机专业程序设计能力是计算机及相关专业学生最重要的专业能力之一。本文分析现有程序设计 类课程的目标定位、课程教学内容、实践教学模式等方面存在的不足,结合浙江财经学院程序设计类课程教 学实际,提出基于能力目标导向,设计程序设计类课程教学体系(包括实践教学体系),构建开放式的实践教学 平台,改革课程教学内容、教学模式和考核方式,以加强对学生专业程序设计能力的培养,提高学生的实践 能力和创新能力。在该课程教学体系中,我们强调程序设计思想和方法的运用,强调程序设计的在线实践和 项目实训,强调团队协作和创新能力的培养。最后,本文介绍了改革和实践的成效。 关键词:程序设计类课程;教学体系改革;实践教学体系;程序设计能力 高等教育的内容包括知识、 能力和素质3个方面。 知识是基础;能力是技能化的知识,是知识的综合体 现,以知识运用的综合性、灵活性与探索性为重要内 容,即运用知识有效解决实际问题;而素质是知识和 能力的升华, 涉及到其知识和能力是否可持续发展[1]。 高等院校需致力于专业能力与素质的培养。 对计算机、 电子、 通信、 信息等专业的学生来说, 程序设计思想和方法的运用、数据结构设计与运用、 算法分析与设计、 应用软件设计与开发等专业程序设 计能力是最重要的专业能力之一。 课程教学是培养专 业能力的主战场、主渠道,要围绕培养目标的实现, 组织课程内容与教学。 本文分析了现有程序设计类课 程目标定位、课程教学内容、实践教学模式等方面存 在的不足,提出以能力为导向,构建程序设计类课程 教学体系(包括实践教学体系),优化教学内容,改革 教学模式,以更好地培养学生程序设计能力,提高其 实践能力和创新能力。 序设计、面向对象程序设计、数据结构、高级数据结 构、算法分析与设计等。基于本课题组承担的浙江省 高校本科计算机科学与技术教学指导委员会专项教 学改革项目 “软件开发类课程教学内容改革和实践教 学方法创新研究”以及我校重大教学改革项目“以提 高实践创新能力为导向的课程教学模式探讨和教学 方法创新研究”的需要,我们对浙江省同类高校关于 这些课程的教学现状作了调查和分析研究, 主要状况 如下。 1) 目标定位不明确:学习编程语言还是学习编 程方法?教授编程知识还是培养用编程知识解决实 际问题的能力?程序设计类课程目标定位不明确, 没 有建立课程目标体系,专业基础课的作用不明显;上 述课程在知识结构上缺乏一条明确的主线, 知识体系 松散,不能前后连贯。 2) 对专业能力的培养重视不够:课程教学中太 过强调程序语言本身的要素,以知识点为目标,忽视 了对知识综合运用和实践能力的培养。 3) 对课程的实践性重视不够,实际知识运用的 训练较少:实践教学不够系统和完善,实践项目的设
1
程序设计类课程教学现状
目前,一般高校针对计算机、电子信息类专业开 设的以C语言为基础的程序设计类课程有:C语言程
基金项目:浙江省高校本科计算机科学与技术教学指导委员会专项教学改革项目(浙本计教指委[2010]02 号文件);浙江 财经学院重大教学改革项目(JK200811);浙江财经学院重大教学改革项目(JK200914)。 作者简介:马雪英,女,副教授,CCF 高级会员,浙江财经学院信息学院副院长,分管教学工作,主要研究方向为计算 机软件技术、数据库技术、软件工程(软件测试)。

第4期
马雪英,等:以能力为导向的程序设计类课程教学体系
75
计没有充分考虑能力目标的培养而过多关注程序语 言本身的特性。 4) 练习和考试:多采用书面或验证性实验的形 式,以标准化习题和简单的编程题为主,缺少对知识 灵活运用的练习题,缺少专业性编程基础的练习题, 缺少对程序实际运行的检查, 从某种意义上引导学生 只关注基本概念和语言要素, 忽视了对程序设计能力 的锻炼和培养。同时,教师工作量大,对程序设计题 无法仔细评判,很难判断程序是否实际可行、是否可 以产生正确的结果,教学质量难以把握并提高。 5) 从教学效果上来看:学生基本程序设计能力 差,遇到程序设计问题不知如何下手,缺乏完整系统
的程序设计方法,工作效率低;缺乏专业程序设计的 能力和意识,代码质量意识弱,代码质量差,缺乏中 等规模以上的程序设计能力。
2
构建以能力为导向的课程教学体系
程序设计与调试、面向对象的系统分析与设计、 数据结构设计与运用、算法分析与设计、应用软件设 计与开发等构成了计算机相关专业学生专业程序设 计能力体系。为此,我校计算机科学与技术专业培养 方案中,设置了程序设计基础、面向对象程序设计、 数据结构、算法分析与设计、高级数据结构5门课程, 作为程序设计类课程群,如图1所示。
图 1 程序设计类课程群
2.1
明确课程定位
由课程群教师共同协作设计逐步提高、前后连贯、层 层梯度推进的课程内容体系。 从程序设计基础课程开 始,引入大量经典的、趣味性浓的、联系生活实际的 案例,引导学生从解决问题出发、学习编程知识和语 句,并提高其学习编程的兴趣。同时,各课程教学案 例的设计注重前后知识运用的综合性和连贯性, 后续 案例以前续案例为基础,前面设计和实现的类、方法 或者模块,是后续案例中的基础,培养学生系统化意 识,以帮助学生建立知识体系。 2) 在教学内容的设计以及教学过程中各教学环 节的设计中, 应弱化学生对编程知识和语言本身的关 注,突出对知识的运用。这里我们主要从以下两点进 行改革:一是围绕能力目标,改革课堂教学模式,比 如教学过程中,突出对学生分析问题、解决问题思路 的培养, 而不是强调某个语法问题、 某个语句格式等, 语法和格式等语言要素, 留待学生在实践训练中加深 和巩固; 二是选择该课程群后期课程算法分析与设计 课程为试点,围绕能力目标体系,大幅度改革课程教 学内容和体系。 传统的该课程各章节以几大经典算法 为内容,包括背包问题、大数问题、图论算法、递归
程序设计类课程作为信息类专业本科生的专业 基础课,要突出课程的专业性,强调专业程序设计; 要突出课程的基础性,强调程序设计实践能力;突出 课程的实践性,加强教学的实践环节,通过实际编程 考察教学效果。 2.2 构建以培养能力为导向的课程教学目标体系
我们按照课程群建设的思路,统一规划、统筹安 排程序设计类各门课程各个阶段的教学目标, 建立相 辅相成、逐步提高、前后连贯的课程教学目标体系。 根据课程在专业人才培养目标中的定位, 以及目前社 会对IT人才程序设计能力的需求,我们制定了3个目 标:1)培养学生程序设计的知识和能力;2)培养学生 分析和解决实际问题的能力; 3)培养学生理论联系实 际的习惯和自学能力。 2.3 改革和优化教学内容,强调课程群各课程之间 的知识连贯性,建立课程教学体系 1) 按照课程教学目标体系,以课程群为平台,

计 算 机 教 育
76
Computer Education
2011
与分治、贪心算法、回溯法、动态规划等;而现在该 课程的教学体系, 以几个经典益智游戏的自动求解和 人机对弈项目为主要教学内容, 将算法的讲解包含在 游戏和项目中, 从而使学生掌握各种典型算法的分析 和设计。同时,在实际教学过程中,我们把该课程的 “讲解算法思路——让学生理解算法思路——用该种 算法解决实际问题”的课程授课体系,改革为“提 出趣味性、设计性并茂的实际问题——分析问题解 决的思路和方法——引出所需要的算法并解决该问 题——再用同样的方法去解决类似的实际问题以提 高算法运用能力” 在教学过程中不断对学生强化 , “学 习算法是为了解决实际问题”的意识,并引导学生进 行算法分析和设计实践。 2.4 建立课程实践教学体系,改革教学模式和教学 方法,强调编程设计的在线实践和项目实训 程序设计类课程群的实践教学体系设计思路可 以概括为:两条主线、梯度训练、四个阶段,强调程 序设计的在线实践平台和程序设计竞赛平台的应用, 提倡团队协作,突出对学生综合实践能力、创新能力 的培养。由此,本课题组构建的程序设计类课程教学 体系如图2所示。
课程 实验、实践项目 能力目标 编程基本能力 基础实践项目 综合实践(训) 项目 课程设计 数据结构 程序设计竞赛 在线实践 益智游戏和对弈 软件水平、职业 资格考试 专业程序设计能力、 综合实践能力、创新 能力、学习能力 综合实践能力、程序 设计系统化能力 程序设计能力和解 决实际问题的意识
新颖的实践方式提高学生的程序设计能力[2],并及时 跟踪程序设计竞赛及计算机学科的发展趋势, 改进课 程的教学方法和教学内容。第二条主线:面向对象程 序设计、 算法分析与设计这两门课程的教学以益智游 戏求解和对弈为主线, 通过实训项目来提高大学生的 算法分析与设计、应用软件设计与开发能力[3]。这两 条主线相辅相成。一方面,益智游戏的求解和对弈离 不开编程能力, 而编程能力可以通过在线实践不断提 高;另一方面,益智游戏的求解和对弈是应用软件设 计与开发的具体体现, 强化学生程序设计系统化能力。 2.4.2 梯度训练
无论是课程实验还是在线实践, 都考虑学生的接 受能力,遵循“由易到难”、“由浅入深”的原则, 通过梯度训练使学生逐渐掌握课程知识。 从课程基础 实践项目→综合实践(训)项目→课程设计→应用软 件设计与开发,分层次梯度推进每门课程的实践(训) 强度和难度。这里应用软件设计与开发,主要以益智 游戏的自动求解和对弈软件的设计为主要形式。 2.4.3 四个阶段
程序设计基础
面向对象程序设计
第一阶段, 程序设计基础课程的课程设计项目为 一个基于控制台的小型软件;第二阶段,面向对象程 序设计的课程设计则加入面向对象和可视化思想; 第 三阶段, 数据结构的课程设计要求在软件中综合运用 数据结构的知识;第四阶段,算法分析与设计的课程 设计以益智游戏的自动求解和人机对弈为目标, 提高 学生的应用软件设计与开发能力。 2.4.4 强调在线实践和以大学生程序设计竞赛为驱动 1) 以学科竞赛为驱动, 开发在线程序评判系统, 营造学习程序设计的氛围。 大学生程序设计竞赛提供了一个让大学生充分 展示用计算机分析问题、 解决问题的能力与才华的平 台,鼓励创造性和团队协作精神,鼓励开拓与创新。 2004年5月, 浙江省举办了首届大学生程序设计竞赛, 至今已经连续举办7届,参赛的学校从2004年的45所 增加到2010年的75所,参赛队伍数也从2004年的84 队增加到了2010年292队。随着该学科竞赛在全省的 推广,省内已经有多所高校(如浙江大学、浙江工业 大学、杭州电子科技大学、浙江财经学院等)开发出
高级数据结构 算法分析与设计
职业能力
图 2 程序设计类课程教学体系
2.4.1
两条主线
根据课程的特点, 程序设计类课程群的实践教学 体系按照两条主线进行构建。第一条主线:程序设计 基础、数据结构、高级数据结构这3门课程的教学以 在线实践及程序设计竞赛为主线, 通过在线实践这种

第4期
马雪英,等:以能力为导向的程序设计类课程教学体系
77
各自的在线程序评判系统(Online Judge, 简称OJ), 举 办校内比赛,拟以大学生程序设计竞赛为驱动,激发 学生学习程序设计的兴趣,提高学生程序设计能力。 我校的在线程序评判OJ系统(如图3所示)于2007 年开发完成并成功作为我校第五、 六届程序设计竞赛 裁判系统,每届赛事参赛队伍50余队,参赛学生人数 超过160人。同时该系统还为我校ACM协会定期举行 的程序设计竞赛活动做在线评判。 程序设计竞赛平台 的构建,为我校计算机科学与技术、信息管理与信息 系统、 信息计算等专业学生营造了非常浓厚的学习程 序设计的氛围。
了程序设计类课程实践教学效果, 提高了学生专业程 序设计能力。我们主要做了以下几方面的工作: (1) 题库建设: 为每门课程(除面向对象程序设计 课程外),按照知识模块,根据我校学生实际,设计 对应的练习题,同时收集经典的、趣味性强的、历年 各种竞赛中出现过的合适的程序设计题(包括测试数 据)。题库资源的建设和管理是开放式的,不管教师 还是学生收集和设计的题目, 只要经过系统管理员验 证,均可以加入到系统的题库中。 (2) 课程服务:对于课程的任课教师,可以自由 开辟本课程的实践专区, 为某个章节或者某个阶段在 题库中选取习题,设置练习或者测试环节,要求学生 在给定的时间内完成。也可以根据需求和课程的特 点,为课程设置在线考核专题。 (3) 竞赛服务:可以根据需要,开辟专项竞赛。 目前除了承担我校和我院的程序设计竞赛以外, 我们 还为我校ACM协会和电脑协会开辟活动专区,围绕 协会活动,举办不同范围内的程序设计竞赛。 在线实践不同于传统程序实践,学生可以通过 OJ网站,进入某课程的实践专区,选择专区中的程 序设计题目,在线提交设计编写好的程序,OJ网站 在线评判系统实时评判并反馈评判结果。 学生可以根 据OJ系统反馈回来的评判结果反复修改程序,直到 最终被Accept(程序正确)。这个过程不受时间和地点 的限制(只要能上网),也无需等待老师的批改结果, 极大地拓展了学生的实践空间和时间。而且,在实践 过程中,不仅能培养学生独立分析问题、解决问题的 能力, 而且每成功解决一道题目都能给学生带来极大 的成就感(系统会记录每个学生每一次成功),激发学 生实践的兴趣。 2.4.5 强调团队协作,鼓励创新
图 3 浙江财经学院 Online Judge 平台
2) 以在线程序评判系统为基础,构建程序设计 类课程教学在线实践平台。 由于没有合适的在线实践和考核平台, 传统的练 习和测试一般局限于书面或验证性实验的形式, 以标 准化习题和简单的编程题为主, 缺少对知识综合运用 能力和专业程序设计能力的训练和考核;同时,教师 由于精力有限,又没有高效的评判系统,对于学生提 交的程序也只局限于设计思路和语法的检查, 缺少对 程序实际运行结果的考核。 这样的实践教学和考核体 系,引导学生过多关注基本概念和语言要素,最终导 致学生所具备的程序设计能力与IT企业的要求相距 甚远。 故从2008年开始,我们从语言支持、评判方式、 题库管理等方面对在线程序评判系统进行升级和扩 充,将该系统打造成满足程序设计类课程群实践教 学、课程考核和竞赛需求的在线实践平台,有效改善
程序设计竞赛是以团队形式参赛的。每队3人, 只能使用1台计算机,因此,队员必须具有团队协作 的精神和能力,才能做到1+1+1≥3,竞赛也才能取 得好成绩。 另外在我们的实践教学体系中, 实训项目和课程 设计,要求通过团队协作完成,在设计题目和考核方 式时,必须体现团队合作的因素。

计 算 机 教 育
78
Computer Education 编写适应能力培养的实践指导教材
2011
2.4.6
将志趣相投的程序设计爱好者们聚在一个平台, 协助 学校组织承办学校大学生程序设计竞赛和信息学院 ACM程序设计大赛,每届都大约有150名学生参加, 有些甚至是一年级的学生。 开放式的在线实践平台,使得学生无需受实验 室、 实验时间以及老师在不在场等因素的限制而自由 进行编程训练;教师引导把关,由学生自己完成对平 台的构建、维护、运行的模式,让学生觉得这是他们 自己的平台,是程序爱好者的社区,极大地激发了学 生的主动性、竞争性和创造性。 通过改革,学生编程设计能力、综合实践能力和 创新能力有了明显提高。在近5年的大学生程序设计 竞赛中,我校作为理工科相对弱势的财经类院校与省 内浙江大学、 浙江工业大学等理工科类院校同台竞技, 获得了可喜的成绩,其中一等奖1项,二等奖2项,三 等奖18项,获奖学生中有大部分考入了浙江大学、复 旦大学、上海财经大学等国内知名大学继续深造,其 他所有学生在毕业时都能得到企业认可,顺利就业。
为了进一步提高实践教学效果, 课题组成员在调 研国内其他院校课程建设举措以及多年来程序设计 课程教学、 大学生程序设计竞赛辅导的经验积累基础 上,编写出版了实践指导教材《程序设计方法及在线 实践指导》,该教材被评为2009年省重点教材。
3
改革实施成效和结论
程序设计类课程的改革, 尤其是课程定位和目标
的修正、课程教学体系的改革和优化、实践教学体系 的改革、在线实践平台的构建、实践教学模式和课程 考核方式的改革和创新, 有助于引导学生以提高程序 设计能力为目标,进行程序设计训练,提高程序设计 类课程教学质量。 程序设计类课程改革有效激发了学生学习程序 设计的兴趣。大学生程序设计ACM协会是我校信息 学院最活跃的大学生协会之一,他们定期举办讲座,
参考文献:
[1] 蒋宗礼.“瞄准定位,科学施教:计算机科学与技术专业核心课程教学实施方案研究”[R]. 福州:第四届全国计算机教育论坛 暨 2008 英特尔杯全国计算机教育优秀论文评比颁奖大会,2008. [2] 王桂平,冯睿. 以在线实践为导向的程序设计课程教学新思路[J]. 计算机教育,2008(22):100-102. [3] 王桂平. 基于实训项目的面向对象程序设计课程教学[J]. 计算机教育,2009(13):191-193.
Research on Programming-ability-oriented Teaching System of Program Design Courses
MA Xueying, WANG Guiping (Information School, Zhejiang University of Finance & Economics, Hangzhou 310012, China)
Abstract: Professional programming ability is one of the most important abilities must be possessed by students majoring in computers specialties. Based on the shortcoming analysis of the teaching objectives, content and the practical teaching model of the program design courses in most universities and colleges, this paper presents a new programming-ability-oriented teaching system, which consists of the optimized teaching content system, the reformed teaching model, an open practical teaching platform, and an assessment system. In order to promote the professional programming ability and innovation ability, we emphasis on the use of program design method, online practice, project-oriented training and team collaborating. Finally, several significant results of the reform and practice are summarized. Key words: Program Design courses; teaching system reform; practical teaching system; programming ability (编辑:姚彦如)

以能力为导向的程序设计类课程教学体系
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 马雪英, 王桂平, MA Xueying, WANG Guiping 浙江财经学院信息学院,浙江,杭州,310012 计算机教育 COMPUTER EDUCATION 2011(4)
参考文献(3条) 1.王桂平 基于实训项目的面向对象程序设计课程教学[期刊论文]-计算机教育 2009(13) 2.王桂平;冯睿 以在线实践为导向的程序设计课程教学新思路[期刊论文]-计算机教育 2008(22) 3.荇宗礼 瞄准定位,科学施教:计算机科学与技术专业核心课程教学实施方案研究 2008
本文链接:https://www.doczj.com/doc/ba17318057.html,/Periodical_jsjjy201104021.aspx

相关主题
文本预览
相关文档 最新文档