关于程序设计的心得
关于程序设计的心得篇1
经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。 在为期近两周的C++课程设计中,我体会颇多,学到了很多东西。我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。而这些问题,这并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。特别是学会了在Visual C++中如何调试程序的方法。当然,老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。
在老师和同学的帮助下,通过自己的努力,终于完成了这次职工信息表的简单课程设计。我经过这段时间的编程,对其中的艰辛,我是深有体会。从刚开始的选择程序、理解程序到后来的调试程序以及改进程序这个过程中,我遇到了各种各样的困难和挫折。但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。
通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节内容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。
虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。我很欣慰自己能在程序中加入自己的想法和有关程序内容,也就是对它的程序改进了一番改进,并有创新。但是我感觉自己的创新还不够典型,总之还不是很满意。另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我充分认识到了自己的不足,认识到了动手能力的重要性。我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!
总而言之,这次C++程序设计实践让我收获很大。
关于程序设计的心得篇2
学生成绩管理是高等学校教务管理的重要组成部分,其内容较多,要完成能够实现人员的信息录入、查询、修改、删除、统计、保存、显示等操作。系统具体实现的功能如下:
1. 添加新的联系人
2. 删除所有联系人
3. 删除某个联系人
4. 查询某个联系人
5. 查询所有联系人
6. 将电话本导出到文件
7. 从文件导入电话本
8. 查询并编辑某个联系人
9. 全班同学的平均分
大概的算法分析
学生成绩管理软件的数据结构
学生成绩一般都是以每个成员为单位进行管理的,一个学生学号用一个结点来表示。考虑到添加、查询和删除的方便,这些以学号为单位的结点用链表方式组成一个主目录。每个结点有四个域:
(1)学生代号;
(2)课程情况;
(3)成绩信息管理情况;
各函数的功能和实现(学生成绩管理的相关功能由对应的函数来实现)
(1) 添加新的联系人
用代码实现输入及输出添加新的联系人的学号,姓名,性别,生日、语文成绩,数学成绩;完成添加工作。
(2) 删除某个联系人
首先输入要删除的姓名,然后要在系统中查看是否有此记录,再用分支结构实现删除链表中此员工结点并修改学校员工链表及未找到这条记录;因为可能系统中不存在此记录。
(3) 删除所有联系人
此功能要逐条删除联系人,则我们采用分支、循环结构实现首先遍历是否有给记录,输出读取记录或没有该记录;再到文件是否读完,若没读完则要循环继续读取,否则已删除了所有记录。
(4) 查询某个联系人
因此功能会出现还没有任何记录、未找到这条记、输出该联系人信息三种情况,我们则选用简单的三分支结构;首先要请输入要查询联系人的姓名,输出有记录或还没有任何记录,有记录则遍历所有人,最后是未找到这条记录,输出该联系人信息。
(7)从电话本导入文件的流程图
首先查看是否有记录,输出没有任何记录或打开“Manager.t_t”, 历遍链表,将人员结点信息写入文件Manager.t_t、关闭文件,最后成功保存到Manager.t_t。
其余的函数功能实现相似则不重复。
心得体会
刚放假不久,我们组的积极分子们就张罗着要开始编写程序了,编写这个程序我们经历了讨论选题,编写代码,调试,写设计报告等。在这期间我们查阅了很多相关的资料,曾盯着课本发呆过,我们成员之间也曾进行过激烈的口舌论战。经过这个暑假来的实践学习,使我们对C++语言有了更进一步的认识和了解,要想学好它,则重在实践,要通过不断的上机操作及实例运用才能更好地深入体会它,当然通过实践,我们也发现我们的好多不足之处。就比如我们对C++语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,一些经常出现的错误也不能很好地处理。我们编写这个程序使用的是比较简单的函数及结构,由于我们的水平有限,还不能很好的使用一些效率高的方式来编写,所以也没有突出的创新点。在做题的时候我们都是分工合作。分工完成结构体、函数设计、算法分析等,这些过程中总是有很多错误出现,有好多的小问题都是我们粗心大意造成的,所以设计程序一定要仔细,不容一点的马虎。当然也有大问题,关于文件的操作,类的使用等等这些使用我们都琢磨了很久,在解决错误时我们有时几乎焦头烂额了。但是我们与队友之间都会不断的相互鼓励、支持,彼此都努力维护着将作业写完。虽然这设计有点枯燥无味,但是当最后我们大功告成时,回味起来还是美滋滋的。总的来说我们真的是在设计的过程中受益匪浅。
关于程序设计的心得篇3
时间过的真快,一晃眼的功夫,C++实习就要结束了,虽然只是短短的10天,但带给我的却很多。
首先,我先简单回顾一下自己在这一段时间的经历。
实习是从31号开始的,经过短短的一上午的辅导,我就开始了自己的任务,每个人必做的第一题最优直线平差、自己选的第六题秩亏网平差和一个临时加的水准路线与三角高程相对定权问题的处理。说实话,虽说自己利用空闲的时间看了一本C++的教程,对书本上的知识有所补充,对一些知识点相对理解加深了一些,但是如果真正上机编程的话,还是有点小心虚。俗话说:熟能生巧;在老师的激励下,我对自己的本次实习充满信心与期待。
我的实习的真正开始算是第二天吧,也就是元旦放假第一天,因为天气比较冷所以就呆在宿舍在自己的电脑上先小试身手,不管做什么东西,都要有一个好的基础,MAT类和adj类算是测绘程序设计的一个非常重要的辅助工具吧,几乎每个程序都要涉及,于是我就用了一天的时间将“MAT.h”头文件读了一遍,尽管求逆inverse()函数和求矩阵的秩R()函数没有看懂,但其具体在什么地方用,和其他的一些程序算是有一定的掌握,然后就分析题目,慢慢做吧。
万事开头难,古人真是睿智。最优直线的问题,题目看了好几遍,相关的一些老师的程序也读了几次,感觉还是没法下手,也许感觉这东西不靠谱,它有时候会挡住你前进的路,而你只能靠着这种感觉原地踏步,重要的是摒弃它,踏出你的第一步。算了,硬着头皮踏出犹豫的第一步,先建个Myline的类,然后把能想到的数据成员与成员函数加进去,然后在做定义。就这样磕磕绊绊地、边写边参考老师的程序,我的程序算是有了几个大块了,file_in_Myline(char _),file_out_Myline(char _),Myline_adj(),为了实现文件能够成功的调用,我又尝试着加入了Creat_Myline_file(char _)函数,通过屏幕上提示创建自己的文件,然后有直接调用file_in_Myline(char _)函数直接应用,为了尽量减少在main()函数中的处理,最后有加入了联系file_in_Myline(char _)和file_out_Myline(char _)的file_Myline(char _,char_)函数,然后其他数据成员根据需要往类中添加。就这些东西,我做了一天,还没有去调试,没有建立其函数之间的传递,效率真够低的,然后2号晚上开始调试,好多错误,看的懂的,看不懂的,我极力调试着,但我的脑子也越来越混乱,烦躁开始侵蚀我的理智。。。算了,休息会吧,再跟其他同学交流一下,宿舍小憩了一会,然后请来了编程不错的一个同学,他因为对这方面感兴趣,就提前好几天开始编程了,他给我指导了一些问题,期间,我们也交流了好多关于课题任务的一些知识点、注意点,晚上,11点左右,我的最优直线算是孕育而生了,程序的运行结果跟预期结果一样,真的,在结果显示在屏幕上的那一刻,我真的感觉好友成就感,今天就到这吧,有些累了,虽然程序在整体上看起来有点混乱、有的粗糙,但我可以安逸的睡了,明天再做整体修正吧,总体来说,这个开头在有心人面前算是开的有点崎岖但还算顺利。
然后第二天修改了下我的最优直线,再考虑了下我的第六题,那天晚上也算是曲折的做了出来,第十题老师说是很简单,而且就光当时的讲解讲了好几遍,所以有目的的去看定权的那一部分程序,没花多长时间就把它搞定了,元旦三天时间,别人玩的时候,我做了我的程序,有好多同学的程序还没有开始呢,哈哈,我感觉好幸福!
4号算是实习的第二天,但我的任务可以接近尾声了,但前提是我这样想的话。因为我知道班里的一些同学也同样做完了自己的任务,都开始涉及其他的课题,大家都极力的充实自己,我怎么可能落下呢?所以我不会就此停下,我要好好利用本次实习,让它充实而有意义。
在接下来的几天里,我积极的接触其他课题,在自己的努力和老师的帮助下,效果很理想!
本次实习,我做了7个课题,第九个平面网最小二乘法的实现,因为涉及的程序太多,一时半会做不完,所有以后有时间再去考虑它吧,总体来说还是达到了自己的期望,。从某种程度上来说我是超额完成自己的任务,但是我知道,这个结果除了自己的努力外还有其他几方面非常重要的原因,而这几方面也让我成长了不少。
实践出真知,实习前,我的C++知识只是停留在理论水平,而且就算理论水平,也存在很多漏洞。有时,在做课题的时候,理论的漏洞冒了出来,我就只能在看着课本慢慢的再学习一遍,像做导线程序有涉及到数字测图的知识,还有好多数据处理都涉及到平差原理的知识,因为当时有些东西就没有搞懂,所以现在就又翻出课本,看着课本编程,也算是将旧的东西复习了一遍。同时,有的理论在实习操作过程中印象更加深刻。有趣的是,做完导线程序,用课本上的数据演算了一遍,结果发现课本上有一个数据是错误的(可能是吧),其他有做导线的同学也有相同的反应,总之,感觉挺好,不错!
成功=勤奋+合作。我暂且将我的实习成果用成功来代替,虽然离成功差的还很远。在实习接近尾声的时候,有的同学跟我聊得时候,说我怎么交这次实习的成果,我说做了的课题都交啊。同学有些羡慕的恭喜我,我挺愉快的,但我也知道,我付出了,回报跟付出是成正比的,我从31号起就开始了自己的实习,我也放弃了好多休息的时间,我笨拙的读着老师给的相关的程序,发现有什么不懂得,先是一个人自主的思考,实在解决不了的就和其他同学讨论,有时别的同学会很清晰的给我说明一些课题的思路,但大多数,其他同学也不懂、或者也在这方面存在疑问,于是,大家发表各自的看法、思路,然后就讨论了起来,最后,在大家的共同努力之下,问题的答案逐渐浮出水面,大家为了庆祝一下,有时还去外面吃一顿。交流与合作在实习过程中给我很大的帮助,我得到了很多,每次看到解决一道问题后大家的愉悦,我想大家应该与我一样收获很大吧。说真的,我挺喜欢这种讨论的氛围,它也让实习过程变得趣味横生,不再只是呆滞的盯着屏幕写程序。
我是班长,我有义务去帮助其他同学,而实习给了我一次很好的机会,也让我成长了好多。在这几天的上机过程中,有同学问我问题,我积极的对待每一个问题,我会的,耐心的为他讲解,每一次讲解,也是我的知识巩固的一个过程,所以我也乐此不疲,每次给别的同学讲完后,我挺有成就感的,这种成就感不会让我沾沾自喜,而会成为我不断向上的动力;毕竟我也算是新手,有一些问题自己也是无能为力,我们或是讨论,或是问老师,老师耐心讲解让我们甚是感动,有时候被老师那种责任心所折服,大家都说有这样的老师真好!好的,我也要向老师学习,对同学负责,做好我的角色,真正做到为了同学的利益而牺牲自己的时间。
本次实习的缺陷,对我来说就是,所有程序的原始数据都来自老师给的数据或者是测量平差和数字测图书上的例题数据,跟其他同学会有所重复,但所有的程序都是自己独立完成。
这次实习总体来说,每天我的过的挺累,但累是值得的,这个值得不仅仅是课题成果上,更重要的让我成长好多,也许这就是我在这短短的十天左右的时间里最好的回报吧。
最后,真心感激跟我一起完成课题的同学们和耐心指导我们的杨老师,我会在以后的路上牢记这次美好的回忆!
关于程序设计的心得篇4
刚学习C#的时候,感觉很难,做的时候出现很多错误而且我是照着书打代码还有错误,那时的感觉是迷茫的。在学习的过程中,我还是坚持下来,虽然学的不是很好,但是慢慢就理解了,现在也不要仿照书打代码。现在讲讲做项目的感想。我们项目做不好也有一个小原因,是因为我们三个项目同时进行,而三个项目不同,在需求分析方面没有弄好,导致后面在做项目时,数据库出现了很多问题,所以我觉得现在我们项目不要做多,而是好好做一个项目,从需求开始就要做好每一步,到后面编程才不会出现特别多的错误。
不得不说:“在老师检查完第一次之后,我去看了一下师兄做过的项目,就觉得自己这个项目相差太远了。我觉得我有以下几方面做不好:1.在刚上C#时老师叫我们现在就要做项目但我没有,一直等到老师快要检查时才急急忙忙的做。2.老师上完课,自己做完作业之后,没有好好的复习。其实我觉得三层架构也不难,三层结构就是主要调用了类,而类中定义了方法,归根到底我们还是引用了类中的方法实现它的功能,类就类似于C语言里的函数,因为在数据访问层要用到数据操作类所以要创建一个数据操作类。而我们建三层架构是为了就是倒觉得在表示层里实现一些功能能时要去分析,但是C#语言只学习过浅的知识,数据结构我们也没有学习所以分析起来就有点问题。但是所有问题都是觉得自己太懒,如果自己好好自学数据结构,学习离散数学,也许在分析功能模块会得到提高。所以本人决定寒假做一个像样的项目出来。
无论是学习还是做项目的过程中,耐心都要非常重要。有时出现错误,上网查了,自己又想了很久,又找同学讨论还是不能解决时就会有不想做的念头。因为自己曾经在大一时就是因为连关机都不会关,当时都吓到宿舍友了,觉得还是转专业好了。虽然转专业没有成功,但是自从开始学习C语言之后,就慢慢的喜欢计算机应用技术这个专业了,觉得它很有趣,当在做项目成功的实现它功能时,心理就特别高兴,就好想再做几个功能。但是事实不是一下就能成功的实现它的功能所以耐心非常重要。
最重要的一点是我们做项目时,我们要有团队的合作精神。只有这样我们才能很好的完成一个好的项目,才能完成一个项目。就好比如在三层架构中,小组成员要知道我在数据访问层和业务逻辑层用了什么方法,这个方法的作用是什么作用,再表示层里才更好的实现功能。我最大的愿望就是几个想学习的同学在一起讨论问题,只有这样才能进步更快,才能学到更多的知识。
最后想说:“一分耕耘,一分收获。“项目不是做的很好,但是通过项目学到了更多的知识。
关于程序设计的心得篇5
1.多看多写
看一下别人写的代码,会养成一个好的编程习惯。但更重要的是,要看一下比较成熟的代码。
2.多编多敲
看了代码,就要写代码,,可以跟他们相同。这是了解他们的代码,也了解代码的执行过程。特别是在编译的时候,你会发现你的进步和不足。在失败中取得微小的成功,是一件很快乐的事情。
在敲代码的时候,你会发现,你的很多英文都会输入错误。尽量多用“.”这个神奇的点,实质就是调用。
3.简单编程
不要一开始就是很困难、好多行的代码。这样你的自信心会被削弱的。自尊会被打击的。从最基本的学起。
从一开始就慢慢体会代码重复利用的快乐。毕竟这样很节省代码的输入量,而且很能体现你的学习的效果。
4.多多交流
也许很简单的问题,都是一些很简单的属性设置的问题,或许一些你很想不到的边边角角的问题,你总是会感到迷茫,但是,不要担心,你要充分利用帮助文件和网络的资源。
特别是,在学习C#的时候,很多人,很懒得安装MSDN,确实,那些占用很多空间。但那里面有很多好东西,会教你很多的属性的资
料和很多方法。
通过网络的搜索,很会找到很多有关的话题的解决方法,很多你遇到的问题,很有可能,早就被人发现和被人解决。你会在寻找问题的答案中,获得进步。发现问题和解决问题本身,就是一大进步。
5.发现新思路
编程最麻烦的就是套用老方式和老办法。你可以充分利用现有的对象,进行细化和增加新的属性。创新是编程最大的灵感。
6.编程模式
编程归根结底就是对控件属性的修改的过程,使之符合我们的需要。控件也叫做对象,你跟用户最直接的接触方式。修改的过程也就是函数的应用。
通过对现有的控件的学习,你会发现,这些很基本,但是覆盖的面十分的宽广。也许,这些控件可能无法满足你的需要,你就会新建新的控件,来满足新的需要。
但是,基本的控件你是必须要掌握的。
7.善于总结
在总结中,你会发现,你有很大的进步,也存在很多的不足。所以,你就会千方百计的改进你的工作方式和学习方法,使之不断进步。
编程本身是一项创造性的工作。灵感来自客户的需要,来自市场的需要,来自用户的便捷操作,来自您对自己的信心。
8.创造完美
完美是合作的结晶。通过团队的努力奋斗,你会发现你的工作量
减少了,你的质量提高了,你的效率提升了,你的能力增强了。
更重要的事,从你组织和分配中获得的成功,会让你获得鼓励,在今后的编程生活中,体验编程的快乐,从自己做起,分享自己的快乐,从团队合作做起。
总之,自己一直是一位初学者,有很多专业的概念,我还是很不明白,这次,我通过编程实训,使我了解了很多,学习了很多。
关于程序设计的心得篇6
通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我傻坐着不知道该做什么,后来就写了几个预处理命令。回去以后,我想,这样不行,这样下去还得了!我就重新复习了一遍我们上个学期学习的内容,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!
一开始做题,也是有点模糊,在指导老师的指导下,我们慢慢的进入状态,我们做的是一个通讯录,内容包括很多。运用的函数也是非常的复杂,我们一组有七个人,我分工合作,首先我一起完成了结构题,然后我们一人各负责一个函数程序的设计,经过几星期的努力,我们完成了大半个程序,但是总是有很多错误出现,有好多是些小问题,这都是我们粗心大意造成的,所以设计程序一定要仔细,不容一点的马虎。当然也有大问题,关于文件的操作,是我们最大的问题,不过,我们做好后,经过老师的讲解和改错,我们也懂得设计和运用了。同时,也让我知道了,合作的力量,如果是孤军奋战的话,我也不能在规定时间内完成,当然,也多亏老师的指导。
这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验!
关于程序设计的心得篇7
一、课程设计目的
通过系统的制作,使我们熟悉系统开发的流程,更加熟练掌握C#语言的编程以及系统制作,同时可以减轻老师的工作负担提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。
背景
在我国,虽然远程教育已经蓬勃地发展起来了,但是目前学校与社会上的各种考试大都采用传统的考试方式。在此方式下,组织一次考试是至少要经过5个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加以及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是十分繁琐和容易出错的,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高考试的质量,从而使考试更加趋于公正、客观、更加激发学生的学习兴趣。
在线考试系统要求对考生进行登录验证、考生选择考试科目、
限制考试时间、交卷后自动评分,同时需要为管理人员提供试卷管理及考生信息的相关管理,设计系统的主要目的是为考试减少不必要的浪费并且使考核学生成绩变得客观和公正。
二、课程设计的要求
(一)管理员用户
1、能对试题(只有单项选择题)进行管理(增加,修改和删除);
2、能对用户留言进行管理;
3、能管理注册用户(删除某用户);
4、 能查看所有用户的考试成绩。
(二)普通注册用户
1、可注册一新用户,注册内容项自定,但必须有上传照片项,所有项目须验证。
2、可登录进入考试页面进行考试,登录成功后考试页面上要显示用户信息和用户照片,同时显示相关试题(随机从题库表中任意抽取20题进行考试),用户做完试题后点提交试卷按钮结束考试,可使用消息框看到本次考试的成绩,并将相关信息存入成绩表中。
3、可查看留言和留言。
三、运行环境
系统开发平台:Microsoft.Visual.Studio.2005;
系统开发语言:C#;
数据库软件:Microsoft SQL Server 2005;
运行平台:windows xp/windows7
运行环境:Microsoft.NET Framework SDK v2.0
四、系统设计:
本系统有两个类型的用户,管理员和普通用户。用户在注册时可以设定自己的权限,注册成功可以跳转到登录页面登录.
如果是普通用户登录,就可以修改自己的信息,并自己进行留言和进行试题测试,查看开始时间/考试成绩和留言信息
如果是管理员登录系统,则可以对试题进行相关的操作,如增加试题。对注册的新用户进行管理,删除用户。对留言信息进行管理。并且可以查看学生的成绩。
运行:
在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。
五、心得体会
基于.net的在线考试系统的的设计与实现经过系统分析、需求分析、概要设计、详细设计等阶段基本了解了该系统的功能要求及设计的可行性。在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。
由于时间和技术水平的缘故,本系统还存在着许多方面的工作尚未完善。系统的各项功能基本都能正常运行,达到了初步设计的要求,但是还不够完善。比如插入试题模块功能还不完善,系统安全性有待提高。另外在试题的插入时,只能由管理员逐题进行录入,还没有实现试题的成套录入。界面的美化还得进一步细化,各功能模块也有待进行整改和完善。一个好的系统需要一段时间的跟踪及长期的维护,也许后期还有可能进行功能上的增加或改进,这些都需要在系统设计时考虑好,才能使一个系统被应用的时间更长。自己有待进一步提高,相信在以后的学习及生活中会将本设计修改的更加完善。
关于程序设计的心得篇8
通过本次教师发展在线的C语程培训中,我受益匪浅,几位教授的精彩演讲,让我找到了自己的不足和日后教学中的改革方向和内容。同时,也让我感觉到了,有今天各位教授的良好教学效果,这其中包含了他们的艰辛、背后的大量付出和无私奉献。
我是一直从事C类语言的教学工作,对C语言的教学已有5年教龄,在这几年的教学过程中,我们也一直在寻找好的教学方法和新的教学理念。通过本次学习,我总结要教好《C语言程序设计》这门课,最基本要把握好以下几个方面:
(一)要重视实践环节,上机调试成绩非常重要。
学习一门语言,就是要按照它的语法来编程。要编程,当然就要上机操作来验证你程序的正确性。所以上机非常重要,通过执行你所写的程序,完成你所写程序的目标,最终达到你的目的。而且通过执行程序,你会发现程序中的错误,从而使你了解你所学知识中的不足,同时,要学会根据编译时提示的错误来改正程序中发生的错误,以便下次不会再犯同样的错误。
(二)基本语法学习虽然枯草乏味,但是它相当于高楼大厦的一砖一瓦,一定要下硬功夫让学生掌握熟练。
C语言的语法部分。这部分内容是学好C语言的基础,只有学好了这些语法,才会写程序,看程序。所以对一个初学者来说,这部分内容是非常重要的,所以要扎实地熟悉每一个语法,并能根据这些语法来编程。
(三)学习要抓住重点,难点部分要多讲、多学、多练。
通过这次学习使得我对C语言的重点,难点,以及易出错的地方把握的更精准了。当然,这只是针对我个人而言。在C语言学习过程,重点就是数组,指针,以及结构体了。难点也是它们了,不过数组和结构体还是挺简单,所以在此主要就指针方面谈谈自己的看法。
下面谈谈通过这次学习,结合我们学校的教学情况,打算对该课程的教学进行如下几个方面的改革:
(一)理论教学内容的组织
C语言的重点知识包括:结构化程序设计方法、流程图的组织、三种程序设计结构、三种基本数据类型和三种自定义数据类型;难点包括:结构程序设计方法、算法的分析、流程图的组织与设计、函数、指针等。
根据知识内容和每年的新学时安排,我们将理论教学内容分为授课内容和自学内容两大模块。
(1)授课内容
C语言的授课内容分为两阶段:①基础准备阶段 这部分内容确保学生“实用、够用”,主要包括三种基本数据类型(只要求掌握常用的int,float,char);三种常用运算符及其表达式(赋值、算术、逻辑(包括关系));三种程序设计结构(顺序、选择、循环)。②实训项目驱动阶段 这部分内容主要是“实训实战”,主要包括数组、函数、指针和结构体。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识,在这一阶段将通过一个实训项目的完成来熟悉主要内容,同时巩固第一阶段的成果。
(2)自学内容
课本中的内容上课没重点介绍或者说就是没提到的,划为自学内容。但这些内容,我们并不是在课堂要求学生回去自学:要求过高,规矩过多,这样效果不佳。而是让学生在实验中发现问题后,带着问题去学习,去找答案。
例:整型 我们只介绍int基本类型,当学生想计算n!时,学生测试5!=120时,他可能会去测试20!、50!,这时,存放阶乘的变量Factorial再定义为int,结果就是0了,这时问题就来了,他就会去寻找正确的处理方法(long int)。
(二)实验教学的安排与设计
教学改革方案确定后,我们对本课程实验教学上从多方面进行了教学更新。我们考虑到学生处于了解计算机语言及编程的初级阶段,有许多最基础的内容有待掌握,所以本课程的实验教学不太适合完全以项目开发的形式进行,注重的是加强模块化实训。
(1)上好第一节实验课
我们常说“上好第一节课”,那么第一节实验节的重要性也不言而喻。这节课对培养学生的学习兴趣、增强学生的学习信心、锻炼学生的自主学习等多方面影响很大。
第一次实验项目是—熟悉Turbo C的运行环境,主要是掌握一些在TC中的一些键盘操作方式。一般是教师给学生提供程序代码(三个),但我们在学生不知情的情况下,给学生两个有语法错误的和一个正确的程序。这样,当学生运行正确的程序时,知道计算机可以帮我们处理问题,原来程序就是这样写的;当学生运行错误的程序,首先他会诧异(老师给的程序原来是错的),于是要求他们自己修改,尤其是有时一个致命错误导致的10多个errors,被学生修改后,没有了errors或所剩无几,这时学生表现的很兴奋、很有成就感,从而加强了本课程的学习兴趣和信心。
(2)分两阶段进行
实验内容与理论教学内容相互应,在基础准备阶段,这方面教学方法上主要是加强操练。通过各种大小程序、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路,掌握编程基础。同时,在这过程中我们严格把关,让学生课后认真准备,每次进实验室时,应有写好的完整代码,上机调试,发现问题同时解决问题,要求认真完成实验内容,并在课后书写实验报告。鼓励学生多写程序,要加强实践环节,首先要从量上有个划分。在实训项目驱动阶段。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的内容之间有联系点。
(三)案例教学法
C语言的教学,教师一般受传统应试教育的影响,狠抓理论考试,忽略了程序设计能力的培养,把授课重点放在程序设计语言的基本语法的讲授和掌握上,所选的编程实例大多用于语法规则的验证和说明,仅从程序设计语言的使用这个单一的角度进行教学,而使得大多数学生在学完本课程后,“吃不透、用不活”,表现为学生在程序调试时,对程序中出现的逻辑错误经常不知所措,在开发较大的应用程序时,不知道如何入手。
采用案例教学法,以程序设计为主线,以编程应用为驱动,通过案例和问题引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语言知识。使教学效果既有深度又有广度,学生实际动手能力大为增强。
以上是我个人结合我院C语言程序设计的教学情况,自己总结了几点看法和一些改革措施,拿出来和大家一起分享,请大家多提宝贵意见。通过这次学习,我将会灵活运用几位教授的教学经验,根据我院的教学对象,调整一些上课方法和措施,望能更好的提高教学质量。