c语言在机械专业的应用,高职院校机械类C语言程序设计教学改革探讨

摘 要:C语言程序设计作为高职院校机械类专业公共课程,对于培养学生快速掌握计算机程序设计的能力,更快地适应后续专业课程的学习是很重要的。所以就需要本课程老师能按照本门课程的定位以及机械类专业的需求,较好的实施教学内容的设计和组织,更好的进行教学方法的研究和探讨。通过对机械类专业对于C语言程序设计这门课程的需求进行调研、分析,以培育适应型、创新型人才为目标,以适应专业需要为目标,从课程设置内容、教学方法等方面进行C语言程序设计课程的教学改革。

关键词:C语言;机械类;教学改革

1 教学现状

C语言程序设计作为机械类专业开设的公共基础课,C语言程序设计课程的授课对象为机械类专业的非计算机专业学生。有相当一部分机械类专业学生反映,C语言程序设计课程作为公共课,与他们所学的专业无关,学与不学不是很重要,学生重視程度不够,学生的学习积极性也不高,学生在课前很少有预习、课后不及时复习的现象很普遍。这其中,还有部分学生反映,C语言这门计算机语言已经过时,机械类专业不应该再开这门课,应当开设比较流行的JAVA、C#、.NET等面向对象设计语言课程。[1]

C语言概念抽象、知识点较多、语法较。市面上大部分教材的设置是以语法知识为主线进行编排,所以大部分老师在教学方法和教学内容的安排上都是根据教材来,这样就忽略了学生自我程序设计能力的培养和提高,教学方法偏古板。[2]机械类专业学生大部分都反映C语言程序设计课程枯燥难学,学生普遍反映这门课程对于学生在以后的工作和学习中帮助不大,学生觉得学了也没什么作用,因此很多学生表现出被动学习,只是当做一门考察课来学习。

机械类专业学生一般是在大二第一学期开设这门课,学生已经有的计算机基础知识仅限于计算机基础这门课程,且每个学生对于计算机的熟悉程度差异很大。机械类专业学生经过C语言程序设计这门课程的学习,学生能较好的理解和掌握计算机软硬件的相关工作原理,更好的处理和解决相应的专业问题。为机电一体化应用、自动控制原理、电气控制与PLC、机器人仿真等后续专业课程的学习奠定了一定的基础。

2 教学方法的改革和策略

对于在C语言程序设计课程教育教学中遇到种种问题,本人作为一线教师,总结多年教学经验,同时学习和研究众多一线优秀教师的教育教学经验,借鉴一句话:兴趣是最好的老师,C语言教学也是这样,在C语言教学中,能够培养学生学习C语言的兴趣显得很重要。其次就是注重算法的讲授,从积极培养学生的自主编程能力入手, 采取较适用的案例教学方法的教学改革措施。[3]

2.1 培养学生的学习兴趣

在导学部分,老师就应该运用好教学方法,要能够尽力调动学生的学习兴趣,课程讲授的内容及方式方法应尽量采用学生们喜欢的方式进行。兴趣是最好的老师,也是学生学习的动力。对于一门计算机程序语言课程,C语言也是一门实践性很强的课程,采用案例导入的方式就可以较好的引起学生好学的兴趣,能够让学生较快的了解和掌握程序设计的方法,能够让学生很快的上手编程。所以第一次课的教学显得尤为重要,老师要认真设计和准备第一次课的教学内容和讲授方式,既要让学生觉得这门课是很重要的课程,又要尽量让学生对着门课感兴趣,根据心理学和教育学的相关原理,综合C语言程序设计课程的具体情况,对第一次课从教学内容可做如下的设计:[3]

从一个神奇的数字说起——2147483647。2147483647是一个质数(也叫做素数,即只能被1和其本身整除的数)。发现这个质数的人是伟大的欧拉。1722年他在双目失明的情况下,以惊人的毅力靠心算证明了2147483647是一个质数,堪称当时世界上已知的最大质数。现在通过计算机你只需要一秒钟就可以证明2147483647是一个质数。[4]

2.2 加强实验教学

C语言程序设计作为一门计算机程序课程,是实践性非常强的课程,所以老师讲的再多也没有学士亲自上机操作有用。一周两次课程安排里面,第一次课以老师讲授为主,第二次课以学生上机实践为主,老师辅导为辅的安排。学生上机实验题目的选取要有趣味性、针对性和连贯性等原则,学生要能保质保量完成每次的上机实验内容。教师要求学生在上机前就要把算法和代码设计好,再在上机时进行输入调试,提高上机效率。教师要根据教学内容,将实验设计成简单、普通和困难三个层次,设计一个题目库,让学生自我选择其中的部分题目进行操作。上机实践课程的重点是培养学生写代码的能力,让学生较快的掌握C语言的语法、算法,学会写代码、运行和调试程序。[5]

2.3 采用案例教学法

在C语言程序设计教学中运用案例教学法,不是简单的罗列案例,教师要运用案例很自然的贯彻到课程内容中,再引出并讲授要讲的知识点。案例教学法要求教师注意案例的趣味性和学生对案例的认可度。

在案例教学中,案例既要体现语言的知识点,又要能让学生对案例感兴趣,因而选取什么样的案例就显得尤为重要。在案例的讲授过程中,案例的讲授是为了引起学生的兴趣点,通过对案例的引用分析和讲解,引入学生关注,进而对语法知识点进行讲解。例如:我们在讲授数组这个章节时,可以引入案例:斐波那契数列。数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。 引入这个例子首先就能引起学生的兴趣,让他们先考虑程序的算法,接着老师再引入C语言的数组解决这个问题,进行知识点的讲解。再从数组的概念、数组的初始化、数组的应用等多方面讲解。让学生进行练习,并将课本中的程序进行调试并对数组知识点进行总结。

3 结束语

针对安徽工业经济职业技术学院的实际情况,结合多年C语言程序设计教学实践中遇到的各种问题和情况,从教学方式、教学内容等方面进行了教学改革的初步摸索。经过这些初步的教学改革,能够更好的激发和培养学生对于C语言的兴趣,取得了一些较好的效果,让学生不但能够很好的掌握C语言的常规知识点,也能更好的了解和掌握C语言的编程思想,并能应用到后续的课程学习中。

参考文献

[1]吴燕凤.C语言教学的现状与改革探析[J].大众科技,2012,(07).

[2]杨文耀,陈文波,李杰.“理实一体化”在应用型本科院校C语言教学中的应用探讨[J].信息与电脑(理论版),2017(13):223-224.

[3]胡枫.《C语言程序设计》的案例式教学的设计[J].青海师范大学学报(自然科学版),2010,(04).

[4]啊哈磊.啊哈C语言[M].第1版.北京:电子工业出版社,2013.07.

[5]王军英,马红梅.C语言程序设计教学存在的问题与对策[J].教育理论与实践,2015,(03).

作者简介

宋志飞(1985-),男,汉族,安徽太湖人,讲师,硕士研究生,主要从事蚁群算法及应用、计算机软件及应用、职业教育等方面的研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java开发学习必须了解的基础知识点

面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点&a…

电子琴仿真c语言程序,矩阵键盘模拟电子琴C语言程序设计

原标题:矩阵键盘模拟电子琴C语言程序设计//24c08地址为0xa0#include #define uchar unsigned charunsigned char code table[]{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char sec0; //定义计数值,每过1秒,sec加1unsigned int count; //定时中断…

Java的数据类型及其封装器类

Java基本类型共有8种,基本类型可以分为3类,字符类型char,布尔类型boolean和数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的&…

c语言字符为0和1,//C语言:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回。...

//函数fun:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回。#include #pragma warning (disable:4996)#define N 16/**********************found***********************/int fun( char s[]) //形参不要使用定值{ int i, n ;/************…

Java开发中数据类型之间的转换

1).简单类型数据间的转换,有两种方式:自动转换和强迫转换,通常产生在表达式中或方法的参数传递时。 自动转换 具体地讲,当1个较"小"数据与1个较"大"的数据1起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算。而在方法调用时…

单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题

一、常见问题1、头文件reg51.h和reg52.h其实是一样的,大家两个都可以用。2、main()前面的void可加可不加,反正都是无返回值函数。3、不是每一个程序都要用到死循环while(1),例如点亮一颗LED小灯就不用,只要执行一次就一直是高电平…

c语言栈指针移动原理,C指针原理(4)-ATamp;T汇编

首先我们先用汇编编写一个helloworld,注意我们直接在汇编代码中调用C语言的printf函数将"hello,world\n" 输出在屏幕上。.section .dataoutput:.asciz "hello,world\n".section .text.global mainmain:push $outputcall printfaddl $4,%esppus…

为什么码农要了解业务呢?网友:不是敲代码就好了吗?

分析领域的一位资深人士对我非常无助地摇了摇头。 “这个程序员,不要吃烟花!”我也深深感到世界各地的农民代码都是一样的。 这让我想起了它,也是他。很多年前我提醒过我。——关注业务。从那以后,我一直在匆匆走上技术商业的双重…

c语言中 include math.h,C语言中的(#includestdio.h和#includemath.h)是什么意思?

慕码人2483693include 称为文件包含命令&#xff0c;其作用是把尖括号""或引号<>内指定的文件包含到本程序中&#xff0c;成为本程序的一部分&#xff0c;被包含的文件通常是由系统提供的&#xff0c;其扩展名为.h stdio.h就是指“standard input&output&q…

论程序员如何规划职业路线?网友:从码农到工程师?

很多人可以说对这个话题两个字&#xff0c;三年或五年以上工作经验的编程&#xff0c;老建筑师&#xff0c;设计师&#xff0c;技术副总裁&#xff0c;首席技术官&#xff0c;和自己的观点和实践经验。没有一种方法适合每个人。这套针对软件工程师的专业开发计划只是您在旅途中…

c语言实现socket转json,C++实现json形式的Socket传输图片

本文实例为大家分享了C实现json形式的Socket传输图片的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下大致流程&#xff1a;客户端读取图片&#xff0c;经过Base64编码&#xff0c;转成字符串的形式&#xff0c;保存到json中&#xff0c;通过socket传到服务端&#x…

经常被问到的十个 Java 面试题?你Get了吗?

1. 以满分十分来评估自己——你有多擅长 Java&#xff1f; 如果你并不完全确信你自己或是你对 Java 的熟练程度&#xff0c;那么这会是一个非常棘手的问题。如果有这种情况&#xff0c;你应该把打分调低一点。之后&#xff0c;你大概会得到与你承认的水平相符的问题。因此&…

c语言 函数调用 传值调用 引用调用 传地址调用,C语言中的传值调用和引用调用...

在使用一个音频芯片时&#xff0c;需要用到这样一个功能&#xff0c;即对音量进行调节。在厂家提供的驱动里面没有这样的功能函数&#xff0c;因此需要自行添加。注意到厂家提供的驱动里面包含了一个写入命令的函数&#xff0c;void Vol_Cmd(uint 8 vol), 其中vol是音量的数值&…

Java虚拟机JVM的内部体系结构

JVM(Java虚拟机)是一个抽象机器。 它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台(即JVM是平台相关的)。 什么是JVM&#xff1f; JVM(Java虚拟机)是&#xff1a; 指定Java虚拟机的工作的规范。 但实现提供程序是独立的选择算法。 其实现是由…

Java并发编程——volatile

1. 并发编程的两个关键问题 并发是让多个线程同时履行&#xff0c;若线程之间是独立的&#xff0c;那并发实现起来很简单&#xff0c;各自履行各自的就行&#xff1b;但常常多条线程之间需要同享数据&#xff0c;此时在并发编程进程中就不可避免要斟酌两个问题&#xff1a;通讯…

求ax bx c 0的根c语言,关于求方程ax2+bx+c=0根的问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include#include #include #include"resource.h" BOOL CALLBACK DlgMain(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){DialogB…

c语言递归建链表,递归创建二叉树c语言实现+详细解释

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼void CreatBiTree(BiTree T){char a;scanf("%c",&a);if(a)TNULL;else{T(BiTree)malloc(sizeof(BiNode));T->dataa;CreatBiTree(T->lchild);CreatBiTree(T->rchild);}}虽能编译&#xff0c;但不能正确运行&a…

Java历经20年沧桑,将持续革新

对于企业界来说&#xff0c;很多服务器都部署着Java应用程序&#xff0c;许多物联网设备也都是基于Java技术开发。 20年前&#xff0c;Java为人们带来前所未有的科技理念&#xff1a;一次编写&#xff0c;到处运行。 在此之前&#xff0c;编程语言的种类寥寥无几&#xff0c;…

android动态设置src,Android 代码里设置ImageView的src和background

设置ImageView的src:image.setImageDrawable(getResources().getDrawable(R.drawable.blackk));String pathEnvironment.getExternalStorageDirectory()File.separator”test.jpg”;Bitmap bm BitmapFactory.decodeFile(path);image.setImageBitmap(bm);image.setImageResourc…

Java开发中定时器的使用

在JAVA中实现定时器功能要用的2个类是Timer,TimerTask Timer类是用来履行任务的类&#xff0c;它接受1个TimerTask做参数 Timer有两种履行任务的模式,最经常使用的是schedule,它可以以两种方式履行任务:1:在某个时间(Data)&#xff0c;2:在某个固定的时间以后(int delay).这两种…