C语言实践心得体会实习心得体会

2024-10-23

C语言实践心得体会实习心得体会(共12篇)

C语言实践心得体会实习心得体会 篇1

C语言实习心得体会

C语言实习心得

2014-7-6在这个学期的实习过程中,我们进行了为期俩个礼拜的C语言实习。首先得保证的一点就是我们要按时实习,遵守实习规则。在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,也有助于我们专业课的学习,因此,C语言的学习对我们尤其重要。

在这个俩个星期里,我们专业的学生在梁老师的带领下进行了C语言程序实践学习。在这之前,我们已经对C语言这门课程学习了一个学期,对其有了

一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改等。上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习C程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用C语言开发程序的能力,为

今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了5次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

1.加深对课堂讲授内容的理解

课堂上要讲授许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写C

语言程序,解决实际问题。即把C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握C语言、自己编写的程序是否能够正确地解题。

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,我们可能会想办法去”掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多想不到的情况发生,通过解决这些问题,可以逐步提高自己对C语言的理解和程序开发能力。

2.熟悉程序开发环境、学习计算机系统的操作方法

一个C语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能

进行。所谓”环境”就是所用的计算

机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

3.学习上机调试程序

完成程序的编写,决不意味着万事大吉。也许我们认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗几个小时时间的小小错误,老师一眼就看出错误所在。

时光飞逝,转眼间为期俩周的实习

结束了。在这期间,我学到了我也深刻的体会到,不管是做什么,首先对自己要有信心,其次要有奉献和吃苦的精神,再次要有创新精神和能力;同时我也悟到了许多,实习,是生活的又一个学习的平台,我们要有团结协作,善于沟通的能力。团结起来,发挥集体的力量,那样才能事半功倍!团结、沟通是非常必要的。通过这次为数不多的几天C语言实习,我们了解了一些关于C语言的知识,理解巩固了我们C语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。

C语言实践心得体会实习心得体会 篇2

关键词:全英语教学,国际合作,留学生教学,分组教学法

一、引言

2001年教育部在颁发的《关于加强高等学校本科教学提高教学质量的若干意见》中提出:“本科教育要创造条件使用英语等外语进行公共课和专业课教学。对高新技术领域的生物技术、信息技术、金融、法律等专业, 更要先行一步, 力争三年内, 外语教学课程达到所开课程的5%~10%”。2002《普通高等学校本科教学工作水平评估方案》要求“用双语授课课程指标采用外文教材, 并且外语授课课时达到该课程课时的50%以上”。在这种导向性的背景下, 普通高校由部分课程采用英语教学到实行全英语教学, 已经成为高校教育改革的热点。

二、课程教学背景

德里克·博克, 美国当代著名的法学家和高等教育专家, 1971—1991年博克任哈佛大学校长。博克认为, 高等学校是开展国际合作和学术交流最为有力的场所, 大学和学院必须承担起这方面的责任。他指出:“像美国这样一个在科技发展建筑与海外学生和学者贡献基础上的国家, 没有理由拒绝培养到我们大学寻求教育的有才华的外国人。任何限制外国学生在我们大学中研究科学的努力都是自我败阵的错误之举。”

上海理工大学和德国科堡应用技术大学联合举办光电信息科学与工程专业, 中德双方分别授予“光电信息科学与工程”和“应用物理”专业的学士学位。本专业贯彻宽口径、光电结合的国际化教学理念, 依托德国的优秀师资和现代化教学模式, 定位为培养具有国际化能力的企业高级工程师, 并且为去国外继续深造打下良好的专业基础。本专业采用国际化混班教学合作教学模式。一年级, 中方学生在专业基础课程学习的同时侧重强化英语教学, 二年级, 德方加入我方实现混班全英语专业课程教学。《C语言程序设计 (英) 》即是我们为本专业学生开设的全英语基础课程。

三、全英语课程设置介绍

《C语言程序设计》是全校各专业本科教学中的一门重要公共技术基础课, 在全校各专业的本科教学计划中占有重要地位和作用。在计算机教育方面, C语言是为数不多的与国外保持内容同步的课程之一, 在本科生教学中的地位不言而喻。由于C语言是许多后续专业课程的基础, 在本科生教学体系中, C语言教学仅是起点, 而非终点。

本着“卓越工程教育”的培养目标, 结合本校生源情况, 着眼未来, 本课程的建设目标是要努力把C语言从应试课程转变为一种实践工具, 不再局限于使学生单纯地了解和掌握C语言的基本语法规范, 而是要致力于培养学生运用C语言解决实际问题的编程能力。以C语言为工具, 介绍程序设计的基本思想和方法, 培养学生无论以后使用什么语言编程, 都能灵活应用这些思想和方法的能力。

以程序设计方法为主线, 以语法和结构为核心, 以培养能力和提高兴趣为目标, 变应试为应用。摒弃C语言课程以讲述语法为主的落后面貌, 重视在新形势下的新方法、新规则和新思想的传授, 把程序设计领域最新、最有价值的思想和方法渗透到古老的C语言中, 给C语言一个焕然一新的姿态, 并让学生从多角度以多种方式去了解和掌握C语言以及程序设计的精髓, 让学生在学习程序设计的过程中, 养成良好的编程风格。

全英语教学是培养学生“专业+英语综合能力”的重要手段。我国传统的基础外语教学基本上不涉及专业知识和技能, 专业课的教学无论是从教材还是授课上基本是汉语一统天下, 因此, 我们要尽快提高学生“专业知识+英语听说阅读”的综合能力, 而进行专业课全英语教学无疑是一个十分有效的方法。

教学共64学时, 教学内容和学时分配如下:

第1章C语言介绍 (Introduction) (2学时)

第2章数据类型、运算符与表达式 (Data Types, Operators and Expressions) (理论4学时, 实验2学时)

第3章简单的C程序设计 (Simple C Programming) (理论4学时, 实验4学时)

第4章程序的控制结构 (Controlling Structure of Programs) (理论6学时, 实验4学时)

第5章函数 (Functions) (理论6学时, 实验4学时)

第6章数组 (Arrays) (理论6学时, 实验4学时)

第7章指针 (Pointers) (理论4学时, 实验4学时)

第8章结构体和共用体 (Structures and Unions) (4学时)

第9章文件操作 (File Operation) (理论2学时, 实验2学时)

复习总结 (Review and Summary) (2学时)

实验设计的思想:以主要知识点为主线设计实验题目, 实验程序兼具趣味和实用特点, 以循序渐进的任务驱动方式, 指导学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计。

教材选用的是Cengage Learning出版社出版的Michael Vine著的《C Programming for the Absolute Beginner》, 该教材为C语言入门级教材, 深入浅出, 注重实例, 在实际教学中发挥了很好的作用。

四、教学方法创新———分组教学法

我们在授课阶段是采用授课和实验相结合的方法, 教学仍以课堂讲授为主, 虽然对学生自学能力要求不高, 但启发式教学、讨论式教学和面向实践的教学方式也是注重实践能力培养的一种举措, 既符合我国的国情, 也符合国际发展高等教育的趋势。

2014—2015秋季学期, 我们在《C语言程序设计》全英语教学班级采用了分组教学法。学生由两大部分组成, 其中中德合作国际班学生32人, 均为母语为中文的中国籍学生, 留学生16人。在分组时, 我们本着男、女生结合, 中、外学生结合的原则, 将学生分为8组, 每组由1名中国女生+3名中国男生+2名外国留学生组成。分组教学主要体现在如下教学策略中。

1. 分组讨论。

Think-Pair-Share (思考—配对—分享) 式教学方法。基于教育学中互相学习理论, 在分组讨论时, 让学生大胆用英语说出自己的见解, 并和同组的学生互相交流, 通过用英语反复阐述自己的观点, 增强了关键知识点英语表述的能力, 让学生更多的澄清了对问题、概念、知识的理解。

2. 分组总结。

Freyer-Model (纸片总结) 式教学方法。孔子说:温故而知新。每节课结束后限制时间让学生进行一张纸总结, 这样可以清晰地知道学生的掌握情况。同时教师可以通过一张纸总结清晰地了解学生对知识点的掌握情况。一组学生中遗漏或写错的知识点可以通过单独交流的方式予以澄清, 如果几组学生都会写错或遗漏的知识点教师就应在下一次上课时集中指出。这样的交互式方法极有针对性, 提高了教学效率。

3. 分组实践。

Practice-Oriented (面向实践的教学方法) 。欧美等国家的高校在教学方式上多为课程教学与大作业相结合, 对实践环节和学生自学能力要求高, 考核非常严格, 尤其注重实践环节的考核。上机实践时, 我们采用分组方法, 将一个大任务划分成子任务, 由每一组中的成员协作完成, 每组成员必须在实验报告中写清自己所承担的任务。实验的评分由实验水平、所承担任务的难易和实验报告的撰写水平共同决定。通过分组实验的方法, 锻炼了学生协同工作的能力, 明白了团队合作的必要性, 同时也提高了英语的口语能力和英语实验报告的撰写能力。

五、教学视频和课程网站的使用

根据课程建设项目的要求, 我们录制了全部理论教学的视频并实现了全部视频可以在线观看。作为教学辅助的重要措施, 我们开发了《C语言程序设计》课程网站, 包括以下内容: (1) Syllabus (课程教学大纲) 。介绍本课程的教学目标、教学内容、学时数、理论与实验学时分配、考核方法、参考教材、参考书和参考资源。 (2) Team (教学团队) 。介绍本课程教学团队成员的基本情况, 并留有联系方式, 供学生与教师联系使用。 (3) Slides (教学课件下载) 。全部上课用的多媒体课件均实现网上可以下载和观看。 (4) Videos (教学视频) 。全部章节的上课现场视频已录制完成, 并转换成“flv”格式, 以便高速下载或在线观看。 (5) Experiments (实验) 。全部实验项目实现上网, 历届优秀实验报告范例均贴出, 供学生学习参考。 (6) Strategy (教学策略) 。每节课后的一张纸总结是本次教学改革的重点, 在课程网站上, 每一章我们选取最优秀的一组学生的总结并贴出来, 以供其他学生学习参考。

六、结语

《C语言程序设计》是一门理工类院校的专业基础课, 本文总结了我们在该课程在中德合作国际班上引入留学生进行全英语课程建设和教学中的心得, 通过全英语教学, 提高了学生的专业英语水平;通过和留学生的分组教学实践, 提高了教学效率, 促进了文化融合。

参考文献

[1]赵文山, 养雪琴, 杜普选.“电路分析实验”全英语教学的探索[J].电气电子教学学报, 2013, (10) .

C语言实践心得体会实习心得体会 篇3

【关键词】C语言程序设计  教学改革

【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2015)05-0228-01

一、《C语言程序设计》课程的作用及特点

《C语言程序设计》课程在计算机类专业人才培养方案中占有重要地位。C语言的学习,对学生编程思维的建立,把现实问题转化为程序问题的能力培养,具有至关重要的作用。C语言又是学好其它专业课程的基础,如何提高课程的教学效果,调动学生的学习兴趣,对学习其它相关程序类课程具有非常重要的意义。[1]

C语言功能强大、应用广泛,这是它从上世纪70年代到现在经久不衰,被人们追崇的主要原因。C语言是一门实践性、操作性很强的课程[2],集抽象性、逻辑性、实践性于一身。在教学过程中怎么把这门课教好、学好,是对教师很大的考验。

二、《C语言程序设计》课程教学改革措施及成效

根据《C语言程序设计》的课程特点,以及高职学生的自身特点,在我们多年教学经验的基础上,我们对该课程进行了以下教学改革。

1.让学生充分了解这门课程,提高学生学习的主动性。

上第一节课的时候,就把该课程的性质、作用以及它在专业培养中的地位,它对应哪些工作岗位,能解决哪些实际问题,给学生做详细说明,让同学们充分了解这门课,对它有理性和感性的认识,才会有进一步学习它的欲望和兴趣。

2.应用“项目导入、任务驱动”的教学方法,增加学生学习的兴趣。

总听人们说,C语言是一门深奥、枯燥又难学的课程,如果采用传统的教学方法,确实给人这样的感觉。我们在多年的教学过程中不断探索、创新、改革,采用了“项目导入、任务驱动” 的教学方法,取得了较好的教学效果。我们积累了好多综合性的教学案例,在刚开课时,不着急讲解理论知识,选择一个综合案例作为项目,展示该项目的功能,并要求学生学完这门课后,在实训环节必须完成此项目。让学生了解学习目标、学习任务,以及学习成果,从而调动学习兴趣,增加学习动力和压力。在教学过程中,以此项目为依据,采用“任务驱动”的方法展开教学。把项目分成若干模块,比如输入模块、数据处理模块、输出模块等等,每个模块都是一个任务,每个任务又包含若干子任务,每个子任务的完成都涉及若干知识点。这样以项目引导、任务驱动的方式带动知识点的学习。学习是为了完成任务、实现项目。这样,学习变得更加有目标、有动力,使学生的学习兴趣、学习主动性和积极性、学习效率有了很大提高,效果显著。

3.“以赛促学”,增强学生自信心。

组织学生参加各种大赛,是督促学生学习、提高学生自信心的很好途径。我们组织学院级的ACM程序设计大赛,同学们都很积极、踊跃。赛前同学们争先恐后地在机房练习做题,遇到困难时彼此讨论得热火朝天、争执得面红耳赤,运行成功时兴奋得欢呼雀跃,学习气氛空前高涨。同学们在分析问题、解决问题过程中,锻炼了他们的能力、提高了他们的素质、增强了他们的自信。通过比赛选拔优秀学生参加自治区级ACM程序设计大赛,通过备战比赛进一步提高了他们的编程能力。去年,我们的学生取得了自治区三等奖的好成绩,比一些本科院校的学生表现得都好。通过比赛,同学们增加了学习C语言的兴趣,夯实了C语言编程基础,为以后的学习和工作起到了很好的促进作用。

4.以在线学习与测试系统作为常态化学习工具。

我们利用杭州电子科技大学开发的ACM在线学习与测试系统进行教学和练习,同学们网上注册用户名和密码,可以随时随地登录做题,编程提交后等待测试结果,若通过则显示红色的 “accepted”,同学们做题积极性很高。我们还利用北京大学在线裁判系统录入了自己的题目,有针对性地训练和测试同学们的学习,收到了很好的教学效果。通过在线学习与测试系统,同学们可以随时随地在线做题、测试,还可以在编程论坛上与志同道合的朋友们一起探讨、研究、分享,同学们学习积极性和学习效率得到了很大的提高。

三、总结

C语言教学改革是很多老师研究的课题,怎么增强学生学习兴趣、提高教学效率,也是我们每个老师关心的问题。本文依据我院实际情况,就高职学生学习C语言的一些问题和解决方案进行了阐述。要想教好这门课,需要教师从学生实际出发,改变教学理念,采用适合的教学方法和手段,与时俱进,整合各种教学资源,建立全方位、立体化的教学环境,想方设法调动学生学习的主动性、积极性,才能收到好的教学效果。

参考文献:

[1]蔡志荣.高职程序类课程教学效果量化管理的思考——以《C语言程序设计》课程为例[J].职教论坛,2014(26)

c语言心得体会 篇4

编程,虽然还不是很懂,但总感觉不只是学习知识这么简单,更多给我的感受是它在潜移默化中培养了人的一种能力,用自己的话来讲就是一种”代码能力“。对于同一个问题,让大家去解开答案,可能经过一些纸笔的运算都能得出结果,但是如何把这个问题转化成代码,这就是一种能力,而仅仅是将问题转换成代码,这是较为浅层次的能力,更深层的便是通过优化代码让程序运行时间缩短以及减少可能出现的bug。

如果只是单纯的学习知识,像是背英语语法知识那样去学习一门编程语言、背下代码规则(当然熟识理论知识是必须的),这样可能也可以初步懂得这门语言,但是在深入上却较为困难。我始终觉得学习编程,重点在于培养写代码的能力。就拿写文章来说,对于文字的认识,可能大家都懂,但是给定一个题目,写出来的文章质量就各有差异,有的人文章平淡无奇,而有的人的却是宏篇大论。编程也是如此,懂得了理论知识,就像是认识了文字,但是优秀的作家能将这些文字巧妙地组合在一起形成佳作,优秀的程序员也是如此,能将大家都懂得的理论知识以一种更为巧妙的方法通过代码展示出来并使之可执行。

所以,学习编程我始终认为我们每个人都应该注重写代码能力的培养。而这种培养可能需要无数次重复的练习,在获取这种能力的途中,可能有一部分人会觉得枯燥无味,因为始终看到的只是在黑色框框里输出一些数字以及字符串。刚开始的自己也是如此,但是后来那种解决问题的成就感慢慢克服了这种困难。给自己以有难度但又不超过自己能力范围的题目来练习,这样可能能逐步培养起兴趣。当然,因为每个人程度的不同,要找到适合自己能力范围的题目本身就是一种困难。以己之愚见,作为在校学生,老师的题目首先就是不错的选择,因为根据教学进度,老师都会给出不同的题目,而在此题目中必不乏难题存在,此时google一下,你可能就懂得了怎么去选择有难度又在自己能力范围的题目了。

在这个学期里写过的程序大概有八十多个,包括老师的题目以及网上的oj练习,行数在三千行左右,当然因为是零基础进来的,所以在起步阶段,“水题”的部分占所写的程序总量应该不算少,因为相信扎实的基础可能对以后会大有裨益。虽然说是水题,但是在练习的过程也发现自身存在的很多问题,通过谷歌,一步步解决那种喜悦当然不必言说啦。编译器一直用的是Dev C++和Code:Blocks,中途也尝试过VS(作为新手总想试试鲜嘛),但是对于写C来说确实显得臃肿便放弃了。也试过几个编辑器,个人觉得atom和sublime的体验还是不错的,界面比较清爽,字体颜色较多能对不同部分代码加以区分。

学习C语言的心得体会 篇5

在这次实训中,我对C语言有了一个更深的认识了解,也对这学期的知识得到巩固,还尝试了运行编程,每次运行程序成功,让我对下面的项目充满了信心通过自己的努力最终把最初的理论知识转化成基本技能,这次的实训,是我对C语言的学习产生了农活的兴趣。

还是这次实训,最令人激动的就是同学遇到问题互相帮助虽然只是一个很小得实训,但同学们的满腔人情却是值得骄傲的,我们在实训中取长补短在实训中长知识,提高了我们学习,虽然对有些时候老师没给我们指出解决问题的方法有一些小抱怨,但到了结束是才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多的是老师的感动,每天在我们来之前家到了机房,给我们我分享他学C语言的感受,还提醒我们注意在编程时与遇到的事项,这些是我们平时上课无发了解到的知识是我们更深层次的极大收获。

通过实训我们也发现了许多问题,在试训中我认识到自己还有很多知识没学好,最基本的知识点没有理清楚,而且许多东西要经过翻书,上网查阅,搜索,遇到一小点错误运行不出来,就会烦躁不安,觉得有些自暴自弃或这抱怨题目有些变态,以后要克服,尽量保持一颗蓝好的心态,学好C语言,用C 语言来编写一个按要求的系统。

对于未来,近程下个学期,我觉得我还有许多方面需要提高。

首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。能写出一些程序,上网的时候多看一些优秀的教程和优秀的代码,遇到问题是多和同学讨论,并且多弄出几套方案,多练习自己结局问题的能力和与同学合作的能力。

C语言程序设计学习心得体会 篇6

通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。也是很有帮助的,特别是对将要面对的计算机二级考试。

这段时间的学习我知道了C语言的基本特点有以下几点: 1. 语言简洁,使用灵活方便。2. 运算符丰富,表达能力强。3. 数计类型丰富。

4. 目标程序质量高,具有面向硬件系统的特点。5. 具有结构化的控制语句和模块化的程序结构。6. 具有编译预处理功能。

7. 程序设计自由度大,可移植性好。这段时间学习使我掌握了:

一、我学习了C语言的数据类型、常量与符号常量、变量、C语言的运算符和表达式、赋值运算符和赋值表达式、自增自减运算符以及逗号表达式等。

二、了解了结构化程序的三种基本结构、C语句概述、数据输出包括字符输出函数putchar()和格式输出函数printf()、数据输入包括字符输入函数getchar()和格式输入函数scanf(),还有一些简单的C语程序设计举列等。

前几天一直在看C++语法,所以对一些比较实际的例子总感到比较抽象,但是那也是一个必需阶段,可能大家和我的学习方式不一样,但从刚接触程序到现在来看,发现这样学习语言的方法挺不错的。经过第一阶段对语法的学习,我觉得实例阶段应该是一个过渡阶段吧,通过前一阶段对语法的学习之后,可能有很多概念我们都比较模糊,或者说很多东西太抽象了,这就为我们第二个阶段的学习做好了实例化的准备,可以这样说吧,第一个阶段就我们为我们的学习一样东西而构建的一个类,里面讲了我们应该在这里面要做什么?第二阶,也就是本阶段,我们就应该去把前一段的东西具体化(实例化先前创建的类),也就是去练习一些小例 子,从网上下载的电子书上有很多这方面的例子的,如果有自己去书店买书的话,里面也应该提供了不少,里面的例子,我是每次都打了一遍,也许有的人不会亲自去用手打一遍,什么copy等,当然这样也行,但我个人认为,对于初学者来说,最好还是自己动手打一遍比较好,毕竟这些东西对我们来说,都比较陌生,如果每个字都自己打完的话,有些代码你不想记住也难了,在这里,我们得弄懂练习的每一个例子,如果能把一些例子稍稍修改,弄懂里面精髓的东西,让自己知道为什么这样做,那么是最好不过的了,我平时练习时,这一步是少不了的,都习惯了,所以也就成了条件反射,想不这样都不行。最后,我们就应该汇一下总,把前面做过的例子里所用的技术理一下,再做一个比较大的例子,尽量把到目前为止所懂的知识全部应用到里面去,只是尽量,当然有些东西是不能集成到一起的,也是是代码之间的排斥性。

C语言教学的实践与思考 篇7

调整教学内容, 改进教学方法, 激发学生学习兴趣

目前国内高等院校在进行C语言课程教学时, 多数仍通过教师讲解、板书和各种媒体作为教学的手段和方法向学生传授C语言中的概念、语句、语法规则等内容, 这种灌输模式能较好地保证所讲授知识的系统性, 但因为知识枯燥, 学生学习的积极性不高, 教学效果较差。同时在培养学生的实际应用能力和创新思维方面也暴露出许多弊端。我们说学习编程的最终目的是解决实际问题, 所以要理论联系实际。对程序设计而言, 重点讲授程序设计的思维、方法和设计风格, 使学生能从更高的角度认识该课程的学习目的, 不局限于对语言本身的学习和编程技巧的掌握, 更注重对语言应用能力的培养。为了更好地实现教学内容的组织思路, 在教学过程中采用案例驱动的主题式教学和基于任务驱动的教学相结合的方式。

1.案例驱动学习的积极性首先来源于兴趣。所谓案例教学就是在教师的指导下, 对案例提供的客观事实和问题, 用所学的相关理论知识进行分析研究, 教给他们分析问题和解决问题的方法, 进而加深他们对基本概念和基本原理的理解。以实例介绍语句功能、格式、特点, 分析执行过程等。在《C语言程序设计》课程教学中采用案例式教学法不是完全放弃传统的教学方式, 而是将案例教学与传统教学方式相结合, 在教学过程中将案例教学融入到教学过程中。学生在学习过程中不再是完全被动的“填鸭式”学习, 而是积极主动地参与到教学过程中, 从而增加学生学习的兴趣。

案例教学法根据所学内容对所要讲授的案例进行精心设计, 教师在设计案例时, 必须接近实际, 与实际生活或工作相关且具有一定规模, 又能让学生感兴趣, 用由易而难的C程序案例入手去组织教学。初级阶段的案例按教学顺序设计, 尽量避免涉及后续章节的知识, 后续高级阶段的案例尽可能涵盖前面的设计内容, 以加深和巩固所学知识, 此时案例不但应使学生感兴趣而且要具有一定难度。

2.基于任务驱动的教学方法。该教学方法使学生的学习活动与任务或问题相结合, 以探索问题来引导和维持学习者的学习兴趣和动机。教师运用建构主义教学理论, 把教学内容设计成一个或多个具体的任务, 让学生通过完成具体的任务, 来掌握教学内容, 完成整个教学任务。

由于C语言程序设计课程的教学课时有限, 而需要讲授的内容又比较多。在教学中应该强调突出教学重点, 要求学生掌握C语言基本知识, 以及程序设计的基本原理、结构化程序设计基本方法。在教学中, 将每一次讲课内容精心组织, 明确教学重点, 准备好课堂程序实例, 一般每一次8~10个程序, 实施“精讲精练”。老师讲解结束后, 学生在课堂内自己亲手运行程序, 调试程序, 老师随堂进行辅导。

强化实践教学环节

C语言课程的实践教学环节包首先要做到及时答疑, 精讲多练, 适当安排习题课。实际上, 在理解课程内容与能够较好完成习题之间还有明显差距。要避免这种情况, 教师应适当安排一些习题课, 及时答疑和批改作业;学生通过做一定量的习题, 可以积累一定的经验, 同时对程序设计的精髓会有所领悟, 从而重视上机实验环节。程序正确性判断的实用方法是上机进行程序调试, 而对程序调试这一艰苦工作的熟练掌握, 只有通过大量上机才能做到。因此, 加强程序设计的上机实践环节显得格外重要, 也是培养学生创造性思维的手段之一。在上机实验过程中教师要督促检查学生在调试程序时有可能会遇到各种问题, 针对出现的语法、逻辑、算法和运行等不同错误, 采用不同的方式去解决。

程序设计教学中自主学习

在当今信息时代, 知识总量以成倍速度递增, 自主学习的培养是现代教学发展的必然趋势, 是现代素质教育的灵魂。自主学习是指学习者在把握学习规律的基础上, 能够根据学习内容、学习情景、学习条件、个人学习的特点与因素, 自觉主动地选择学习方法, 组织调控学习活动, 最终表现为乐于学习、善于学习、实现自身发展的需要。实现课堂自主学习要在教师的指导下, 让学生成为教学的主体, 充分调动学生的自觉学习、主动学习、学会学习的积极性, 培养学生主动学习的意识、习惯和能力。C语言程序设计课程内容较多, 课堂教学中无法把所有内容都讲到, 这就要求我们必需在教学中努力培养学生的自主学习能力。运用问题引导教学手段来激发学生的思维, 使之达到自主参与、自觉发现、自我完善、自行掌握知识的目的。自主学习要让学生积极能动地参与教学活动, 积极主动地进行学习认知和学习实践活动。

教学是一门艺术, 它是教师的创造性、能动性、科学水平的综合体现。教师要想一个程序设计获得良好的效果, 其关键就在于对教学内容和教学方法进行合理的组合。但现实中由于教学目的、教学内容及学生情况等因素的千差万别, 没有一种教学模式或方法是普遍适用的, 惟一的原则就是根据实际情况采用合适的教学模式和教学方法。在理论与实践结合过程中传授和学习基本知识, 在动手实践中引导学生运用所学知识去分析问题和解决问题。通过课程教学方式的改变, 激发学生学习兴趣, 使学生不仅掌握高级编程语言的知识、编程技术和基本算法, 更重要的是掌握程序设计的思想和方法, 具备利用计算机求解实际问题的基本能力, 能灵活应用高级编程语言进行程序设计, 以适应社会发展的需求。

参考文献

[1]谭浩强.C程序设计 (第三版) [M].北京:清华大学出版社, 2005.

[2]陈宝贤.C语言程序设计实验指导[M].北京:人民邮电出版社, 2005.8.

[3]石志国等.C++程序设计教程[M].北京:清华大学出版社北京交通大学出版社, 2005.7.

C语言实践心得体会实习心得体会 篇8

关键词:C++;程序设计;教学方法;教学改革

0引言

C++语言运用范围非常广,在软件设计、网络通讯、游戏娱乐等等领域都能涉及到,也是当前世界上使用最广的编程语言。但是行业的发展受到多方面局限,人才的缺失是行业发展最大的阻碍,许多高校都意识到这个问题,相继的开始《C++语言程序设计》课程,主要就是让计算机专业的人才能够多涉及这方面课程,提高学生的自主学习与独立思考能力,增加就业的几率。传统教学方式,存在教学目标不清晰以及教学方式古板的问题,很多学生对这门学科的重要程度认知不足,教学方式与内容的乏味让学生对此课程并无多大兴趣。本文是根据多年来的经验总结以及市场调查,从教学目标与内容多方面进行研究,以此追求有效的教学改革。

1教学中存在的普遍问题

1.1学生学习目标不明确

教学的主要目的是为了培养学生的兴趣以及软件编程能力,提高学生的独立思考、分析与解决问题的能力,提高就业的几率。以往的课程都是由不同教师来传授,每一个教师都只关注自己本科教学,并没有从全局效果分析,学生对自己的学习目标不明确,导致学习兴趣降低。没有目标的学生犹如行驶中迷失了方向的帆船,不知所措。当学生对自己的学习有了清晰的规划,就会不断朝着目标的方向努力前进。

C++涉及的概念都是较为复杂的,在学习过程中灵活多变,出错可能性非常大,可以说想要学好此课程是相对较难,所以很多学生都产生退却念头;同时C++不仅是纯对象语言,当中还涉及到程序设计语言,面对对象并不是单一的。这种特性导致了C++语言与C语言能够兼容存在。两种语言之间有时不需修改就能够使用,所以在刚开始学习时,学生觉得相对简单。[1]。然而,这两种语言也必然存在不能共通之处,学生要真正掌握两种不同的语言,就必须对其进行对比,找到其相同之处和不同点。

1.2教学重点偏向语法,课后延伸匮乏

在语言教学中侧重与语法[2]。在传统的教学当中,不管是老师教授还是教材讲解,都是先把概念推从出去,再理解规则,最后用案例讲解。概念知识相对来说不仅枯燥,要想记住也是较难的,在教学过程中,要引起学生兴趣非常难。虽然传统教学中有案例分析,但是案例分析都是各自孤立的,只是针对某一部分的知识,学生无法从中感受到实际运用价值。枯燥无味的文字不仅不能引起学生的学习兴趣,反而会让他们觉得反感。被动地接受理论知识只会让学生很快就忘记了教学内容,只有生动的教学方式才能激发起学生的兴趣。

教材课程中有课时限制,所以教学过程基本上都是从语法、规则、案例等等形式来落实。每一堂课讲解的时间都有限,再加上教师的课前准备不足,那么这堂课的实际效用就非常低。如果在课后没有进行延伸与巩固,那么学生要掌握更深层次的知识是不可能的。在这种情况下,学生掌握的知识只是皮毛,甚至可以说有些接收能力比较差的学习是掌握不了课堂知识。如果没有进行课后巩固,基本上这堂课的知识就是一闪而过了。对于老师传授的知识,学生不可能过目不忘,因此,只有不断对知识进行巩固和复习,才能让学生牢牢记住知识。

1.3教学方式无结合企业实际需要

学生在C++语言的学习中,通常都是局限在一部分知识中,并没有顾全大局的理念。传统的教学都是采用循序渐进的形式,每一节课都给学生灌输新概念、新规则,学生没办法从所有学习的知识中进行融合使用。[3]。就算是在教学中加入了大量的实验课程,也只是围绕某一个章节某一个知识进行实验安排。这种实践课程也只是一时兴趣,学生在学习一段时间后就会产生厌倦,学到的知识进而就无法使用到企业公中。单调的教学模式显然已经让学生失去了兴趣,这对于提升学生的思考能力和动手能力毫无帮助。每一个学生在毕业后都会步入社会,因此,了解社会环境和企业对于人才的要求对于学生来说尤为重要。如果教师一味地向学生传授课本知识,即便学生能够牢牢记住这些理论知识,也不知道如何将其应用到实际操作中。因此,在教学过程中,教师应该注重理论与实际的相互结合,把学生培养成为综合型的人才。

2教学改革策略

针对上述对C++语言教学存在问题的概述,本文从以下几个方面进行策略研究,在实际使用中也取得了不错的反馈。

2.1明确学习与教学目的

学习的动机是学生能够持续进行的基础,完成整个学习与巩固过程都需要学习动机来维持。现在大学生在学习过程中会考虑到今后就业方向,如果在课堂当中能够开展与今后就业相关的内容,那么学生会非常重视这次学习,效果自然就非常明显。对于不同的教学内容,学生往往会表现出不一样的兴趣程度,因此,老师首先要了解学生在学习过程中最为关注的问题,并且针对这些问题设计和安排教学内容。学生对于感兴趣的教学内容往往会表现出更强的积极性和主动学习性,学习效果也会有所提高。结束校园学习后的学生都会走向社会,他们对于未来的就业环境和企业的人才需求表现出更强的兴趣,因此,老师在教学过程中可以适当插入这部分的内容。

2.2教学内容要结合整体与具体两个方面

教材的编排几乎都是从概念、规则、举例这样的形式,但是知识的分散导致每一个章节的内容都联系不上,学生感受不到整体的编程效果。所以,在教学当中,应该注重整体到具体的方式,让学生能够先了解整个C++编程过程,然后再在每一个程序中融入教学内容,把教学具体到每一个知识点中,巩固学生的知识能力,学生在学习完所有知识后就已经完成整个设计。这种教学思路对程序类型的课程学习有极大作用。教学首先必须具备清晰的规划,才不会显得杂乱无章。教师应当确定一个大致的教学方向,然后再对教学内容展开详细的安排,在规划教学内容时,必须充分考虑不同学生对于教学任务的完成程度,从而对教学内容的难度进行适当的调整,尽可能地让更多的学生掌握教学内容。

2.3教学方法注重同中求异、异中求同

教学当中注重同中求异,异种求同的话,能够让学生抓住事物的本质,对事物的理解加深,有利于思维拓展。为了能够让学生的学习更加深入,可以用对比学习的方式,这样的教学效果会更加好。比如说,把c++语言与C语言进行对比教学,这样学生不仅能够学习到新内容,还能够巩固旧知识,得到双收益效果。其实两种语言在设计思路上有较大差异,一种是面对程序语言,把数据与数据捆绑起来,另一种是面对整个过程的语言设计,用分块的模式教学。教学内容的不同并不是意味着教学方法也截然不同,把相似的内容集中起来教学,有利于学生更好地把握知识,采用不同的方法对相同的内容进行教学,有助于老师找到教学中的平衡点,发现更合适的教学方法。

2.4校园学习与企业联合,为就业作准备

很多计算机相关专业的学生为了能够快速就业,在校园里就会选择去外面机构培训。当然培训并不意味就是能提高就业率,主要还是看学生的态度以及掌握情况。如果在高校的C++语言学习中,可以用校园与企业合作的方式来教学,在教学当中可以加入机构培训的方式;在每一次学完知识后就加入实践活动,对于今后的就业帮助极大。同时,提高学生的学习能力以及适应能力方面也有很大帮助。学校更加注重的是理论知识的传授,而企业更加注重的是实际的操作,企业提出人才要求,学校能够更加有针对性地为学生制定学习任务,从而让学生更好地掌握相关的专业技能,让自己离开校园后尽快适应到社会的工作中。

3结语

本文提出了《C++语言程序设计》课程的教学改革思路,通过教学方法、模式的改变,来激发学生的学习兴趣与能力培养,用校企联合的方式来为今后就业奠定基础,累积学生经验的同时还能提前模拟就业。有教学实验证明,这些教学改革方式是能够在一定程度上提高教学效果,并且对编程类型的课程来说都有极大的借鉴作用。传统的教学方式显然已经不能满足人们日益增长的需求,社会环境是不断进步的,竞争是越来越激烈的,为了使学生具备更强的社会竞争力,学校必须转变教学方法,一方面要让学生掌握基础的理论知识,另一方面需要注重学生的操作能力培养。总体来说,就是要理论知识与实践操作相互结合,培养全能型的学生,对他们的知识掌握以及今后的就业都有极大帮助。

参考文献:

[1]杨庚.面向对象程序设计与C++语言[M].北京:人民邮电出版社,2012.

[2]杨杰,陈雪兆.《C++程序设计》教学中存在的问题及改进建议[J].湖南科技学院学报,2013,11(26):190191.

C语言学习心得 篇9

在科技高度发展的今天,计算机在人们生活、学习和工作中的作用越来越突出。我们都知道C语言是一种计算机语言,而作为计算机专业的我们学习它,就更有助于我们更好的了解计算机,与计算机进行交流,因此,C语言的学习对我们尤其重要。

说实话这个学期刚开始学C语言的时候,很感觉迷茫,对里面的好多东西很陌生,在操作运用的时候感到很棘手,毕竟,万事开头难嘛。在此之前从没有接触过C语言,有点摸不着头脑。可是在上机过后,我觉得编程是很有趣的一件事,哪怕你编出的只是一个很简单的程序都会让你很有成就感。我知道要学好C语言不容易,可是我决定完成这件不容易的事。

在课堂上老师从最基本的跟我们讲起,要学好C语言就必须要先懂得最基本的语法知识,看课本是必需的。我觉得看不懂也没关系,尽力去理解就好了,在对知识有了一个大致的了解过后,就要上机实践。学习C语言一定要动手,只看不做,眼高手低是不行的。

最开始我们打书上的例题,熟悉程序,慢慢的开始试着编程。老师说过在编程时要理清自己的思路,然后再转换成C语言中的语言,这个时候就更要动手了,只有通过上机操作才能验证自己程序的正确性。执行程序,不要害怕错误,其实,我觉得错误是好的,知道了自己所学知识的不足,并根据提示改正程序中发生的错误,一种成就感油然而生,觉得自己的付出都是值得的。

我觉得良好的编程习惯是学好C语言的重要因素,只有勤动手,多动脑才能学好C语言,光说不练是不行的。在学习的时候,不会的一定要问明白,可以求助于老师,同学,不要自己一个人钻牛角尖,既浪费时间又学不到东西。

上课的时候也一定要认真听,老师讲的肯定是最重要的,错过了就是一大笔损失,认真听讲才可以提高学习效率嘛。另外我觉得在编程之前,要把自己的想法写在纸上,如果是简单一点的程序不需要这样,如果程序比较复杂,就写下来,这样可以让思路更加清晰。输入程序时一定要认真,不要把“,”与“;”混淆,用scanf的时候不要忘记“&”,用“switch”要记得“break”,用if,while的时候注意不要加“;”,“{}”“()”一定要配对,不要多也不要少一半,“=”与“==”的区别要清楚,要勤查优先级,要记住一些基本的,例如两个值之间的调换怎么写等等。

关于C语言教学中的心得和体会 篇10

关于C语言教学中的心得和体会

作者:吴淑琴

来源:《职业·中旬》2011年第03期

C语言是计算机专业学生的必修课程,且是近些年在国内外都得到迅速推广应用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。鉴于此,很多高校,尤其是高职院校,都将其作为计算机程序设计类课程的基础课。它对培养学生的逻辑思维能力、理解能力、自学能力等方面,都有着很重要的作用,对数据结构、单片机等后续课程的理解和学习都有很大的帮助。笔者在教学中越来越感觉到教师在教学过程中的主导作用。教师不仅要有很高的业务水平,还要具备很好的教学能力。

一、C语言与其他语言的教学比较

所有计算机高级语言课的教学,均包含两个主要目标:一是语言环境和语言手段;二是与一定数据结构相结合的典型算法。C语言也不例外。从算法设计的角度看,各种语言在解决同一问题时,其思路不会有太大的差别,因此,这一块内容在教学上差别不大,学过一种语言以后再去学别的语言,其难度会大大降低;但是,从算法实现的角度来看,不同的语言有着不同的设计背景和设计目的,其应用环境和应用手段有差别,有时差别还很大。

在学习C语言时更强调它的背景,即设计者的初衷是用它来编写UNIX操作系统,并部分取代汇编语言。由于操作系统是管理、调度计算机软硬件资源的一个大型软件,作为实现它的语言工具的C语言没法不接近硬件。要学好C语言也没法完全躲开包括硬件在内的一些深层知识,这就要求C语言的教学与其他语言相比要有一定的深度。

二、兴趣是最好的老师

心理学认为,学习兴趣是对学习活动产生的心理上的爱好和追求的倾向,这种倾向是和一定的情感联系的。它具有相对的稳定性和较强的延续性,对某个事情的“好奇”心理,不能称为兴趣。学生有兴趣表现在他们有主动了解、积极探索的愿望上,不惜时间,不怕困难,可以集中较长的注意力。因此,在教学的过程中,教师应注意培养学生的兴趣,把握学生的兴奋点,有效地调动学生的求知欲望。

三、C语言教学采取多种教学手段与方法

在讲授基本知识,如数据类型、运算符与表达式时,因信息量大,知识点比较零碎,采用多媒体的教学方法,可以达到很好的效果;而在讲顺序、选择、循环、函数的程序设计时,采用板书式教学方法可以建立好的沟通,教学效果良好。根据内容特点合理选择教学手段,会使教学效果明显不同。

在教学方法上,著名教育家赞可夫说过:“教学法,一旦触及学生的情绪和意志领域,触及学生的精神需求,这种教学法就能发挥高度有效的作用。”教师如何改进教学方法,兼顾不同水平学生的不同需求,解决课程知识点琐碎、枯燥的现象,让绝大多数学生在有限的时间内迅速掌握课程的基本概念、基本技能和应用,是需要解决的关键问题。先进、合理的教学方法,能使学生在短时间内迅速掌握课程内容,激发学生对本课程的兴趣和热爱。

1.比喻法

比喻法教学就是通过形象生动的比喻(生活贴切的例子),让学生更好理解和掌握新知识的一种教学方法,有易接受不易忘的特点。例如,讲解变量时,对于初学的学生,笔者经常把变量比喻成一个盒子,盒子里放进什么东西,这个盒子就是什么类型的变量。C语言中很多教学内容较抽象,不易被学生接受和理解,老师应有能力化繁为简,将深奥的理论讲得通俗易懂。这就需要老师多钻研教材教法。

2.采用“任务驱动,引导教学”的课堂教学方法

在课堂讲授新的知识时,大多采用实际的案例来演示说明,并在演示说明过程中逐步引出各个相关知识点和概念。生动形象的案例中,融合了多个概念和知识点,既易激发学生的学习兴趣,又有利于学生迅速掌握抽象的概念,并使学生形成和保持对计算机技能的强烈求知欲。探索和遵循各相关知识点之间的内在联系,使教与学在循序渐进,环环相扣,优化压缩,合理安排中进行。

3.激励式教学法是动力,适当引入考核机制

考核应从两个方面入手,即创新能力和应用能力。考核时,可采用“模块化”、“任务式”的办法。“模块化”就是每学完一个模块,进行一次考核。选择结构、循环结构、数组、指针都可以做为一个模块,但模块设置不宜过大。“任务式”就是根据学生所学相应的模块知识,让学生独立完成一项“任务”,如解决一个实际应用题、完成一个小动画等。

四、C语言教学要有一定的纵向性与深度

在C语言教学过程中,任何新知识的引入,都坚持做到由浅到深、循序渐进、自然流畅,使之顺理成章。这样,一步一步引导学生思路向纵深方向发展,避免由于概念知识点不清,而影响后续知识的学习与理解。以指针教学为例:

1.引入指针概念

在引入指针概念时,注意引入计算机内部存储单元的实际存储空间模式。在一般的C语言教材中都能找到这种图。这种图示能使学生建立起连续存储空间的概念,为后续指针变量与指针运算知识的学习打下基础。汽车,建立指针与计算机内存单元一一对应的关系。C语言中的指针是指计算机内部某存储单元其固定位置的顺序编号,称之为该存储单元的地址。所以,计

算机每一个存储单元都对应一个唯一的内存地址。计算机内部对内存单元的编号采用二进制数字表示,而为了表达方便,书面多用十六进制数表示。其所使用二进制位数的多少,是由内存的大小决定的。

2.引入变量指针的概念

变量指针指的是:变量数据在内存单元中的首地址。在有了第一步内容的铺垫之后,在教学中,引入变量指针的概念时,就很自然地使用了连续存储空间的模式。

在此最适合深入揭示变量的实质以及变量的两个属性,即变量名和变量值之间本质上的区别与联系。变量名,即变量所对应的内存单元的首地址。变量值,即变量所对应的内存单元的地址中所存储的数据。

这样,深化学生对有关概念的理解,使学生对变量、变量名、变量名所对应的内存单元首地址以及对应内存单元中所存储数据等内容之间的相互关系,有更深刻的认识,从而能在它们之间建立起有机联系。

五、语言课教学的其他体会

计算机语言课,不管是哪个语种,其实践性都很强。对C语言来说,因学习难度大,更要强调学生从上机实践中学习,从程序调试和各种挫折失败中学习。在教学中,讲到实例时,笔者经常现场写代码,现场调程序。这样,一方面能使学生对问题的求解过程有深刻的体会,另一方面能使学生在程序调试和编程风格上有一个学习的榜样。

算法是语言课的主要教学目标和永恒主题,有些第一语言课因学时少或其他一些原因,教师在操作时压缩算法,将重心偏离到语法规则和语言手段上。这样,不利于实现语言课的两个主要目标,不利于学生掌握实际的语言应用能力。当然,在学生方面,也有不重视算法、缺少算法锻炼的情况。这种情况多数是因为考生的算法能力太差,一定程度上也反映出语言课中算法训练环节有待进一步加强。笔者认为,语言课应该保证用于算法的基本学时,教师操作上应保证和突出最起码的算法介绍,在讲解一个新算法时,教师不应上来就讲程序,而应先讲清思路,然后分配变量角色,最后才是具体的程序设计。

语言课总免不了要举例,在举例方面,对说明语法规则和语法现象的例子追求尽量简单,对说明算法的例子追求尽量典型。除了综合演练外,所有例子都不要太过复杂,不但要举正面的例子,也要注意举反例。

C语言实践心得体会实习心得体会 篇11

关键词:c语言;结构调整;培养目标;工程考核

中图分类号:G434 文献标识码:B 文章编号:1673-8454(2012)05-0059-02

一、C语言在程序设计语言中的地位

C语言自从1978年被贝尔实验室正式发布以来.30多年历久弥新。另外从语法角度来说,C++、JAVA、C#均直接继承于C语言语法。因此,C语言作为程序设计语言的基础地位仍然无可替代。

二、C语言教学本质分析

C语言是一种属于机器的语言,所以对人来说,C语言就是一门新的外语。因此学习C语言与学习外语一样,都是易学难精。相比外语学习,C语言学习也是一个持续不断的过程,可以粗略分为三个境界:Itl

1.语法境界

在这个过程中,将主要学习变量定义方法、程序设计的三种基本结构(顺序、选择和循环)、函数定义及调用方法以及良好的编码规范等。对于语法问题。无论是谁,都只能去适应这门语言的规则,所以学生在学习C语言语法时普遍感到枯燥是可以理解的。

2.语义境界

在这个过程中.学习使用C语言完成某个特定的任务,比如“百钱买百鸡”、求素数、求最大公约数、求最小公倍数等经典编程问题。在此阶段主要解决使用C语言解决实际问题的能力。

对于这些C语言应用,学生普遍认为这些算法问题具有挑战性。这些题目经常成为C语言的考试内容,也是被很多学生认为能够从本门课程中学到的有用知识。

3.认知境界

在这个过程中,学习语言背后的计算机硬件、操作系统原理,学习与语言无关的算法设计(包括数据结构知识),学习软件工程知识(比如分层体系结构等)等。在此主要解决如何按照工程要求(比如正确性、可靠性、可维护性、性能等)解决实际问题的能力。

对于这些知识,学生在结课时认识仍然是模糊的。当然,这也不可能仅仅通过C语言一门课程就能够让学生达到改变认知的地步,但这是四年信息管理与信息系统专业本科学习的目标之一。

三、C语言教学实践改革

因为课堂教学在本质上是不可分割的一个整体,例如在讲授“百钱买百鸡”例子时完全可以同时涉及语法、算法和认知这三种境界。基于C语言教学本质的分析,根据信息管理与信息系统专业培养目标,结合学生实际具有的基础知识和基本技能,将C语言在教学实践中从结构方面进行如下调整:

1.淡化住运算讲授

作为计算机专业学生,应该掌握位运算。因为位运算不仅是一种基本运算,而且往往可以为工程提供一种高性能解决方案。但是作为信息管理与信息系统专业的学生.一方面位运算与计算机硬件高度相关,另一方面完全可以用其他方法来代替位运算解决方案,只是损失些性能而已。

2.弱化输入输出函数语法教学

虽然C语言的scanf和printf函数功能强大,但是能够正确运用却不是一件容易的事情,因为这里面涉及数据类型、数组、指针等众多内容。在输入输出基本通过GUI界面、数据存储大多经由DBMS的今天.熟练掌握scanf和printf函数已经不再是一种必需。

3.补充适当硬件知识

C语言提供的丰富数据类型让初学者有时难以理解:有必要如此区分整数和小数吗?不都是可以做四则运算吗?在不同数据类型统一运算时,因为自动类型转换得到的异常结果经常让初学者困惑不已。这个问题在编程语言层次上很难解释清楚,但是从硬件层次上却容易说明,因为其背后的硬件机理不同。

4.示范良好编码规范

在教学和上机实践中,始终贯穿并示范良好的编码规范。比如无论在循环中还是在分支中,坚持为程序块加上完整的块标志。在运算符的优先级讲述中,强调小括号可以改变并明晰计算的优先级,如此讲授不仅可以减少语法的讲授时间,同时也可以提高程序设计质量。在教学中有意识地示范如何在关键位置处加上调试输出语句.部分代替单步跟踪,提高程序调试效率。

5.强化程序设计方法教学

函数作为一个基础的程序设计工具,在实践中的地位非常重要,是软件工程、各种软件设计方法的实现基础。另外.在函数层次编程,可以锻炼一个人的问题抽象能力和模块划分意识。在教学中,有意识强化函数应用,比如要求以函数方式对问题进行设计,并且在上机实验中安排大作业,要求两个人协作完成,从而培养学生模块化问题解决意识和编程习惯。

6.侧重符合机器思维的算法讲授

在讲授如何求解最大公约数例子时,虽然辗转相除法效率很高,但是穷举法更容易理解和实现,而且也更加符合算法设计思维。辗转相除法对于专业软件来说意味着效率,但是对于初学者来说则意味着很高的门槛。对于常见的“数组越界”问题,采用的对策是让学生适应计算机从0开始的编址方案,尽管在初期学习中可能带来一些困难,但是如此坚持可以保证学生对计算机原理的理解上具有完整性和一致性。这样,采用一套理论就可以很好解决指针与多维数组的地址计算关系。

7.调整指针教学侧重点

为方便与后续课程的衔接(包括数据结构、数据库原理)。重点讲授与一维、二维数组、结构体、链表相关的指针应用。而对于其他的指针应用(如函数指针、双重指针等),则概括性提及,让学生了解C语言指针的强大和灵活,从而更全面理解C语言指针的本质,以及由此带来的程序调试挑战。

四、C语言教学考核

在课程考核中,参照工程要求,抛弃以往的那种单纯考核语法的题目(尤其是那些不常用的语法),代之以符合良好工程编程规范的程序阅读题和程序设计题,分别通过笔试和机试进行。经过两年实践,发现此种考核方法更有利于反映出学生的真实水平,但是由此产生的问题是经常无法满足对考核成绩的正态分布要求,呈明显的阶梯状分布。

C语言实践心得体会实习心得体会 篇12

1.1 编程能力差,影响后续课程和就业方向

通过对计算机专业学生的观察和调查,学完《C语言程序设计》课程后能熟练掌握、灵活运用的学生为5%左右,基本掌握的学生为25%左右,部分学生只是为了应付考试,甚至还有5%的学生采取完全放弃的态度。《C语言程序设计》课程是《数据结构》、《C#.NET程序设计》和《JAVA程序设计》等后续课程的重要基础和重要工具,但是当前学生所具备的C语言程序基础和编程能力较弱,对这些后续的课程具有非常大的影响。

1.2 程序初学者没有有效的方法引导

由于C语言是一门逻辑性强、难度较大的课程。其中基本语法和程序结构学生能理解,但是在算法分析和程序设计时却无从下手,实际应用能力较差,走上工作岗位后不能快速适应企业的岗位要求。究其原因:学生习惯了高中文化课的教授式学习方式,理论掌握较好,实践能力较弱。由于C语言的内容抽象,概念复杂,规则较多,使用灵活,容易出错,再加上Turbo C调试环境很不直观,如果没有有效的方法引导,不仅达不到课程的教学目标,也影响学生后期课程的学习方式。因此,需要借助现有教学资源,教授学生有效的学习方法,进而提升学生的学习兴趣和学习能力。

1.3 程序编写能力差异大,需要扶优补差

由于C语言程序设计难度大,对学生的程序编写能力要求较高,部分学生由于各方面原因,跟不上全班学习进度,慢慢失去兴趣,转为完全放弃该课程的学习。另一部分学生程序能力较强,完成课堂内容后需要进行引导提升。如何根据学生的现有能力水平,扶优补差,从实践中提升学生整体的程序编写能力,是急需解决的问题。

2 教学策略

2.1 树立软件工程和面向对象的观点,培养程序设计风格

在计算机行业中,软件设计工作被当作一项系统工程来对待。《C语言程序设计》课程作为大多数工科院校学生接触的第一门程序设计语言,首先要让学生改变程序设计的观念,树立软件工程的观点,把“面向对象程序设计”思想融合到C语言教学中。在程序项目设计时强调一个项目就是一个工程,是处理对象有过程,要求结合软件工程开发的实际需要,用软件的生命周期管理对程序进行问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。这样不仅让学生理解程序项目的应用意义,为学生将来从事软件开发打下基础,而且培养学生解决实际问题的综合能力。

C语言是学生接触的第一门程序设计语言,要特别注意培养学生良好的程序设计风格。具有良好的设计风格应该是软件开发人员所具备的基本素质。从一开始就强调程序设计风格,不仅有助于提高程序的规范可读性,而且让程序的调试及运行直观易懂,能快速找出程序的错误所在,进而改善程序质量,也为以后进入工作岗位快速适应工作环境打下基础。在程序规范中要特别强调标识符的命名规范及“见名知义”的原则,并采用适当的注释,要求用序言性注释对程序的整体功能进行说明,在关键代码处用功能性注释描述出代码功能。在书写程序时每行只写一条语句,用分层缩进方式展现嵌套结构层次,特别强调IF语句和循环的多层嵌套层次在察看程序执行过程中有着非常重要的作用。书写表达式时适当使用空格或圆括号作隔离符,输入和输出满足“人性化”原则,输入数据时,要使输入前有提示,步骤和操作尽可能简单等。

2.2 教授程序初学者有效的学习方法

计算机技术日新月异,发展较快,在以后的实际生活和学习的应用中,学生会接触到不同的知识领域,因此需要在教给学生不同知识的同时还要教会学生获取这些知识的方法。在第一节课中,要先用大量的时间来让学生了解C语言程序设计的学习目标,教授学习该课程的方法。告诉学生C语言是“结构化程序设计”方法,结构化程序设计的过程是培养学生思维能力的过程,让学生明确C语言程序的质量首先取决于其结构,程序设计的基本方法是自顶向下地逐步求精和模块化。学习C语言不是理解语法规则和语句格式为重点,而是如何应用这些内容解决好实际问题。程序设计的实质就是编写处理对象的过程,需要改变高中时教师传授学生听的学习方式,明确大学的学习方法要自主探索研究。不要局限于书本知识,可通过教材、参考书和网络来拓展知识领域,发掘自身的潜力,勇于动手实践,在程序的编写与调试中学会取他人之长补自身之短,同学间互相帮助,学会协作学习。

2.3 多种教学方法辅助教学

教学方法的单一性不能反映教学的本质规律,C语言是一门以实践为主的较难的课程,在语法规则、语句格式和程序设计教学时,要采用不同的方法来解决程序初学者出现的各种问题。

2.3.1 分组教学法

分组教学方法已经在《计算机应用基础》和《办公软件综合应用》课程中进行探索与实践,取得了较好的效果。把这些成熟的经验借鉴到《C语言程序设计》课程中实践与总结,效果显著。

分组教学体现了学生的主体地位,可以激发学习兴趣。根据班级人数和机房布置情况5人-6人分为一组,组长位置坐在中间,水平较好的学生挨着水平较差的学生。教师通过程序项目的方式下达任务后,组长组织成员进行算法的分析与设计,共同讨论与探索,并画出流程图或NS图。用组内举荐和教师随机抽查的方式找出学生进行算法分析讲解,难度较大的,请组长来分析。每个学生主动参与,在组内交流、讨论、争辩的过程中,思维异常活跃,算法思路越辩越清晰。在该组组员回答问题的时候,同组的同学还会不断地为他进行补充,如果老师对该组的回答再加以及时肯定,该组所有人的热情高涨,其他组也会受到感染,也会在想下次轮到自己组的时候也争取有个好的表现。

分组教学可以实现提优补差。在程序调试的过程中,通过组长辅导,检查程序完成情况。基础好的学生通过辅导基础差的同学,帮着寻找程序语法错误和逻辑错误,巩固了已有的知识,同时遇到自己编程时没有出现的问题时会通过寻找问题的新的解决方法从而激发其深入研究的兴趣。水平较差的学生在遇到问题时得到及时帮助,能跟上全班进度,也增强了继续学习的信心。

分组教学可以培养学生自主探究、合作学习能力。《C语言程序设计》课程是用程序项目的方式把实验内容布置下去,许多综合性程序项目要求以小组为单位完成。每个小组在分工与合作共同完成程序项目的过程中,既要独立自主寻找问题的解决方法、设计算法、编写代码和调试运行,又要互相帮助提高。进行程序代码的整合调试,遇到综合复杂问题时,同组的学生共同讨论、集体探索,有助于培养独立求知与思维的能力及协作学习的能力。

2.3.2 项目教学法

结合教学大纲的要求,把C语言程序设计课程内容设计成小型程序项目和小型应用系统开发,一个项目就是一个工程,让学生在完成项目的过程中用软件工程的思想来设计程序。在学习C语言程序设计的基本知识时,提供程序项目让学生读程序,通过讲解程序代码功能教授理论知识,既让学生体会理论与实践的融合,又借鉴了优秀的程序设计。每次课结合课堂内容给出至少一半的时间让学生自己完成程序项目的算法分析、程序编写与调试,让学生实际感受程序设计的过程。每一章内容结束后,根据所学内容,完成小型应用系统的相应模块,如顺序结构讲授完成后让学生完成主菜单界面的设计;在选择结构完成后让学生实现主菜单到子菜单的切入;函数完成后让学生实现各功能的模块化,进行函数的编写。到学期结束每个学生就完成了一个小型应用程序的开发,积累了系统开发的相关经验。教授完所有内容后,利用8个左右的课时分组完成一个应用程序的开发,先通过组长抽签选择程序项目要求,由组长负责对组员进行任务的分工。每个组员完成一个功能模块,并把每个组员的任务分工情况写在纸上交给老师,在项目进行4-6课时左右,要求每组进行程序模块的整合,全组完成整个应用程序的调试。在完成项目后,教师对程序项目进行检查,从功能要求的完善性,界面的设计,程序设计规范等几个方面为程序打分,再对部分学生根据任务分工模块通过答辩的方式了解程序编写情况,组员协调情况等,最后给一组打出综合评分。

通过许多小程序项目、一个小型应用系统和一个应用程序的开发,让学生掌握了程序项目的设计方法,学会用软件工程管理的思想对程序项目进行算法设计,代码编写与调试。在项目开发过程中,教师明确以能力为主的教育目标,教师的角色是组织者与引导者,实际教学时不再进行知识陈列,而是去引导或答疑。让学生进入工作角色,使学生体验到取得成就的快乐。同时加强组长的管理,调控组员的分工与协作,对学生遇到的问题给出建议或解决方案,保证程序项目完成预期的功能并正确运行。

2.3.3 行动导向教学法

行动导向教学法以能力培养和素质教育为目标,倡导创新学习和自主学习。要求把知识转化为能力和素质的“能力本位”。在程序项目的设计过程中,学生通过分组讨论法和大脑风暴法,结合上网查阅等手段主动建构并综合运用所学知识,既保证了绝大部分学生能够自主完成课堂要求,使学生建立起学习的兴趣,开阔思维。同时,又可以使编程能力较好的学生充分发挥潜能,在完成要求的程序编写后,教师增加程序项目功能、优化程序代码或进行编程思路的改变,用另一种思路考虑程序编写,给出更个性化的设计,从而进一步培养学生的创造性。在分工与合作、探究式的学习过程中,把职业技能教育渗入课堂教学,不仅提高了学生程序编写能力,培养了学生自主探究学习和创新能力,也培养了学生与人交流、与人合作、解决问题的社会能力。

考核是检验教学效果的重要手段,与学习过程一致的考核方式可起到以考促学的目的。结合行动导向教学方法,设计了以“能力为本”的过程考核方案和评分标准。将考核贯穿于整个教学过程,提高平时考核比例为50%,期末考试为50%,同时加大学生课堂程序编写的数量和课外进行算法分析和程序编写的作业量。把学生的出勤、课堂纪律、程序编写能力和作业等按照比例放入到平时的考核中,既提高了学生对平时学习的重视程度,让学期成绩能真实地评估学生在学习过程中已具有的编程能力,又增加了学生的实践机会,督促了学生动手实践,提高程序的编写能力。

3 结束语

在分组教学、项目教学和行动导向方法的辅助下,以学生为主体,老师为引导,结合分组讨论、大脑风暴、项目教学、角色扮演等活动与方法。师生互动,从程序项目任务的提出、算法思想的描述、算法设计到程序的编写与调试,学生积极参与问题解决的整个过程,既提高了程序编写能力,激发了学生的学习兴趣,又培养了自主探究、协作学习的能力。

摘要:探索与实践C语言程序设计课程有效的学习方式与方法,在分组教学、项目教学法和行动导向方法的辅助下提升学生的程序设计能力和自主探究、协作学习的能力。

关键词:C语言,编程能力,分组,项目式,行动导向

参考文献

[1]段淼.关于C语言程序设计课程教学的思考[J].吉林:吉林建筑工程学院学报,2010(6):118-120.

[2]胡建荣,罗杰红.高职C语言程序设计课程实践教学体系的设计[J].北京:计算机教育,2010(5):150-152.

上一篇:温暖_初中记叙文下一篇:新闻史读后感