Bootstrap

c语言大学生程序设计,大学生C语言程序设计教学方法改革

摘要:程序语言的生命在于应用,学会学习、学会思考、学会生存。学会学习,就是要坚持理论教学与实践教学的紧密结合。本文阐述了有关C语言程序设计教学中存在的问题及对策,面向不同专业的学生学好C语言程序设计的教学方法。

关键词:C语言;教学方法;赛马程序

中图分类号:TP312.1-4 文献标识码:A文章编号:1007-9599 (2011)05-0000-01

Students C Language Programming Students Teaching Method Reform

Li Hongyan

(Shangqiu College,Shangqiu476000,China)

Abstract:Programming language life on application,learning to learn, learn to think,learn to survive.Learning to learn is to adhere to the theoretical teaching and practical teaching closely.In this paper,the relevant C language programming problems and solutions,for students of different professions to learn C language programming teaching methods.

Keywords:C-language;Teaching method;Horse program

一、C语言程序设计教学中以前存在的问题

集中式的讲述(运算符、数据类型);语句的语法讲的多,注意事项一堆;忽略程序的“设计”过程(思维过程);举例死板、单一、分离;相关知识联系不紧密;过于依赖教材。结果:学生学了不会编程,不会应用;考完试就忘了;学习兴趣逐渐淡化;学生不明白,却又问不出问题。

二、面向不同专业的C语言程序设计教学方法

(一)面向计算机专业的教学方法

1.基础知识与实际应用知识相结合的教学方法。在强调基础知识的同时,注意在开发实际应用程序时具有重要作用的知识。如将程序范型、程序测试、代码验证与程序优化、函数栈框架与递归、库与接口、数据存储、数据抽象、算法与程序抽象、面向对象等内容引入课程。

2.关注两部分学生的教学方法。(1)面向大部分学生,对教材上的实例进行详细讲解,使其能够掌握基本的语法、理解教材上的实例,以解决一般类型的问题。另外,从教材习题或参考书中选取有一定难度和代表性的实例进行概要性的讲解,有助于学生学会利用基础知识。(2)面向一些比较突出的学生,给出一些ACM Online Judge上的相关问题,并介绍解题思路,使其能解决更复杂的问题,带动其他同学,增加编程兴趣。

3.实际编程演示互动的教授方法。在课堂上实际编程演示,并运行结果。一方面要体现良好的程序设计风格和编程习惯,同时也反映了教师在编程时的思维过程,从注重结果转向注重过程和方法。

大量地实践证明,学生对编程演示的过程兴致很高,为了进一步活跃课堂气氛,在编程过程中会有意设置Bug,当程序的运行结果与期望的结果不一致或者出现异常情况的时候,学生的注意力会更集中,此时可让学生分析问题的所在。此外,也可以通过对学生程序样例展示,鼓励学生的学习兴趣。

三、面向软件工程专业的教学方法

重实验的教学方法,对于软件工程的学生,比较特殊,我们可以从一些具体实例来作为出发点,具有代表性的案例如下:

(一)赛马程序案例。特点:赛马比赛管理系统贯穿整个实验。分步骤进行,整体是一个demo。

实验1,创建“马术比赛”管理项目的开始部分,让程序能够处理命令行和菜单。

目的:使学生理解语言的基本结构,会使用scanf()、printf()、getchar()、putchar()等函数时行输入输出操作。若能写出简单的函数则更好。

实验2,写一个程序,在马术超越障碍赛中,协助测量时间和记录结果;踢倒障碍物和修复障碍物。目的:进一步理解输入,输出。字符流很有用,如何格式化输出,如何使用时间的头n,其中包括,在单独的n中使用和编制“自己的”代码(定时器)。如果你做到以下两点,将会很好:

能创建一个带参数函数;能把你的代码写在不同的文件中。请参考学习给出完整的程序示例。

实验3,出场顺序设计

定义好参赛者的出场顺序,要添加并存储参赛者和马的数据;确保你的程序是安全的,不会在意外的输入中程序崩溃,能处理错误;打印出整个参赛者列表。

目的:理解结构体,字符串,数组以及迭代器的用法;使用函数以及参数传递来结构化你的程序;最好使用不同的文件来存储代码,你可以使用类和成员函数。

实验4,出场顺序管理

一个骑手能够在不同的马上进行比赛,骑手在两轮比赛后,要有足够的时间来换马;交换两个装备马车出场顺序;添加一个函数,使用户能够非常方便地随机化参赛者的出场顺序;移除、添加、搜索装备马车。

实验目的:学会自学和查找相关资料的能力;学会使用随机函数和迭代器。

四、非计算机专业的教学方法

教学内容:数据类型,运算符与表达式 ,简单的C程序设计,程序的控制结构,函数,数组,指针,结构体和共用体,文件操作。

案例―任务驱动的教学方法“程序设计语言”强调的是“设计”,应当从“设计”入手,以程序设计思想与方法为核心,注重程序的编写过程,选择一个恰当的案例非常重要。案例的选择应当由浅入深,要做到精、准、易。精就是突出重点,目的明确;准就是能够反映欲教授内容的本质;易是简单易懂,不能把学生吓着。

五、学生的学习方法

(一)必备知识。英语基础;数学知识(算法);认识事物的抽象能力;应用的能力。(二)学生应当做的(听、读、写、思)。克服恐惧心理,敢于写程序,尽快写程序;从阅读程序到写简单的程序开始;按自己思维重复编写书上的程序;编写复杂的程序;有几种编写程序的方法。(三)应当培养的品性。诚实规范化的品性,在调试无穷多的Bug时,就体会了“诚实”的意义。简单实用将复杂的问题转化为计算机能处理的一些简单的程序。克服困难,坚持遇到困难,调试不下去,也要坚持,寻求解决问题途径,协作精神通过大的程序体会协作的必要。

参考文献:

[1]克尼汉•C语言程序设计[M].机械工业出版社,2004

[2]谭浩强•C程序设计[M].清华大学出版社,2005

;