APP下载

新工科背景下的“C语言程序设计”教学改革研究

2022-07-10杨旭鹏刘付勇方雪欣

科技风 2022年16期
关键词:C语言程序设计C语言程序设计

杨旭鹏 刘付勇 方雪欣

新疆科技学院信息科学与工程学院 新疆库尔勒 841000

1 概述

为深化工程教育改革,建设工程教育强国,教育部积极推进新工科建设。在新工科建设中,要求专业基础课程要发挥自身优势,在教育教学改革中起到排头兵的作用[1]。“C语言程序设计”在大学理工科专业教学过程通常是一门专业基础课,同时也是一门锻炼学生创新能力和实践能力的应用型课程。本课程的主要目标是培养学生通过程序语言来分析和解决实际生活中问题的能力,进一步提高学生工作以后的项目实践和算法设计能力。

“C语言程序设计”是面向大学一年级所有专业学生开设的通识类思维教育课程,作为实现创新思维和创新能力培养的核心课程之一,在大学生的知识体系中占有重要地位。对于信息类相关专业的学生而言,程序设计是专业基础知识,是进一步学习其他专业知识的起点。对于非信息类专业的学生而言,通过程序设计课程的学习,有助于理解计算机的核心原理和解决问题的基本步骤,从而能自觉地将计算机技术和专业领域问题相结合,为专业领域问题的解决提供一种更好的解决思路和解决方法[2]。“C语言程序设计”作为低年级本科生初次接触的程序设计语言必修课程,在学习的过程中必定会存在许许多多的问题,特别是在程序设计逻辑思维方面有一定的难度,而这一点是程序设计必须具备的基本要素,而在传统的课堂教学模式中,授课教师重点只放在讲述“C语言程序设计”基本语法、句法、数据类型等知识点,教学过程中忽视了学生逻辑思维的培养,这样一来对后续课程的学习没有打下坚实的基础。另外,“C语言程序设计”这门课其实主要是围绕C语言数据类型、语法特点这一主干线来讲述的,因此要学好C语言就必须让学生知道C语言各种数据类型在内存中的表示形式及处理过程,只有这样才能够让学生真正领会和使用C语言来解决实际应用问题。因此,本文结合新工科建设的理念和要求,提出以学科竞赛为载体项目式教学模式,有效改善了C语言教学效果,提高了学生的学习动力和实践能力。

2 教学中存在的问题

2.1 学生自身的畏惧心理

在教学过程中首先遇到的问题就是大部分学生会对“C语言程序设计”产生一定的畏惧心理。主要是因为大学里C语言程序设计一般作为低年级理工科专业本科生初次接触的程序设计语言必修课程,此时,学生刚进入大学阶段,需要一段时间适应新的学习状态,不同于监督性较强的高中阶段,大学更多的是依靠自己的自律能力,因此缺乏了对学生的监督,导致学生会存在一定的惰性。其次,“C语言程序设计”对学生来说是一门全新的课程,学习内容与方法和以往高中的学习有很大的区别,理解过程中有一定的困难。C语言正如它的名字一样,是一种语言,只要认真去学,理解它的思维,学好就变得很容易。学习编程一定要多动手,不能只看不练,C语言是一门实践性很强的课程,只有独立地去敲一遍代码,才能体会其中的精髓,才能理解每一步的由来,进而慢慢养成C语言的逻辑思维,学习C语言时也要努力地学好其他课程,因为其他的课程对于辅助学习C语言也很有帮助,尤为重要的是高等数学和英语。同时有兴趣可以了解一下数据结构和算法,该课程对学习任何一种语言都至关重要,同时可以为以后学习其他语言打下基础。总之,建立兴趣与自信是学好每一门课的关键。

2.2 实践教学效果不理想

“C语言程序设计”课程作为一门实践性很强的计算机基础课程,它不仅有利于提高学生的编程能力、思维能力,培养学生的实际动手能力和创新能力,也将对学生日后深入学习计算机专业知识有很大的帮助。而在传统的教学过程中,由于一些客观条件的限制使得学生上机实践能力欠缺。师生之间对程序编写过程中出现的问题不能及时地沟通,加上C语言本身就具有一定难度,很容易使学生感到厌倦,无法产生浓厚的学习兴趣。任何教学方法只有在一定的条件下才会显示出优势或不足,任何一种教学方法都有其适用范围[2]。要教好一门语言的实践课,关键在于激发学生的学习兴趣,让学生主动、愉快地学习,满足他们的求知欲,这样才能取得良好的教学效果,这也是教师以后的教学工作的一大目标。

2.3 创新能力的培养

创新人才培养模式着力培养学生的创新意识和实践能力,是党和国家对高校本科教育教学工作的重点要求。学科竞赛是创新人才培养的重要载体,对全面提高学生的综合素质、培养学生创新能力、提高教学质量、促进高校教育教学改革具有独特的和不可替代的作用。学科竞赛内容通常都具有一定的应用背景或项目背景,内容广泛,综合性强,往往涉及多个学科领域的知识,参赛团队往往是多个专业或几个学科学生的集合。我校在蓝桥杯软件和信息技术专业人才大赛、全国大学生电子设计大赛、全国大学生计算机设计大赛、全国大学生信息安全大赛等竞赛活动中,积极鼓励、引导学生跨学科、专业和年级组队参赛,以促进学科知识的应用、交叉与融合;同时,鼓励更多的学生参与进来,直面有应用背景和应用潜力的实际问题,达到锻炼和提高实践能力的目的[3]。参赛的过程就是学生独立分析问题、解决问题的能力得到了锻炼和提升的过程,参赛者在这一过程中积累了宝贵的人生财富。

3 C语言项目式教学

3.1 项目式教学

项目式教学是一种以学生为中心,结合理论与项目实践的教学方式。对C语言课程程实施项目式改革,通过项目实践的方式完成学习任务,更有利于理论与实践的结合,提高学生的自主能力和学习兴趣。项目式教学突出了学生的主体地位,切实做到以学生为中心,强调学习的主动性与探索性[3]。学生完成项目的同时,可以根据项目的实践提出新的创新点,由简单项目到复杂项目,学生一步一步提升自己的能力,提升了学生分析问题和解决问题的能力。

3.2 基于项目式的教学模式

基于项目式的教学方式的本质是属于探究式的教学方法,对理论教学效果的提升具有很重要的意义。利用项目实训操作,将基础理论知识点与项目实践紧密结合,引导学生以项目实践需求为目标,培养学生学习相关知识的积极性,探索合理的解决方案。学生通过解决实际问题会有很大的获得感,从而激发学习热情。项目教学的核心目标主要有以下几点[4]。

整合学习内容与学习目标,培养学生的综合能力。每个项目都有一个明确的主题以及真实而具体的情境,学生围绕该主题展开探究,在活动中围绕项目主题构建起新的知识体系,掌握一定的技能,并且在项目结束时产生相关的作品。在探究过程中可能需要综合利用多学科或多领域的知识和技能来解决问题,并且还需要通过学习书本知识、考察调研等多样化的途径来完成任务。项目式学习的强大功能在于能够使教师统合多种学习目标,不但包括课程内容的学习,还包括具体技能和思维习惯的养成。项目式学习也强调学生的个性化学习。项目式学习必须充分考虑学生的兴趣、特长,只有当学习的话题、内容与学生的实际生活和兴趣点相契合,才能促进真实学习的发生。在小组的合作学习中,每个学生都积极主动地去探索、尝试,这有利于学生发挥特长,有助于培养每个学生的责任感与协作精神,使其体验到个人与集体共同成长的快乐。

以学生为中心,强调学生的合作学习与个性化学习。项目式学习中“学”的本质是以学生为中心的学习[5],在项目式学习中,学生是自己学习的决策者,学生直接参与学习过程,从收集信息、制订计划、选择方案、实现目标、反馈信息到评价成果,通过问题的解决和任务的完成,主动构建自己的知识。团队协作是项目成功的关键。在项目式学习中,合作学习是必要的,也是重要手段。在以个体为主的独立学习和独立思考的前提下,项目式学习要求团队成员取长补短,在互相帮助和共同分享中完成多样化的学习,为了共同的目标协同努力,既分享自己的智慧,贡献自己独立学习的所得,又能在合作中汲取营养,完善自己的知识体系,形成知识建构。学会合作学习是项目式学习的重要能力,比如,学会倾听、解决分歧、管控冲突、适当妥协、合理存疑、换位思考等,这些都是合作学习中非常重要的情感品质。

以教师为辅助,重在发掘和调动学生的潜力。在项目式学习中,教师的角色是多重的,在项目过程会有不同的角色:领导、管理者、教练、观察者、促进者。教师最重要的是能够发掘和调动学生的互动和潜力,促进学生的自主学习和合作学习。教师应能科学地设计项目,帮助学生创建或调整一个项目,设计项目时要允许学生有选择的自由,同时要确保项目与课程标准的一致,把项目式学习贯穿在教学活动的全程,确保学生能参与到学科的核心概念与原理的学习中,确保项目活动本身就是教学的中心。教师要能为学生的学习提供支架,与学生一起参与学习和创造,判断学生在项目研究过程中的不同需求,能使用各种课程、工具和教学策略来支持所有学生实现项目目标。教师也要参与到项目管理中,与学生一起组织任务和时间表,设置检查点和截止日期,找到和使用资源,创建产品并将其公之于众,还能采用基于表现的评价方法评估学生的学习,考核学生综合运用知识与技能、解决实际问题的能力,鼓励学生对自己的学习成果、自学能力、管理能力、合作精神等进行客观的自我评价,总结自己的体验;鼓励学生之间进行相互评价,促进对教学目标、学习过程和学习成果的反思。教师也要帮助建设有利于项目式学习的文化氛围,促进学生的协作交流,形成健康积极的学习共同体。

4 以赛促学

“以赛促学”是指通过参加学科竞赛,有效地提高学生的学习质量,从而促进学生努力完成学习任务。随着国家对程序设计人才培养的重视,与程序设计相关的学科竞赛受到广泛关注,蓝桥杯全国软件和信息技术专业人才大赛属于全国高校一类学科竞赛,是教育部《全国普通高校学科竞赛排行》榜内竞赛项目[6]。竞赛旨在提高学生程序设计创新能力与解决实际问题的能力发现优秀的计算机专业人才,实现以赛促教、以赛促学、以赛促改、以赛促创,引领并促进全国程序设计教学改革与人才培养。作为转设为公办本科院校不到两年的本科高校,新疆科技学院在各大程序设计竞赛中获奖数量显著,组织学生参加蓝桥杯的比赛也取得了较好的成绩。2021年获得了蓝桥杯自治区一等奖2人,自治区二等奖6人,自治区三等奖3人;蓝桥杯国家级优秀奖2人。针对如何提高学生竞赛能力,新疆科技学院将学科竞赛内容融入课堂。为了进一步提高学生程序设计能力和竞赛水平,新疆科技学院指导教师团队在赛前会组织参赛学生进行培训,彻底实现专业教学与赛事的融合。学院开设“C语言程序设计”课程,其目的就是为了提高学生编程能力和竞赛水平,老师在课堂授课过程中穿插竞赛知识,做到相互融合,相互促进[7]。通过不断的教学实践改革,课程体系建设更加符合学生的学业需求,学科竞赛成绩逐年提高,教学改革效果突出。

结语

本文从培养学生的动手能力和解决问题能力出发,以学科竞赛为载体,提出了一种基于项目的“C语言程序设计”教学模式。本文首先对传统“C语言程序设计”教学模式中的一些问题进行简要分析,其次提出了项目式教学的阶段化训练方法及C语言教学项目训练的优点,最后提出以程序设计竞赛为载体,通过“以赛促学”,提高学生分析问题解决问题的能力,培养学习积极性。同时提高教师教学改革的积极性,真正提高人才培养的质量。

猜你喜欢

C语言程序设计C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
PLC梯形图程序设计技巧及应用