黄丽韶
(湖南科技学院,电子与信息工程学院,湖南 永州 425199)
学术探讨
校企深度合作下的C语言课程教学改革探索
黄丽韶
(湖南科技学院,电子与信息工程学院,湖南 永州 425199)
本文尝试在校企深度合作办学模式下,提出C语言课程实训创新模式,摆脱传统的“理论知识+实训案例”的简单模式,将C语言课程实训教学项目化、专业化和职业化,以真实的企业项目案例为载体,循序渐进地引导学生完成实训项目开发流程,使其专业知识得到巩固,专业技能得到提升,从而在项目执行力、职业技能与素养方面得到有效锻炼。
C语言;校企合作;实训创新模式
在企业专业实训的真实工作环境中,以项目组的工作方式实现完整项目开发过程,实现高素质软件人才培养的重要实践教学环节,是集中训练学生的科学研究能力、工程实践能力和创新能力的必要一环,是对学生综合运用多学科的理论、方法、工具和技术解决实际问题的真实检验,对全面提高教育教学质量具有重要意义。
C语言本身的语法规则灵活,数据类型多样,使得学生普遍觉得该课程难度较大,尤其在实践环节中问题更多。
首先,通过传统的案例模式,学生能够将知识点掌握,但并不清楚各个知识点之间的联系,以及如何在实践应用开发中去运用。其次,在现有的教学实训模式中,学生不具备项目分析和拆分的能力,不能了解C语言函数表示软件的功能点,而且调试程序的基本能力也有所欠缺,也不能独立进行资料的查阅,不会借助帮助文档提高编程能力。再次,C语言的传统教学是要求学生在教学的最后完成一个项目,而到了学期末,学生忙于复习和准备期末考试,对项目的完成存在任务式和敷衍了事的现象,不能形成初步的模块化思维,也不能很好地掌握程序设计规范,更加无法形成自己的编程风格。
基于此,本文提出校企深度合作下的C语言课程实训创新模式,可强化学生对理论知识的理解,培养模块化程序设计思想和实际编程能力。
作为高等院校计算机科学与技术专业的一门专业基础课程,C语言是学生程序设计入门的第一门课,是后续计算机课程的基础,学生对它的掌握程度直接影响到后续课程的学习,所以C语言具有重要的地位和意义。
我们尝试在校企深度合作办学的模式下,与知名企业开展专业共建,在沉浸式实训模式创新、课程研发、实践教学资源建设等方面进行探索。深入生产实践、把握主流技术、遵循教学,以提高学生的综合分析和解决实际问题的能力、项目开发的能力、项目管理能力和创新精神。以下从C语言课程的一个企业实践项目(推箱子游戏设计)为例,探索如何进行校企深度合作下的C语言课程教学改革。
3.1 问题的提出
在校企深度合作模式下的企业项目开发中,问题的提出主要完成的是项目的描述工作,提出项目的要点和基本需求分析。比如在推箱子游戏中,项目的描述就要关注以下几个方面:推箱子游戏是在一个狭小的仓库中,把木箱放到指定的位置,通过控制人的走向来推箱子移动;箱子只能推动不能拉动,一次只能推动一个箱子;稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙地利用有限的空间和通道;这款小游戏可以锻炼一个人的逻辑思维能力,可玩性很高,因此在电脑、手机上非常受欢迎,如果自己动手开发这款游戏,既可以了解游戏开发的流程,又能大大增加对编程的兴趣。
最后,完成项目的功能模块设计。比如,推箱子游戏中的功能模块主要有:提供菜单界面,说明程序使用和游戏玩法的介绍;创建游戏地图;移动,人或人和箱子的移动,接受用户输入的一个字符,控制人的方向,并且可以在允许的情况下推动箱子;时间、步数的统计。时间统计是从进入关卡到完成关卡所花费的时间,这个结果只在完成关卡时最后显示。步数的统计是从进入关卡到完成关卡所走的总共步骤,这个是实时变化的。
3.2 细化项目的目标
在教学过程中,这一步主要完成项目目标的细化工作。对于刚入学的大一新生来说,没有项目开发经验,必须在这一步将目标详细列出来。在推箱子游戏中,项目应该细化成:开始界面提供用户选择关卡,在游戏过程中会记录坐标和步骤等信息,用户不想玩时可以随时按“Q”键退出。当用户完成关卡时,显示通关所用时间和步骤。
3.3 实施过程
这一步的教学设计,主要集中在项目的设计思想、函数设计思想和项目实现。在推箱子游戏中项目设计的思想是:根据项目描述,在确定功能之后,需要确定游戏的整体流程,进入欢迎界面后,用户可以选择关卡,在玩游戏过程中用户可以随时退出,通关后也可退出,给出整体的流程图。这里还要明确3个核心问题:生成地图、实现人或人和箱子的移动、通关判断。首先,生成地图的原理。推箱子是平面的,需要一个二维坐标,二维坐标两个轴为X,Y轴,电脑屏幕坐标是左上角为起点。有了地图坐标之后就可以在上面摆放不同的元素形成游戏画面,本游戏基本元素有墙、空地、人、箱子、目的地,另外为了游戏的人性化,当箱子到达目的地之后新加一个元素以示区别,为了地图的完整性还增加了一个元素,因此本游戏一共有7个不同的元素。另一方面,要用程序表示地图。地图坐标看上去就像一个二维数组,实际上也是通过二维数组来表示的,一维代表X轴,二维代表Y轴,数组中每个元素代表一个地图格子。本游戏地图是10行12列。其次,实现人和箱子的移动。为了清楚地讲解人的移动,需要先给学生讲解动画效果是如何实现的。说到动画效果必须说到电影,电影里面的画面之所以能动,原理是每秒钟切换不同的24张画面,利用人眼的残留效果实现连续动画的效果。最后,通关判断。通过就是当用户玩游戏达到预定的条件之后,提示用户完成的关卡,游戏通关要将所有的箱子推到目的地。另外在通关后给出通关的信息。
另外,大一的学生不太会分析项目的各个要素,需要教师带领学生进行函数设计思想分析,主要是通过项目描述,完成游戏的几个核心函数:游戏关卡地图选择、画地图、游戏相关说明、控制游戏、具体移动一步、通关判断。完成选择关卡地图,将原来设计好的游戏关卡地图复制到map变量中,只需执行一个简单的二维数组的拷贝操作。完成打印出本关卡地图,地图的打印就是循环打印出二维数组中的内容,根据内容显示对应的字符。完成打印游戏相关说明,如字符意义、游戏玩法等,这个没有什么功能,只要合理安排相关说明信息即可。完成在地图中找到人的坐标,以便为后续人的移动提供位置信息,找到人的位置就是在数组中找到符合人这个字符对应的值即可。这里需要注意一点,人的位置值有两个:一个是站在空地上,一个是站在目标位置上,这两个值都算人的位置。完成人移动一步的函数,这个函数最复杂。首先需要找到人的起始位置,开始移动。人向四个方向移动的原理是相同的,可以先研究一个方向的移动,找到人的位置后,以人向上走为例。第一,要判断人前面,是否为空地,是空地则可以移动;第二,如果人前面是目的地,人也是可以移动的;第三,如果箱子前面又是空地,则可以移动,改变箱子位置的数值元素;如果箱子前面是目的地,和上面说的一样移动,只是多了记分这一步;第四,如果箱子前又是空地,则可以移动箱子,但是要减分,改变空地位置的数值元素,判断人和箱子原地的数值元素,并改之;如果箱子前是另一目的地,方法同上,只是不减分。完成玩游戏关卡即通过按键控制人物的移动并判断是否完成本关卡。完成关卡完成判断函数。每个关卡都有一个通关判断,关卡1需要得到1分,如果得分为1即通关,关卡2需要得4分,关卡3需要得8分。这是一个简单的条件判断函数。可以带领学生完成函数的伪代码,由学生自行去实现。
3.4 小结与拓展
教学设计的最后一步要完成小结和拓展,以帮助学生进行下一步的工作。推箱子游戏从地图生成到游戏动画效果实现,既能让学生掌握扎实的C语言编程知识,又能将这些知识应用到更灵活更复杂的应用中,比如二维数组能够形成地图,通过在原位置重新打印内容实现动画效果。虽然项目实现了一个完整的游戏,但还有很多地方可以扩展完善,地图可以采用更高级的图库来实现,效果会更好。在玩游戏的过程中要临时退出时,可以将步骤都保存起来,以便下次接着玩。本游戏只有3个关卡,如果需要增加关卡就要写一个二维数组,当关卡较多时,直接编写二维数组很容易出错,应该提供一个生成地图的功能,让程序自动生成地图。这样,学生在完成本游戏以后,既有满足感,又能激发进一步学习的欲望。
上述提出的校企深度合作下C语言课程实训创新模式,精选了企业一定数量的软件项目案例,覆盖了计算机科学与技术主要能力点,符合各自相关项目开发规范,项目实施遵循软件生命周期模型,并给出了软件设计思想、开发过程和开发结果。学生通过项目需求分析、系统设计、编码实现、系统测试与系统部署等环节,不断积累项目开发经验。整个过程,无不反应了教学改革已经转型到以学生发展为中心、以能力培养为核心的全面综合素质教育上来,是推行校企深度合作办学基础上微创新教学改革的集中体现。
[1]周清平,徐洪智等.C语言项目开发实践[M].长沙:中南大学出版社,2014.
[2]刘建伟.校企合作视角下的计算机语言类课程教改研究[J].计算机教育,2014,206(2):42-45.
[3]文银娟,李文娟.校企合作模式下C语言程序设计课程在高职动漫专业中的改革探索——以定西示范高等专科学校为例[J].湖北第二示范学院学报,2016,33(2):129-132.
Exploration of C Language Curriculum Reform under the Deep Cooperation Between Schooland Enterprise
Huang Lishao
(Hunan University of Scienceand Engineering,Yongzhou 425199,Hunan)
In the depth cooperation between school and enterprise,this paper puts forward the training innovation mode for C language course,getting rid of the traditionalmode of"know ledge+case".It changes the practical teaching of C language course to be project oriented,specialized and professional.It takes the real business case as the carrier to guide the students to complete the project development process step by step.The professional know ledge of students has been consolidated,their professional skills have been improved,and their projectexecution,occupation skillsand literacy also have been effectively trained.
C language;schoolenterprise cooperation;training innovationmodel
TP399
A
1008-6609(2017)06-0001-03
黄丽韶(1983-),女,湖南永州人,硕士,讲师,研究方向为智能算法、图像处理、开源软件。
湖南科技学院教学改革研究项目(湘科院教发[2016]40号,项目编号:XKYJ2016011);湖南省教育厅教学改革研究项目(湘教通〔2016〕400号,项目编号:716);湖南省教育科学“十三五”规划课题(湘教科规通〔2017〕1号,项目编号:XJK17QGD008);湖南科技学院研讨式课程项目——C语言程序设计(湘科院教发〔2017〕2号,项目编号:理科组2号);湖南省“十三五”专业综合改革试点项目——计算机科学与技术专业(湘教通[2016]276号)。