1、2023年9 月计算机应用文摘第3 9 卷第17 期计算机程序设计基础循环结构案例设计祁薇,张思萌,王婧文(海军大连舰艇学院基础部,辽宁大连116 0 18)摘要:在贯彻落实新时代军事教育方针,培养高素质、专业化新型军事人才的背景下,非计算机专业的“计算机程序设计”课程如何将“实战化教学、课程思政”融入课堂,以及合理选择案例是计算机基础教学的改革重点。案例探究了一条以任务驱动为牵引,以价值塑造为支撑点,以BOPPPS模型教学模式为手段,以课程思政和实战化教学为依托设计的新思路,全面探索并建立理论与实践、传统与现代相结合,内容、模式均有挑战度的课程案例探索之路。关键词:程序设计;教学案例;计算机
2、教学中图法分类号:G642Fundamentals of computer programming circular structure case designAbstract:Under the background of implementing the military education policy in the new era andcultivating high-quality and professional new military talents,how the“computer programmingcourse for non-computer majors inte
3、grates“actual combat teaching,curriculum ideology and politicsinto the classroom,and the reasonable selection of cases is the focus of the reform of computer basicteaching.The case explores a new idea that takes task-driven as the traction,value shaping as thesupport point,BOPPPS model teaching mode
4、 as the means,and curriculum ideology and politics andactual combat teaching as the basis for design,comprehensively explores and establishes a coursecase exploration road that combines theory and practice,tradition and modernity,and has achallenging content and mode.Key words:programming,teaching c
5、ases,computer teaching1引言“程序设计基础”课程教学的重点是案例的合理选择,既要和专业有相关性,起到育人的作用,同时要摆脱专业知识的束缚,让学生能够感受到程序设计的灵魂与魅力 1循环结构是“程序设计基础”课程中的内容,重点以构成循环的要素、实现循环的语句及利用循环思想解决实际问题等三大关键问题为出发点,采用BOPPPS模型组织教学;以航母编队防御区域判断任务的进一步拓展引入,以前期任务的完成为前测,设定可度量的教学目标;以任务驱动、对比归纳的方式开展参与式教学,以问题解决的创新思维明线带动知识暗线,不断在发现问题、解决问题的过程中,文献标识码:AQI Wei,ZHANG
6、Simeng,WANG Jingwen(Dept.of Basic Science,Dalian Naval Academy,Dalian,Liaoning 116018,China)2案例背景2.1矢知识点及教学目标案例针对的授课对象为具有基本的计算机知识基础,但对于程序设计语言还不甚了解,同时缺乏处理大数据的编程经验的学生。案例旨在帮助学生通过循环结构处理大数据,从而对大数据进行进一步的加工、处理和筛查。亲身体验知识产生的过程就是自主探索的过程。最后通过教学目标的达成度来总结授课内容,以构建“不忘初心”问答知识库的构建为后测,加深对于循环结构的理解。同时,融人凡事讲规矩和严谨细致的学习、工
7、作态度,体会不积步无以至千里的精神 2 。基金项目:海军大连舰艇学院2 0 2 2 年度学院教育科研资助项目;军队院校计算机教学联席会2 0 2 2 年教育教学研究资助项目nums=10024(1)案例对应教学大纲中的知识点。循环三要素;循环语句格式;循环嵌套;break 与 continue 语句。(2)教学目标。掌握三种循环结构的书写格式及使用方法;熟悉循环程序设计的思维逻辑;会使用循环结构解决实际问题。2.2室军事背景及特色舰艇作为高价又难以隐蔽的目标,历来是敌方海空力量寻歼的对象。为便于组织指挥和实施,并充分发挥各种防御兵力兵器的效能,通常将防御体系划分为多个层面进行作战活动 3 。当
8、探测到多个波次多个飞行目标距离舰艇的距离后,如何更快、更便捷地统计其距离信息是一个至关重要的问题。该类军事背景问题可以化繁为简,即化为单波次单目标的方式结合循环结构进行逐个统计,实现更加优雅简明的编程风格。通过虚拟的军事背景案例的引人,引导学生思考更加复杂的数据场景。而循环结构作为数据处理中必不可少的一环,则发挥了极大的底层代码效用。通过场景延伸,使案例的知识点投人实际应用中 43案例设计3.1导入阶段(Bridge-in)随着现代科技的发展,出现了远射程精确制导武器、高性能飞机及核动力潜艇等武器,进一步增加了航母编队防御的难度。为便于组织指挥和实施,以及充分发挥各种防御兵力兵器的效能,通常将
9、防御体系划分为多个层面进行作战活动,如图1所示。探测跟踪区战斗机交战区导弹拦截区图1防御体系区划分前序任务:根据探测到的目标与编队基准点间的距离来判断目标所处区域的问题已在上一章节选择结构的知识内容中解决。现阶段初阶任务:单波次多目标的飞行目标统计问题。假设某波次有5 个目标攻击,需要求出这个波次攻击之后,每个区域内目标出现的次数。计算机应用文摘3.2孝教学目标(Objective)(1)知识层面。熟记三种循环语句语法规则;区分三种循环语句的使用场合。(2)情感层面。养成严谨细致的学习和工作态度;体会与时俱进,不进则退的精神;把握凡事讲规矩,做事有条理原则。(3)应用层面。学会应用循环语句解决
10、重复执行问题,(4)能力层面。会使用循环的思维思考并分析问题,提升解决问题的能力。3.3育前测(Pre-assessment)根据探测到的目标到达基准点的距离,判断目标所属的区域。解决方案:选择结构。3.4参与式学习(Participatory)(1)问题分析。引导讨论循环结构的要素组成。通过循环的人口、循环状态和结束状态,可以总结循环结构的三大要素。初始条件:循环变量和其他变量赋初值。循环体:重复执行操作,修改循环变量的值。循环条件:测试循环条件,判断循环是否要继续。(2)小试牛刀。通过循环三要素,直接通过案例体会循环结构的思想,解决1到10 的累加问题,如图2 所示。计算1+2+3+.10
11、 的值为多少?搭思维初始条件检查条件num=1sum=0sum=sum+num1改变循环变量num+图2 循环问题分析思路(3)循环实现语句。C语言循环语句有3 种形式:for循环、while循环与 do-while 循环。因为for循环的循环三要素体现特征更加明显,所以从for循环语句人手,学习循环语句的组成部分。同时,结合流程图进行思路梳理,使教学变得更加立体。(4)解决问题。通过for循环解决小试牛刀中提出的数字累加问题,同时紧扣知识点进行落地与巩固,如表1所列。2023年第17 期循环体32023年第17 期表1数字累加问题求解代码int num,sum;sum=0;for(num=1
12、;num=100;num+)sum=sum+num;(5)思维拓展。任务1:计算13 6 5 的值。数字累加是最基本的一类循环问题,而在数学问题上,累乘问题则是循环思想的另一种应用。通过问题的解决,可以提高学生举一反三的能力。在学习过程中,可以通过类比学习法,以类比for循环语句的方式学习while和do-while语句,总结while和do-while语句的特点,并深切体会循环三要素的思想。思政要素:通过对循环语句的学习,可以进一步理解编程语言有自身的规则,要严格按照规则和流程执行。同时,融入凡事讲规矩,做事有条理的原则,使学生养成严谨细致的学习和工作态度。任务2:计算13 6 5,1.0
13、13 6 5,0.9 9 3 6 5 的值。思政要素:通过多种循环语句进行累乘的运算。执行的同时引领学生讨论结果,1.0 13 6 5 和0.9 9 3 6 5 是有天壤之别的,如表2 所列。表2 数字累乘问题实现代码int num;double pow1=1.0,pow2=1.0,pow3=1.0;for(num=1;num 1,1.0 1=1+0.0 1,即每天进步一点点,积少成多,一年之后将进步很大,远远大于“1”;13 6 5=1,1指原地踏步,一年之后还是原地踏步,还是“1;0.9 9 3 6 5=0.0 2 6,0.9 9=1-0.0 1,即每天退步(偷懒)一点,将在一年以后,远远
14、小于“1”,结果就差之千里,远远被别人甩在后面,将会是“1”事无成。通过执行程序,可以体会到不积步无以至千里的道理。每个人要与时俱进,不进则退。引导学生养成坚持不懈,遇到困难不放弃的精神品质。任务解决:通过循环结构,可以很好地解决导入计算机应用文摘的军事问题以及单波次多目标的飞行目标统计问题,如表3 所列。表3 单波次多目标飞行目标统计代码intd,a=0,b=0,c=0,d=0,i=0;scanf(%d,&d);for(i=0;i=500&d=300&d=200&d=0&d 200)d+;(6)任务升级。将导人的军事任务复杂化,从单波次多目标升级为多波次多目标的飞行目标统计问题。任务说明:假
15、设有3 个波次的攻击,每次5 个目标。求解这3 个波次后,每个区域内目标出现的次数。讨论分析:单个波次的飞行目标需要一重循环,那么可以推出多个波次的目标可以通过多个循环进行嵌套的方式解决。问题的重难点在于循环嵌套的变量联动问题,引领学生进行细节分析,找准所需变量和信息,进行代码实现,如表4所列。表4多波次多目标飞行目标统计代码int i,j,a=0,b=0,c=0,d=0,distance;for(j=1;j=3;j+)for(i=1;i=5;i+)scanf(“%d,&distance);if(distance200)a+;/a为导弹拦截区else if(distance300)b+;/b为
16、战斗机交战区else if(distance500)c+;/c为探测跟踪区else if(distance800)d+;/d为空袭症候与警报区printf(“导弹拦截区攻击次数为:%dn战斗机交战区攻击次数为:%dn探测跟踪区攻击次数为:%dn空袭症候与警报区攻击次数为:%dn,a,b,c,d);3.5小结(Summary)(1)知识层面。循环结构由循环三要素组成,即初始条件、循环体、循环条件 5 。在循环语句上,案例涉及程序设计-C语言中三种常见的循环语句:for,w h i l e,d o-w h i l e语句。随着任务的复杂化,还学习了循环的嵌套。对于循环结构的嵌套,循环三要素和每层循
17、环之间的变量2526联动关系是关键。(2)能力层面。会使用循环结构的思维分析需要重复执行的问题。提升分析问题、解决问题的能力。针对解决军事贯穿任务的模块,能够利用循环的嵌套思维解决复杂问题。(3)情感层面。通过把握程序设计的语法规则,着重于培养严谨细致的学习和工作态度,把握凡事讲规矩,做事有条理的原则,体会与时俱进,不进则退,不积鞋步无以至千里的精神。3.6后测(Post-assessment)构建“不忘初心”问答知识库,如图3所示。1.社会主义核心价值观:富强、民主、文明、和谐、自由、平等、公正、法制、爱国、敬业、诚信、友善2.国家层面的价值目标:富强、民主、文明、和谐3.社会层面的价值取向
18、:自由、平等、公正、法治4.公民个人层面的价值准则:爱国、敬业、诚信、友善图3“不忘初心”知识问答库社会主义核心价值观由12 个词语组成,同时又分成3个层面,每个层面由4个词语构成,进人题库时需要随机选14中的问题作答。进入答题状态后,每次只回答该主题下的目标词语,判断是否回答正确,并统计回答问题的次数。结束时,需要给出回答的总次数和正确次数,希望实现多轮回答。通过该程序的实现,加深对循环结构的理解。4结束语通过两轮的课程教学以及军事案例的任务牵引计算机应用文摘对“程序设计”课程进行教学,对比不同阶段的成绩和课堂授课状况的反映,学生的实践水平和对知识的接受掌握能力都有了很大的进步。在使用案例的
19、课堂教学中,学生普遍反映很好,既提高了学生的水平,又可以激发学生的学习兴趣和热情。同时,随着任务难度的提升,可以激发学生解决问题的斗志,实现举一反三,进行知识点延伸和发散,巩固对知识点的理解。案例不仅可以在“C语言编程”课程中使用,未来也可以在更多程序设计课程中推广。该案例对平台无任何要求。在知识积累的层面上,要求学生提前掌握程序设计的运行环境、程序设计语言的基本知识信息和程序设计的选择结构内容。参考文献:1】于莉莉,苏晓光,李晶.新工科背景下计算机程序设计类课程案例教学改革研究 J.电脑知识与技术,2 0 18,15(14):158-159.2祁薇,王辉,徐海鸥.新大纲下的大学计算机基础课程
20、建设J.计算机教育,2 0 2 0(9):9 0-9 3.3祁薇,杨健,王婧文.计算机基础类课程的一体化建设探究J.计算机教育,2 0 2 2(8):8 5-8 8.4赵耀,孙悦,吴鑫盈.Python语言程序设计的线上课堂教学交互案例设计 J.计算机教育,2 0 2 2,4:110-114.5高涛,冯兴乐,孙朝云.基于案例驱动的程序设计课程智慧课堂教学研究 J.中国教育信息化,2 0 19,12:48-5 1.作者简介:祁薇(19 8 2 一),硕士,副教授,研究方向:计算机教学及信息隐藏(通信作者)。张思萌(19 9 5 一),硕士,助教,研究方向:计算机教学及数据挖掘与分析。王婧文(19 9 3一),硕士,助教,研究方向:计算机教学及自然语言处理。2023年第17 期