我们有一些启发后,将其记录在心得体会里,让自己铭记于心,这样可以记录我们的思想活动。那么问题来了,应该如何写心得体会呢?
一、注重校企合作
为培养适应社会行业需求的人才,提高学院教学质量,高职院校要注重与校外企业建立良好的校企合作关系,使用多种灵活的措施实践工学结合人才培养模式。把一个学期灵活分段,实行模块化教学,合理安排教学进程。按实际出发,针对计算机专业的行业形式,实行分段式教学。现在广东省高职院校都会与校外企业建立校企合作基地,近两年还有多家高职都建立了协同创新孵化基地,以培养适应社会发展需求的人才。
高职学生在新进大学校门的时候,建立体验式实训。组织学生到企业工作单位实地考察,了解企业的文化、管理模式、企业的人才需求等,让学生对目前企业的运营模式、人才需求等有大致的了解,从而对课程学习产生兴趣。进行课程式教学改革,在课堂学习中实行以“项目驱动”为导向的学习模式。采用项目案例任务驱动教学方法。构建项目实例,将项目实例按照模块功能进行分组,以任务驱动形式让学生参与到工程的实施过程当中,培养学生的动手操作技能,同时培养学生的团队合作精神。承揽校外企业的一些项目,进行真实的项目训练。在教学过程中实行分段式教学,前期让学生在学校里面学习基本的知识,中期让学生到企业当中实践学习,通过实践学习把前期的学习知识在生活、生产中应用。在实践中,或多或少会存在知识、实验与实际工作中的差异。后期,让学生总结实践中所遇到的困难以及自己在实践中存在的问题进行反馈,通过后期的继续学习教育弥补自己的缺失。这样完成“学习――生产――再学习”的分段式教学。
二、高职教育的工学结合模式对课程定位
高职院校主要“以就业为导向,以服务为宗旨”的教育目标,更注重学生在动手能力的培养。采用工学结合教学模式可以更好地与企业交流,可以更好地培养出企业所真正需的学生。C语言程序设计课程在计算机专业中占着重要的地位。它被认为是编程语言的基础,是建立编程思想的先驱。一直以来,C语言程序设计课程都被当中一门单一并且独立的课程看待,与其他课程的互动性较少。然而当今计算机行业在开发软件的过程中,不单单是需要熟练掌握语言编程能力的开发者,还需要配合整体软件系统构建能力。而且经调查发现学生虽然对C语言非常熟悉,但是普遍缺乏开发软件系统的思想,这样会导致他们毕业后走向社会,很难适应企业的编程规范。因此,我们需探索如何把C语言课程设置成为更适合于社会中所需求的课程。
对于以上的问题,认为在C语言程序设计的课程的教学中融合软件开发相应的方法,结合当今社会计算机行业使用先进的软件开法方法,可结合多样化的工学结合模式。
三、实施适合的教学方式
3.1教材选择
紧密和企业联系,在选择教材的同时可以咨询校企合作单位的意见。甚至可以尝试使用计算机行业的优秀材料作为教学的辅助材料。提高教学质量,也可以达到教学跟上行业潮流的目的,使教学不落后于最新信息。
C语言程序设计课程作为众多学院的计算机专业的精品课程,我们可以自主编写一本适合高职院校以及行业潮流发展的教材,教材可先带出基础知识后再运合软件开发的方法,以项目作为导向结合课程设计穿插于教材当中。
3.2教学模式选择
3.2.1项目驱动教学
为提高学生的学习兴趣,提高学生的学习掌握能力,我们可以采用项目导向教学的方法。从校企合作的行业中,获取一些项目,然后分解成若干个设计模块。例如我院积极地与多迪网络有限公司在校内建立起多迪网站工作室,通过工作室接触一些行业内的项目。我们可以运用这些项目,拆分成为若干个有意义的模块。设计模块可以由浅至深,由基础到难点,慢慢一步步深入讲解。在讲解模块的过程中,渗入每章节的基础知识,以� 在解决每个模块的过程中,针对学生个体的不同,开发思维的不一样,可能会遇到很多不同的问题。因而在解决问题的过程中,向学生引入有效率的、创新的软件开发思想。慢慢地学生在学习C语言的知识的过程,可以培养正确、良好的软件开发思想,甚至可以掌握编程过程中遇到难题的解决方法。这还能让学生充分发挥团队精神,通过分工合作完成一个完整的项目,掌握编写程序所必备的三性――可读性、可扩展性和可维护性。
3.2.2分段式教学模式实践
分段式教学是工学结合教学模式之一。分段式教学旨在分阶段地到企业进行实践实习。我们可以改变以往单一的只在第六学期到企业顶岗实习的模式,在每个学期根据课程的进度及安排,或者根据企业的工作安排,合理地安排学生到校企合作的行业进行体验式实践实习,更有效地提高教学质量,并校验项目导向教学的成果。
四、结束语
在工学结合模式下,C语言程序设计在课程定位、教学模式尝试进行较大的改革。通过项目驱动教学以及分段式教学的方法,培养学生达到能适应当今社会行业发展的要求,为计算机行业提供合适的人才。
三周的课程设计已经结束了。回想学习C语言 的过程中,既有快乐又有烦恼。
从领到书的那一刻,我就很郁闷,《C 语言程序设计》到底事学什么的,有什么用。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了基本知识。
下学期开始时,被通知要进行三周的课程设计。当时有点懵,感觉学的东西很少,很零散,不知该怎么练到一起,就要课程设计,是不是太难为我们了。
第一天基本上都是在看书,把基本知识再熟悉一边。到了下午的时候,老师发过来三道练习题,从这几道练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。
第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。但是,到了第二周,我们由不得不再次陷入困境。在整个程序的编写过程中。最难的就是修改和删除这两个模块,这也是我们第二周要解决的重点问题。
开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,我们组的其他人,帮助了我,完成了修改和删除。这样的话,整个程序基本上全部完成了,就剩下完善工作了。我们组写了两个程序,最后,两个程序相互组合,互补,大功告成
虽然设计时完成了,但是我觉得其中还是由一些不足之处:
1、 警告句。程序中缺少一些警告句,例如:“是否真的删除(y/n)?”。
2、 重名的情况。由于考虑的不周全,没有设计遇到重名的情况该怎么处理。
3、 选择单一。我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。
整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。
短短的三周课程设计结束了,但是这段时间里,我又学到了更多C 知识,如:对象数组,string类,文件流等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。,也看到了团队精神和互帮互助的重要性。这一点会让我终生受益。通过三周的课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这三周过的挺充实!
这个星期,我们迎来了C语言实训——一次至为重要的实训。在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。 通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。 C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。 自己亲自动手编写程序让我增加了对C语言程序开发环境的`了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话。当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态!感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的相互探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。
这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!
这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。在编写程序中,真的是细节决定成� 没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。
最后,非常感谢学校给我们这次实训的机会。极高的锻炼了我们的逻辑思维能力。人非生而知之,虽然我们现在的知识结构还很差,但是我们知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。在剩下的时间里,我们会更加努力的学习。
在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。
虽然在上个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。
C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。
在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。
这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。
在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的`编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!
在参考书上,我们不仅参考了曾经学过的高敬阳主编的《c语言程序设计》,还找到了由谭浩强主编的第三版《c语言》进行参考。
当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有时会出现主菜单的死循环;在一次程序运行中,只能行使一种权限,要想再行使另一种权限,就只能退出程序,然后再运行程序。
三周的小学期即将结束,时间虽短,但是我收获了很多。最后,谢谢老师和同学们的指导,更要感谢我们小组成员之间的合作与交流。
通过此次实训,同学们能够利用C语言面向过程的编程思想来完成系统的设计,熟练掌握C语言的基本知识和技能;能够利用所学的基本知识和技能,解决简单的程序设计问题。
一、充分准备,使学生明确实训的目的与要求
本次实训的目的是要求学生通过熟练运用Turbo C 2.0的开发环境,以所掌握的C语言知识为基础,围绕本次安排的实训项目,精心准备,认真调试,通过查阅资料、通过阅读相关程序代码、通过多次上机调试、通过同学们相互讨论,使学生对C语言程序设计有一个全面的了解,从而能更加系统地理解C语言基础知识。
本次实训的要求是:实训前公布本次实训内容,要求每个学生认真做好实训前的准备,查阅相关资料,精心编写代码。每位学生独立完成实训项目,独立撰写实训报告,认真及时进行实训总结。指导教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩。教师在实训期间要检查学生到课情况。
二、 精心组织,认真做好项目实训
每次实训课上教师必须清点学生到场情况并做好出勤记录,,同时把实训内容具体分配到课时,并提供相关内容供学生下载。教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩;对学生方面,本次实训实训考评分
合格与不合格两个档次。不合格的可要求重做,重做的次数不影响考评成绩。对复制的同学,一经发现,要求从头做起, 由老师指定内容, 完成相关的内容, 否则为不合格。
三、 本次实训的效果与经验
通过此次实训,广大同学夯实了基础,锻炼了能力,综合素质得到较大提高。本次实训促进了学生自身的发展。实训项目使学生初步接触C语言,熟悉了C程序设计过程,培养了他们的环境适应能力及发现问题、分析问题、解决问题的实际工作能力,为他们今后的发展打下了良好的基础。
四、存在的问题
实训过程中发现存在下列问题:学生素质参差不齐,基本功扎实的学生可以很快地完成本次实训项目,差的学生基本上还没有入门,更别谈独立设计一个程序了,如何提高学生的整体素质,是今后教学中值得考虑的问题。
总之,这学期c语言的实训还算成功,我和学生也都在这学期的实训中积累了较丰富的经验,对存在问题也能迅速解决。实践证明,专业实训适应高职学生的特点,符合高职教学规律与学生心理预期。专业实训作为计算机各专业教学体系的一个环节,无论对学生成才还是对教学开展,都有极大的促进作用。
总结是在某一时期、某一项目或某些工作告一段落或者全部完成后进行回顾检查、分析评价,从而得出教训和一些规律性认识的一种书面材料,它可以帮助我们有寻找学习和工作中的规律,让我们好好写一份总结吧。但是却发现不知道该写些什么,下面是小编整理的c语言课程设计个人总结(精选9篇),欢迎阅读与收藏。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。
我的题目是文章处理系统的设计,对于我们这些新手来说,这是很大的考验,我一千次一万次的问自己,怎么才能找到课堂所学与实际应用的最佳结合点?怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?怎样让自己的业余更靠近专业?怎样让自己的计划更具有序性,而不会忙无一用?机会是老师,学校,以及无数代教育工作者给的,而能力是自己的,耐性是需要的。
经过自己的琢磨,听取了师姐,师兄们的建议,还查阅了很多书籍,才做到了心中有数,才了解了C语言课程设计的真正用意--培养自学能力,养成程序编辑的好习惯。我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的`,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在郭老师的辛勤指导下,终于游逆而解。同时,在郭老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢
在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。
在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,在一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。谢谢给我指点迷津的老师。
6月11日,我们的课程设计结束了,但是它留给我的印象是不可磨灭的。无论我以后会不会涉及到C语言程序编译的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢课程设计,它的确教会我很多。
通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重:
(一)激励学生学习兴趣,充分调动学生学习积极性
学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣
只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的'自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。
(二)设计问题,开发智力,引导学生自己解决实际问题
在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动 C 语言课程教学艺术化的途径之一。
(三)强化课程设计,加强学生能力培养
课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的
对于《C语言程序设计》课程学习的一点心得和体会。
开发为基础,重点让学生掌握软件开发的基本思路与方法。课程设计必须以学生为主,教师的指导重点放在总体方案制定、设计进度上。教师在课程设计过程中应经常到学生中去答疑,检查学生设计进度与设计方案、设计结果的正确性,及时发现问题并辅助解决。课程设计尽量做到每个学生的设计有所差别,并要求学生独立完成设计环节。对学生的设计方案不追求最优,只要合理就支持学生坚持完成,最后在考评阶段进行重点点评。
课程设计结束时学生必须上交课程设计说明书,同时还要进行答辩。学生答辩结束教师给予正确引导,指出设计中存在的问题,并指导学生如何完善。答辩前学生要事先准备大量的知识点,答辩过程不但锻炼学生的表达能力,还能使学生认识到自己的设计的优缺点,也了解了别人的设计思想,开阔了视野。 总结
本课程的教学内容是十分丰富的,教学方法的采用应当以服务教学内容为准则,教学是一种互动活动,在教学活动中,应当大力发挥教师的“教”的主导性,调动学生“学”的积极性,做到密切配合教学相长。在教学活动中,不但要注意对C语言这门课的“精讲”,而且要注重编程能力的培养。即不但要使学生“学会”一门语言,更重要的是使学生“会学”,培养学生的开拓性,开发学生的创造性思维,
任何一门课程的教学,都包含教与学两个方面,只有很好的组织这两个环节,才能切实提高我们的教学效果,才能让学生学到更好的有用的知识,才能避免理论与实践脱钩,也才能充分调动学生的积极性。
当前,计算机已� 随着高等教育从精英教育阶段进入大众教育阶段,教育部高等学校计算机科学与技术教学指导委员会在计算机基础课程教学基本要求中提出了1+X的课程设置方案[1],理工类学生在学学计算机基础课程后,接下来就要学习C语言程序设计,C语言程序设计已� 本文总结了我们在教学改革和实践中的一些做法和体会。
C语言功能强大,使用灵活方便,应用面广,可移植性好,兼有高级语言的优点和低级语言的特点[2],这也使得初学者较难学习和掌握,在教学中我们发现,学生往往对编程解决实际问题感到困难,不知从何下手,而一些考试题目往往重视考查语法的细节,而对编程能力考查得不多。对于C语言程序设计的教学,我们从培养学生的兴趣和能力,以及计算机思维能力出发,进行了一系列教学改革的探索与实践。
一、教学师资团队建设
人才培养师资队伍是关键,教学团队的建设是保障教学效果和实施教学改革的基础和支撑[3]。根据本课程的特点和大一学生的基础,学院确定了一支老中青相结合的骨干教师组成本课程教学团队,团队由一位教授、一位副教授、四位讲师和三位助教组成,分别承担理论教学和实验教学任务,这支队伍年龄、职称结构合理,团队中的教师在每学期的教学督导和学生评教中,成绩都在良好以上,从根本上保证了课程的教学质量。
坚持教学团队的凝聚力建设,定期研讨,统一思想。每周教研时间及时交流教学中出现的问题及解决方法,对教学过程进行总结反思,坚持互相听课,集体研究讨论教案、课件制作,对每个实验内容、案例的选用、考核的内容和方式等都经过团队的统一讨论确定。
重视教学团队中教师自身的进修和提高,团队中的多名教师先后参加了国家精品课程师资培训、全国高等学校计算机实验与实践教学研讨会、全国高等院校程序设计精品课程教学专题研讨会等,教师都很珍惜每一次与兄弟院校的教师、专家交流与学习的机会,教师及时把学习体会传达到团队的每一位教师,汲取其他院校的一些好的做法运用到我们的教学实践中,这些做法对促进教师的知识更新、教育理论的学习、教学方法的改进和教学能力的提高起到积极的作用,也保证了课程的教学改革能不断向前推进。
二、教材建设
C语言程序设计作为第一门编程语言课程,目前几乎所有高等学校理工科专业都在大一第一学期开设此课程。C语言简洁、紧凑、灵活,数据类型丰富,功能强大,灵活和复杂对初学者来说是难以掌握的,而原有的一些教材大多是针对计算机相关专业的学生,而且是在学习了一些计算机基础的相关课程后再学习此课程的,起点相对高,内容全面、有一定的深度。但是对本科低年级初学者来说并不适用。鉴于此,我们从2009年开始着手编写教材和实验教材,从我院人才培养目标和学生的实际情况出发,注重实践及应用,试用后于2011年出版,并于2013年修改再版,新版教材已列为十二五规划教材。作为适用本科低年级学生初学程序设计及C语言的教材,以掌握C语言基本语法、培养程序设计思维、提高上机实践能力为目标,旨在以简单明了的语言和简洁实用的例子,阐述C语言的基本语法和程序设计的基本逻辑思路。C语言的语法及使用有很多灵活和复杂的方面,对初学者来说往往难以全面掌握,所以我们只对主要的适合初学者入门的知识点进行讲解,其目的是通过C语言的学习与实践,培养学生程序设计的抽象逻辑思维能力,掌握动手编程上机实践的技能[4]。程序设计的抽象性往往使学生望而生畏。选用简单实用的例题,目的是让学生能尽快入门,并对程序设计产生兴趣,能体会到编程和调试的乐趣。
三、优化教学内容,改革教学方法,丰富教学手段
3.1 优化教学内容
对于课堂教学内容的取舍,教学团队首先从指导思想上达成共识,就是重点是编程的逻辑思维的培养,分析问题、解决问题能力的培养,而不是解释语言本身的语法细节,据此来优化课堂的教学内容。对于编程能力的培养,从具体的问题分析,特别是从贴近学生生活的实例出发,进行类比,转化,进而同化到学习者自身的已知范畴中,这也符合建构主义[5]关于学生是如何学习的理论。对于语法规则,通过实际的调试程序、验证性实验等方法,使学生有更直观的感受,印象也更深刻。我们对教学大纲进行反复讨论修订,通过教学大纲贯彻教学改革的指导思想。
3.2 改革教学方法
在课堂教学中采用任务驱动、案例教学、类比教学等启发式教学方法,从一个具体问题出发,引入要讲的概念和知识点,使得学生掌握解决类似问题的方法,注意启发学生与以前所用的方法进行比较,并在此例的基础上进行扩充,改变条件等,渐进式的展开,不断滚雪球似地拓展,学生比较容易接受,不断与已经掌握的知识进行同化。
针对下次课要讲的内容布置学生预习,每次课前鼓励学生就预习的情况作讲解,可以是预习收获,可以就疑问提问,坚持了教师为主导学生为主体的理念,训练学生自主学习的能力,对于学生自学能掌握的问题不讲或精讲,重点放在难点问题上。
建立小组学习模式,培养学生自主学习、合作学习的能力。让学生自由结合组成学习小组,3-4人为一组,每名同学轮流任组长(每月轮换),负责本小组本课程的学习讨论,上机、作业、考勤等,给每个学生同等的锻炼机会,促进后进学生提高学习的积极性,形成互帮互学共同进步的良好学习风气。
3.3 丰富教学手段
课堂教学中综合使用PPT课件、程序演示和板书等教学手段,语法规则以PPT课件为主,问题分析,算法设计辅助板书,程序验证直接运行,直观看结果,章节的开始有提示,结束有小结。避免了单纯PPT课件教学易使学生疲劳并产生课件依赖的现象,提高学生积极参与课堂教学的积极性,发挥学生学习主体的作用。
加强精品课程网站建设,充分发挥网络教学的作用。本课程已经� 课程网站上有丰富的教学资源,有教学大纲,电子教案,教学课件,教学视频等,实现了网上答疑,还建有论坛社区,方便师生之间的讨论交流。
组织程序设计竞赛,培养学生对程序设计爱好和实际能动性。通过每年选拨优秀学生参加数学建模比赛、ACM程序设计大赛,组织有兴趣的学生积极参与,并加以指导,培养了学生对程序设计的爱好,提高了学生解决实际问题的能力。
四、加强实验实践教学,适时安排课程设计
4.1 加强实验课的教学,培养学生实际动手能力
为加强实践教学,独立设置了C语言程序设计实验课程,每周2学时实验课,平时实验室开放,学生可以在课余时间进行上机练习。强调理论与实验并重,在实验内容上安排一些基础性的验证型实验,作为必须完成的项目,帮助学生理解掌握基本的知识点,培养学生动手能力。在此基础上布置一些具有一定难度的题目,面对能力较强的学生,提高他们的综合设计能力。
实验课后学生要撰写实验报告,实验报告内容包括以下几个部分:
⑴ 实验内容;
⑵ 算法描述(要求按照规范画出流程图);
⑶ 源程序代码(注意代码风格,必要的注释);
⑷ 测试及运行结果(包括几种算法讨论);
⑸ 调试过程(遇到的问题及解决办法);
⑹ 收获体会。
对于大学低年级的学生,通过编写、调试程序,撰写实验报告,对于培养他们严谨科学的工作作风、锻炼科技论文的写作能力都起到了积极的作用。
实验课程考�
4.2 适时安排课程设计,培养学生创新意识
在学完本课程后在相关专业开设C语言程序设计课程设计课程,本课程是实训类课程,时间为一周,通过多名学生合作完成一个相对比较复杂的课题。锻炼学生的分析问题、解决问题的能力,培养学生团队协作精神,使学生了解软件开发流程、代码和文档编写规范,提高编程能力和创新意识。
课程设计的选题很重要,教学团队经过讨论精选出一些具有一定难度但可以通过学生努力完成的课题,并鼓励学生自选题目,提出切合实际应用的课题,写出分析和需求报告,有指导教师共同讨论通过,自选题目有加分奖励。如有的小组就结合学生实际生活,设计学生综合评测系统,解决他们学习生活中的实际问题,提高他们课程设计的兴趣和完成后的成就感。
在课程设计的过程中,按照正规软件开发的流程和步骤,每一个步骤完成都要提交相应的文档,最后完成时提交程序代码和完整的文档。小组成员有明确的分工,以自主设计为主,指导教师检查每个阶段的成果,并及时给予反馈意见,对难点问题通过讨论引导学生自行找到解决的办法。
课程设计课程的考核采用小组答辩的形式,每个课题由一人主要汇报演示讲解,其他成员都要求回答问题,这样既锻炼了学生的表达能力也避免了不自觉学生跟风搭车现象。
五、改革评价体系,面向实践和应用,注重过程评价
改变过去期末笔试的考核方式,全面考察编程能力、调试程序能力,推行考教分离,注重过程考核。最终成绩由平时成绩和期末考试成绩两部分构成。平时成绩由平时测验、出勤情况,作业情况,讨论发言情况等确定,期末考试采用的是无纸化网上考试系统,由系统从题库中随机组卷,以编程题为主,重点考察学生的编程能力和程序调试能力,成绩由系统自动判定。避免了过去那种靠期末突击、死记硬背侥幸过关的现象,保证了考核的客观公平,也对学生的平时学习和课堂管理起到了积极的作用。
六、结束语
在C语言程序设计教学改革的实践中,我们不断总结,不断地实践,目前已经形成了C语言程序设计、C语言程序设计实验、C语言程序设计课程设计三位一体的课程群,并且与后续的C++程序设计、Java程序设计、数据结构等课程建立了程序设计基础的课程体系,在课程建设、内容优化、资源共享等方面进行通盘考虑。C语言程序设计课程的教学改革与探索方兴未艾,我们还要继续完善和深化以上的一些做法,不断跟踪其他兄弟院校的成功做法,借鉴他人的经验,努力探索适合应用型人才培养目标的课程教学体系,把课程建设教学改革继续推向深入。