教学大纲c程序设计(13篇)
1.教学大纲c程序设计 篇一
C程序设计技术教学大纲
一、课程名称:C程序设计技术
二、课程代码:18012735
三、课程英文名称:C Programming Technology
四、课程负责人:熊壮
五、学时和学分:56(40+32/2),3.5学分
六、课程性质:必修/选修
七、适用专业:非计算机理工科各专业
八、选课对象:非计算机理工科各专业
九、预修课程:大学计算机基础、高等数学
十、使用教材:熊壮主编.程序设计技术(第三版).重庆大学出版社.2008
十一、参考书目:
梁光春、曾
一、熊壮编著.计算机软件技术基础.重庆大学出版.2000 Brian W.Kernighan & Dennis M.Ritchie著.The C Programming Language.机械工业出版社.2006 Eric S.Roberts著.C程序设计的抽象思维.机械工业出版社.2004 Robert Sedgewick著.周良忠译.C算法.人民邮电出版社.2004
十二、开课单位:计算机学院
十三、课程的目的和任务:
“程序设计技术”课程是我校为非计算机专业理工科学生设置的一门重要的计算机基础课程。程序设计技术和程序设计语言是大学计算机基础系列课程中的重要组成部分,培养学生的逻辑思维能力、抽象能力和基本的程序设计能力是程序设计技术课程的主要任务。本课程通过C程序设计语言介绍结构化程序设计的基本思想和基本技术,通过对典型实例的算法描述以及相应C语言代码描述展现了在程序设计过程中如何对问题进行分析,如何组织数据和如何描述解决问题的方法,展现了在计算机应用过程中如何将方法和编码相联系的具体程序设计过程,进而向学生传授结构化程序设计的基本概念、基本技术和方法。通过本课程的学习,可以为学生学习其他计算机应用课程打下良好的程序设计基础。
十四、课程的基本要求:
1. C语言数据描述和C程序设计初步
2. 结构化程序设计基础和C语言的控制结构 3. 数组及其应用 4. 函数与C程序结构 5. 指针与函数 6. 指针与数组 7. 字符串及其应用
8. 结构体类型和联合体类型 9. C语言的文件处理及其应用
十五、课程描述
1.C语言数据描述和C程序设计初步
C程序的基本结构,C语言的基本数据类型,基本运算符和表达式运算,数据混合运算及数据转换,算法基本概念及算法描述,最基本的输出函数,最基本的输入函数,常用数学类标准库函数使用。2.结构化程序设计基础和C语言的控制结构
关系运算符和关系表达式,逻辑运算符和逻辑表达式,分支结构程序设计基础,循环结构程序设计基础,C语言控制结构简单应用(最大公约数和最小公倍数、穷举思想及程序实现、迭代思想及程序实现、一元高阶方程的迭代解法)。3.数组及其应用
一维数组的定义和初始化,一维数组元素的引用方法,二维数组和多维数组的定义,二维数组和多维数组元素引用方法,数组元素值的随机生成,常用排序方法,常用查找方法。4.函数与C程序结构
函数的定义和函数的声明,值参数传递函数调用,指针基本概念和地址值参数传递函数调用,数组参数传递函数调用,函数的嵌套调用和递归调用,变量的作用域和生存期,编译预处理基础,多源文件C程序的组织方法(使用文件包含的方法、使用工程文件的方法)。5.指针与函数
指向函数指针变量的定义,用指向函数的指针变量来调用函数,指向函数的指针变量作函数参数,返回指针值函数的定义和调用,存储分配标准库函数和动态变量。6.指针与数组
多级指针的定义和使用,一维数组与指针的关系,二维数组与指针的关系,指向由若干元素构成的数组的指针,指针数组的定义和使用,C程序的命令行参数,动态数组的概念(一维动态数组的建立和使用、二维动态数组的建立和使用)。
7.字符串及其应用
字符串的表示方法和字符串的输入输出方法,字符串中有效字符的统计,字符串的复制,字符串的连接,字符串中字符的查找,字符串中字符的插入和删除,字符串的比较和子串的查找,字符串中子串的插入和删除。8.结构体类型和联合体类型
结构体类型和变量的定义,typedef关键字的简单应用,结构体变量的引用和输入输出,结构体变量作函数的参数,结构体作函数的返回值类型,结构体数组的定义和数组元素引用,结构体数组作函数的参数,结构体数据类型与指针的关系,结构体数据类型的简单应用——单链表,联合体类型的定义和变量的引用方法,联合体类型与结构体类型的区别。9.C语言的文件处理及其应用
文件概念与文件类型指针,文件的打开和关闭,文件内部读写位置指针以及文件尾的检测方法,文件中的单个字符读写操作,文件中的字符串读写操作,文件中的格式化读写操作,文件中的数据块读写操作,文件内部读写位置指针的定位操作,随机文件处理基础。10.位运算与枚举类型
位运算符和位运算表达式,位运算的简单应用,位段的概念和定义方法以及位段的引用方法,枚举类型的定义和枚举变量的引用以及枚举类型的简单应用。
十六、学时分配
1. C语言数据描述和C程序设计初步
2. 结构化程序设计基础和C语言的控制结构 3. 数组及其应用
4. 函数与C程序结构
5. 指针与函数
6. 指针与数组
7. 字符串及其应用
8. 结构体类型和联合体类型
9. C语言的文件处理及其应用
10.位运算与枚举类型
十七、能承担此课的教师:
4学时 6学时 3学时 6学时 3学时 5学时 4学时 5学时 4学时(选学)
教学大纲制定者:熊壮 教学大纲审定者:
2.教学大纲c程序设计 篇二
1激发学生学习兴趣,树立学好C语言信心
引起学习动机的注意力条件有3个,即:感知的唤起、好奇心的激发、注意力的保持。感知唤起是引起注意力第一步,教师可以通过各种方式刺激学习者的感知系统,引起其好奇心,进而达到引起并保持注意力的效果。在上第一次C语言课时,很多学生对C语言到底是什么、作用如何等问题迷惑不解。我们可以先从大家熟悉的计算机操作系统入手,告诉他们操作系统中有很多用C语言编写的程序,然后通过演示C语言编程环境,看代码、编译、连接、执行一个完整程序来刺激其感知系统,进而激发其好奇心。在讲解完程序执行过程后,演一段由上一级学生编写的游戏程序,学生将会无比惊讶,C语言程序能用来设计游戏而且可转入到手机?在这种好奇心的驱使下,我们告诉学生,学会C语言的时候他们也能编出更多甚至比这更好的程序,接着进一步告诉他们C语言无比强大的功能与作用,使得学生充满对C语言的向往,从而激发其兴趣。
因为高职院校的学生英语、数学基础普遍较差,在激发学生兴趣后,要趁机打消学生英语薄弱的顾虑,告诉他们其实在C语言里用到的英文并不很多,能看懂编译时出现的英文就行,教学过程把常见语句告诉他们中文意思就能解决问题。
2改革课程教学内容
将整个C语言语法知识分解为四个部分。每个部分让学生独立学习与独立参加考试,目的是为了让学生在上一个阶段掌握大部分内容的基础上去学习一个部分,直到全部内容系统地学完,现将课程内容大致分成如下四个部分:
第一部分
1.概述与算法基础知识
2.数据类型、运算符和表达式
第二部分
1.最简单的C程序设计——顺序结构程序设计
2.选择结构程序设计
3.循环结构程序设计
第三部分
1.数组
2.函数
3.结构体和共用体
第四部分
1.预处理命令
2.指针
3.文件
经过这样划分后整个学期教学过程就分成四个阶段进行,可以达到循序渐进的效果。
3以实例为引,讲解语法规则,转变学生学习动机、学以致用
对于职业院校的学生来说,学习语法不是学习C语言程序设计的真正目的,应该在掌握语法的基础上,通过上机实践,真正的让学生学会用C语言来解决各种实际问题,学以致用。教师应在开学初就让学生充分了解学习C语言并不难,然后在以后的教学过程中,要使学生在学习中得到快乐、尝试成功的喜悦,提高学习的积极性和主动性,让《C语言程序设计》真正成为学生喜爱的课程。
教师在教学过程中,不能一味地按书本去讲,而要多举些实际的例子,多与日常应用相结合,用C语言解决实际问题,使学生明白C语言的用处及其强大的功能。例如,在讲授for循环时,可以计算当前班级的所有学生的平均成绩,计算总分时,用for循环计算,最后把总分除以班级人数即可得到班级学生的平均分,这样就可以节省很多工作量,而且保证结果的正确性。在课上可先把一个简单的例子给学生演示一遍,然后告诉学生具体算法设计过程,再让学生上机调试,在调试过程中让学生由统计一门课程到统计一个学生多门成绩。让他们在调试过程发现光用循环语句不能达到目的,于是引导他们学习下阶段中的数组就能解决此问题,由此让学生在解决问题的过程中产生自学的意识。
C语言还是一门实践性相当强的课程。学好C语言,要理论与实践并重。学习中存在的疑点或难点,学生可通过上机调试得到明确解答,同时也加深对学习内容的理解。教师在上课时,给学生举的例子要当场演示,在多媒体教学电脑上编译运行程序,得出正确的结果,加深学生的印象。对学生而言,在每一次的上机前应做好充分准备,编写好上机内容。对上机中出现的问题应能调试分析,编写实验报告,分析程序结果。学生只有反复上机操作,才能对C语言有更深、更全面的认识和理解,才能逐步提高实际操作和学习的能力。
4改革上机操作的实践环节,让学生当学习的主人
程序设计课程是一门实践性很强的课程,包括课堂教学和实验教学两部分。实验教学是课堂教学不可缺少的补充,实验教学质量的好坏影响课程的整体教学效果和质量,只听不练是学不好的,因此必须多编程、多上机调试。只有经过上机调试,编写的程序达到了预期的目的才算基本上掌握了编程知识。因此,要加强实践性教学环节,主要从以下几方面着手。
(1)在教学计划的安排上要增强实践性教学的学时,最好达到理论和实验的学时比例为1:1。
(2)在教学过程中,作为教学主体的教师除了讲述理论外,应尽可能地开设习题课,引导学生思考和给予学生自己分析问题的锻炼机会。
(3)在有限的设备条件下,学校应尽量提供好的实践环境和实践机会,尽可能的开放实验室和部分机房,鼓励学生独立进行工作,培养独立思考的能力和创新精神。
(4)充分发挥网络媒体的作用。以校园网为平台组建班级学习论坛。将课件与相关的视频教程加载到论坛中,以便学生随时都可以学习。开辟学生讨论空间,让学生把自己编写的程序上传至论坛中,让学生互相学习比较,教师定期点评程序质量。
5改革成绩认定方式
引入多角度评定成绩的因素,建立客观全面的考核机制。改变传统的以一张考卷决定学生在本门课程的学习中是合格还是重修的方式。综合考虑学生每个阶段的考核结果的基础上,四个阶段分别占10%,25%,30%,35%。同时鼓励学生以证代考,如获得全国计算机等级考试中的二级C语言证书,或获得省级以上的程序设计大赛三等奖以的学生可以不用参加期末考试等,以此方式鼓励学生。
总之,C语言是一门非常优秀的编程语言,学生也知道在工作过程中非常有用。但由于C语言自身比较复杂和灵活,因而掌握起来有一定难度,但一旦激发了学生的学习兴趣,并在教学过程采取有效的方法与手段,让学生积极参与到实践中来,就能取较好的教学效果。
摘要:C语言功能强大,几乎所有高校都开设了《C语言程序设计》这门课程。本文就C语言的教学方法进行了探讨,并提出了几种可供借鉴的方法。
关键词:C语言,程序设计,教学方法,学习兴趣
参考文献
[1]张建珍.C语言教学方法探究[J].计算机教育,2007,(18).
[2]谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2006.
[3]彭丽.ARCS动机设计教学模式在高校C语言教学中的应用软件导刊.教学技术2007,(11).
3.浅探《C语言程序设计》教学 篇三
关键词:C语言;项目化教学;教学方法
中图分类号:TP312.1-4 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01
《C语言程序设计》作为计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教学方法和学生的理解接受能力的差异,对教学效果都会产生直接的影响。总结多年来的教学经验和教学体会,结合学生在学习程序设计类课程的思维规律和模式,把一些经验和方法总结出来,希望能对C语言教学有所帮助。
一、现行教学和学习中存在的问题
现行教学中理论课与实践课相对分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,而在实践课程中,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。《C语言程序设计》是一个逻辑性很强的课程。学生在面对具体的程序设计时遇到的问题与教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的大多数教材中,结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试也主要是测试学生对于教材内容的掌握程度,而与实际应用相距较大。这种考试实际上主要是测试学生对书本中的基本知识的掌握程度,而忽略了对学生解决实际问题的能力的培养。另一方面为了应付考试,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有程序整体设计的概念。这样做的结果就是学生在学习时一切围绕老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容来解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。
二、提高教学效果的方法和途径
(一)明确课程目标。本课程的目标主要是提高学生解决实际问题的能力,适应社会需求。对C语言程序设计课程的教学而言,强调实践性是在教学中特别重要的问题。老师的教学不应仅仅是传授知识,应该以培养学生的实际应用能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中来不断学习和掌握。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。
(二)进行教学改革。1.教学内容改革。高职学校学生的培养就是要直接面对社会需求,招之即能用。因此,程序设计课程要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生实践能力方面的要求,强化学生的实际开发和应用能力。总结本人多年的教学经验,结合其他老师成功的教学方法,采用项目化教学方法可以达到很好的效果。这个项目应具有以下几个特点:(1)实用性。本项目就是一个具体的实际需求,是解决现实性中一个实际问题而设计,这样也能提高学生的兴趣和热情;(2)完整性。本项目的程序设计是系统的、完整的,要能全面运用整个课程学习的知识,案例的设计贯穿整个课程的学习,随着课程的学习不断完善。
2.改变教学思想和方法。培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,先介绍项目的整个程序设计框架,目的是使学生先对程序有个初步的印象,再结合教材,简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。计算机语言程序设计中算法是其灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,重点讲解程序设计的思想和方法,辅以語言知识的介绍,将课程内容分为若干个主题,以项目程序设计为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成,然后提出项目中的问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。整个课程教学围绕一个工程项目进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C的知识点都溶化到项目的程序编写中。
3.改革课程考核方式。(1)平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%;(2)期末前,要求学生完成本课程项目的整体设计,考核学生综合解决问题的能力,占据期末总成绩30%;(3)期末进行理论考试,占期末总成绩的40%。
(三)展示学生作品,激发学生的学习欲望。计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的学生成果,及时肯定学生的成绩,这样会有利于激发学生的学习热情,保持学生的学习兴趣,对学生的后续学习将产生强大的动力和自信心。
(四)培养学生的自学能力和创造性。学生学习计算机语言的最终目的是编写满足实际需求的程序,所以在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题。通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。
参考文献:
4.C语言程序设计2教学大纲 篇四
【课程编号】 【学 分 数】4
【课程类别】专业必修课
【适用专业】 计算机科学与技术、计算机科学与技术(信息技术教育方向)、软件工程、软件工程(数字媒体方向)
【学 时 数】54(30理论+24实践)【编写人】何宇矗
【编写日期】2014.2.9
一、教学目标
C语言作为一种面向过程的语言,虽然近年来在面向对象编程语言的发展并流行的大趋势下,应用减少了很多,但是通过TOIBE(互联网资深程序员开发语言排行榜)的排名情况来看,C语言仍然牢牢占据前三名的位置,并且经常是第一名,可见C语言在生产实践中仍然占据着举足轻重的作用,许多实际在用的软件项目,尤其是嵌入式项目及与系统底层密切相关的项目仍然是由C语言来开发的。
通过《C语言程序设计1》的学习,学生已经理解了编程的基本概念,掌握了C语言的基本语法(这也是传统的C语言程序设计课程所设定的教学目标)。但是若要利用C语言来构造出具有一定规模的可用的应用程序,解决实际生活、生产中遇到的问题,还具有较大的困难。学生需要具备这方面的能力,不仅仅需要熟练掌握C语言的基本语法知识,还应当具有一定的算法设计能力、基本数据结构应用能力、自顶向下、逐步求精地分析问题与解决问题的能力(即面向过程的思想)、基本的软件工程项目组织能力、团队合作精神以及各种第三方程序库的使用能力,这些能力的培养,是让学生真正从理论走向实践,从书本走向生产所必须具备的。这正是《C语言程序设计2》课程的主要目标。
二、教学内容和学时分配
第一章 指针2 4+4学时
主要内容
1.指针数组及指向指针的指针 2.指针与多维数组 3.指向函数的指针 4.命令行参数 教学要求 1.掌握指针数组及指向指针的指针的使用 2.理解指针与多维数组的关系 3.理解指向函数的指针及其应用 4.熟悉命令行参数的使用
重点、难点:指针数组及指向指针的指针、指向函数的指针 其他教学环节:2学时实验课
第二章 C语言程序的组织结构
2+2学时
主要内容:
1.单个文件的程序结构
2.头文件的作用及多文件的程序结构 3.预处理及条件编译、宏替换 4.简单实例———计算器程序 教学要求:
1.理解C语言程序的结构,掌握头文件的使用,能构造具有多个文件的C程序 2.理解预处理概念,掌握条件编译命令、宏替换 重点、难点:头文件的使用及多文件的程序结构。其它教学环节:2学时实验课。
第三章 结构体、共用体和枚举类型4+2学时
主要内容
1.用typedef定义数据类型 2.结构体类型的意义
3.结构体变量的定义、初始化和数据成员的引用 4.结构体作为函数参数 5.共用体和枚举类型
教学要求
1.理解结构体数据类型的含义 2.掌握结构体类型的定义及使用 3.理解枚举和共用体数据类型
重点、难点:结构体数据类型的定义及使用 其他教学环节:2学时实验课 第四章 指针进阶——链表 2+2学时
主要内容: 1.链表的实现 2.链表的应用 教学要求: 1.掌握链表的实现
2.熟悉链表在程序中的实际应用。重点、难点:链表的构造 其它教学环节:4学时实验课。
第五章 文件操作 2+2学时
主要内容
1.二进制文件和文本文件 2.文件的打开和关闭 3.文件的创建、读写 4.文件的随机访问 教学要求 1.理解文件的概念
2.掌握文件的访问流程及常用读写函数
重点、难点:文件的概念及其读写 其他教学环节:2学时实验课
第六章 常用程序设计方法 4+4学时
主要内容: 1.模拟 2.递推 3.分治和递归 4.贪心算法 教学要求:
理解常用的算法设计思想,并能简答应用。重点、难点:递归的理解,分治与贪心的应用 其它教学环节:2学时实验课。
第七章 面向过程的程序设计方法 2学时
主要内容:
1.自顶向下、逐步求精的程序设计方法; 2.经典的软件工程方法——瀑布模型 教学要求:
1.理解自顶向下、逐步求精的程序设计方法 2.理解软件工程的概念及软件开发的基本流程 重点、难点:自顶向下、逐步求精的程序设计方法 其它教学环节: 无
第八章 综合实例1——图书管理系统 4+4学时
主要内容:
按照软件工程的基本流程,运用自顶向下、逐步求精的设计方法,构造出具有图书添加、存储、查询、借阅、删除等功能的图书馆管理系统,并将其实现。
教学要求:
在实现图书馆管理系统的过程中,体会面向过程的程序设计方法及软件开发的基本流程。
重点、难点:
1.面向过程的设计方法的具体应用 2.数据结构的应用
其它教学环节:2学时实验课。
第九章 综合实例2——五子棋游戏4+4课时
主要内容:
按照软件工程的基本流程,运用自顶向下、逐步求精的设计方法,构造出五子棋游戏,并将其实现。
教学要求:
在实现五子棋游戏的过程中,体会面向过程的程序设计方法及软件开发的基本流程。重点、难点:
1.面向过程的设计方法的具体应用 2.五子棋走棋算法的设计
其他教学环节:4学时实验课
第十章 操作系统接口及第三方程序库 2学时
主要内容
1.C语言标准库中的其他内容
2.操作系统提供的编程接口(POSIX系统调用)3.常见第三方程序库的介绍 4.面向对象程序设计的概念
教学要求
1.了解C语言标准库中的常见功能 2.理解操作系统编程接口的概念及基本使用 3.熟悉常见的第三方程序库 4.理解面向对象编程的概念 重点、难点:POSIX操作系统编程接口、面向对象编程的概念
其他教学环节:无
三、教材与学习资源
[1]郑州师范学院在线判题系统ZZNUOJ(acm.zznusoft.com)[2]《C语言程序设计》,苏小红等编著,高等教育出版社,年份:2011.[3]《C程序设计语言》,Brian W.Kernighan,Dennis M.Ritchie著,徐宝文、李志译,机械工业出版社,年份:2004.[4]《C语言实例解析精粹》曹衍龙、林瑞仲、徐慧编著,人民邮电出版社,年份:2005.四、课程体系及教学策略与方法
C语言程序设计是高等院校计算机专业及相关专业重要的专业基础课,其目的是培养学生的程序设计理念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、算法设计与分析、操作系统、编译原理和软件工程等)打下坚实的基础。
C语言程序设计是一门实践性很强的课程,对于把目标定位在提高实践应用能力的郑州师范学院计算机科学系来说,更应该从一开始就狠下功夫,尽可能早地让学生对程序设计产生浓厚的兴趣。
与《C语言程序设计1》课程的教学主要采用OJ平台来作为练习来源不同,本课程前六章仍然主要利用OJ平台来完成练习,后四章则采取小组合作、项目驱动的方式来组织教学实验,这样的方式更加注重学生程序设计思维的培养以及团队合作精神的培养。这样的方式除了能够提高学生的学习兴趣及动手能力之外,更能够培养其严密的逻辑思考能力、自主解决问题能力以及提高其团队合作意识。
五、考核方式
5.《C 程序设计》教学大纲第二版 篇五
一、本课程的地位、作用和任务
程序设计课程是大学生的基础课,也是第一门计算机课程(计算机文化基础已是中学教学大纲的要求),包括面向对象程序设计及最基本的数据结构和软件工程的知识。其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力。这里选用C++语言为教学语言。
二、学时安排
本教程授课时数56学时,上机实验56学时(含课外上机),分为两个学期完成(这样教学效果明显优于一个学期完成)。鉴于学时有限,要求精讲多练。另有小型软件设计的实践环节(课程设计,短学期),16学时加上机实验32学时(含课外上机)。
三、教学基本内容 理论教学部分
整个教学过程应围绕面向对象C++程序设计的关键技术精讲多练:要求学生熟练应用多态(重载和超载),熟练应用模板,熟练应用派生,熟练应用聚合。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。
正确处理编程细节与大局观:在第一学期的教学中对算法的描述,侧重于采用C++语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数” 的教学中要严格贯彻这一要求。教师在课堂教学时应多做控制台应用程序设计全过程演示。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造,使学生的编程能力上一个台阶。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
1.C++基础知识(4学时)
1)初识C++程序;
2)了解类型潜在的面向对象的特性——值集与操作集的封装
3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级; 4)理解类型的相容性与不相容性; 5)标准输入输出简介。
2.基本控制结构程序设计(8学时)
1)了解算法的描述与程序设计三种基本结构;
2)掌握选择结构程序设计:if 语句,switch语句;
《面向对象C++程序设计》教学大纲 2 3)掌握循环结构程序设计: while语句,for语句,do„while语句; 4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法,递归法(在函数部分);
5)应用结构化技术分解程序,设计、实现、测试和查错简单程序; 6)熟悉输入输出文本文件简单应用。
3.函数(6学时)
1)理解函数抽象机制:函数定义与函数的调用; 2)理解参数化机制(值调用),了解参数的传递过程; 3)了解函数的返回值及函数原型说明;
4)理解全局变量,局部变量,变量的存储类型与作用域,生命期与可见性;
5)掌握函数的递归调用,编写、测试、调试简单的递归函数; 6)了解函数重载,默认变元,内联函数;
4.类与对象(上)(4学时)
1)了解传统的结构化程序设计和面向对象程序设计的基本概念; 2)理解面向对象程序设计和封装、抽象的合理性;
3)掌握类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排,掌握类机制如何支持封装和信息隐藏;
4)理解构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;
5)掌握引用技术,理解值调用和引用调用在参数传递中的不同;
以上第一学期学习内容,共24学时,其中留有2学时机动。
(下)(3学时)
6)掌握函数重载技术与运算符重载技术 7)了解友元,静态数据成员;
5.数组与指针(4学时)
1)掌握数组与多维数组;
2)掌握指针与地址、指针与数组的对应关系,数组名,指针运算; 3)熟悉标准C++字符串与了解C风格字符串。4)了解向函数传递数组或指针的方法;
6.模板与数据结构(5学时)
1)熟悉函数模板与类模版;
2)线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;
3)掌握主要查找与排序的算法;
5)模板与类参数,理解类型参数和参数化类型(模板)。
7.动态内存分配与数据结构(6学时)
《面向对象C++程序设计》教学大纲 3 1)了解动态数据结构和静态数据结构实现的差异;
2)熟悉自由存储区内存分配、自由存储区与复制构造函数、深复制与浅复制;
3)掌握链表在内存中的分配,掌握链表的基本操作与使用,; 4)了解栈与队列及其基本操作;
8.类的继承与派生(6学时)
1)了解继承的概念,了解面向对象设计中继承和多态的合理性; 2)熟悉派生类的构造与析构;
4)掌握在对象中使用类层次和继承思想进行设计、实现和测试的方法; 5)区别运行时的多态性的实现,理解重载与同名覆盖的差异; 6)掌握虚函数与多态性。
7)熟悉实现运行时多态性的程序设计;
9.输入/输出流类库(4学时)
1)了解C++的基本流类体系; 2)掌握提取与插入运算符的重载
3)熟悉文件的输入/输出:文件的打开与关闭,文本文件与二进制文件。4)掌握在构造函数中通过文件建立对象,在析构函数中由文件保存对象的技术。
10.异常处理(2学时)
1)了解异常处理机制: try块,异常抛出throw,异常捕获catch; 2)理解栈展开与异常捕获的过程; 3)了解异常和继承;
4)会编写能响应执行中异常情况的代码。
以上第二学期教学内容,共32学时,留有2学时机动。
同步实验部分
以Visual C++ 6.0 集成开发环境下的控制台应用程序为背景,共26个(实际29个,3个选做)实验。对应精讲多练,实验安排比较丰富。实验一
Visual C++集成开发环境(IDE)入门 实验二
简单的C++程序设计 实验三
分支结构程序设计 实验四
循环结构程序设计
实验五
常用算法:枚举法 递推法 迭代法 实验六 文本文件简单应用 实验七 函数的基本概念 实验八 函数的递归算法
实验九 函数的重载和变量的作用域 实验十 类与对象的基本概念 实验十一
引用与复制构造函数 实验十二 运算符重载
《面向对象C++程序设计》教学大纲 4 实验十三 数组与多维数组 实验十四 指针与数组 实验十五 模板与线性表 实验十六 排序与查找 实验十七 模板与类参数
实验十八 动态内存分配与深复制 实验十九 链表及应用
实验二十 栈与队列的操作
实验二十一 继承与派生基本概念 实验二十二 虚函数与多态 实验二十三 纯虚函数
实验二十四 输入输出与重载 实验二十五 文件 实验二十六
异常处理
课程设计部分
要求采用事件驱动编程方法完成。课堂教学——Windows程序设计基础
1)API函数与传统的Windows编程; 2)MFC编程;
3)Windows对象和对象句柄; 4)MFC对象;
5)MFC的消息映射与命令传递; 6)文档/视图结构和序列化。
7)MFC编程操作,可安排学生提前自学为主,教师进行重点内容讲解和演示。要求内容简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册;使学生对MFC编程的关键步骤一目了然。
8)介绍研究型学习和管理及多媒体软件编制方法。9)实验
对话框与控件 4学时 文档-视图结构及图形与文本输出 4学时 序列化和文件操作 4学时 多文档与多重视图 4学时
课程设计
采用研究型学习方法,由学生分组在辅导教师(研究生)指导下自选题目,调研并自定内容,强调参与开发的全过程。
上机
16学时
四、说明——课程体系特点与教学:
第一,建立新的面向对象的C++教学体系。
强调类对象个性实现的关键技术——多态,包括重载(编译时的多态,《面向对象C++程序设计》教学大纲 5 包括函数与运算符重载)、层次结构中的同名覆盖与超载(运行时的多态)。在教学中尽早引入这些技术。引入的越早应用的机会越多。普遍使用这些技术是面向对象的C++的标志。
提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存)的动态分配与释放,形成一个完备的子系统。在一个有层次结构的类体系中资源的动态分配与释放应该封装在成员对象中,如使用标准的string字符串类那样。
突出模板相关内容的教学。不是将模板作为一种语法现象,而是作为一个有力的工具用于本教材所涉及的全部数据结构基本知识。
介绍怎样在面向对象的程序设计中使用异常处理技术来处理一些很难查找甚至是无法避免的运行时错误和异常。
总之,不是泛泛介绍面向对象的C++的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这是面向对象的C++程序设计的精髓。
第二,强调算法,注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。
第三,培养面向对象程序设计能力。掌握怎样从客观事物中抽象出类来的方法。基础教学与实践教学相结合。在基础教学中采用Windows平台下的控制台方式(命令行方式)以突出编程能力的培养。在实践部分比较全面地学习标准的Windows图形界面编程。采用研究型学习进行课程设计。
该教学体系培养的学生所编的程序给人的第一影响应该是:这是规范的面向对象的程序。
对于需要计算机知识较多的专业,程序设计课程应考虑后续课程的需要。尤其是电气电子信息类专业的学生的后续课程中需要大量的面向过程的程序设计的基础知识,包括汇编语言的编程,单片机、嵌入式系统和DSP的C语言编程。面向对象的程序设计其实与面向过程的程序设计是密不可分的。在本课程中,算法的描述实际上是面向过程的,而面向对象是一种包装,它使程序的整体组织更合理,使用起来更方便。教学中应该合理地将两个方面有机地结合起来,即细节上算法的编程和程序总体上的把握并重。
在第一学期的教学中对算法的描述,必须侧重于采用C++语言编程的细节的讲解,即培养学生对算法的编程能力。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数”这两章的教学中要严格贯彻这一要求。“类与对象”(上)是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强,使学生的编程能力上一个台阶。
6.教学设计C 篇六
Unit4 Where is my car
学习内容
C Story time 和情景导入部分。学习目标
让学生在练习中得以掌握Where is … 句型,位置短语运用。练习怎样找东西。
1、怎样找东西
2怎样捉迷藏。学习过程 一学案导案
(一)热身/复习(Warm-up/Revision)(2’)(1)日常口语练习。
(2)教师播放第一册Unit 4 B Let’s chant 的录音带。
自主学习
自读课文,把不会的单词或不理解的句型圈出来,小组讨论解决。学习Story time部分的内容.(一人领读、一人翻译。)听录音,跟读课文。
学生模仿Let’s talk部分表演对话。
(二)呈现新课(Presentation)(20’)(1)生词hide and seek, ready ,table,bed,find,behind.读生词,学生已开火车的形式读单词。
学习课文Story time的内容,一人一句读课文翻译课文,有不会的错误的地方要纠错
说完以后学生复述课文内容。看动画一边看课文。2同样的方式学习情境导入的部分.小组交流
小组分角色表演课文。
班级展示,其他组要认真听。有错纠正错误。一人蒙住眼睛,并且问,一人答,直到东西猜到为止。
课堂总结
谈谈你的学习感受
(六)小结(Sum-up)(1’)通过本课学习,你有哪些收获? 测评反馈
7.C语言程序设计课程教学探讨 篇七
认知心理学认为, 当人们在接触一个完全不熟悉的知识领域时, 从已知的、较一般的整体中分化细节, 要比从已知的细节中概括整体容易一些。C语言程序设计课程旨在使学生掌握C语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法, 使学生认识到算法、良好的程序设计风格以及实践在本课程学习中的重要性, 培养学生熟练使用C语言编程分析和解决实际问题的能力。该课程为学生进一步学习其它专业课程和今后从事软件开发工作打下坚实的基础。但C语言涉及的概念多, 语法规则广, 使用灵活, 初学者很难理清头绪, 为此在教学中笔者采用思维导图法帮助学生在头脑中首先建立本课程的知识构架, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。
1 C语言程序设计的教学方法
1.1 帮助学生建立认知结构
从C语言程序基本结构形式入手, 根据课程教学内容的组织安排, 勾勒出整个课程的知识体系结构, 如图1所示。
以后在每一章讲解时, 先给出这张总体构架图, 再给出本章的知识导图, 如“函数”一章的知识导图如图2 所示。这样, 学生“既见了森林, 也见了树木”, 能清晰了解所学知识的地位与作用。
1.2 目标引导学生学习
有意义的学习条件之一是学习者必须具有有意义学习的心向, 即学习者积极主动地把符号所代表的新知识与他的认知结构中原有的适当观念加以联系。建构主义学习理论认为学习心向是学生当前所处的情境引起的, 而不是学生自发完成的。教师是教学过程的组织者, 是学生建构知识的帮助者和引导者, 因此教师要通过创设符合教学内容要求的情景和提示新旧知识之间联系的线索, 帮助学生建构当前所学知识的意义。
如对数组概念的讲解与使用时, 先给出应用实例:求班上30个同学 C语言课程的平均分, 最高分和最低分。再提出问题:30个数据如何输入与存放?心理学认为, “疑”最易引起定向探究反射, 有了这种反射, 思维也就应运而生了。引导学生考察数据的特性, 说明这30个数据所具有的共性, 引入数组概念, 说明数组是描述一组具有相同数据属性的组合, 组合中的每个数据 (或者数组元素) 用数组名及带下标的标识符来区分, 如A[I]。用建立的数组概念来实现数据的成批输入、成批累加、判断处理。
学生有的放矢, 能集中注意力, 开动脑筋积极思考, 提高了学生的学习兴趣和积极性。
1.3 以算法分析为重点
认知心理学认为具有高度概括性、包容性和强有力解释效应的基本原理、概念和方法有利于新的学习, 有利于创造性地解决新问题。算法是程序的核心与灵魂, 语法是外壳和工具。培养学生程序设计能力必须注重算法分析、算法设计。算法的分析能帮助学生开拓思路, 总结逻辑规律。
2 C语言程序设计的教学模式
为了提高学生的编程能力, 在教学中采用工程设计与课堂教学并行的教学模式。
工程设计内容:简单的学生成绩管理系统。
该题目涉及: (1) 文件的操作, 为方便系统管理, 必须掌握文件的建立、打开、读、写等操作; (2) 系统的组织包含数据的输入、数据修改、数据查询、数据统计、数据输出等功能, 必须掌握函数的调用; (3) 数据内容的组织涉及数组、结构体、链表, 必须掌握数组、结构体、链表的数据对象操作; (4) 功能的实现必须设计算法控制流程, 掌握不同的流程图表示方法; (5) 功能算法思想的实现必须根据算法描述进行符号化语句表示; (6) 调试源代码。
学生编程能力的形成分为4个阶段:数组前的知识归纳为编程能力的第一阶段, 学生应掌握基本的结构语句;函数、指针知识归纳为编程能力的第二阶段, 其内容是编程能力培养的重点、难点, 目的是使学生掌握编程的模块化思想及通过指针实现多种结构类型的引用、内存的动态分配等;结构体、文件归纳为编程能力的第三阶段, 目的是使学生掌握复杂结构类型数据的组织与处理, 数据与文件的关系及文件数据的处理;第四阶段是综合编程能力的提高、算法的实现、系统调试能力的培养。
根据教学的进展将工程项目涉及到的知识分成若干个子任务, 在不同的阶段安排不同的子任务, 这样工程项目任务就贯穿于整个教学过程中。随着教学进程的不断推进, 学生逐步完成了整个项目的设计, 循序渐进地提高了编程能力。通过这个过程, 学生不仅系统地掌握了知识, 并且能系统地、综合地运用知识, 大大提高了学生工程设计的能力。
3 结语
“教无定法”是教学的特色之一, 对C语言程序设计课程的教学方法和教学模式进行有益探索, 可以大大提高教师教学水平, 提高教学质量, 改善教学效果。
摘要:将认知结构论用于C语言程序设计课程教学中, 帮助学生建立层次分明的全课程认知结构, 以目标激发学生学习心向, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。
关键词:C语言程序设计,教学方法,教学模式,探讨
参考文献
[1]谭浩强.C语言程序设计[M].2版.北京:清华大学出版社, 2006.
[2]祁小梅.奥苏贝尔认知结构与迁移理论及教学[J].黑龙江高教研究, 2004 (4) :99-100.
[3]邱建林, 刘维富.C语言程序设计教学的研究与实践[J].电气电子教学学报, 2003, 25 (4) :96-98.
8.C语言程序设计教学方法探讨 篇八
关键词:C语言;程序设计;教学方法
1.前言
C语言是目前最流行的、功能强大的、面向对象的编程语言,在教学过程中发现,学生经常会出现听得懂、编不出程序的现象,影响学生的在专业方面的需求。笔者结合多年教学经验,认为在教学过程中要将学生分为三个不同的阶段,具体为引导入门、基础充实和实践提高三个阶段,分阶段采用不同的教学方法与手段,提高教学效果。
2.引导入门阶段
学生刚开始学习《C语言程序设计》,感觉内容抽象,学习枯燥,失去学习兴趣,因而没有学习动力。入门阶段关键在于激发学生学习C语言程序设计的兴趣,引导学生入门。有些老师恨不得学生一下子掌握自己所有的知识,不知老师的知识是多年积累下来的,学生很难一下子接受,更不用说掌握了。教师对所教内容需精心选择,以简单有趣为主,关键是能够激发学生学习兴趣。可通过多媒体课件,用一些趣味性的程序或者小游戏来调动学生的积极性,提高他们学习编程的兴趣。学生具有差异性,为了让所有学生都能产生浓厚的学习兴趣,适宜采用分层教学法。入门阶段也需注重理论联系实际,但不必要求学生编程,可考虑让学生编辑或修改程序,可以通过给出源代码的、简单的并有详细输入、输出结果的程序,让学生进行编辑并调试,利用输出结果让学生收获成功的喜悦,以轻松愉快的心态学习程序设计。在此基础上,以循序渐进的方式,逐步引导,进行一些简单的修改,让程序得到不同的结果,并解释原因,然后提出新的问题,让学生思考如何修改程序以解决新的问题,培养学生的创造性。
3.基础充实阶段
兴趣是最好的老师,学生经过入门阶段的学习产生了兴趣,就可以进入基础充实阶段了。这一阶段主要是打基础,主要是一些基本概念的讲解和语法的学习,为提高教学质量,也要求老师能够根据不同的概念灵活采用教法,常用的教学方法有类比法、对比法、归纳法和实例教学等方法。
3.1教学方法
相对抽象的概念教学时可选用类比法,例如《数据及其类型》章节中类型的概念,可以采用类比法来进行教学,把C语言中所涉及的数据类型和生活中重量单位做类比,加深概念的认识;可以采用对比法传授《顺序、分支、循环》三种程序设计,通过对比,分清三种程序设计的异同,从根本上掌握三种程序设计。按顺序执行是顺序结构程序设计的特点;分支结构程序设计的特点是需要根据条件而执行不同的操作;而循环结构程序设计中存在重复执行的某种操作。在基础阶段,选取的例题要具有代表性,针对不同的知识点选择典型例题,重点是要学生通过典型例题的掌握,理解程序思想,教师可采用归纳教学法,帮助学生归纳出某一类型程序的程序设计。《指针》是C语言的精华,主要采用实例教学法,参照生活中具体的事例将理论实例化,指针就是地址,学会如何描述地址也就掌握了指针的主要应用(以一维数组和指针为例来进行说明)。一维数组中各元素的地址利用指针法描述,讲解时可以类比第一层教学楼的教室,例如a[O]所在的地址为东1 101,则a[1]所在的地址为东1102,可以假想P为一个人,处于东1101的位置,移动到东1 102即往下走了一个教室,即下一个元素的地址值为P+I。再运用类比的教学方法讲解二维数组和指针,应用类比法可以推广到更加一般的情形。
3.2教学手段
3.2.1科学安排内容,灵活运用多媒体课件
不必所有的内容都讲到,更不必所有内容详细讲,要科学安排内容,可以安排学生在老师的指点下自学简单的内容;如函数、指针等重点内容需要借助多媒体课件详细讲解,最好能够应用一些具有代表性的实例,让学生在理解的基础上掌握概念与思想。
3.2.2成立兴趣小组,培养学生的合作能力。
对一些学习能力较好的同学,以四到五人为单位,按照自愿的原则组织起来成立兴趣小组,通过小组内同学之间互相帮助,培养学生的团队合作精神;通过小组之间相互竞争,锻炼学生的竞争意识。还可以指导兴趣小组参与实际项目的开发,或者组织兴趣小組成员参加一些软件开发竞赛,进一步提高学生的实际动手能力。
3.2.3构建网络平台,加强学生学习的能力。
如今计算机网络已经走进校园,构建网络教学资源平台,构建一个学生可以在任何时候、反复进行互动学习的平台,提供一个师生互动的教学环境。分章节将知识重点、难点放在网站上,让学生通过网络自行解决实践课上那些出现的错误。学生利用网络把每次实践课上程序编写和调试中所犯的错误进行交流、总结,加强学生学习的能力。
4.实践提高阶段
实践提高阶段,采用最适合计算机软件应用课的教学方法项目教学法。通过实施一个完整的项目工作而进行的教学活动,采取小组讨论、协作学习的方式,学生学习的过程就是一个探究的过程。在C语言程序设计课程中应用这种方法的目的在于培养学生综合运用所学知识解决实际问题的能力。它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案、解决问题。改变过去单纯讲理论的现状,运用项目引导的方法,学生在分组解决项目的过程中学会语法的使用,逐步过渡到独立的编写简单小程序,通过项目训练多模块程序的编写,最终实现开发一定规模的大型程序。
5.结束语
9.《c语言课程设计》教学大纲 篇九
《C语言程序设计》课程设计教学大纲
课程名称:《C语言程序设计》课程设计 英文名称:The C Programming on Course 课程编号: 课程类型:必修 学时:2周
适用对象:软件工程 本科生 先修课程:C语言程序设计
一、课程设计的性质、目的和任务
本课程设计是《C语言程序设计》课程的实践环节,也是计算机科学与技术专业学生第一次较全面的程序设计能力训练。
在《C语言程序设计》课程的理论教学和基础实验基础上,通过开发规模较大的程序,使学生掌握应用计算机解决实际问题的基本方法;熟悉C语言程序开发的全过程,包括从分析问题开始,建立数据模型,划分功能模块,设计算法,编码,调试和测试程序,撰写文档等;提高综合应用C语言的能力,强化编程和调试能力。通过理论教学、基础实验、课程设计等理论和实践紧密结合的教学,为学生今后学习软件专业课程创建较扎实的理论和实践基础。
二、基本要求:
课程设计的进行方式是在教师指导下由学生独立完成的。每个学生都应该明确设计任务和要求,并根据项目规模大小,拟定设计计划。注意掌握进度,按时完成。设计分段进行,每一阶段的设计都要认真检查。
所使用编程语言只限于C语言。
设计过程中要独立思考、深入钻研,主动地、创造性地进行设计,反对照抄照搬或依赖教师。要求设计态度严肃认真,有错必改,反对敷衍塞责,容忍错误存在。为保证课程设计达到教学基本要求,在设计思想、设计方法和设计技能等方面的训练,包括以下内容:
1、根据设计题目要求的指标,通过查阅有关资料分析其工作原理并划分功能模块;
2、画出程序流程图,完成程序各部分的内容分析;
3、计算各模块的参数设计,和模块内部操作,和模块返出的结果;
4、验证模块功能的完整性;
5、对模块功能进行设计;
6、对模块功能进行调试;
7、组合功能模块并完成设计要求。
三、课程设计题目
课程设计时,每4-8人组成一个开发团队,选出项目负责人一名。每个团队从以下题目中选择一个作为课程设计的题目。 词法分析器 桌面计算器 汉字的显示
郑州大学信息工程学院
文本编辑器 校友通讯录 线条图型体表演 高中物理力学实验
表情展示(结合表情单词理解) 音乐展示(播放) 游戏设计 对话框模拟 菜单模拟 桌面钟表设计 桌面日历设计
其他自选题目(注意:所选题目不宜太大,应于本学期第二周的周五前完成)
四、考核方式
课程设计分为四个阶段组成:分析和设计、编程和调试程序、撰写报告、答辩。
1)分析、设计数据结构:学生首先选定题目、收集资料,对系统进行功能模块分析、控制模块分析正确,系统设计要实用,然后确定模块,写出函数原形。
2)编程与调试程序:根据函数原形及其功能,填充相应的算法。编程简练,可用性强,功能全面。上机调试程序,解决编译等错误,直至运行成功。
3)提交课程设计总结报告:按格式写出完整、规范的报告并打印。其中模块图、流程图要清楚、规范,不能有错别字。
4)答辩:程序测试通过、课程设计总结报告完成后,项目负责人通知指导教师检查,并参加课程设计答辩。
课程设计成绩组成:课程设计报告(60%)+ 作品演示与答辩(40%)。
五、提交资料
《C语言程序设计》课程设计报告。
注:课程设计报告中,应注明小组分工及完成情况。
对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。
《高级语言程序设计报告》于本学期第二周的周五前提交。参考教材
[1] C程序设计.潭浩强 编著.清华大学出版社.[2] 程序设计与C语言.王瑞民 卢红星 主编.西北工业大学出版社.2009年
10.C程序设计课程教学实施方法探讨 篇十
【摘要】鉴于C语言的重要性,当前高职院校都把C语言程序设计作为入门程序设计课程来对待。本人在学习深化和教学实践中发现,C语言牵涉到的概念复杂,规则繁多,使用随意,容易出错,从而令不少初学者感到束手无策。为了达到更好的课程教学实施效果,本文结合教学实践过程在教师施教和学生学习二个方面对课程教学实施方法作了一些探讨。
【关键词】主动探究算法设计编程实践融会贯通
【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2016)04-0256-01
C语言是一种面向过程的的计算机程序设计语言,它是众多计算机语言中举世公认的优秀结构化程序设计语言之一,更是计算机应用人员应该熟悉和掌握的一种程序设计工具。同时C语言以其功能齐全、表达能力丰富、使用灵活方便、目标程序效率高、可移植性好以及双重性等众多优点而备受编程者的青睐。本人在教学实践探索中,就帮助学生学习、提高教学效果方面作了一些归纳和总结。
一、按教学实践需要调整教材章节,组织教学内容
教师首先要准备充分,设计出一条全局的循序渐进的有利于教学实施效果的主线,有清晰的认知深化的脉络,可适当调整教材教学章节施教顺序。比如C语言源程序的基本构成是函数,整个程序就是一个main主函数,其中又可包含多个功能子函数,这样可以把函数的知识在合适的节点上提前施教,让学生尽早有模块化设计的意识和习惯。
二、引导学生化被动学习为主动探究
教师要有的放矢开启课程概述,让学生心里认同学习C语言的重要性,这样才有学习的动力,这一点直接影响教学实施的成效。在这个科技飞速发展的时代,迫切需要有创新意识的新型人才。作为新时代的大学生,应当站在时代发展的前列,掌握现代科学知识,调整自己的知识和能力结构,尤其是掌握计算机的基本技能和语言,能够独立解决面临的任务,才能适应社会发展的要求。
三、帮助学生掌握C语言学习技巧,提高学习效果
1.学会设计算法
做一件事情完成一项任务,都有一套思路按一系列的步骤去实施。程序设计主要包含两重任务:设计算法和实现算法(编程),计算机的算法是对用计算机解决一个实际问题的方法和步骤的描述,所以编写一个完整的C程序,同样需要有一个完善的算法。算法是程序的灵魂,算法的好坏直接决定着整个程序的运行时间和运行结果的精确度。一个优质的算法对于提高程序执行的效率起着事半功倍的效果。算法并非全都是数值运算的,也有非数值运算算法,像档案管理、资料检索等都可以采用设计算法和编写C语言源程序来实现。学生学会了设计算法,也就解决了“做什么”和“怎么做”的问题。倘若不会设计算法,就根本谈不上程序设计。
2.了解C语言的主要特点
C语言适用范围广,适合于多种操作系统;也适用于多种机型。C语言功能齐全,具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。C语言是一种函数语言,C程序由一个或多个函数组成,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。C语言也具有强大的图形功能,而且计算功能、逻辑判断功能也比较强大。
3.强化牢记基本规则
C语言源程序基本规则主要包括以下三点:
(1)C语言源程序是由函数构成的,每一个源程序必须包含main函数。C语言没有特定的标准输入输出语句,要实现输入输出操作,需要调用输入输出库函数和头文件。
(2)C语言书写格式自由,一行可以写多个语句,一个语句也可以写在多行。但切记每个语句都是以分号为结束标记的。
(3)具有良好可读性的C程序,一般都会加以注释。
除此之外,还要牢记C语言的一些运算规则。
4.使人脑具有模拟电脑运行的初步能力
开始学习C语言时,不必在每一个细节上深究,应该把主要精力放在最基本、最常用的内容上。有时我们不必知道其“为什么”,只需知道“怎么做”即可。
要学好C语言先要逐步掌握分析程序的方法,按照C语言的基本规则去通读程序并对程序进行认真分析、深入思考,在此过程中先达到一定的语感,以后再回头深入一些需要通过较长期的实践才能熟练掌握的常用细节,解决“为什么”的疑问。
5.敢于编写程序并上机调试运行
实践出真知,掌握了C语言的一些基本规律,设计出了程序的算法,具备了C语言一定的语感之后,就应该自己动手编写程序。激励学生将所联想到的、具有趣味性的问题,尽可能地用算法表示出来,用 C语言编码出源程序,以增加学习的乐趣,推动自我学习的积极性。
最初编程时,建议学生先不要享用自由,一定要养成规范的好习惯。这样做是为了增强程序的可读性,这样进入上机调试环节,一旦程序运行出错,也方便查找定位出错部分。
上机调试程序,并非仅仅是为了得到或验证结果,还应当通过运行效果来进一步分析程序,使程序达到最高效最简洁。上机调试程序可帮助学生更好地理解程序,改正自己的误解或疏忽大意,从而掌握编程的一些技巧。
四、鼓励学生深化学习后续课程,巩固并融通编程技术
C语言程序设计是作为学生入门级的程序设计课程来安排教学的,为满足各类应用需要,计算机领域还有多种流行程序设计语言需要学习和使用,但方法和技术是相互融会贯通的。
总之,C程序设计语言是一门表达能力极强的结构化语言,不仅适合于应用领域的程序设计,而且是开发系统软件的绝好工具语言。在教学中,应该组织引导学生由浅入深地学习,逐步掌握这个程序设计工具,为提高学生的逻辑思维能力和计算机编程水平打下坚实的基础。
参考文献:
11.教学大纲c程序设计 篇十一
关键词:教学模式;任务驱动;c语言程序设计;教学实践
0引言
《C语言程序设计》作为计算机程序设计的基础,是理工类本科学生的一门必修课,尤其是C语言对计算机硬件具有很好的编程能力,使其在工科教学中的生命力越来越强。我们学院在C语言的教学上基本上还是采取传统的教学模式:按照C语言教材自身的内容上课、上机,采取笔试形式考试。这样的教学模式使得学生过分注重C的语法、语句等规则,而忽视了对编程思路的培养,学生独立分析问题和解决问题的能力没有很大的提高,给学生参加全国等级考试以至后续课程的学习留下了隐患。下面就作者在C语言教学过程中的经验谈谈想法。
1传统教学模式
传统教学模式是以教师作为课堂的中心,以广大学生为讲授对象,以课本作为讲授的主线。虽然现在教学环境大都采用多媒体大屏幕,操作方便,易于控制教学内容和节奏,能在规定课时内呈现较多信息量;但是学生往往处于被动学习状态,教学内容难以适应学生的个体差异,所有学生被迫按照老师的讲授速度进行学习,不利于培养思维能力与创造能力。
上机实践课上通常老师会事先布置几道编程题,但是学生上机目标不是很明确,问的问题多数是属于同一类问题。老师不停地在机房各处一一解答,既浪费时间,也没取到很好的效果。学生在机房没有紧迫感,甚至有些学生觉得无事可做,就会打游戏等。这种上机方式不利于培养学生的动手能力和自我解决问题的能力。
学生学不好C语言主要是因为C语言教学的重点不是放在如何解决问题上,而是把大部分的时间放在讲解语法规则和语句格式上,其后果就是学生一拿到任务后首先琢磨如何定义变量,用什么语句,而不是对问题进行合理的分析,考虑最佳算法,这样当然觉得很难而且也设计不出好的程序。学生参加全国等级考试的通过率很低也就不足为怪了。
2“任务驱动式”教学模式
采用“任务驱动式”的教学方法,知识及技能的传授以完成典型“任务”为主,有利于提高学生利用计算机进行自主学习与解决问题的能力。
2.1教学内容的改革
我们把通过全国计算机二级考试作为学习c语言的目标,针对等级考试大纲来确定教学计划以及教学内容。为此,我们从第一堂课起就强调并要求学生通过全国二级考试,既让学生明确短期学习目标,又放眼长远的努力方向,以激发学生进行自主学习的主动性。我们将教学内容分离为几个相对独立的模块,即结构模块、数组模块、指针模块、函数模块和文件模块。模块的内容要循序渐进,把握好由易到难,由简单到复杂的教学过程,否则容易使学生一开始就产生一种畏惧情绪,失去学习兴趣。然后,力求概念准确,分散难点。各模块的教学目标要十分明确,教学量适中,让学生很容易把握住教学要点,理解和掌握教学内容。
2.2设计好实验任务
实验任务的设计包括任务的提出与分解、最终达到的目标、解决问题的方法等。目的性要强,任务要明确,这样才能很好地缓解计算机基础课程实验教学中学生无事可做,玩游戏、上网聊天等现象。要培养学生限时编程的良好习惯,要求学生在规定的时间内编写和调试好给定的程序。通过这些基本功的训练,学生在具备了扎实的计算机程序设计能力后,就较容易通过全国计算机二级考试。
在程序设计语言教学中,算法是程序设计的灵魂,学生编写不出程序的首要原因是设计不出—个合适的算法。因此,在教学中应对常用的算法结合典型实例进行详细地讲解,强调算法的步骤,让学生对算法有比较深刻地了解,并鼓励学生从不同角度去思考问题,对于同一个问题的解决用多种方法来实现。这样有助于拓展学生的思维,增加学生对学习C语言的兴趣。
例如:计算n!
我们可以采用递归法:
2.3学习成绩评价方式的改革
采用“笔试+上机考试”的评价方法可以提前让学生体验全国等级考试的过程。同时,两种形式考试都通过才算这门课程通过,也能促使学生在学习c语言的基本知识之外加强编程实践,让学生学到c语言的语法规则的同时也掌握了程序设计的方法。
3结束语
12.浅谈“C程序设计”实验教学 篇十二
“C程序设计”是一门非常重要的计算机基础课程[1]。近十几年来, C语言一直是较热门的世界编程语言之一, 它的表达能力强, 语法功能丰富, 使得大多数高职院校、本科院校都把它作为第一门计算机课程进行讲授。
光靠听课和看书是学不会程序设计的, 学好C程序设计既要掌握概念, 又必须动手编程, 还要亲自上机调试运行。[2]对于初学者来说, 实验课是学好C程序设计的重要一环, 实验教学的成败直接影响学生对C程序设计掌握的好坏。
黄河科技学院计算机科学系开设C程序设计的主要目的是通过对C的基本语法概念、解题思路、基本算法等的学习, 使得学生具备基本的构造算法能力、动手编程能力和自主学习能力, 为后续的数据结构、高级编程语言等课程的学习打下一个坚实的基础。如何培养上述这些能力, 是我们在设计实验教学时需要解决的核心问题[3]。
二、教学中存在的问题
由于C语言是学生首次接触到程序设计, 而且理论课堂上教授的目的是突出基本语法知识点, 例题侧重于说明问题, 而无法对大而全的程序进行讲授, 但是实验教学中, 教师可以充分利用2 个课时, 来注重分析设计以及知识综合应用能力的培养, 目前的教学中主要存在以下几个方面的问题[4,5,6]:
2.1 实验内容单一
之前的C程序设计实验教学内容基本上是以验证C的基本语法知识为主。实验教学内容围绕验证课堂讲授知识点设置, 不如输入输出实验、分支程序实验等, 以单一的基础型、知识型、验证型实验为主, 并且更新慢, 而综合型、设计型的实验较少。
2.2 调试能力差
教材及课堂教学通常注重基本语法规则的讲授, 对程序可能错误的情况 (当然可能的情况很多, 也没法讲完) 以及解决方法涉及的较少, 各种实验平台的Debug调试工具使用方法未做介绍或一带而过, 导致学生不知道有Debug或者不会使用De-bug工具, 当面临复杂问题的逻辑错误或运行错误时, 往往手足无措, 不知道如何解决。
2.3 依赖性大
由于C语言概念复杂, 规矩繁多。实验课上一个小的标点符号的错误就会导致程序运行失败, 很容易使人产生难学, 学不会的情绪。导致学习兴趣下降, 甚至产生厌学情绪, 一些学生在上机过程中遇到问题后, 立刻举手找老师解决, 缺乏主动学习能力。
2.4 未能实现差异化教学
对于大一新生来说, 刚刚进入大学阶段的学习, 一切还都是那么的新鲜而又陌生, 在学习环境和学习方法上都需要有个适应转变的过程。另一方面, 一个班级的学生中基础知识和能力方面也存在较大的差异, 部分学生可能在高中阶段因为参加信息技术竞赛而对编程有了相当的基础, 还有些学生可能都没有除了上网以外, 对编程基本没有概念。在教学中往往只照顾大多数即中等程度学生的接受能力, 而这使得基础薄弱和扎实的学生在实验课上都会出现“吃不饱”的现象。
2.5 实验成绩评价单一
考核方式是实验教学的重要一环, 将各次实验报告成绩综合是目前的做法, 该做法的弊端是:首先学生在课下书写实验报告, 有部分抄袭现象发生, 另外, 课下书写的实验报告也不能真实地反应其在实验过程中遇到的问题、解决方法等细节。不能立体地反应学生的真实状态。
三、教学改革及教学方法探讨
针对以上这些教学中产生的实际问题, 为了进一步地提高实验教学效果, 在平时的实验课教学中, 我们从以下四个部分进行改革、提高。
3.1 切实完善实验内容
充分了解教学大纲, 在实现大纲要求的前提下, 尽可能地使实验题目具有吸引学生注意力的一面, 比如百钱百鸡问题、杨辉三角问题等。另一方面, 在设计实验题目时, 还需要在整体基本水平的基础上引入差异化的题目, 以满足学生个体差异的需求。
基于以上两个方面, 我们在实验教学内容里引入了一些验证性实验题目, 这些题目和课堂理论教学结合紧密, 是过渡性题目, 目的是使得基础薄弱的学生也能够跟上进度, 同时确保大多数学生掌握编程基本知识和技能。另一方面, 这些验证性的题目还起到帮助学生掌握VC++6.0 编程环境, 会编辑、编译、运行、懂简单的Debug。为后面的复杂的设计性、综合性实验打下基础。
此外, 在C实验教学中还引入1-2 个主题实训作业, 相当于一个缩小版的课程设计的训练量, 这些主题作业和理论课堂教授相结合, 以利于学生及时将所学知识应用到主题作业中, 而不必等到学期末才能开始;另外, 同一个主题应能够满足不同层次的学生, 设置难度差异将其分组 (难度高、中和低) 。学生根据自己学习的情况来决定自己的主题作业的难度, 对于有兴趣的同学, 可以利用课外时间从低难度到高难度逐个击破, 以进一步加强他的成就感, 替升学期兴趣。
针对个别特别拔尖的学生, 我们也允许学生自己提出问题, 自己设计实验题目, 只要经过老师的同意即可。
3.2 强调学生在实验教学中的主体地位
为学生提供自我发挥的空间。实验教师不仅要科学合理地设计教学模式与内容以提高学生的兴趣和投入度, 还要注重学生主动学习能力的培养。
这种主动能力的培养中要求学生独立完成实验内容, 能够进行独立思考, 发现程序中的错误, 并练习debug调试程序的方法。从而在降低学生依赖性的同时, 达到提高调试能力的目的。
以学生为主体, 绝不意味着教师放任不管, 在学生自己进行编程、调试的过程中, 教师必须在实验室中不断巡视, 以及时注意并解决学生遇到的普遍性问题。
3.3 强化实验过程管理
每次实验结束后, 教师都要将下一次实验题目布置给学生, 该题目涉及的知识点需要一并下发, 让学生能够提前准备, 并有针对性地查阅资料学习。
每次实验课开始前, 学生要能够画出实验题目的程序流程图, 最好能编写出程序或部分核心代码。老师应该检查学生的完成情况, 并进行适当地评价记录。
在每次实验课堂上, 学生应尽快将自己的程序输入计算机, 并进行调试验证, 教师应在机房进行巡查, 不仅要及时解决举手的学生的问题, 还要能够有针对性地解决巡查中发现的学生犯的共性问题, 比如:采用缩进形式编写程序, 死循环的跳出方法等。
每次实验课后, 学生要应认真书写实验报告并在离开实验室用网络进行提交;教师应及时对实验报告进行批阅, 并对好的提出表扬, 差的进行不点名的批评指正。时间允许的话, 教师也可召集部分学生做一些相关师生互动。
3.4 建立立体评价体系
为了培养学生的“基本构造算法、动手编程和自主学习的能力”, 需要有一套合适的评价体系, 对学生进行适当地激励和引导。
此外, 老师对学生实验前的准备情况、实验过程中的表现状况做出评价并及时反馈, 还可以帮助学生正确认识其在实验过程中取得的成绩及存在的问题, 从而使其能够正确认识自己在实验中的表现, 巩固获取的知识, 明确需要补充的短板, 并进而激发学习的积极性和兴趣。
我们建立的立体评价包括三个部分:实验准备和过程评价 (具体来说即为实验开始前老师检查学生准备的材料并进行评分记录, 实验过程中对同学的分析解决问题能力的评价) ;增加激励性评价 (实验过程中及时肯定学生取得的成绩, 使其体会到编程的成就感, 从而替升学习编程的兴趣) ;创新作品加分, 针对主题作业完成较好, 有自己思考创新的实验报告, 适当给予加分处理, 鼓励学生创新。
另一方面, 加大力度打击抄袭现象, 不管是何种性质的实验题目, 都要求自己独立完成, 可以就某些问题和同学进行讨论, 但不能进行简单的复制、粘贴。目前的做法是发现抄袭者, 该次实验记为0 分, 对于被抄袭者的实验成绩要酌情扣分。
四、总结
文章首先罗列了“C程序设计”实验教学中存在的问题, 然后提出了我们在教学中的改进及实践方法, 通过近几年的实践, 完善实验内容、强调学生主体地位、强化实验过程管理以及构建立体评价体系的一系列措施较好地解决了之前的问题, 大多数同学对C程序设计课程的学习兴趣被培养出来, 近年来部分学生在全国软件人才设计大赛C/C++语言组的竞赛中获得了较好的名次。
摘要:“C程序设计”实验课以培养学生的学习兴趣、提高动手能力为主要目的。本文首先探讨了以往C程序设计实验教学中存在的问题后, 提出了采取完善实验内容、突出学生主体地位、强化过程管理以及构建立体评价体系等措施来解决这些问题, 教学效果得到了较好地提升。
关键词:C程序设计,实验能力,成绩评价
参考文献
[1]教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社, 2009.
[2]谭浩强.C程序设计 (第四版) [M].北京:清华大学出版社, 2014.4.
[3]储岳中, 秦锋, 刘宏申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育, 2012 (12) :22-25.
[4]李瑞生, 王秋云, 安德智.计算机程序设计类课程实践教学的改革与创新[J].实验技术与管理, 2012 (4) :193-195.
[5]孙慧然, 刘刚, 孙静波.“程序设计基础课”理论与实践教学的改革与实践[J].实验技术与管理, 2012 (4) :309-310.
13.C语言程序设计教学的实践与心得 篇十三
【摘 要】 在21世纪的大环境下,各种实践性学科都将面临着强大的冲击,而作为计算机软件开发等的入门语言,更显得尤为关注。强调实验的重要性,可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序,增强学生的动手能力。
【关键词】 C语言 可移植性 应用性 程序调试
C语言是一门高级程序设计语言,使用广泛,表达能力强,目标代码运行效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,既可以用来编写系统软件,又可以用来编写应用软件。因此《C语言程序设计》课程在教学中占有重要地位。
《C语言程序设计》是高职高专院校计算机专业的一门核心专业基础课程,同时也是多数非计算机专业的主要选修课。该课程是一门实践性与应用性较强的课程,目的是培养学生算法设计的基本思想和程序设计的基本技能。课程的内容主要涉及C语言的基本概念、基本语法以及C语言程序设计的基本方法,在教学中既要重视严谨的系统理论教学,又要重视实践性环节和案例的讨论与分析,为以后有关课程的学习和从事软件开发奠定基础。以下是本人在《C语言程序设计》课程教学过程中的一些经验和体会,与大家共勉。
一、提高教师自身素质
教师首先要提高自身的政治素质和业务水平,及时了解最新的科技成果并掌握C语言应用技术的发展方向,要不断拓宽知识面,具备一定的知识高度,同时不断研究与改进教学方法,理论联系实际,提高自身的教学水平。
二、合理选择教材
高职教育是针对岗位一线培养应用型、技能型人才的,而目前高职教育的C语言教材普遍存在的问题是结合岗位的针对性不强,技能训练的实践性不够。教材是提高教学质量的基础和前提,是学生系统学习知识的依据,一本好的教材应能培养学生的自学能力和独立思考能力,使学生能够依据教材理解课堂教学内容,深入了解本学科各个领域的知识。在选择教材方面应注重以下几个方面:(1)充分考虑高职高专教学的特色,理论知识要够用,注重理论联系实际,突出实用性。(2)语言表达要通俗易懂,在内容编排上尽量符合初学者的要求。(3)注意点与面的结合,注重基础与新技术的结合,使教材不仅是师生教与学的媒介,还是能够培养学生编程能力的工具。(4)在选择好的教材的同时,教师应积极编写符合实际教学需要的高质量的教材。明确C语言课程的教学目标,培养学生模块化程序设计的逻辑思维能力,掌握程序设计的基本语法规则和程序调试方法,具备初步的分析问题与解决问题的能力。主要的教学目标包括:掌握C语言语法,能够熟练运用基本程序结构解决简单问题,理解模块化程序设计原则并能针对复杂问题进行合理分解,掌握基本算法分析与设计知识。
1.作为计算机专业的基础课,目的是使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计,具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。学生要在理解C语言的基础上更加专注于理解《算法》或者《数据结构》等课程,而不至于被语言本身的复杂语法现象干扰,要强调C语言的实用性。另外,在掌握C语言的基础上,比较容易学习其他主流编程语言,学生通过对C语言的学习,可以获得针对基本程序结构的程序编写与程序调试知识。
2.学生对C语言的熟练掌握可以在一定程度上降低后续计算机硬件技术基础课程的学习难度。计算机硬件技术基础课程中有很大一部分内容是对汇编语言的学习,同样作为面向机器模型的程序设计语言,C语言仅仅是抽象程度更高一些,其程序结构与汇编语言具有一定的相似性,C语言的编程经验对学生学习汇编语言会有很大的帮助。
3.对于非计算机专业理工类学生而言,该课程有比较强的工业基础应用前景,C语言为用计算机解决实际问题提供了方法,是后续理论与实践教学的基础和重要工具,同时也是计算机二级考试所统一要求的课程之一。教学内容的改革应本着突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性。
三、注重教学过程,优化教学方法,把握教与学的关系
高职高专C语言课程理论性强,概念性强,抽象而且复杂,在教学过程中要注意的问题主要有:培养学生对C语言的兴趣;教给学生正确的学习方法;加强实践教学环节;有效地组织课程设计;培养学生分析和解决实际问题的能力。教学过程是教师和学生的双边活动,只有既注重教,又注重学,才能真正做到教为学服务。教师所要做的就是传道、授业、解惑,开阔学生的思路,激发学生学习的积极性和主动性,激发反思,调动潜能,引导学生讨论,帮助学生解决遇到的问题,寓教于学。只有把握好教与学的关系,才能优化整个教学过程。
1.将案例带到教学中来。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。本人在上课过程中,将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍;然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法。最终在课堂上教师扮演“和方法,运主导”角色,而学生真正地成为“主体”。
例如:《C程序教程》(谭浩强主编)中有一题为:用循环语句结构判断整数m是否为素数。
/* ex5_5.c */ #include“stdio.h” main(){ int m,c=2;
scanf(“%d”,&m);
while(m%c)
} 书中介绍了三种循环语句结构均可以作出判断结果,这时我们就应该利用“比较法”,将三种循环语句结构进行对比,使学生有一个较为深刻的理解与记忆。
2.切合实际的分组教学。要真正掌握程序设计的思想用语言解决实际问题,综合训练势在必行。整个过程以学生独立完成为主,教师提供相应的理论辅导。经过这样的模拟实际软件开发的演练,不但提高了学生的学习兴趣,培养了学生问题求解和编程能力,还有利于培养他们探索与创新的能力,更加有利于激发学生学习的积极性。
3.分层次教学。即标准化教学与个性化教学相结合,结合不同专业、不同班级学生的具体情况,制定各有特色的教案、讲稿和教学课件。既发挥群体智力优势,又充分发挥教师个体的教学风格特长,有利于提高教学水平。
4.加强实验课与理论课的联系。在理论课上将上机实验任务题目进行讲解,也可以将案例算法作为实验内容。实验课程可以分为两部分,实验任务问题作为理论课的内容在课堂上讨论、讲述,确定实现算法。对于同样的题目,可以确定若干不同的算法,比较其优劣,分析其原因。上机实验的任务是完成已确定算法的编码实现和运行。这种做法相当于在教师带领下,对实验内容做了集体预习,贯彻了“算法重于语法,语法重于编码”的课程指导原则,综合运用学过的知识,加强实践教学。学生只有通过大量的c++;
printf(“%d is a prime number.n”,m); printf(“%d is not a prime number.n”,m); if(c==m)else 练习,才能真正掌握语言知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,学会利用计算机解决实际问题。
5.充分利用多元化、现代化的教学手段。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。
总结:
改革考核方式,强化应用能力《C语言程序设计》的考核应采用多种形式考核学生的知识掌握程度和实践能力,包括卷面考试与实验考核,要强调职业技能。实验考核可采用上机考试与平时训练相结合的方式,上机考试可以使用能自动组卷和评分的考试平台;平时训练包括作业和综合编程训练的完成情况。该评价方法可以提前让学生体验全国计算机等级考试的过程,也可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序。
介于本人的能力有限,在实践及教学环节中还存在着许许多多的问题与不足,今后将会更加关注自身能力的提高,以便取得更好的教学效果。
【参考文献】
【教学大纲c程序设计】推荐阅读:
C语言程序设计2教学大纲09-06
c语言程序设计课程教学大纲20110-31
C语言程序设计课程教学设计08-27
《z c s 》教学设计06-29
标志字体设计教学大纲08-13
空间设计教学大纲10-25
网页设计基础教学大纲07-07
机电产品设计教学大纲10-07
广告设计理论教学大纲10-08
设计素描教学大纲72课时动画10-18