案例教学法在VB中的应用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:plant720
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:案例教学法对于计算机专业是一种新的教学形式,能激发学生的学习积极性,提高学生分析问题和解决问题的能力。该文以扫雷游戏为例阐述了在VB教学中采用案例教学法对控件数组、函数过程、递归算法等重要的知识点进行教学设计和教学实施的过程。
  关键词:案例教学法;案例设计;控件数组
  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)22-0108-03
  案例教学法,在计算机科学中是一种开放式、互动式的新型教学方式,它通过模拟或者重现软件项目中的关键场景,使学生主动把自己纳入案例当中,运用已有的知识和经验来分析、判断案例提供的背景、软件需求描述,并解决相关软件设计技术问题,最后,从中总结出某些关键的知识点或设计方案;也可以让学生通过自己的思考或者跟随他人的思路来拓宽自己的视野,从而促进学生进行知识技能迁移,提高学生的软件设计能力[1]。
  控件数组是Visual Basic中的一个较难的知识点,它是一组具有相同名称和类型的控件的集合,通过各自的编号(下标)来识别,并且可以共享事件。程序中使用控件数组所占用的资源比单独添加多个控件所占用的资源更少,而且控件数组的事件共享,使用多个同类型控件在一个应用中执行相同或类似的代码,使用控件数组比单独创建多个控件更容易设计,代码更容易维护[2]。在控件数组的教学过程中,需要学生理解以控件为数组的设计形式、控件在应用界面上的微差异可视化的表现形式,结合控件事件代码的共享机制以解决软件设计问题的设计思维,由于设计思维的转变,实践证明,采用单纯的讲解其知识点并简单演示,很难获得优良的教学效果。
  将案例教学法引入Visual Basic的教学过程,就是要把软件案例的设计实现过程加以典型化处理[3],形成供学生思考分析的案例,采用鼓励学生独立研究学习与师生相互探讨相结合的教学方式,提高学生分析问题和解决问题的能力。本文在教学过程中模拟一个Windows系统自带的扫雷游戏的实现过程,灵活的运用VB各个章节的知识点,以案例驱动的方式,结合界面设计和编码,以使学生能够更加真切的理解和掌握控件数组的知识要点,并能进行实际应用设计。
  1 案例准备
  通过多年的教学实践探索,我们认为教学案例的选择,要满足三个条件:典型、贴近实际、有趣,经过细致选择,Windows系统自带的扫雷游戏最后被选中。
  在案例教学中,要让学生成为教学过程的主角,我们在讲解控件数组课前将准备好的扫雷游戏案例告知学生,要求学生查找一些必要的资料,做好发言准备;同时,我们将初步的案例问题分解细节告诉学生[4]。初步分解如下:
  1)游戏地图构建;
  2)游戏地雷分布构建;
  3)游戏中点击控件按钮,地雷显示;
  4)游戏中排雷错误处理。
  2 案例课堂讲解讨论
  案例课堂讲解讨论是案例教学过程的中心环节,教师需要主动调动学员的主动性,引导学生主动紧紧围绕案例进行思考和分析[5]。以10×10的游戏地图为例,共需100个按钮控件。
  1)游戏地图构建
  地图如何构建?首先引导学生对不正确的设计方案进行否定,比如先绘制20个左右的按钮控件到界面上,然后依次点击按钮生成控件单击事件,在这个过程中引导学生对各个环节进行发言,时机成熟后,引入控件数组知识点:
  ①控件数组的概念及功能:控件数组是VB中特有的一组对象,同一个控件数组的所有控件拥有共同的名称和类型并响应同一个事件过程,但每一个控件都拥有自己的属性值。数组通过下标来标示每一个控件元素。
  ②引入扫雷游戏的实际需要,生成游戏地图,基本完成步骤:
  a、做好一个按钮当模版
  b、建立控件数组
  c、生成99个新的控件数组元素
  ③对设计进行小结,引导学生一起归纳采用控件数组设计地图的初步特征,并重点强调应用到的控件数组的知识要点[6]。
  2)游戏地雷分布构建
  ①分析地雷和控件的关系:教学过程中和学生一起分析,地雷是游戏中的一个关键元素,但它不是游戏中的独立元素,必须和控件进行关联。
  ②地雷设计:可以采用二维数组记录哪些按钮控件对应地雷。在窗体的声明部分声明二维数组,用于存储按钮控件有地雷的情况。假设规定二维数组某元素的值为1,代表该位置上的按钮有地雷,为0代表无地雷。
  Dim zha(1 To 10, 1 To 10) As Integer
  ③生成随机地雷
  教学中和学生一同进行分析:10×10的游戏地图中有10个地雷,地雷的分布必须具有随机性,所以对10个地雷的位置使用随机函数来进行设置,同时要注意生成的代表地雷位置的随机数不能重复。最后一同设计出主要代码,参考如下:
  zhdshu = 10 ’地雷总数
  Dim tmp(10) As Integer
  t = 0
  While t < 10
  biaozhi = 0 ’用于标识当前控件是否有雷
  linshishu = Int(Rnd * 100)
  For i = 0 To t
  If tmp(i) = linshishu Then
  biaozhi = 1
  Exit For
  End If
  Next i
  If biaozhi = 0 Then
  t = t 1
  tmp(t) = linshishu
  End If
  Wend
  For i = 1 To 10   zha(tmp(i) \ 10 1, (tmp(i) Mod 10) 1) = 1
  Next i
  ④对设计进行小结,引导学生一起归纳地雷分布设计过程中,将代码与界面进行关联的设计要点,并回顾随机数知识点。
  3)游戏中点击控件按钮,地雷显示
  ①首先提出关键问题引导学生思考:在按钮上点击鼠标左键需要显示其周围有几个地雷,如何计算?游戏中如何判断是否获胜?
  ②地雷个数的计算:在按钮上点击鼠标左键后,界面上需要显示其周围有几个地雷,地雷个数的计算问题可以转换为判断当前点击的按钮所对应的行列数,即对应的二维数组元素周围的8个按钮有几个地雷。一同设计出主要代码,参考如下:
  Dim hang As Integer, lie As Integer, shuzi As Integer
  hang = Int(Index / 10) 1
  lie = (Index Mod 10) 1
  ’判断当前点击按钮的周围有几个地雷,并显示出来
  shuzi = 0
  For i = hang - 1 To hang 1
  For j = lie - 1 To lie 1
  If i >= 1 And i <= 10 And j >= 1 And j <= 10 And (Not (i = hang And j = lie)) Then
  ’判定周围是否有按钮
  If zha(i, j) = 1 Then
  shuzi = shuzi 1
  End If
  End If
  Next j
  Next i
  cmd(Index).Caption = shuzi ’显示有几个地雷
  ③判断获胜
  引导学生分析出设计方案:用户已经标识出所有地雷,标示正确了就算赢,所以程序中我们只需要判断是否zha数组中所有的等于1的元素,在界面上显示的标志是符号"●",并且显示的地雷总数是10个。然后和学生一同设计出程序代码。
  ④对设计进行小结,引导学生一起归纳控件数组共享事件代码的编程方式,重点加强学生理解控件数组中各个控件既独立又统一的设计特点。
  4)游戏中排雷错误处理
  引导学生分析出设计方案:如果游戏中,用户点击错了,则应该显示所有的雷,这个过程我们只需要遍历zha数组,如果数组元素等于1,则是地雷,显示出来即可。一同设计出主要代码,参考如下:
  If zha(hang, lie) = 1 Then
  For i = 1 To 10
  For j = 1 To 10
  If zha(i, j) = 1 Then
  cmd(i * 10 - 10 j - 1).Caption = "●"
  End If
  Next j
  Next i
  Exit Sub
  End If
  5)游戏优化
  基本功能设计结束后,引导学生对案例中部分代码进行优化设计。
  ①将求按钮周围地雷数量编写为函数,引导学生一同设计函数代码,参考代码如下:
  Private Function qiugeshu(suoyin As Integer) As Integer
  numhang = Int(suoyin / 10) 1 ‘找出控件数组元素对应的行列信息
  numlie = (suoyin Mod 10) 1
  shuzi = 0
  For i = numhang - 1 To numhang 1
  For j = numlie - 1 To numlie 1
  If i >= 1 And i <= 10 And j >= 1 And j <= 10 And _
  (Not (i = numhang And j = numlie)) Then
  If zha(i, j) = 1 Then
  shuzi = shuzi 1
  End If
  End If
  Next j
  Next i
  qiugeshu = shuzi
  End Function
  ②采用递归实现扫雷游戏过程的连续排雷处理功能,每次点击,对被点击按钮周围的按钮进行处理,引导学生一同设计函数代码,参考代码如下:
  Private Sub fun(suoyin1 As Integer)
  numhang = Int(suoyin1 / 10) 1
  numlie = (suoyin1 Mod 10) 1
  cmd(suoyin1).Caption = qiugeshu(suoyin1)
  ’遍历周围的8个
  If qiugeshu(suoyin1) = 0 Then
  For i = numhang - 1 To numhang 1
  For j = numlie - 1 To numlie 1
  If i >= 1 And i <= 10 And j >= 1 And j <= 10 And _
  (Not (i = numhang And j = numlie)) Then
  If Not IsNumeric(cmd((i - 1) * 10 j - 1).Caption) Then
  fun ((i - 1) * 10 j - 1)
  End If
  End If
  Next j
  Next i
  End If
  End Sub
  ③对优化设计进行小结,复习递归程序的设计,引导学生一起归纳应用控件数组解决项目设计问题的特点:在方案设计上,可批量处理大量重复或功能相近的控件;在代码设计上,利用for-next循环结构,可以方便地为控件数组的各个元素设置属性等。
  3 结论
  案例教学以其与实际联系紧密、操作性强的特点架起了理论与实践的桥梁。相对单纯讲解理论知识并简单演示的传统教学,将案例教学法应用于VB教学过程的最大优势在于以案例为课堂教学基本支撑点,将学生引人一个特定的相对真实的软件设计情境中,通过师生、生生之间的共同探讨,逐步剖析、层层推进的解决问题,在整个教学过程中激发学生的学习积极性,培养学生的分析问题和解决问题的能力,帮助学生将理论知识转化为实践能力,经过多年的探索和实践取得了很好的教学效果。
  参考文献:
  [1] 丁海燕.Visual Basic程序设计课程实践教学模式的探讨[J].实验室研究与探索.2013,32(10):431-433
  [2]黄爽.VB程序设计与应用课程项目教学法的实施[J].辽宁高职学报,2010,12(10):45-46.
  [3]胡绪英.VB中控件数组及其应用[J].软件导刊.2014,13(10):20-22.
  [4]谭浩强.visualBasic程序设计案例教程[M].北京:清华大学出版社,2012.
  [5]杨钧.如何在计算机教学中激发学生学习兴趣[J].辽宁中医药大学学报,2006(8):65-67.
  [6] 叶子,庞丽娟.试论师生互动模式形成的基本过程[J].教育研究,2009(2).
其他文献
摘要:针对工业产品中的软件界面设计,探索uI设计课堂教学新模式,具体内容为与市场和用户实际需求紧密结合的项目贯穿式UI互动设计教学与实践方法,其中以企业全真项目为依托、以学生为中心的互动设计教学结合师生角色转换的体验评价模式构建了开放真实的UI互动设计课堂,其中以项目贯穿始终的教学内容提升了UI设计课堂的综合实践性;以学生为中心的互动设计教学方法激发了学生参与设计的自主性;师生角色转换的体验评价模
摘要:虚拟漫游在虚拟现实领域中的应用是个热点。虚拟漫游是基于图像的虚拟建模技术,是可直接使用真实世界的图像来表达现实世界的丰富细节,省去了绘制细节所进行的大量的多边形计算,是一种在微机平台上能够实现的性价比极高的虚拟现实解决方案。  关键词: PTGui;全景图像;虚拟漫游  中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)19-0212-03  Design and
摘要:“微课”教学资源是以视频为主要载体,围绕某个知识点或环节而开展的教与学活动的全过程,非常适合学生的主动学习、移动学习、远程学习和在线学习。文章以《Photoshop图像处理》课程为例,论述了“微课”教学资源的设计、开发和在课堂教学中的应用。  关键词:微课;教学资源;设计;开发  中图分类号:G710 文献标识码:A 文章编号:1009-3044(2016)06-0149-03  Desig
摘要:针对当前高职院校专业与当地经济发展不相适应的问题,该文以娄底职业技术学院为例,探讨高职专业设置与当地经济之间的关系。首先详细描述娄底经济和娄底职业技术学院的现状;其次分析娄底职院与当地经济不相适应的问题;最后给出了学院发展的一些建议。  关键词:高职院校;区域经济;专业设置  中图分类号:G71 文献标识码:A 文章编号:1009-3044(2016)06-0143-02  随着我国经济的迅
摘要:本课题将职业规划与计算机应用技术专业建设两者相结合,以学生就业为导向,以职业规划下的高职计算机应用技术专业人才培养为目标,对基于职业规划下的计算机应用技术专业人才培养模式进行改革,转变传统的人才培养观念,以职业规划理念为导向,以IT市场人才需求分析为出发点,确定专业人才的最新培养方案,改革创新“阶段培养、能力递进”的人才培养模式;立足学生的可持续发展,提升专业社会服务能力。  关键词:职业规
摘要:风起云涌的科技化时代,科技与艺术的结合可以更好地促进居民生活和城市建设。智能公交站牌视觉应用的研究是基于城市居民目前的乘车状况,以及移动互联网,GPS、LED显示屏、APP应用等技术和载体,加强智慧城市的建设与发展,拓展居民乘车的使用方式和适用范围,同时也将推动数字信息时代经济的发展。  关键词:UI设计;视觉应用;智能公交站牌;LED显示屏;APP  中图分类号:TP311 文献标识码:A
摘要:简单介绍了“翻转课堂”及其优势;阐述了开发用于“翻转课堂”教学的“教一学”软件的必要性和可行性;详细介绍了采用MVC模型按照面向对象的开发方法的开发过程,包括系统结构设计、面向对象的各种建模如用例建模、静态建模、动态建模,以及数据库的设计;最后对该软件进行了评价。  关键词:翻转课堂;“教一学”软件;MVC模型;面向对象开发方法  中图分类号:TP311.52 文献标识码:A 文章编号:10
摘要:风险普遍存在,无处不在,由于忽略风险或没有严格的管理控制风险而造成的重大损失也常常发生。在经济全球化的趋势下,我国各行各业企业正在努力改进自身的管理和控制,实现企业自身国际竞争能力的提高,完善自身风险管理体系,有效提高风险管控能力。企业通过风险管理体制的完善来减轻风险事故所导致的损失,从而提高企业对危机能力的反应能力。对于证券公司来说,风险更像是与公司的发展随之而来的。中国的证券公司的发展比
摘要:针对目前大学生教学存在重理论、轻实践,动手能力差等问题,为了能够更好的实施教学,该文以java程序设计课程为例,首先介绍了java教学存在的不足之处,然后提出一体化教学模式,最后给出了一体化教学模式的实施。通过实施结果表明java课程教学结果取得了显著的效果。  关键词:一体化;教学模式;java程序设计  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)12
摘要:现在网上平台获得愉悦体验的网络游戏系统最成功之处是以玩家需求为本的激励机制,而现有的MOOC(大规模开放在线课程)平台对学习者学习驱动性不足。该文分析网络游戏系统成功因素,将网络游戏中的激励措施借鉴到网络课程中,提出基于网络游戏激励模式的在线教育课程方案并相应给出可以实现的策略。在慕课平台中引入激励机制,激发学习者学习动机,从而增强慕课平台的学习者驱动性。  关键词:慕课;网络游戏;激励;学