论文部分内容阅读
C语言是由美国贝尔研究所的D.M.Ritchie于1972年推出的,其后由于其能像汇编语言一样直接对位、字节和地址进行操作又能弥补汇编语言复杂且难以掌握的劣势,一直在计算机硬件编程领域有着极为广泛的应用。作为电信专业学生的必备基础课程,C语言有着举足轻重的重要地位,是电信专业其他各门专业课的必备基础。因此,C语言掌握的好坏直接影响到学生在后续课程学习的优劣。
一、传统C语言教学的弊端
C语言虽然在电信专业的各门课程中有着极其重要的地位,但是在实际的教学开展中,学生通常会因为C语言的运算符和数据类型繁多以及指针的操作复杂而难以掌握,而传统教学更专注于“教”而不是“学”,更让学生的学习效果难以得到保证,为后续的专业课程设下障碍。传统的C语言教学主要存在如下的一些弊端。
(一)教学方式单一。虽然绝大多数学校在开展C语言课程时都使用了多媒体教学设备,但大多数教师在授课时采用的教学方法就是教师利用多媒体设备演示程序,学生通过演示屏进行学习。由于C语言是基础课,一般学校授课时都是大班教学,单一的教师授课学生被动学习的教学方式难以吸引学生的学习兴趣,再加上班级人数众多,更难以保证学习的实际效果。部分自觉性不高的学生由于课堂中开小差或者从事其他活动会导致某些关键性问题没有听清楚,进而导致后续课程听不懂,到学期中期的课程就基本完全听不懂,以至于完全丧失对该门课程学习的兴趣和信心。
(二)教学方法陈旧。C语言程序课程在我国历史悠久,是计算机专业和电信专业的必修课程之一。但经过这些年的发展,传统的程序语言教学还是保持着教师利用一些例子在课堂上操作,学生被动地接受的这种“填鸭式”教学方法。这种方法没有考虑到学生个体的差异性以及学生对知识的消化接收情况,只是考虑在有限的课时内有没有完成所有知识点的讲授。陈旧的教学方法难以提高学生对课程的学习兴趣及自主学习的冲动,导致实际教学效果不尽如人意。
(三)学生的学习兴趣不高。电信专业类学生都很清楚C语言的重要程度,但是因为前面所列的两个原因以及C语言本身不同于其他编程语言的特点,例如可以直接对计算机底层进行操作;指针难以理解等等,使得学生本身具有畏难情绪,学生对该门课程的学习兴趣大打折扣。加上传统教学模式没有发挥学生的主观能动性,学生只是被动接受知识的客体,导致学生对该门课程的兴趣越来越低。
二、基于实际工作流的C语言教学模式
为了弥补传统教学模式的弊端,提高学生的学习积极性,保证C语言教学的实际效果,笔者根据多年的教学经验提出了基于实际工作流的C语言教学模式。这种模式充分发挥学生的自主学习积极性,变被动的接收知识为主动的自主学习。这种教学模式主要按照如下的步骤开展。
(一)理论与实践相结合,首先将实际工作概念引入到教学中。大学是学生今后走向社会的最后一道桥梁,学生学习的主要目标就是为了今后的实际工作,要充分提高学生的学习兴趣,很重要的一个方法就是将企业的实际工作模式引入到平时的课堂教学中。C语言是电子类产品、嵌入式应用等领域的常用编程语言,教师可以在第一堂课的时候带一个实际的产品给学生,介绍其开发过程中C语言的地位和作用,让学生在刚接触C语言就对之产生浓厚的兴趣和强烈的学习欲望。如果条件允许,老师可以通过课堂上下载现有的C程序到产品中、甚至通过修改程序让产品表现不同的功能效果来给学生演示C语言的强大功能。这种现场演示带来的效果可以让学生对C语言的实际应用有较好的认识,增强他们主动学习的积极性。
(二)实际的教学过程中融入专业背景知识。在实际教学过程中多结合专业背景知识进行讲解,既扩展了学生的知识面,又能帮助学生更好的理解C语言语法等知识。例如在讲C的数据类型的时候,不同类型的数据长度不一样,即便是同一类型在不同的编译环境下,系统赋予的数据长度也不一样,此时,老师不仅可以将传统的Trube C和Visual C++环境中数据长度进行比较,还可以将典型的嵌入式编译环境Keil中的数据类型列举出来和同学们探讨,让他们知道工程师在实际的研发工作中针对数据类型应该注意的问题和有益的经验。这样不仅可以让同学们更好的理解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语言教学的实际效果,笔者根据多年的教学经验提出了基于实际工作流的C语言教学模式。这种模式充分发挥学生的自主学习积极性,变被动的接收知识为主动的自主学习。这种教学模式主要按照如下的步骤开展。
(一)理论与实践相结合,首先将实际工作概念引入到教学中。大学是学生今后走向社会的最后一道桥梁,学生学习的主要目标就是为了今后的实际工作,要充分提高学生的学习兴趣,很重要的一个方法就是将企业的实际工作模式引入到平时的课堂教学中。C语言是电子类产品、嵌入式应用等领域的常用编程语言,教师可以在第一堂课的时候带一个实际的产品给学生,介绍其开发过程中C语言的地位和作用,让学生在刚接触C语言就对之产生浓厚的兴趣和强烈的学习欲望。如果条件允许,老师可以通过课堂上下载现有的C程序到产品中、甚至通过修改程序让产品表现不同的功能效果来给学生演示C语言的强大功能。这种现场演示带来的效果可以让学生对C语言的实际应用有较好的认识,增强他们主动学习的积极性。
(二)实际的教学过程中融入专业背景知识。在实际教学过程中多结合专业背景知识进行讲解,既扩展了学生的知识面,又能帮助学生更好的理解C语言语法等知识。例如在讲C的数据类型的时候,不同类型的数据长度不一样,即便是同一类型在不同的编译环境下,系统赋予的数据长度也不一样,此时,老师不仅可以将传统的Trube C和Visual C++环境中数据长度进行比较,还可以将典型的嵌入式编译环境Keil中的数据类型列举出来和同学们探讨,让他们知道工程师在实际的研发工作中针对数据类型应该注意的问题和有益的经验。这样不仅可以让同学们更好的理解C的数据类型,还可以让他们了解其他的C编译系统。
同样,在讲授C语言中的位运算等知识时,可以结合控制等领域的开关操作以及工程师在实际研发工作中如何利用位的概念来节约存储空间、如何利用位运算技巧来达到事半功倍的效果,帮助同学们更深入地理解位运算规则。这种结合专业背景进行的课程学习不仅仅是帮助学生扩宽了知识面,更重要的是这种学习方式能让学生将理论与实践进行一一对应,帮助学生更好的理解知识点、激发学习热情。
(三)在课程设计中模拟产品的研发过程,按照企业项目流程组织教学。通常的C语言教学都会安排上机实验和课程设计,在这些教学环节中可以将专业中的典型算法放到上机实验中。比如通信中的校验、编码算法,图像处理中的基本算法以及基本的控制算法等,通过上机实验,学生既巩固了C语法知识,又可以通过自学等方式了解本专业其他知识。让他们觉得自己学有所用,这样的学习才有动力。同时,可以在课程设计的环节中给出实际的、简单的产品任务,要求学生模拟产品开发流程完成课程设计。例如,可以设计一个图像处理的课题(比如图像的放大、缩小等)来模拟图像处理软件。对图像处理的工作不要求太难,重点要求学生能够按照产品研发的流程进行项目分析、论证,进行项目的模块化、接口设计等,通过学生的课题实践来熟练运用C语言中的各知识点,通过团队合作来提高他们的学习热情和实践能力。
同时,企业完成实际工作通常会按照调查需求、设计算法、完成代码等步骤来完成整个项目的编程,教师可以将这个步骤引入到C语言的课堂教学中。比如,在每章设计一个能囊括所有知识点的程序,从最初引导学生完成需求开始,一步步地完成整个程序。可将学生团队按照企业项目模式进行组织,模拟整个项目完成流程来进行教学,让学生在课程中学习知识的同时,了解企业工作的实际流程,为今后就业奠定良好基础。
三、基于工作流的C语言教学的优势
基于工作流的C语言教学能够紧跟企业工作步伐,将企业的实际工作植根于课堂,既能提高学生的学习兴趣,又能增强他们的就业能力。
(一)提高学生的学习积极性,变被动学习为主动学习。C语言由于被用在底层开发中居多,学生平时接触较少,又因为其的指针等内容比一般可视化编程语言难等特点使得学生大多对其有畏难情绪。基于工作流的C语言教学模式让学生可以亲自体验C语言的重要性及作用,并通过整个企业工作流程的模拟增强了学生的学习兴趣,特别是团队的自助学习,能够让学生克服畏难心理,变以前的填鸭式学习为自己主动的学习。
(二)让教师的实际工作能力有进一步提高。教师采用该模式进行教学首先必须要掌握企业的实际工作流程,能够了解企业开发程序的整套工作,因此将会促使教师走出课堂,深入企业,将企业的实际工作流程等与C语言的理论知识相结合,对教师的实践工作能力有进一步的提高和促进。
(三)能增强学生的动手能力,为就业奠定基础。基于工作流的C语言教学能够让学生明确企业的用工需求,通过团队合作完成相应的项目提高学生的编程能力和项目协调管理能力,为今后他们进入到实际企业开展相应工作奠定良好基础。同时,能够减少用人单位今后的培训成本,在学校与用人单位之间构建了一座较好的桥梁。
总之,基于C语言的教学模式能够提高学生的学习兴趣,增强他们的实践工作能力;能够促进教师的自我提高和自我发展,促使教学与企业紧密结合;能够减少高校培养与企业用工的不一致性,实现学生、教师和学校的“三赢”。