《C语言课程设计》 教学大纲(通用9篇)
《C语言课程设计》 教学大纲 篇1
荆楚理工学院
《C语言程序设计》课程设计教学大纲
一、课程名称: C语言程序设计
二、课程代码: Z04013
三、课程管理: 计算机工程学院(部)计算机应用教研室
四、教学对象: 计算机类相关专业
五、教学时数: 总时数 20 学时
六、课程性质: 专业主干课
七、课程衔接: 先修课程《计算机基础》
1、巩固和验证所学的理论知识,加强对对课本知识点的感性认识,实现与理论教学的衔接。
2、培养程序设计基本素养,包括总体规划,模块化结构设计,各功能通过函数来实现。通过课程设计,最终使学生能够独立完成程序规划,熟练编写简单程序,为以后进一步学习打下基础。
3、培养创新思维和创意灵感,锻炼独立的设计能力,提高独立分析、研究、解决问题的能力,设计出原创系统。
九、课程设计的要求
1、全面了解C语言程序设计过程,掌握规划设计一个小型应用系统的方法。
2、掌握C语言基本特点,根据自己的兴趣点、爱好选题,并进行设计。
3、准确应用函数、数组、结构体、指针等知识。
十、课程设计时间和地点
2014年6月9日至6月18日每天下午 A5-***
十一、课程设计进程安排:
6月9日 根据兴趣爱好确定题目。6月10日—16日 展开设计。
6月17日 测试程序,并做相应的修改。6月18日 设计报告撰写与修改、提交。
十二、评分标准
A—优秀
系统切合实际,具有一定的使用价值。
程序设计意图表达清晰,富有原创性,具有独特性。界面友好具有吸引力。
知识运用准确无误,方法简单有效。各部分衔接流畅自然。设计说明书完整、规范
八、课程设计目的
设计说明书逻辑性强,条理清晰 课程设计期间无旷课及病事假 B—良好
系统切合实际,具有一定的使用价值。程序设计意图表达清晰。界面友好具有一定吸引力。
知识运用无误,方法简单有效。各部分衔接好。设计说明书完整,较规范 设计说明书逻辑性强,条理清晰 课程设计期间无旷课及病事假 C—中等
系统切合实际,具有一定的使用价值。程序设计意图表达较为清晰。界面友好具有一定吸引力。
知识运用无大错误,方法简单有效。注意各部分衔接。设计说明书条理清晰
课程设计期间无旷课及病事假 D—及格
系统一般切合实际,具有一定的使用价值。程序设计意图表达较为清晰。界面友好具有一定吸引力。知识运用无特大错误。
课程设计期间无旷课,病事假1——2次。E—不及格
程序设计意图表达难以看懂。界面设计差。知识运出现严重错误,无设计说明书
课程设计期间无旷课,病事假3次及以上。
十二、课程设计主要参考资料
1、任正云,C语言程序设计(第二版),水利水电出版社
2、谭浩强,C语言程序设计(第4版),清华大学出版社
《C语言课程设计》 教学大纲 篇2
认知心理学认为, 当人们在接触一个完全不熟悉的知识领域时, 从已知的、较一般的整体中分化细节, 要比从已知的细节中概括整体容易一些。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.
C语言程序设计课程的教学探索 篇3
关键词:C语言程序设计 课程教学 教学效果 教学方法
C语言是国内外广泛使用的计算机语言,学会使用C语言进行程序设计是计算机工作者的一些基本功。C语言程序设计是计算机相关专业的一门专业基础课。在计算机课程体系中,C语言程序设计是学习其他计算机课程的基础,也是引领学生进入计算机学科领域的第一门课程,学生学习C语言程序设计的效果,将对其他课程的学习积极性产生影响。因此,C语言程序设计课程的教学显得非常重要。作者根据多年从事C语言程序设计课程的实践,对该课程教学实践中遇到的若干问题进行整理,并提出一些解决思路,以供同仁们参考。
一、培养学生的学习兴趣
C语言程序设计课程是计算机相关专业学生所接触的计算机类课程的先行课程之一,学生在学习这门课程时,往往对程序设计满怀期望和好奇心。教学初期,要把握时机,对学生好奇心理加以利用,提高学生学习兴趣,提高学习效果。随着课程的深入,所学内容逐渐增多、学习难度加深,教师如不一如既往地特意培养学生学习兴趣,学生在学习中遇到的各种挫折都可能打击其学习兴趣。教学中、后期,要调用各种教学方法和手段,强化学生的学习兴趣。可以根据教学内容设计适宜的、学生感兴趣的题目供学生讨论,在讨论中以学生为中心,并进行适当的引导,使讨论富于情趣,寓教于乐,达到较好的教学效果,强化学生的学习兴趣。比如,在讲授起泡发排序时,教师先用多媒体课件将算法思想陈述清楚,然后随机抽取教室中就坐的一列学生,由全体学生根据算法思想对抽取的同学的身高进行排序,这样可以让所有学生在都参与算法的演示,以加强学生对算法思想的理解,在轻松愉悦的环境中培养学生的学习积极性。
二、授予算法思想
C语言程序设计课程的是一门专业基础课,其教学目标就要体现“专业”与“基础”两个方面。一是,使学生掌握各种C语言本身的语法与程序结构,二是,使学生通过该门课程的学习掌握一定的算法和常用子程序的编程实现,学会用C语言编写程序,实现所需处理的任务,为后续课程打下坚实的基础。
算法是程序的核心,是程序的靈魂。语法是程序的外壳,是程序的工具。教学中,要处理好算法与语法的关系。不能把重点放在语法规则上。语法是重要的,掌握不好语法就无法编写出正确的程序,但是,只学会语法,甚至把语法背得滚瓜烂熟,也不可能编写出好的程序。要把重点放在算法思想上,通过大量的实例讲解和练习使学生学会怎样设计算法,编写程序,解决实际问题。算法思想与语法知识的关系就如“授予渔”与“授予鱼”的关系。教育不是要“授予鱼”,而是要“授予渔”。因此,C语言程序设计课程“授予算法思想”最为重要。
三、改进教学方法
在教学实践中采用多媒体教学与传统教学相结合的方法。多媒体教学信息量大、变换快速、表现直观、操作简便,教学活动很容易出现课件喧宾夺主的不良倾向;教师容易忽视教学策略和教学方法,忽视教学难点和重点,忽视与学生的交流;学生忙于观看课件,无暇做笔记,无暇思考。因此,在C语言程序设计课程中一定要注重适时适当地采用一些传统的教学方法,加强与学生的交流,在课堂中注重与学生的互动,杜绝采用填鸭式教学方法。教师要从学生的主宰转变为学生学习的引导者,课堂教学要从过去的“满堂灌”“填鸭式”转变为学生自主探讨,尽可能把时间还给学生,使学生从被动的“受教育者”转变为主动的“探索者”。
此外,教师要注意在每一堂课结束之后对所学内能进行归纳小结,整理教学内容的内在联系。在整门课程的教学过程中,注重各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的比较,使学生总览全局,对各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的差异和联系有宏观的把握,促进对各种C语言程序设计知识的理解和掌握。
四、抓好实验教学
程序语言的学习最终的目标就是能够熟练地根据具体问题设计适合的算法将其转变为C语言程序,解决实际问题。所以,实验是C语言程序设计课程必学、必练的教学环节。学生对实验内容的掌握程度直接反映学生对C语言程序设计课程的掌握程度。
C语言程序设计课程是计算机相关专业学生的开设的第一门专业基础课,学生对该课程的学习思维的把握需要一个循序渐进的过程。因此,在实验教学中,教师要把握循序渐进的度。一开始,可以学生非常熟悉的问题设计实验内容,在实验中为学生给出完整的实验程序,其目的是让学生掌握C语言程序设计课程的上机环节及编程的基本方法。接下来,可以根据第一次的实验,设计一个有关语句、语法、程序结构等环节的实验内容,是学生对C语言程序的基本结构、基本的语法特点有一个总体的印象。之后便可以根据教学内容来设计实验内容。
在实验教学中,对于实验内容的设计除了要与教学内容相结合外,还要注意实验内容满足学生的兴趣。而且,一定要把握好实验预习、准备关。除了最初的两次实验之外,其他的实验,一定要要求学生做好充分的准备,严格要求学生在实验之前提交实验程序。我们的做法是将课后作业与实验内容合二为一,学生因为对布置的内容有准备,所以尽管实验内容多,但也能较好地完成,能较好地达到实验教学的预期目标。而且,学生对自己的学习目标的达成及完成情况更加清晰、明确,对于C语言程序设计课程的学习亦随着实验内容的增多和。
五、结束语
C语言程序设计课程具有鲜明的实践目标性,教学中,教师一定要结合学生实际,合理设计教学内容及教学环节,用恰当的方法方式引领学生进入更加广阔的计算机相关专业领域。
参考文献:
C语言程序设计课程教学大纲 篇4
中央电大教务处教学管理科 2007年08月29日
第一部分 大纲说明
1.课程性质、任务与目的
《C语言程序设计》是中央电大计算机科学与技术专业(专科起点本科)的一门专业基础课。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用、编程方法等内容。目的是使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,为学习后续课程奠定程序设计和算法设计的基础。
2.与其他课程的关系
学习《C语言程序设计》课程需要了解计算机基本组成,并具有对计算机进行基本操作的技能。本课程的后续课程为《数据结构》、《操作系统》、《数据库》等。
3.课程教学特点
《C语言程序设计》是一门知识性和实践性都很强的课程,必须在学习中掌握C语言的语法规则,并在上机实践中体会和加深理解,通过实际的上机操作训练,还能够学习到书本上学不到的知识和技能,提高自己进行程序设计和开发的实际能力。
4.教学主要内容
(1)介绍C语言上机操作环境、程序基本结构,系统函数的使用;
(2)介绍常用输入输出函数的作用;
(3)介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义;
(4)介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法;
(5)介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用;
(6)介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义;
(7)介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数;
(8)介绍结构和联合类型的定义与应用,结构链表的建立和使用;
(9)介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作。
(10)介绍利用C语言编写解决实际问题的程序设计思路和方法。
5.教学基本要求
本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下:
(1)了解层次:记忆C语言中的基本概念和语法规则;
(2)理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用;
(3)应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。
第二部分 媒体使用和教学过程建议
1.课程学分和学时
本课程为4学分、72学时、第一学期开设。电视、实验和面授辅导学时各为20、27和25学时。课程中各章内容及学时分配如下表所示。
序号 一 二 三 四 五 六 七 C语言概述 数据类型与表达式 流程控制语句 数组和字符串 指针 函数 结构与联合
内容
电视学时 实验学时 面授学时 3 3 2 2 3 3 2 4 4 4 4 4 3 3 3 3 4 3 八
文件 2 3 4
2.教学媒体设计
(1)课程以文字教材为主,文字教材采用合一型。文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。因此教材要概念准确、条理清晰、深入浅出、便于自学,并且要包含实验指导和实验内容。
(2)电视课程作为文字教材的强化媒体,配合文字教材讲授课程的基本知识以及重点和难点。
(3)面授辅导课程由面授教师系统地辅导教学内容,保证教学进度,检查学习效果,随时解答学生的问题,是非常重要的教学活动。
(4)CAI课件是利用计算机进行自主学习的重要教学手段,它能够集名师讲授、动画教学演示、作业练习、学习效果检查等为一体,不受时间、地点和空间的限制,深受学习者喜爱。
(5)网络资源媒体可以汇集有关教学文件为学生查询提供方便,还可以进行网络交流答疑活动,便于师生定期或随时开展。
3.教学过程建议
本课程的电视和面授课堂教学要把知识讲授与上机操作演示结合起来,同时要加强学生的上机操作练习和指导,使所学知识都能够得到上机运行结果的充分验证。
第三部分 教学内容和教学要求
第一章 C语言概述
(一)教学内容
1.C语言的特点
2.C语言中的基本语法成分和程序结构
3.常用输入输出函数printf和scanf的作用
4.C程序的编辑、编译、链接和运行
(二)教学要求
了解:C语言的特点,基本的语法成分,程序的结构,C程序的编辑、编译、链接和运行的过程。
理解:常用输入输出函数printf和scanf的作用
第二章 基本数据类型与表达式
(一)教学内容
1C语言中的基本数据类型;
2.整数、实数、字符、枚举等常量的表示;
3.使用#define编译预处理命令定义符号常量;
4.变量的定义和分类;
5.各种运算符的表示和应用;
6.数值、关系、逻辑表达式的求值;
7.常用数值函数的调用,如绝对值函数、平方根函数、指数函数、对数函数、取整函数等的调用。
(二)教学要求
理解:C语言中的基本数据类型种常量和变量的表示,运算符的优先级和结合性,表达式的构成,常用数学函数的调用格式与作用。
第三章 流程控制语句
(一)教学内容
1.if语句的定义格式和作用;
2.switch语句的定义格式和作用;
3.for语句的定义格式和作用;
4.while语句的定义格式和作用;
5.do---while语句的定义格式和作用;
6.continue和break语句的定义格式和作用;
7.return和goto语句的定义格式和作用。
(二)教学要求
理解:各种语句的定义格式;
应用:分析程序,按照解决问题的需要编写出相应程序。
第四章 数组和字符串
(一)教学内容
1.数组和数组元素的有关概念;
2.一维数组的定义和应用;
3.二维数组的定义和应用;
4.字符串的存储和字符与字符串函数的使用。
(二)教学要求
了解:数组和数组元素的有关概念;
理解:一维数组和二维数组的定义格式,字符串的存储格式,字符与字符串函数的调用格式;
应用:会分析含有数组和字符串应用的程序,根据数值计算和数据处理问题编写出数组应用程序。
第五章 指针
(一)教学内容
1.指针的有关概念;
2.指针的各种运算
3.数组元素的指针访问方式
4.数据存储空间的动态存储分配
(二)教学要求
了解:指针的有关概念;
理解:指针的各种运算符的含义,一维和二维元素的指针访问方式,动态存储分配与释放函数的含义;
应用:会分析含有指针操作的程序。
第六章 函数
(一)教学内容
1.函数的定义格式和各个语法成分的作用;
2.函数的调用格式以及调用过程;
3.值参数和指针参数的不同作用;
4.变量的作用域分类;
5.递归函数的概念和调用过程。
(二)教学要求
了解:函数的定义、声明、调用与返回的有关概念;
理解:函数的定义和调用过程,值参数和指针参数的使用,变量的各种不同作用域;
应用:会分析一个函数定义的功能,根据问题编写出对应的函数。
第七章 结构与联合(一)教学内容
1.结构的基本概念
2.结构的定义与初始化
3.结构成员的访问和结构变量的赋值
4.结构与数组
5.结构与函数
6.结构与链表
7.联合的定义与使用
(二)教学要求
了解:结构和联合的有关概念;
理解:结构和联合的定义格式,结构和联合成员的访问,结构作为函数参数的应用,结构作为链表中结点类型的应用;
应用:会分析和编写使用结构的函数或程序
第八章 文件
(一)教学内容
1.数据文件的概念
2.文件的打开和关闭,3.文件的操作方式
4.字符文件的访问
5.字节文件的访问
(二)教学要求
了解:文件的有关概念;
理解:文件的各种访问方式;
应用:会分析和编写使用文件的程序。
第四部分 实验
《C语言课程设计》 教学大纲 篇5
摘要:该文主要探讨了C语言程序设计课程在现有高等教育体系中教学内容及方法。提出了C语言程序设计课程的教学内容应该分成基础课程和高级课程两部分;提出了根据现实中的问题和需要学习的知识点为依据来编排教学案例,通过增加问题的难度逐步学习掌握更多的知识点。
关键词:C语言程序设计;教学内容;教学方法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)13-0161-03 C语言程序设计课程在教学中出现的问题
C语言是现今计算机领域通用的语言之一,虽然并不像上个世纪80年代那样一枝独秀,但仍具有非凡的魅力。C语言是Thompson、Ritchie等人开发UNIX操作系统的副产品,并用C语言并UNIX操作系统进行了重写。在C语言普及后,国际标准化组织又多次对C语言进行了标准化,包括C89标准、C99标准和最新的C11标准。C语言对现代编程语言产生了巨大的影响,许多流行的现代编程语言都借鉴了大量C语言的特性,包括C++,JAVA,OC,Swift,C#等。
考虑到大量新编程语言的普及程度。高等院校学生还有学习C语言的必要吗?对于这个问题回答:首先,学习C有利于更好的理解其他新式编程语言,能让程序员更好地掌握继承自C语言的基本特性。其次,现有大量的C语言代码需要维护。最后,C语言仍然是众多工程领域最重要的编程语言,包括嵌入式开发、智能机器人、智能家居和智能电子产品等。
现今国内大部分高校都会首选C语言作为计算机编程的入门语言。各专业开设的C语言课程一般都是一个学期讲完,学时数大概在48~64课时之间。由于学生没有编程基础,很难在这么短的时间内熟悉C语言的各个知识点。在各个高校C语言程序设计课程教学中,有两种教学方法比较主流:一种是采用多媒体演示+黑板板书、并用一定的课时量上机练习编程的教学方法,这种方法可以在一学期内讲解完C语言课程大部分知识点。但是这种教学方法需要学生课后自己花时间上机练习编程。而且由于教师不在现场,学生出现的问题得不到及时解决,容易对编程产生厌恶感,导致学习失败。另一种方法是采用教室与机房一体化的教学方法,教师采用多媒体演示+黑板板书,通过设计好的项目来引导学生学习,指导学生现场编程,通过多年的实践发现,这种教学方法的效果比上一种好,但是由于班级学生人数众多,即使采用小班教学,也有30个左右的学生需要指导。在一学期的课时内,没有足够的时间指导学生学完全部重要的知识点。
本文的主要目的就是探讨C语言程序设计课程中教学的内容及教学方法,提供解决以上教学方式中出现的问题的思路。C语言程序设计课程教学内容的探讨
C语言程序设计课程教学中,选择一本好的教材非常重要。什么是好的教材?首先教材作者应该是C语言编程方面的专家、有实际项目的开发经验、熟悉C语言的标准。其次教材中应该有好的教学案例和精?x的习题,教学内容应该由浅入深、知识点全面、对C语言初学者经常犯的错误有提示和解答。我们不应该选择那种字典式、看起来全面但不便于学习的教材。国内的有些教材喜欢纠结于语法上的细节,故意把语句写得很复杂以考查学生是否掌握了相关的语法知识,这样做甚至会使习题的答案陷入了未定义行为的泥潭,对学生编程能力的提高是有害的。
通过对前面所述的两种主流教学方法的分析发现,由于C语言程序设计课程学时的限制,不可能既全面的讲解各个知识点,又让学生较快地掌握C语言的编程技术。因此有必要将C语言程序设计课程分成基础课程和高级课程来教学。
基础课程包括以下内容:
1)C语言概述和C语言编译器的使用;
2)C语言的基本概念、格式化输入/输出和表达式;
3)选择语句、循环语句和基本数据类型;
4)数组、函数和指针;
5)结构、联合与枚举;
6)底层程序设计;
7)预处理器和多文件程序的编写。
高级课程包括以下内容:
1)指针和数组;
2指针的高级应用:动态存储分配、链表、指向指针的指针和指向函数的指针;
3)标准库、输入/输出、标准库对数值和字符数据的支持;
4)错误处理和国际化特性;
5)C99标准和C11标准。
在课程教学中,教师最好采用项目化教学的方式,对基本知识点的熟练应用进行重点训练,使学生能够用所学的编程知识和技巧解决实际的项目问题。高级课程是否需要开设,关键看学生的专业和需求。对于电气电子信息类专业的学生,应该开设C语言的高级课程,使学生有能力使用C语言进行单片机和嵌入式技术的开发。C语言程序设计课程教学方法的探讨
C语言程序设计作为一门应用性很强的课程,检验学生学习的效果如何就是看学生编程的能力。欧美高校普遍采用的教学方法是在大班教学中采用多媒体演示+黑板板书的方式教学,然后在小班讨论课程中以助教辅导的方式练习编程。国内高校很少采用教授大班讲解课程,然后分班由助教辅导的教学模式,这就决定了国内的教学方式与欧美高校有所不同。由于需要教师一个人完成所有的教学任务,一个较好的教学模式就是采用项目化教学方式,将课程分为基础课程和提高课程进行教学。对C语言编程要求较高的专业,学习基础课程和高级课程两个部分,分两学期完成。对于一般的工科专业,可以只学习基础课程,重点了解编程的思想和编程的现代方法。
《C语言课程设计》 教学大纲 篇6
功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。
4、进一步要求:学生选修课程(可选项)
要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
C语言程序设计课程的教学探索 篇7
关键词:C语言程序设计,课程教学,教学效果,教学方法
C语言是国内外广泛使用的计算机语言, 学会使用C语言进行程序设计是计算机工作者的一些基本功。C语言程序设计是计算机相关专业的一门专业基础课。在计算机课程体系中, C语言程序设计是学习其他计算机课程的基础, 也是引领学生进入计算机学科领域的第一门课程, 学生学习C语言程序设计的效果, 将对其他课程的学习积极性产生影响。因此, C语言程序设计课程的教学显得非常重要。作者根据多年从事C语言程序设计课程的实践, 对该课程教学实践中遇到的若干问题进行整理, 并提出一些解决思路, 以供同仁们参考。
一、培养学生的学习兴趣
C语言程序设计课程是计算机相关专业学生所接触的计算机类课程的先行课程之一, 学生在学习这门课程时, 往往对程序设计满怀期望和好奇心。教学初期, 要把握时机, 对学生好奇心理加以利用, 提高学生学习兴趣, 提高学习效果。随着课程的深入, 所学内容逐渐增多、学习难度加深, 教师如不一如既往地特意培养学生学习兴趣, 学生在学习中遇到的各种挫折都可能打击其学习兴趣。教学中、后期, 要调用各种教学方法和手段, 强化学生的学习兴趣。可以根据教学内容设计适宜的、学生感兴趣的题目供学生讨论, 在讨论中以学生为中心, 并进行适当的引导, 使讨论富于情趣, 寓教于乐, 达到较好的教学效果, 强化学生的学习兴趣。比如, 在讲授起泡发排序时, 教师先用多媒体课件将算法思想陈述清楚, 然后随机抽取教室中就坐的一列学生, 由全体学生根据算法思想对抽取的同学的身高进行排序, 这样可以让所有学生在都参与算法的演示, 以加强学生对算法思想的理解, 在轻松愉悦的环境中培养学生的学习积极性。
二、授予算法思想
C语言程序设计课程的是一门专业基础课, 其教学目标就要体现“专业”与“基础”两个方面。一是, 使学生掌握各种C语言本身的语法与程序结构, 二是, 使学生通过该门课程的学习掌握一定的算法和常用子程序的编程实现, 学会用C语言编写程序, 实现所需处理的任务, 为后续课程打下坚实的基础。
算法是程序的核心, 是程序的灵魂。语法是程序的外壳, 是程序的工具。教学中, 要处理好算法与语法的关系。不能把重点放在语法规则上。语法是重要的, 掌握不好语法就无法编写出正确的程序, 但是, 只学会语法, 甚至把语法背得滚瓜烂熟, 也不可能编写出好的程序。要把重点放在算法思想上, 通过大量的实例讲解和练习使学生学会怎样设计算法, 编写程序, 解决实际问题。算法思想与语法知识的关系就如“授予渔”与“授予鱼”的关系。教育不是要“授予鱼”, 而是要“授予渔”。因此, C语言程序设计课程“授予算法思想”最为重要。
三、改进教学方法
在教学实践中采用多媒体教学与传统教学相结合的方法。多媒体教学信息量大、变换快速、表现直观、操作简便, 教学活动很容易出现课件喧宾夺主的不良倾向;教师容易忽视教学策略和教学方法, 忽视教学难点和重点, 忽视与学生的交流;学生忙于观看课件, 无暇做笔记, 无暇思考。因此, 在C语言程序设计课程中一定要注重适时适当地采用一些传统的教学方法, 加强与学生的交流, 在课堂中注重与学生的互动, 杜绝采用填鸭式教学方法。教师要从学生的主宰转变为学生学习的引导者, 课堂教学要从过去的“满堂灌”“填鸭式”转变为学生自主探讨, 尽可能把时间还给学生, 使学生从被动的“受教育者”转变为主动的“探索者”。
此外, 教师要注意在每一堂课结束之后对所学内能进行归纳小结, 整理教学内容的内在联系。在整门课程的教学过程中, 注重各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的比较, 使学生总览全局, 对各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的差异和联系有宏观的把握, 促进对各种C语言程序设计知识的理解和掌握。
四、抓好实验教学
程序语言的学习最终的目标就是能够熟练地根据具体问题设计适合的算法将其转变为C语言程序, 解决实际问题。所以, 实验是C语言程序设计课程必学、必练的教学环节。学生对实验内容的掌握程度直接反映学生对C语言程序设计课程的掌握程度。
C语言程序设计课程是计算机相关专业学生的开设的第一门专业基础课, 学生对该课程的学习思维的把握需要一个循序渐进的过程。因此, 在实验教学中, 教师要把握循序渐进的度。一开始, 可以学生非常熟悉的问题设计实验内容, 在实验中为学生给出完整的实验程序, 其目的是让学生掌握C语言程序设计课程的上机环节及编程的基本方法。接下来, 可以根据第一次的实验, 设计一个有关语句、语法、程序结构等环节的实验内容, 是学生对C语言程序的基本结构、基本的语法特点有一个总体的印象。之后便可以根据教学内容来设计实验内容。
在实验教学中, 对于实验内容的设计除了要与教学内容相结合外, 还要注意实验内容满足学生的兴趣。而且, 一定要把握好实验预习、准备关。除了最初的两次实验之外, 其他的实验, 一定要要求学生做好充分的准备, 严格要求学生在实验之前提交实验程序。我们的做法是将课后作业与实验内容合二为一, 学生因为对布置的内容有准备, 所以尽管实验内容多, 但也能较好地完成, 能较好地达到实验教学的预期目标。而且, 学生对自己的学习目标的达成及完成情况更加清晰、明确, 对于C语言程序设计课程的学习亦随着实验内容的增多和。
五、结束语
C语言程序设计课程具有鲜明的实践目标性, 教学中, 教师一定要结合学生实际, 合理设计教学内容及教学环节, 用恰当的方法方式引领学生进入更加广阔的计算机相关专业领域。
参考文献
《C语言课程设计》 教学大纲 篇8
关键词:C语言程序设计;项目教学模式;应用能力
中图分类号:G642 文献标识码:A文章编号:1007-9599 (2011) 15-0000-02
C Language Programming Course Project Teaching Mode
Luan Guifen
(Taizhou Higher Vocational School of Mechanical&Electrical Technology,Taizhou225300,China)
Abstract:C language programming course using the project to improve the teaching ability of students to apply,set project goals and prepare for the teaching project teaching the theoretical and experimental materials,select the appropriate teaching project library construction project cases,in addition to theoretical and experimental courses in teaching,effective implementation of the project,the project should also be extended to extra-curricular teaching in the classroom network.
Keywords:C language programming;Project teaching mode;Application ability
在职校教学中,传统教学法很难满足信息化社会应用型人才的能力培养要求。C语言程序设计课程是一门实践性较强的课程,应更加重视应用能力与实践能力的培养,而非计算机专业的C语言程序设计教学多用传统教学法,导致学生的理论学习与实践脱节,很大程度上影响了教学效果。因此,迫切需要采用新的教育教学法或教学模式来改变这种现状。以培养应用能力为核心的“项目教学模式”,它把学习知识、训练技能、培养能力贯穿于整个教学过程之中,能够充分发掘学生的创造潜能,提高学生的动手能力。
一、项目教学模式
项目教学模式是在建构主义理论[1]指导下,以基于项目的教学方式完成课程教学任务的教学方法体系。教师在授课过程中,以一个贯穿课程始终的,来源于生活和生产实际的成功项目案例为线索组织教学,进行知识传授和技能培训[2]。它实质上就是一种基于建构主义学习理论的探究性学习模式,强调知识意义和能力建构性,强调协作学习,在不断解决问题、实现阶段任务中完成对知识的意义建构。基于建构主义的项目教学法与传统的教学法相比,将以教师、课本、课堂为中心转变为以学生、项目、实践为中心,能够使理论知识与应用能力的培养有机结合[3]。
在项目教学的实施过程中,经常遇到以下一些实际问题:项目教学是从应用的角度出发,与传统的教学方式有很大的区别,教学目标该如何制定才能体现项目教学的实施效果。传统的教材对于知识模块的划分不适合项目教学的实施,需要编制适合项目教学的理论教材和实验教材来配合项目教学。因为篇幅有限,教材中只能涉及到几个项目案例,使得教学背景比较单调,而且项目案例通常是比较大的程序,如何根据知识模块将项目案例合理分解为较小的项目子例,使其能够更好地配合理论和实验课也是需要解决的问题。在项目教学中,教师应该采用怎样的教学方法,才能有效地实施项目教学并监控和指导学生的项目学习。
二、C语言程序设计课程中的项目教学模式
(一)根据实际情况,設定教学目标
结合C语言程序设计课程特点和项目教学从应用出发的特点,对C语言程序设计课程进行教学设计,制定技能训练和应用培养教学目标,采用“语句、代码、程序、应用”四个教学目标层次分类,同时采用“熟练使用基本知识点,练习设计编写小程序,综合项目设计应用”的实践教学层次,使项目教与学的衡量标准成为一种可具体追求和实现的目标[4]。具体的项目教学目标分别从知识点目标、技能目标和应用目标三个层次进行描述。
知识点目标是对课程理论知识点的教学要求进行描述,例如,写出伪代码描述具体问题的算法、应用“自顶向下、逐步求精”的方法求解问题、解释一维数组在内存中的存储、比较字符数组作为字符串和指针指向字符串等。技能目标分为熟练使用基本知识点和练习设计编写小程序两个层次。例如,练习C源程序文件的创建(编辑输入、存储编译、简单运行调试)过程,掌握使用VC集成开发环境处理一个C语言程序的步骤:编辑、编译、连接和运行;编程实现对多个数据的处理,要求练习加、减、乘、除、求余的运算等。应用目标是指“综合项目设计应用”,分为两个层次:(1)开发学习者发现问题,总结问题的能力,让学习者结合身边事,自找题目,写出编程实现步骤;(2)软件项目应用设计训练。培养学生应用能力,实施项目教学,需要学习者独立或合作完成项目训练,达到应用目标要求的标准。例如:结合自己专业或生活经验,寻找需要或可以分解为多个函数实现的实际问题,自编一个题目,利用自定义函数和函数调用实现问题求解过程;软件功能模块划分,应用模块化编程思想,综合分析系统功能,设计划分并画出系统模块结构图,总结出系统数据字典,并详细描述各模块功能及函数功能等。
(二)编制适合项目教学的理论教材和实验教材
为了配合项目教学顺利的进行,需要编制适合项目教学的理论教材和实验教材。理论教材中,首先要对传统教材中的理论知识模块进行重新整合,与项目设计的进展相结合,分为三个层次模块。初级阶段的知识模块主要是结构化程序设计基础,包含C语言程序设计课程的基本知识、基本数据类型及其定义与操作、程序的基本结构。中级阶段的知识模块主要是模块化程序设计基础,包含函数的编写和调用、变量的作用域与生存期的运用。高级阶段的知识模块主要是复杂数据结构和程序设计方法,包含数组、指针、结构体、文件的操作和应用。理论教材中的例子分为项目子例和教学辅例。项目子例是将整个项目分解为小的例子配合理论知识的讲解,教学辅例是与项目子例背景相似、题型相似的传统例题。
实验教材是对理论教材的实践和扩展。项目教学的关键就是对项目的实践,学生通过理论教材学习项目设计的方法,在实验教材中提供给学生更多的项目参考子例和具体的实践步骤,指导学生独立完成项目的实践。
(三)选择合适的项目案例,建设教学项目库
在实际的生产生活中,选择具有真实性、典型性等特点的项目。要强调的是项目的应用性,而不是专业性,让大部分学生能够理解和接受。项目的内容应符合课程教学目标的要求,能够容纳和体现更多数据结构、算法和知识点的应用,尽量能够贯穿课程。项目应难易适宜、大小适中,让学生在课程的学习过程中有能力完成项目内容,达到更好地掌握课程知识的效果。教师往往在课堂上只能讲解有限的几个项目案例,导致教学项目用例背景单调,不利于拓展学生的思维,因此应建设教学项目案例库,选择大量的项目案例供学生课下学习和参考。项目案例库中除了包含大量完整的项目案例,还应将项目案例分解为课堂教学用例系列、实验教学用例和学生项目实践用题系列等。
在项目教学中,将项目与课程的内容结合,根据各层次知识模块,选择某些项目分解为与每节理论课的知识点结合的项目教学课堂用例系列,要求在难度、复杂度、模块大小等方面要适合课堂讲解和学生学习。在实验课上,选择适合的项目分解为学生可以在有限课时内独立完成的实验教学用例系列,配合理论课的课堂用例进行项目实践。为了拓展学生的思维,设计学生项目用题系列作为学生课下学习的补充。
(四)理论课中教师实施项目教学
结合项目教学,采用小组合作学习方式[5],让学生分组实践项目。建议4-7人自由组合为一个小组,每组推选一个组长组织组内的学习,并将学习的过程记录下来。具体的教学过程如下:(1)教师用项目课堂用例提出需要解决的问题,引入本节课要学习的问题。(2)教师结合要实现的项目问题,讲解知识点。(3)教师选择项目辅助用例,运用知识点。(4)教师和学生一起讨论如何运用知识点,解决项目问题。(5)教师对项目内容进行扩展,提出小组讨论问题。
(五)实验课中学生实践项目教学
在实验课上,以小组为单位进行项目实践,并写下实验报告。具体的教学过程如下:(1)教师课前布置实验课的项目内容,课前小组讨论出可执行的步骤。(2)学生模仿课堂项目用例的方法,实施实验项目用例的内容。(3)各小组讨论项目实验结果,并将结果合并实现综合项目。教师参与到小组的讨论中,给予指导意见。(4)小组总结实验课内容,写出小组实验报告。实验报告中要详细记录每个组员的参与情况,包括发言、上机实践、帮助其他组员等具体的过程,这样教师可以通过查看实验报告的情况了解每个学生的学习情况,起到监控和指导的作用。
(六)课外的网络课堂交流补充
教学课时数是有限的,教师不可能跟每一位学生进行很好的交流。而且学生之间的大多数交流也仅限于小组内部,各小组间的交流很少。因此,需要建立課外的网络课堂作为教学的补充,例如,教师建立教师教学博客,学生可以建立班级博客、小组博客等。教师可以提前将教学内容发布在教学博客上供学生提前预习,并提出问题供学生讨论,学生通过回复与教师和其他同学交流。学生可以给教师留言,与教师交流学习中的问题,其他学生也可以看到这个交流的过程,启发自己的思维。每个小组可以通过博客展示自己的实验成果,各小组可以通过博客交流学习心得。教师可以通过博客中的交流监控到所有学生的学习情况、思想动态,适时的调整教学进度和教学内容。
在项目教学模式中,设定项目教学目标并编制适用于项目教学的理论和实验教材是有效实施项目教学的前提,选择合适的项目案例建设教学项目库是项目教学的关键因素。在具体的项目教学过程中,每个教师应根据实际的教学情况适当地调整教学模式,选择有效可行的方法以保证教学效果。
参考文献:
[1]陈越.建构主义与建构主义学习理论综述.
http://www.being.org.cn/theory/constructivisom.htm
[2]孟朝霞.基于项目的程序设计实践课程教学流程设计[J].高等理科教育,2008,5
[3]徐涵.项目教学的理论基础,基本特征及对教师的要求[J].职教论坛,2007,3
[4]孟朝霞.C语言课程的应用性目标模型[J].运城学院,2009,1
课程设计报告 C语言 篇9
一、提交材料应包括:(1)系统源代码(2)课程报告
二、整个设计过程具体要求(1)需求分析 需求分析 任务 要求 要求学生对案例系统进行分析,设计出需要完成的功能,完善 各个模块的调用关系;(2)设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节 设计过程(函数名、参数、返回值等)(3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终 实现过程 完成系统整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。总结阶段 报告撰写情况(报告撰写情况(30 分)内容 规范程度 程序测试 20 分 5分 5分 系统完成情况(答辩情况(系统完成情况 30 分)答辩情况(40 分)完成 基本功能 扩展功能 自述情况 答辩情况 20 分 10 分 10 分 30 分 成绩 评定 总分 成绩评定教师: 成绩评定教师: 教师 1 需求分析 经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了 C 语言程序 设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系 统性质的规模较大的程序。本次课程设计要求我们达到能独立完成一个图书管理系统,完成后要求实现的功能有对 图书信息的录入、删除、修改,浏览(即输出)按某种方式查询(要求至少一种查询方式),按某种方式排序(要求至少一种排序方式)。当然,我们可以根据自己的能力对系统进行完善 性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等,甚至可以拓展为图书借 阅系统。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉 C 语言开发的全过程,提高综合应用 C 语言的能力、编程和调试能力,为学习计算机和通信 专业的后续课程打好专业基础。2 概要设计(1)图书信息及数据格式 图书信息: 图书信息包括图书编号、图书类别、图书书名、作者、出版社、出版时间、图 书价格。数据格式: 本系统采用单向链表来对图书信息进行各项操作。其中图书的编号为整型数 据,价格为双精度浮点型,其余的类别、书名、作者、出版社与出版时间均为字符 串类型 struct tushu_node{ int num;char leibie[20];char name[30];char author[20];char press[20];char time[20];double price;struct tushu_node*next;};一个结点的示意图如下图所示: num leibie name author press time price next(2)程序的整体框架 主菜单 录 入(删 除 修改)按 不 同方 式 查询 浏览 按 不 同方 式 排序 统 计 图书 数 目 帮助 退出 创 建 删 除 修 改 编 书 价 号 名 格 价 格 出版 时间 子菜单(3)模块划分
1、int quanxian();
2、int inputchioce();
3、void save();
4、void save1();核查权限的函数 显示主菜单的函数 保存链表为文件的函数 覆盖以前的信息 保存链表为文件的函数 不覆盖以前的信息 只在创建时调用
5、struct tushu_node* wjtolb();从文件中读取数据并建立图书信息的链表的函数
6、int luruxinxi();录入学生信息的函数 创建图书信息的函数 插入图书信息的函数
7、struct tushu_node * luruxinxi_chuangjian();
8、struct tushu_node * luruxinxi_charu();
9、struct tushu_node * luruxinxi_shanchu();
10、struct tushu_node * luruxinxi_xiugai();删除图书信息的函数 修改图书信息的函数
11、int liulantushu();浏览图书信息的函数
12、int chaxuntushu();
13、void chaxuntushu_num();
14、void chaxuntushu_name();
15、void chaxuntushu_price();查询图书信息的函数 按编号查询图书 按书名查询图书 按价格查询图书
16、void paixutushu();
17、struct tushu_node* paixutushu_price();
18、struct tushu_node* paixutushu_time();
19、void sfjx();为图书排序的函数 为图书按价格排序的函数 为图书按出版时间排序的函数 写个函数 判断是否继续 排序中使用 20、int tongjitushu_shumu();统计图书数目的函数
【《C语言课程设计》 教学大纲】推荐阅读:
c语言程序设计课程教学大纲20107-26
c语言课程设计106-20
C语言课程设计选题09-15
c语言课程设计计算器12-03
A01_C语言程序设计课程说明05-14
C语言课程08-31
c语言课程心得07-23
c语言课程实训报告11-07