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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路