数学建模算法与程序范文
数学建模算法与程序篇1
关键词:工程计算能力;计算基础教育;理工类
中图分类号:G642 文献标识码:B
1问题的提出
我国大学计算机基础教育经过了三十几年的发展历程,几代教育工作者为此付出了辛勤劳动。他们针对我国理工类大学生的特点和中国国情,在当时的历史条件下提出了一系列培养大学生计算机操作技能的教学方法,形成了具有中国特色的计算机基础教育理念和体系。但是,大学计算机基础教育发展到今天如果仍然停留在以计算机基本操作为主体的教学模式上,那将与社会发展对大学生的要求很不适应。今天我们更应该强调培养大学生尤其是理工类大学生以计算机为工具的工程计算能力,并将这种能力与各自的专业结合起来,真正起到为专业服务的作用。由此我国的大学计算机基础教育应该转变为大学计算基础教育。
八十年代初期以来,我国计算机基础教育成为大学里的公共教育,面向全体大学生开设计算机基础教育公共课,并由专门的教学小组(教研室或计算中心)组织教学,依不同专业确定教学内容,因此理工类大学生计算机基础教育的教学内容基本统一。教育部教学指导委员会和全国高等学校计算机基础教学研究会相继出台一些教学指导性意见,如2004年教育部高等学校非计算机专业计算机基础课程教学指导分委员会出台的《关于进一步加强高校计算机基础教学的几点意见》(简称《白皮书》)以及1997年教育部高教司颁发的《加强非计算机专业计算机基础教学工作的几点意见》(简称155号文件),虽然针对不同学科和专业有不同的教学要求,但是培养目标和内容主要以教导学生如何操作好计算机或者说如何提高大学生计算机操作技能为主体,没有强调大学生工程计算能力的培养。以典型的理工类大学生为例,大学期间的计算机基础教育主要开设“大学计算机基础”和“程序设计”两门课程,在“大学计算机基础”课程中,主要介绍计算机的基本组成、环境以及常用软件平台,在“程序设计”课程中也只是讲解编程的基本方法,其他课程更趋向于计算机专业类学生的课程。笔者认为,开设这些课程对于提高大学生计算机操作技能和计算机应用能力起到了重要作用,但是在计算机基础教育的教学体系中没有涉及工程计算能力培养的内容,没有阐明工程计算能力与计算机基本知识和应用能力之间的关系,实际上没有认识到计算机基础教育的根本问题是要以培养大学生现代工程计算能力为目标。
随着计算机技术的迅速发展和广泛应用,作为我国高层次人才――大学生的培养,尤其是规模最大的理工类大学生的培养,应培养他们具有将计算机应用与自己专业知识密切结合的能力,这种结合实质上就是要增强大学生以计算机为基本工具的工程计算能力,而不是简单地操作计算机或使用某一个软件。回顾我国近三十年来的计算机基础教育,大部分精力花在教大学生如何提高计算机操作技能上,如:Windows基本操作、Office软件的使用等,没
作者简介:邹北骥(1961-),男,江西南昌人,博士,教授,博士生导师,研究方向为计算机教育、计算机图形学与数字图像处理。
有涉及工程计算能力的培养。造成这种结果的主要原因有以下几个方面:(1)计算机技术虽然发展很快,但历史不长,对于以计算机为工具的工程计算能力的培养没有深刻的认识。(2)存在误区,误以为培养大学生的操作技能就能提高学生应用计算机的能力。(3)师资问题。大部分从事计算机基础教育课程的教师都是学计算机专业出生的,对于计算机与其它专业的融合问题缺乏了解。(4)大部分从事计算机基础教育的教师很少参与实际科研项目的开发,缺乏软件开发经验,不能体会计算机软件开发中的计算问题和工程计算能力之间的关系。
如果说这种现象的出现是由于历史造成的,或者说是历史发展的必经之路,那么从现在开始,我们就应该高度重视大学生工程计算能力的培养,真正提高他们运用计算机的能力,发挥计算机技术在其它各专业领域的作用。
2工程计算能力培养
什么是工程计算能力?本文所述的工程计算能力是以现代计算机为工具的工程计算能力,也就是以计算机为工具的计算方法的掌握和运用能力。多年以来,“计算方法”或“数值分析”课程是理工类大学生一门重要的基础课,它教给学生用数值求解方法解决工程问题,其中涉及到基本的以计算机为工具的计算方法,如:递归求解等。然而计算机技术发展到今天,特别是软件开发技术和方法的发展,使得以计算机为工具的计算方法变得更加丰富和神奇,非计算机专业,尤其是理工类专业的大学生应该尽可能多地掌握这些方法,以便他们能更好地融入到自己的专业领域。笔者认为,理工类大学生工程计算能力培养应包含以下几个方面。
2.1建模能力
建模能力实质上就是数学建模的应用能力。在理工类大学计算机基础教育中,应该大力加强数学建模方法的学习,大力加强数学建模训练。理工类大学生面临不同领域工程问题,应用计算机求解这些问题的基础是数学建模。在过去几十年的计算机基础教育中,我们忽略了这一方面的培养,使得大学生的计算机应用能力受到限制。因此从培养大学生尤其是理工类大学生工程计算能力的角度出发,应普遍开设数学建模课程。
2.2数据组织能力
工程计算能力培养的第二个方面是数据的组织能力。在计算机专业人才的培养中,是通过“数据结构”课程来教学生基本的数据组织方法。笔者认为,对于非计算机专业尤其是理工类专业的大学生,应该为他们开设“数据结构”课程。我们应该认识到,“数据结构”课程中介绍的数据组织方法,如:堆栈、队列这些基本结构和树、链表等这些复杂结构绝不只是计算机专业学生需要学习的,非计算机专业尤其是理工类计算机专业学生同样需要学习,而且对于他们来讲,这门课程更为重要。有一种观点认为:“数据结构”课程有较大难度,一般理工类学生学习起来比较困难。其实不然,历届研究生入学考试成绩表明,理工类大学生大多通过自学学习“数据结构”课程,而且相当一部分学生成绩优异。
数据结构是程序设计的基础,没有掌握好数据的组织方法,不会运用数据结构表达工程问题中的数据,又怎么可能学好程序设计课程?又怎么能编写好程序?几十年来的计算机基础教育强调了程序设计能力的培养,但没有开设“数据结构”课程,实际上像一座空中楼阁,基础很不牢固。
2.3算法设计能力
算法是计算机计算的步骤描述,是实现计算机求解问题的关键。培养理工类大学生的工程计算能力,需要教给他们基本的算法思想和常用的算法。例如:基本的算法包括排序、递归、查找等。设想一个理工类大学毕业生,如果大学期间对于计算机常用算法理解得比较深刻,应用得比较好,对于他在实际工作中利用计算机解决问题就会变得轻而易举。反之,如果对基本算法一无所知,如:不知道什么是递归算法,不知道什么是排序算法,那么对一些基本的工程问题他都会一筹莫展,甚至无法求解。因此基本算法的学习对于理工类大学生而言是非常重要的。
2.4程序设计能力
工程计算能力培养的第四个方面是程序设计能力,它是工程计算能力的实际载体,用计算机解决实际工程问题最终要落实到计算机程序的开发,也就是人们常说的编程。在学习和掌握数学建模、数据结构和算法设计的基础上,以一门具体的程序设计语言为模板,学习程序设计的基本方法,学习程序的基本结构和运行规律,掌握顺序结构、分支结构和循环结构等对于理工类大学生工程计算能力的提高是极其重要的。
3计算机基础教育与计算基础教育
面向非计算机专业大学生的计算机教育一直沿用“计算机基础教育”这个名称。笔者认为:“计算机基础教育”是围绕计算机本身的计算机科学与技术方面的专业基础教育,面向非计算机专业学生的计算机教育应该用“计算基础教育”这个名称,其本质是要培养非计算机专业大学生以现代计算机为基本工具的工程计算能力,而不是关于计算机本身的科学与技术。长期以来,我国从事非计算机专业计算机教学的教师忽视了这一细节,有意或无意地将非计算机专业大学生的计算机教育引向了计算机科学与技术专业教育的道路,越来越多的课程设置与计算机科学与技术专业的核心课程一致了,如:“计算机网络技术”、“微机接口原理”、“多媒体技术”等。如此下去不仅大大增加了理工类大学生课程学习的负担,而且没有提高理工类大学生工程计算能力。因此我们需要从观念和教学理念上转变,要清楚地认识理工类大学生工程计算能力的培养并不需要为计算机专业类学生开设的那些课程内容,只是需要围绕“数学建模”、“数据结构”、“算法设计”和“程序设计”四个方面的基础课程。
4实施方案建议
综上所述,面向理工类大学生以计算机为工具的工程计算能力培养需要从数学建模、数据结构、算法基础和程序设计四个方面进行,所有的教学要求、内容和目标都应该围绕这四个问题展开。笔者建议,针对理工类大学生的计算基础教育课程体系可以有两个方案,一个方案是紧缩方案,开设的课程概括上述四方面内容,设置两门课程,分别为“大学计算基础”和“大学计算机程序设计”;另一个方案是扩展方案,开设四门课程,分别对应上述四个方面的内容,即“大学数学建模方法”、“数据结构基础”、“算法基础”和“程序设计基础”。两种方案的内容、要求和课时见表1和表2。
表1方案1(压缩型)
课程名称 主要内容 要求与目标 学时建议
大学计算基础 1.计算机的基本知识 掌握计算机基础知识 80
2.数学建模方法介绍 掌握基本的数学建模方法
3.数据结构基础 掌握常用的数据结构
4.算法基础 掌握常用的算法
大学计算机程序设计 1.程序的基本概念
2.C语言程序设计 掌握计算机程序的原理和运行方式
掌握C语言编程方法 48
表2方案2(扩展型)
课程名称 主要内容 要求与目标 学时建议
大学数学建模方法 1.计算机的基本知识 掌握计算机基础知识 80
2.数学建模方法介绍 掌握基本的数学建模方法
数据结构基础 1.数据的组织方法 掌握数据的组织方式 48
2.基本的数据结构及其应用 掌握队列、堆栈、链表等基本数据结构的应该
算法基础 1.算法的基本概念 掌握算法的思想、流程、表达方式及其与程序之间的关系 48
2.基本算法及其应用 掌握常用的算法
程序设计基础 1.程序的基本概念
2. C语言程序设计 掌握计算机程序的原理和运行方式
掌握C语言编程方法 48
5结束语
教育理念和观念的转变需要全体教育工作者形成共识,提出的方案需要通过论证和实践检验,建议相关部门
组织一部分长期从事非计算机专业计算机基础教育的教师、学者进行研讨,针对理工类大学生计算机基础教育和计算基础教育的内涵进行讨论,明确理工类大学生计算机基础教育因面向工程计算能力培养,文中提出的实施方案可在高水平大学试点。
参考文献:
[1] 教育部高等学校非计算机专业计算机基础课程指导分委员会. 关于进一步加强高校计算机基础课程教学的几点意见[M]. 北京:高等教育出版社,2004.
数学建模算法与程序篇2
关键词:C++程序设计;课程建设;负反馈教学法;实践环节;特色教材
中图分类号:G64 文献标识码:B
文章编号:1672-5913(2007)12-0018-03
C++不仅是一门程序设计课程,而且是这些专业后续专业课程(如数据结构、操作系统、微机原理、单片机及应用等)的重要基础,更是这些专业开展计算机研究和应用的重要表达工具和开发工具。因此,Visual C++程序设计课程的教学改革与建设具有十分重要的意义。本文下面从教学方法改革、教学内容研究、实践环节建设、特色教材编写等方面介绍我校VC++课程建设的一些做法。
1积极推进教学方法改革,形成颇具特色的负反馈教学法
负反馈教学法的原理是从教学过程中反馈(作业、实验、答疑、单元测验等)的问题入手,通过及时讲评,解决学生学习中存在的问题,以达到预期的教学目标。由于反馈的是教学过程中存在的问题故称此方法为负反馈教学法。负反馈教学法包括以下方面。
1.1用“范例”组织课堂教学,贯彻“发现式”教学思想
范例教学法由教育学家瓦根舍因提出,教师通过范例辅助学生理解、掌握知识和原理,其目的是让学生能够独立地获得判断能力、推理能力、认识能力和继续学习的能力。以往,程序设计课程教学通常以一门具体语言为主线,围绕语法知识展开。而实质上,设计程序是为了解决实际问题,是一种缜密思维方式、创新素质和综合能力的培养。要使学生对程序设计有兴趣,必须亲自感受并体验程序设计的无限魅力。为此,我们改用范例组织课堂教学。在多媒体教学设备和真实编程环境的支持下,课堂教学以程序(范例)为主线。所选范例程序具有典型性、综合性和可扩展性,涉及基本语法、基本算法和基本调试技术。范例程序的讲解首先符合“现象发现问题分析问题解决问题验证”的探索过程,使学生掌握基本语法、算法及应用。其次,通过对范例程序的启发式扩展,揭示程序由小到大、由简单到复杂直到实用的过程,激发学生的探索热情和兴趣,使学生掌握知识间的联系和编程的工程化思想,获得实际编程能力。
1.2采集教学负反馈信息,做好分类、分析和讲评
按负反馈教学法要求,任课教师做好作业和实验报告的抽样批改、单元测验的全样批改,重视实验指导和答疑,从中了解学生的学习情况。在获取足够的负反馈信息后,任课教师及时做好问题的分类、分析和讲评,及时发现和解决学生学习中存在的问题,确保学生对所学知识的真正掌握。
1.3根据大班教学特点,推进强同步教学策略
大班教学成功的关键在于保持师生教与学的同步状态。负反馈教学法的师生同步措施有授课、作业、实验、讲评和测验等。其中,作业与实验报告由于学生存在一定抄袭现象,同步效果欠佳,为弱同步措施。授课、讲评和测验同步效果较好,为强同步措施。为使大班教学取得较好效果,采用强同步措施是必要的。特别地,我们在每个单元安排一次测验,以实现师生的强同步,及时取得真实的负反馈信息。
1.4编写负反馈教学法配套教辅资料,培养学生自学、探索和自我完善能力
配套教辅资料主要有:①学习指导。注重概念理解、知识巩固,设单元测试,便于学生学习和自测自查;②实验指导。共有17个实验,每个实验包含调试技术介绍、程序调试题、程序设计题和选做题,注重培养学生的编程能力和调试能力,激发学生编程兴趣;③典型问题和综合问题编程。共8个专题,便于学生突破难点,融会贯通,体验综合编程的乐趣,培养分析和解决问题的能力;④二级考试模拟试卷;⑤VC++ 6.0程序调试技术,包括使用VC++ 6.0 IDE编写和调试程序的方法和技巧。
2强化实践教学,注重培养学生的实际编程能力
VC++课程是一门难点多、综合性较强的课程,实验是该课程至关重要的环节,只有通过实验才能检验自己是否真正掌握和运用该语言。通过上机调试程序,会发现很多想不到的问题,通过解决这些问题,可以加深对语言和算法的理解,提高程序调试和实际编程能力。为此,本课程设有课内实验(32学时)和课程设计(两周)实践教学环节。
2.1课内实验注重培养学生基本编程和调试能力
基本编程和调试能力是深入学习本课程并取得实际编程能力的前提。课程实验是至关重要的教学环节,与课堂教学同步进行。我们根据教学内容编写了一套以调试技术、基本语法、基本算法、综合编程为核心内容的同步实验指导,共拟定了17个实验,每个实验通常包括调试题、编程题和选做题,可供不同层次的学生选用。
2.2课程设计注重培养学生综合编程和实际应用能力
课程设计安排在课程结束以后,以综合性程序设计训练为主,选题具有典型性、综合性和示范性,突出难点与实用价值,使学生体会到难点不难,难点在实际编程中非常有用。通过课程设计,学生进一步巩固和掌握基本语法、基本算法和基本调试技术,养成良好程序设计风格(模块化、结构化)和严谨的科学作风,初步形成软件工程化思想,具有一定的程序组织能力。
课程设计的内容涉及基本算法和数据结构。基本算法包括穷举、迭代、递推、递归、排序和查找等。基本数据结构包括数组、结构、指针、动态内存分配、单向链表、对象、文件等。课程设计的实施,对非计算机专业采用小综合方案,计算机专业采用大综合方案。所谓小综合是指程序规模在几十到几百行的小题目,大综合则是程序的规模在数百行以上有一定实用价值的题目。
2.3实践教学认真实施,严格考核,确保效果
在课内实验和课程设计的实施过程中,配备富有经验的指导教师,现场实时进行辅导和答疑,指导学生解决编程中出现的问题。同时对学生严格要求,严格考核,确保实践教学质量。加强实践环节的考核是提高实践教学质量的重要保证。预习和考勤占总成绩的30%,上机检查并回答提问占总成绩的40%,课程实验报告和课程设计报告占总成绩的30%。
3积极开展教学内容研究,不断优化和更新教学内容
根据程序设计课程本身发展快、更新快、综合性强、存在问题多的特点,针对同类教材中存在的一些问题和不足,积极开展教学内容的研究,先后发表 “C++运算符重载教学和编程中易被忽视的问题”、“C++中二维数组与指针关系的深入剖析”、“C++语言引用型变量的实现机制浅析”、“C/C++语言可变参数函数的参数传递机制剖析” 等论文,并及时把这些教研成果和学科最新进展引入教学。
3.1课程内容分为三个知识模块
(1) 结构化程序设计基础:包括C++概述、数据类型、运算符、表达式、简单的输入输出、算法与流程控制语句等。
(2) 模块化程序设计:包括函数、编译预处理、程序的多文件组织、数组、结构体、共用体、枚举类型、指针和引用。
(3) 面向对象程序设计:包括类、对象、构造函数、析构函数、继承、派生、友元、虚函数、静态成员、运算符重载、I/O类库、命名空间、模板和异常处理等。
3.2课程的重点、难点及解决办法
(1) 算法表达、结构化语句:结构化编程的基础。注重讲授算法的结构化表示法,结构化语句,常用基本算法,断点+单步调试技术。
(2) 函数:模块化编程基础。注重讲授程序的模块化组织思想和方法,自顶向下逐步求精的程序设计思想,参数传递,变量作用域,程序的多文件组织。
(3) 数组、结构体、指针:数据的结构化和模块化组织基础。指针是重点和难点,应正确区分指针与地址,强调指针类型的作用,讲清各类指针的含义及作用。特别注重讲授指针在动态生成基本数据结构,解决实际问题方面的综合实例。
(4)类、对象、继承、运算符重载、虚函数:面向对象程序设计基础。运算符重载较易理解,但有些方面易忽视,应提请学生注意。虚函数是重点和难点,应注重讲授虚函数的必要性、重要性、实现机制和综合实例。
4改革考评方式,正确发挥考试的导向作用
根据VC++课程的特点,正确发挥考试的导向作用。改革考评方式,实行考教分离,并使其与江苏省大学生计算机等级(二级)考试方式接轨,采取笔试(50%)+机试(50%)的方式,理论与实践并重。
试卷的试题源自题库和现任教师的征卷,试卷由选题算法和软件系统产生,难度与二级考试相当,提高了考评的科学性。
5总结提炼教学经验和成果,积极开展特色教材建设
教材建设是课程建设的重要方面。几年来,课程组对国内外流行C++教材进行研究、分析和试用,总结、积累和提炼自己的教学经验和成果,从校内讲义开始,逐步开展具有自己特色的教材建设工作。2005年2月,自编教材《Visual C++程序设计习题、实验与编程实践》由华东理工大学出版社出版,同年12月又第二次印刷,得到了社会读者的认可。2005年10月,本课程获江苏省高等学校精品教材立项建设,课程组编著的体现“负反馈”教学特色的教材《C++程序设计实践教程》一书目前已与清华大学出版社签订出版合同,书稿已经交付,将于2007年上半年出版。
6运用现代化教学手段,加强网络教学资源建设
经过多年的教学、研究、建设和总结,本课程已积累了丰富的网上教学资源,经常更新,在教学中发挥重要作用。网上教学资源包括:课程教学大纲、课程设计大纲、教学日历、课程设计任务书、实验指导书、教学课件、习题集、典型问题及参考程序、相关教学论文、英文版课外辅导材料、模拟试卷等。课程组成员开发的“基于WEB的《C语言程序设计》教学系统”2006年11月获得第二届全国高等学校计算机课件评比二等奖。本课程网上教学资源的网址为:。
参考文献:
[1] 刘维富,陈建平,王春明. 浅谈“C++程序设计”课程的建设与实践[C]. 第二届全国计算机课程报告论坛,2006,11.
[2] 刘维富,丁卫平,沈学华. Visual C++程序设计习题、实验与编程实践[M]. 上海:华东理工大学出版社,2005,2.
[3] 顾晖,刘维富,管致锦. 负反馈教学法的原理与实践[J]. 电气电子教学学报,2004,(4): 102-104.
[4] 邱建林,刘维富,顾晖. C语言程序设计教学的研究与实践[J]. 电气电子教学学报, 2003,(4):96-98.
[5] 刘维富. C++运算符重载教学和编程中易被忽视的问题[J]. 南通工学院学报(自然科学版),2003,(3):56-59.
[6] 刘维富. C++语言引用型变量的实现机制浅析[J]. 南通工学院学报(自然科学版),2002,(1):64-66.
[7] 顾晖. C/C++语言可变参数函数的参数传递机制剖析[J]. 电脑与信息技术, 2004,(3): 37-38.
[8] 丁卫平,刘维富,沈天晴. C++中二维数组与指针关系的深入剖析[J]. 南通工学院学报(自然科学版),2004,(3):85-87.
投稿日期:2007-2-24
作者简介:陈建平(1960-),男,江苏南通人,硕士,教授,研究方向为快速算法设计与实现等。
刘维富(1961-),男,江苏南通人,硕士,副教授。研究方向为计算机语言与程序设计等。
通信地址:江苏省南通市啬园路9号南通大学计算机科学与技术学院陈建平邮编226019
E-mail:
电话:0513-85975405,13962955020
基金项目:江苏省高校精品教材建设项目“Visual C++程序设计”(苏教高[2005]26号)
数学建模算法与程序篇3
关键词:数据结构;精品课程;课程建设;课程教学
精品课程建设是教育部“高等学校教学质量与教学改革工程”的重要组成部分,是贯彻落实《教育部关于加强高等学校本科教学工作提高教学质量的若干意见》精神,进一步更新教育观念,提高教学质量和人才培养质量的关键[1]。精品课程建设是教育新理念的体现,是新时代教学手段的具体运用,是各种教学资源的开发与整合,是学生自主学习、探究学习的窗口,是实施素质教育的新途径[2]。精品课程的建设有利于优质教育资源的传播和利用,也是我国教育事业的一次大的改革[3]。如何正确理解精品课程内涵、探索实现精品课程的科学途径,对确保这一质量工程的顺利进行具有重要意义[1]。
数据结构是计算机专业的核心基础理论课,在整个专业知识体系中占据非常重要的地位[4]。通过学习数据结构课程,不仅要为后续课程打好基础,而且要进一步提高学生的数据抽象能力和程序设计能力。数据结构课程概念多、方法多、逻辑性强、实践性强,这些特点决定了教与学的难度大,其教学水平和效果又将直接影响后续课程的学习以及学生程序设计实践能力的提高[5]。但是许多学生对于数据结构的概念、知识理解不够,思考分析能力还处于一个较低的水平,所以不少学生反应数据结构是比较难学的一门课[6]。这些年来,我校各级领导对数据结构课程非常重视,加大力度进行组织建设,特别是在教学内容组织、师资队伍建设、教学模式改革、实践环节加强以及共享资源的开发等方面,具体论述如下。
1教学内容的组织
数据结构作为计算机专业的核心基础课,主要思想是问题求解的理论与方法、抽象和设计的理论与方法等[4]。于是我们将课程内容分为概念表述、构建数据模型、算法设计与实现3个层面,突出数据组织方法与算法的实现技术,以适应不同层次的教学需求。采用面向对象的思想方法介绍数据结构的相关理论与方法,贯穿程序设计的思想观点,引入抽象数据类型的概念及其基本性质,重点培养学生的数据抽象能力,突出构造性思维训练,强化程序抽象能力和数据抽象能力的培养。
在教学过程中,我们围绕抽象数据类型,采用面向对象的思想观点,从基本概念、基本结构、基本方法来讲解教学内容,并贯穿了计算机专业的一些问题求解方法。使用熟悉的C语言作为算法描述语言,便于学生把注意力集中在算法的理解上。通过给出用C语言实现抽象数据类型的方法,使数据结构的表示容易理解。采用定义、存储以及典型算法实现来展开教学内容,并引导学生提高实际的应用能力。
我们在组织教学内容的时候注意知识点的前后呼应,而不是以简单的流线形式呈现[7]。通过实践证明,这样可以帮助学生在学习新知识的同时复习以前的知识。例如有关排序知识,在程序设计课中已经学习了冒泡排序、选择排序,在数据结构课中又学习直接插入排序、希尔排序、归并排序、快速排序、堆排序等;这些排序算法可以应用于现实生活的很多地方,学生成绩的排序、大学食堂买饭菜的排队等;同学们在学习新的排序算法的同时可以复习以前的排序算法;还可以在自己熟悉的应用问题中实现各种排序算法,并对它们分析比较,收到很好的教学效果。
2师资队伍的建设
教学质量的优劣取决于课程负责人、主讲教师的教学水平和整体的能力[8]。课程建设需要有一支结构合理、综合能力强的教学师资队伍;建设学术水平高、教学水平高的师资队伍是保证课程教学质量的关键。因此精品课程的建设过程也是筛选和培养一流教学师资队伍的过程。通过精品课程的建设,我们组建了一支由8名教师组成的结构合理、综合能力强的教学师资队伍,其中高级职称3人,中级职称4人,初级职称1人。教学队伍中所有老师具有硕士或博士学位;年龄呈现梯队结构,其中30岁以下的2人,40岁以上的2人。
本课程的教学师资队伍中不但有主持过多项科研、教研项目的教授,也有教学经验丰富的主讲教师,并配有动手能力强的专职实验教师。在课程建设过程中注重对青年教师的培养,通过“传、帮、带”的办法,使青年教师走上主讲教师的岗位,逐步挑起教学重担;鼓励中青年教师参加相关领域的师资培训学习、参加科研和教研活动等,逐步提高他们的综合能力。
3教学模式的改革
我们主要选择并推广精选案例(Selected Cases)、扼要讲解(Briefly Explain)、任务驱动(Task-Driven)的教学模式,简称SBT教学模式[9]。
第一步,任课教师在深入钻研数据结构教材的基础上,根据课程的教学目的精心选择教学案例。所选案例既能反映教学内容要表达的思想,又能让学生容易理解。因此要求教师明确数据结构课程的教学目的:学生通过本课程的学习掌握如何根据问题的需求合理地组织数据,在计算机中有效地存储数据和处理数据[10];通过该课程的实践环节,对学生进行程序设计的训练,巩固加深对数据结构的理解,提高综合运用本课程所学知识的能力,培养学生独立思考、分析问题和解决问题的能力[11]。
第二步,任课教师对教学内容进行概括,结合教学案例进行简单扼要地分析讲解,使学生理解有关概念、掌握有关操作。在教学过程中注意启发学生思考问题、分析问题,引导学生解决问题,提高学生的实际动手能力。
第三步,任课教师给学生布置具体课外任务,通过学生独立完成具体的课外任务来实施教学。其中课外任务的提出可以结合学生的特点和兴趣,使学生按自己的需求去学习,从而培养出独立思考、勇于创新的自学能力[12]。
例如在讲解哈夫曼编码的内容时,我们一般先讲一个简单易懂的实例。学生很快就能理解哈夫曼树的构造过程以及具体的哈夫曼编码形成过程。然后引导学生理解哈夫曼树的存储和哈夫曼编码的存储。在学生掌握了这些存储结构之后,再结合实例讲解哈夫曼树的构造算法、哈夫曼编码的求解算法。最后布置课后作业完成一个求解哈夫曼编码的实例程序,大多数学生能够按时完成任务,教学效果良好。
4加强实践环节
数据结构实验应能达到如下基本目标:培养学生应用数据结构基本知识来分析问题、解决问题的综合能力;帮助学生建立计算机问题求解的意识,主要是通过认识数据结构在问题求解中的地位来完成这种认识的建立;训练学生用系统的、规范的观点来进行计算机问题的分析、设计、编码等[13]。
首先,改善实验条件。在各级领导的大力支持下,我们更新了计算机专业实验机房;实验所需软件都能在新学期开学之前完成安装调试;每个实验室配备一名维护人员,负责实验室的运行与维护;设备完好率99%以上,实验开出率100%。除了规定的上机实验以外,提倡学生自己课余时间上机练习。为此,学院设有两个开放实验室,配备专门的实验指导老师对学生免费开放。机房内计算机专业学生身影不断,有的在复习教师的课堂教学内容,有的在阅读网上的参考资料,有的在下载教师布置的作业,有效促进了良好学风的形成。
其次,加强实验管理。在开学之初,主讲教师与各班学习委员确认课内上机时间,并通知到每一个学生,实验指导书、教材、习题集同时发到每个学生。每个学生必须完成教学大纲规定的8个实验项目,实验成绩占30%;所有实验实现1人1组;实验前安排1次答疑;学生上机前必须完成预习,写出完整的源程序,准备好上机步骤和调试数据。在实验过程中遇到学生提问时,老师给学生一些提示信息,尽量让学生自己将程序调试通过;实验后要交实验报告;教师批改后评定成绩,不合格的学生必须重做。
第三,注重课程设计。课程设计是对所学知识的巩固提高,是培养科研能力的重要环节。引导学生搞好课程设计的关键是选好题目与做好课程设计的准备工作。而课程设计题目的选择要和所学知识紧密联系,又与学生的创新能力培养密切相关。通过课程设计积极引导学生参加课外科技活动、校级省级程序设计大赛、大学生创新项目的探索等,以提高学生程序设计能力。
5共享资源的开发
建设精品课程的目的是通过为学生提供优质的教学资源来提高教育质量。我们在课程建设中使用网络技术手段,建设了精品课程网站。精品课程网站由以下几个部分主成:课程介绍、课程负责人、课程特
色、申报材料、教学大纲、课件与教案、教学录像、教学论坛等。其中课件与教案就是教师上课使用的课件和教案,方便学生在不同时间、不同地点进行下载,然后根据自己的需要进行自主化的学习。任课教师还把自己的实验程序、常见问题分析、习题解答等内容放到网上,供同学们学习参考。
6结语
随着计算机技术的不断发展,教学改革也在逐步深入,这必将对数据结构课程的教学提出更高的要求。因此精品课程的建设是一项长期的工作,也是一项综合的系统工程。在今后的课程建设过程中,我们要用先进的教育理念武装自己,不断扩充新的教学内容,完善教学网站,强化实践教学环节,为学生提供更多优质教学资源,培养出更多更好的符合社会需求的应用型人才。
参考文献:
[1] 侯治富,金祥雷,谷树严,等. 精品课程建设目标及实现途径的研究与实践[J]. 中国大学教学,2006(1):21-23.
[2] 李银芳. 高校精品课程建设中应注意的几个问题[J]. 中国高教研究,2007(1):91-93.
[3] 许坦,石长征. 精品课程发展现状综述[J]. 中国电化教育,2007(5):53-56.
[4] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,2002.
[5] 耿国华,王小凤,张德同.“数据结构与算法”课程工程型知识体系研究[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛论文集. 北京:高等教育出版社,2009:9-13.
[6] 顾沈明,张建科,李鑫. 数据结构教学模式的改革与实践[C]//浙江省高校计算机教学研究会. 计算机教学研究与实践. 杭州: 浙江大学出版社,2010:111-114.
[7] 刘雪梅,袁文翠,富宇,等.“数据结构”教学模式变迁的若干思考[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛论文集. 北京:高等教育出版社,2006:535-537.
[8] 耿国华. 数据结构课程改革与教学资源建设[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛论文集. 北京: 高等教育出版社,2006:150-153.
[9] 潘洪军.“精选案例,扼要讲解,任务驱动”教学模式[J]. 中国高教研究,2008(11):55-56.
[10] 王玉峰,刘宝旨,王猛刘,等. 也谈“数据结构”的教学[J]. 计算机教育,2007(15):21-23.
[11] 舒坚,刘琳岚,陈斌全,等.“数据结构”课程实践教学改革的设计与实践[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛论文集. 北京:高等教育出版社,2007:401-404.
[12] 王炳强,张植才. 任务驱动法在C语言程序设计课程中的应用[J]. 黑龙江科技信息,2009(5):53.
[13] 李治军,廖明宏,张岩. 数据结构与算法课程设计教学模式的探讨教学资源建设[J]. 计算机教育,2006(2):54-56.
Organization and Construction of High-quality Course of Data Structure
GU Shenming, WU Yuanhong, HUANG Haifeng
(School of Mathematics, Physics and Information Science, Zhejiang Ocean University, Zhoushan 316000, China)
Abstract: The characteristics of the Data Structure course are discussed. There are some problems existed in the teaching process of Data Structure, and these problems make students lost study interest of the data structure course. According to the course feature and our teaching experiences, this paper mainly discusses the organization and construction the Data Structure course, as a high-quality course. Such as the organization of the course contents, the construction of teaching faculty, the reform of the teaching form and the emphasis of the course experiments, etc.
数学建模算法与程序篇4
关键词:核心能力;程序设计;混合教学模式;线上线下
程序设计类课程是大数据智能化产业建设的基石,是承担培养工程开发技术、物联网技术、大数据开发技术、人工智能技术等创新应用型人才的支柱之一。大数据智能化背景下计算机程序设计课程主要包括C/c++方向、Java方向和Python方向。目前高校开设的程序类课程,C/C++方向包括面向过程的C/c++程序设计(基于函数),面向对象的C/C++程序设计(基于对象)和智能应用开发。Java方向包括JavaSE程序设计、JavaWeb开发和JavaEE开发。Python方向包括Python程序设计和PythonWeb开发课程。程序设计课程覆盖了大数据智能化应用专业基础课、专业核心课和专业方向课,是专业能力培养的支柱。与时俱进的程序设计类课程混合教学模式研究,是当前高等教学研究的热点。
1程序设计课程教学模式存在的问题
程序设计课程计算机类专业都在开设,但课程教学模式缺乏针对性。程序设计课程培养目标与专业大数据智能背景结合不够,线上线下教学整合的深度和广度不够。程序设计课程教学没有同大数据智能化创新应用型人才培养目标体系结合起来,没有同当前智能化时代需求和技术场景结合起来,没有同大数据智能化人才的知识结构结合起来,没有同专业课程结合起来,没有建立起适合大数据智能化创新应用型人才培养的线上线下混合教学模式体系。目前线下的程序设计课程教学模式,教学效果还存在一些问题。①课堂预习缺乏目的性。②教学活动互动参与性不强。③习题资源不够,测试操作不方便。④作业提交不及时。⑤作业评阅不方便。⑥学情统计、课堂统计和成绩统计缺乏数据支持,无法自动进行。⑦学生自学拓展缺乏平台资源。因此,大数据智能背景下程序设计课程线上线下混合教学模式构建是当前程序设计课程教学改革急需解决的重要问题。
2程序设计类课程线上线下混合教学模式构建
大数据智能背景下,程序设计课程混合教学模式构建采用基于工程教育认证、新工科建设和课程群建设的思路进行研究与实践,坚持以成果为导向,以学生为中心,以持续改进为目标[1-2]。坚持以成果为导向,依据市场和专业发展需求,确定程序设计课程培养目标和课程培养的核心能力体系,构建课程知识体系和教学资源体系。坚持以学生为中心,强调以全体学生为中心制定课程群培养目标及配置教学资源,开展线上线下融合教学。持续改进,改革课程考评体系,建立多元测评系统,强调混合教学模式教学质量监控机制和持续改进机制,不断提升人才培养质量[1-3]。大数据智能化背景下程序设计类课程混合教学模式构建主要考虑以下问题。2.1构建程序设计课程培养核心能力的体系。程序设计课程教学模式构建,需应对市场需求的大数据创新应用型人才特征进行调查分析,结合工程教育认证和新工科建设发展需求,确定专业人才培养目标[4]。专业人才培养以“面向工程、项目驱动、能力培养、全面发展”为目标,依据培养目标确定毕业要求[5-6]。根据毕业要求对程序设计类课程培养的学生核心能力进行分类分层次打造。课程核心能力体系分为通识能力和专业能力。通识能力分为口头表达能力、沟通交流能力、团队协作能力和创新应用能力。专业能力分为识记理解能力、阅读修改程序能力、程序编写调试能力、程序逻辑思维能力、系统分析设计能力、系统开发能力、项目管理能力和自主创新学习能力。根据核心能力体系重构程序设计课程体系,明确课程具体培养目标和要求。大数据智能化背景下创新应用型人才培养计算机程序设计课程主要包括C方向、Java方向和Python方向。对语言方向的每一门课程知识体系进行研究与实践,明确与核心能力匹配的课程知识体系,与课程内容匹配的学生能力目标体系。2.2构建语言-课程-平台一体的程序设计课程体系,解决程序设计课程群建设系统性问题。根据大数据智能化背景下的应用型人才核心能力的培养要求,构建面向应用、面向工程、面向能力理念的语言-平台一体化课程体系[6-7]。大数据智能化背景下创新应用型人才培养程序设计语言选择主流的C语言、Java语言和Python语言。根据核心能力培养体系开设课程,一个语言方向统一开发平台,解决学生培养知识脱节,开发平台混乱的问题。开发平台的选择要符合市场主流,选择具有模块化开发、代码分层、功能分层的框架集成式开发环境,以便提高学生解决复杂问题的能力。C方向课程体系分为面向过程的C/C++程序设计,面向对象程序设计和智能应用开发,统一开发平台可选择DEVC++,MicrosoftVisualStudio和Qt。DEVC++是C/C++轻量级开发环境,侧重于算法,VisualStudio是Window集成式开发环境,侧重于项目开发,Qt是跨平台GUI开发环境。Java方向包括Java程序设计,JavaWeb开发和JavaEE企业级开发课程,统一开发平台可选择MyEclipse和IDEA。Python方向包括Python程序设计,PythonWeb和爬虫课程,统一开发平台可选择PyCharm。同时要解决语言方向课程知识的衔接问题,确定课程标准,明确教学目标。程序设计语言-方向-课程一体图如图1所示。2.3开发在线课程资源,解决线上线下融合教学问题以全体学生为中心,应是集中学和分层分散教学的统一。线下课堂集中教学,适合课程理论知识的讲解学习,线上教学适合课程实训指导和拓展。程序设计课程线上线下融合教学过程分为资源开发、课前准备、课堂教学、课程实验、课程设计和课程总结五个过程。整个教学过程,以学生为中心,采用“参与式、启发式、研讨式”教学方法,利用平台提供的签到、章节学习、讨论、选人、分组、抢答、作业、测试、互评、群聊、通知等教学手段,实施线上线下、课内课外融合的教学模式,充分发挥教师主导作用和学生主体作用,引导学生参与互动、自主学习、创新学习,调动学生学习积极性和主动性,逐步培养学生的专业通识能力、识记理解能力、阅读修改能力、程序设计能力、修改调试能力、项目开发能力和工程实践能力[1,6,7]。程序设计课程线上线下混合教学模式如图2所示。2.4构建程序设计阶梯能力训练平台,解决能力培养平台单一问题。构建程序开发能力训练平台是一项系统工程,涉及到思维、体制和管理问题。依据学生程序设计能力培养层次,构建与能力培养匹配的阶梯能力训练模型,解决能力培养平台单一问题是程序设计能力培养的重要保障。根据学生程序能力培养层次建立课程章节训练、课程设计项目训练、方向课程综合训练、程序算法竞赛、创新创业项目训练和开发竞赛训练的阶梯式训练平台。每个阶梯训练平台要有具体的目标、训练内容、场地保障和组织管理。课程章节训练主要在课堂,解决章节模块知识的应用问题。课程设计项目综合训练旨在通过项目形式进行课程知识的综合训练,解决课程知识的综合应用问题。语言方向课程综合训练通过理论和项目形式解决同一门语言前后课程衔接和知识综合应用问题。程序算法竞赛利用一种语言工具进行算法专题训练,比如查找排序、贪心和动态规划算法等。创新创业项目训练通过创新创业项目与程序设计课程结合,提高项目分析设计和开发能力问题。学科竞赛通过对创新创业项目培养,按照竞赛文件要求,完善系统功能和文档,提高项目开发能力。通过程序设计阶梯能力训练以培养学生程序设计核心能力,提高学生就业质量。例如C语言方向程序设计课程能力阶梯训练模型如图3所示。2.5考核方式改革,解决学生能力考核科学系统性问题。大数据智能化创新应用型人才程序设计课程考核,理论知识和实践能力考核要注重全面性、科学性,突出课程培养的核心能力考核。课程考核应建立标准化考核、过程化考核和能力考核的多元测评系统[1,7]。标准化考核利用在线平台,建立标准的试题库和试卷进行课程章节、期中和期末考核。过程化考核充分利用平台对学生学习全过程活动进行记录、跟踪和统计分析。能力考核从学科竞赛、创新创业项目和科技创新方面来进行,注重学生程序设计开发能力,创新思维能力及团队合作能力的考核。同时改革考核线下操作模式,利用平台对学习过程进行大数据分析,利用在线平台进行半自动或全自动的考核方式,提高学生学习效率和教师工作效率。改革老师单一的评阅方式,建立学生互评、小组互评和教师评阅的方式,合理地分配成绩权值,建立重能力考核的观点及理念。能力考核多从单元知识应用、课程设计、学科竞赛、创新创业项目和科技创新方面来进行,注重学生程序设计开发能力,创新思维能力和团队合作能力的考核。
3结束语
本文对大数据智能化背景下程序设计课程线上线下混合教学模式构建问题进行了研究。大数据智能化背景下程序设计课程线上线下混合教学模式,应结合专业背景优势和课程本身教学需求,从教学思维、教学目标、教学内容、教学保障和组织管理方面建立起适合专业发展需求的程序设计课程完整教学体系,以提高学生学习效率和老师教学质量,提升学生程序设计开发能力,培养大数据智能化创新应用型人才。
参考文献:
[1]李昱,郭晓燕,梁艳春.应用型本科计算机专业程序设计类课程教学模式改革与实践[J].计算机教育,2020.311(11):111
[2]高晓娟,牟莉,张旭风.程序设计类课程混合教学模式研究[J].商洛学院学报,2020.34(2):60
[3]杨卫明.创新应用型信息类专业实践能力培养模式研究[J].教学现代化,2019.6(88):21
[4]王晓芳,刘鹍,赵燕.工程教育认证背景下程序设计类课程改革探索-以济南大学为例[J].合肥工业大学学报(社会科学版),2019.33(4):134
[5]乔加新,梁后军,魏苏林.构建全方位分层次程序设计类课程创新教学体系-基于新工科理念下的计算机专业[J].黑龙江工业学院学报,2019.9:20
[6]吕娜,张琎,张芊茜,史桂娴.混合教学模式在程序设计类课程中的应用[J].计算机教育,2019.5:115
[7]王瑞平.新工科背景下应用型本科院校程序设计类课程混合式教学模式研究与实践[J].科技视界,2019.8:125
数学建模算法与程序篇5
(1.甘肃农业大学 信息科学技术学院,甘肃,兰州 730070;
2.兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
摘 要:高等农业院校程序设计类基础课程以培养实践人才为根本目标,将CBE教学模式和程序设计类课程教学结合起来,在教学内容、教材及教学资源建设、教学方式等关键环节进行了综合改革,形成了2+2+3的“理论教学及实验教学相统一的课程建设体系,理论教材及实验教材相统一的教学资源建设,CBE教学方式、项目驱动教学方式及双语教学方式三层次实践人才培养过程”实践人才培养模式,培养具有“宽基础、强特色、高素质、实用性”复合型实践程序设计人才,在实践人才体系培养方面取得了显著成效.
关键词 :高等农业院校;程序设计;CBE教学模式;实践人才培养模式
中图分类号:G645文献标识码:A文章编号:1673-260X(2015)07-0265-03
基金项目:中华农业科教基金会教材建设研究项目“基于CBE项目驱动式的C语言程序设计教学模式探索与研究(NKJ201203023);国家自然科学基金(61063028);甘肃省科技计划资助项目(No.145RJYA288);甘肃农业大学教学研究项目(GSAU120226,GSAU120229);甘肃农业大学盛彤笙科技创新基金资助项目(GSAU-STS-1322)
1 引言
当前,我国农业正处在由传统农业向现代农业转变的时期,用信息技术对农业生产的各种要素进行数字化设计、智能化控制、科学化管理,能够大幅度减少农业消耗,降低生产成本,提高产业效益.根据教育部“面向21世纪教育振兴行动计划”提出的以培养人的创新思维和创新能力的创新教育来适应日新月异的科技发展和社会需求的有关精神,结合高等农业院校的具体情况,以创新教育为导向、深化农业院校学生计算机程序设计能力培养的教学体系建设为目标,对高等农业院校程序设计类课程人才培养模式进行了探索和改革.
程序设计类课程是高校计算机教育的基础与重点,是一门对理论与实验开展同步教学的课程[1].在不远的将来,程序设计和数学建模与微积分、高等代数、大学物理一样,成为所有大学的核心基础课程[2].程序设计类课程具有知识点多、概念复杂、规则繁多、使用灵活、自由度大、抽象度深等特点[3-5].我校生源中农村学生居多,基础教育阶段接触计算机较少,大学低年级阶段急需大力普及计算机基础知识、培养计算机应用能力.作为农业院校,程序设计类基础课程培养人才的目标要更明确,方法和手段要更有效,因此培养具有“宽基础、强特色、高素质、实用性”复合型实践人才是非常有必要的.
在这个培养目标基础上,学校按照国家精品课程指标体系要求,突出创新意识和能力培养的先进教育思想,强化教学全过程管理,以把程序设计类基础课程建设成为能够反映本学科领域的最新研究成果、具有农业院校鲜明特色的示范性精品课程为目标,在教学内容、教材及教学资源建设、教学方式等关键环节进行了综合改革,形成了2+2+3的实践人才培养模式,在实践人才体系培养方面取得了显著成效.
2 基于CBE项目驱动式的程序设计类实践人才培养模式
CBE(Cometency Based Education)的涵义是“职业综合能力为基础的教学模式”,简称能力教育[6].CBE教学模式的特点是教学方法多样化,一切以学生为中心,强调在实践中学习,在学习中实践[6].CBE的特点恰好和我校实践人才培养目标相符合,学校以“十二五规划”建设为契机,融合CBE教学特点,建立程序设计类基础课程实践人才培养模式,结合高等农业院校的实际,以岗位必须的知识、技能、行为意识为从业能力的基础,以能力表现为教学目标,教学进程的基准,注重“学”并以学生的学习为中心,不受时间和环境限制组织课程与实施教学,形成了2+2+3的实践人才培养模式.
2.1 理论教学内容及实验教学内容相统一的建设体系
2.1.1 理论教学内容课程体系建设
随着我国经济持续快速增长和信息技术的飞速发展,我国走新型农业现代化道路对培养新一代具有信息素养和计算科学创新能力的农业科技创新人才提出了迫切需求.以这种社会需求为导向,对农业院校程序设计类课程体系建设进行探索和改革,构建“分层次、分专业”的课程体系,贯通三大层次全校五十三个农业本科专业培养方案,将程序设计类课程按专业分三类开设,农医类专业开设VB、文史类专业开设VFP、理工类专业开设C,实现了因材施教、以社会需求为导向的目的.教学内容强调课程内多知识点融合、跨课程知识体系融合、已学与拓展知识融合、实验与课外研究融合等四方面,做到了从点到面、从单元到系统、“引导入门-基础系列-专题研究-科学研究”的循序渐进的教学过程.
2.1.2 实验教学内容体系建设
通过实验进一步理解程序设计的基本知识,通过理论和实践教学,使学生较好地掌握程序设计语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用程序设计集成环境进行程序设计语言的编写、编译与调试,达到全国计算机等级无纸化考试的要求.为配合理论教学我们将实验分为以下三种类型.第一类是基础与验证型实验,主要涉及该课程的相关知识点;着重培养学生逻辑分析的能力,学会使用流程图、伪代码描述问题,学会使用计算机的处理方法思考问题,把计算机语言的教学内容从数学游戏的圈子转变到社会实践中的计算机应用,培养和训练学生分析、解决实际问题的能力.第二类是设计与开发型实验,有效培养了学生综合应用知识与技术的能力,培养学生带着问题自主学习、寻找答案的能力.实际中结合学生信息管理系统、数值数据处理、信息数据管理等开发案例展开实验.第三类是研究与创新型实验,针对部分兴趣高、编程能力强的学生设计该类实验,重在培养学生的研究能力与创新意识.采用软件工程的方法引导学生进行分析和设计,实现完整的小型应用系统,主要以“挑战杯”、“创新杯”竞赛、SRTP项目及毕业设计的形式进行开展.
2.2 理论教材及实验教材相统一的教学资源建设
2.2.1 理论教材建设
根据《普通高等教育农业部“十二五”规划教材》的要求,并按照2013年全国计算机等级考试调整方案要求,对教材每个知识点按照“提出问题—解决问题—归纳分析”三部曲进行建设.对每个实例按照“提出实例—程序设计分析—参考程序—程序运行结果—程序分析—注意事项”几个步骤进行编写.在各知识点中,增加了一些兼具趣味性和实用性于一体的程序实例,并补充了代码风格、函数封装、程序调试、常见错误分析等现代程序设计必备的知识.这些资源通过整合后上传至网络教学平台成为网络课程,由授课教师按课程进度授权给学生使用.
2.2.2 实验教材建设
为配合等级无纸化考试要求,实验教材运行环境建立在等级考试集成开发环境下,增加了无纸化上机测试题,包括选择题、程序改错题、程序填空题和程序设计题四大部分.教材建设过程中,收集整理了大量教学资源,注重立体教材建设工作,教材全部配套编写了多媒体课件、讲义和教案,习题提供标准答案.配套课件实现“文字分层显示、算法动态演示”的功能,增强图文并茂的特点.
2.3 CBE教学方式、项目驱动教学方式及双语教学方式三层次实践人才培养模式
强调实践对理论教学的指导作用,将企业作为实训基地,建立校企长期合作,采取校企互动的方式,针对性地培养既具有扎实的基础理论知识,又能解决实际工程问题的复合型、实用型人才.实践项目内容从知识方法应用、综合设计到研究探索循序渐进,深化实验项目的层次性和工程背景,实现以工程为背景、研究方法多样、综合应用所学知识、对实验进行研究探索的程序设计类实践教学体系,从而使程序设计类课程体系更加适应社会需求,更加灵活应变.实践教学体系如图1所示.
充分利用现代化教学手段,注重各种立体化教学资源的积累和充分利用,采用项目案例递进式实训过程LTM(Learning Training Mentoring)的循序渐进的模式提高实训质量,利用网络教学平台优化课程答疑和反馈的方式和途径,改革课程的考核方式使其更有利于检验学生的能力,广泛利用网络教学平台帮助学生课后学习和自主学习,培养学生的学习能力.具体教学方式如下,教学过程见图2所示.
2.3.1 CBE教学方式
第一层次是通过互动式和案例教学法,在教师的指导下根据教学目的和要求,运用多种形式启发学生独立思考,根据遇到的实际问题,进行综合分析研究,提出见解,做出判断和决策,从而提高学生分析问题和解决问题的能力;第二层次是基本操作技能训练和基本工作能力培养,培养学生具有严谨的科学态度与规范的操作方法,采用仿真与实际相结合的手段,既加强了学生对基础理论知识的理解,又学会了知识的综合运用,使学生能运用掌握的理论知识来解决实际问题;第三层次是实践和创新能力的培养,在实习基地实现基本技能转化现实的工作方法和工作能力,实现“校园人”向“社会人”角色转变.
2.3.2 项目驱动教学方式
从农业院校实际需求出发,项目力求既结合实际,又能涵盖课程教学的要求.教师提出学生自学和开发、研究的进度,设计教学进程,以程序编制牵引理论教学,以项目开发和程序的拓展驱动教学.通过项目和实例讲授程序设计的基本概念、基本方法,把重点放在解题思路上.从开始就使学生将注意力集中在所解决的问题领域,从具体实例理解程序设计类课程的开发特点和程序总体框架,通过实例本身既学会某一类问题的解决方法和算法设计,又掌握了程序设计类课程的基本语法、语句.即在程序设计类课程的环境下,针对农业类实际问题进行分析、构建数学模型、设计算法、最后编程实现.
在学习的不同阶段设计不同针对性的实例,主要包括以下三个阶段.第一,开始阶段设计的实例是将学生的注意力吸引在程序设计类课程的总体功能和程序的总体框架上;第二,在学习中间阶段设计针对某些数据类型或应用特点的实例、针对模块分解和组合的实例、针对算法分析与设计的实例等;第三,在学习的后期进行综合课程设计,将所学知识融会贯通.在设计实例的同时还需要调整课程的教学模块,有些章节知识需提前引入,如函数、文件等,先不深入学习,仅作为宏观分析问题解决问题的工具,可在后续实例学习过程中逐步加深理解和应用.
2.3.3 双语教学方式
双语教学是贯穿于以上各教学方式中的.作为程序设计语言,其语法表达采用的就是简单而含义明确的英文单词,且上机环境也为英文界面,二者关系密不可分.程序设计课程教学中加入适当的计算机及程序设计方面的英文专业词汇,部分或全部教案采用英文形式,有助于学生专业英语水平的提高和尽快熟悉、适应以英文信息为基础的软件开发环境.
3 教学成效
程序设计类基础课程实践人才培养模式在全校推广的几年内,教学成效显著,具有显著的教学示范效果.(1)课程教学质量评价高,教学效果好.由教务处组织的学生评教结果显示,课程组的所有教师近3年的评价平均成绩均在90分以上.(2)凝练并更新教学内容,融入农业院校的特色先后编写出版了8部教材,其中《C语言程序设计》两部教材先后被列入《普通高等教育农业部“十二五”规划教材》,“VB程序设计”和“C语言程序设计”课程先后被评为甘肃农业大学校级精品课程.按照省级精品课程建设要求,搭建了程序设计类课程学习网站,并开发了程序设计类课程学习论坛.(3)学生学习效果整体得到提升.我校学生参加全国计算机等级考试(二级)的过关率逐年稳步上升,并在全省高校中名列前茅;参加全国计算机等级考试(三级、四级)的学生人数逐年增加,过关率也有所提高.培养模式应用推广期间,课程组教师负责指导学生参加学校SRTP项目50余项;指导学生参加第一、二、三、四届甘肃省“创新杯”计算机应用技能大赛,共获奖项30余项,参与学生90余人;指导学生参加全国大学生数学建模竞赛,共获奖项8项,参与学生24人;指导学生参加全国大学生电子设计竞赛、共获奖项3项,参与学生9人;指导学生参加甘肃省“挑战杯”课外科技学术作品竞赛,共获奖项3项,参与学生10余人;近三年内课程组成员指导学生累积获得省级以上奖励120余人次.我校生源中农村学生居多,基础教育阶段接触计算机较少,但在全国计算机等级考试中通过率已连续多年高于全省高校平均水平.
4 结束语
高等农业院校程序设计类基础课程以培养实践人才为根本目标,将CBE教学模式和程序设计类课程教学结合起来,形成了特色鲜明的2+2+3
数学建模算法与程序范文
本文2023-12-20 14:57:08发表“文库百科”栏目。
本文链接:https://www.wenkubao.com/article/5248.html