c语言程序设计课程教学大纲201

2024-07-26

c语言程序设计课程教学大纲201(共11篇)

c语言程序设计课程教学大纲201 篇1

《C语言程序设计》课程教学大纲

一、课程教学目的

本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。

二、课程教学要求

通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。

三、课时分配

本学科计划学时为246学时,其中理论与实训课时比例为7:3。

四、课程教学重、难点

课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。

五、课程教学方法(或手段)

本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。

六、课程教学内容 第一章 C语言概述 1.教学内容

(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示

(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;

(2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容

(1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例;

(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示

(1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);

(2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容

(1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double);

(2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示

(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。

(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容

(1)C程序结构和语句的构成;

(2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示

(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。

(2)难点: 格式输入与输出表示中各种格式字符的表示含义。

第五章 选择结构程序设计 1.教学内容

(1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式;

(3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示

(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。

(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容

(1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套;

(3)break,continue语句。2.重、难点提示

(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别;

(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容

⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示

(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。

(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。

第八章 函数 1.教学内容 ⑴ 函数的定义;

⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示

(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。

(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容

⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示

(1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容

⑴ 指针与地址的概念;

⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用;

⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量;

⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针;

⑺ 对main()函数命令行参数的基本了解。2.重、难点提示

(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。

(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容

⑴ 定义结构体类型变量的方法;

⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型;

⑺ 用typedef定义类型。2.重、难点提示

(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。

(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容

⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示

(1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容

⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示

(1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。

七、实验教学内容

实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定

义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。

(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查

实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查

实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查

八、课程考核方式 1.考核方式:

闭卷考试 2.成绩构成:

平时+期末

九、选用教材和参考书目

[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。

[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。

[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。

c语言程序设计课程教学大纲201 篇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语言程序设计课程教学大纲201 篇4

课程编号:

适用专业:机械制造、数控、焊接 专业责任教学单位:机电工程系 总学时:36学时 考核形式:闭卷 笔试 课程类型:专业基础课 选读方式:必修课 教学目的:

我们的时代是一个离不开计算机的时代,对于机械制造、数控、焊接专业学生,程序设计是学生必备的技能之一。C语言是一种广泛使用的结构化程序设计语言,它既具有高级语言的特点,又具有低级语言的特点,它的通用性与灵活性使得它比一般的程序设计语言更加通俗易懂。

本课程从介绍C语言的基础知识入手,引入“模块化程序设计”思想,强调实例教学,并结合大量的上机实践,要求学生在模仿、实践中逐步学会编写程序,提高阅读程序的能力及实际操作能力和技能,为以后更好的理解程序,学习程序,开发软件打好基础。

主要教学内容及要求:

第一部分 进入C语言程序世界(2学时)

1、要求:了解C语言的特点,掌握C程序的结构组成,算法的概念及其表示方法,熟悉VC编程环境使用。

2、内容:

1.1 了解C语言程序的结构 1.2 设计简单的C语言程序 1.3 C程序的调试与运行 1.4 计算机语言的发展

3、重点:C程序的结构、VC编程环境、算法的概念及其表示、编写最简单的C程序。难点:编写简单的C程序。

第二部分 编制C程序设计的基础知识(2学时)

1、要求:熟练掌握C语言基本数据类型和表达式,掌握并熟练运用常用的I/O函数。

2、内容: 2.1 常量与变量

2.2 C语言的基本数据类型 2.3 C语言的常用运算符与表达式

3、重点:C语言基本类型、C语言常用表达式。难点:C语言表达式运算符优先级的判断。第三部分 顺序结构程序设计(2学时)

1、要求:了解三种结构程序设计的思想,掌握顺序化结构程序设计的方法。

2、内容:

3.1 结构化程序设计的三种基本结构 3.2 数据的输入与输出 3.3顺序结构程序设计举例

3、重点:顺序结构程序设计,printf与scanf函数的使用。难点:printf与scanf函数的使用。

4、实验:

实验

一、输入/输出函数编程实训 实验

二、顺序程序结构设计

第四部分 选择结构程序设计(2学时)

1、要求:掌握选择结构程序设计的方法,if语句,switch语句的应用。

2、内容:

4.1 选择结构程序设计简介 4.2 if语句的典型应用形式 4.3条件运算符和条件表达式 4.4 switch语句的应用 4.5 选择结构程序设计应用

3、重点:选择结构程序设计,if语句与switch语句的应用。难点:if语句与switch语句的使用。

4、实验:

实验

三、选择结构程序设计

第五部分 循环结构程序设计(4学时)

1、要求:掌握循环结构程序设计的思路,while语句、do—while语句和 for语句的使用,循环语句嵌套,break和continue语句。

2、内容:

5.1 为什么使用循环

5.2 while语句与do...while语句 5.3 for语句实现循环 5.4 几种循环的比较 5.5 多重循环(嵌套循环)5.6 break和continue语句 5.7 循环结构程序设计举例

3、重点: while语句、do—while语句和 for语句的使用,循环语句嵌套,break语句。难点:循环语句的嵌套。

4、实验:

实验

四、循环结构程序设计

第六部分 应用数组设计程序(4学时)

1、要求:掌握数组的定义、引用和初始化,熟练运用数组解决同类型的多个变量问题。

2、内容: 6.1 数组的引入 6.2 一维数组 6.3 二维数组 6.4 字符数组 6.5 数组的应用

3、重点:一维数组、二维数组和字符数组的定义和应用。难点:二维数组、字符数组的应用。

4、实验:

实验五、一维数组的使用 实验

六、字符数组的使用

第七部分 应用函数设计程序(4学时)

1、要求:掌握函数的定义及调用规则,理解实参和形参数据的传递方式,熟练运用函数实现模块化程序设计,理解函数的嵌套调用和递归调用,内部函数与外部函数,理解变量的作

用范围和存储类别

2、内容: 7.1 函数的引入 7.2 函数的定义与调用 7.3 函数的嵌套调用和递归调用 7.4 函数应用实例

7.5 局部变量、全局变量及其存储 7.6 内部函数和外部函数

3、重点:函数的定义与调用、递归和嵌套函数、变量的存储类别和作用范围。难点:函数的调用、递归函数的使用。

4、实验:

实验

七、函数的使用 第八部分 应用指针编制程序

1、要求:了解指针的概念及定义,掌握指针的使用方法,掌握指针和一维数组以及指针和二维数组的应用。掌握几种特殊类型的指针。

2、内容: 8.1 指针概述 8.2 指针变量 8.3 指针与数组 8.4 指针与函数 8.5 指针数组 8.6 指向指针的指针

3、重点:指针变量的定义和使用、指针与变量、数组、函数指向应用。难点:指针变量作为函数参数、指针指向数组、函数的应用。

4、实验:

实验

八、指针的简单使用 实验

九、指针的高级使用

第九部分 结构体、共用体和枚举类型的应用(4学时)

1、要求:理解并掌握结构体的基本概念和用法,掌握共用体和枚举类型的基本概念及一般使用方法,了解用户自定义类型。

2、内容:

9.1 结构体类型与结构体变量的定义 9.2 结构体变量的引用 9.3 结构体数组 9.4 结构体与指针 9.5 结构体与函数 9.6 结构体应用—链表 9.7 共同体 9.8 枚举类型

9.9 用typedef定义类型

3、重点:结构体、共用体和枚举类型的定义、引用和初始化 难点:结构体的概念和使用

4、实验:

实验

十、结构体和共用体的应用 第十部分 文件(2学时)

1、要求:理解文件的结构类型、文件指针的相关概念,掌握文件的打开、关闭、读写、定位等文件操作

2、内容: 10.1 文件概述 10.2 文件的常用操作 10.3 文件的应用举例

3、重点:文件的打开与关闭,文件的读写 难点:文件类型指针的概念,文件的读写

4、实验:

实验

十一、文件的使用

第十一部分 C语言程序设计应用实例(4学时)

1、要求:成功完成“实现通讯录的管理程序”与“贪吃蛇游戏编程实例”训练。

2、内容:

11.1 实现通讯录的管理程序 11.2 学生成绩管理程序

11.3 图形与游戏编程实例

3、重点:强化多种C语句、规则的混合使用,理解结构化程序设计的思路。难点:C语句规则的熟练使用,图形库函数的使用。本课程与其它课程的联系与分工:

先修课程:《计算机应用基础》、《高等数学》、《线性代数》

编写者签名:

****年**月**日 系部审核:

教务处批准:

****年**月**日

c语言程序设计课程教学大纲201 篇5

课程编号:

一、说明

(一)课程性质

本课程应用电子技术专业的必修课。本课程面向的学生主要是高年级本科生。先修课程:数字电子技术、单片机的汇编语言、汇编语言、C语言程序设计。

(二)教学目的

本课程教学所要达到的目的是:从应用为目的出发,通过对C语言基本概念、基本语句、单片机应用系统的初步设计的学习,使学生能利用C语言编写51系列单片机应用程序,熟练使用Keil C编程软件,具有用C51语言进行程序设计的基本技能,培养学生分析问题和解决问题的能力。

(三)教学主要内容

本课程的主要内容:

1.语言的数据类型、运算符、表达式。2.语言的控制结构语句

3.函数与存储模式的特点与应用 4.数组和指针的特点与应用 5.位运算和预处理的特点与应用

6.C51语言在单片机的定时器/计数器,中断系统的应用 7.C51语言串行通信的应用 8.单片机的键盘和显示

重点内容:单片机C程序设计的方法,熟练使用KEIL51集成开发环境,对单片机的软硬件设计有一定的了解,能简单开发单片机以及嵌入式应用系统。难点内容:51单片机的内部结构、工作原理及其功能。

(四)教学时数

总学时64,理论学时,32、实验32,学分3。

(五)教学方式

课堂讲授与上机练习相结合。

(六)适用对象

电子信息工程、自动化、测控技术与仪器专业高年级学生。

二、教学内容及安排

第一章 单片机的C语言概述

教学要点:

理解嵌入式系统的定义、特点及架构;掌握嵌入式系统与单片机、PC的区别;了解嵌入式系统的应用领域;弄清嵌入式系统的发展趋势。教学时数:

2学时

教学内容:

1.1 C语言与MCS-51单片机

(1学时)

掌握嵌入式系统的定义、特点、组成及分类。1.2 Keil C51开发工具

了解嵌入式系统的应用领域。

1.3 C51的程序结构与编程实例(1学时)考核要求:

了解C51语言与汇编语言的优势对比,C51语言与标准C语言的区别。了解KeilC51开发工具。

第二章 C51程序设计基础

教学要点:

本章主要介绍C51的数据类型和存储类型、基本运算与流程控制语句、构造数据类型、函数以及程序设计中的其他一些问题等内容 教学时数:

12学时

教学内容:

2.1 C51数据类型及存储类型(2学时)

介绍C51语言的数据类型,常量与变量、数据存储类型。2.2 C51对单片机主要资源的控制(4学时)

1)C51对单片机应用系统主要资源的控制主要包括特殊功能寄存器的定义、片内RAM的使用、片外RAM及I/O口的使用、位变量的定义。

2)片内RAM的使用、片外RAM及I/O的使用又称为绝对地址的访问。2.3

C51 的基本运算与流程控制语句(2学时)介绍C51的

1)基本运算

2)选择(分支)控制语句

3)循环结构流程控制语句

4)

break语句、continue语句和goto语句

2.4 C51的构造数据类型(2学时)

介绍C51 的构造数据类型主要有数组、指针和结构等。重点讨论数组和指针。

2.5 C51 函数(2学时)

介绍C51的不同函数定义方式。

考核要求:

掌握:C51的数据类型、运算符及表达式;C51语言程序的基本结构及其流程图;函数及选择语句和循环语句的用法。

第三章 单片机内部资源的C51编程

教学要点:

掌握:计算机并行输入/输出、定时/计数器接口、串行接口和中断系统的概念,单片机中断系统的结构、中断源、中断特殊功能寄存器、中断响应过程;串行口功能与结构、工作方式及编程应用;定时/计数器系统的电路结构、特殊功能寄存器及功能和使用方法。

理解:单片机定时和计数、串行和中断的应用。教学时数:

8学时

教学内容:

3.1 单片机的并行口(2学时)

介绍51单片机的4个并行I/O口的特点,了解每个端口既可以按字节单独使用,也可以按位操作,各个端口可作为一般的I/O口使用,大多数端口又可以作为第二功能使用。

3.2 单片机的中断系统(2学时)

介绍51单片机的中断系统的特点,它提供5个中断源(52子系列是6个),具有两个中断优先级,可以实现两级中断嵌套。3.3 单片机的定时器/计数器(2学时)

介绍MCS-51单片机内部的两个16位的可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,第三个称为定时器T2)。它们既可用作定时器方式,又可用作计数器方式

3.4 单片机的串行口(2学时)

介绍MCS-51单片机内部的串行接口的特点。这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。

考核要求:

了解单片机内部的并行口、中断系统、定时器/计数器、串行口的构成及特点,熟练掌握对这些资源的C语言编程,能够利用这些资源实现某些功能。

第四章

单片机外部扩展资源的C51编程

教学要点:

在实际应用的51单片机系统中,很少是由以单块单片机独立构成的,经常需要对单片机的相关资源进行扩展,本章将介绍单片机的并行口、键盘、显示、A/D及D/A等扩展资源的C51编程。

教学时数:

6学时

教学内容:

4.1 并行口扩展的C51编程(2学时)

介绍并行口的扩展方法,有简单I/O口的扩展、利用串行口扩展并行口、可编程并行口扩展等几种方法。

4.2 键盘接口的C51编程(2学时)

介绍在单片机应用系统中利用键盘进行人-机对话,包括人对应用系统状态的干预以及向系统输入数据等。键盘从硬件结构上分并行接口的独立式键盘和行列式矩阵键盘。4.3 LED显示器接口的C51编程(2学时)

介绍LED显示器的显示原理及与MCS-51单片机的接口方法和相应的程序设计。考核要求:

掌握:单片机与键盘、LED的接口原理、技术与方法。

三、选用教材及参考书目

1.选用教材

姜志海 赵艳蕾 主编.单片机的C语言程序设计与应用.电子工业出版社,2008.5 2.参考书目

(1)马忠梅等,单片机的C语言程序设计,北京航空航天大学出版社(2)谭浩强,C程序设计(第二版),清华大学出版社

四、使用说明

1.根据专业不同,当课程学时学分调整时,可适当调整相关内容 2.教学方法

本课程主要采用课堂讲授、实验操作、随堂讨论、作业及练习等多种方式授课。本课程的主要教学环节如下:

(1)课堂讲授:讲授是本课的重要教学环节,是主要的教学方式之一,采用多媒体教学,以丰富教学内容和增强学生的感性认识。

(2)实验操作:本课程是软硬件技术相结合的、实践性较强的专业课,在教学过程中必须通过实验课的配合来加深和提高学生对课程内容的理解。

(3)随堂讨论:通过具体的问题、小课题进行,要注意培养学生自主学习的能力,帮助他们掌握本课程所要求的主要内容。

(4)作业及练习:根据教学进度和学生的实际情况,以小设计为主,通过简单的系统设计,帮助学生加深对知识的理解和掌握。

3.考核方式

理论部分:本课程考试为课程论文的形式。

实验部分:以每次实验的分析设计(实验预习)、实验过程、实验完成情况、实验效果及实验结果分析总结(实验报告)等五方面进行考评,综合得出最后实验成绩。

c语言课程设计设计报告 篇6

C语言是一门通用计算机编程语言,应用广泛。下面是小编为大家整理的关于c语言课程设计的设计报告,欢迎大家的阅读。

高等职业教育的目标及侧重点不同于普通高等教育,其培养的学生在毕业后应能直接上岗,具有熟练的实践操作技能。教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出,高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’,实践能力强、具有良好职业道德的高技能人才”。

因此,加强实践性课程教学,对保证人才培养质量显得尤为重要。我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》精神,针对区域经济发展的要求,灵活调整和设置专业课程,以就业为导向,加快专业课程对应的课程设计改革。目前,我院按照由浅入深、不断深化的教学规律,构建了实践教学三层次四环节的实践课程体系。实践教学三层次包括基本技能、专业拓展、综合创新,四环节包括实验、实习实训、设计和课外实践。“C语言课程设计”是我院信息类专业的必修专业基础课程设计,在“C语言程序设计”课程教学结束后的下一学期进行,历时2周,40学时。课程开设的目的在于培养学生分析问题和解决问题的能力,为学生提供一个动手、动脑、独立实践的机会。

21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。著名的瑞士心理学家皮亚杰认为,知识不是通过教师传授得到的,而是学生在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算规定范围内需达到预定质量水平的一项一次性任务。”

“项目教学法”是通过实施一个完整的项目而进行的教学活动,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习,自主地进行知识的建构,在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。因此,在教学活动中,教师将需要解决的问题或需要完成的任务以项目的形式交给学生,在教师的指导下,以小组工作方式,由学生自己按照实际工作的完整程序,共同制定计划,共同或分工完成整个项目。

在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。在高等职业技术教育中,项目是指以生产或制作一样具体的、具有实际应用价值的产品的工作任务。在技术领域,很多小产品或一些复杂产品的模型都可以作为项目,如:在信息类专业,可以开展微机组装、网站建设、信息管理系统开发、局域网构建、单片机制作、多媒体课件制作等项目;在电子类专业,可以开展报警器、LED、门铃、家电组装等项目;在商业、财会和服务行业,所有具有整体特性并有可见成果的工作也都可以作为项目,如商品展示、产品广告设计、营销策划等。

22项目教学法的基本特征项目教学法与传统的教学法相比,有很大的区别,主要表现在改变了传统的3个中心:以教师为中心转变为以学生为中心;以课本为中心转变为以“项目”为中心;以课堂为中心转变为以实际经验为中心。项目教学法具有以下特点:

实践性。项目“源”于企业,项目的主题与真实世界密切联系,由浅入深,选择的项目具有典型性、实用性。

自主性。提供学生根据自己的兴趣选择内容和展示形式的决策机会,让学生能够自主地进行学习,从而有效地促进学生创造能力的发展。

发展性。长期项目与阶段项目相结合,构成了实现教学目标的认知过程。

评价特殊性。项目型教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现及作业质量,避免了传统的一张试卷定成绩的弊端。测评可以采用自评、小组评、教师综合评等方法。教师只有明确并抓住项目化教学特点,才能更好地完成教学目标。

31教学内容为了更好地开展课程设计教学,经过多次实践和摸索,总结出学生在具体实施项目中一般存在2个方面的知识不足:

第一,在教学内容上,由于前导课程在教学上受学时影响,很多教师对指针、结构体、共用体和文件基本操作的知识介绍不甚完善、系统,更难谈上辅以实例加以消化。对此,针对学生在这些知识点上的掌握程度,利用4~6个学时,实施区别式的、辅导性的、实例化教学。

第二,学生对项目管理知识知之甚少,针对此情况,采用2个阶段实施有别于常规教学的补课行动。第1阶段为项目准备阶段,利用2~4个学时,安排曾经做过项目且做得比较好的学生,现身介绍项目的准备工作、项目实施过程要完成的工作、项目验收及作业提交的工作等。在学生介绍中,教师穿插讲解,辅以点评。第2阶段为项目实施阶段,教师应针对学生发生的问题,及时给予指导,直到学生弄懂为止。

32教学要求切实保证教学质量和教学效果,本着“学以致用”的原则,要求学生做到以下3点:第一要做到“学有三备”,即:在项目实施前做好知识储备,在项目实施中做好安全防备,项目结束时做好被评准备。第二要写好“三书一报告”。“三书”即每个项目组要做需求规格说明书、概要设计说明书、详细设计说明书,“一报告”即人人都要做课程设计报告。第三要做“四自”参与者。“一自”即自律,要求学生自觉履行学生守则和项目实施有关规则,不迟到、不早退、不缺席,实施点名制度,若无特殊原因,有5次旷课者自愿以重修论处;“二自”即自尊,要求学生尊重知识、尊重学习规律、尊重项目组成员、尊重教师、尊重自己;“三自”即自信,要求学生相信自己能够按时、按量、按质完成工作内容,遇到困难时,沉着、冷静,理性地寻找问题解决的办法;“四自”即自强,要求学生不满足自己已有的成绩和以往与课题项目组共同取得的成绩,用创新和超越的思想,做出比以前哪怕是前进一小步的事情。同时也要求教师做好相应的工作,如做好项目整体规划、精心准备、努力激发学生参与行为、为人师表、表扬为主、批评为辅、多分析、精点评等。

33项目实施进程项目教学法是一种生动、灵活、多样化的教学方法。在项目实施过程中,既不能生搬硬套地利用一个时间标准,又不能影响项目实施的整体进程,因此对时间的灵活处理是非常关键的,也是值得商榷的。

34明确项目内容,帮助学生立项立项首先要审题。当学生拿到项目列表时,最不能忽略的问题,就是提醒学生审题。审题恰当对学生以后开展各项工作是关键。审题时,学生首先要考虑自己的长、缺处,做到扬长避短,也就是说审题就是学生自己审自己完成该项目有多大的能力,有没有信心。只有学生明白自己,才可以避免以后实施项目过程中走弯路。同时既要建议学生在组建项目组时,考虑所在组的其他学生的长处和短处,又要尽量避免使被学生认定的差等学生没人愿意与其组合,而成绩好的学生又抱团的现象发生。

根据近几年带课程设计的经验,关于如何合理选择项目,建议教师应从学生的角度考虑以下4个因素,协助学生做好选题:

规模。项目规模太大会影响项目的完整性,项目规模太小难以体现课程的实践性。

难度。项目难度一定要适中,既要激发学生学习的兴趣又不能影响学生的自信心。

实用性。项目的选择应该是现实世界真实的工作任务,具有一定的现实和实用性。

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语言程序设计课程教学大纲201 篇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

在整个课程设计中,我主要负责显示模块。首先在显示成绩模块中,就出现了问题,在哪个文件写程序,鉴此,我查阅了一些书籍和上网查资料,从中得知我们所写的程序基本上都是在“C语言课程世纪.cpp”这个文件中。在起初的编打程序的时候就出现了问题,总是显现有问题,无法进行运行,可是检查了好多遍总是找不到问题出在哪里,后来才发现原来在输入的过程中,是一个地方错误了一个字母,这让我深深体会到在程序设计中细心的重要性。这只是一个小插曲,接下来才是更加困难的过程,写程序。由于在刚开始学习C语言的时候没有太用心,当时的成绩也不够好,导致在最初接到任务的时候无从下手,后来在教材和网络上查了好多资料,才渐渐找到了思路和方法,为了做显示界面,要在对话框中添加各种控件。如列表控件(IDC-LIST1),组框(IDC-STATIC),静态文本中的学生姓名以及各种课程名称,以及以后添加,修改,删除,排序的按钮,这些都保存在C语言课程.rc中,这些都在VC++中通过原有的设定就搞定了,感觉到自己对于C语言的设计有了新的认识。

接下来是使用ClassWizard为控件添加变量,依次添加了LiList,LiName,LiComputerScore,LiCScore,LiDSScore,通过View菜单下的Class Wizard菜单项打开MFC ClassWizard对话框,我添加了相关的变量,对于这次的添加变量,因为有了之前的经验,显得从容了很多,对于一些添加也有了一定的认识。接着是添加WM-INITDIALOG消息映射的初始化代码,依旧是通过ClassWizard中的各种选项添加的,然而在接着输入一些代码时却出现了问题,对于输入什么完全没有思路,通过跟小组成员的探讨,才基本上写出了程序,对于这个程序,我百度了很多,才渐渐明白原来首先要去初始化,然后再设置栏目标题,如LiList.InsertColumn(0,“学生姓名”,LVCFMT_LEFT,70,-1),到底利用什么来设置标题就把我难住了,后来认真看了C语言程序设计这本书,才找到思路,并成功的编写了程序。接下来跟组内的其他成员一起进行了程序设计完之后的主函数的实现和代码的调试,我们任然遇到了一些小问题,比如显示有程序设计问题,但是却不知道为什么无法运行,后来翻阅资料,才懂得指针指代出现了问题,认真修改程序,并且和课本上的相关联的程序比较,才得以让程序正常的运行下去。

c语言课程设计作业(推荐) 篇10

设计一个学生成绩管理系统,该系统记录了全班同学语文数学英语3门课程的成绩,并对成绩进行管理。主要功能如下:

1)具备对成绩的管理功能(添加、删除、排序)

2)具备对课程成绩的统计功能(最高分,最低分,平均分,及格率等)

3)具备按学号、姓名、或课程名查询成绩的功能。

4)具备将学生成绩写入文件,并从文件读入学生成绩的功能

备注:成绩记录以下信息:班级,学号,姓名,课程成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。

设计要求

1.分析课程设计题目的要求

2.写出详细设计说明

3.编写程序代码,调试程序使其能正确运行

4.设计完成的软件要便于操作和使用

c语言程序设计课程教学大纲201 篇11

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

引言

C语言一直在等级考试和实际应用中占有不可或缺的地位,逐渐也成为国内各高校工科专业广泛使用的教学课程。它作为一种优秀的结构化程序设计语言,其功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言能够直接操作底层硬件的特点,既适于编写系统软件,又能方便地用来编写应用软件。

《C语言程序设计》课程处于非计算机专业计算机基础课程3个层次(大学计算机基础、计算机程序设计基础、计算机应用基础)中第二层次,是一门理论性和实践性很强的课程。所以,教学工作者单纯利用传统的教学模式,并不能有效帮助学生在这一课程上获得大步提升。相反,可能增强学生的抵触心理。因此,改革C语言程序设计课程教学模式改革刻不容缓。

一、计算思维的含义

2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊上提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。所以,在这里的“计算思维”不是狭义的计算机编程,而是运用计算机基本概念去求解问题、设计系统和理解人类行为。

二、C语言程序设计课程的现状

《C语言程序设计课程》作为高校理工类非计算机专业本科学生的一门的计算机基础课程,重要性不言而喻。C语言课程更是数据结构、C+面向对象程序设计、操作系统和软件工程等课程的基础,并可为这些课程提供实践工具。但是,一般而言,C语言程序设计所涉及的课程内容较为抽象,而大量的概念及语法更使得这门课程乏味无趣,降低学生的学习兴趣。并且,即便学习了这门课程,很多学生在处理问题时,仍不能利用C语言进行思维、表达,仍未建立起程序设计的计算思维模式,不会运用计算机基本概念去求解问题。

(一)无意识计算思维教学

传统教学模式的教学方式是:用大量的时间讲定义、语法、概念、语句,对学生的要求是注重接受、理解、记忆,讲课方式是老师讲、学生听。学生掌握的只是比较抽象、机械、静止、片面和孤立,他们不知道如何灵活地综合运用这些知识去解决实际问题,缺乏计算思维的培养。

(二)教学形式陈旧忽视整体思维培养

在教学过程中,教学工作者重视理论,轻视了《C语言程序设计》课程的实践性。理论教学与实验教学是两个相互依存、相互促进的教学体系。实验教学相对于理论教学更具直观性和创造性,可以让学生在实验中更好地理解理论知识。《C语言程序设计》虽然已经有了相对独立的实验教学计划,但实验内容脱离实际,导致理论和实际教学相分离,不能有效培养学生的实践能力和创新能力,制约学生整体思维能力的提升。

(三)教学内容偏重语法细节轻视而忽视算法思想

在讲解《C语言程序设计》课程时,教师过分注重C语言的一些语法规则,忽视程序设计部分,从而致使语言与程序设计不能有机结合,忽视了对学生算法思想和能力的培养。如此,突出了C语言程序设计枯燥的一面,难以调动学生的积极性和主动性,同时,对培养和锻炼学生的逻辑思维能力具有局限性,影响学生的问题分析理解和求解能力发挥。明确该课程的重点并非一些语法细则,而是培养学生思考问题、分析问题的思维能力和思维模式。

三、《C语言程序设计》课程的教学改革

《C语言程序设计》是典型的计算思维课程,其中的教学内容也成了计算思维能力培养的重要内容。任课老师可以以解决实际问题为引导,讲授C语言程序设计中最基本的方法,将程序设计中的语法知识有机融入,避免知识太过零散,影响学生的记忆和思维能力,进而消磨学生习积极性。

《C语言程序设计》课程是C语言与课程设计相结合的一门课程,这就要求教师既要讲解C语言的一些语法规则,又要重视程序设计。而对于计算机专业的学生来说“程序设计”应该是重点。所以,在整个学习过程中,就要让学生感觉是在学习“程序设计”,学习如何分析问题,解决问题,而不仅仅是在学习语法规则。相反,如果学生对于C语言的语法规则不熟悉,也会影响编程学习,进而影响学生的积极性。因此,将C语言与程序设计有机结合,是对于教师的基本要求。也是培养学生计算思维能力的一种方式。

在教学过程中,教师应一改传统固化的教学模式,采用多种灵活的教学方法和手段,提高教学效率,加强学生对于计算思维的培养。上课时,教师可以在短时间内把课本的主要思想和问題作引导性的讲授,然后有目的的布置具有一定代表性和实际意义的课题或小型项目,并简单提示解决思路,让学生通过讨论、查资料、做实验等方式完成任务,借此来理解相关知识及应用,达到融会贯通知识的目的。这种方式不仅提高学生学习的积极性和主动性,锻炼学生解决实际问题的能力,而且培养学生的思维方式和能力。

针对形式单一的考试制度,可以加大平时成绩和阶段性考核成绩在课程总成绩中所占的比重。将实践环节和理论环节相结合,加强实验考核,在规定时间内上机并完成实验习题,根据完成习题的数量、质量,记录成绩。如此,实验教学和理论教学同步进行,利于培养学生的思维能力。

四、结论与展望

计算思维不单单关联C语言程序设计课程,更与我们的生活息息相关,在到处都有计算机存在的时代,计算思维也越发重要。《C语言程序设计》课程的教学改革,是希望学生在学习C语言的同时,计算思维同样得到训练,从而提升学生的认知能力,为其专业课程的学习打下良好基础。当然,以计算思维为基础的C语言程序设计课程教学改革也并非是一蹴而就的事情,在这个过程中,我们仍需要不断学习、研究、实践、总结和优化。

参考文献

[1]郑爽,王全民,李秀荣. C语言程序设计课程中培养计算思维的案例教学法研究[J]. 计算机光盘软件与应用,2013,21:210-212.

[2]丁岩,张宇昕. C语言程序设计课程改革与计算思维的培养[J]. 重庆与世界(学术版),2014,01:84-86.

[3]文海英,陈友明,吕兰兰. 基于计算思维能力培养的“C语言程序设计”教学方法探索[J]. 电脑知识与技术,2013,32:7291-7293.

上一篇:顶岗教师实习自我鉴定下一篇:证券投资课程设计报告