C语言程序设计教学探讨,《C语言程序设计》教学方法探讨

2023-10-09 16:20

本文主要是介绍C语言程序设计教学探讨,《C语言程序设计》教学方法探讨,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

41528d3028836879cd698677c3999917.gif《C语言程序设计》教学方法探讨

《C语言程序设计》教学方法探讨 【摘要】针对目前《C语言程序设计》教学效果不理想的问题,结合教学实际,分析教学过程中存在的问题,针对计算机专业新生的教学方法进行探讨,提出需要做好第一堂课的引导,启发式教学,理论课与实验课有机结合以及改革传统的考核方式等建议。 【关键词】C语言程序设计;计算机;教学方法;启发式教学 C语言是一种结构化的程序设计语言,是后续学习《数据结构》《操作系统》等专业课程的基础。它入门简单,特别适合于初学者学习。目前很多院校都将《C语言程序设计》课程作为计算机专业大一新生的第一门程序设计语言课程。 随着计算机的普及,目前刚入学的新生可以熟练的操作计算机,但对于计算机的原理等理论知识的了解几乎为零。《C语言程序设计》课程是他们接触到的第一门专业课,如何进行教学将直接影响学生的学习兴趣。目前C语言的教学没有得到很好的教学效果,学生往往是到了大二、大三阶段,随着计算机专业知识的学习才慢慢理解程序设计的真谛,才真正学会使用C语言编写程序。 《C语言程序设计》课程教学效果不理想的状况普遍存在,很多专业课教师对其教学体系、教学方法等进行研究和讨论[1-4],期望找到提高教学质量的途径。 1 C语言教学中存在的问题 笔者为《C语言程序设计》课程教师,主要针对计算机专业大一新生进行讲授。面临C语言教学效果不理想的问题,在教学过程中不断探索适合的教学方法和手段。首先结合教学实际,分析目前C语言教学中存在的主要问题。 1.1 教学过程中过分注重语法 大多数教师往往在简单介绍C语言特点后,就开始就讲解C语言的基本数据类型、基本运算符与表达式。对于初学者来说,接受这些内容很困难,即使是有些学生记住了,但也不是真正理解了这些内容在程序设计语言中的作用。这将导致初学者感觉C语言是很难学、很枯燥的一门课程,一开始就无法理解。同时也忽略了学生程序设计思维方式和编程能力的培养。 1.2 教学方法以教师讲解为主 C语言目前的教学方法主要是板书结合幻灯片演示,以教师的“教”为主体,主要讲授C语言的基本语法及基本编程思想。这种教学方式下,学生主要以听为主,被动学习,枯燥的内容无法吸引学生注意力,也无法调动学生积极性,得不到良好的教学效果。 1.3 教学课时少,教学内容多 C语言程序设计入门容易,深入难。三种基本程序设计之后还包括数组、指针、结构体等内容。而《C语言程序设计》的课程往往是32理论学时,在有限的学时内完成所有C语言程序设计的内容,就出现课时少、教学内容多的情况,无法定期的对前面内容进行总结和练习,令学生无法透彻理解所学内容。 1.4 课堂教学与实验教学脱离 由于教学条件的限制,大多数高等院校的C语言课程都是将理论课与实践课分开进行。理论课所讲的内容,学生听过之后,没有亲手实验,导致记忆不深,理解不到位。到实验课时,已记不清理论课所讲的内容和注意事项,教师需要在实验课上将关键知识点再重复一遍。这种情况减少了学生的练习时间、增加了教师工作量,也反映了这种教学方式的不合理,课堂教学没有起到应有的作用。 1.5 考试方式古板 目前的C语言考试方式主要是闭卷考试。考试题目通常包括选择、填空、阅读程序等题目,这些题目考核的只是C语言程序的基本语法,而忽略考核学生的程序设计思维方式和编程能力。 2 C语言教学方式探讨 针对C语言教学中出现的问题,我们就如何对大一新生开展C语言程序教学进行探讨。使初学者能够真正理解程序设计的本质,认识到程序设计语言的重要性,提高学习积极性,主动学习,从而培养学生程序设计思维方式以及编程能力,为后续学习打下基础。 2.1第一堂课的引导 《C语言程序设计》是计算机专业新生接触到的第一门专业课,也是第一门程序设计语言课程。第一堂课的内容至关重要,它决定着学生是否对此门课程感兴趣,也决定着后续的学习质量。笔者在实际教学中发现,第一堂课的引导必不可少。引导的内容如表1所示,主要向学生介绍程序、程序设计语言、程序设计的概念,以及程序设计语言的发展历程。介绍三个概念时,从学生的角度出发,从他们熟悉的软件着手进行讲解。让学生从总体上了解到本门课程的大致作用以及意识到本门课程学习的必要性。 在学生已经对本门课程有了大概的了解,对程序设计语言有了总体的认识之后,再去从计算机的发展历程和当时的实际需要出发介绍程序设计语言的发展,让学生了解C语言所处的位置及基本特点。理清学生思路,同时也激发了学生的学习兴趣。这时可以以学习外语的过程为类比,告诉学生接下来要学习“单词――数据类型”。 2.2有效选取教学内容,启发式教学 C语言课程,教师主要的教学目的是培养学生的编程思维以及编程能力,而不是将C语言的所有语法及知识点都传授给学生。所以教师应该选取基本的教学内容,采用启发式教学,这样既解决了课时少的问题,同时也培养了学生的自学能力。 以C语言中的构造数据类型为例,当给学生讲解数组时,启发学生自行思考,让学生掌握学习方法,并通过反复的练习培养思维方式和编程能力。学生在掌握数组使用方法的同时,也了解了整个学习过程。而后续的结构体内容将不在课堂上讲授,而是鼓励学生自行学习,抽出时间为学生答疑,培养学生自学能力。 2.3理论课与实验课的有机结合 理论课与实验课的分离导致理论课无法起到应有的效果。对于《C语言程序设计》课程最佳的上课方式应是将二者合二为一。老师讲解基本理论之后,学生可以马上对所学知识进行实验,加深理解。然而并不是所有的院校都具备这样的教学条件,当不具备条件时,教师应该在理论课上让学生自己动手写程序,调动学生积极性,打破被动学习的局面。而在实验课上,教师应重复理论课中的重要知识点,同时教师需要设计好实验方案,使学生循序渐进的对所学内容进行练习。实验课内容应以学生的创新为主,而不应该是让学生机械的验证教科书后的程序。 2.4改革期末考核方式 C语言的考核方式也不利于培养学生的思维方式以及编程能力。教学过程中无论是教师的“教”还是学生的“学”暂时还无法脱离最终的期末考核。而目前的考核方式往往会令学生,甚至包括教师偏离最终的教学目的。因此需要对目前C语言程序设计的考核方式进行变革,可以用上机考核代替笔试,这样可以充分体现学生的编程能力。或者将最终的期末考核变换为类似毕业设计的小型课程设计。我们最终的目的是为考核学生的思维方式和编程能力,具体形式还要根据各个院校的要求以及学生的特点决定。 3 结语 作者针对目前C语言程序设计教学效果不理想的状况,分析了目前此门课程教学过程中存在的问题,并结合自身的教学经验,对计算机专业新生的《C语言程序设计》课程的教学方法提出了几点建议,作者将会在后续的工作中验证这些教学方法的效果,并不断进行改革和完善。 参考文献: [1]赵钦,郝丽珍,郭鲜凤.高级程序设计语言教与学切入点探析[J].太原大学学报,2012(13):114-116. [2]鲁红英,肖思和,孙淑霞.“C/C++程序设计”课程教学改革与实

这篇关于C语言程序设计教学探讨,《C语言程序设计》教学方法探讨的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/174083

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码