C++程序设计在初中选修课活动中的实践与探究

来源 :学习周报·教与学 | 被引量 : 0次 | 上传用户:xxak48
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:目前,编程越来越受到各国人们的重视,逐渐成为孩子成长的必备素养,“全民编程”的时代已经到来。为了响应时代要求和本校课改实际,我们决定开设C++程序设计学修课活动,以培养学生开拓抽象逻辑思维能力、创新能力等信息技术核心素养。本文主要阐述C++程序设计在我校选修课活动中的实践探究过程。
  关键词:C++编程;初中;选修课活动
  一、编程,是这个时代的趋势,也是这个时代的要求
  目前,编程越来越受到人们的重视,已逐渐成为孩子成长的必备素养,“全民编程”时代正在走来。本文通过教师准备、学生选择、课程选择及改变、课堂学习与课后作业等方面来阐述C++程序设计在初中选修课活动中实践与探究的具体操作。
  二、C++编程活动课的实践与研究
  (一)教师准备
  首先,教师学习C++程序设计及相关教学理论。学校为每个信息技术教师购买了《信息学奥赛一本通(C++版)》和《CCF编写的中学生计算机程序设计(基础篇和提高篇)》两套书,教师利用课余时间积极学习认真研究,并在办公室内形成了良好的编程探索研究氛围。其次,教师利用一切机会参加有关信息学奥赛教练员培训。
  (二)学生的选择
  1.调查学生情况,挖掘有编程潜力的优质学员。对于每届新生,我们会利用开学前(军训期间)通过问卷和查看档案的形式,完成对学生小学阶段信息技术学习情况调查,以发现有信息技术特长的学生,尤其是有编程基础的学生,为下一步选取优质学生做准备。
  2.筛选学生,基于师生双向选择,互相有需求。首先,学生自愿报名,要求数学成绩较好(一般85分为底线);其次在正式组班前要对报名同学做挑选,主要是筛选出对编程有兴趣且能够坚持下去的学生。
  3.确认名单,签订协议。每个年级开设两个班,每个班30人左右,第一次开课和学生签订一份课程学习协议,增加学生开始学习这门课的仪式感和坚持学下去的信心。
  (三)教程的选择与改编
  1.教程的编写:以CCF编写的中学生程序设计内容为基础,根据我校实际情况编写出40节的内容(七年级上学期10节,七年级下学期10节;八年级上学期10节,八年级下学期10节)。
  2.学案的编写:根据校编教程编写学案,每节一个学案,供2课时使用,预计编写40个学案(80课时)。
  (1)低起点,小步子。所有学案编写我们都注重低起点,尽量把学生当成零基础进行对待。
  (2)精讲精练,高质高效。所有例题和习题精心挑选,尽量让例题都具有代表性,让每个习题都是经典题型。注重让一个例题代表一种类型,注重题目的变换迁移,争取实现通过一个例题的精讲,达到领会一类问题的解决方法。
  如学习循环语句时:例题编程求1+2+3+……+n的值,非常容易入手,所以学生一看到题目,觉得很熟悉,马上就有跃跃欲试的解题兴趣。针对这个经典例题,我们进行分析归纳,充分利用。此类问题一般分为两大类:一类是直接求1加到n的和,另一类是求和s不大于某个数m的最大n的值;
  第一类:分别用for语句和while语句实现1加到n的和:
  int main()
  {inti,sum;
  sum=0;
  for(i=1;i<=100;i++)
  sum=sum+i;
  cout<<sum<<endl;
  return 0;
  }
  用for语句实现1加到100
  int main()
  { inti,sum;
  sum=0,i=1;
  while(i<=100)
  { sum=sum+i;
  i++;
  }
  cout<<sum<<endl;
  return 0;}
  用while语句实现1加到100
  第二类:分别用for语句和while语句实现和s不大于某个数m的最大n的值:
  Intmain()
  {
  inti,m,sum;
  sum=0;
  cin>>m;
  for(i=1;sum<=m;i++)
  {
  sum=sum+i;
  }
  cout<<i-2<<endl;
  return 0;
  }
  用for語句实现
  Intmain()
  {
  inti,m,sum;
  sum=0;
  cin>>m;
  i=1;
  while(sum<=m)
  {
  sum=sum+i;
  i++;
  }
  cout<<i-2<<endl;
  return 0;
  }
  用while语句实现
  通过对比加深理解循环控制变量和循环结束条件语句的含义,从而更能理解for循环和while循环使用的具体问题情境。
  (3)经典重现,以旧识新。在学习递归函数时,我们从熟悉的经典的斐波那契数列过度,通过对比迁移,完成对递归函数的含义构建,形成新的知识。例如求斐波那契数列的第40项:
  int main()
  {   inti,a=0,b=1,c;
  for (i=3;i<=40;i++)
  {
  c=a+b;
  a=b;
  b=c;
  }
  cout<<c;
  return 0;
  }
  循环求斐波那契数列的第40项;
  intfib(int);
  intmain()
  {
  cout<<fib(40);
  return0;
  }
  int fib(int n)
  {
  if(n==0) return 0;
  if(n==1) return 1;
  return (fib(n-1)+fib(n-2));
  }
  递归函数求斐波那契数列的第40项;
  3.教程和学案的反馈与整理
  (1)教师根据课堂实际教学反馈对教程和学案进行改进和反思。在教程与学案的设计上,初稿可能存在这样那样的问题,尤其是在课堂容量上、学习深度设置上等方面。经过教师课堂实践,对存在的不足进行修改完善,以提高教程及学案和学生的匹配度。同时对课堂上的各种非正常状况及时记载,及时写好课后反思。
  (2)集体备课讨论。每周的集体备课上,每个上课教师先把上课情况及对教程和学案的修改和大家做个说明,大家再根据上课教师讲的课堂情境及对教程、学案的修改进行思考、讨论。最后,形成一个较为统一认可的教程学案完善方案。下次上课的教师,可根据修改后的教程、学案,结合自己的教学方法,生成有自己个性的教学方案。
  (3)让学生参与到课程建设。抽取部分上课学生做课程观察员,开课前就和学生说明,他们除了和其他同学一样学习课程知识技能外,还肩负着对上课内容的观察和反馈,主要是:课堂容量是否太大(老师有没有讲完),课堂内容的难易程度(老师讲的是否太快或太慢),课堂内容分层是否合理(学习梯度是否太大)这几个方面。每两周进行一次学生反馈,让学生感受到自己是课程设计的一份子,增加学生的课程主人公意识,同时也让课程多了一个视角,更加完善。
  (四)课堂学习与课后作业
  1.教学实践:根据教程和学案,教师根据学生情况按计划开展C++程序设计教学,并及时做好课后反思。
  例如在学习循环结构for语句时,求1+2+3+……+100的例题讲解结束后,对题目变化分别求出1到100的偶数和、奇数和。分别通过对循环变量控制和对数值判断两种方法实现。
  int main()
  {
  int sum=0;
  for(int i=2;i<=100;i=i+2)
  sum=sum+i;
  cout<<sum;
  return 0;
  }
  控制循环变量求sum
  int main()
  {
  int sum=0;
  for(int i=1;i<=100;i++)
  if(i%2==0) sum=sum+i;
  cout<<sum;
  return 0;
  }
  循环内挑选数值求sum
  通过对这两种思路的探究,学生的思维会被发散打开,于是就会有下面的尝试,同时求出1到100的奇数和、偶数和。
  int main()
  {
  int sum1=0,sum2=0;
  for(int i=2;i<=100;i=i+2)
  {
  sum1=sum1+i;
  sum2=sum2+(i-1);
  }
  cout<<sum1<<””<<sum2<<endl;
  return 0;
  }
  控制循环变量求sum1、sum2
  int main()
  {
  int sum1=0,sum2=0;
  for(int i=1;i<=100;i++)
  {
  if(i%2==0) sum1=sum1+i;
  if(i%2==1) sum2=sum2+i;
  }
  cout<<sum1<<””<<sum2<<endl;
  return 0;
  }
  循環内挑选数值求sum1、sum2
  学生的思路一旦被打开,他们的想法往往出乎老师的意外,解决问题的各种可能方式都会可能产生,而在这种不断尝试的过程中,学生的思维会慢慢变得灵活起来。如刚才的这个题目,后来学生在教师还未讲授两个自变量的情况下,就有学生这样尝试了:
  int main()
  {
  int sum1=0,sum2=0;
  for(intj=1,i=2;i<=100;j=j+2,i=i+2)
  {
  sum1=sum1+j;
  sum2=sum2+i;
  }
  cout<<sum1<<””<<sum2<<endl;
  return 0;
  }
  两个循环变量求sum1、sum2
  2.课程一开始就要求敲代码,禁止“纸上谈兵”。比如:编写程序用字符“*”打印各种图形(正方形,长方形,三角形,菱形,及这四种图形的空心图形),编写程序有点枯燥,但当学生调试成功时,马上成功感让他顿时感觉很爽,觉得自己很牛,于是他会指导别的同学,会挑战更难的图形。
  3.课后作业:每次课都留适量作业,供学生课后练习。主要是让学生复习课堂学习内容,练习巩固,不至于下次上课忘记掉。课后作业主要来自一本通网站(http://ybt.ssoier.cn:8088/),这个网站都有很丰富的题库,学生可以注册登录,选择相应的问题(网站的题目设置和上课的知识点顺序基本上是一致的,所以学生可以根据每次课选择相应的练习),自己通过编程完成调试,再在线提交,网站会实时的给出提交代码的测试结果。测试比自己检查要严谨的多,首先是编译是否通过,其次是有10组测试数据,每组10分,当看到100分时,大多数学生还是比较激动的。而网站会根据每个用户提交次数和成功的次数进行积分排名。这样会带来更多的成功感和竞争意识,对提高学生的编程严谨意识有很大帮助。
  三、研究成果
  经过一年多的时间和探索,我们老师和学生一同经历了开始的兴趣高昂、信心满满,到困难重重、几近迷茫,再到走上轨道、目标明确,再到体验编程的快乐的奇妙之旅。这一路走来,也收获颇丰。学生对编程从一无所知的神秘,到有所了解,再到可以利用编程解决简单的问题。这门课程的开设打开了这批学生学习编程的大门,为以后更加深入的学习奠定了良好的信息素养。
  参考文献:
  [1]董永建等著,《信息学奥赛一本通(C++版)》,科学技术文献出版社2013年版.
  [2]陈颖等主编,《CCF中学生程序设计入门篇》,科学出版社,2016年版.
  [3]江涛等主编,《CCF中学生程序设计基础篇》,科学出版社,2016年版.
其他文献
摘 要:当前社会和教育的发展是非常迅速的,教学改革的实施为学生的成长提供了更好的学习环境。在新时代教育背景下,教师需要强化自身的责任意识,端正教学态度,对现有化学教学模式进行深入的分析,从而对化学教学不断创新。在初中化学教学中,情境教学模式的构建能够很好的提高学生的学习效率。情境教学模式的構建需要教师整合当前教学模式,纠正不足,注重学生在化学学习上的主体地位。  关键词:初中化学;教学情境;教学探
期刊
摘 要:本文先由国民薄弱的海洋意识引出海洋意识教育的重要性,进而说明海洋意识教育应从娃娃抓起,从小学儿童抓起。通过对我国小学海洋意识教育的发展及现状进行研究,更深层次的了解海洋意识教育,分析我国小学海洋意识教育已取得的成绩和存在的问题。对于小学海洋意识教育的进展与研究具有重要意义,小学海洋意识教育是海洋意识教育的基石,国民较强的海洋意识将会利于提升海洋战略地位,益于民族进取精神的形成和全民科学素养
期刊
摘 要:随着时代的发展和素质教育的实施与推进,教育教学由传统的填鸭式教学逐渐改变,减少了教师在课堂上喋喋不休的讲课的机会,更多的强调学生的自主学习,要求教师应用探究式教学等形式,将教师主体变为学生主体,将学生的活动变为课堂的中心,教师退居于指路人地位。这种探究式教学在高中化学课堂中应用尤为广泛,一方面是高中阶段学生有了一定的理论基础和实践能力,能够进行自主探究学习;另一方面是高中知识复杂深奥,更多
期刊
摘 要:在遗传部分,计算是必须掌握的重难点内容之一,高考对学生计算能力的要求比较高。遗传部分的题型复杂多样,形式灵活多变,且难度较大,且这部分题又和遗传其他章节的知识点混杂起来一起考查,进一步增加了难度。本文将以交叉互换和伴性遗传为载体,初探生物学的核心素养,更有效的培养学生的逻辑思维,促进学生核心素养培养目标的达成。  关键词:雌雄同株;雌雄易株;雌雄同花;雌雄易花  一、概念辨析  雌雄同株,
期刊
摘 要:作为近年来教育改革逐步推进的一个体现,高考改革呈现出更加注重考查学生的全面发展和解决实际问题的能力的趋势,而非单纯知识点的记诵,要求学生融会贯通。因此,现代教育要求高中的教育也更加注重培养学生的学科关键能力和学科核心素养。高中是扩大知识广度和实现体系化学习的阶段,物理作为高中的理科科目,逻辑思维是学习此科目的一个重要能力。高中物理教师要提高学生的逻辑思维能力,必须转变陈旧的教学观念。要放弃
期刊
摘 要:本文首先阐述了高中田径运动训练原则,然后从完善田径训练体系、强化训练与专项训练相结合与科学调控与训练恢复等三方面,分析了高中田径教学中的训练强度及训练量的控制策略。希望对我国的高中体育教师带来启示,促进其科学地提升田径教学质量。  关键词:高中田径;训练量;训练强度  一、高中田径运动训练原则  首先,落实需要了解运动员的生长环境,行为习惯,生活背景,性格特征,保证训练的针对性,将心理训练
期刊
摘 要:我国越来越重视学前教育,关注素质教育的同时,体能教育逐渐成为教育关注重点。体育游戏作为体能教育中一项重要项目,受到了学前教育的广泛应用。基于此,本文首先分析了体育游戏在学前教育中发挥出来的重要作用,其次分析了应用体育游戏需要满足的原则,最后对学前教育应用体育游戏的方式做出了系统的分析。体育游戏的应用将发挥出巨大作用,推动幼儿智力和能力的双重发展。  关键词:体育游戏;学前教育;应用方法  
期刊
摘 要:为了响应新课程改革的号召,提升初中生的综合素养,教育部对初中音乐教学也提出了相应的改进要求。现阶段的初中音乐教学,必须加强对传统教学模式、教学方法的改进,这样才能让学生更好地鉴赏音乐、理解音乐。“互动式”教学模式是一种新型教学模式,其通过加强学生与教师之间的交流互动,来达到提升初中音乐课堂教学效率的目的。本文就对“互动式”教学模式的优势以及对初中音乐教学的重要性加以分析,并提出“互动式”教
期刊
摘 要:随着我国教育现代化进程的提速,更强调对学生德智体美劳综合能力的全面培养。高中阶段的学习既有其特殊性,对学生来说也十分重要。为此,可以在体育教学中构建分层教学模式,提升施教的针对性与有效性,培养学生的体育核心素养,使他们在运动中释放压力、发展多样爱好。故此,本文展开对高中体育授课中分层教学模式的构建探究。  关键词:高中体育;体育教学;分层教学模式  一、简析高中体育教学中分层施教必要性  
期刊
摘 要:在素质教育推行的背景下,初中阶段的体育与健康课程也受到了越来越多人的重视和关注,体育与健康课程对学生身体素质以及综合能力的提升有重要作用。但是在实际的初中体育与健康课程,其教学效果并不理想。甚至教学方式方法都存在落后的情况,教师始终以讲述式教学方法为主。这样的教学方法不仅无法取得良好的教学效果,甚至还会影响学生的学习积极性。体验式教学作为一种新的教学方法,将这种教学方法应用到初中体育与健康
期刊