公务员期刊网 精选范文 c语言课程设计小结范文

c语言课程设计小结精选(九篇)

c语言课程设计小结

第1篇:c语言课程设计小结范文

C++语言是在C语言基础上发展而来的一门面向对象的高级语言。教无定法,教学有法。对于计算机专业大学生的C++程序设计语言教学方法,必须结合当前大学生基础和实际情况,进行教学方法改革和教学模式创新,提高教学质量和效果,使得计算机专业大学生不但能够掌握面向对象的理论知识,而且具有一定的可视化编程与调试能力,实现理论与实践相结合,达到工程应用型的实用人才水平。如何在有限的学时内使得大学生能够找到科学的创新学习方法[4],尽快掌握C++语言基本理论和具备编程能力,是每位任课教师都需要面临的难题。

二、教学模式创新

为了培养面向工程应用的C++程序设计人才,在知识、能力、应用、创新等各方面全面培养大学生,本文提出“双主互动为纲、两个创新、两个学习、两个支持、四个课堂”的教学模式,使得学生能够达到掌握理论知识和具备编程能力的工程应用水平。教学模式创新的基本框架如图1所示。

本课题组的教学模式采用双主互动教学为纲,即基于师生互动的教师主导学习和学生自主学习。两个创新是指对教学内容和教学方法分别进行创新。教学内容创新是指教师对教学内容进行梳理分解,突出重点,并及时将新内容、新科研成果、新概念、新技术等内容补充进来,改善课程知识结构,以适应社会对计算机编程人才的需求。教学方法创新是指采用互动式、全方位的教学方法,进行理论与实践相结合、教学与科研相结合、课内与课外相结合。两个学习是指将学生分成多个小组进行讨论学习、对C++的开发环境进行学习,使得学生面向学以致用的培养环境。两个支持是指教师要采用各种手段和方法对学生的学习进行指导支持,包括面授支持、电话支持、e-mail和QQ等网络支持。四个课堂是指理论教学课堂、上机实践课堂、课程设计课堂和其它课余时间的课堂。

三、采用自然语言启发式教学方法,提高学生理解能力

C++语言是一门计算机程序设计语言。C++语言教材从前到后系统性特别强,前后章节之间环环相扣,联系紧密。由于面向对象的很多新的概念比较抽象,如果教师在教学中仅仅把教材上的语法知识照本宣科地讲给学生听,会导致下面大部分学生听不懂,学生会很容易感到枯燥乏味和厌倦疲劳,从而产生排斥和厌学情绪。这种抵抗情绪一旦从开始就产生,则将影响后续整个学期的教学效果。由于从头到尾都听不懂,老师在课堂上提出的问题学生也无法进行互动,这种灌输式的教学方法效果非常差。而教师要根据课堂实际情况,采用互动式教学方法,培养学生的主动学习能力,才能得到良好的教学效果。

1.第一次课程教学中,明确C++语言课程的重要性

目前C++语言是大多数电子、信息、计算机相关专业的非常重要的程序设计课程,也是这些大学生后续专业课学习、毕业设计、以后上研究生或参加工作进行计算机软件和IT开发的主要编程语言,广泛应用于软件设计和开发中。要让大学生有危机意识,在大学生就业如此严峻的情况下,学好C++语言,能够提高大学生以后在就业竞争中的筹码。

2.讲课过程中,对C++语言中的很多概念,结合自然语言进行讲解

C++语言作为一门计算机语言,它和人类的自然语言相比,既有区别,又有联系。在讲解一些关键概念时,采用一些浅显的自然语言的例子,提高学生的理解能力。本文作者在讲述一些关键概念时,将这些概念和自然语言结合进行循序渐进启发式讲解,激发学生的学习兴趣,起到了非常好的效果。下面举几个例子。

(1)引用是C++语言中第一个新的概念。引用类似于自然语言中的别名或者绰号,是正名的别名,没有正名就没有别名。例如唐太宗就是李世民的引用。李世民是正名,唐太宗是别名。正名和别名属于一个变量,共用同一片内存空间。引用主要用作函数的参数传递,形实结合后不会产生临时的变量,节省了内存空间

(2)类和对象是C++语言区别于C语言中普通数据类型和变量的概念。类是具有相同属性和行为的一组对象的集合,它为属于这个类的所有对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。类和对象的关系就像模具和铸件的关系一样,类就相当于模具,对象就相当于铸件。一个模具可以生产出成千上万个铸件。

(3)友元是C++语言中另一个新的概念。在数据共享与保护中,友元类似于自然语言中的朋友,但是友元和自然语言中的朋友既有联系又有区别。人类的朋友关系通常是双向的、可以传递的,但是C++中的友元关系是单向的、不能传递的。

3.引导学生合理安排课程的学习时间,培养学生的学习兴趣

教师可以把学生分成若干个小组并布置一些编程作业,培养他们的团队协作意识,并共享小组编程成果,使得他们对自己编制的程序能够运行和产生正确的结果具有自豪感,提高学生的学习兴趣。由每一个小组各自给全班同学讲授和演示自己的算法、编程思路、运行结果,既能够锻炼学生的编程与演讲能力,又能够在课堂中产生良好的互动。

4.讲课过程中尽量做到幽默风趣,灵活运用教学手段

教师在上课时,要做到风趣幽默、声音洪亮、带人真诚、平易近人、知识渊博、通俗易懂,才能产生良好的教学效果。教师要灵活运用多种教学手段,尽量采用多媒体教学,在PPT幻灯片中多做一些动画效果,或者以Flas演示程序的动态运行过程。教师在C++语言教学过程中要根据课堂中学生的反应,随机应变,结合我国传统文化与最新国内外时事,让学生潜移默化地学习一些难以理解的语法,则能达到事半功倍的效果。

四、对一些难以区分的概念采用表格形式进行对比和总结

C++语言是在C语言基础上发展起来的面向对象的高级语言,全面兼容C,但是又增加了很多新的较为复杂的语法知识点。对于一些学生难以理解和掌握的语法知识点,如果教师不帮助学生及时进行总结和举一反三,按照大学生初学的水平很难真正达到掌握和编程应用的水平。因此,教师可以在讲完某些知识点后采用表格的形式进行对比和总结。例如,C++中引用和指针的区别总结表,普通指针、指向常量的指针和常指针三种指针所指向的内容和指针本身能否改变对比总结表,对基类中具有不同访问属性的成员经过不同方式继承后在派生类中的访问权限的比较和总结表,运算符重载时重载为类的成员函数和友元函数、前置、后置自增、自减运算符参数个数总结表。

五、熟悉Visual C++编程环境,具备图形界面编程能力

目前,Visual C++ 6.0是比较经典的开发环境。即使掌握了C++基础知识,仍然难以高效掌握使用Visual C++的编译器。为了培养实用型软件开发人才,教师还应该进行Visual C++编译器的入门教学,培养学生掌握如下知识:

1.能够使用Visual C++开发环境进行界面设计;

2.能够创建简单的基于MFC的应用程序;

3.能够使用类、函数和消息映射机制;

4.能够利用开发环境有效创建对话框、按钮和菜单等资源。

当然,对于Visual C++的学习,一本好的教材也至关重要,现在的书店和图书馆各种Visual C++的学习教材五花八门,不泛互相抄袭、错误百出、误人子弟的教材。如何从这些书籍的海洋中找到合适的入门教材,对于作为初学者的大学生来说有点难为他们。本文作者也买过不少Visual C++学习的书籍,其中不少书就没有任何学习价值,既浪费钱,又浪费时间。作为教师,有责任和义务为学生挑选一本优秀的、很容易入门的教材。本文作者和周围很多从事Visual C++语言开发的朋友们都认为Jon Bates主编的《实用Visual C++ 6.0教程》是一本非常不错的教材。本人在每个学期给学生教学时,都会将这本教材的电子版发给同学们,而且从他们的反馈来说,效果确实不错。

六、理论与实践相结合,提高程序编程与调试能力

理论必须与实践相结合,才能得到验证,否则只是纸上谈兵。作为一门计算机语言,C++程序设计的实践性操作特点决定了上机实践是课程学习中的重要环节。授之以鱼,不如授之以渔。帮助学生编程序或调试程序,不如教会学生编程序或调试程序。因此,在教学中,教师可以从如下几个方面进行考虑:

1.上课时教师提前给同学们将上机编译器环境、各种单步调试、断点调试的方法传授给学生,并布置好上机操作的题目,这样学生在上机前就会有充分的准备,做到有的放矢。

2.针对性地给学生布置一些具有趣味性的程序设计题目,让学生通过查资料、上网和请教老师等多种方式编程调试,培养学生解决问题的能力,让学生感到有成就感,提高学生的学习兴趣。

3.对学生的上机存在的问题进行总结,对于一些普遍存在的问题要在课堂上统一进行讲解。并且也要对对自己的教学方法和教学模式进行实时总结和改进,形成闭环。

按照本文作者研究的教学方法,经过一个学期的理论教学与上机实践学习,在学期期末考试前的一个月对2010级计算机科学与技术专业1班全班52个学生划分为13个小组布置了课程设计项目。每4人一个小组,由每个小组自己推选出1个组长、1个副组长和组员。组长负责课程设计项目的总体实施和分工,副组长协助,组员配合。课程设计的考核是每个小组交一份打印课程设计报告,包括项目题目、小组成员、程序设计结构、流程图、源程序、实验运行结果。每个小组推举一名学生在讲台上进行10分钟的PPT演讲,老师和学生进行5分钟左右的提问。考核成绩是由老师根据课程设计报告、演讲PPT内容、回答问题效果等项目进行打分。经过一个学期的C++理论学习和一个月的课程设计,全部小组都按时递交了课程设计报告和进行了汇报演讲,其中不少学生讲的非常精彩,这对于他们也是一种不可多得的实战锻炼。学生普遍反映通过理论与实践结合的学习开阔了视野,提高了工程应用能力,培养了团队协作能力,增强了学习信心,达到了前所未有的良好效果。

七、结论

本文作者根据多年来的教学体会,提出将满堂灌式的教学方法转变为以学生为主体、以活跃式课堂为形式、以课程实际相结合的多模式创新教学方法,真正实现教师为主导、学生为主体的互动式高效教学创新模式。

参考文献:

[1]郑莉. C++语言程序设计[M].北京:清华大学出版社,2010.

[2]钱能. C++程序设计教程[M].北京:清华大学出版社,2009.

[3]谭浩强. C++面向对象程序设计[M].北京:清华大学出版社,2006.

[4]王卫军.教师信息化教学能力发展策略研究述[J].电化教育研究,2012, 229(5):103-109.

第2篇:c语言课程设计小结范文

摘要:本文针对C语言课程学习特点提出了知识模块化、训练项目化的教学模式,通过分析C语言当前教学现状,介绍了该教学模式下项目化教学方法的设计思路、并给出详细的训练项目设计方案以及项目化教学方法的实施流程和实施效果;通过项目化教学方法的实际运用说明这种教学模式的教学效果及推广价值。

关键词:C语言课程;知识模块化;训练项目化;教学模式;探索与实践

中图分类号:G642

文献标识码:B

1C语言的重要性及目前教学现状

“C语言程序设计”课程是高等院校计算机及其应用专业学生一门必修课,也是其它一些非计算机专业学生一门重要的基础课程,它对训练学生思维能力和实际解决问题能力的培养,起到重要作用。目前多数高校的C语言教学方法主要形式仍然是以讲授语法、分析算法为主,教学学时安排大多采用理论与实践2+2的学时计划;由于C语言功能强大,表达能力强,其丰富的功能所带来的繁多的数据类型、复杂语法结构以及面向过程的结构化程序设计,传统的教学方法理论学时学语法、讲算法,实践学时让学生通过做练习题,记住语法、算法,使初学者感觉C语言学习难度大,学习过程枯燥,因而很多学生在学习C语言时不是理解算法而是去“背”算法,更少有学生去欣赏精巧的算法。因此,在C语言的教学过程中,教师必须找到适合学生学习特点的教学手段和方法,合理地组织教学内容、精心地设计教学案例。由于“C语言程序设计”课程也是一门实践性很强的课程,除了合理的理论课堂教学,还必须重视上机实践环节,通过让学生动手实践,巩固和消化理论教学内容,因此如何设计实践教学环节的上机任务,使学生有兴趣动手编程,又能恰当与理论教学内容衔接好,使实践环节有充分满的上机任务,从而让C语言的学习过程由枯燥变为愉快的探索之旅。

本文介绍的C语言课程阶段性项目化训练教学方法,正是针对目前C语言教学现状中存在的不足而提出,并且阶段性项目化训练教学方法在“C语言程序设计”课程中实际教学运用也取得良好的教学效果。

2C语言的学习难点分析

C语言课程在很多高校一般是一年级第二学期开设,学生对C语言学习的第一印象虽然觉得它很神秘,也很想学会它。但翻开C语言第一章,C语言丰富的数据类型、运算符和表达式等基本语法往往会让学生觉得难、枯燥,因此有些学生在还没有能了解到C语言学习乐趣时就已经在主观上产生畏难情绪,还有一些学生在上机调试程序时,编译产生的一堆错误也会吓跑学生的学习兴趣;当教学过程进行到数组、函数部分时,学生在完成课后侧重语法和算法训练的练习题时,编程不断遇到的困难更是学生学习兴趣最大的“杀手”,如果得不到及时的帮助,更会使得学生失去对C语言这门课程的学习的信心和兴趣。因此,传统C语言教学方法按照章节不断推进的学习过程,虽然在知识传授上具有很好的系统性,但从学生对C语言的学习现状也可以看出,这个系统的学习过程会随着知识难度和深度地加深而逐渐失去一部分学习者,最后学习到C语言指针部分时,有较多学生已经因为积累太多的问题和困难不能再接受,跟不上教学进度,从而放弃对C语言课程的学习。针对C语言这种学习情况,如何在C语言的整个教学过程中始终保持学生的学习兴趣,使学生在学习过程中不断会有成就感,不会被困难吓跑,在学习上了一个台阶后还有具有再上一个新台阶的信心和兴趣,这些都需要教师合理组织C语言教学内容和运用恰当的教学方法才能实现。本文提出的C语言阶段性项目化训练教学方法,也是针对这些需要对C语言的教学做出的一些探索和总结。

3什么是阶段性项目化教学模式

3.1C语言课程教学内容分阶段模块化

根据C语言教学内容学习特点,将C语言课程教学内容分阶段模块化,即将知识单元化,针对不同单元知识特点,设计相应训练项目,使学生通过这一阶段的训练项目编程巩固单元知识。C语言课程分阶段模块化知识结构如图1所示。

3.2阶段性项目化教学模式中项目的设计

C语言课程实践教学中采用分阶段项目训练。训练项目设计原则是程序功能与学生感兴趣的实际问题相关,学生运用本单元学习的知识能够完成项目编程;如果学生想把项目完成的更完善还需要再进入下一单元的学习;阶段性项目的顺利实现使学生体验成就感,但程序功能上还存在的缺陷或漏洞能激励学生积极主动地学习新的知识以实现程序功能的完善。下面给出的几个训练项目示例是C语言实践教学中按教学进度与知识模块划分设计出五个小型程序设计项目:

(1) 算术运算测试软件及超市商品收银机程序

① 项目设计说明:运用选择结构编程实现有限四则运算的算术测试软件或能实现超市商品收银机功能的软件,要求算术测试软件能随机出题,用户可自由选择题量及练习的运算内容(如加、减、乘、除等);用户可随时结束练习,并给出本次测试的成绩;要求软件用户操作界面友好,具有一定的容错性。

② 训练目的:在结构化程序设计顺序结构、选择结构及实现选择结构的控制语句学习完之后,通过该小型程序设计项目的完成训练学生对选择结构程序的编程练习,巩固选择结构知识模块,了解选择结构在解决实际问题编程中的运用。

③ 训练知识点:选择结构及实现选择结构的控制语句:if-else语句和switch语句。

(2) 剪刀、石头、布游戏设计

① 项目设计说明:运用循环结构编程实现剪刀、石头、布游戏软件,要求软件设计符合游戏公平的原则,该游戏实现用户(玩家1)与计算机(玩家2)的剪刀、石头、布游戏,每次比赛给出比赛结果,用户选择具有一定的容错性、计算机选择具有随机性;用户可多次进行游戏并能随时退出游戏。

② 训练目的:在结构化程序设计循环结构及实现循环结构的控制语句学习完之后,通过该小型程序设计项目的完成训练学生对循环结构程序的编程练习,巩固循环结构知识模块,了解循环结构在解决实际问题编程中的运用。尤其在编程调试中对死循环的出现如何避免、程序的漏洞如何应对等,训练学生的程序调试能力及分析问题、解决问题能力、培养学生考虑问题细致、周密的习惯。

③ 训练知识点:循环结构及实现循环结构的控制语句:do-while语句、while语句和for语句。

(3) 加密短信阅读程序设计

① 项目设计说明:综合运用结构化程序设计的三种基本控制结构:顺序结构、选择结构和循环结构实现编程;本项目的设计难点有二点:一是如何密码能安全输入,同时也具有密码输入的容错性;二是短信的存放方式及阅读方式;要求软件设计界面美观、友好,当用户输入正确,可以顺利阅读短信内容。

② 训练目的:在一维数组、字符数组和二维数组学习完之后,通过该小型程序设计项目的完成训练学生对数组这种数据类型的编程练习,巩固数组知识模块,了解数组这种数据类型在解决实际问题编程中的运用。通过该项目设计,也使学生进一步感性认识到“程序设计=数据结构+算法”,数据结构在程序设计中的重要作用,使学生明确程序与数据之间的关系以及程序设计的设计思路可以从程序加工的对象―数据及其组织方式为切入点。

③ 训练知识点:数组及数组应用;掌握一维数组、字符数组或二维数组的基本语法和数组在编程中的运用。

(4) 用户自定义函数说明书的设计

① 项目设计说明:综合运用结构化程序设计的三种基本控制结构、数组和函数的知识实现编程;本项目的设计要求至少设计出四个不同功能的用户自定义函数,设计出用户自定义函数说明书封面和选择菜单,用户可自由选择要学习的函数,当用户选择学习某函数时,给出该函数的原型、功能、调用格式及函数应用示例等使用说明。要求软件操作界面美观、友好;用户可随时结束学习,并给出本次学习情况说明。

② 训练目的:在用户自定义函数及函数应用学习完之后,通过该小型程序设计项目的完成训练学生对函数的编程练习,巩固函数知识模块,了解函数是C程序的基本模块,掌握用户自定义函数功能、定义格式、调用方式等基本语法知识。通过该项目设计,也使学生进一步感性认识到结构化程序的特点,认识到用户自定义函数与C标准库函数的关系及在编程中的作用。

③ 训练知识点:函数及函数应用;掌握函数定义、函数声明、函数调用等基本语法和在编程中函数模块的设计。

(5) 学生信息管理系统设计

① 项目设计说明:要求综合运用C语言课程知识编程,侧重于理解指针在编程中的运用,要求使用结构体类型处理数据,掌握对文件的读写操作。学生信息管理系统功能要求:

建立信息源,即能将若干学生信息添加到数据文件中。(学生信息主要包括:学号、姓名、性别、年龄、通讯地址等,也可自定信息)

查找信息,为用户提供几种查找方式,如按姓名查找或按学号查找等,要求最少提供一种查找方式。如输入要查找姓名,输出相应结果。

② 训练目的:在指针、结构体和文件操作学习完之后,通过该小型程序设计项目的完成训练学生对指针、结构体、文件类型的编程练习,巩固指针、结构体和文件知识模块,了解结构体数据类型与数组类型对数据组织方式上的不同;掌握指针变量定义、结构体类型定义、结构体变量定义和文件读写操作等基本语法知识。通过该项目设计,也使学生更进一步综合运用“C语言程序设计”课程所学的各模块知识,分析、解决实际问题,达到学以致用的效果。

③ 训练知识点:指针、结构体和文件;掌握指针与结构体数据类型在编程中的运用;掌握对文件的操作。

3.3分阶段模块化教学的优点

分解C语言课程的学习难点,针对每个阶段和知识模块设计的程序设计项目由浅入深,由易至难,使学生的学习过程有成就感,有效地激发学生的学习兴趣。

4项目化教学方法应用

4.1阶段性项目化教学方法实施流程

C语言课程理论教学知识模块化、实践教学阶段性训练项目编程在实际教学中的应用,教学效果良好,很大程度上激发了学生对C语言课程的学习热情。教学方法实施流程如图2所示:

4.2C语言知识模块化训练项目化教学学生评价方法

为了与C语言阶段性项目化训练的教学方法相适应,对学生C语言课程的成绩考核需要从注重结果转变为注重过程的课程成绩评价方法,课程考核成绩的组成部分也从过去平时成绩、期末考试成绩转变为由多项组成。如下面公式所示:

课程考核成绩 = 平时上机实验成绩+模块化单元测验+阶段项目设计成绩+期末综合知识考核成绩

5结束语

针对高校计算机语言课程C语言程序设计课程进行的教学模式的研究与改革,在实际教学应用中取得了较好的效果,这种教学方法也受到学生的普遍欢迎,并获得校级教学成果一等奖,按此教学方法进行教学改革的试点班在浙江省高校计算机应用水平二级考试通过率达到92%的好成绩。C语言知识模块化、训练项目的教学模式对计算机语言类的课程教学模式、教学方法方面做出有益的探索。

参考文献:

[1] 龚沛曾,杨志强. C/C++程序设计教程[M]. 北京:高等教育出版社,2004.

[2] 刘玮玮,汪晓平. C语言高级实例解析[M]. 北京:清华大学出版社,2004.

[3] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2005.

Desk Study of Teaching Model about C-Language Project Training Based on Ability- Cultivation

WANG Xiao-yong, XIAO Si-you, ZHANG Wen-xiang

(Zhejiang Wanli University, Ningbo 315000, China)

第3篇:c语言课程设计小结范文

项目教学法与传统的教学模式有所不同,在构建过程中需注意以下几点原则:一是以学生为主体。项目教学法要树立以学生为主体的教学模式,教学过程中的项目任务要实现学生自主学习和实践,教师要从中起到指导、协助、监督的作用。二是以实践为中心。C语言程序设计课程注重的是学生对所掌握理论知识的应用,教师在开展项目教学时要注重对学生的实践活动,保障学生在实践中掌握C语言程序设计的方法,并积累实践经验。三是学习资源、协作环境有效支持。为实现项目教学法在C语言程序设计教学中的有效性,教师要事先准备好所要进行的项目任务的相关学习资料,同时还要引导学生通过多种方式收集资料,师生共同努力能有效获取广泛的信息,从而提高教学质量。此外,教学过程中要对学生进行分组,以小组协作的形式使学生在组内探讨项目任务的解决办法和实施方案,共同完成知识的构建。

二、高职院校项目教学在C语言程序设计课程中的应用

项目教学法应用在C语言程序课程中,可以通过科学合理的设计项目把课程重要的知识点进行重新整合并融入其中,使学生提高对C语言程序设计的兴趣,并主动应用技能,提高自身创新意识,从而有效提高C语言程序设计的教学质量。教师应用项目教学法主要从以下几个方面开展:

(一)从应用入手,激发学生的学习兴趣。对于C语言程序设计的初学者来说,很多学生对它的背景知识了解相对较少,随着学习的深入,课程难度逐渐加大,学生逐渐跟不上教学进度,致使学习兴趣的丧失。教师在C语言程序设计课程中应用项目教学法,必须设计出与学生学习、生活有着密切关系的项目,从而提高学生的学习兴趣。例如通过设计学生成绩管理系统项目来提高学生对C语言程序设计中数值处理的应用,通过设计多功能选择菜单项目来提高学生对C语言程序设计中switch()的应用。

(二)大项目与小项目相结合。大项目即综合项目,它能有效结合C语言程序设计大部分知识点且具有较高的实用性;小项目是教师在教学过程中针对C语言程序设计某个固定知识点开展的具体项目。项目教学法在C语言程序设计教学应用中,小项目是实现大项目的基础,大项目是对小项目的综合应用,两者相辅相成,密不可分。教师运用项目教学法开展C语言程序设计教学时,一是要对学生进行大项目的布置,使学生明确学习目标,从而减少学生学习的盲目性;二是在教学过程中,教师要以大项目为依据着重开展小项目的讲授;三是小项目的课程全部结束以后,教师要对学生进行分组,以小组的形式对小项目的知识点进行串联,完成大项目中对小项目的综合应用。项目教学法在C语言程序设计中应用大项目与小项目相结合的方式,可有效提高教学质量,给予学生水到渠成的感觉。

(三)启发教学与自主学习相结合。项目教学法是以学生为主导的教学方式,这就要求它要充分发挥学生的主观能动性,促使学生积极主动寻求学习过程中遇到问题的解决办法。为提高学生的自主学习能力,教师在上课之前可先向学生提出一个或多个项目问题,要求学生根据问题独自通过教材中相关内容找出答案,并且在课堂上让学生把自己的见解阐述出来,这样学生的自主学习能力得到提高,同时还促进了对C语言程序设计的兴趣。但是高职院校学生中部分学生基础知识薄弱,自觉性差,任由学生自主学习,不能起到良好的教学效果,这就要求教师在学生遇到问题时给予必要的启发和指导,这样才能帮助学生找到方法并顺利解决问题。对C语言程序设计课程的项目教学中,教师要有效结合自主学习和启发教学,这样才能发挥项目教学的优势,从而提高教学质量。

(四)协作学习与自主学习相结合。在C语言程序设计教学中,引导学生自主学习可以提高学生的学习能力,对于分支和循环等一些基本项目的设计,可以采用这种方式进行教学。但是当涉及到数组项目设计、综合项目设计等一些复杂的项目和问题时,教师要对学生进行科学合理的分组,以小组的形式找出项目的解决办法和实施方案,完成之后小组之间要进行讨论,互相分析其他小组的实施方案中存在的问题,以此来互通有无,交流经验。C语言程序设计项目教学通过协作学习和自主学习相结合的方式可以提高学生个人学习能力和团队合作意识,还可以使学生集思广益、开拓眼界。

(五)传统教学与项目教学相结合。传统教学注重使学生掌握C语言程序设计的理论知识,为后期的教学活动打下基础,而项目教学法在于培养学生的自学能力、分析能力、协作能力等。教师在对学生进行C语言程序设计教学时,要以传统教学为基础,灵活、机动地使用项目教学法,这样才能提高教学的质量。比如,在C语言程序设计课程中,教师可把教学活动分为理论和实践两个部分,通过传统教学模式对理论部分进行讲解,使学生掌握C语言程序设计的基础知识,通过项目教学法使学生对实践部分进行操作,这样可实现学生把掌握的理论知识运用到实践当中,巩固并提高了学生C语言程序设计的能力。

(六)开展实验活动。项目教学法在C语言程序设计课程中的应用需要开展大量的实验活动作保障,它不仅可以使学生把学到的C语言程序设计理论应用到实践当中,同时还可以锻炼学生的思考能力。试验是以巩固学生在课堂上学到的知识为主要目的的,无需学生在实验时设计一个完整的C语言程序设计项目,这就要求教师不能单纯列出一个项目题目让学生完成,也不能依靠传统的教学方法给学生一个单独的实验题目。教师要突出项目教学的优势,依靠商品销售系统、员工工资管理系统等具体的项目,精心设计试验题目。同时教师还要根据学生对C语言程序设计掌握的具体情况,通过编写模块功能代码、改正模块中语句的表达模式等多层次的题目来达到实验的目的。除此之外,教师还可以设计一些复杂的实验项目作为选做题,以促进高水平学生能力的继续提升。

(七)加强学生在项目教学中的讨论工作。开展C语言程序设计项目教学,只有充分发挥学生的积极性和主动性,才能提高教学质量。项目教学法中合作学习的实施是提高学生学习积极性和主动性的重要环节,教师要对学生进行科学合理的分组,并向学生提供专题供小组讨论,专题主要包括C语言程序设计的难点和易混淆的知识点,小组讨论期间各成员都要积极发言,互通有无,交换意见,最终促进学生对C语言程序设计知识点的掌握。除了在课堂上的讨论之外,教师还需布置课后的项目题目并对学生进行分组使其以团队的形式利用课余时间去思考、讨论、收集资料,并制定出该项目的实现方法,课堂上小组之间进行讨论,探讨各实现方法的可行性,最后教师再进行归纳总结。C语言程序设计利用项目教学的小组讨论方式可以有效提高学生的学习积极性,还能使学生获得更多的课外知识,激发他们的求知欲,有效促进了C语言程序设计教学质量的提高。

三、结语

第4篇:c语言课程设计小结范文

【关键词】C语言 实践教学 教学 改革

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)06-0255-02

C语言是一种理想的结构化语言,其语言逻辑结构清晰,编译、运行效率高,数据类型丰富,灵活性强,有助于初学者掌握模块设计思想,并对数据结构的运用有一定的认识,对培养学生的抽象思维能力有很大帮助,因此它已成为许多高校计算机专业甚至部分非计算机专业的一门必修课。而C语言是一门比较抽象且实践性很强的课程[1],要让学生运用C语言编写程序解决实际问题,如果只重视理论教学而忽视实践教学,容易让学生感觉C语言难、不易学,失去对C语言的兴趣,所以C语言在强调理论教学的同时,也需要重视实践的重要性,通过教授基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握C语言程序设计的思想和方法,这样才能引导和促使学生充分掌握C语言,运用好C语言,编出简洁高效的程序,增强学生的动手能力。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问题。以下是笔者在C语言上机实践教学中的一些想法,愿大家共同交流探讨。

一、C语言实践课的重要性

学习C语言应当充分注意实践环节。通过上机练习的实践,让学生将课堂上学习到的理论知识带入实践环节,通过程序编译运行,查看程序结果,完成与程序的一次次的“亲密接触”,从编译环境、调试方法学习入手,让学生在实践中验证理论知识并对于在理论知识学习过程产生的疑惑,并通过实践方式加以验证和解决[2]。同样在上机实践中如果验证通过某一个程序后,学生可以尝试的改变程序中某些语句,甚至设置一些跳转语句或者中断语句,观察和分析在不同情况下的编译和运行结果,上机实践能让学生很直观的感受到程序的存在、变化和结果。应当说,上机实践是巩固和发展理论知识的十分重要的环节。

二、C语言实践课存在的问题

目前在高校C语言实践教学活动中,存在以下一些现象和问题:

(1)学生学习C语言的积极性没有充分调动起来。C语言的许多基础知识都是概念性强、理论性强,内容丰富且抽象,具有严密逻辑性的[3],初次学习难度比较大,学生容易会产生畏难情绪,如果没有及时有效的引导,许多学生会失去学习兴趣,不容易坚持学习,影响了学习的效果。

(2)高校中C语言一般大班授课,同时理论课和实践课分开进行。首先大班听课,人数较多,听课的效果会出现参差不齐的情况。另外理论课老师负责理论教学,实践教学部分则由实践室老师负责辅导,任课老师和实践辅导老师如果沟通交流不够,容易存在对学生实践教学真实情况掌握不足的现象,让任课老师在传授理论知识时失去了一定的针对性。

(3)学生在完成理论作业时,由于老师布置程序的题目一般情况下都是统一的,这样作业涉及的代码编写也存在一定的相似度,学生的作业不容易存在差异化,不容易让老师了解学生知识点掌握的情况,所以对于C语言这样一门实践性很强的课程,仅靠布置书面作业和书面批改作业的方法来督促学生学习和了解学习情况存在不够全面和不够客观的问题。

三、C语言实践课教学改革的原则探讨

(1)实践教学是学习C语言最好的推动力。充分运用案例教学完成C语言的第一次授课。大部分的同学都是初次接触C语言,C语言或是任何一种计算机语言,对他们而言,都是陌生的,也是神秘的。实践教学很重要就是把握好第一次的教学,我们在实践中称为C语言导学模式。在C语言课程的第一次教学,我们建议教师抓住学生的心理特征,有针对性的收集一定数量和具有一定代表性的C语言程序案例,直接通过程序案例结果,为学生展示程序运行结果画面,例如从早期的骰子游戏到如今的电脑游戏,让学生产生一定的兴趣,并保持这种兴趣,能增强不断学习的信心,而不是通过简单的C语言程序做为第一次课程的内容。

(2)培养良好的程序编写和逻辑习惯。对程序设计控制结构,要求学生熟练掌握结构的表达,培养学生良好的“结构描述、语言表达”的编程习惯,例如循环控制的两种结构三种表达:while{……};do{……}while;for{……}语句,必须严格按照两种结构图进行理解三种表达语句中各个表达式的含义。对先判断后执行使用while{……}格式,而先执行后判断使用do{……}while 格式,以上两种格式通常在无法确定循环控制次数情况下使用,在已知循环控制次数或控制步长情况下通常使用for{……}语句[5]。类似这样的基础,均要严格要求学生掌握,保持良好的编程习惯和逻辑习惯。

四、C语言实践课教学改革的方法探讨

(1)由于有些学校存在师资力量或是教室资源的问题,不容易取消大班听课的模式,故建议在上机实践课中,分小组进行,由3-5个同学组成一个小组,小组成员可以共同完成某一个自选的题目,但是要求列出每个成员完成的内容和效果,由老师组织,让团队成员讲解设计的原理和过程,让学生在实践中掌握真知。另外为了方便掌握上机实践教学情况,建议任课老师最好兼任实践室辅导老师,或者要和实践室辅导老师保持密切联系、经常沟通,及时了解学生的上机作业情况,适时调整授课进度和难点解析。随时明确:“C语言不是看会的,也不是听会的,而是亲自动手实践练会的”。

(2)上机实践教学中,除了基础教学知识之外,不要给学生限定作业题目,允许学生根据自己的兴趣爱好,选择一个范围,并以小组团队为单位,设计并完成C语言程序设计实例,例如有些学生喜欢体育项目,可以根据体育项目,运用C语言设计一个编排比赛日程的小程序,通过类似的实践方式,培养了学生问题求解和编程能力,还有利于培养他们探索与创新的能力,同时能有效增加学生学习的信心和兴趣,激发学生的求知欲望,便于学生更加深入学习和研究其他程序语言。

(3)定期举行答疑会,邀请有经验的高年级学生和任课教师共同为学生答疑解惑,同时将问题和对应的解决方法收集起来,形成文档资料,再完成统一讲解后,提供给大家,让学生能分享到其他同学的疑惑和具体的解决方法,提高答疑的效率和学生解决问题的能力。

(4)将框架思想融合到实践教学中,使用“框架思想”可培养学生的全局思维和算法的整体设计能力,当学生有了一点编程基础后,要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码[4]。例如学生学习重点章函数时,由于新的算法已很少,实践教学主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把重点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。

(5)运用比较的方法学习语法和算法,将实践任务问题作为理论课的内容在课堂上讲述、讨论。对于同样的题目,可以确定若干不同的算法,比较其优劣,分析其原因,在比较过程中体会并掌握算法、语法知识。例如C语言里Char?鄢和Char[]的区别,本质上来说,Char?鄢s定义了一个Char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以:当Char?鄢s = “hello”;后,不能使用s[0]=‘a’;语句进行赋值。这是将提示内存不能为“written”。当用Char s[]=“hello”;后,完全可以使用s[0]=‘a’;进行赋值,这是常规的数组操作。若定义: Char s[] = “hello”; Char ?鄢p = s; 也可以使用p[0] = ‘a’;因为这是p ==s,都是指向数组的指针[5]。

下面看另外一种定义:

Char?鄢s = (Char?鄢)malloC(n);//其中n为要开辟空间的大小 这句话其实相当于:

Char s[n];

定义的也是一个指向数组的指针,便可进行数组的下标操作

例子

#inClude

int main(int argC, Char?鄢 argv[])

{

Char?鄢buf1 = “this is a test”;

Char buf2[] = “this is a test”;

printf(“size of buf1: %d\n”, sizeof(buf1));

printf(“size of buf2: %d\n”, sizeof(buf2));

return 0;

}

结果是:

size of buf1: 4

size of buf2: 15

类似的比较学习例子还有很多,建议可以按不同的学习章节,整理出不同的比较内容,提供给学生理解并应用。

五、结束语

C语言程序上机实践教学要讲究方法,重在培养学生的实践能力,多给予学生实践机会,设计合理的实践方案,让学生能真正体会到C语言学习的奥妙。本文介绍了C语言实践学习的重要性,探讨了实践教学的一些原则和方法,今后还需要继续探索教学方式和方法,促使实践教学充分发挥作用,能让学生在计算机语言学上打下扎实的基础,为后续的学习提供高效的学习方法。

参考文献:

[1]赵卫绩,刘井莲,樊守芳. 实例教学法在C语言循环结构教学中的应用[J].通化师范学院学报.2012(02).

[2]袁学倩.《C语言程序设计》课程教学改革的探讨[J].科技信息. 2012(21).

[3]刘弘岳.浅谈C语言教学实践[J].才智.2013(25).

[4]赖永秀,李凌,饶妮妮.任务驱动法在C语言实践教学中的应用[J]实验科学与技术2012(03).

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

第5篇:c语言课程设计小结范文

0 引言

c语言程序设计是计算机及应用电子技术相关专业开设的一门课程,具有一定的难度。目前比较流行的基于“行动导向”的“项目教学法”“项目驱动+案例教学”教学模式是教好和学好这门课程的有效途径,但问题的关键是教师如何选用一些符合学生专业和企业实际的真实项目,在教学中真正做到“工学结合”。

近年来学院新进青年教师较多,多数人缺乏实际工作经验,只是针对课程理论知识按部就班讲解,虽然也按照章节布置一些相应的实训项目,但很少涉及社会实践和企业应用内容,久而久之使学生处于被动学习状态,感觉内容枯燥,难以激发学习兴趣,不利于培养学生的职业能力和创新精神。在项目产品c程序设计教学中,笔者根据多年的教学与科研实践经历,采用科技攻关项目案例,如针对林业企业木材生产、经销环节中应用的专用计算器的软件设计,进行c语言程序设计的项目案例教学示范,旨在指导青年教师做好高职c语言项目课程开发,通过丰富教师自身的社会实践,提高学生解决各种实际问题的意识和培养学生应用C语言进行编程的能力,从而提高青年教师和高职学生的创新意识与实践能力。

1 让学生了解课程的目的是什么——What(做什么)

在课程伊始,首先向学生交代清楚C语言是什么?学习C语言程序设计有什么实际作用?由此引入C语言是目前常见的高级编程语言基础。通过学习C语言的发展和演化,学生了解到C是一种面向过程编程的语言,c++是一种面向对象的语言,C#融合Java又对c++进行简化。由于C语言在可读性和可移植性上比汇编语言有优势,因此许多应用项目、电子产品的应用软件多源于c语言程序设计,使得C/C++语言编程已成为高级语言程序设计教学、单片机嵌入式编程发展的方向和潮流。其次,让学生了解如何针对社会需求和企业生产实际,运用C语言开发项目产品。项目是指以生产一件具有实际应用价值的具体产品为目的的任务。课堂以“原木经销专用计算器的研究”项目产品的软件系统开发为例,通过具体介绍从用户需求调查、产品立项到软件开发、产品应用的整个过程案例,说明c语言程序设计在项目产品软件开发中的实际作用,帮助学生真正理解c语言程序设计课程的学习目的,以调动学习积极性。

黑龙江生态工程职业学院过去曾是培养森工林区管理干部和专业技术人才的成人高校,建校时间长,具有林业行业背景,因此目前相当一部分在校学生来源于森工林区,对于林业企业木材生产、经销等有所耳闻。在原木生产、缴库、销售中,检尺是木材生产经营中的重要环节,其准确性对木材生产中各环节的衔接、管理及企业经济效益都有重大影响。为改变传统、落后的木材检尺方式,我们把现代信息技术应用到木材检尺中,通过开发原木经销计算器可离线存放每根木材的全部信息,包括生产林班、材种、材积、等级、采伐日期等10余项内容,再通过接口传输到计算机中,在检尺、缴库、销售环节通过计算机联网在线操作将每根木材的信息录入信息中心服务器,实现木材检尺现代化、精准化、数字化,达到有效控制木材检尺环节中所造成的效益流失,可降低生产成本,提升企业竞争力。

专用计算器项目是为了解决林业企业木材生产和销售检尺中的实际问题而提出,最初软件解决方案为汇编语言。据此可对学生设问:现在如何以c语言改造并创新?由此引出C语言源程序的编辑、编译问题。由于目前高校程序设计教学中一般选择运行于DOS环境下的Turbo c2.0作为初学c语言的首选编译器,往往使学生对其产生“过时”的错觉,认为现在计算机操作系统早已进入“视窗”时代,Turbo c教学软件档次太低。这时教师首先要向学生说明,Turbo C是经典的程序设计软件之一,由于它对运行环境要求较低,早期的PC均可满足Turbo c要求,继续保留和沿用Turbo c 2.0作为c语言通用模块的选修课程教学内容和实训环境仍然必要。

鉴于目前全国计算机等级考试(NCRE)二级c语言考试已改为VC++6.0这一环境,我们可以将VC++6.0作为计算机软件及应用电子技术两个专业的必修课程,让这两个专业的学生可以通过“学c语言考二级”引导“课证结合”,调动学习c语言程序设计的积极性,在学校学习期间就有一种就业意识,学好理论知识并掌握实践技能,以适应未来人才市场的选择,为企业技术创新储备能力。对于相关专业学生需要强调的是,针对Turbo c、VC++6.0环境中c语言程序编译后在电脑磁盘上保留的“主文件”名称相同但扩展名不同的4个文件(.c,.BAK,.OBJ,.EXE),除了要知道c语言程序编译后可在PC操作系统下运行.EXE文件外,还需要了解单片机c语言的“软件固化”过程,即在开发环境下通过编程器使.OBJ被“烧录”到单片机的EPROM中进行固化,令产品具有所谓的“智能”,这也是基于项目的c语言课程设计的最终归宿。

2 让学生学会如何进行软件功能分析——How(怎么做)

这一项即如何通过产品功能分析确定软件模块。c语言程序设计课程的传统教学模式是以语言的语法系统为主线,以小型练习为训练手段,只对一两个语法要点进行有针对性的练习,与企业应用项目联系较少。在c语言程序设计课程介绍到结构化程序设计方法时,教师可通过讲解图1所示项目产品的“轻触式薄膜按键”操作面板功能,绘制出图2所示的软件系统结构流程图,让学生学会应用流程图工具分析产品功能,引导他们对软件系统进行模块化设计,进而掌握从产品的操作面板功能设计到软件系统模块设计的普遍方法,培养系统分析与设计能力。

3 让学生学会如何按照软件模块分工——Who(谁来做)

这一项即如何按照软件模块进行算法流程设计。c语言是一种结构化语言,重点在于算法和数据结构。教师可在课程伊始,系统讲述c语言的各种数据类型和输入输出格式,这需要花费大量时间,但又没有足够多的例子印证这些内容的重要性。许多学生就是在这个阶段失去学习的耐心和兴趣,造成后续学习的困难。尤其对于算法,许多学生感觉枯燥无味。这时我们可以考虑通过项目让学生学会针对软件模块进行小组分工,按照系统模块设计流程做好子模块算法设计,培养团队协作意识。

由图2可见,产品的软件系统采用模块化结构程序设计,第一模块“数值计算”功能是模拟常见的数字计算器,用于解决通用的四则运算,可以作为一个独立的子模块由专人负责模块细化,挑选一组对计算器功能及操作比较熟悉的学生按照加、减、乘、除子函数设计进行分工,逐步合并后再用主函数调用子函数完成该子模块设计。第二模块“查材积表”功能主要用于林业企业木材生产中的原木材积计算,可挑选一组来自林区对木材生产和销售比较了解的学生,在“查材积表”模块的程序设计中采用“选择型”算法,通过输入原木材长和径级计算原木的材积,完成相应模块的子函数设计。依据现行的国家标准GB48 14—84,原木材积统计算法公式分以下两种情况。

(1)检尺径自4-12cm的小径原木材积。

V=0.785 4L(D+0.45L+0.2)2÷10000

(2)检尺径自14cm以上的原木材积。

V=0.7854L[D+0.5L+0.005L2+0.000125L

(14-L)2(D-10)]2÷10000

公式中:V——材积(m3);

L——检尺长(m);

D——检尺径(cm)。

据此计算公式,可以绘制出图3所示的“查材积表”模块算法流程图。

对于c语言选择程序设计教学内容,这是一个很好的“模块化”算法设计案例,可以让学生学会按照“模块分解”进行项目分工协作,掌握“逐步求精”的程序设计方法。2005年初,项目组成员作为任课教师曾在黑龙江生态工程职业学院带岭分院计算机应用成人大专班的c语言程序设计课程中运用此案例。由于多数学生来自林业生产一线,因此学生容易理解,接受理论较快,实践效果也较好。此外,在讲解上述教学内容时,教师还向学生介绍了一些林业生产管理知识,突出黑龙江生态工程职业学院的行业特色。

这种采用项目案例结合企业生产实际进行教学的方法,不仅符合林业成人职业教育规律,还符合高职院校培养高技能应用型人才目标的实际,有利于激发学生对c语言程序设计的学习兴趣。2007年末,项目组成员作为评委在黑龙江生态工程职业学院举办的“青年教师基本功大赛”中,对部分计算机技术系青年教师主讲的“c语言选择程序算法设计”课程进行讲评,建议教师尽量采用企业生产中的一些应用实例,对提高青年教师实践能力、带动和提升学生的职业能力起到一定的指导作用。

4 让学生学会如何选择软件开发工具——Where(在哪儿做)

这一项即如何根据实际条件合理选择软件操作环境和开发工具。目前多数高职院校比较重视在多媒体教室PC上进行程序设计教学训练,但是较少能够做到在实验室进行软件产品模拟仿真,更不用说结合相应电子产品进行底层编程,因此应该向青年教师和学生指出c语言程序设计在学好理论、掌握方法、运用工具3个方面是有连贯性的。企业在运用IT工具方面往往领先一步,使科技真正发挥“第一生产力”的作用,因此软件开发工具首先要看IT企业选择什么,这也是“工学结合”的基本要求。

许多学生在“工学结合”实习过程中,看到IT企业应用Microsoft Visual c++软件开发环境,误以为Vc++是一种语言,从而产生一种错觉。项目课程通过介绍“计算机及图像识别技术在原木检尺中的应用研究项目”案例,可将师生引入VC++这一具有较强图形函数功能、可视化的C++语言开发环境。VC++包含在Visual Studio 6.0集成开发环境中(还有VB等),作为一个集成开发工具,它不是一种语言,是基于c++的一个开发平台。与Vc++类似的c++程序开发工具还有Borland公司推出的c++Builder等。c语言有标准的函数库,它们是松散的,只是把功能相同的函数放在一个头文件(h)中;而vc++大多数的函数都是集成的,特别是vc++中的图形处理,它和c语言的图形函数有很大区别,c语言中的图形处理函数基本上不能用于vc++中。此外,VC++还可以写基于DOS的程序以及DLL等。

在明确了系统模块分工、算法流程之后,学生便可以运用软件工具进行c语言具体语句的程序编写和编译,实现相应的模块功能,如通过运用if和switch语句实现两向选择模块(如图3所示)和多向选择结构(如图2所示)程序设计,真正进行实战练习,完成相应模块的程序编写和代码编译。在编写中需要注意的是c++除了能够使用c语言的所有标准函数外,还有自己的另“类”,如在C语言中,输入输出使用scanf()和primf()函数实现,而在c++中使用cin,cout等对象实现,即在c++中也可以不使用c的固有函数而只使用c++的类。教师要通过一些简单的说明,讲清C/C++语言的联系与区别,指导学生看懂c++程序,提高他们对IT企业运用c++开发软件的实习环境的适应能力。

对于侧重学习单片机c语言的学生,可以给他们提出一些未来发展方向,如可以参加IBM的c++国际认证培训,提高就业竞争力。这些学生在学习时可能会感觉有较大难度,因为一要有编程器、仿真器,二要学习编程语言,还有众多种类的单片机需要选择,这就要求教师掌握好C语言程序设计方法和开发工具的运用,对外首先做到“工学结合”,对内做好实验室建设,这样才能较好地指导学生进行实践。项目组成员通过参与科技攻关项目的产品研发,熟悉和掌握了单片机c++程序开发环境及C51编程器应用等开发工具,如开发原木经销专用计算器是采用AT89C51单片机,通过PC的RS232接口连接EMP100编程器,在UCDOS下运行批处理程序,可较快完成C++程序编辑、编译和目标文件“烧写”。目前,c++应用程序开发一般采用可在Windows下运行的KEIL51软件,即在一个集成环境下进行c++程序编辑、编译仿真,再烧写固化、上电运行。

第6篇:c语言课程设计小结范文

关键词:C语言程序设计 教学改革 实践教学 任务驱动

《C语言程序设计》课程是我校针对软件外包专业开设的一门专业基础课,将其作为第一门编程语言来进行教学,是学生学习程序设计方法与编程思想的重要课程之一,也是学习如《JAVA程序设计》、《数据结构》等相关专业课的先修课程。

高职教育与本科教育的理念不同,高职教育重在培养学生的动手能力,结合社会职业需求向社会输送有实践能力的应用型人才。我们不能照搬本科教育“重理论轻实践”的传统教学模式,要针对高职院校学生的特点和教育宗旨来进行教学工作,从而提高学生的逻辑思维能力、使学生能够形成良好的编程思路并积累丰富的经验,为学生毕业后能够独立解决工作中所遇到的实际问题打下基础。《C语言程序设计》课程的教学效果直接影响着学生今后的就业竞争力,因此,如何提高本门课程的教学质量成为我们教学工作的首要问题。

本文从优化教学内容、改善教学方法、增强实践教学三个方面对《C语言程序设计》课程的教学改革方法进行探讨与实践。

1、高职院校《C语言程序设计》课程教学中存在的问题与原因

1.1 学生方面:

目前大多数高职院校都将《C语言程序设计》课程安排在第一学年进行,我校也同样在第一学年的第二学期开设本门课程。编程类的课程要求学生具有较高的逻辑思维能力和较强的数学应用能力,虽然本门课程是编程类的专业基础课,但对于大一的新生而言则是一门全新类型的课程,而且高职院校的学生入学成绩较低,基础相对薄弱,逻辑思维和数学知识也相对较差,并且他们学习的积极性和主动性都不高。

1.2 教材方面

根据目前高职院校的生源特点,选择一本合适高职院校学生学习的教材是十分重要的,也对提高本门课程的教学质量起着尤为重要的作用。在教材选择上要做到以下几点:一、教材所使用的语言通俗易懂,能够清晰透彻地阐述知识点。二、教材章节的顺序设置合理,具有较强的逻辑性,以保证知识点的连贯。三、在教材的内容中,理论知识的介绍不需要太多,能够满足高职院校学生学习就可以了。四、教材中选用的例题能够以现实情景为依托,不能太抽象或太理论化。满足以上四点的教材才有可能让高职院校的学生通过该教材学到所需要的知识。

2、优化高职院校《C语言程序设计》课程的教学内容

对于高职院校初学编程的学生而言,不能要求他们把C语言的每种语法和知识点都熟练掌握,否则不仅会增加学生的学习压力,更会让学生产生对本门课程的畏惧心理,因此我们对教学的内容也要进行适当的取舍,避免过度研究语法,争取做到“需要用多少就讲多少,讲多少就能学会多少”。

3、改善高职院校《C语言程序设计》课程的教学方法

3.1 利用第一节课激发学生的学习兴趣、调动学习热情

对于一门新课而言,第一节课要讲述的内容尤为重要,这关系到能否激发学生的学习兴趣、调动学生的学习热情。教师在这时可以首先用一些实例来阐述C语言在各领域中应用的重要性,让学生们了解目前C语言所能够涉及的领域是相当广泛的。之后可以演示几个趣味性较强的用C语言编写的小程序,让学生们产生学习C语言的兴趣,进而激发他们的求知欲,调动他们的学习热情。最后要强调《C语言程序设计》这门课程对今后学习和工作的重要性,明确学习这门课的目的。

3.2 编程过程演示的互动教学方法

在课堂上进行编程过程的演示,教师在讲述自己编程思路的同时,将代码一行一行写入,并向学生演示调试过程及运行结果。教师在演示过程中要体现出良好的编程思路和编程习惯,同时学生也会对教师在编程时的思维过程和编程方法加以学习。在教学中我们发现学生对编程过程的演示兴趣颇高,为了取得更好的教学效果并活跃课堂气氛,可以在编程过程意设置一些程序漏洞或错误,当程序出现异常情况或者程序的运行结果与我们所期望的结果不一致的时候,会提高学生的注意力,使得他们对哪里产生的错误更加关注,这时可以让学生分析该问题产生的原因,提出解决办法,并测试该解决办法是否能够解决此问题,同时展示运行结果。

3.3 采用任务驱动教学法调动学生学习的积极性与主动性

“任务驱动教学法”就是在学习过程中,以“任务为主线、教师为主导、学生为主体”的一种教学方法。教师在设置任务时应当将整个课程要完成的总任务分解成一个个的小任务,并将每节课的内容都融入到这些小任务中,学生们通过完成这些小任务来体现总体的学习目标。也就是说各章所完成的小任务之间都是相互联系的,它们都是一个较为复杂项目的子任务。当整个课程结束时,学生们就会发现原来自己在不知不觉中已经完成了一个较为大型的程序了。通过任务驱动教学法可以培养学生自己分析问题、独立解决实际问题的意识,在完成任务的同时可以获得满足感和成就感,从而更加激发他们的学习积极性和主动性,形成良性循环。

4、增强高职院校《C语言程序设计》课程的实践教学

《C语言程序设计》的实践教学是做好教学的关键。在传统教学方式的实践教学中,虽然教师也进行了编程演示,但学生们只是一味的重复教师所演示的内容,这样对学生学习C语言并没有明显的帮助。虽然看上去学生们都听懂了也学会了,但实际上学生们一旦遇到类似的问题,即使是有一点点的变化,就有可能会不知道如何解决了。因此我们必须培养学生自己分析问题和解决问题的能力,教师在提出任务之后,千万不能直接给出解决问题的答案,这样做不仅不能帮助学生,反而会使学生失去学习的动力。教师要引导学生去发现问题,并让他们尝试利用所学的知识自己解决问题,一旦问题被学生自行解决之后,带来的不仅仅是成就感,更是解决其他问题的信心和力量。

5、结束语

第7篇:c语言课程设计小结范文

关键词:C语言;程序设计;计算机教育

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)20-0056-03

信息产业是21世纪发展的重要方向,作为信息产业中最重要的一个支撑技术,计算机技术的发展离不开计算机人才的培养。如何培养面向未来现代化企业需求、具备较强信息技术实践能力的复合式人才,将是大学计算机教育探讨的重要内容。目前,从全国普通高校来看,无论是非计算机专业的理工科学生,还是计算机专业本身,都必须打下坚实的计算机程序设计基础,这不仅是为了让学生能顺利通过全国计算机二级考试,更是为了能让高校的学生具备信息技术素养,提高实践动手能力,适应社会的需要。计算机C语言作为一门计算机程序设计基础课程,已经在各个高校开设多年,具有相当的普及性。C语言本身的特点,使得学生在学习的过程中遇到了非常多的问题,使得学生的学习效果不好,这也是这么多年来C语言教学中需要解决和研究的课题。

本文分析了目前地方高等学校,尤其是面向像三峡大学这样正在向上发展,既有一本专业和也有二本专业的学校,针对C语言在这类学校中的现状和教学中存在的问题,结合目前课堂的教学实践,探讨了相应的解决问题的策略方法,并对新形势下的C语言教学进行了分析。

一、C语言教学现状

大学计算机程序设计语言课程,一般分为必修和选修两种。现在大多数高校开设程序设计语言课程把C语言作为理工科必修课,Basic语言作为艺术类学生必修课,而把Foxpro作为文管科必修课,对于理工科还开设了C++课程。由于C语言是面向过程的程序设计,而C++语言是面向对象的程序设计,虽然两者关系非常相近,但思想却完全不同。所以,许多一类大学,尝试着直接开设C++作为入门的语言,但效果并不都是很好。考虑到三峡大学是地方二本院校,我们仍然选择C语言作为理工类学生入门的程序设计语言,相对来说Foxpro程序设计相对容易,主要提高文管学生的实践动手能力,Basic语言采用的是可视化编程,适合基础比较差的艺术类学生。

在以理工类大学为主的学校中,以计算机C语言这门课来分析:C语言课程中内容比较全面,对算法的要求也比较高,加上C语言具有语法灵活、运算符极为丰富等自身特点,在教学中,学生普遍反映内容枯燥和难学;同时,由于课时相对压缩,C语言学时明显不足,结果学生在学习过程中总感觉进度较快,不容易掌握。由于教学效果差,有的老师放慢教学进度,结果使正常的教学内容也不能完成,很多内容没有时间去讲授,这又导致一些理工科专业的后续课程学习(譬如:计算机专业的数据结构、电气专业的C++),学生动手能力也将受到影响。

教学中的主体是学生,学生的状况也直接影响到目前C语言的教学水平。这几年很多高校的办学层次在提高,包含一本专业和二本专业,同时高考的学生规模在减小,招收来的不同专业学生基础参差不齐,不少学生对新知识的求知欲也大大地降低。因此,原有的C语言教学方法和教学手段已经不能适应当前形势下的教学任务。如何在教学中调动当前学生学习的主动性和能动性,利用有限的资源因材施教,积极探索先进的教学方法来提高教学质量,将是目前和未来研究的重点。

二、教学中的问题与教学方法的探讨

结合C语言课程的教学与实践工作,本文对教学中可能遇到的问题进行了详细分析与思考,探讨新的教学改革思路来提高教学质量,在实践中取得了一定的成效。

1.定位的问题。尽管学生已经在大一上学期学过计算机基础课程,但是很多学生的计算机素养还是很低,有不少同学跟刚进校的基础一样,仍然是零起点。计算机专业的学生也是如此,尤其是实行“3+1”新教学培养方案后,学生将从大一上学期开始学习C语言,难度进一步增大,虽然是计算机专业学生,但是计算机水平并不见得比其他专业学生高。同时,有不少学生对计算机课程学习信心很足,可是遇到C语言学习中的困难却很难解决。一方面,他们是中学应试教育的受害者,另一方面也是因为大一阶段其他课程的压力太大,学生普遍反映高数和外语学习困难较大,实在没有很多时间投入到计算机学习中,这就必然带来计算机语言教学和学生对课程认识程度的矛盾问题。

为了能解决好这个问题,首先要选择合适的教材和参考书。有些教材编得很好,实践性很强,但从学生学习的情况上来看,并不适合学生的学习,所以各专业的C语言课程都换成国内内容全面、有一定基础性的教材,学生学习效果明显好不少。同时,为了让学生更好地了解这门课,可以在第一次上课的时候,较为详细地介绍一下C语言的历史和用途、社会上的需求、为什么要开这门课、这门课应该学习什么、这门课与其他专业课的关系等,让学生能充分了解学习这门课的意义,增强学生的学习兴趣,为后面的课程学习开个好头。

2.教学内容的设置。首先内容以能力培养为目标,突出程序设计,强调算法而不是语法。逐步培养学生的程序设计思想,让学生真正地学习到分析问题和解决问题的方法。在教学的过程中,教师要重视编程思想,不要过多讲解语言的语法。注重介绍有关独立于任何特定编程语言的算法思想。重视算法的思想,并不是轻视C语言本身的语法,只是没有必要为一些语法规定花太多精力。我们只需要在了解语法的基础上更多地去模仿编程,只有通过自己多动手编程,才能有效地提高程序设计能力。同时,学习好算法,也能促进语法的掌握,这可以大大提高学习效率,更加突出教学的重点与难点,让学生更好地掌握知识点。

由于C语言用途很广,它所涉及到的内容很多,而大学的课时有限,老师不可能在课堂上讲授所有内容,而且大学生已经不同于中学生,必须具备一定的课外自学能力。因此,老师在有限的学时中必须突出重点内容。同时根据不同专业方向发展的学生,适当地调整教学大纲,调整授课内容,例如与计算机软件相关的,以后会涉及到数据结构、算法设计等专业课程,因此要在讲课过程中加强指针、结构体等内容;与计算机硬件、自动化、电气专业相关的,则必须加强数据类型、硬件编程等方面的内容;如果以后专业课程跟C语言相关较小的专业,学生可通过课程网站和图书馆资料进行学习。学生通过课堂老师讲授的内容,可以掌握知识重点,学会编程思想,再通过课外的自学,拓宽C语言知识,加强课堂内容的吸收,这样不仅有效地利用了有限的课堂学时,也充分发挥了课外学习的效能,实现了内外互补的层次教学。由于教学面对的对象不同,教学目的也会不同,教学内容的重点也不同。以突出重点内容的程序设计方法和技术,可以为高校学生自学习惯和应用能力培养奠定基础。

3.教学方式的探讨。在教学过程中,目前的教学方式都是采用计算机多媒体教学。如果仅仅利用多媒体电子教案进行讲授,内容显得很抽象,学生不能很好地理解C语言的精华。而C语言是一门实践性很强的课,要求学生在学习的过程中能够主动地动手实践。所以,传统的教学方式以老师为中心,学生只是被动地去听课,只会让学生对C语言表面理解内容,不能有效地提高实践能力,远远达不到课程的学习要求。由于C语言学习有一定难度,传统的教学方式在各个高校比较普遍,所以长期以这种方式教学,忽略了计算机教学的根本是以学生为主体,忽略了学生的主动学习性、创新思维和探索精神的培养。所以,即使用计算机辅助教学,传统教学方式仍然问题还很多。

这里我们需要探讨如何改进教学方式,增进学生的主体角色。首先,在课堂上可以采用由浅入深的教学方式,通过一些趣味问题引出教学内容,然后利用多媒体(包括图像、文字、动画、声音等方式)演示出来,让枯燥的技术内容变成生动、直观的视听觉信息。其次,教学内容以实例教学引导,将实例内容根据语言的特点、程序设计方法和算法思想进行有机地组织,把知识点循序渐进地贯穿在实例内容中。最后,教师可以讲解一些趣味性较强的例题,启发学生学习的兴趣,在课外和上机实践课布置与例题相似而且贴近学生生活的程序设计作业,让学生可以通过模仿课堂上学习的例题,迅速地直观理解和掌握所学的知识,从而加强学生独立编程的能力。

另外,C语言是一门实践性很强的课程,实验环节和实验内容的设置一定要加强。C语言程序设计实验不但可以提高学生的动手能力,而且能让学生更好地理解课堂教学内容。合理的实验内容安排可以让学生很快地学以致用,通过在编程过程中体会到成就感,进而提高学生的求知欲和学习兴趣。由于上机时间有限,在学生上机前,一定要让他们准备好上机内容,上机时以调试程序为主,有问题及时向教师和同学请教,以提高效率。另外,目前我们采用的是大班教学,每个班上的学生人数大约有100人左右,在上机的时候学生众多,而实验课老师只有一人,在辅导实验时不可能解决大多数学生的问题。所以,上机时学生可以成立几个小组,学生有问题可以先在小组内互相帮助解决,比较集中的问题再由老师解决。如果遇到较难的题目时,同学之间应先讨论再独立完成,不要学生一遇到困难,老师就帮他解决问题。对于计算机专业,我们将逐步按专业分成小班制教学,以更有利地提高教学效果,增强学生的专业编程基础。

实验内容可有基础的题目,也有一定技巧、比较灵活的题目,到实验后期,可布置一些大型的作业(更多地利用课外时间完成)。大型的作业根据学生的能力和兴趣成立实践小组,每个组的作业可能不同,类似课程设计教学方式。通过大型课程作业的实践,学生可以尽早地面向应用的程序设计实践环节。在这个过程中学生要主动查阅有关研究资料、编写模块程序、调试程序、完成作业,最后写出报告、成功演示。这样可锻炼学生逻辑思维能力、创新思维能力、解决实际问题的能力、团队合作能力。教师主要从解决问题的思路上指导,培养学生的创新意识、创新精神和创新能力,提高学生的综合程序设计水平,使其具有初步的系统分析和系统设计能力。

现在学校网络普及,C语言课程所有资源可放到学校的求索学堂供学生参考。学生可以在网上访问该课程的相关资源,也可以跟教师在约定的时间内在线交流,这不仅解决了学时的限制,也丰富了教学场所(不仅仅局限在教室),给学生与老师交流创造了更多的空间和时间。同时,针对计算机专业学生,教师还可以指导学生在网上参考与C语言相关的国内高校和国外高校MOOC课程,扩展学生的视野,提高学生的学习能力。

三、小结

对于地方高校,在C语言的教学过程中,除了要充分利用学校现有计算机设备环境外,更需要根据学生的学习基础情况,制定合理的教学内容,采用先进的教学理念和教学方式去调动学生的学习主动性。同时,在学生的学习过程中及时关注学生教学反馈信息,不断修正教学内容,改进教学方法,最终提高教学质量。

参考文献:

[1]郑文斌,等.面向C语言课程的多角度模块化教学方法探索[J].教育教学论坛,2013,(19).

[2]王欣如,等.程序设计课程与探究式教学方式[J].计算机科学,2009.

[3]薛非.抛弃C程序设计中的谬误与恶习[M].北京:清华大学出版社,2012.

第8篇:c语言课程设计小结范文

【关键词】 物联网 C语言程序设计 案例教学 任务驱动 微课

物联网是物理世界和虚拟世界的相互沟通和联系,而两者沟通的桥梁则是计算机语言,物联网涉及的程序控制都需要通过计算机软件来实现,因此需要在使用端设计相应的软件来供人们操作使用[1]。而C语言又是应用最广泛的程序设计语言,可以说是其不可缺少的环节。

一、C语言在物联网中的应用

C语言是物联网相关专业的基础课程,一般开在第一学期或者第二学期,是对学生计算机基础语言的普及。

C语言在物联网中的应用非常广泛,比如传感技术同计算机技术与通信技术一起被称为信息技术的三大支柱,传感技术的核心即传感器,它是负责实现物联网中物与物、物与人信息交互的必要组成部分。传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息按一定规则变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示和控制等要求,是实现自动检测和自动控制的首要环节。形象的来说,传感器就像人的五官一样,可以用来感知环境的变化,获取信息。目前,传感器已广泛应用于航天、航空、国防、科技和工农业生产以及人民生活等各个领域中,例如我们常看见的自动门、烟雾报警器、数码相机、电子秤、水位报警器等等,都是采用了传感器来感知周围环境的变化,从而实现相应的控制。而传感器的应用,则少不了C语言的作用。基于嵌入式C语言的编程实现的解析器,应用于传感器的识别上。物联网基于云计算平台和智能网络,可以依据传感器网络用获取的数据通过C语言编辑的程序进行决策,通过改变对象的行为对数据进行控制和反馈。例如根据光线的强弱调整路灯的亮度、根据车辆的流量自动调整红绿灯间隔等。

通过分析C语言在当今前言技术物联网中的应用,可以让学生了解C语言的重要性和实用性,知道学习这门课程有什么用处和前景。从而激发学生的学习兴趣和学习动力。

二、C语言教学中目前存在的问题

C 语言程序设计是工科类专业入门级计算机语言课,其前期知识铺垫只有计算机基础,但是却涉及很多概念,语法结构也较复杂枯燥,学生学习起来难度较大。传统的C 语言教学,教学方法单一,一般以语法知识为主线组织教学,侧重于C 语言语法知识的传授,缺少对算法设计的练习,学生课堂参与度较低,遇到问题后不知道如何建立起程序模型,更不会转化为C 语言程序代码了[2]。本文结合所任教的技工院校学生特点来有针对性地分析问题。技工院校的学生基础较差,很多学生学习是为了应付考试,部分家长也认为只要学生能顺利拿到毕业证书既可,对学生能学到多少技能知识不报太大希望。这种形式下,课堂上能听懂和编写程序的同学不多,很多同学都是机械式地记笔记,死记硬背地记程序代码,根本不去思考算法设计和程序代码的编写,无论是讲授理论还是学生自己上机实践,大部分学生的学习心态都是被动式学习。在时代不断发展的当下,针对目前的教学现状,急需探讨新的教学模式提高学生的学习兴趣和动力。

三、突出德育教育特性的教学模式

3.1结合生活实例,引入生活哲理,采用案例教学法

案例教学是一种将理论与实践相结合,把抽象的问题具象化和生活化,让学生能通过知识迁移学习和理解C语言中的语法知识,并且师生间可以互动的一种教学模式。采用案例教学法,教师依据教学大纲中的教学目标,结合社会和生活中的实例,经过统筹规划,重新组织安排,设计出学生能够理解的案列,再组织学生一起在课堂上讨论和分析案列,对结果进行推理,然后想出自己解决问题的办法和和手段[3]。在讨论和问题解决过程中,可以给学生看一些生活案例中涉及到的生活哲理,这些哲理故事不仅能引起学生的共鸣,还会加深他们对教学案例的印象。起到很好的知识迁移作用。这样不仅使学生能很好地理解理论知识,锻炼动手能力,还能让他们的职业素养得到提高,让学生养成较好的逻辑思维方式和良好的编程规范习惯,提高学生的学习兴趣和德育素养。在讲课过程中,经常举一些与实际生活相关的事例,以精选出的程序实例为中心,把学习的重点放在具体实例讲述上,并引导学生自己去思考解决方案,从主观上让学生感受到成就感,从而保持他们的学习兴趣[4]。整个教学过程中强调学以致用,在应用中学习,从而避免了枯燥、繁杂的理论说教,不仅增强了学生的学习积极性,而且对提高学生综合分析和解决实际问题的能力也大有帮助。

3.2采用任务驱动教学法,插入适当的生活教育片段

任务驱动教学法,是一种建立在建构主义教学理论基础上的教学方法,是指教师将教学内容设计成一个或多个具体任务,力求以任务驱动,以某个实例为先导,进而提出问题,引导学生思考,让学生通过学与做掌握教学内容,达到教学目标,培养学生分析问题和解决问题的能力[5]。

它转变了传统的灌输式教学,以一个个的任务为教学载体呈现给学生来实践,更具有协作性、互动性。在这种教学模式下,教师把任务当作传授知识的主线[6]。

比如在讲解选择结构程序设计时,就可以采用任务驱动法来进行。首先通过引入生活中都熟悉的交通信号灯,红灯停,绿灯行,人们要根据信号灯给出的信号进行判断,根据判断的结果做出相应的动作。告诉学生C语言中的选择结构就是根据条件去执行相应的语句,语句的执行顺序会根据选择条件来变化。在C语言程序中也可以完成这样的判断操作,使用的就是if语句。if语句的功能就像判断路口信号灯一样,根据不同的条件判断是否进行操作。通过交通信号灯引入选择结构程序设计,学生就容易接受和理解。同时在这个环节引入电动车闯红灯交通事故频发的视频,播放给学生观看,通过触目惊心的画面使学生加强交通安全意识,在学习技能知识的同时,把日常生活教育也渗透进去。

接下来,在讲解if语句的三种结构和功能时,就可以通过三个任务的交通信号灯案例来开展:首先定义一个变量s表示交通信号灯的符号。s ==1;表示绿灯亮;s ==1;表示红灯亮;其他情况表示黄灯亮。

①任务一:仅对绿灯做出操作,不考虑其他情况编写程序,可通过单分支结构if语句来实现。

②任务二:完善信号灯既有绿灯又有红灯的操作。可用两个if语句来实现红灯停绿灯行的程序功能;只需要在原来程序的基础上增加一个程序语句既可,if(s==0) printf(“红灯亮,请等待。\n”);

③任务三:完善信号灯有红绿黄三种情况下的功能。可用多分支结构if…else if语句来实现红灯停绿灯行和黄灯等待的程序功能。在这个任务中,如果有的同学照猫画虎地,继续在原有程序基础上添加else printf(“黄灯亮,请准备通行。\n”);程序编译没有错误,也能运行出来,但是在输入不同的值时,会发现程序存在问题。输入1时,会有两个输出结果。这时候通过修改程序语句,就可以让学生更深刻地体会else if语句的用法了。

通过逐渐完善三个交通信号灯的任务,层层递进地引导学生掌握选择结构程序设计的方法和思想,把单调的语法规则融入到生活实例中,可以极大地提高学生的学习兴趣和主动性。最后,再用数学中的分段函数作为任务,让学生自己去编写选择结构程序实现分段函数,通过任务驱动,强化了知识运用能力。

3.3采用微课教学法,培养学生自主学习能力

C语言不只是语法和规则比较繁杂,而且是一门对实践操作要求比较高的学科,很多学生在课堂上往往还没弄懂所学的知识点,就要上机操作,于是上机时大部分同学都是在观望,为了应付老师检查,他们就等个别接受能力比较好的同学编写好程序代码后,利用群共享或者用手机传送程序代码照片,照本宣科地抄一遍,根本不去思考如何完成。

将一些经典案例制作成微课,并给学生共享后,课堂上没有听明白的学生可以打开微课自行研究学习。小而精是碎片视频的特色,每个视频的时长约在10-15分钟以内。视频虽小,却是一个个独立的完整的知识点。小课程的教学过程十分完整,有引入,有生动的教学过程,有小结。重在逐个击破教学中的重难点,达到吸引学生注意力,掌握知识点的目的。学生们可以自主选择学习内容,优秀学生和能力较差的学生在学习时不再感到厌倦和盲目,目标明确,达到因材施教的目的。让知识点在学生的自主学习中完成掌握。学生在榜样的带领下,自然比老师灌输的效果要强得多[7]。

学生是教学的主体,将更多的课堂时间交给学生,努力营造一种主动参与和主动探究学习的氛围。教师事先将要讲授的核心内容录制成微视频,结合多媒体课件和课程任务,让学生课前学习。在课堂中结合知识的实际应用,大家一起研讨解决问题。可以让学生走上讲台,分享小组学习成果和相关经验,解答老师和其他同学提出的问题。学生通过讲课,口头表达和语言沟通能力也会得到提高[8]。这种教学模式还能提高学生的自主学习能力,自主学习能力在学生进入社会后也是一项重要的技能,知识需要不断地更新,没有自主学习能力就很难在业务上有所提高。

总结:本文首先分析了C语言程序设计这门课程在物联网中的应用,突出了该门课程的实用性。针对所任教的技工院校当前C语言教学中存在的问题,提出了以突出德育教学为特色的三种教学模式:案例教学法、任务驱动教学法和微课教学法。案例教学能够让学生通过知识迁移法,把C语言中抽象的理论知识具象化,加深理解和运用。案例中穿插一些哲理故事还能吸引学生注意力,起到德育教育的作用;任务驱动教学法通过布置任务,能让学生逐渐地体会和掌握所学内容,同样在这中间可以选取相关有教育意义的内容展示给学生,起到潜移默化的作用。微课教学法除了可以提高学生学习兴趣外,还可以让学生的自学能力得到锻炼。

参 考 文 献

[1]孟洁,王玲风,卢小华.物联网课程体系中的C 语言教学模式建设分析[J]. 通讯世界,2016(5):264-265.

[2]张墩利.网络技术特色的机电专业C语言教学改革与实践[J]. 科技视界, 2015(25):46.

[3]甄华. C 语言案例教学模式在高职教育中的探讨[J].技术论2015(8)坛,55-59.

[4]徐东,祁薇,刘海见.《C 语言循环结构》课程教学设计研究[J].软件导刊,2014(6):154-156.

[5]张颀.任务驱动教学法在C 语言教学中的应用研究.软件导刊,2014(12):196-197.

[6]李丽亚,刘海静 《C 语言程序设计》教学模式的研究与探索 电子制作,2015(4):112-113.

第9篇:c语言课程设计小结范文

[关键字]CDIO C语言 教学改革 项目化教学

C语言课程是高职院校计算机专业和电子专业的一门专业基本技能课,也是学生建立编程思想的入门级课程。传统的教学模式下,C语言基本以课程知识点为导向来组织教学内容,先集中进行语法规则的理论讲授,再进行枯躁的例题分析,最后让学生上机自主练习以验证知识点。这种“三步走”的教学方式过于注重理论知识的全面性,教师以自我为中心进行授课,学生被动地接受学习,难以激发学生的学习兴趣;教学与实际应用脱节,从而导致学生上课听得懂,遇到实际问题却无从下手,教学效果往往不理想。此外,学生上机自主练习环节通常独立完成上机任务,缺乏交流与沟通,团队合作意识薄弱。鉴于上述种种问题,本文将CDIO教育理念应用于C语言课堂教学中,就教学内容设计、教学实施和课程考核三个方面对C语言课程教学改革加以阐述。

一、 CDIO工程教育模式

CDIO 是国际高等工程教育的一种创新教育模式,是由美国麻省理工学院和瑞典皇家理工学院等四所大学创立的一种现代工程教育理念。CDIO即构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式进行学习。CDIO是一种“做中学”的教育模式,强调培养学生的实际应用能力,注重学生交流能力和团队协作能力的培养。

二、 教学内容设计

高职院校的学生,大部分学习基础不是很好,对于纯理论的知识没有耐心去系统地学习,很容易产生厌烦心理,但对于实践操作兴趣浓厚。因此增加教学的趣味性来激发学生的学习兴趣是教师所要解决的关键问题。基于施教对象的特点,C语言教学中引入项目作为课程载体,基于工作过程组织教学,通过项目的完成要求学生掌握C语言基础、控制结构、数组与结构体、函数、指针、链表和文件的灵活应用。

图1:C语言课程的教学内容设计

项目的设计应突出实用性,将学科性课程体系中的知识点解构重组到各个项目的实施中,以够用为度,淡化难度较深的理论知识。依据本校学生的能力水平,结合CDIO教学理念,以学以致用为出发点,整个教学过程以“小学生四则运算”和“学生成绩管理系统”两个贯穿全程的综合项目为主线,并据此构建课程教学内容。C语言课程的教学内容设计如图1所示。

围绕综合项目,依据具体的工作任务再设计若干个和知识点相对应的简单项目。各个项目依据难易程度、复杂度、综合度由低到高层层推进,循序渐进,以适应学生的认知结构,引导学生带着真实的任务进入学习状态,使学习直观化和形象化,从而提高学生的创造性思维能力。例如,围绕“小学生四则运算”这一综合项目设计的简单项目如表1所示。

表1:“小学生四则运算”综合项目教学内容设计

三、教学实施

以项目为中心的教学不仅针对实际需求来培养学生的编程技能,而且转变了传统的“以教师为中心”的教学模式,“以学生为中心”,让学生成为“学”和“用”的主体,从而能够较好地调动学生的学习热情和积极性,让学生在项目的完成过程中学习知识,真正体现了CDIO理念中的“做中学”。

在教学过程中,首先采用项目教学法通过提出问题将项目展现给学生,引起学生的学习兴趣。然后分析问题,将项目根据功能解构成若干具体的工作任务,启发学生从工作任务中导出相应的知识点进行理论讲解;与此同时,每个知识点再配合若干简单项目进行讲解,使学生加深对知识点的理解和掌握。最后采用任务驱动教学法,按照项目布置相应的实训任务以巩固所学,要求学生结合所学的知识来解决问题,完成最初展现的项目。例如,在综合项目“小学生四则运算”教学过程中,首先引入输入/输出语句,进而让学生理解并掌握基本界面的设计方法;通过对项目中四则运算的具体描述引入本项目涉及的数据类型及运算;通过项目基本界面中的菜单选择引入选择结构;通过项目中控制运算次数的功能引入循环结构。而引入选择结构时,通过简单项目“计算三角形面积”、“判断闰年”、“输出成绩等级”让学生巩固旧知识,学习新知识。

对于简单项目,教师先进行示范讲解,引导每位学生积极参与讨论并模仿完成。对于难度较大的综合项目,在实施过程中,将学生按4-5人进行分组,学生以小组为单位在组长的带领下共同解决项目完成过程中所遇到的各种问题,任务完成后由各小组推选一名代表对小组项目成果进行汇报,现场演示项目成果,介绍设计过程、关键技术和项目分工。教师和其他组的学生对正在演示的学生的项目成果和表达能力进行点评和打分。在整个项目的构思、设计、实施和运作过程中,组员通过相互沟通、有效协作,可以不断提升各自的沟通能力、团队合作能力和领导能力。

四、课程考核

CDIO理念倡导多样性的考核方式,C语言课程也采用过程考核和结果考核相结合的考核方式。C语言是一门实践性很强的课程,考核应注重平时学生实训效果,将考核贯穿于整个教学过程。过程考核是在教学实施过程中对学生所完成的项目进行评价,由学生互评和教师评价共同完成项目评分,以此来突出过程学习效果。学生参与课程考核使得学生更积极主动地投入到课程的学习中。

基于CDIO模式,C语言课程教学改革以项目为载体,以学生为主体,教师引导学生“做中学”,不仅增加了教学的趣味性,能充分调动学生学习的主动性和积极性,而且注重实践环节,强调程序设计思想的形成,提高了学生解决实际问题的能力。同时,在项目的完成过程中,小组成员之间的团队协作,增强了学生的团队意识;小组之间的竞争则激发学生的创新潜能,培养学生的创新实践能力。实践证明,基于CDIO的C语言课程教学改革取得了较好的教学效果。在日后的教学过程中,将不断总结教与学的不足,采用CDl0理念继续进行教学内容、教学实施和课程考核环节的改革,使课程更具科学性和实效性。

[参考文献]

[1]王刚.CDIO工程教育模式的解读与思考[J].中国高教研究,2009(5):86-87.

[2]赵利平.论CDIO环境下如何加强高职学生就业能力培养[J].时代金融,2011(10):116.

[3]任小燕,付云侠.基于CDIO的C语言程序设计教学模式研究[J].计算机教育,2012(20):77-80..

[4]张建华.基于CDIO的C语言的教学改革实践[J].科学时代,2012(11).

[5]李金子.浅谈CDIO教育理念在《语言程序设计》课程中的应用[J].电脑知识与技术,2013(24):5470-5472.