程序设计课程短学期教学实践探究

2020-05-28 09:36陈益童亚拉
软件导刊 2020年3期
关键词:融合发展人才培养

陈益 童亚拉

摘 要:为加强新时代高等教育人才培养质量与行业人才需求发展深度融合,以C程序设计课程为例进行短学期教学实践,通过学生完成语法验证、系统大作业、参加学科竞赛检验学习效果等,分析短学期赋予程序设计课程实践操作的意义和提升人才培养质量的内涵。短学期在保障程序设计课程实践操作环节师生间无障碍连续沟通和高效互动的同时,指导学生积极思考、努力探索和解决新问题,为培养学生综合能力起到了良好作用。研究表明,短学期实践对提高学生综合素养和人才培养质量,以及促进高等院校与行业融合发展起到了积极作用。

关键词:程序设计课程;短学期平台;融合发展;人才培养

DOI:10. 11907/rjdk. 191401

中图分类号:TP434   文献标识码:A                文章编号:1672-7800(2020)003-0269-03

A Short Term Discussion on the Constructive Role of Programming in Practice

CHEN Yi,TONG Ya-la

(School of Science,Hubei University of Technology,Wuhan 430068,China)

Abstract: In order to strengthen the deep integration of the quality of higher education talent training in the new era with the development of industry talent demand, this article takes the C programming course as an example for short semester teaching practice, analyzes students grammar verification, systematic homework, and participates in subject competitions to check the learning effect. The significance of short term programming course practice operation and the connotation of improving the quality of talent training were analyzed from the perspective of students completing grammar verification, systematic large assignments, and participating in discipline competitions to test learning effect. While ensuring barrier-free continuous communication and efficient interaction between teachers and students in the practical operation of program design course, the short semester also guides students to think positively, explore and solve new problems, and plays a good role in cultivating students comprehensive ability. Through analysis, it is proved that the practice of short term has indeed played a positive role in the improvement of students comprehensive quality, the quality of talent training in higher education, and the integrated development of colleges and universities and industries.

Key Words: programming design; talent training; integrative development; short term platform

0 引言

行业要求高校毕业生具备较高的发现问题、分析问题、解决问题的综合素养和应变能力,高等院校的学科专业教学要与行业实际需要相契合,注重实践,增加学生对行业模拟或真实场景的实践机会。要达到该目标仅凭学时有限的理论课和实验课,显然无法满足需求。短学期制是高校应新时代行业要求作出的反应,教师进行教学活动重建,增加实践、互动、合作、检验等过程,为学生模拟仿真构建行业环境。

全国高等学校本科教育工作会议强调人才培养的质量和效果是检验本科教育一切工作的根本标准[1]。学期制是高等院校本科办学理念、体系结构、人才培养的实施模式,高等院校大多实行春秋两学期制。当前,多学期制被纳入了高等教育研究范畴,多学期(又称为“三学期”,或“短学期”)制是在保证原有春、秋兩学期教学周次不变的情况下,利用寒、暑假时间开展教学活动,师生共同参与,学生在短学期结束前参加答辩,考核合格获得有效学分[2]。

为满足不同年级学生的实践需要,短学期一般会涵盖多种类型,项目来源包括教师科研、思政实践、社会实践、综合性设计实验、校外实习实训、技能培训等。本文根据所授课程教学实践的切实需要,以短学期中的一个小类即综合性设计实验为例,对程序设计课程群中C程序设计的教学实践进行重构,探讨短学期综合性设计实验类型在程序设计课程群实践环节的积极作用,为促进高校人才培养质量与行业实际需要相契合创造条件。

1 借助短学期加强编程实践,完成程序设计课中基础语法验证

相较于其它专业课程而言,程序设计课更注重实践,其所有成果均来自于大量的验证性实践或设计性实践操作,任何一门程序设计课程无论怎样强调动手实践都不为过[3]。

以C程序设计课程教学为例,总学时数饱满,课堂上对程序的分析、验证尤其是偏难程序的调试过程就很充分;总学时数被精简,教学就必须对内容作调整和压缩,教师将重点放在普遍问题的分析上,验证、调试程序的过程可能被省略,需要学生利用课下、实验课时自己去验证或深入学习[4]。就程序设计本身而言,直接进行分析的效果远不如调试。此外,有些问题不作深入分析,易出现部分学生“吃不饱”的情况。针对所遇问题与教师进行线上讨论,也能得到部分解决,但毕竟时间零碎,想建立全面、系统的结构还是有所欠缺。即使在实验课时能有机会与教师进行面对面探讨,但受课堂时间等因素所限,讨论仅能解决眼前困境,没有将问题进行发散和深入探究,难以举一反三[5]。

比如,用程序设计思想解决斐波那契(Fibonacci)数列增长,问题看似简单,首次出现在C程序设计的循环控制中,要求利用3个动态变量的赋值、平移完成前20项或前40项数列的增长[6]。通过前期学习,学生已经习惯于顺序和选择结构,循环控制中循环变量和循环体本身自带难点,数列增长的过程要求在循环体中对变量先赋值、后平移,两项操作反复多次方可实现[7]。这种情况下,仅凭教师引导难以让学生深入理解数列增长过程。素数、拆数、查找、求最大(小)值等问题都有一题多解、由浅入深的解法。对于同一问题,只要掌握了其核心处理过程,便可实现“应用变宽泛、方法有多样、编程更灵活”。如果一开始在循环中被卡壳,后面恐怕学生不会愿意深入探索了。由此可见,学生需要足够的时间去验证和消化课程内容。

利用短学期能有效解决这类问题,短学期的时间比较集中,但有别于实验课堂45分钟的绝对集中[8]。在短学期学习斐波那契(Fibonacci)数列增长问题,师生时间集中且自由,可同在一间实验室,或约定一个确定的在线讨论时间,对问题进行全面探讨,参与变化的变量赋值、平移全过程,直至每个细节都被吃透。类似于斐波那契(Fibonacci)数列、素数等课堂上没来得及消化的内容,学生都可以利用短学期探寻清楚。学生能根据教师布置好的作业,自行分析问题、编写程序、调试程序,碰到难解的问题时,集中在半天时间内解决,效率得以极大提高[9]。

仍以斐波那契(Fibonacci)数列增长为例,在掌握了循环控制后,当数组的例子中再次出现该问题时,学生不会产生畏惧,能顺利将数组与循环配合,解决问题的过程更加简便,还能作一定扩展,比如可以考虑用递归、指针等方式实现斐波那契(Fibonacci)数列的增长[10]。如图1、图2分别列举了用基本循环和数组处理斐波那契数列前20项的过程。循环的处理过程是,将数列的第一项和第二项分别用x1、x2两个整型变量表示,并给它们赋值为1,第三项用整型变量t表示,其值等于第一项x1加上第二项x2,然后让x1、x2、t 3个变量整体作一次平移,得到新的x1、x2和t,即算法x1=x2;x2=t;t=x1+x2,得到第四项,以此类推,得到后面各项,直到20项为止,显然循环从第三项开始,共进行18次得到前20项的数据。斐波那契数列問题,用数组处理更加直接、便于理解,数组中的元素是连续存放的,只要找出这些元素之间的关联度,问题就解决了。如果将斐波那契数列的各项都存入数组fib[20]中,其中第一项和第二项的值分别为1,从第三项开始,每项为前两项的和,通项式为fib[i]=fib[i-1]+fib[i-2];数组的下标从0开始,循环i的初始值为2;直到19结束,数组中前20项的每个元素便按照对应的下标存放到内存单元中,这一处理过程比普通循环中变量的平移更容易理解。两种方法都可以在短学期中让学生对源程序进行单步调试模拟,就计算机处理问题的过程加以分析,直观且便于掌握。其它问题都同样能够得到解决,这里不再一一赘述。

2 借助短学期高效完成软件设计性大作业,用竞赛检验效果

教学过程中,为照顾班级整体水平,并考虑学时数受限问题,上机实验多数都属验证性内容,工作量小,而设计性、拓展性、工作量稍大的内容或往往涉及不多,或涉及不到,这不利于培养学生思维发散、分析问题、解决问题的能力[11]。

短学期形式多样,支持师生间的双选。教师提供的项目名称先上传到学校的校友邦平台,供学生在统一时间自由选择,学生的第一选择方式是线上,教师在学生选好后查看校友邦平台的选择信息。一般而言,平时跟教师沟通相对多、对程序设计感兴趣的学生容易被勾选,点击加入学生信息,从而建立好双选通道,其他学生可再进行其他教师项目选择[12]。在师生的短学期通道建立好后,短学期便进入到实质性阶段。在以往短学期中让学生系统完成一些相对综合的内容。比如,在选择结构中完成傻瓜式四则计算器程序设计编写、在循环结构中完成“百钱买百鸡”程序设计编写、在数组中完成歌曲比赛评分统计程序设计编写、在函数章节完成“三天打鱼、两天晒网“程序设计编写、在指针章节完成逢3退出小游戏程序设计编写、在结构体章节完成学生信息登记表程序设计编写、在文件章节完成计算电话费程序设计编写[13]。

按照教材内容由浅入深的顺序排列,每个问题主要利用某章的知识点完成,但越往后面的问题,越需要用到前面的知识点。比如将“三天打鱼、两天晒网”的项目放在函数中,但完成过程需要选择结构、循环结构和函数模块的综合。这些项目相较于实验课题目,加大了工作量,增强了综合性,能独立或在指导教师指导下完成这些项目编程、调试工作的学生,其对C程序设计课程的理解会更加通透。

再如,针对《面向过程程序设计与面向对象程序设计的案例分析-以C与Java为例》项目,期间可布置“贪吃蛇”“坦克大战”“打鱼晒网”等大家熟悉的例子让学生练习并加以比较,一是促进学生对新知识的自主学习和已学知识的灵活运用,二是让学生更好掌握不同语言的软件程序设计规则和原理,完成对复杂问题逐一瓦解、逐步攻关的良好累积。完成这样的项目后,在程序设计上,学生分析问题、设计方案、调试程序、撰写文档等能力都会大幅提升,系统设计能力逐步显现。短学期答辩中对问题的陈述、设计过程演示都非常有序、清楚。

完成比较系统的程序设计后,可与其它课程的知识点进行融合应用,效果可通过一些软件设计竞赛进行检验,为下一步学习指明方向[14]。大学生软件设计大赛、蓝桥杯大赛、ACM大赛等都是专门的软件技能设计赛,有些大赛初赛门槛较高,应提前作好准备,多听、多看、多学习积累经验,逐步深入[15]。对于有优势的大赛,借助短学期全力以赴作好准备,积极组团、合理分工、协助互助、集中备战,以提高获奖概率。

2017年第三届中国“互联网+”大学生创新创业大赛湖北省复赛初创组铜奖项目《一扫无忧》是学生利用短学期实践在教师指导下所完成的;2018年“创青春”全国大学生创业大赛银奖项目《工业大数据分析诊断系统》,也是学生利用短学期实践在指导教师指导下完成的。值得一提的是,2018级一名学生利用短学期在教师指导下,在蓝桥杯竞赛中获得了B组三等奖的佳绩。这些成绩的取得极大鼓舞了学生后续学习专业知识和积极参与学科竞赛的兴趣。

3 结语

在充分利用好短学期时间完成程序设计中语法验证、大作业调试后,通过参加一些软件大赛检验学习效果。现在有些软件设计大赛的主办或承办单位是一些知名企业,举办类似大赛是为单位的长期良好发展挖掘和积蓄新生力量[16]。学生在创新大赛过程中近距离接触科技前沿,对专业能力、创新能力提升以及尽快融入行业等具有良好推动作用[17]。短学期实践为高校人才培养、促进高校与行业发展起到了积极助推作用。

短学期制旨在为学生提供更丰富、更优质的教学资源,并满足学生个性化发展需要,从而更好地提高人才培养质量[18]。本文阐述了短学期对C程序设计课程实践操作的作用,由小变大,从学生完成语法验证、系统大作业,到参加学科竞赛等,分析了短学期赋予程序设计课程实践操作的意义和提升人才培养质量的内涵。短学期对其它程序设计课程的重构和建设同样具有借鉴作用。

参考文献:

[1]坚持以本为本,推进四个回归,建设中国特色、世界水平的一流本科教育《新时代全国高等学校本科教育工作会议召开》[EB/OL]. 2018-06-21.http://www.moe.gov.cn/s78/A08/moe_745/201806/t20180621_340586.html.

[2]王敏. 美国高校三学期制研究[D]. 保定:河北大学,2011.

[3]谭浩强著. C程序设计[M]. 北京:第5版. 清华大学出版社,2018.

[4]黄云,洪佳明. 基于云平台的“程序设计基础”课程实验教学改革[J]. 实验室研究与探索,2016(2):191-195.

[5]孙义欣,宋大伟. 斐波那契数列问题的C语言教学实施探讨[J]. 电脑编程技巧与维护,2012(16):151-152.

[6]龚本灿. 基于案例的C语言程序设计教学探索[J]. 科教文汇(下旬刊),2012,(2):44-45.

[7]凌晓牧. 有趣的斐波那契数列[J]. 江苏教育学院学报(自然科学版),2011,28(10):31-33.

[8]郝俊生,方莉,赵永祥. 以“三学期制”的实施为契机,构建多层次的创新人才培养模式[J]. 实验技术与管理,2012,29(3):12-14.

[9]蒋瑜,陶俊勇,汪亚顺,等. 基于三学期制的研究生创新实践能力培养探讨[J]. 高等教育研究学报,2010,33(3):116-118.

[10]何俊毅. 斐波那契数列研究及编程实现[J]. 计算机时代,2017(2):52-54.

[11]蔡长安,汤克明,王创伟. 研究型教学法在C语言程序设计课程中的应用研究[J]. 高师理科学刊,2012(2):52.

[12]张芳. 实行三学期制深化人才培养模式改革[J]. 西部素质教育,2017,3(13):172-173.

[13]严怡,何晓阳. 三学期制:高校学期制改革的反思与前瞻[J]. 西南农业大学学报(社会科学版),2012,10(2):177-180.

[14]徐勝周. 以学科竞赛驱动程序设计类课程教学改革研究[J]. 软件导刊,2015(5):180-182.

[15]朱堂勋. 软件技能大赛助推程序设计类课程教学改革[J]. 高等教育,2015(2):107.

[16]张远东. 乐山师范学院“2+1”学期制改革的实践探索[J]. 乐山师范学院学报,2011,(11):19-22.

[17]柯星星. 高校三学期制研究[D]. 南昌:江西财经大学,2014.

[18]周永金. 短学期制下新教师的教学思考与实践——以上海大学通信学院本科教学为例[J]. 教育教学论坛,2014(46):37-39.

(责任编辑:孙 娟)

收稿日期:2019-05-08

基金项目:湖北省教育厅哲学社会科学研究项目(19D031);湖北工业大学教学研究项目(2018029);湖北省教育厅人文社会科学研究项目(17Q067);校级教学改革研究项目(2015035)

作者简介:陈益(1977-),女,硕士,湖北工业大学理学院副教授,研究方向为集成电路设计;童亚拉(1966-),女,博士,湖北工业大学理学院教授,研究方向为集成电路设计。

猜你喜欢
融合发展人才培养
校园文化视角下的传统媒体与新媒体的融合
经济新常态下财务会计与管理会计的融合与发展
速录专业 “三个一” 人才培养模式的研究