APP下载

理学专业C语言程序设计教学方法研究

2021-07-12廖彬黄小虎吴鑫成黄榕榕

中国教育技术装备 2021年24期
关键词:C语言程序设计计算思维实践教学

廖彬 黄小虎 吴鑫成 黄榕榕

摘  要 针对C语言程序设计在理学专业程序设计课程群中的作用与教学现状,基于现阶段的本科建设任务与学生特点,合理编排C语言程序设计的理论和实践教学内容,结合教育技术与教育资源的发展,融合线上与线下教学,从而促进学生程序设计、计算思维能力的提高,实现培养创新人才的目标。

关键词 理学专业;C语言程序设计;教学方法;线上教学平台;实践教学;计算思维

中图分类号:G434    文献标识码:B

文章编号:1671-489X(2021)24-0049-03

Study on Teaching Method of C Language Programming for Science Majors//LIAO Bin, HUANG Xiaohu, WU Xincheng, HUANG Rongrong

Abstract In view of the role and teaching status of C language pro-

gramming in the programming course group of science majors, the

paper studies on the theoretical and practical teaching content and

arrangement of C language programming based on the undergraduate

teaching and students’ characteristics. This research is going to im-prove students’ programming and innovation ability by combining the online/offline teaching technology and resources.

Key words science majors; C language programming; teaching me-thods; online teaching platform; practical teaching; computational thinking

0  前言

信息技術已经被大量运用在当前社会的各行各业中,由此导致现阶段我国社会对专业人才的信息处理能力的要求逐渐提高[1]。在信息处理能力中,程序设计能力是必不可少的组成部分,而信息处理中的程序设计能力的核心[2]主要包括编程能力、计算思维和算法能力。

在理学专业本科教学中,程序设计课程群的主干课程由C语言程序设计、离散数学、数据结构、算法组成。学生通过学习此课程群的主干课程,掌握编程基本思想与技能,从而具有程序设计能力、计算思维和基本算法实现能力。其中,C语言程序设计作为专业学习的第一门编程语言,能使学生了解、掌握和运用程序设计的基本概念、原理与方法,从而训练和培养学生的程序设计与程序调试能力,具备程序设计的基本能力。该课程是现阶段大部分学科中程序设计培养的入门课程,通过学习该课程,能为学生后续学习其他编程语言及相关课程打下坚实的基础。

C语言程序设计在程序设计课程群中具有重要作用,同时由于其具有实践性强的特点,因此要求学生在该课程的学习中学以致用,以实现理论向实践的转化,并能充分理解程序设计基本知识,能灵活应用,为后续相关课程的学习做好理论知识与应用能力的准备。在针对理科专业开设的C语言程序设计教学中,结合该课程在程序设计课程群中的作用与教学现状,基于现有的教学设置,合理编排理论教学与实践教学内容,从教学内容和实验设置出发,探索适用于当前理学专业的C语言程序设计课程教学方法。

1  理学专业C语言程序设计课程教学现状

在现阶段的教学中,理论教学与实践教学是C语言程序设计教学的必要组成部分[3],学生通过在C语言程序设计的实践教学中理解与加强理论课所授知识,并通过实践过程提高分析、解决问题的能力。为此,需要根据学生的专业特点有针对性地为C语言程序设计的教学活动合理地编排理论课、实践课教学内容,并充分利用已有的在线教学内容与移动手机端编程方式使理论与实践互相促进,从而使学生能充分理解与掌握该课程知识。

1.1  零起点程序设计教学

在大部分院校早期的理科课程设置中,入校新生一般先学习大学计算机基础课程,其后开始学习C语言程序设计。随着近年来国家在高中阶段对信息技术课程的重视,越来越多的高中开设了信息技术初级课程。与此相适应,许多高校开始对大一新生的信息学课程设置进行改革,将程序设计类课程的教学前移,以期更快更好地提高现阶段大学生对信息技术的掌握程度。

在华南农业大学近年开始实行的部分理科课程教学改革中,在大学本科第一学期即开设C语言程序设计,不再开设大学计算机基础课程,因此,C语言程序设计成为此类专业学生入校后的第一门信息类课程。虽然近年来部分高中开设了信息学课程,但是由于高中阶段的高考主导作用,以及缺少足够的教师、配套硬件等,大部分大一新生对程序设计所需的理论基础知识较为陌生,如计算机软硬件系统结构,进位计数制,二、八、十、十六不同进制数之间的转换,不同数据类型在计算机中的表示与存放等。在此状况下的程序设计教学,与零起点程序设计教学有诸多相似之处。如果在C语言程序设计教学中,不考虑前期课程设置的变化,机械照搬以往的教学编排与教学内容,将在一定程度上增加学生理解与掌握概念的难度,并会影响后续相关课程的学习。

1.2  程序设计教学内容与学生的学习兴趣

C语言程序设计作为专业基础课程,近年来的教学大纲较稳定,教学内容更新不多,这导致该课程的教学内容在一定程度上与实际应用的联系不太紧密。随着信息技术在社会生活方方面面的使用,学生日常对科技知识与科技信息的获取更为便捷。同时,近年来随着自主意识的增强,学生的创新思维更加活跃,由此引发了他们对课程所学知识与专业应用、工程应用联系的关注。若在授课中仅使用传统案例讲授与展示学科知识,则难以调动学生的学习积极性,不利于激发学生的学习兴趣,导致不利于创新人才的培养。对此,通过将学生专业的相关应用实例适度引入传统教学内容,借此提高学生的学习兴趣,达到实现培养创新人才的目的。

1.3  后续课程的衔接

在程序设计课程群中,C语言程序设计的后续课程通常包括数据结构、算法分析与设计。数据结构主要介绍使用计算机解决问题时组织数据、存储数据结构以及在各种结构上执行操作的方法。算法分析与设计教学内容一般包括递归法、分治法、动态规划算法等。通过数据结构和算法的结合,培养学生解决实际问题的能力。在传统教学中,数据结构讲授的数据关系较为抽象。在算法分析与设计教学中,培养学生分析与设计算法的能力是教学目标之一。若前期C语言程序设计中的知识与实践掌握不牢,将影响后续对数据结构、算法等相关课程知识的掌握。C语言程序设计、数据结构和算法分析与设计作为程序设计课程群中的主体课程,教学目标都包括培养学生解决实际问题的程序设计能力,然而在传统教学中,这三门课程的教学与实验相对独立,课程间的实验内容较少衔接与统一。为了实现課程群间相关课程的延续性与一贯性,需要在C语言程序设计教学中为后续数据结构、算法分析与设计的学习适当引入相关内容,循序渐进地逐步构建数据结构与算法的知识体系,实现程序设计课程群中各门课程知识的统一与衔接。

2  理论教学、实践教学与教学手段的改革探索

在C语言程序设计教学初期,需要先为学生巩固相关的数据表示与存储、进制转换的概念;在教学后期,需要有针对性地强化学生的程序设计能力,为后续的数据结构、算法知识的学习打下良好的基础,并通过程序设计的学习与实践,提高学生的程序设计和实现能力。在线下的面授教学中,充分利用疫情期间建立的线上教学平台与取得较好效果的线上教学经验,将适宜的线上教学手段与合理设计、编排的程序设计教学内容相结合,使学生更好地掌握与理解C语言程序设计知识,并能建立起程序、数据结构和算法之间的联系。

2.1  理论课教学内容与案例设计

C语言程序设计课程是学生接触的第一门程序设计语言,其包含的概念、原理、方法较多,技巧灵活且繁杂,需要针对所学专业学生的特点进行合适的教学内容设计。考虑到大部分理学专业新生对程序设计所需的信息技术基础了解不多,在实际教学中,在讲授程序设计内容前增加讲授程序设计所需的信息技术基础知识的内容,具体包括计算机系统基础知识、微型计算机的硬件组成、数制及其相互转换、数值数据编码、西文字符编码。学生掌握了这些信息技术基础知识后,将能较好地掌握与理解程序设计中诸如数据类型与存储、变量与常量、表达式与运算、输入与输出等知识。

由于理学专业后续的专业课程中通常涉及较多的数值计算、数据分析等,若学生能在程序设计学习中尽早地掌握信息化手段,使用程序设计知识完成数据分析等任务,将极大地提高专业学习兴趣并能提升专业素养,有助于培养创新能力。为此,在C语言程序设计教学中主要使用数值计算、数据分析等作为教学的示例案例。如在讲授了选择与循环知识点后,使用示例程序“水仙花数的判断”展示选择与判断的综合使用。通过引入此类内容,既能对已学的程序设计知识进行简单回顾,也能为后续的数值计算、数据分析等相应概念的表示与实现打下前期基础。

2.2  实验课教学内容的设计

在程序设计课程群中,实践教学作为C语言程序设计知识内化的有效途径,有助于提升学生的探究与创新能力。针对C语言程序设计的实验需要设计能有效检验知识点的实验内容。以循环的实验为例,实践教学安排的实验内容为“整数间的数制转换”。数制转换的基本方法是大学计算机基础课程的内容,在C语言程序设计中进行了补充学习,且通常大部分理学专业学生能较好地掌握。通过数制转换的编程实验,既能考查学生对计算机基础知识的掌握与理解情况,也能反映学生对循环、选择、输出格式控制的掌握情况。

2.3  线上线下融和

近年来,随着个人电脑、智能移动设备的普及以及网络建设的发展,在线教育具备了推广与普及的条件。各高校纷纷推出在线精品课程、MOOC课程等线上教学方式,对教学空间与广度进行拓展。2020年初,在新冠疫情严峻的形势下,学校教学采用完全在线教学的形式。在此期间,为了适应网络教学的特点,保证学习效果,无论是教学设计还是教学组织,都突破传统,进行重新规划。各门课程的教师利用在线教学的优势,充分发挥信息化教学的优势[4],

积累与总结了许多教学经验[5]。在恢复线下教学后,仍可继续利用疫情期间的线上教学资源、教学优势。

在线下教学中,课前根据教学内容确定学生需要掌握的知识点和相关能力,在学校建立的教学平台上布置课前需要观看的视频并发布预习问题。在线下面授课中,教师先采用讲授的教学模式讲解本课需要掌握的知识点,其后引导学生讨论与交流在预习、自主学习中易出错与混淆的问题。课后通过在线课后作业与测验了解学生对知识点的掌握程度,可迅速地获得学生学习情况的反馈。

C语言程序设计是一门与实践紧密结合的课程。在教学中通过引入移动手机端编程应用,使学生在有限的实践课外能随时随地、快速便捷地检验与测试所学的程序设计知识,更利于学生掌握C语言程序设计的理论知识,并极大地丰富学生的编程实践经验。

3  结语

本文从C语言程序设计与程序设计课程群之间的关系出发,结合现阶段的本科建设任务与学生特点,针对理学专业的C语言程序设计理论教学和实践教学进行合理编排,充分利用现代化的教学平台与教学手段,对现阶段高校理学专业C语言程序设计课程教学进行改革与实践,通过融入线上线下教学的教学改革以提高教学效率,增强教学效果,从而培养学生的创新能力,达到培养创新型人才的教学目的。■

参考文献

[1]张先伟,曲志坚,张立红,等.程序设计能力培养体系建设与实践[J].计算机教育,2019(9):75-79.

[2]蒋宗礼.计算机类专业人才专业能力构成与培养[J].中国大学教学,2011(10):11-14.

[3]杨传栋,范昊,王志军,等.非计算机专业C语言程序设计教学方法研究[J].教育教学论坛,2020(36):284-285.

[4]李薇,黑新宏,王磊,等.C语言程序设计课程的在线教学组织与实践[J].计算机教育,2020(10):37-41.

[5]白琳.疫情期间基于教学共同体的精准在线教学设计:以C语言程序设计课程为例[J].计算机教育,2021(1):36-41.

猜你喜欢

C语言程序设计计算思维实践教学
以“学生为中心”的《C语言程序设计》教学设计探究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
《C语言程序设计》课程的教学改革与实践
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究