计算机程序设计课程群建设研究
谭定英,张洪来,赵文光,陈平平,刘慧玲
(广州中医药大学医学信息工程学院,广东广州510006)
针对学生程序设计及开发学习过程中,对课程间知识的相关性及延续性缺乏理解,实践动手能力有待提高等摘 要:
问题,分析程序设计课程教学的特点,理清课程之间的关系,提出依托程序设计建设课程群,利用课程群教学平台培
养学生实践能力和创新能力。DOI :10.11907/rjdk .1431022
程序设计;课程群;计算机教学;创新;实践教学关键词:
中图分类号:T P 433 文献标识码:A 文章编号:1672‐7800(2015)001‐0169‐03
干课程组成的集合,它强调课程基本内容以及课程之间的
衔接关系。课程群建设要求配备合理师资结构,打通课程知识脉络,避免课程内容重复或者前后脱节,使课程体系前后连贯,内容融合,课程相互配合,能起到举一反三、相互促进的作用。
程序设计类课程群包括枟高级语言程序设计枠、枟数据结构与算法枠、枟数据库系统原理与设计枠、枟.NET 应用与开发枠、枟面向对象程序设计枠枟网络数据库编程枠、枟软件开发课程枠等课程,贯穿于计算机专业程序设计与应用开发的主线。课程群的基本构成如图1所示。
0 引言
目前,教育部、财政部已启动大学生创新实验计划,旨在探索并建立以问题和课题为核心的教学模式,倡导以本科学生为主体的创新性实验改革,调动学生的主动性、积极性和创造性,激发学生的创新思维和创新意识,掌握思
[1]
考问题、解决问题的方法,提高其创新实践能力。培养学生的程序设计能力是高校计算机专业人才培养目标之
[2]
一,是为软件产业培养大量急需人才的必然要求。程序设计能力是计算机专业学生必备的基本能力,也是检验计
[3]
算机类毕业生质量的标准之一。计算机程序设计类课程是计算机专业的核心课程。
目前,程序设计相关课程教学中,普遍存在以下问题:①学生对课程间知识的相关性及延续性缺乏理解,在学习新课程时,不能很好地运用已学的知识;②课程教学资源缺乏统一的共享平台;③课程实验独立设置,不利于培养学生对知识综合应用的能力。本文结合大学生创新实验计划的实施和课程体系改革,提出依托程序设计课程群,培养学生自主学习能力和创新实践能力。
2 程序设计课程群建设内容
课程群建设是专业建设的一部分,要与专业定位及行
[4]
业发展相适应,还应当注重课程的知识重组、知识融合。程序设计课程群建设重在以下几个方面:
教师是课程群的实施者,教师教学水平直接影响课程群的实施效果。课程整合在一定意义上也是教师团队的整合,只有教师团队的综合能力得到全面发挥,才能达到应有的教学效果。因此,团队应经常开展教学研讨、集体备课、随堂听课等,系统掌握课程群中各门课程的内在联系。重视教育教学基本理论学习,并与教学实际结合起来,将教学实践与教研专题结合起来,注重学科课程建设。
2.1 加强教师团队建设
1 程序设计课程群基本构成
课程群是由内容密切相关,前后承接连贯一致的若
[4]
基金项目:广州中医药大学-广州市博颖信息科技有限公司中医药信息化实践教学基地项目(粤教高函[2012]204号);广州中医药
大学-广州医博信息技术有限公司医学数据仓库实践教学基地项目(粤教高函[2013]113号);重大疾病中医药防治临床科研信息一体化平台建设项目(粤财工[2013]170号)
作者简介:谭定英(1978-),女,广东梅州人,广州中医药大学医学信息工程学院副教授,研究方向为计算机应用;张洪来(1971-),
男,山东临沂人,博士,广州中医药大学医学信息工程学院副教授,研究方向为医学信息学;赵文光(1969-),男,广东台山人,广州中医药大学医学信息工程学院副教授,研究方向为数据挖掘;陈平平(1980-),女,广东梅州人,广州中医药大学医学信息工程学院副教授,研究方向为计算机网络;刘慧玲(1976-),女,广东茂名人,硕士,广州中医药大学医学信息工程学院讲师,研究方向为计算机应用。
决具体问题,灵活运用课程群相关知识设计复杂程序。综合性实验注重相关知识的融合,通过设计合理的实验强化知识点间的联系,锻炼学生的综合实践能力。在综合实践项目安排上,要跟踪软件产业对计算机人才的需求,将新知识、新应用及新理念融入实践项目中,做到“教、学、用”不脱节。使学生能够清晰理解整个知识体系的脉络,明确学习目标。
3 程序设计课程群教学平台构建
程序设计课程群教学平台开设课程通知、课程简介、图1 程序设计课程群的基本构成
2.2 明确培养目标
计算机专业培养目标是使学生掌握计算机科学与技术领域硬件及软件基本理论、基本技能与应用方法,有一定的工程实践能力,满足IT 行业对计算机应用开发能力的需求。而程序设计课程群通过基础编程、抽象编程及应用开发3个阶段,培养学生创新实践和利用计算机程序解决实际问题的能力。
2.3 理清课程之间关系
课程主讲教师根据课程教学目标对课程所涉及的知识点作整理归纳,理清它们之间的层次关系,并对教学进度安排作合理规划。
枟高级程设计语言枠是计算机专业一年级的程序设计入门课程,以经典语言为基础,学生后续学习其它语言时比较容易上手。二年级开设数据结构与算法课程,经典的数据结构教材大多以C 语言描述,因此它与C 语言有直接联系,例如数据结构中线性表的顺序存储、链式存储等重要概念,在C 语言中已讲述,学生对线性表的实现方式易于接受。
在计算机专业教学培养计划中,枟高级语言程序设计枠、枟数据结构与算法枠、枟数据库系统原理与设计枠及枟软件工程枠等作为专业必修课;枟面向对像程序设计枠、枟.NET 应用开发枠及枟网络数据库编程枠作为专业限选课或任选课,这些课程侧重讲授当前比较流行的编程技术、系统开发框架和平台。例如,在信息系统设计与实现开发中常用的软件工程方法,并借助开发平台,完成对系统的整体开发,对学生毕业后快速适应企业系统开发工作有很大帮助。
2.4 合理安排实践教学
根据知识点之间的关系及进度安排,将课程群知识点贯穿在一起,设计实验项目。形成验证性-应用性-设计性-综合性多层次实践教学体系。验证性及应用性实验以课程知识点为主,利用相应的知识点解决实际问题。对于比较复杂的问题,可以给出部分程序代码,让学生补充完善,再通过上机实验来验证,以达到巩固知识和提高能力的目的。设计性实验的目标是让学生利用所学课程解
课程主讲教师简介、课程目标、教学大纲、教学安排、教学课件、实践教学、资源中心、学习交流讨论区、评价反馈等栏目,为学生创建了一个基于课程群资源的自主学习平台,同时满足师生及同学之间随时随地交流需要。课程群重视学生实践能力的培养。程序设计课程群教学实验平台总体结构如图2
所示。
图2 程序设计课程群教学实验平台总体结构
(1)课程资源。“教学资源”中的学习资料主要由各主讲教师提供,“资源共享”中的教学资源则可由教师或学生提供,“经验分享”为学习过程中遇到的困难提供帮助、答疑解惑,经验分享者可以为教师或学生。课程资源区的教学资源由师生共建,改变传统教学中教师主导,突出学生的自主学习和学生之间的协作学习。
(2)实验平台区。课程群中每门课及同一门课程的不同实验,对实验环境的要求存在差异。实验平台为课程群课程实验提供所需要的软件。实验平台包含基础实验平台以及专业实验平台两部分。基础实验平台设置了各门专业课程需要用到的基本实验环境,例如Office 软件、程序设计类软件等。专业实验平台设置开发类课程的特殊实验环境。此外,学生可在课余时间通过Online Judge 平台进行代码编写、程序设计。形成课堂讲解、实验指导和自主训练三条线共同作用的程序设计实践能力培养体系。
(3)评价反馈。建立学习评价和反馈机制,促进学生学习及教师提高教学水平。其中,通过“学习反馈”教师可调查学生的学习情况和学习需求,以便适时调整教学内容或教学方式;“作品展示”和“作品评价”是教学成果及效果的展示平台。
4 程序设计课程群实施方案
充分利用程序设计课程群教学平台,针对不同年级学
生基础及所学课程,课程群实施分3个阶段进行,如图3
所示。
游咨询系统等,初步掌握应用开发的流程及开发方法。
(3)第三阶段:提高应用开发编程能力,培养创新能力。对于高年级学生,已有一定软件开发基础,可鼓励学生进行实际项目开发实践,提高软件开发能力。可将模拟项目开发和实际软件项目开发相结合。例如,医学院校可结合医学背景,开发医院信息系统子模块,将设计开发贯穿于整个教学过程,要求学生参与项目,每个角色都尽量去尝试。以达到学以致用,提高系统开发能力的目的。
笔者所在学院一直非常重视学生创新能力的培养,积极开展各种学术活动,开拓学生知识面,培养学生创新精图3 程序设计课程群的实施方案
(1)第一阶段:激发学生学习兴趣,夯实程序设计基础。入门课程高级程序设计语言的教学非常重要,应通过此课程教学激发学生学习兴趣。教学中可用趣味性强的例题来组织教学,所有新知识点都通过实例引入。比如,课程介绍中演示一个简单的图书信息管理系统,让学生获得感性认识,了解课程学习目的,达到激发学生学习兴趣的目的。在后续章节的学习中,继续编写和完善图书信息管理系统的部分代码。至课程学完,学生就可以编写出图书管理管理系统的全部代码,从而很好地将整个教学内容贯穿起来。
为了提高学生学习程序设计的兴趣,带动一年级学生学习计算机专业的热忱,同时加强各年级学生之间的交流和学习。笔者所在学院每年举办程序设计竞赛。比赛内容以C 语言为基础,围绕所学C 语言的基本知识点、数据结构及算法设计,以闯关形式来完成,由易到难。一年级的同学经过与其他年级同学一起备战比赛,对后面学的知识有大致的认识,到学习后续课程时目标比较明确。学生通过比赛既能激发学习兴趣,又能夯实程序设计基础。
(2)第二阶段:强化数据结构应用,初步掌握应用开发的基础。数据结构是程序设计、数据库原理与设计及大型应用系统开发的基础,其教学效果将直接影响到学生数据抽象能力和程序设计能力的培养。强调数据结构在实际领域中的应用,如栈在表达式求值中的应用、队列在离散事件模拟中的应用、哈夫曼树的应用及图在网络方面的应
用等[5‐6]
。此阶段,可以让学生利用所学知识开发一些小型应用系统,如停车场管理系统、学生管理系统及校园导
神及团队合作意识。学院鼓励学有余力的学生申报各级别的创新实践项目及挑战杯。题目主要是项目开发类、创新应用类及数据分析类,从各类项目中强化知识实际应用。通过积累学生在各类的比赛中也获得较好的成绩。
5 结语
课程群建设为学生系统学习计算机核心课程,加强知
识理解及运用提供了指引,同时也为教师团队加强合作交流发挥了纽带作用。在今后的课程建设中,要进一步系统研究课程群相关的教学内容、教学方法、教学平台,并对课程群的教学效果作进一步测评。程序设计课程群涵盖了计算机专业主干课程。构建课程群,对培养学生创新能力和利用计算机程序解决实际应用问题的能力具有重要意义。
参考文献:
[1] 刘长宏,李晓辉,李刚,等.大学生创新创业训练计划项目的实践与
探索[J ].实验室研究与探索,2014(5):163‐166.
[2] 孙中胜,孟浩.计算机专业人才需求调研报告[J ].计算机教育,
2011(19):25‐29.
[3] 何昭青,彭立,傅红普.基于程序设计能力培养的计算机专业实践
教学体系的思考[J ].湖南第一师范学院学报,2012,12(1):62‐65.[4] 安德智,王秋云.数据库原理课程群建设的实践与探讨[J ].中国电
力教育,2010(8):41‐43.
[5] 张乃孝,陈光,孙猛.算法与数据结构‐C 语言描述[M ].第3版.北
京:高等教育出版社,2011:85‐326.
[6] 严蔚敏,吴伟民.数据结构(C 语言版)[M ].北京:清华大学出版
社,2007:1‐36.
(责任编辑:陈福时)
计算机程序设计课程群建设研究
谭定英,张洪来,赵文光,陈平平,刘慧玲
(广州中医药大学医学信息工程学院,广东广州510006)
针对学生程序设计及开发学习过程中,对课程间知识的相关性及延续性缺乏理解,实践动手能力有待提高等摘 要:
问题,分析程序设计课程教学的特点,理清课程之间的关系,提出依托程序设计建设课程群,利用课程群教学平台培
养学生实践能力和创新能力。DOI :10.11907/rjdk .1431022
程序设计;课程群;计算机教学;创新;实践教学关键词:
中图分类号:T P 433 文献标识码:A 文章编号:1672‐7800(2015)001‐0169‐03
干课程组成的集合,它强调课程基本内容以及课程之间的
衔接关系。课程群建设要求配备合理师资结构,打通课程知识脉络,避免课程内容重复或者前后脱节,使课程体系前后连贯,内容融合,课程相互配合,能起到举一反三、相互促进的作用。
程序设计类课程群包括枟高级语言程序设计枠、枟数据结构与算法枠、枟数据库系统原理与设计枠、枟.NET 应用与开发枠、枟面向对象程序设计枠枟网络数据库编程枠、枟软件开发课程枠等课程,贯穿于计算机专业程序设计与应用开发的主线。课程群的基本构成如图1所示。
0 引言
目前,教育部、财政部已启动大学生创新实验计划,旨在探索并建立以问题和课题为核心的教学模式,倡导以本科学生为主体的创新性实验改革,调动学生的主动性、积极性和创造性,激发学生的创新思维和创新意识,掌握思
[1]
考问题、解决问题的方法,提高其创新实践能力。培养学生的程序设计能力是高校计算机专业人才培养目标之
[2]
一,是为软件产业培养大量急需人才的必然要求。程序设计能力是计算机专业学生必备的基本能力,也是检验计
[3]
算机类毕业生质量的标准之一。计算机程序设计类课程是计算机专业的核心课程。
目前,程序设计相关课程教学中,普遍存在以下问题:①学生对课程间知识的相关性及延续性缺乏理解,在学习新课程时,不能很好地运用已学的知识;②课程教学资源缺乏统一的共享平台;③课程实验独立设置,不利于培养学生对知识综合应用的能力。本文结合大学生创新实验计划的实施和课程体系改革,提出依托程序设计课程群,培养学生自主学习能力和创新实践能力。
2 程序设计课程群建设内容
课程群建设是专业建设的一部分,要与专业定位及行
[4]
业发展相适应,还应当注重课程的知识重组、知识融合。程序设计课程群建设重在以下几个方面:
教师是课程群的实施者,教师教学水平直接影响课程群的实施效果。课程整合在一定意义上也是教师团队的整合,只有教师团队的综合能力得到全面发挥,才能达到应有的教学效果。因此,团队应经常开展教学研讨、集体备课、随堂听课等,系统掌握课程群中各门课程的内在联系。重视教育教学基本理论学习,并与教学实际结合起来,将教学实践与教研专题结合起来,注重学科课程建设。
2.1 加强教师团队建设
1 程序设计课程群基本构成
课程群是由内容密切相关,前后承接连贯一致的若
[4]
基金项目:广州中医药大学-广州市博颖信息科技有限公司中医药信息化实践教学基地项目(粤教高函[2012]204号);广州中医药
大学-广州医博信息技术有限公司医学数据仓库实践教学基地项目(粤教高函[2013]113号);重大疾病中医药防治临床科研信息一体化平台建设项目(粤财工[2013]170号)
作者简介:谭定英(1978-),女,广东梅州人,广州中医药大学医学信息工程学院副教授,研究方向为计算机应用;张洪来(1971-),
男,山东临沂人,博士,广州中医药大学医学信息工程学院副教授,研究方向为医学信息学;赵文光(1969-),男,广东台山人,广州中医药大学医学信息工程学院副教授,研究方向为数据挖掘;陈平平(1980-),女,广东梅州人,广州中医药大学医学信息工程学院副教授,研究方向为计算机网络;刘慧玲(1976-),女,广东茂名人,硕士,广州中医药大学医学信息工程学院讲师,研究方向为计算机应用。
决具体问题,灵活运用课程群相关知识设计复杂程序。综合性实验注重相关知识的融合,通过设计合理的实验强化知识点间的联系,锻炼学生的综合实践能力。在综合实践项目安排上,要跟踪软件产业对计算机人才的需求,将新知识、新应用及新理念融入实践项目中,做到“教、学、用”不脱节。使学生能够清晰理解整个知识体系的脉络,明确学习目标。
3 程序设计课程群教学平台构建
程序设计课程群教学平台开设课程通知、课程简介、图1 程序设计课程群的基本构成
2.2 明确培养目标
计算机专业培养目标是使学生掌握计算机科学与技术领域硬件及软件基本理论、基本技能与应用方法,有一定的工程实践能力,满足IT 行业对计算机应用开发能力的需求。而程序设计课程群通过基础编程、抽象编程及应用开发3个阶段,培养学生创新实践和利用计算机程序解决实际问题的能力。
2.3 理清课程之间关系
课程主讲教师根据课程教学目标对课程所涉及的知识点作整理归纳,理清它们之间的层次关系,并对教学进度安排作合理规划。
枟高级程设计语言枠是计算机专业一年级的程序设计入门课程,以经典语言为基础,学生后续学习其它语言时比较容易上手。二年级开设数据结构与算法课程,经典的数据结构教材大多以C 语言描述,因此它与C 语言有直接联系,例如数据结构中线性表的顺序存储、链式存储等重要概念,在C 语言中已讲述,学生对线性表的实现方式易于接受。
在计算机专业教学培养计划中,枟高级语言程序设计枠、枟数据结构与算法枠、枟数据库系统原理与设计枠及枟软件工程枠等作为专业必修课;枟面向对像程序设计枠、枟.NET 应用开发枠及枟网络数据库编程枠作为专业限选课或任选课,这些课程侧重讲授当前比较流行的编程技术、系统开发框架和平台。例如,在信息系统设计与实现开发中常用的软件工程方法,并借助开发平台,完成对系统的整体开发,对学生毕业后快速适应企业系统开发工作有很大帮助。
2.4 合理安排实践教学
根据知识点之间的关系及进度安排,将课程群知识点贯穿在一起,设计实验项目。形成验证性-应用性-设计性-综合性多层次实践教学体系。验证性及应用性实验以课程知识点为主,利用相应的知识点解决实际问题。对于比较复杂的问题,可以给出部分程序代码,让学生补充完善,再通过上机实验来验证,以达到巩固知识和提高能力的目的。设计性实验的目标是让学生利用所学课程解
课程主讲教师简介、课程目标、教学大纲、教学安排、教学课件、实践教学、资源中心、学习交流讨论区、评价反馈等栏目,为学生创建了一个基于课程群资源的自主学习平台,同时满足师生及同学之间随时随地交流需要。课程群重视学生实践能力的培养。程序设计课程群教学实验平台总体结构如图2
所示。
图2 程序设计课程群教学实验平台总体结构
(1)课程资源。“教学资源”中的学习资料主要由各主讲教师提供,“资源共享”中的教学资源则可由教师或学生提供,“经验分享”为学习过程中遇到的困难提供帮助、答疑解惑,经验分享者可以为教师或学生。课程资源区的教学资源由师生共建,改变传统教学中教师主导,突出学生的自主学习和学生之间的协作学习。
(2)实验平台区。课程群中每门课及同一门课程的不同实验,对实验环境的要求存在差异。实验平台为课程群课程实验提供所需要的软件。实验平台包含基础实验平台以及专业实验平台两部分。基础实验平台设置了各门专业课程需要用到的基本实验环境,例如Office 软件、程序设计类软件等。专业实验平台设置开发类课程的特殊实验环境。此外,学生可在课余时间通过Online Judge 平台进行代码编写、程序设计。形成课堂讲解、实验指导和自主训练三条线共同作用的程序设计实践能力培养体系。
(3)评价反馈。建立学习评价和反馈机制,促进学生学习及教师提高教学水平。其中,通过“学习反馈”教师可调查学生的学习情况和学习需求,以便适时调整教学内容或教学方式;“作品展示”和“作品评价”是教学成果及效果的展示平台。
4 程序设计课程群实施方案
充分利用程序设计课程群教学平台,针对不同年级学
生基础及所学课程,课程群实施分3个阶段进行,如图3
所示。
游咨询系统等,初步掌握应用开发的流程及开发方法。
(3)第三阶段:提高应用开发编程能力,培养创新能力。对于高年级学生,已有一定软件开发基础,可鼓励学生进行实际项目开发实践,提高软件开发能力。可将模拟项目开发和实际软件项目开发相结合。例如,医学院校可结合医学背景,开发医院信息系统子模块,将设计开发贯穿于整个教学过程,要求学生参与项目,每个角色都尽量去尝试。以达到学以致用,提高系统开发能力的目的。
笔者所在学院一直非常重视学生创新能力的培养,积极开展各种学术活动,开拓学生知识面,培养学生创新精图3 程序设计课程群的实施方案
(1)第一阶段:激发学生学习兴趣,夯实程序设计基础。入门课程高级程序设计语言的教学非常重要,应通过此课程教学激发学生学习兴趣。教学中可用趣味性强的例题来组织教学,所有新知识点都通过实例引入。比如,课程介绍中演示一个简单的图书信息管理系统,让学生获得感性认识,了解课程学习目的,达到激发学生学习兴趣的目的。在后续章节的学习中,继续编写和完善图书信息管理系统的部分代码。至课程学完,学生就可以编写出图书管理管理系统的全部代码,从而很好地将整个教学内容贯穿起来。
为了提高学生学习程序设计的兴趣,带动一年级学生学习计算机专业的热忱,同时加强各年级学生之间的交流和学习。笔者所在学院每年举办程序设计竞赛。比赛内容以C 语言为基础,围绕所学C 语言的基本知识点、数据结构及算法设计,以闯关形式来完成,由易到难。一年级的同学经过与其他年级同学一起备战比赛,对后面学的知识有大致的认识,到学习后续课程时目标比较明确。学生通过比赛既能激发学习兴趣,又能夯实程序设计基础。
(2)第二阶段:强化数据结构应用,初步掌握应用开发的基础。数据结构是程序设计、数据库原理与设计及大型应用系统开发的基础,其教学效果将直接影响到学生数据抽象能力和程序设计能力的培养。强调数据结构在实际领域中的应用,如栈在表达式求值中的应用、队列在离散事件模拟中的应用、哈夫曼树的应用及图在网络方面的应
用等[5‐6]
。此阶段,可以让学生利用所学知识开发一些小型应用系统,如停车场管理系统、学生管理系统及校园导
神及团队合作意识。学院鼓励学有余力的学生申报各级别的创新实践项目及挑战杯。题目主要是项目开发类、创新应用类及数据分析类,从各类项目中强化知识实际应用。通过积累学生在各类的比赛中也获得较好的成绩。
5 结语
课程群建设为学生系统学习计算机核心课程,加强知
识理解及运用提供了指引,同时也为教师团队加强合作交流发挥了纽带作用。在今后的课程建设中,要进一步系统研究课程群相关的教学内容、教学方法、教学平台,并对课程群的教学效果作进一步测评。程序设计课程群涵盖了计算机专业主干课程。构建课程群,对培养学生创新能力和利用计算机程序解决实际应用问题的能力具有重要意义。
参考文献:
[1] 刘长宏,李晓辉,李刚,等.大学生创新创业训练计划项目的实践与
探索[J ].实验室研究与探索,2014(5):163‐166.
[2] 孙中胜,孟浩.计算机专业人才需求调研报告[J ].计算机教育,
2011(19):25‐29.
[3] 何昭青,彭立,傅红普.基于程序设计能力培养的计算机专业实践
教学体系的思考[J ].湖南第一师范学院学报,2012,12(1):62‐65.[4] 安德智,王秋云.数据库原理课程群建设的实践与探讨[J ].中国电
力教育,2010(8):41‐43.
[5] 张乃孝,陈光,孙猛.算法与数据结构‐C 语言描述[M ].第3版.北
京:高等教育出版社,2011:85‐326.
[6] 严蔚敏,吴伟民.数据结构(C 语言版)[M ].北京:清华大学出版
社,2007:1‐36.
(责任编辑:陈福时)