HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 程序设计实训总结

程序设计实训总结

时间:2022-12-31 17:48:43

程序设计实训总结

第1篇

【关键词】实训;教学内容;教学方法;考核方式

0.引言

C语言程序设计实训这门课程要求学生掌握计算机程序设计语言的基本知识和程序设计的方法与技术,培养学生应用计算机解决实际问题的能力,重视学生实际编程能力和程序思维能力的培养,通过学生上机编写程序来提升学生的编程能力,培养学生的学习兴趣和创新能力。

C语言程序设计为其前导课程,是对其前导课程知识的巩固、实践与提升,是ACM程序设计课程的基础,通过此次实训为程序设计比赛和ACM大赛输送人才,使更多的学生在全国的各种编程比赛中取得好成绩,同时为学生毕业后从事编程工作打下良好的基础,为企事业单位输送程序设计人才。

本人根据C程序设计实训课程教学中存在的问题对教学内容、教学方法,考核方式进行了改革,并以本校2010级软件班学生为试点进行教学,总结了一些经验。

1.教学中存在的问题及解决对策

1.1实训内容单一

实训教学内容应该首先根据C语言的特点对知识进行整合,然后引入针对性较强的典型综合实例,从程序整体向各个核心知识点渗透。教师可以根据学生的实际情况设计实训项目,内容应覆盖学生所学的知识,突出实用性,内容最好为学生所熟悉领域或学生感兴趣的领域。如果学生层次不一,可以根据学生对基础知识的掌握情况设置不同的实训内容。

1.2教学方法单一

在实训教学过程中,应将重点放在分析程序设计过程上,培养学生良好的编程习惯,逐步提高学生编程能力。单一实训手段要达到这一目标是很困难的,这就要求运用多种实训教学方法,让学生对编程有个很好的理解过程。

可以引入多种教学方法。以前的实训课程不能激发学生的学习兴趣,主要是因为课堂是由老师主载,学生是被动的学习,不能成为课堂的主人。我们将采用多种教学方法来激发学生的兴趣,转变老师和学生的课堂角色。

(1)基于ACM模式的教学方法。ACM的教学模式是结合具体的问题讲授概念与理论,辅以课堂讨论,做习题等多项教学手段。在教学过程中,安排学生深入有关实际问题进行研究,加深对所学理论的认识,利用网站进行程序设计。以往的教学是按照基础知识、循环结构语句、结构体语句等知识点的顺序进行讲解。基于ACM的教学方式是按照习题所属知识类别进行理论讲解,离散数学、初等数论、数值计算、人工智能、动态规划算法、图算法等知识点进行讲解与练习。ACM的教学模式在一定程度上将基础学科很好地运用于程序设计当中,有利于知识的融合,可以提高学生的思维能力,在做练习时举一些趣味习题,激发学生的兴趣。

基于ACM的教学方法的优点如下:

①知识分类讲解可以加深学生对知识的理解,更加系统。

②ACM所选的题目趣味化生活化,可以激发学生的学习兴趣。

③题目所含知识面广泛,有利于知识的巩固。

④分组培养大家的团队协作精神。

⑤学生讲解培养学生的表达能力与思维能力。

(2)讨论式教学法。由于每一道程序题可以有不同的编写方法,答案不唯一,所以很适合使用讨论式教学方法。将学生以三人为一个团体进行分组,在组内讨论编程方法,上机编写程序并进行验证,由组内推举成员向大家进行讲解和演示,有不同编程方法的组可以继续演示,最后由老师进行总结,并选出时间和空间复杂度最小的程序,同时也可以发现学生在编程过程中出现的常见错误,发挥学生的团队精神,提高学生的表达能力。

(3)任务驱动法。在实训课堂上,学生需明确要完成的任务,依照实训任务完成实训。题目由易到难,知识点由单分支到多种分支情况的应用,这样适合学生学习特点及编程由易到难的编写过程。

1.3考试一锤定音

这门课程主要是培养和检验学生的编程能力,所以不能以一次考试来决定学生的最终成绩,检验过程应该贯穿整个学习过程。引入过程性考核思路,总成绩分部累加。采用平时计分和最终考核相结合的方式,以每节课的发言演示情况来给出平时等级,一学期进行累计,按累计成绩进行排名,前三分之一学生可以免去最后的考核,以平时成绩作为最终成绩,这样也可以激励大家踊跃发言,剩下的学生参加最终考核,最后成绩由平时成绩和最后一次考核的成绩各占一部分比例来组成。通过实践检验,课程考核方法改革后,考核出了学生的实际操作水平,用过程性考核思想后,在学习过程中时刻检验学生的学习接受掌握情况,加大了课程全程质量监控力度,课程考核结果基本能够反映学生学习后真正的计算机应用能力水平。考核结果公平、有效,这也是现在倡导的全过程考试。

2.总结

通过对C程序设计实训课程的教学内容、教学方法、考核方式的改革,并对2010级软件班学生进行试点后,使学生理解模块化程序设计的基本思想,掌握结构化程序设计的基本方法,掌握C语言的数据结构、程序结构、语句以及控制结构的使用方法,能用程序设计技术解决一定难度的实际问题,掌握在实际开发环境下进行编辑、编译、连接、调试和运行的方法;综合训练学生分析问题的基本方法,提高解决实际问题的能力,培养学生的专项技能和职业能力。

【参考文献】

[1]王嵩.C语言程序设计.教学探索与实践[J].教书育人,2006,(35).

[2]王美娜.C语言程序设计.教学方法探析[J].科教文汇(下旬刊),2007,(04).

[3]曾鸿.基于项目的软件工程综合实训教学模式[J].中国职业技术教育,2008,(12).

[4]王丽娟.C语言程序设计教学分析与探索[J].中国校外教育(理论),2008,(S1).

第2篇

【关键词】程序设计;以赛促教;启发式教学;趣味教学

一、课程定位

程序设计基础这门课程是在学院第一个学期开设,共有56个学时,这门课是学校计算机应用技术专业的一门基础课程。学院对此专业的培养方案的初次岗位定位中有软件开发技术员岗位。根据计算机程序员岗位的职业要求,具体工作流程总共分为五部分:需求分析、系统设计、程序设计、程序调试、交付与维护。不难看出程序设计在其中占有至关重要的地位。程序设计基础课正是来源于此,该门课程是培养程序设计员基本程序设计能力的一门基础课程,在计算机应用技术专业人才培养方案的课程体系中属于专业技术课程中的基础课。

《程序设计基础》是直接面向程序员职业岗位的一门课程,课程的学习目的是使学生掌握结构化程序设计的基本方法,培养程序设计的思维能力,为后续课程《C#程序设计》、《数据结构》、《WEB程序设计》、《面向对象程序设计》等课程的学习奠定基础。

二、课程设计

为了符合学院提出的“走进校门的是大学生,培养出来的是职业人”的育人理念,和计算机应用技术专业要培养具有优势职业品质与技能,面向现代服务业培养管理、服务第一线岗位的高素质技能性职业人的专业目标,《程序设计基础》的课程设计思路是以培养程序设计能力为目标,以实战项目为载体,实现教、学、做一体化。

在教学过程中以案例为先导,学生完成演练为手段。这门课程要达到的品质目标是以能力与知识相结合、以培养全面发展的具有优势品质与技能的高素质应用性职业人为培养目标,培养学生严谨细致、求真务实的工作作风和良好的团队协作精神。技能目标是掌握结构化、模块化程序设计方法与技能、培养自主学习独立思考能力。知识目标是学会C语言的基本语法,掌握基本的算法、能够编写基本的C语言程序。

课程内容的选取依据计算机程序员岗位需求、典型工作任务、行业技术动态发展趋势、高职学生特点,分为理论教学和实践教学,课时分配是1比1,其中实践教学每一个模块都以项目案例为导向,案例大多选自杭电的ACM平台,同时也配备了为了激发学生学习兴趣老师自己创作的案例,比如剪刀石头布游戏,猜数字游戏等。

高职学生属于高考最后批次,文化基础知识相当欠缺,体现在C语言上,英语出错提示看不懂,甚至有学生反映在C语言中的英语语句关键词都不认识,在数学上同样存在基础相当差的问题,成为学习C语言的极大障碍。学生从小接触计算机就在Windows下运行,习惯了用鼠标,而C语言运行在用键盘的命令行界面上,一个字都不能输错,对初学者有一定难度。这门课程的重点是:三大基本语句程序的设计、数组的定义与引用、函数的定义与参数传递;课程的难点:选择与循环的嵌套、函数嵌套与递归调用、指针等。针对学院高职学生的特点,对于重难点的解决方法是从提高学生学习主动性方面突破首先,要激发学生的兴趣,包括两方面的内容:第一兴趣教学,尽量选取学生感兴趣的题目或项目进行教学,如猜数游戏,石头剪刀布游戏等。第二实用教学,解决学生学了有什么用的困惑,尽量选取贴近生活实际的题目,如百元钱兑换方案、谁是骗子等,让学生感受到学后能解决问题的小小成就感。

三、教学实施

教学实施流程分为三个阶段:准备阶段,实施阶段和总结阶段。在准备阶段中,根据课程标准,主讲教师组织任课教师讨论,选择典型的工作任务,制定教学计划。实施阶段以学生为主体,以教师为主导,以职业能力培养为中心,融‘教、学、做’为一体教学。总结阶段主讲教师组织任课教师讨论,提出存在问题,找出解决方案。

针对课程特点,灵活使用“启发式教学”、“趣味教学”“任务驱动”等方法,突出“理论教学构筑学生的知识结构,实践教学构筑学生的职业技能结构”的教学原则。课程教学全面推行“学中练,练中学”教学思路。

接下来以循环结构的第一次课为例来阐述一下教学流程:学生对循环结构没有概念,对while和dowhile语句也不感兴趣,为了提高他们的学习积极性,首先使用五分钟的时间情境导入,选取杭电ACM平台上面的三个案例:猜数字游戏,百钱百鸡问题,谁是骗子,在学生对将要学的知识有了一定的期待后,用十五分钟的时间讲解相关的语法知识,接下来通过解决案例的方式教师给学生示范编程,并且给学生留出一定的时间自己动手实现,最后十分钟进行总结反思。

这门课程的教学评价由三部分组成:其中平时成绩和课内实验成绩分别占20%,期末笔试成绩占60%。

四、教学条件

程序设计课程有一支不论是年龄结构还是职称结构都比较合理的教学团队,每个老师都有自己的优势,有的具有多年的企业编程经验,有的主持多项相关的省级课题,有的对指导学生程序竞赛有丰富的经验。此外课程聘请杭电ACM集训队教练刘老师担任学校ACM集训队特聘教练,刘老师也参与系相关的实习实训活动。

该门课程的教学资源也很丰富,主要包含以下几个部分:教学大纲、授课计划、教材、实验实训项目指导书、多媒体教学课件、网上C语言精品课程、试题库、图书资料等。教材选用谭浩强教授编著的《C语言程序设计》,系周岳松老师自主研发了客观题在线测试软件,该软件分为教师版和学生版,教师版可用于平时随堂测试,学生版可用于学生自主学习,网络资源主要有C语言网等。学院也提供了相应的硬件支持,设有软件开发实训室、大学生程序竞赛实训室等多个实训室。

五、教学效果

校内督导组和校外专家都对《程序设计基础》这门课程给予了充分的肯定,专家评语是以项目为导向,以任务驱动,符合高职教育教学特点,以提高学生的编程能力为宗旨,能较好符合企业对软件人才的需求。

迄今为止,该专业共有一千七百余人修了这门课程,取得了丰硕的成果。我校代表队参加了十届浙江省大学程序设计竞赛,共获32块奖牌,尤其去年今年连续两次获得专科组的特等奖,同时四次获得优秀组织奖。除了ACM竞赛,在蓝桥杯比赛中我系学生也取得了不错的成绩。

通过这门课的学习,锻炼了学生的逻辑思维能力和基本程序设计能力,为以后的工作和创业打下了坚实的基础,2008级计应学生林清瑞,曾经参加ACM竞赛并获得银奖,自主创业,建立了杭州安豆信息技术有限公司,从事手机游戏开发。2003级计应学生黄道笑,自主创立了杭州五角星科技有限公司,从事网站开发。2010年公司销售额超过了200万;2011年被评为杭州市高新技术企业;2012年被评为杭州市雏鹰计划企业。

六、课程特色

这门课程特色:以赛促教,赛教结合。把ACM竞赛平台里面的题目融入到平时的教学过程中,也会把平时表现好的学生充实到竞赛集训队伍里面;教学结合,学以致用,教师指导,学生自主研发一些小游戏,比如石头剪刀布的游戏。

参考文献:

第3篇

一、YL-236单片机实训室建设

建设一个科学合理单片机实训室是保证该课程顺利有效实施的基础,选择一套合适的单片机实训设备是建设单片机实训室的关键。我校选择的是亚龙公司YL-236型单片机控制功能实训考核装置,这套实训考核装置是根据职业学校单片机及其应用的教学内容和要求,按照职业岗位的工作内容研发的实训考核设备,而且兼顾了市省国家单片机技能竞赛设备要求。单片机实训室面积、设备台数、设备摆放要视各学校及专业班级人数情况而定。为了便于安全管理和美观,空中电源走线接至各实验台,总电源箱控制。除此单片机实验柜数量摆放、辅助教学的投影、实训室制度、文化建设也是实训室建设的重要内容。

二、单片机实训前管理教育

为能使单片机实训顺利有效实施,实训前教育管理是必须的,而且要将实训全方位要求细致讲解到位。我校在单片机实训第一天前两节课专门用于管理教育,主要包括安全教育、设备维护教育、出勤教育、成绩过程考核教育、室内规定教育等。

三、单片机实训教学过程(案例)

我校单片机教学以实训课方式开展,能够让学生理解单片机开发过程,不仅从软件设计能力上得到了提升,而且也提高了硬件设计能力,对于推动职业学校课程改革工作具有积极意义。单片机实训设备选择的是YL-236,教材选用的是针对YL-236而编写的单片机控制项目训练教程,下面以一个完整的单片机实训项目案例(电子密码锁)分四个步骤来阐述我校是如何开展单片机实训教学过程的。

1.项目任务要求

教师提出本项目任务要求:使用YL-236型单片机实训考核装置设计一个电子密码锁。

具体的任务要求如下:(1)用4×4行列式键盘组成0-9数字键及确认键。(2)用8位数码管显示输入的密码及当前状态信息。(3)用一个独立继电器,控制密码锁开关。继电器得电为开锁状态,继电器断电为关闭状态。

任务功能:(1)上电后,数码无显示。(2)当按下数字键0-9中任意按键时,数码管靠左显示按下数字,再次按下任意键,数码管靠左第二位显示当前数字,以次类推,当数码管8个LED都有显示数字后,不响应继续输入的数字按键。(3)当按下确定键后,单片机对输入的密码与设定密码进行比较,若正确,则控制继电器开锁,若错误,数码管清屏,继电器关闭。(4)开锁后保持20 s,然后自动进入关闭状态。

2.项目任务分析及串讲知识点

本项目比较复杂,教师指导学生将复杂项目分解成多个简单的小项目完成:(1)按键显示电路程序设计。(2)密码检验电路程序设计。(3)整个项目程序设计。

由教师介绍相关知识点:(1)定时中断相关寄存器初值设定、中断函数编写、工作执行过程理解。(2)中间继电器工作原理、程序实现。(3)键盘扫描实现过程、程序理解。

3.项目任务实施

教师分三个部分演示本项目的实施:(1)硬件接线。(2)项目程序编辑:关闭项目、新建项目、新建源程序、程序代码输入、编译链接。(3)项目仿真调试:下载程序代码、运行查错、硬件接线错误、硬件本身故障、软件程序错误、观察实验现象与项目要求一致。最后,学生根据教师的演示分别开始实施项目,教师巡回指导、检查打分情况。

4.项目总结评价

教师进行项目实施情况验收和评价,好的给予积极肯定,对不足的方面提出建议。随后教师再提出问题,与学生进行讨论,加深学生对知识的理解,并进一步拓展理论知识,使学生能够通过项目达到掌握相关知识点和基本技能,从而达到本模块的教学要求。在总结评价中常提出这三个问题:(1)本次学习过程中的收获和有待解决的问题。(2)工作任务的总体完成情况。(3)完成工作任务步骤。

第4篇

关键词:程序设计;实验教学;协作式教学

中图分类号:G642 文献标识码:B

程序设计是计算机专业学生必须掌握的专业技能,我校对该类课程的教学十分重视,学生的学习兴趣也都很高,但教学效果普遍不太理想。我们结合近年来从事实践教学的经验,就计算机程序设计类课程的实验教学模式的改革做了以下探讨。

1注重教学内容的系统性与科学性

程序设计类课程之间的内容具有一定的连贯性,如目前大多数的院校先在一年级开设C或C++,接下来就是基于C或C++的数据结构和面向对象程序设计,因此我们一定要合理、科学地安排这些课程的实验教学内容。如在C语言课程中除了讲授基本的程序设计的语法使用、程序设计的思想之外,还必须花一定的时间讲解结构和链表,以及逐步灌输面向对象一些思想,为后继C++和数据结构等课程打好基础,注意内容的系统性,避免重复[1,2]。

注意教学内容的不断更新。计算机技术的发展非常迅速,我们应该根据学科发展、经济发展及市场人才的需求来及时地更新教学内容。我院从最初的“Pascal语言程序设计”、“C语言程序设计”到后来采用以C++语言为主要编程语言。如在程序设计基础课程中以C++作为基础语言,在“数据结构”课程中以C++语言代替C语言,在数据库课程中以Visual C++作为前台开发的实验环境。近年来根据社会对计算机专业人才的需求以及程序设计发展的趋势,目前我院计划计算机专业学生以Java作为基础语言课程(软件专业继续开设C++语言课程),并增开基于.net的相关课程。

2实验教学和理论教学有机结合

将实验教学与课堂讲授有机结合起来,进行恰当衔接,可以提高学习效率。首先,教师必须充分准备好实验的内容,及时解决学生实验过程中遇到的问题,同时采纳学生提出的合理化意见并及时改进。其次,在每周一次的教研活动时,同门课程的教师可集体备课,研究教材与实验教学的方法,讨论学生的学习情况,交流心得,研究考

试及评分方法。

理论课教师需兼上实验课,这样可以了解学生的实验课情况,并经常把学生出错的问题和难理解的问题通过课堂再次讲解,同时应与本课程的其他实验课教师沟通交流,便于课堂教学的改进,把理论课与实验课统一组织、计划,避免理论课与实验课脱节。

3注重基本技能的训练,培养学生分析解决问题的能力

(1) 基本技能的训练

程序设计类课程是实践性非常强的课程,通过基本语法知识、基本算法的学习,最后形成一系列的基本技能,包括语法知识的灵活运用、上机调试技巧、编写代码等。因此在实验教学中应有意识地进行这些方面的训练,比如带领学生读一些经典的程序,分析经典的算法并进行模仿,上机调试程序并对运行结果进行评析,对已有程序进行修改实现新的功能。通过以上训练,学生既复习了基本的语法知识,又获得了一定的技巧。

实验教学是教师和学生的共同活动。但是目前一些学生基础比较薄,动手能力和独立工作能力相对也较差,加上或多或少的惰性,因此依赖教师的情况比较严重。为此我们在实验教学中开展了协作式教学方法,增加了学生与教师的互动,培养学生分析解决问题的能力,收到了良好的教学效果。

(2) 开展协作式教学法

学生成立学习小组,每组4~5人,在每次实验课和课余时间,每个小组对教师事先布置的内容进行讨论,并且将讨论内容进行总结。下次实验课上教师要留出一点时间让每组总结讨论结果,必要时教师做简单的总结。教师发现好的设计思路和想法时,应鼓励各小组之间相互学习、相互讨论、集思广益,发挥大家的创造力去将这些好的想法加以实现。充分利用开放的交互网络实现资源共享,如网上答疑、网上聊天、BBS、讨论区,同学们可就学习中遇到的问题展开讨论,任课教师可定期为同学们解答。同时在有限的设备条件下,学校应尽量提供更好的实践环境和实践机会,尽可能地开放实验室,鼓励学生独立工作,培养独立思考的能力和创新精神[3]。

4考试和评分方法的改革

根据计算机程序设计课程实践性强的特点,我们在考核中提高了平时实践和讨论的成绩比例,占到50%甚至更高。平时实践中增加单元考核的内容,并将每次考核的分数按相应比例记入总评分。另外由于开展了讨论教学,因此教师根据学生的情况和小组的考评情况将每次讨论成绩按比例记入总评。在期末的实验考试中,利用开发的实验教学平台进行上机考试,学生随机从试题库中抽取试题(与平时训练的题目类似),然后由系统自动评判。这样即节省了老师批改试题的时间,而且可以减少相互抄袭现象。由于考试题目与平时训练的题目类似,可以促使学生在平时实验中独立分析问题,解答问题。

在每学期末,我们用2周的时间开设课程设计,让学生结合自己的专业或兴趣进行选题,然后自编程序上机调试,完成一个大作业或一个相对完整的系统。通过这一过程可让学生了解并熟悉整个系统的开发过程与操作的步骤。我们认为,通过考试和评分方法的改革能更好地考查学生应用计算机的水平,更好地培养学生把学到的计算机基础知识和基本能力应用到专业实际问题的处理上。

5小结

这几年的教学实践表明,上面介绍的一些整合思路是行之有效的,激发了学生程序设计的兴趣,开发了学生的潜能,提高了学生的编程能力和解决实际问题的能力。这几年我们在大学生ACM竞赛、省市级的程序设计大赛中取得了优异的成绩,有大批的学生通过了国家级程序员、高级程序员资格证书。计算机知识和技术更新非常快,对于培养这类人才的专业课程,特别是程序设计类课程,必须及时更新教学理念,科学进行课程设置,合理安排教学计划,运用网络化教学手段,在教学内容、教学方法和考核方式上进行一系列的更新与整合,以适应新形势下人才培养的需要。

参考文献:

[1] 张敏霞. 程序设计语言课程教学方法改革的探索与实践[J]. 中国高教研究,2004,(2):90.

第5篇

经过数十年的发展,数控机床的控制部分已经从硬件为主的数控装置发展成硬件、软件结合的计算机数控(computernumericalcontrol,cnc)系统。由于数控机床是根据事先编好的程序来实现自动化控制加工的,因此其发展和数控编程密切相关。程序的灵活、精练编制有利于降低加工成本和提高生产效率,具有明显的实用价值。在这次毕业设计中,我对数控机床编程的有关指令,以及编程的一些技巧等进行了探讨。通过一些指令的灵活综合运用来实现程序编制的简单和精练,使数控机床在加工中发挥更大的优势。以此来开拓数控机床更广阔的发展前景。

绪论一、《数控加工与编程》实训的目的1、熟悉了解数控车床、数控铣床、数控加工中心的结构组成及工作原理。

2、熟练掌握待加工零件的装夹、定位、加工路线设置及加工参数调校等实际操作工艺。

3、熟练掌握阶梯轴、成型面、螺纹等车削零件和平面轮廓、槽形、钻、镗孔等类型铣削零件的手工及自动换刀的编程技术以及复杂曲面零件的自动编程技术。能分析判断并解决加工程序中所出现的错误。

4、学会排除机床电气及机械方面的一般性故障。

5、熟练操作数控车、数控铣床、并能加工出中等复杂程度的零件。

6、能初步使用加工中心机床,了解刀库及其设置,了解加工中心的加工过程与特点

7、初步了解与掌握程序转存和联机控制等dnc加工方面的知识及操作方法。

8.复习掌握数控技术职业资格考试要求的其它应知、应会的内容。积极争取通过职业技术资格考试。

二、实训内容与实训计划安排1、实训的主要内容

1.1数控车床的操作与编程训练

(1)、操作面板的熟悉和控制软件的基本使用。

(2)、坐标系的建立,工件和刀具的装夹,基准刀具的对刀找正。

(3)、基本编程指令的讲解。手工编程与程序输入训练,空运行校验。

(4)、固定循环指令的讲解。编程与程序输入训练,空运行校验。

(5)、螺纹零件的车削编程训练。学会排除程序及加工方面的简单故障。

(6)、刀具补偿及编程训练。手工换刀与自动换刀的基本操作。

(7)、多把刀具的对刀、刀库数据设置。

(8)、实际车削训练,合理设置各工艺参数。

(9)、理论课:复习总结车床加工的应知、应会内容。

1.2数控铣床操作与编程训练

(1)、操作面板的熟悉和控制软件的基本使用。

(2)、坐标系的建立,工件和刀具的装夹,基准刀具的对刀找正。

(3)、基本编程指令的讲解。手工编程与程序输入训练,空运行校验模拟。

(4)、轮廓铣削和槽形铣削编程训练与上机调试,掌握程序校验方法。

(5)、刀长与刀径补偿及编程训练。手工换刀基本操作,多把刀具的对刀、刀库数据设置。

(6)、子程序调用技术,程序调试技巧,钻孔加工的基本编程。

(7)、实际铣削训练,合理设置、调校工艺参数,排除基本故障。

(8)、了解润滑与冷却系统,机床的维护与保养。

(9)、理论课:复习总结铣床加工的应知、应会内容。

1.3加工中心机床操作与编程训练

(1)、操作面板和控制软件的简单用法。

(2)、刀具基本知识及应用状况了解。刀库结构与自动换刀装置的初步了解。

(3)、加工中心编程的特点。手工编程与程序阅读理解,空运行校验。

(4)、固定钻镗循环编程与上机调试。

(5)、刀具补偿及编程训练。多把刀具的对刀、刀库数据设置,自动换刀的程序实施。

(6)、理论课:刀具基本知识及其它应知、应会内容。

1.4自动编程与dnc控制训练

(1)、自动编程系统原理的了解。

(2)、图纸分析,基本加工零件图形的绘制,复杂曲面类零件的绘制。

(3)、轮廓铣削、挖槽、钻孔等基本刀具加工路线的建立。

(4)、工艺参数、刀具补偿等的设定,模拟加工校验。

(5)、曲面铣削加工刀路的建立,粗、精加工的参数设定。

(6)、刀路的编辑。

(7)、程序的生成与编辑修改,程序与机床控制系统间的接口技术。

(8)、车床的自动编程技术。

(9)、自动编程的实用训练、dnc加工。

第6篇

[关键词]Profibus 实训系统 Wincc 项目教学法

一、课程设计

企业想要立于不败之地就必须提高企业竞争力,而提高生产效率则是提高竞争力的主要途径,这就需要生产过程实现自动化,《Profibus现场总线应用技术》是为适应市场需要,企业需求而产生的一门实用的课程。该课程是以自动线实训系统为载体的,以能力逐步提高为方向。该课程是基于典型工作岗位,对自动线典型工作任务的分析之后,确定了该课程需涉及的学习领域及学习情境,共有三个学习情境,14个教学项目。在课程设计方面较以往的重理论附加上机实训的课程不同,本课程是建立在以工厂现实的情景为缩影的自动线实训系统的基础上的,这样即可以学习理论知识也可以了解工厂的具体情景。教学内容是以培养职业能力为核心,教学过程是以完成项目为目标,本课程时间短任务重利用项目教学法完成对学生的学习能力、方法能力和社会能力的培养。

二、实训条件

该课程是建立在自动线实训系统的基础上的。自动线实训系统。即工业自动化生产加工系统模型自动化控制技术实训系统是机、气、电一体化系统。该系统由加工模块、检测模块、温度控制模块、材料分拣模块、堆垛模块、立体仓库模块等6个模块组成。综合了机械、电子、自动化、PLC、机器人、典型控制系统及工业现场总线等最新工业控制技术。各模块可以单独自成系统,接收上位机的下载程序并运行系统。各模块也可通过现场总线与上位机一起构成一条现代加工、现代物流的全自动线。上位机能对自动线上的各模块运行状态进行全过程监控。自动化控制技术实训系统是现代工厂实际生产场景的真实缩影。它为实现校企融合,培养企业高技能自主人才提供了良好的技能实训平台。

加工模块。一个工件加工顺序控制系统的技术实现。它包含有机械手点位控制技术,光电传感检测技术,步进电机控制技术,气动控制技术以及PLC程序控制技术。这个教学模块可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

尺寸测量模块。一个尺寸精确测量系统的技术实现。它包含有机械手点位控制技术,光栅测量技术,气动控制技术以及PLC程序控制技术。这个教学模块可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

恒温控制模块。一个恒值控制系统的技术实现。它包含机械手点位控制技术,位置控制技术,光电传感检测技术,步进电机控制技术,气动控制技术以及PLC程序控制技术。它可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

质地颜色分检模块。一个简单智能控制系统的技术实现。它包含有机械手点位控制技术,位置控制技术,光电传感检测技术,交流伺服控制技术,气动控制技术以及PLC程序控制技术。这个教学模块可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

堆垛模块。一个简单智能控制系统的技术实现。它包含有位置控制技术,光电传感检测技术,交流变频控制技术,气动控制技术以及PLC程序控制技术。这个教学模块可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

立体化仓库模块。一个简单智能控制系统的技术实现。它包含有位置控制技术,步进电机控制技术,光电传感检测技术,气动控制技术以及PLC程序控制技术。这个教学模块可以单独构成系统与教学机系统配合实现上述控制技术的教学与实训,也可和其他模块一起构成一条工业自动化生产加工线实现PROFIBUS现场总线控制技术的教学与实训。

三、教学情境设计

为了确定企业的需求和自动化专业方面人才所以掌握的技能,我们针对汽车行业进行了调研。我们走访了一汽大众的冲压、油漆、焊装及发传等主要车间,发现这些车间在电控方面都用了PLC作为主控单元,同时上位机监控和总线技术。根据典型工作任务确定好所需技能后,确立了三个学习情境,分别是PLC的程序设计、Wincc组态软件Profibus现场总线技术。每个情境都有具体的项目,如图1所示。

图1 课程结构和项目组成

四、教学方法

项目教学法大体可分为三个阶段:(1)项目准备阶段:确定项目实施方案;(2)项目实施阶段:项目计划实施,师生共同解决项目运作中的难题;(3)项目评价阶段.项目功能演示,答辩与测评。项目评价阶段,聘请厂内专家及技术人员一起对项目结果、对学生、对教学进行总体评价。老师和专家们一起开发设计课程教学模块。

在项目教学法的实施过程中老师的工作任务由传统的课堂教授转变为,设计项目、准备材料、引入课题、布置任务、引导帮助和总结评价六个阶段。学生的任务由以前的被动学习转变收集材料、制定计划、决定方案、实施计划、综合调试、项目答辩六个任务。

在教学方式上,我们主要以体现培养学生职业能力,尤其是方法能力与社会人性化能力的“项目教学法”来完成课程教学,教学过程充分调动学生的学习积极性,主动性。他们是主体,老师给与辅导。这样不仅培养了学生的知识技能,而且培养了他们的团队合作能力、交流沟通的社会能力。学生们在实际项目完成的过程中达到本课程的教学目的。

五、考核方式

1.评价方式

组成项目验收小组,该小组由每个项目组的组长和老师共同组成,对该项目进行测试、答辩和验收。

2.评价过程

(1)学生答辩、自评、互评;

(2)验收作品,并对作品指标进行测试;

(3)提交项目报告书,包括电子版Word文件以及汇报验收的PPT文件;

(4)提交学生自评表,项目评价小组给出的评语评分表

3.项目评价评分标准

表1 项目评价评分标准(50分)

六、结束语

目前,其它院校还未开设《Profibus现场总线应用技术》这门课程,我们本着新颖、实用的原则来建设这门课程。现有的实训系统和合理的课程项目模块,是该课程存在的特色,也是学生学习新技能的基础。

参考文献:

[1]胡建.西门子S7-300PLC应用教程[M].机械工业出版社,2008,(3).

第7篇

关键词:教学内容;教学手段;教学方法;考核方式

C语言是早期最经典、最强大的面向过程的程序设计语言之一。虽然现在面向过程已经全面转向面向对象,但是C本身的中级语言的设计理念以及对现有VC/C#等语言的深刻影响,使其至今仍是程序设计入门的首选语言,也是工科院校计算机专业学生接触的第一门程序设计语言。对于计算机类专业学生来说,一旦掌握了C语言,就可以较为轻松地学习其他任何一种程序设计语言,为后续的面向对象程序设计以及Java程序设计等语言的学习打下基础;对于其他非计算机专业的工科学生来说,比如电子、机电专业来说,该课程为学生用计算机编程解决实际问题提供了方法,是学习单片机技术教学的基础和重要工具。

一、C语言教学中面临的问题

C语言程序设计是一门基于dos操作系统下的面向过程的程序设计语言,随着面向对象语言的开发,C语言在界面交互性上逊色不少,作品上也不如Flash、三维动画效果吸引眼球,难学、难懂、难以应用的课程,对学生越来越缺乏吸引力。针对这种状况笔者认为,更新教育观念、探索新的教学模式才是根本出路。笔者根据多年的教学经验,对C语言程序设计课程从教学内容、教学手段、教学方法、考核方法方面进行了一系列的创新改革。教学内容主要解决如何调动学生积极性,激发学生创新能力,如何提高学生的创新能力、实践能力、研究能力、发现问题和解决问题能力等综合素质;教学方法主要解决如何实现“以人为本”,分层次教育,如何通过引导、启发等方法,激发学生的发散性思维。同时要利用目前课堂和实验教学在培养学生创新能力和实践能力方面的优点,利用大学生实训基地,为学生的创新和实践能力的锻炼和培养提供一个良好的平台。

二、教学内容的创新

课程内容的选取与组织是课程教学改革的基础。人才培养方案对C语言程序设计教学内容进行重新整合,把课程学习划分成培养学生的基本程序设计能力和培养学生的专业程序设计能力两个阶段。

第一阶段安排在大一第一学期,主要针对没有程序设计经验的大一新生,重点讲授C语言的基本知识,包括三种基本结构、数组、函数的概念。在第一阶段教学中,笔者采用案例教学方法结合具体的程序实例,创设情境,引导学生自己总结掌握C语言的基本语法和程序设计的基本方法。第一阶段的学习结束的时候,学生可以具备基本的程序设计能力,独立编写具有初等难度、几十行的程序,并且能够较顺利地完成程序调试与测试。第二阶段教学放在大一第二学期初,针对具备基础程序设计能力的学生,重点培养学生的专业程序设计能力。在第二阶段的教学中,以学生为主体、以教师为引导,采用国家火炬计划河北省软件人才工程实训课程,使学生融会贯通所学知识,完成一个具体的项目,以达到提高学生程序开发能力的目的。迄今为止,学生完成的项目包括“银行储蓄管理系统”“彩票信息查询系统”。教学实践证明,这种理论和实践技能并行的教学模式,更加有助于学生的创新能力的提高,使学生在不断实践中掌握技能,在技能学习中提高基础理论。

三、教学手段的创新

在学习过程中除了发挥教师的引导作用,还需要充分调动学生的参与主动性。在授课期间灵活采用多种教学手段,如:自学、演示、对比、课堂提问、学生演练和讨论等,通过不同方法,寻找创意思维“契机”,安排创意铺垫内容,培育学生的创意萌芽,营造创意环境,引发学生争鸣,为学生提供更多的思维空间,诱发学生的思维灵感。例如,在教学中讲解“循环结构的循环嵌套”的时候,提出马克思手稿中的数学题的案例:伟大的思想家马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人、女人和小孩。他们在一家饭馆中吃饭,共花费50先令。如果每个男人吃饭要花3先令,女人要花2先令,每个小孩要花1先令,问男人、女人、小孩各多少人?先提出问题,引导学生分析、讨论案例,提问学生运用数学知识完成案例提出的问题需要进行哪些操作,这样学生就会比较有兴趣,课堂气氛就活跃起来。然后帮助学生从案例分析中理解并掌握什么是多重循环,并且如何使用双重循环解决问题,最终完成程序的编写。

在学习的第二阶段采用开放式训练教育方式,利用专题设计和课外指导方式,鼓励学生课外自主进行训练。如:完成的项目“彩票信息查询系统”,教师提出设计方案,学生完成基本功能以后,自己可以对其他功能进行完善。

四、教学方法的创新

课程每个章节内容结构主要由三部分组成:

知识点:介绍本章需要掌握的知识或技术。

应用案例:介绍本章知识应用的案例。

创新训练:针对具体的问题,应用本章技术来完成知识点的应用。

在整个教学过程中,教师采用框架式教学,像建筑工程师修建筑一样,先采用精讲的方式,让学生建立整门课程的知识框架;接着通过案例教学、项目式教学等多种教学方式,让学生逐步去进行细节知识点的填充;最后通过综合训练方式,完成整门课程的学习。

例如,在讲解C语言程序设计中的函数时,搭建出例如综合排序等程序的框架,给学生留出函数,让学生自由开拓思想,独立完成一些小型实例的编程,经过具体知识点的训练后,还要重点进行综合知识的应用训练,开展一系列的创新应用,以达到知识综合运用和培养创新能力的目的。

五、考核方式的创新

传统的C语言程序设计考核模式一般以标准化的笔试题为主,这种考核方式侧重语法知识的考核,忽视编程实践能力的培养。为此,笔者改革传统的考核方式,将考核分为平时实验和期末考核两部分。平时实验成绩考核的是学生每一章知识,实训作业就是在每一章节结束的时候,布置相关的习题,学生利用业余时间编程,并且在实训期间进行调试,调试成功后上传到服务器上。期末考核成绩采用的是教研室开发的上机考试系统。上机考试系统模拟C语言二级考试建立了知识面齐全、题量充足、难易度合理的试题库,采取随机抽题的形式重点考查学生的程序设计能力和程序调试能力。这种考核方式督促学生在平时学习中加强对编程举一反三的实践环节。实践证明,这样不仅能有效培养学生的实践编程能力,还激发了学生动手实践解决问题的兴趣。

总之,经过不断的摸索与实践,通过以上的教学方法与教学手段的改革和实践,不仅提高了学生的学习兴趣,让学生从枯燥无味的语言学习中解放出来,从被动学习走向主动学习,同时也培养了学生分析问题、解决实际问题的能力,充分发掘了学生的创造潜能,锻炼了创新和协作精神。

参考文献:

[1]郭芹.对高职高专计算机专业程序设计教学的思考[J].中国科技信息,2008(1).

第8篇

【关键词】信息技术 教学设计 加工单元 控制系统 实训教学

【中图分类号】G 【文献标识码】A

【文章编号】0450-9889(2016)11C-0152-02

近年来,全国各级各类信息化教学大赛如火如荼地开展,极大地推动了信息技术在课堂教学中的应用,使各高职院校的信息化教学改革得以不断推进。本文以“自动线安装与调试”课程中加工单元控制系统实训单元教学设计为例,在课程教学中充分利用信息化手段进行教学设计,改变传统的教学模式,使学生更好地掌握课程知识,促进学生创新能力的培养。

一、教学目标设计

1.能力目标:掌握加工单元控制系统的基本安装、控制程序的编写。

2.知识目标:加工单元部件的认识和安装方法;采用一个按钮控制启动/停止的程序设计方法。

3.情感目标:通过相关程序设计引发学生学习PLC综合控制技术,发展创新精神,培养实事求是、理论与实际相结合的科学态度与科学精神,增强学生学习自主性和团队协作精神。

4.职业素质目标:获取知识能力、知识应用能力、自主学习能力、语言表达能力。

二、教学重点难点分析

本课例主要讲授加工单元控制系统的安装与控制,重点是掌握加工单元的安装与控制程序的编写;难点是安装过程中的安装过程中的细节问题,特别是一些关键点,如果学生没有掌握好,就可能存在很多隐患。通过运用多媒体课件中的视频分解动作,反复观看视频安装过程以及各部件的功能,学生可以快速地掌握安装过程编程思想。

三、教学对象分析

电气自动化技术、机电一体化技术专业大二的学生已经具备了电气控制、PLC应用技术、液压与气动技术等相关前续课程知识,并掌握了PLC技术的基本知识和基本编程方法。但学生在学习PLC综合应用过程中,一时难以迅速地掌握相关知识和要领,为此需要通过多媒体课件和教学示范录像,通俗易懂地讲解加工单元控制系统的安装与调试、编程等学习内容。

四、教学策略与教法设计

课程教学中实施任务驱动法,便于学生更好地掌握安装与控制系统编程,在实施项目操作的过程中学习,熟悉关键控制程序的编写。本课例采用理论教学和实践教学相结合的“双教一体化”教学方式,即教师理论讲授和学生实践操作相结合。理论教学中,充分运用多媒体教学设备和多媒体网络课件,生动地教授安装方法。以小组讨论的形式开展实训,并对一个或两个小组的程序进行展示,其他同学共同分析,以达到共同提高的目的,从而较好地达到课程设计目标。

五、课程实施的建议

2.教学设计与分析。见表2。

六、学生实训

1.实训方式:(1)以小组为单位进行项目实训,完成一个按钮实现启动/停止的功能;至少用三种方法实现。(2)学生个体进行站点的建立和管理。

2.实训内容:通过讨论各小组分别编写程序。

3.实训检查评价:选出1组同学的练习进行展示;教师再进行总结评价、讲解,总结归纳在实训过程中的收获和存在的问题,指出需要注意的地方。

七、总结

本课例采用信息化教学设计,以任务驱动法开展教学,充分关注当前高职学生的学习特点,积极调动学生的积极性,使原有枯燥的教学过程变得生动起来,培养了学生的实践能力,增强了学生的创新意识,在教学过程中始终将信息技术贯穿始终,突破了教学中的重点及难点问题,拓展了课程教学的空间。

【参考文献】

[1]宗晓倩,汤慧芹.高职教师信息化教学能力提升的探索[J].科技教育,2015(28)

[2]李科.高职《建筑设备识图与施工》信息化教学设计与实践――以“建筑给水排水系统图识读”教学为例[J].教育教学论坛,2014(15)

[3]王青燕.信息化环境下任务驱动型《配送管理实务》课程教学设计[J].齐鑫物流教育,2014(12)

[4]周红春,王亚希.高校教师信息化教学能力培养的探索与实践[J].中国教育信息化,2012(1)

[5]龚志刚.中职信息化教学案例研究[J].中国教育信息化,2012(18)

[6]盛靖琪,陈永平.自动线安装与调试[M].北京:机械工业出版社,2012

【基金项目】2014年广西高等教育教学改革工程重点课题(2014JGZ159)

第9篇

关键词:项目实训;计算思维;软件开发

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)22-5103-02

软件外包指的是一些大型软件公司为了降低软件研发成本,将一些非核心的软件项目通过外包形式交由人力资源成本相对较低的国家的公司开发。随着中国内需市场增长和国内外外包行业合作加深,企业对具备相应和程序设计能力和开发经验的高校毕业生的需求日益增大。项目实训是高等院校针对企业需求定制培养软件人才的重要手段之一,然而过于程式化的实践性教学严重影响了学生自身的创造力和软件设计能力。该文通过在软件项目实训的过程中引入计算思维的思想,在开发过程中更加重视对学生程序的设计能力的培养。

1 计算思维的概念

计算思维的概念由美国卡内基·梅隆大学的周以真(Jeannette M. Wing)教授提出,指的是运用计算机科学的基础概念进行问题求解和系统设计,以及人类行为理解的涵盖计算机科学广度的一系列思维活动。计算思维的本质在于抽象,即如何将实际问题清晰、抽象的描述出来,并将问题的解决方案表示成一个信息处理的流程。对于计算机专业而言,随着计算机科学、技术与工程发展越发迅速,知识更新周期缩短,越来越多的编程语言和编程方式应用于实际工程,计算思维的抽象能力是软件人才必须具备的专业素质。传统的教学方式以知识的灌输和编程工具的使用为主,忽略了对学生计算思维的培养。当前信息社会需要的软件人才,既要能够熟练的掌握编程工具的使用,也要具备抽象化、结构化的软件设计能力。因此,在教学中应有意识的培养学生对现实生活中的实际任务转化为计算机问题的能力,尤其是通过约减、嵌入和转化等方法,将一个困难问题阐述为一个可求解问题的思维方法。

2 项目实训的现状

目前很多高等院校计算机专业都开设了针对具体企业定制需求的项目实训课程,通过项目工程化、系统化的开发训练增强学生的动手能力和实践能力,然而过于模式化、程式化的培训模式制约了学生的设计能力和创造力的培养,存在以下不足:

1)实训项目选题较为单一,与企业的实际开发项目尚有一定差距。实训选题大多都是信息管理系统一类的项目,所涉及到的主要是页面设计、业务逻辑和数据库操作,因此学生实践的内容有限,缺乏多样性和复杂性。

2)培训的方式过于程式化。为了顾及不同专业和年级的学生的水平,实训往往采用给定项目架构,教师重点在于指导学生设计相对简单的业务逻辑和编码实现,而对整个项目的框架设计、数据结构的抽象则指导相对较少。

3)实训的时间较短。考虑到日常教学,实训一般都安排在暑期进行,时间约为10~20天左右,其中还包括前期的项目介绍和基础知识补充,对大部分学生而言,短时间内只能被动地从事代码编写,而问题的独立思考则无法完成。

考虑到上述问题,该文从实践角度出发,在项目实训过程中引入计算思维,从重代码编写转变为侧重抽象思维的训练,并增加相应的评论环节,给学生相应思考和讨论的空间。

3 实训教学引入计算思维的实践

在具体实训开展之前,需要进行前期的准备工作。首先邀请软件公司的开发人员对实训项目进行介绍,让学生了解项目的计划和目标,对软件开发的相应流程和规范有相应认识;其次,虽然学生具备一定的专业基础,但大部分学生对先前所学知识有所生疏,因此需要专业教师在实训前期指导学生巩固基础知识,包括程序开发语言、数据库操作和软件工程,并通过小型管理系统Demo的示例让学生熟悉相关的专业知识。

在实践训练过程中,采用过程规范组织软件的开发流程,同时使用合作公司的过程改进框架支持系统SPIF统一管理数据和进行版本控制。在此软件平台之上,从项目需求分析阶段和技术方案阶段培养学生的计算思维。

在需求分析阶段,根据项目的实际需求,按照功能模块对学生进行分组。通过调查、基本设计和功能设计,制定需求分析报告。学生使用visio来绘制每个模块的功能页面,通过组内评审和相互讨论,明确用户的功能性需求,改进功能页面设计。在此阶段,教师除了相关知识介绍和操作流程的讲解之外,应启发式的引导学生进行需求和功能的抽象,同时周期性的组内评审讨论也能够激发学生对项目设计问题的思考。

在技术方案阶段可以分为结构设计、详细设计、编码和测试。在结构设计和详细设计阶段,每个组员应在教师的指导下有意识的培养程序设计思维,将实际问题抽象建立相应的算法框架和数据流程,完成各个模块的详细设计,其中包括每个功能的功能说明、功能操作、算法和逻辑、数据库操作、接口说明和错误处理。在数据库设计阶段,通过组间和组内讨论,将实际的存储的问题抽象为项目所需要的数据表。编码阶段,在软件公司提供的开发平台的基础上,完成各个模块的编码实现,在代码实现的过程中可以鼓励一些基础较好的学生学习项目框架的设计模式;测试阶段,编写测试式样书并按照测试样例进行功能测试,对产生的错误进行调试,测试结束后对不同的错误原因和解决方法进行总结。

项目完成后,由各小组组长对模块进行总结,演示模块功能。通过公司的软件工程师及教师的总结和点评,促进学生对软件流程、业内规范以及框架设计等方面进行思考。实训结束后,教师与学生进行交流,对下一轮实训的选题进行探讨。

4 结束语

本文针对目前项目实训中程式化、单一化的特点,提出在项目训练过程中引入计算机思维的训练,侧重学生抽象能力和设计能力的培养。下一步的工作则是完善实训项目的选题,力求做到选择题多样性和复杂性,缩小与企业实际项目的差距。

参考文献:

[1] 姚天昉. 在程序设计课程中引入“计算思维”的实践[J]. 中国大学教学, 2012(2):61-62.

[2] 王新年. 整体项目驱动模式下计算机软件人才培养模式研究与探索[J]. 计算机教育, 2010(3):115-116.

第10篇

关键词:数据结构;理论教学;实验教学;教学方法;算法演示程序

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2011)35-0000-0c

Study on Reformation of Teaching Content and Methods on Data Structure

FU Yun-fang

(Computer Department, Shijiazhuang College, Shijiazhuang 050035 China)

Abstract: According to the situation of the course of DATA STRUCTURE, the new teaching methods are explored to reform. In order to guide students to learn, teaching content of the course is improved, and four different levels of experimental teaching types are designed, that is, Basic training, Skills training, Integrated training and the Development training. At the same time, teaching effect is being emphasized by using appropriate teaching method and algorithm demo program.

Key words: data structure; theoretical teaching; experimental teaching; contents; teaching method; algorithm demo program

《数据结构》课程是高等院校计算机系多媒体技术专业学生的一门专业基础课程,是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术及相关专业的基础课,具有非常重要的地位和作用。数据结构技术广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。本课程的任务是通过学习,培养计算机专业的学生结合实际应用,设计有效的算法和数据结构的能力。然而,由于该课程涉及的知识面较为广泛,学生除了需要一定的程序设计语言基础外,还需要多种数学理论基础。因此,如何对《数据结构》教学内容有效地进行组织与对教学方法进行适当的改革,是当前数据结构教学的首要任务。

1 教学现状分析

1.1 课程较为抽象,应用范例少

《数据结构》课程理论性较强。因此,对于学生来说,该课程较为抽象,难以理解原理的精髓。尽管通过实践教学对课本上的一些基础算法的进行验证性实现,但在实际生活或工作中的无法灵活应用。因此,种种原因让学生产生了该门课在今后的软件开发中是极少用甚至是用不到的错觉[1]。进而导致学生降低对该课程的重视,以至于失去学习积极性。

1.2 先行课程掌握不扎实

《数据结构》涉及的知识面较广。要掌握该课程,学生必须掌握一定的编程能力和具备一定的数学理论基础。例如,在分析算法的时间、空间复杂度时需要高等数学的知识,在分析树、图结构时需要离散数学中图论部分关于树和图的知识等等。而课程中的算法描述大都是用C或者C++语言,少部分甚至是JAVA语言来描述。因此要求学生具备C或者C十十语言的编程基础、高等数学和离散数学是必要的。

然而,作为该课程的前导课:《计算机导论》/《C语言》/《C++语言程序设计》/《JAVA语言》等,大部分学生学习后只是比较熟悉简单数据类型和结构化程序设计中的三种基本结构的应用。对前导课的难点内容,例如:多维数组、结构体(或者类)和指针这三种数据类型的认识和理解不但不深,而且还不会用。然而,正是此部分内容才是数据结构课程的重要基础和灵活运用的知识点,并且贯穿整个数据结构课程学习的始终。因此,这种现状必然导致许多学生在实现数据结构中的算法时不能得心应手,从而止步不前,产生畏难情绪,严重影响了学习效果和学习进度。

2 教学方法改革初探

2.1 理论与实践结合,课内与课外结合,全面提高学生综合素质

在课堂教学内容中,大量引入科研与工程实际案例。将这些问题以深入浅出的方式,以理论与实践结合的方式,使得学生更好地理解树型结构和图型结构,以及排序算法、查找算法在其中的成功应用,加强了学生对于理论的理解,以及将所学理论知识综合应用于实际问题的认识。另外,将课堂教学与课外的竞赛考试相结合,组织和辅导学生参加程序员、高级程序员证书考试和各类大学生创新竞赛,能够进一步培养学生的探索和创新能力。我系领导在这方面给予了大量的支持,同时也取得了显著的成效:08级软件工程(本科)学生在2011年全国软件大赛中有十名学生获全国三等奖,同时还获省一等奖; 09级计算机多媒体技术(专科)学生在2011年河北省挑战杯大学生课外学术科技作品竞赛获三等奖。

2.2 改进实验教学环节,实施 “基础训练+技能训练+综合训练+开发训练”的实践教学体系

2.2.1 基础训练

对教学内容中的每一种数据结构,其基本操作即基本实验,即一次实验解决一个问题,使初学者易于接受。比如,顺序表及其运算,链表及其运算;栈和队列的运算;串的运算;二叉树的应用;图的存储与遍历;排序与查找等等。

基础训练是教学中一项必要的教学环节,基本能够达到实验课的教学目的,但是存在下列缺陷:

1)实验内容由教师根据教学要求对一些基础算法进行验证,无法与生活中的应用联系;

2)实验内容往往限制了学生的思路,使其局限在某几个领域的实验项目上,对学生提高与扩展各门课程理论知识之间的联系不利;

3)使学生局限在严格遵从既定实验步骤的基础上,缺乏主动和独立性的训练;

因此,要使学生达到本课程实验教学目标,只有加强后续的技能训练、综合训练和开发训练,才能真正让学生掌握、提炼所学知识。

2.2.2 技能训练

技能训练是在学生掌握了基本训练的基础上,训练解决实际问题的应对技巧,从而将理论知识更加灵活运用到实际问题中,达到技能训练的目的。比如,统计文章中的文字,数字,空格的个数,存储结构用的是什么结构;宿舍管理查询软件中查询功能可用什么查找方法效率比较高;跳舞搭配问题中可采用什么存储结构等等。

技能训练培养了学生发现问题、分析问题和解决问题的能力。而且能生活的应用连接得更加紧密,让学生在学此课程的同时,不仅仅与其它课程能联系,而且还与专业应用领域靠拢。激发了学生的兴趣。但是技能训练也有一些不足,比如,没有综合运用数据结构知识和技能等等。

2.2.3 综合训练

综合性实验是建立在技能训练的基础上的实验过程,是指实验内容涉及本课程的综合知识或与本课程相关的课程知识的实验。课程的教学内容过半后,即可对学生进行综合性练习(课程设计大作业),大作业题目中的设计性问题即属此类。

实验内容包括综合运用数据结构的知识内容,有针对性对计算机专业的应用领域,设计一些与生活应用相关的小型管理系统。例如,旅游景点介绍管理系统,学生信息管理系统等等。通过这些实验,使学生能够将数据结构的理论知识灵活地贯穿于实际应用当中。

一般而言,综合性实验具有实验内容的复合性、实验方法的多元性。实验内容的复合性旨在培养学生知识对知识的综合应用能力。实验方法的多元性目的在于培养学生运用不同的思维方式分析问题、解决问题的能力,通过这种方式,让学生掌握不同的实验方法。

2.2.4 开发训练(即设计性训练)

开发训练的主要目的是通过所掌握的诸多知识层面,实现一类应用软件的开发。教育部高教司关于《普通高等学校本科教学工作水平评估方案》(试行)文件中明确定义:“设计性实验是指给定实验目的要求和实验条件,由学生自行设计实验方案并加以完成的实验。”根据定义,设计性实验不但强调教师所给实验题目及目标的合理性、学生的完成实验的独立性,更强调实验设备和必要实验材料的可用性[2]。

在实施此实验过程中,就注意以下几个环节:

1)实验要求和实验目标的确定:开发训练的目的在于培养学生系统分析和设计的能力、在实践过程中发现问题并不断解决问题的能力,从而让学生加深对数据结构理论知识的理解。因此,目标的和要求的设定非常重要,同时也要需要考虑到专业的不同性、学生的差异性。

2)学生分组:设计是一门实践艺术。同一个主题,不同的设计人员可能因为想法不同,从而得到不同的结果。因此,让学生自由分组对同一个主题的不同设计方案进行讨论。

3)查阅资料、选择实验题目

一定要让学生选择自己擅长的主题,同时要保证所选主题能够找到丰富的参考资源。另一方面,任课教师可根据经过多年的教学实践经验,将积累的一些经典的题目供学生选择。

4)进行调研及系统分析设计:该阶段很重要,是学生出现问题最多的阶段。需要指导教师随时跟进,进行适当的指导和监督:一方面可以帮助学生分析实验中出现的问题,另一方面可以针对问题进行启发、引导学生,让学生正确面对各种问题,进一步去思索和解决问题的办法,在实践中寻找问题答案。

5)撰写设计报告:撰写设计报告是学生完成每一项实验必须填写的,也是应该掌握的技能。通过撰写设计报告,无益于是一次对学生设计过程、思维方式的再认识与提高的过程。通过处理实验中遇到和发现的问题还能够进一步深入思考,锻炼了学生的创新能力。

6)教师审定设计报告:教师进行及时审核和点评学生的设计报告,并中肯地指出报告中值得肯定的部分和可以改进的地方的方式,可以进一步加深学生对数据结构设计的理解。

3 改进教学方法,利用多媒体技术,开发算法演示程序。

3.1 以问题作引导,激发学生的求知欲

在理论教学中,应按照学生的认知规律,遵循先简单后复杂,先具体然后抽象的原则,以具体的问题,通过观察、分析、理解、总结进行教学[3],让学生自己在直观上先观察、分析具体问题,领悟所涉及的相关概念,然后再归纳总结。比如,在讲解栈和队列的知识点时,我首先以生活中的实例--排队买票与火车进、出站为例让学生观察它们的特点,然后再引出它们的概念,特点和相关的数据操作,然后引导学生再次思考这些操作在计算机中如何进行采用相应的数据结构进行存储和实现?让学生意识到生活的案例完全可以用所学知识进行实现,从而激发了学生学习的主动性和创新能力,形成对知识的科学态度和对问题进行分析的兴趣。

3.2 以问题为中心,促进学生的学习能动性

问题是学习的引导者,没有问题,学习就不会深入。所以,在教学中教师针对问题,要能启发学生自主地发现问题,形成让学生主动去分析问题和解决问题,并且能够进行总结规律的习惯。通过这种方式,能够使学生就更容易掌握所学知识。比如,在讲解排序时,我给了一组数据,让同学们用四种排序算法实现,并比较它们的效率(时间与空间的效率),最后得出结论,什么情况下用哪种排序方法好, 效率高等等。这种以问题为中心的互动式教学,改变了传统教学中以教师为主、学生为辅的教学状况,通过教与学互相结合、互相渗透,使学生能对知识掌握得更加透彻,进而促进了学生的学习能动性,并培养并锻炼了学生分析问题和解决问题的能力。

3.3 使用多媒体技术,开发并制作算法演示程序

开发并制作算法演示程序的目的是使抽象的“数据结构” 中的典型算法通过动态画面模拟演示给学生。制作的意义在于制作教学内容的动态演示程序,能够使抽象的知识形象化,使学生更深刻的理解要掌握的知识[4],进而激发学生的学习兴趣和主动性。但是,使用多媒体技术开发并制作的演示程序因为具有生动的画面、动听的音乐,因此容易分散学生的注意力,所以,这种教学手段使用一定要适度。

4 总结

《数据结构》是计算机专业的骨干、核心课程, 也是大多数学校研究生入学考试的必考课程。本人通过对该门课程理论与实验教学的摸索和尝试,提出了理论与实践结合,在课堂教学内容中,大量引入科研与工程实际案例;并设计了“基础训练+技能训练+综合训练+开发训练”四个不同层次的实验形式引导学生学习,通过改进教学方法,利用多媒体技术,开发算法演示程序,激发了学生的兴趣,调动了学生的主动性和能动性,增强了对《数据结构》课程的学习兴趣,进一步有效地提高了学生的分析问题、解决问题的能力和团体合作意识。具体实验设计中充分考虑专业的不同性和学生的差异性,紧密结合当前专业市场需求,设计针对性强的各类管理系统实验,让学生在学习中提高对本行业的认识了解,为今后学习工作打下良好基础。

参考文献:

[1]肖颖.《数据结构》教学改革思考与实践[J].福建电脑,2010,(9):214-215.

[2] 朱静.陈新兵.谢斌盛.设计性实验教学的探索与思考[J].科技资讯,2007,(12):149-150.

第11篇

ACM是一项针对国际大学生程序设计的竞赛,在竞赛中大学生通过程序设计来展示自身分析和解决问题能力。本文介绍对ACM进行了概述,在程序设计评测系统的基础上,提出了一种基于ACM竞赛模式的数据结构实践教学改革措施,对数据结构实践教学进行了深入探索,进一步完善了计算机程序设计类课程的实验教学体系。

【关键词】

数据结构;ACM;编写程序

1 ACM竞赛的概述及意义

1.1 ACM竞赛的概述

ACM是由美国计算机协会举办的国际大学生程序设计竞赛,ACM被认为是水平最高、规模最大的国际大学生程序设计竞赛。ACM为大学生提供了一个展示自身分析解决问题能力的平台,大学生通过所学的计算机程序设计理论知识来解决问题,其理论知识主要包括数据结构、程序设计语言、物理数学模型、算法分析等。ACM在竞赛过程中为选手规定了比赛时间,在规定时间内,根据参赛者所作比赛题目的数量和准确度和做题时间长短来进行名次评判。ACM是计算机类最具影响力的国际级竞赛,受到世界各知名大学和各著名TI企业的关注。通过ACM竞赛可以在竞赛压力环境中培养参赛着在软件程序开发过程中的团队合作精神和自主创新能力、理性实践的能力。我国ACM竞赛起步较晚,从1996年开始举办时至今日已经成功举办了七届,这一针对高校大学生而举办的竞赛得到了国内众多知名高校的积极响应,其发展趋势迅速,取得了卓越的科技成果。

1.2 ACM竞赛的意义

程序设计类课程是高校计算机相关专业课程中的重要组成部分,所占比重较大,这类课程对实践性要求很高,这类课程旨在培养学生具有一定的程序设计能力。通过ACM竞赛可以全面考察学生程序设计语言和算法的学习使用情况,ACM这一竞赛平台将程序设计类课程的理论与实践完美的结合起来,以此来提高学生程序的设计能力。

2 ACM评侧系统的设计

ACM评测系统集在线程序设计、算法设计练习、竞赛于一身。该系统中存储有大量的竞赛试题,学生可以根据自身需要进行自主练习或竞赛,学生在该系统上在线编写相关竞赛试题的程序代码,编写完成后提交程序代码,系统可以自动进行编译,从而生成可执行文件,并对程序执行测试,最终输出测试结果。可以将ACM模式推广到数据结构、C/C++、EDA等与程序设计相关的课程中进行实践教学,该系统的主要功能包括以下几部分内容:(1)规定代码的通过标准,从程序耗费总内存、运行时间等多个方面审查提交代码,并输出评测结果。(2)支持JAVA、C++、C、PASCAL等程序语言的编译,制定了具有可扩展性的编辑器扩充规则,以此来支持其他程序语言的编译。(3)设计的系统具有支持集体或个人申请竞赛,并提供相应的竞赛环境的功能。(4)系统以RSS聚合方式汇总竞赛报告,通过RSS阅读器即使不访问站点也可以自动获得竞赛报告的更新。(5)系统可以自动监管各个数据库的连接状态,以此来调控系统的性能。(6)系统定义了自动约束规则,具有系统在线配置的自我调节能力。ACM评测系统在运行速度、系统稳定性和程序负荷能力上均具有良好的性能,为各类编程课程提供了一个良好的实验环境。

3 ACM数据结构实验教学体系设计

数据结构相关内容的课程是计算机专业的重要课程之一,数据结构这门课主要侧重于软件设计中所涉及到的各种存储结构、数据结构、基本运算、程序性能、以及算法实现等基本技术。学生在遇到实际问题时可以通过学习的理论知识选择合理的数据结构,并设计出符合实际情况的优良算法,以此来提高学生软件开发的实践能力。学生软件实践能力的培养可以通过开设数据结构相关类实验课程来实现,这种实验类课程将理论与实践相结合,将学生在书本、课堂中学到的理论知识用于解决实际问题,有效地培养学生的创造性思维,并提高学生分析、解决问题的能力,为从事计算机类相关工作的学生奠定坚实的实践基础。传统的实验类课程不能充分发挥其根本作用,只能培养学生掌握基本知识的能力,并且实验类课程课时较短,在短暂的实验课程中无法真正锻炼学生分析解决实际问题的能力,学生在课余时间也无法找到正确的渠道进行练习学习,也没有专业人士给与指导建议。ACM竞赛经过长时间的探索已经日趋成熟,将ACM模式应用于数据结构等计算机类实验教学中,将大大提高教学效果。

3.1 ACM模式教学优势

基于ACM模式的数据结构等程序设计类课程的实验教学系统是通过网络进行的,这种教学模式不受时间、空间的局限。学生在课程学习中难以将实际问题中客观事物与数据结构中的理论数据很好地衔接在一起,缺乏系统解决问题的能力和方法,通过ACM模式的实验教学恰好可以很好地解决这一问题。学生在ACM模式教学下进行实践学习,丰富了自身计算机理论知识储备并提高了实践能力,将所学理论知识应用于实际问题中,通过一系列实践训练真正掌握数据结构的精髓。ACM竞赛为学生提供了一个学术交流平台,通过ACM组队形式的竞赛培养学生团结合作的精神,为以后软件项目团队化的合作奠定坚实基础。

3.2ACM模式教学设计

将基于ACM模式的计算机程序设计类课程实验教学体系分为以下三个层面:基础知识训练型实验、实际问题设计型实验和创新型实验。

(1)基础知识训练型实验。学生通过基础知识训练型实验的练习可以巩固并深入理解所学的知识。基础知识训练型实验主要涉及有线性表、队列、栈、顺序折半查找、广义表、图、树、内部排序等多种内容。这一环节要求学生掌握基本的数据结构和数据方法,并且要求学生具有较强的问题分析能力和任务定义能力。

(2)实际问题设计型实验。通过实际问题设计型实验可以充分挖掘学生自身的创造力,将所学理论知识运用于实际问题的解决中。实际问题设计型实验主要涉及停车场车辆管理、电话号码及归属地查询、哈夫曼码编码器等内容。这一实验环节要求学生用所学的数据结构知识设计出复杂的软件系统,主要检测了学生掌握算法设计和分析、递归思想和方法等方面的能力。

(3)创新型实验。创新型实验与各种各种比赛、课外科技活动、科研项目等相结合,增加学生软件开发、设计的能力。这一实验环节要求学生掌握面向过程的设计方法、面向对象的设计方法、基本的软件重用方法等内容。

4 总结

通过ACM教学模式可以培养学生解决实际问题的能力,而且不受解题方法的限制,学生通过ACM这一学术交流平台在展示自己能力的同时可以学到很多东西,激发了学生的学习热情和潜力。

【参考文献】

[1]朱月秀.基于ACM竞赛的C++程序设计课程教学改革[J]. 漳州师范学院学报(自然科学版),2012,01:96-99.

第12篇

关键词:程序设计;实践教学;教学改革

中图分类号:G433 文献标识码:A 文章编号:16727800(2013)003018702

0 引言

程序设计基础是高校电子信息科学领域相关专业,是计算机、电子、信息管理、通讯等专业学生跨入大学校门后接触的第一门专业基础课程,不管使用的入门语言是C语言、C++还是Java语言,它都是以编程语言为平台介绍程序设计的思想和方法,重在培养学生良好的程序设计素养和对计算机科学的浓厚兴趣,对学生后续专业知识的掌握起着重要的基础作用。

目前,许多高校将C语言列为程序设计基础课程的首选语言,该课程是一门实践性很强的课程,听不会,也看不会,只能练会。其教学效果的优劣直接影响着学生计算机编程的能力和水平,对后续《数据结构》、《算法设计与分析》、《嵌入式程序设计》等课程的学习效果有直接影响,尤其是实践环节教学效果的好坏,直接影响到学生对C语言的语法、算法的理解和应用以及分析问题、解决问题能力的培养和锻炼。因此,如何深入研究和改革课程实践教学的体系、设计理念、内容以及实践教学的组织与考核,是广大计算机专业教师探索和实践的课题。

1 实践教学中存在的问题

在传统的“狭义工具论”课程教学理念和思想下,过于注重语言的语法、语句以及一些语言细节的教学,没有把问题求解方法和计算思维能力的培养放在首位,在实验教学的设计和安排上,实践环节比较单一,以课程内实验为主,实验内容的设计多以验证型实验为主,其目的是使学生通过训练, 加深对某个知识点的理解。这种教学模式,轻视或忽略了培养学生分析问题、解决问题的能力,未将实验项目与实际应用问题相结合。主要表现在以下几个方面:

(1)教师对实践教学内容安排不合理。在实践教学内容的安排上,实践内容主要来源于书本中的习题或从课本中提炼出来的问题,这种实践教学模式立足于书本知识,重在对课本知识的理解,学生在基本理论上经过实践有一定的基础,但不能应用于实践,在解决实际问题时往往无从下手。

(2)教师和学生对实践教学环节重视不够。实践操作前,教师要求学生对当次实践内容进行预习,预先写出程序代码清单或画出程序流程图,拟好程序设计的思路,这样可以充分利用实践操作的时间完成实验内容,但一些学生实验前没做任何准备,实验过程中一边思考,一边写程序,效率极低,甚至根本没有完成实验,最后只有抄袭同学的实验报告应付实验成绩的考核。实验指导过程中,教师一般只对学生的提问进行指导,有时只告诉学生该如何进行操作,较少给学生解释。实验结束后,没有对实验中学生普遍出现的问题进行归纳总结和讲评,上完实验任务就了事,没有达到实验的预期效果。

(3)学生创新设计能力及综合应用水平不高。对于初次学习程序设计课程的大一新生,面对程序设计语言中繁杂的语法规则有些畏难,把大量的学习时间用在基础知识点的认识理解上,注重语言语法细节而对程序设计的思想关注较少,很少关注或参与企业对程序设计的应用。因此,当课程学时结束后学生觉得只学会一些基本的东西,只会理解课本中的程序,能够看明白别人写的程序,但如果要自己设计出程序就显得特别困难,毫无头绪,对于稍微复杂的系统设计,需要创新的思想和算法的设计时,就难以动手,综合应用的能力相对较差。

2 实践教学探索与实践体系设计

传统的教学体系中实践教学处于对理论知识的补充地位,实践内容主要围绕着教材基础知识的理解和对语法的验证,忽略了学生创新设计能力及综合应用水平的培养,针对这些问题,设计了以问题求解方法为主线的实践教学。遵循以应用为目的,以任务来驱动,采用多环节、循序渐进的原则,构建了课程实验和课程实训二个层次和阶段的实践教学体系,来培养学生的动手编程能力、计算思维能力和解决实际问题的分析应用能力。

3 教学改革措施与实践

3.1 课程实验

课程实验是与理论讲授同步的配套实验项目,分为基础实验项目和综合实验项目两类。基础实验项目重在加深学生对语言语法、概念的理解和应用,每讲完一个知识点,安排学生进行一次实验编程练习,经历“模仿、改写、编写”过程,掌握相应的知识点。综合实验是对课程多个知识点进行综合训练,加深学生对课程内容的整体认识和综合运用。

(1)基础实验。在基础实验中,每个实验项目设计了程序跟踪、改错调试、设计实现三类递进层次的练习题目,前两个层次重在训练学生对语言知识的理解和运用能力,后一个层次重在训练学生问题求解能力。

程序跟踪训练是根据题目给出程序实现的完整代码,让学生利用调试工具运行程序,跟踪并观察程序的运行情况和运行结果,分析程序的执行过程,画出程序流程图,目的主要是加强和巩固学生对语言某一知识点的认识和理解;改错调试训练是在给定题目的功能要求前提下,在给出的程序中设置几个语法或算法结构上的错误,让学生调试并排除错误,目的是培养和训练学生对程序结构的理解和算法设计思想的领悟,以及程序调试能力;设计实现训练是根据项目主题,设计几个可选的题目,学生可以根据自己能力选择几个或全部完成,目的是训练学生掌握从问题提出、模型建立、数据表示、算法设计、代码编写到调试测试程序的项目开发过程和方法,培养学生从对问题的理解、分析、抽象、设计到用具体语言去实现并进行测试和评价的能力。

一次实验项目中多个实验题目由浅入深、由易到难的渐进实验法,让学生在每完成一个题目中收获信心,从而给学生很强的投入感,迫使他们开动大脑,发挥创造力,使课程的实验阶段成为一个富有挑战和乐趣的过程,从中获得很大的成就感。

(2)综合实验。综合实验通常是课程实验的最后一个项目,这时理论讲授课程学时已基本结束或临近结束,因此在实验内容的设计上,重在锻炼学生对复杂问题和复杂数据类型的处理,在功能模块上要求相对较多,以培养学生的模块化程序设计思想和能力。在选题上,实验内容应与实际应用联系紧密,以激发学生的兴趣,教师在综合实验教学过程中启发、引导学生独立完成程序。

3.2 课程实训

课程实训是在理论课和课程实验教学结束后安排的一个实践环节,目的是通过实训练习,重点训练学生进行程序的模块化设计、程序流程控制,从而能更加系统地理解语言基础知识,进一步培养学生应用程序设计理论进行程序设计的能力。因此,在实训的组织和实施过程中,我们进行了精心安排:

(1)精心安排、合理设计实训项目。在项目安排上,主要是将一类问题让学生用不同的方法去实现,同时要与实际应用相结合。比如在集合运算问题上,我们不仅训练和考查学生能用数组、指针等结构去解决问题,还要让学生与实际问题相结合,验证在对集合数据初始化时,元素应满足互异性。通过精心设计实训项目,不仅对学生的程序设计思想和动手编程能力进行训练,还要让学生对输入输出数据正确组织和合理处理。

(2)精心组织,认真做好项目实训 。实训实施过程中,要求学生每次在2~3学时完成一个大类问题中的一个子项目,使学生在一个受时间压迫的环境下练习、锻炼敏捷思维能力,同时要求教师对学生的实训过程进行跟踪指导、审核、批改,并给出考核成绩。

实训的目的,在于“训”,重点是对学生程序设计思想和程序设计能力的训练。在实训指导过程中,教师不是简单地给出考核成绩,更重要的是,要求对学生程序设计中出现的问题进行指导,不仅要指导帮助学生有正确的程序设计思想,还要为培养学生通过选取或设计合适的算法来实现目标任务,在给出任务解决的程序设计与编程规范方案时,遵循数据准备、输入、输出和处理四大步骤,培养编程能力。即对于任一个现实任务找出合适的数据结构(比如合适类型的变量或数组)、找出需要输入的数据、需要输出的内容以及处理步骤。这样,学生才能够通过输入、输出的内容以及要进行的处理更容易地设计或选择算法。

4 结语

实践教学是提高学生实践能力和创新能力的关键环节,我们通过课程实验、课程实训、课程设计渐进式的实践教学模式,加强学生实践能力的培养。经过探索和尝试,在程序设计基础课实践教学方面取得了较多经验和较好的效果。教学改革的研究和实践是一项长期的、持续渐进的过程,只有通过不断探索、研究和创新,才能使应用型的实践教学达到最好的教学效果和教学水平。

参考文献:

\[1\] 何钦铭.C语言程序设计\[M\].北京:高等教育出版社,2008.

\[2\] 闫英战.《C语言程序设计》教学改革的探讨\[J\].电脑知识与技术,2006(8).