发布时间:2023-11-20 10:18:45
导语:想要提升您的写作水平,创作出令人难忘的文章?我们精心为您整理的13篇计算机微课教学设计范例,将为您的写作提供有力的支持和灵感!
目前高等教育正在实施教育信息化2.0行动,积极利用“互联网+教育”等方式实现优质教学资源的构建与利用。近年来微课被广大教育者所熟知,它所具有的微型化、知识内容碎片化、可移动化等特点,使其成为一种新兴的信息化教学手段并迅猛发展。
一、微课教学的基本内涵
1.基本概念微课(Microlecture)的概念最早是由美国高级教学设计师戴维彭罗斯(DavidPenrose)于2008年首先提出的。利用视频为主要载体,记录教师在课堂教育教学过程中围绕某个知识点或教学环节而开展的教与学活动全过程。目前,国内对微课的定义归纳为:以微型教学视频为主要载体,针对某个学科知识点或教学环节而设计开发的一种情境化、支持多种学习方式的新型在线教学课程。微课教学把教学内容制作成教学资源并进行网络共享,学生通过终端进行学习,是对传统教学的重要补充、拓展和深化。
2.基本特点微课教学特点可以归纳四点。一是内容短小精简,它主要将课程的知识点(如重难点、疑点、考点等)或教学环节(如学习活动、主题、实验、任务等)进行碎片化的分解,内容短小,讲解清晰,适宜碎片化学习。二是适合自主学习,作为微课核心内容的微课视频,其时长一般为5~8分钟,学生根据自身的接受能力控制学习进度,自主进行学习,容易实现“学一个,懂一个”的教学目标。三是适于移动学习,由于微课教学资源利用网络进行共享,学生通过电脑、iPAD、手机等设备随时随地获取课程微课资源,实现随时、随地、随终端的移动学习的需求。四是微课制作方便简单,它可以采用专业的设备,也可以采用电脑、手机等常用普通设备完成微课的制作。
二、计算机辅助设计课程微课化教学的可行性分析
1.课程情况计算机辅助设计是以设计软件应用操作为主的专业课程。在视觉传达设计、环境设计、产品设计等设计类专业课程中广泛开设,该课程着重培养设计专业学生利用计算机进行图形制作、图像处理、设计制图等的表现能力,是设计类专业学生必须掌握的一项重要的核心技能。下面主要选择Illustrator、Photoshop软件课程为例进行微课教学实例研究。
2.可行性分析目前,各高校开设此课程教学模式通常以教师讲授为主,学生进行同步观摩、操作的方式进行,教师在授课过程中,承担着理论讲授和实验指导的角色,学生往往被动地接受,有时会出现跟不上教学进度的情况,影响教学进度以及最终教学效果。通过引入微课教学,直接把教学从传统教学模式转变成一种主动、交互的学习场景,使学生获得更丰富、更有效的学习体验。各种微课资源上传到网络教学平台,学生根据教师的教学任务安排,实现随时随地实现自主学习,这些资源可以演示软件知识点的直观操作步骤,在没办法学习一遍全部弄懂的情况下,可以在电脑或手机中反复查看、重复学习,进行全面系统的学习巩固。
三、计算机辅助设计课程微课化教学的构建
1.微课教学设计计算机辅助设计课程具有知识点多、操作性强等特点,教师要认真分析教学内容和学生特点,找准计算机辅助设计传统教学中存在的问题、了解学生的学习困难和需求,对教什么(课程、内容等)、如何教(组织、方法等)以及教的怎么样等教学环节,进行针对性、个性化、创新性的设计,设计出符合学生心理特点和发展规律的微课教学过程;然后针对教学内容进行微课化的细化切分,设计微课教学资源集合(见下表)。
2.微课教学资源制作根据上述微课化教学设计,进行微课教学资源制作,选择合适设计项目任务,详细讲解操作步骤,剖析难点问题,通过步骤示范解说,引导学生一步一步从素材做成作品。这一过程中,不仅要注重讲解软件基本知识和基本操作,而且还要强调设计能力的培养,注意调动学习动机,给予学生选择学习内容和课题的自主权,让学生去探索自己的兴趣。
3.微课教学组织实施按照微课的教学方式和手段,可以将计算机辅助设计微课教学实施过程分为三个阶段。一是课前预习阶段,即授课前,教师搭建好教学平台,如图1、图2所示,在平台上教学内容的微课视频,学生在课前通过电脑、iPAD、移动设备观看微课教学资源。这些微视频中可以实现Illustrator、Photoshop软件知识点直观的学习,完成课前的预习任务。二是课堂组织阶段,在课堂上通过面对面的交流,教师了解学生学习视频教学后的心得和存在的疑惑,然后通过针对性教授和实验指导,答疑解惑,该完成相关设计任务。三是课后复习巩固阶段,学生可以通过教学平台,对已进行的教学内容进行复习,完成课后练习,实现对知识的内化和吸收的目的。除此之外,利用微课进行讨论、作品展示等教学活动。
四、实施计算机辅助设计课程微课化教学的意义
1.有利于构建多元教学活动微课引入计算机辅助设计教学中,有助于构建主动和互动式教学活动。微课教学承担课程预习、核心概念讲述、实验演示、课后练习等不同的角色,学生成为学习的主角,教学过程就会变得轻松有趣。在课堂教学组织中,通过学生互助学习、设计比图、单独辅导、单元测验等多种形式,极大丰富课堂教学手段,建立起更愉悦、更有效、参与度更高的教学组织模式。
2.有利于实现课堂翻转翻转课堂是以教育信息技术为依托,通过多教育技术、教学视频等载体使学生在课外完成前期入门知识的学习,在这个过程中教师可以为学生提供帮助,以此帮助学生实现知识的深入学习,这是一种不同于传统教育模式的新型教学模式。计算机辅助设计课程教学强调实际操作,注重个性化指导。利用微课教学,有助于拓展课堂教学之外的学习空间,发挥微课的优势,实现课堂翻转,提升教学质量。
0 引言
随着科技的进步和教育技术的不断发展,现代教育领域也在快速步入“微”时代,近些年,微视频、微课堂、慕课等纷纷出现。 短小精悍、资源丰富、传播途径多、速度快、范围广是“微”信息的主要特点。“微”时代带给了我们一些全新的教育模式和理念:将一节课的精华部分,比如某个教学点(一般是重点、难点或是疑点) 录制成10分钟以内的简短视频,学生利用课堂或业余时间通过微课平台来点播视频进行学习,同时学生借助网络传播也可下载、分享和互动。这种微课的模式能在短时间内抓住学习者的学习兴趣,提高学习者的学习效率。本文将以《计算机应用基础》课程为例,分析探讨微课在该课程中的应用。
1 中职《计算机应用基础》课程的教学现状
《计算机应用基础》课程是一门中职学生必修的文化基础课,面向的对象是所有中职一年级的学生。大多数的中职学生都不具备主动学习的习惯,大多缺乏学习兴趣,基础也薄弱。而《计算机应用基础》则是一门操作性和逻辑性强的课程。目前该课程在中职学校大多采用大班教学和实训上机相结合的讲授模式,讲授也大部分采用的是任务驱动教学法或项目教学法等。学生由于基础薄弱,在学习中学生在课堂学习和实训过程中或是课余自学的过程中如果遇到问题时,由于教师和学生之间还做不到及时地沟通,这些问题往往得不到及时地解决。
2 什么是微课
2008年秋,美国新墨西哥州圣胡安学院高级教学设计师戴维·彭罗斯(David Penrose)首次提出了“微课(Micro-Lesson)”这一概念。在国内,广东佛山市教育信息中心主任胡铁生首先提出这一概念,并于2010年在佛山市教育局信息网络中心首创微课学习平台,引起强烈反响。微课就是根据学习者的学习规律,将课程分解成为一系列具有目标、任务、方法、资源、作业、互动与反思等在内的微型课程体系。主要方式是制作播放长度只有几分钟的一段“片段化”教学视频。目前网络技术特别是移动互联网技术已经相当普及,在校中职生可以根据自己的实际学习情况通过学校局域网络或是移动互联网络进行个性化化学习,移动学习,有目的地学习,反复学习。微课的最主要特点就是短小精悍、目标明确、资源丰富、易于交互。
3 微课的应用特点
3.1 趣味教学,提高效率
计算机课程往往逻辑性较强,比如一个实例,教师先讲授一遍操作步骤,学生在自己动手操作的过程中,很容易出现的一种情况就是记住了这一步却忘记了下一步该做什么。而使用微课教学可以很方便地解决这一问题。一节制作完整而精美,并且充满趣味性的微课视频能使学生在观看的时候集中注意力,提高兴趣,如有遗忘可以反复来播放视频加深记忆。微课能突出教学重点,基于一个核心问题来编排,没有烦琐的理论,突出实际应用,突出操作技能,实效性高,提高了学习效率。
3.2 增加互动,促进交流
和传统教学的师生交流欠缺相反,微课的交互性能使学生自主选择学习内容和学习方式,有的放矢。微课的互动交流区还可使学生和教师之间,学生和学生之间,教师和教师之间都能建立良好的互动关系,及时做到交流和沟通。制作完整的微课系统不仅具备丰富的学习资源,还应该有课后反思,课下作业,互动分享等内容,使学生遇到问题时能得到教师或者其他同学的及时解决。
3.3 延伸课堂,随时学习
目前,中职生中电脑终端和移动终端也比较普及,另外,现在有越来越多的学校正在实现无线网络的全覆盖,这些都为微课的应用提供了良好的保障条件。学生甚至能够利用课余或者其他的零散时间随时随地进行学习。微课能使我们的传统课堂得到延伸,也符合了当前国家教育部门提倡的移动学习、自主学习的新型学习理念。
4 制作《计算机应用基础》微课的要点
4.1 制作工具的选择
制作微课,特别是录制微课视频时,需要专业设备的同时,还应有专业的技术支持。这些装备和技术包括高配置的电脑、耳麦或话筒,还需要有专业的视频录像软件,比如Camtasia Studio和ppt软件等。目前,已有越来越多的中职学校开展了对专职教师的Camtasia Studio软件的使用培训,对于计算机教师来说,则更易于上手。
4.2 微课视频的设计
微课视频的设计是微课的核心所在。微课视频一般有三种类型:一是PPT式,利用PPT和屏幕软件将文本、图片、视频和音频设计成PPT式的自动播放,时间一般在5分钟左右。二是讲课式,教师按照事先设计好的微课流程进行授课并进行拍摄,经过视频后期剪辑处理,形成微课文件,时间一般控制在10分钟以内。三是情景剧式,这种微课类型就类似拍摄一段短电影,需要一个团队的配合与设计开发,围绕授课内容来进行策划设计,撰写脚本,还需要指定导演和演员等,最后选择场地进行拍摄,同样需要经过视频后期剪辑处理,最终制作成微课视频,时间一般也在10分钟左右。笔者更欣赏第三种类型的微课,因为情景剧式往往能引人入胜,容易引起学生的注意,使他们更有兴趣,更易于掌握视频中的知识点,当然这种微课设计起来并非易事,需要有巧妙的构思、精心的编排、演员的到位表演等。
无论是什么类型的微课视频,笔者认为都应该做到这几点:一是快速引出知识点。由于微课有短小精悍的特征,所以在设计微课时,尽量快速引出知识点,使学习者一开始就能明确学习目标,使他们迅速进入学习状态。二是过程清晰。对于《计算机应用基础》课程来说,每一个项目任务可以设计成一段微课视频,任务实施的过程应该清晰明了,拿《计算机应用基础》中的一个重要知识点“图文混排”为例,视频中应该说明分成几步来制作某海报,每一步需要用到什么工具,该工具的使用方法都应该介绍清晰。三是总结式收尾。结尾一般为归纳本节内容要点,对完成本任务的操作步骤加以概括回顾,加以提炼总结,使学生对所学内容加深印象,以起到画龙点睛的作用。
4.3 资源设计
微课的核心是微课视频,但同时还应包含与该教学主题相关的其他资源,例如,微教案、微课件、微练习、微互动等内容。《计算机应用基础》课程的学习资源也很丰富,如教材配套光盘内容、教师课堂的PPT课件、教案、课后习题及答案、知识点练习、复习测验、教学反思和教师反馈交流等。课件、教案、习题等都是根据教学内容而设计的教学资源,知识点练习以及复习测验则可以帮助学生更好地巩固所学知识,对学生进行考评,并根据测试考试效果及时调整教学,提高教学质量。对于学生来说,通过这些配套资源可以更深入更全面地掌握知识点,进行针对性学习,还能及时了解自身不足,查漏补缺,也可复习旧知识,预习新知识,营造一个良性运营的“微课资源生态系统”。
4.4 反思设计
在微课教学结束后,根据反馈效果以及在互动交流区的师生交流,反思微课教学是否设计合理?教学过程是否完善?是否达到了教学目的?还有哪些地方需要改进?对微课教学实践进行再思考、再认识,总结经验教训,以提高微课制作水平和教育教学水平。
文献标识码:A 文章编号:1672-7800(2016)008-0213-03
0 引言
《C语言程序设计》是计算机类公共基础课程,培养非计算机专业学生在计算环境下进行问题求解的思路、方法,使学生能用计算机学科独特的思维方式来解决专业领域和实际生活中碰到的各种问题,为将来创新性解决专业问题奠定基础。本课程教学中,学生普遍感觉课程难于理解,导致教学效果欠佳,主要体现在以下几个方面:
(1)课程教学侧重于语法规则,忽视了计算思维的培养与训练。学生即使掌握了所有语句规则,在解决实际问题时仍会感到茫然,无从下手,没有达到课程设置的目的和要求。
(2)传统教师讲学生听的授课方式,整个学习过程中学生处于被动接受的状态,学习积极性不高。听完课后按照教师设定的模式完成上机实验,导致解决问题独立思考能力不强。
(3)过度强化等级考试。为提高考试通过率,会以考点作为教学目标,通过大量习题巩固,导致学习思路狭窄,学完课程后不知道如何用程序设计方法解决专业问题。
(4)在高校教学改革的大趋势下,计算机类课程课时普遍都在压缩,要在规定的课时内完成相同的教学任务,往往会加大学时信息量,学生在课堂上囫囵吞枣,根本来不及消化所学内容。
(5)由于地域差别,入校时学生的计算机基础参差不齐。传统的教学组织无法顾及学生个体差异,往往导致基础好的学生没吃饱,基础差的学生没吃到。
1 教学组织
计算思维是指运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的系列思?S活动[1]。在信息社会中,计算思维是人类进行问题求解的有效工具,每个人都应该掌握并学会使用。同济大学的龚沛曾教授等[2]将计算思维培养进一步细分为计算思维意识、计算思维方法和计算思维能力3个维度,为程序设计课程教学提供了更为明确的指导。
笔者学校C语言课程教学改革从计算思维培养的角度出发,以应用为背景,通过对实际案例的思考分析,借助任务驱动模式和递进式教学法将知识点串接起来,形成逻辑清晰的脉络和主线,加深对C语言的理解和驾驭能力,提升分析问题和解决问题的能力。课程重点是培养学生从计算机的角度去抽象问题,思考解决问题的方法和步骤,主动用计算思维去解决问题,有意识地应用在专业问题中。
在教学组织上,采取渐进式分层次教学法,整个课程教学分为3个阶段:①建立程序设计思想:学生能从计算思维的角度分析解决问题的方法,并转化为程序;②强化程序设计方法:通过大量阅读、分析程序,熟悉语法细节,明确编程意图,使学生熟练掌握常用的算法和程序设计方法;③应用能力拓展:通过对问题的分析构建算法,使学生具备一定的独立解决问题能力,并根据实际要求在多种方法中找出较优解决途径。
2 教学内容设计
2.1 理论教学设计
生活中的计算思维无处不在,但人们的计算思维活动是无意识的。在C语言程序设计教学中,要注意将无意识的计算思维变成有意识的、系统的计算思维,将知识传授转变为基于知识的思维传授[3]。C语言程序设计课程虽然从一开始就涉及到大量的语法规则细节,但在具体讲解时应将生活中的活动和现象作为切入点,通过案例分析,积极引导学生思考解决问题的办法。程序设计教学应以发现问题分析问题寻求多种解决方案各种解决方案对比实现解决方案作为授课思路,让学生成为问题的解决者而不仅仅是程序设计员[4]。
在C语言课程教学中,以任务驱动进行教学是培养学生计算思维能力的有效手段。根据计算思维培养的3个层次,可分为入门、巩固、提高和创新4个阶段[5],教师通过阶梯式引导教学,学习者根据问题解决思路进行学习、巩固和提高,实现由简单到复杂的自然过渡。如讲到循环时,可以设计这样几个问题逐步引导学生理解循环结构的使用:
①5+5+5+5+5;②1+2+3+4+5;③1*2*3*4*5(5!);④1!+2!+3!+4!+5!
在由单重循环过渡到多重循环的教学内容中,可以引导学生按照图1顺序逐步打印图形:
通过以上方法,不仅使学生在完成任务的互动中掌握了语法结构,而且通过思考的方式让学生明确问题的分析过程和处理问题的计算思维方式,培养解决问题的能力。
2.2 实验教学设计
C语言是一门实践性很强的课程,实验教学在整个教学过程中占有重要地位。通过实验教学可以培养学生将理论学习中形成的解决问题思路转化为机器实现,逐步养成计算思维能力。上机之前,要求学生写下求解问题的步骤并画出关键算法的流程图,不仅可以帮助学生明确解决问题的思路,而且可以在编写程序时不会出现逻辑混乱和大的结构性错误。在确定解题思路的基础上再由C语言的语法规则对应到具体的实现语句上,形成最终上机调试程序。程序设计语言是一种确定性的符号系统,学生在编程中产生的任何问题都会在编译、链接和运行的过程中表现出来,根据错误现象找到导致错误的原因可以使学生逐步形成理性的逻辑思维、严谨的学习习惯和科学的实证精神。
综合程序设计实践环节,选取与日常生活相关的ATM取款机、班级通讯录和大数据计算等问题,由学生在两周时间内根据自己的兴趣任选一设计程序,既可以巩固C语言语法知识,又锻炼了综合运用C语言程序解决问题的能力。
3 基于微课的翻转课堂教学法
翻转课堂是在信息技术支持下,将课堂教学和课下作业的内容、形式和目的进行翻转。教师将教学内容录制为教学视频,辅助学生在课下完成预习、学习和复习。课堂则变为教师个别辅导、师生互动讨论和解决问题的场所[6]。
C程序设计知识点繁杂、概念抽象,因此微课教学和翻转课堂非常适合C程序设计教学。学习视频中不仅要有预习的课程内容,还要将C语言中难于理解的语法、程序构建和程序分步执行过程录制成视频,便于学生反复观看。视频可以采用真人授课或PPT播放课件,也可以采用Prezi等简报软件制作动态教学演示。录制视频可以按片段化呈现方式,将教学单元按照一个知识点或一个问题进行分解,时间一般控制在8分钟以内。学生可以利用碎片时间进行学习,从任一起点反复观看,更好地做到分层次教学。教学视频后面紧跟4~5个小问题,帮助学生及时进行检测,对学习情况作出判断[7]。
翻转课堂从以教师为中心转变为以学生为中心,学生可以完全按照自己的节奏学习,其效果远优于传统教学。翻转教学这种主动学习的方式有利于计算思维的训练与形成,是培养计算思维很好的教学方式。
4 开展线上和课内讨论
为了在教学过程中实时进行辅导和组织预习,跟踪学习进程,鼓励学生提出学习中遇到的问题。笔者组织学生建立了C语言课程QQ群,将所授班级学生加入群内进行课程讨论,作为课堂教学的有效补充。学生不仅可以利用生活中的碎片时间观看微课视频,还可以将学习中产生的问题随时进行讨论。以往只有答疑课才能得到解决的问题,在群里就可以得到老师或同学的快速响应,真正成为学生手边的24小时课堂。笔者筛选出一些与程序设计以及目前计算机热点技术相关的知识在群里分享,学生可以有选择地阅读。
为了让大部分学生都能参与到讨论中,将学生在群内讨论的活跃程度体现在平时成绩中,通过这种方式大大增强了学生自主学习能力和探究意识,持续提升学生学习计算机和C语言的兴趣,提高学生的信息素养。
?_展小组讨论是活跃课堂气氛,提高学生课堂参与度的重要手段。讨论小组一般根据学生上课时的座位随机划分,一般以相邻或前后座位的3~5名同学作为一个小组,选出一位组长负责讨论活动的组织和讨论结果的提交。C语言中关于选择、循环结构程序的设计、递归函数的调用执行过程以及结构体的定义、链表的插入和删除等内容都可以组织学生进行讨论。在实验教学中也可以采取分组的教学形式,以3~4位同学组成一个实验小组,就实验中的解题方法和调试问题进行讨论和互助,鼓励学生尽量自己解决问题。
5 注重课程评价方式
教学目标:
知识目标:能够根据已知条件的变化,计算商品的价值量。
能力目标:能够运用引起价值量变动的相关知识,分析相关生活现象以及解决实际生活问题的能力。
情感、态度与价值观目标:
以科学的态度认识商品价值的变化,增强参与经济生活的自主性。
培养作为商品生产者的科技创新意识和服务意识,形成劳动光荣、劳动创造价值的观念。
教学重、难点:商品价值量的计算。
教学方法:讲解法、引导法、举例法。
教学过程:
【导入】我们已经学习了商品价值量的有关知识,先来复习几个相关量之间的基本关系:
【新课】下面我们就商品价值量的计算进行分类解析:
第一类:计算不同商品的等量关系
在市场上,若1千克大米换10千克盐,写成等式:1千克大米=10千克盐,计算下列各题:
(1)现在生产大米的社会必要劳动时间增加1倍,而生产盐的社会必要劳动时间减少一半,那么1千克大米=___千克盐。
(2)假如生产大米的个别劳动生产率提高1倍,1千克大米= ___千克盐。
(3)假如生产大米的社会劳动生产率提高1倍,生产盐的社会劳动生产率不变,则___千克大米=20千克盐。
解析:“以不变应万变”。商品价值量与社会必要劳动时间成正比,依据(1)的已知条件可得:0.5千克大米=20千克盐,所以1千克大米=40千克盐;
商品价值量与个别劳动生产率无关,依据(2)的已知条件可知:1千克大米=10千克盐;
商品价值量与社会劳动生产率成反比,依据(3)的已知条件可得:2千克大米=10千克盐;
所以4千克大米=20千克盐。
第二类:计算单位商品的价值量
假设2012年某国一单位M商品,其价值用该国货币表示为15元。如果2013年生产M商品的社会劳动生产率提高50%,在其他条件不变的情况下,2013年一单位M商品的价值量表示为
( )
A.12元 B.10元 C.12.5元 D.18.75元
解析:“咬定青山不放松”。准确计算该题要抓住“社会劳动生产率提高50%”这一关键条件。由于商品的价值量与社会劳动生产率成反比,所以2013年一单位该商品价值量为:15÷(1+50%)=10元,答案是B。
同理,假设条件变为“社会劳动生产率降低50%”,则有:15÷(1-50%)=30元。
第三类:计算货币升(贬)值后单位商品的价值量
2010年某国生产甲种商品为10万件,每件商品的价值量用货币表示为12元。如果2011年该国生产甲种商品的劳动者数量增加20%,且货币贬值20%,其他条件不变,则2011年该国甲种商品的价值总额与单位商品的价值用货币表示分别为( )
A.120万元,10元 B.180万元,15元
C.168万元,14元 D.150万元,15元
解析:由已知条件“2011年该国货币贬值20%”可知,2011年每件商品的价值用货币表示为:12÷(1-20%)=15(元)。
又由已知条件“2011年该国生产甲种商品的劳动者数量增加20%”可知,2011年该国生产甲种商品总量为:10×(1+20%)=12(万件);
所以,2011年该国甲种商品的价值总额为:15元×12万=180万(元),答案是B。
【总结】综合以上三类计算,我们可得出以下结论:
社会劳动生产率提高或降低x,则:变化后价格=变化前价格÷(1+x)或÷(1-x)
货币升值或贬值x,则:变化后价格=变化前价格÷(1+x) 或÷(1-x)
【巩固提升】
(2012年全国大纲版24)2010年生产一件A商品的社会必要劳动时间为8小时,价值80元,全社会A商品的产量为10万件。如果2011年生产一件A商品的社会必要劳动时间缩短为4小时,那么,在其他条件不变的情况下,2011年A商品的全社会总产量、单位商品的价值量和社会价值总量分别是( )
A.10万件、80元、800万元 B.10万件、40元、400万元
C.20万件、80元、1600万元 D.20万件、40元、800万元
解析:社会必要劳动时间决定商品价值量,2011年社会必要劳动时间缩短为2010年的一半,所以2011年单位商品的价值量就是2010年的一半,即:80/2=40元;那么2011年全社会总产量就是2010年的一倍,即:10万×2=20万件。商品的价值总量与社会必要劳动时间无关,所以依然是80元×10万=800万元。答案是D。
教学创新点:
这节微课我根据历年高考对价值量计算考查的特点和教参对这一知识点的要求以及教材内容编排的特点来设计,通过四个环节来完成(复习导入环节、解析授新环节、归纳总结环节、巩固提升环节)。尤其在解析授新环节,我根据高考考查的特点将内容归为三类,结合相应的例题,由易到难,层层推进,引导学生学习;而且在分析每一类题型时,潜移默化渗进教学情感,“以不变应万变”“咬定青山不放松”等,在学习过程中培养学生冷静思考、不轻言放弃的做事态度,这是我精心设计这节课除了让学生学会做这类题以外的一大亮点。
在学完新知识后,设计了归纳总结环节和巩固训练环节,意在不仅使学生对这一知识点有了更透彻的理解,而且使学生养成了善于总结,学以致用的好习惯,这是我设计这节微课的又一个创新点。
自从2008年美国部分高校已经在大学基础课程教学中引入了“计算思维”,并取得了很好的效果、英国计算机学会的相关专家和学者也对计算思维进行了深入学习和研讨。在我国,2010年7月,教育部高校计算机基础课程教指委组织九所首批“985”学校举办了“九校联盟计算机基础课程研讨会”,并发表了“九校联盟计算机基础教学发展战略联合声明”的会议决议。此次会议报告中明确表示引入计算机思维是大学计算机基础课程教学的“核心任务”,并对计算思维进行详细解读,深入研究计算思维与大学计算机基础课程的契合点,分析计算思维在大学计算机基础课程教学中的体现方法与具体应用,成为了目前大学计算机基础课程教学研究的关键[1]。
著名学者周以真教授提出计算思维是运用计算机科学的基础概念及你想那个问题求解、系统设计和理解人类行为等涵盖计算机科学广度的一系列思维活动。CMU Computational Thinking Center认为计算思维意味着通过创造和使用不同层次的抽象以有效理解和解决问题.;计算思维意味着算法化思维(thinking algorithmically),通过应用数学概念(如归纳)寻求更高效、公平和可靠的解决方案;计算思维意味着从效率、经济和社会等角度理解规模的重要性。
计算思维不仅渗透到每一个人的生活里,而且影响了计算机学科的发展,创造和形成了一系列新的教学理念和教学模式。
2 大学计算机基础课程教学内容改革的需求
目前,大学计算机基础教育在教育理念、教学内容及教学方法等方面,还存在一些问题,面临一些挑战。计算机基础教学一直以来存在着“计算机基础课程就是讲解Windows操作系统、Office办公软件等常用软件操作的一门课程”等观点,老师也主要讲解常用办公软件的具体操作,而对培养学生运用计算思维来解决专业问题的能力没有引起关注;教学内容采用模板式的教学目标、教学重难点,未能将教学内容与学生自身专业紧密结合,为专业提供服务;教学方法也只着重重要知识点的灌输,忽视了对学生“计算思维”的养成训练。
1)对计算机基础教学具有片面认识
大多数人存在计算机只会常用办公软件操作就可以,计算机就是一般程序设计等不全面的观点,高校对计算机基础课程不重视,学时一度被压缩,教学资源得不到充分配置,其次,学生学习计算机基础课程的态度也不重视,觉得可学可不学,有的学校教师认为大学计算机基础课程可有可无。
2)信息技术发展迅猛,知识体系庞杂,内容更新快
当今是信息社会,随着信息技术的快速发展,对计算机课程的教学提出越来越高的要求,知识构成庞杂,教学内容需要紧跟时代脚步,更新变化非常快,这与计算机基础教学相对有限的学时和有限的教学目标形成了矛盾。
当前形势对计算机基础教学提出了更高要求,对计算机基础教学的多样化要求,和计算机技术内容新颖化也提出了更鲜明的要求。基于此,我们不需转变以前的观念,需要选定相对合理、能够体现计算机本学科核心思想及方法的重要内容,更加突出思维方法的训练,用以满足有限的课时应对教学改革的压力和不断更新的技术,摆脱以“操作技能”培养学生计算机能力造成的“危机”,更好地诠释课程建设的目标,更好地体现计算机基础教育特征。
3 基于“计算思维”的教学内容重组设计[2]
为了更好地将“计算思维”引入到计算机基础课程的教学中,遵循教学内容要“再组织与优化”的指导思想,增加计算理论基础的教学、加强算法与程序课程讲解、计算机系统基础突出重点,例如重点讲解计算机组成、网络、操作系统、数据库、软件工程等,进行典型案例设计、进行符合思维习惯的教学内容重组。兼顾原有的知识点,进行有针对性的提高,具体见如下表所示:
4 以“二进制计算”教学内容为案例设计
1)改革课堂教学方法
教学中以计算机系统基础知识为主,增加少量的问题求解,通过对传统框架下进行改革与提升,通过案例、研讨、活动等手段推进计算思维的改革。课堂中采用的教学方法有以下几种[3]:
启发式教学,以学生为主体,采用多种方式,启发、引导学生积极思维,探索问题,分析问题,解决问题,激发学习。
讨论式教学,引导学生为解决某个问题进行探讨,形成不同的观点并得以进行知识的碰撞,促进学生灵活运用知识。
参与式教学,主要以学生为中心,直观形象的教学手段。学生自己动手、动脑,积极参与发现问题,解决问题,其中以团队协作的方式,通过数据收集、数据分析等方式来完成任务。
案例教学,通过对案例的选择与分析,引入相关单元的核心问题和基本思路,讲解讨论核心内容,自学拓展知识内容,让学生融会贯通。
2)教学内容设计
教学的主要内容包含:第一,进位制的概念及各进制之间的转换方法;第二,计算机采用二进制的原因及二进制表示方法;第三,二进制计算问题的分析及解决。教学难点我们设定为数的表示范围与计算思维的培养
3)教学过程设计
教学中具体教学过程:
① 提出问题:以“二进制计算”教学内容为例,提出问题。例如:什么是进制的概念?同学们了解过二进制的概念吗?
② 明确教学目标:掌握二进制与计算。
③ 学情分析:提问评估学生学习本知识的背景知识。
④ 案例剖析:引入案例,进行案例分析,组织学生参与式学习,以“二进制数值表示的范围和换算”为例,课堂可以设置数模转换、进度管理、CPU工作方式等任务驱动。学生在这个环节为主体地位,自己动手、动脑主动参与进来。
⑤ 问题求解:重在算法和程序的体验
⑥ 总结反思提高:注重学生的反馈信息,布置课后作业拓展提升。
课堂主要教学片段设计思路如下[4]:
1 应用技术型高校设计艺术类专业计算机设计软件课程教学模式
《计算机设计软件》在应用技术型高校艺术设计专业课程设置中属于专业课。应用技术型高校应以就业为导向,培养创新机制,拔尖创新人才,突出课程的职业定向性。重技术、轻实训,重视“基本功”而忽视认知过程和实训过程的设计教育模式存在于多数院校。
普通院校设计艺术类专业的课堂教学模式和教学方法已不能完全满足应用技术型高校设计类专业人才能力培养的需求,应以“理论教学直观,实践教学模拟”的教学模式来为设计艺术类专业培养设计与技术并存的复合型人才。即坚持做好理论教学的同时,要重点进行实践教学的模拟性,最大化缩短普通院校与民办高校教育存在的距离。
2 应用技术型高校设计艺术类专业计算机设计软件课程教学革新
教学改革是一项带有方向性、全局性及开创性的工作。应用技术型高校设计艺术类专业计算机课程教学改革正以社会需求为目的,从设计实践出发进行人才培养。社会转型背景下应用技术型人才占主导地位,这正为高校设计软件课程教育教学研究指明了方向。
2.1 计算机设计软件课程教学思想的改革
存在于许多院校随着现代社会科学技术发展迅速,知识经济迅速崛起,应用技术型高校对于设计软件课程的教学尤为重视。计算机设计软件课程教学首先应不断进行教学思想转变及教学思维的转换,其次应调整设计艺术类专业人才培养方案中对于设计软件课程设置,如增加《设计软件课程设计》或《设计软件测试周》等课程。最后实现由“传授知识”为主转变为“传授知识和培养能力的有机结合”,以适应社会转型背景下设计人才的培养。
根据以上分析,作者对教学思想的改革途径有两点建议:首先,要求学生做到自由操纵电脑,不断研究电脑和软件的新功能及其应用扩展,以适应不断探索创新的设计要求。其次,明确电脑设计作品,不能参考、借鉴和模仿,要突出设计创意。这就要培养学生直觉、发散和聚合等艺术设计思维,才能在构思和设计表现上突出个性。
2.2 计算机设计软件课程教学内容革新
自2014年2月国务院出台《关于推进文化创意和设计服务与相关产业融合发展的若干意见》以来,即为中国设计教育未来发展指明方向。
第一,课程内容应增加计算机图形学和软件工具的内在逻辑性结构。如在《Photoshop》的教学中向学生讲解计算机位图和矢量图的定义方法、RGB、CMYK色彩模式、通道和路径的概念;在《AutoCAD》教学中阐释人机交互技术和数据库系统及管理方法;在《3DMAX》教学中对三维空间建模等基础进行重点教学。
第二,内容上由简到繁,选取针对设计艺术类专业的计算机辅助设计软件进行教学,激发学生学习兴趣。通过讲解设计软件中常用命令键,让学生掌握基本操作,个别代表性的问题,可以重点分析。
第三,认清设计的核心是创作,这就需要教学内容安排上不能仅局限于掌握软件,更要增加综合知识运用。因此,教学大纲应增设诸如色彩与图案关系,构图发展与色彩理论、美学修养及BIM实训等内容,突出现代艺术设计中创意、构思和意念等特点,从而提高学生审美和应用实践水平。
2.3 设计艺术类专业计算机课程教学方法的创新研究
计算机设计软件课程不同于其他课程,实践性非常强,这就需要学生在掌握理论知识的基础上,又要灵活将操作技能应用于实践。通过分析和讲解实际工程案例,让学生了解和掌握整套设计方案制作流程,激l学生的学习兴趣,以便取得好的教学效果。作者结合设计艺术类专业发展现状和自身教学经验,认为可采取实战案例分析的教学具体方法如下:
第一,以课内教学和课外作业紧密结合的方式。教师首先制定整个教学进度和课程内容的教学大纲,并针对每节课程内容设计合理的课后作业,最好能在实例教学和知识讲解后,安排一个综合性任务。例如,在《Photoshop》课程教学中,在完成对套索、路径、图层和色彩调整功能的基础讲解后,安排一个照片合成任务,随后组织并指导学生作品参加设计类比赛;在《AutoCAD》教学中,可以在讲解三维图形的绘制和编辑命令等功能后,安排绘制一个建筑物三维立体图的任务。
第二,提倡学生自己创作素材,以便培养学生的自主创新能力。设计本身是一种理性的创作活动,学生通过手绘稿或是自己拍摄的素材再经过软件调整设计,不仅可以利用设计软件来创造视觉上的感官刺激,还可以突出设计作品的原创性,提高学生的审美水平和对全局的把握能力。
第三,结合设计艺术类专业,引入实战案例分析的创新教学方法。如在《设计软件课程设计》中采用BIM实训系统,使学生通过对具体实际工程案例的模拟,在经过分析、辩论、演绎和推断等认知过程,调动学生的积极性和主动性,以提高学生对整体设计过程的了解。学生运用《3D MAX》在实际工程中的应用训练则需要与实际社会工程案例接轨,按照实际工程定性法则要求,去规范化设计要求与作图要求,使设计在现行社会法则中具有可行性。
3 结语
应用技术型高校教师应该着力于设计实例教学与实践应用相结合从而进行教学改革研究,与当代社会培养学生的设计能力与动手能力。教师提高自身艺术和人文素养的同时,要形成与社会经济相适应的教育思想,构建现代科技与传统文化、东西方审美理念融合的科学教育体系,以培养符合应用技术型发展趋势的设计人才。
参考文献:
[中图分类号] G423.07 [文献标识码] A [文章编号] 2095-3437(2015)06-0089-02
“高级语言程序设计”课程是一门知识点繁多、实践性较强的课程。它面向计算机所有本科专业开设,是学生灵活运用所学知识,培养和训练软件开发能力的基础和关键。它不仅是对C++语言的学习,也是软件开发的启蒙和软件开发技能的初步训练。可以说,它是计算机专业的入门课程,不仅决定着今后的课程学习情况,也直接影响着学生学习计算机知识的兴趣和动力。
根据多年的教学实践,以及学生在课程设计、毕业设计中暴露出的问题,笔者发现“高级语言程序设计”课程虽然课时量很大,但教学效果与学习效果均不理想,学生普遍不会用面向对象的思想解决实际应用问题,在后续的软件开发工作中感到无从下手。
“计算思维”作为三大科学思维之一,旨在培养思维方式和提高创新能力,将其应用在“高级语言程序设计”课程中,能够有效地提高教学效果,使该课程不再仅仅讲授程序编写,而是成为思维训练和能力培养的平台,真正发挥其在课程体系中的作用。
一、引入计算思维的必要性
(一)计算思维的特质
“计算思维”(Computational Thinking)2006年由美国卡内基梅隆大学计算机科学系主任周以真教授提出,是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。[1]其本质是抽象(Abstraction)和自动化(Automation),即在解决实际问题时,首先通过分析、提取、类比、替代等一系列方法将问题抽象成计算机世界中的问题描述;其次利用形式化语言,将问题进行离散的符号化处理,建立模型;最后设计算法和编程实现,在实际的计算机中运行并求解。
当前,计算机领域的研究成果不断丰富和完善,它与其他学科的交叉也越来越深入,计算思维有利于解决计算机科学家和领域专家之间的知识鸿沟所带来的困惑。计算思维虽然具有计算机的许多特征,但是计算思维本身并不是计算机的专属。计算思维是属于人类的一种思维方式,它给出了求解问题的一条途径,而不是让人类像计算机那样思考。[1]因此,计算思维是一种基本技能,是每一个人必须掌握的技能。
(二)计算思维的作用
长期以来,学生们在很多课程中被动地学习,导致思维固化,缺乏解决具体问题的能力。计算思维在培养认知能力和锻炼思维方式上有其独特之处,得到了国内众多院士和教授的一致认可。
计算大师戴克斯特拉曾说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”计算机以及计算机科学的发展催生了智能化的思维,周以真教授更是把这种思维提升到与“读、写、算”同等的重要地位,成为适合于每一个人的“一种普遍的认识和一类普适的技能”。[2]
计算思维将计算机从工具发展成一种思维方式,使计算机科学中的经典方法潜移默化地应用到分析问题和解决问题中,巧妙地实现了多领域知识的融合。在解决具体问题时,它使用计算机科学中的抽象、分解、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个已有解决方案的问题;利用复杂度计算的思想充分估计解决方法的空间和时间代价,同时借鉴系统设计的简洁和优雅,在解决问题时兼顾对美学的考量。
二、基于计算思维的“高级语言程序设计”教学模式
“高级语言程序设计”课程的最终目标是培养学生程序设计的思维,即解决具体问题的思维方式,这和计算思维的目标相一致。因此,应结合计算思维对课程的教学内容和教学方法进行改革。
(一)教学内容的改革
1.结合实际生活设计教学实例
传统的教学内容中也会包含许多实例,但这些实例与生活脱节,学生虽然掌握了这些实例的解题方法,但遇到和实际相关的题目时仍无从下手。例如,比较两个整数的大小,输出较大的值。对于这个经典的比较大小的题目,大部分学生都能理解和掌握。但如果改成“桌子上有两个大小不同的苹果,请编程实现找出大的苹果”,那么很多学生就会感觉问题简单到不知如何去做。导致这个情况的原因是,传统的教学实例基本上都是经过了抽象、提取、细化等处理后的产品,学生在学习这些实例时只锻炼了语法知识的理解和组织,而前期的思维训练都被省略,但这部分恰恰是整个程序设计思维的主体,也是计算思维的本质之一――抽象。
实际生活中的问题会包含大量的信息,在处理这些问题时,首先需要明确目标,对信息进行过滤,保留需要的信息。这就是抽象与提取的过程。以“比较苹果”为例,题目中要求找出较大的苹果,那么就可以确定比较的条件是苹果的大小,而不是外观、产地、品种等条件。其次,什么值能够代表苹果的大小?如果往简单地想,重量从一定程度上可以代表大小;如果往复杂地想,设定苹果是一个圆体,那么体积可以代表大小;这样问题就抽象成给定两个值,进行比较。最后,落实到编程语句上,要根据实际情况确定两个值的数据类型,比较的过程则对应到选择结构的语法。这个过程是计算思维的本质之二――自动化。
2.注重实例间的关联与组合
思维训练的另一个重要方面是问题的分解与组合,因此在设计教学实例时,除了要结合实际生活,还要注重实例间的关系,让每个实例不仅能单独解决一个问题,而且能够通过多个实例的组合来完成更高难度的问题。例如在讲解数组和指针内容时,对应的知识点会有关于数组的输入、输出的实例,基于冒泡、选择等多种算法的数值排序的实例,折半查找的实例……这些实例独立存在时是针对某一个问题的解决方法,如果把这些实例组合在一起,就实现了一组数据的输入/输出、排序、查找、插入、删除等多种功能的结构,这正是《数据结构》中讲解的队列结构,应用到实际生活中,可以用来模拟实现超市排队结账、火车票售票、旅游路线规划等多种具体问题。
3.提高实例的实用性
“高级语言程序设计”课程在进入面向对象的程序设计时,实例的规模一般都会变大,因为面向结构的程序设计阶段中每个实例解决的只是一个知识点,而面向对象的程序设计本身就包括类、对象、属性、方法等多个因素,实例的内容为了覆盖这些因素就需要设计得复杂一些。但常用的实例,如日期类、时钟类、图形类等在实际中的可用性并不大,学生通过这些实例确实理解了类的结构,但遇到具体问题时却不能根据需要设计出一个新类。因此,在设计教学实例时需要结合后续课程的内容,设计一些在以后学习中经常会遇到或能够用到的、具有延展性的实例,例如string类、堆栈类、队列类等。
(二)教学方法的改进
1.教学以组为单位
学生按照两到三个为一组进行划分,教学过程中,对于问题的求解按照组内讨论的方式开展。每个组内的学生,不设组长,轮流讲解该组讨论后的结论。遇到结论不同的情况,先由组与组之间进行辩论,结论仍不明确时,每个小组选择本组所支持的结论进行编程验证,最后由教师结合各组实验结果,给出具体说明和讲解。这种方法能够有效地调动学生学习的积极性,同时也避免了教师一个人的思维局限性,让教学碰撞出思想的火花。
2.以实例安排教学单元
教学单元不再按照章节进行,而是根据教学实例进行设计。每个实例作为一个教学单元,先给出问题的描述,学生分组后,组内进行讨论;然后教师对实例中涉及的知识点进行详细的讲解和延伸,并根据每组反馈回来的结论,给予对比和分析;最后学生通过对知识点的理解和消化,对本组的结论进行调整和细化,并在计算机上编程实现。
3.随堂上机实践
蒙台梭利曾说过:“我看到了,我忘记了;我听到了,我记住了;我做过了,我理解了。”所以,实践对知识的掌握具有关键作用。传统的“满堂灌”和少量的学生问答,很难获得理想的教学效果。学生只有在思考后,付诸于实践,在实现过程中总结经验教训,才能把知识内化,最终转化成行为习惯的一部分。
三、结束语
“计算思维”随着计算机的普及和计算机技术的发展演化而来,提出了面向问题解决的系列观点和方法,指出了计算机科学与其他领域融合、创新的途径。计算机课程不是培养计算思维的唯一课程,但却是最好的课程。[3]以技能培养和能力培养为目标的“高级语言程序设计”课程,需要摆脱传统的教学内容和教学方法,以计算思维为主线,开展教学活动,使程序设计思维成为常识,成为学生自身的技能组成部分。
[ 注 释 ]
[1] putational Thinking[J].Communications of ACM,2006(3):33-35.
[2] Fei?鄄Yue Wang.Toward a Paradigm Shift in Social Comput?鄄ing[J].The ACP Approach,IEEE Intelligent Systems,2007(5):65-67.
[3] 战德臣,聂兰顺,徐晓飞.计算之树――一种表述计算思维知识体系的多维框架[J].工业和信息化教育,2013(6).
0 引言
随着社会信息化的日益发展,计算机能力成为所有大学生必须掌握的一项基本能力和技能。几乎所有的高校都开设了大学计算机基础类课程,它包含计算机基础、程序设计语言、数据库基础、办公软件应用、网页设计等多门不同的课程。本类课程的开设旨在为非计算机专业的学生学习计算机的基础知识、掌握计算机的基本技能并运用计算机工具获取知识提供一个入门的指导。而在上述课程中,难度最大、要求最高、对学生影响最大的课程是程序设计课程。
现今,中小学日益提倡素质教育,加强了对信息技术的课程建设,初中、高中都开设了信息技术课程,原本很多应该在大学教授的计算机的基本知识和基本操作,已经前移到了中学阶段。但是,中学阶段的信息技术课程以教授计算机的基本知识和基本操作技能为主,很少涉及程序设计的内容。所以,大学计算机基础类的课程,应该重点加强程序设计类课程的建设。在程序设计课程的教学中,我们不仅要教会学生使用一门程序设计语言(如c语言、c++、C#、VB等),更重要的是提高学生利用计算机思维来解决问题的能力。所以,必须将计算思维引入到程序设计课程的教学中来,实现由单纯的程序设计语言的学习向计算思维能力培养的转变。
1 计算思维的内容
1.1 计算思维的理解
计算思维其实自古既有,并且无所不在。从中国古代的算筹、算盘到近代西方国家的加法器,无不闪烁着计算思维的火花,但是一直缺少一个对计算思维完整清晰的定义。2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真教授首次在权威杂志Communications of the ACM上提出了“计算思维”(Computational Thinking):计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的思维活动。按周以真教授的解释,计算思维是建立在计算过程的理论上的,但是又超越了计算机本身。计算过程并非一定都是在计算机上完成,也可以在人脑中完成,所以,计算思维最本质的内容是抽象(Abstraction)和自动化(Automation)。
从现实角度讲,计算思维就是将问题引入、归纳、求解、引申的过程,也就是将未知问题归纳成若干已知问题,从而求解的过程。在程序设计语言的课程中,汉诺塔问题(Hanoi Tower Problem)的求解过程,就是对归纳法求解的一个最典型的诠释。
笔者认为,运用计算思维解题时,有一个很重要的问题,就是问题的表述。计算思维最终还是通过数学模型或者逻辑模型来解题的,所以怎样将问题转换成合适的模型表示,关系到问题是否能够得解,是否能够在预期的时间内得出结论。这个建模的过程,涵盖了编码/解码、约简、递归、归化、仿真、推理等多种思维过程和转换模式,是计算思维的一个重要组成部分。建模能力的强弱,直接影响了计算思维能力的高低。
1.2 计算思维的不同层次要求
计算思维不是一个单独的、和其他思维方法毫无关联的孤立方法。计算思维产生于计算机科学,而与计算机科学联系最紧密的思维方法是数学思维、逻辑思维和工程思维。我们可以将计算思维看作计算机科学与数学思维、逻辑思维和工程思维的交集,而它们也代表了计算思维的不同层次要求,如图1所示。
2 引入计算思维的程序设计课程教学改革实践
2.1 计算机能力的3个层次
(1)计算机使用能力(Computer Literary)。就是利用计算机进行各种操作以获取信息或者计算结果的能力,这是最低要求层面的计算机能力。例如,利用Excel进行班级成绩统计分析,利用Intemet查询、下载所需资料,编写小程序实现万年历的显示等。
(2)计算机系统认知能力(ComputerFluency)。这是对计算机系统的理解和应用能力,建立在对计算机系统的全面理解的基础上,它是较高的要求,一般是学习计算机专业的学生所要求的,需要开设很多门计算机专业课程才能达到这个效果。对于非计算机专业学生而言,这种能力毋须做太多关注。
(3)计算思维能力(Computer Thinldng)。计算思维的内涵在上文中已经详细阐述,计算思维能力是适合于所有学生的一种普遍的思维能力。
程序设计课程是大学计算机基础教学中重要的一个环节,其目的是培养学生的编程能力。而编程过程是编写一系列的计算机指令代码,让计算机执行指令以完成特定的功能或者解决规定的问题,所以,编程能力实质上就是利用计算机解决问题的能力。从这一点看,编程能力可以归结于计算机使用能力,而怎样编程,这个过程需要计算思维来诠释,这可以从计算思维能力的高度来加以分析和讨论。所以,我们要培养学生的计算机使用能力,更要培养学生的计算思维能力。
2.2 引入计算思维后的教学组织与实施过程
笔者在2011级担任教学任务的4个班级中,选取了2个班进行了教学改革研究(以下称为实验组),在这2个班中,对授课内容和授课计划进行了调整,引入了计算思维的培养过程,在授课中,采用了“问题引入一问题归纳一建模求解一问题引申”的教学模式。授课方式和课堂语言组织上,重点突出了对学生思维的诱导、指引和总结归纳,使学生从“要做什么”向“要怎么做”转变。另外两个班依然采用“教师讲解一学生练习一教师总结”的传统教学方法(以下称为对照组)。
2.2.1 课堂教学实施过程
笔者以程序设计课程(c语言)中“函数的递归调用”这一内容的授课过程来说明教学过程中计算思维能力的培养。
1)问题的引入。
首先,在投影上给出汉诺塔问题(HanoiTower Problem)的画面,汉诺塔问题是一个源于印度的古老的益智问题:有3个塔(分别为A塔,B塔和c塔)。开始时,有n个圆盘以大的在下,小的在上的次序叠放在A塔上。现要将A塔上的所有圆盘,借助B塔,全部移动到c塔上,且仍按照原来的次序叠放。移动的规则如下:这些圆盘只能在3个塔间进行移动,一次只能移动一个盘子,且任何时候都不允许将较大的盘子压在比它小的盘子的上面。这个问题的提出,马上就引起了学生的兴趣,我们先让学生抛弃程序设计语言本身,仅从数学思维上对这个问题进行思考和讨论,为下一步的教学做好准备。
2)问题的归纳与约简。
计算思维的一个特点就是将要求解的问题归纳、约简为简单、已知的问题。对上述提出的问题,我们引导学生进行归纳和约简,先假设A塔上只有大小2个圆盘,引导学生对这个问题进行思考。因为n个圆盘被简化成只有2个圆盘,这样问题的规模小得多,学生很快就能找到问题的解法,先将A塔上面的小圆盘移动到B塔,再把A塔下面的大圆盘移动到c塔,最后将B塔上的小圆盘移动到c塔(如图2所示)。能找到这个解法,就为下一步的解题打下了理论基础。
3)问题的求解。
根据上一步的工作,学生已经找出了将2个圆盘从一个塔移动到另外一个塔的算法。那么继续进行引导,如果A塔是3个圆盘呢?那么首先要把A塔上面的2个圆盘看作一个整体,将它们移动到B塔,然后把A塔最底下那个最大的圆盘移动到c塔,最后把B塔上的2个圆盘再移动到c塔。也就是说3个圆盘的移动可以分解成上面2个圆盘的移动和下面1个圆盘的移动,而怎样移动2个圆盘的算法在上一步已经得解,所以,3个圆盘的汉诺塔问题得解(如图3所示)。进而继续思考,如果是4个圆盘,那么可以分解成上面3个圆盘和下面1个圆盘的移动,而3个圆盘的解法已经在上一步得出,依此类推,任意,2个圆盘的移动都可以看做上面n-1个圆盘的移动和下面1个圆盘的移动,这样,所有的问题都能逐步简化,最终归纳为2个圆盘从一个塔往另一个塔移动的问题。
4)问题的引申。
解决完上述问题后,我们可以提出一些更深层次的问题来启发学生的思维。例如,我们可以设计一个四柱汉诺塔问题,有A、B、c、D 4个塔,要把A塔上的圆盘全部转移到D塔,可以借助B塔和c塔,规则同三柱汉诺塔。通过让学生自主思考并尝试解答以上问题,能让学生实现更深的思维练习,培养出学生良好的计算思维能力。
2.2.2 实践效果
经过1学年的教学改革实践,采用了计算思维培养模式的实验组与传统操作技能培养为主的对照组相比,具有以下一些区别:
(1)从课堂氛围来看,实验组比对照组明显要思维活跃,回答教师问题更积极,质量更高。学生逃课和开小差的情况明显减少,思维活跃度的差别表现明显。这说明引入计算思维以后,更能激发学生的学习兴趣,使学生开动思维,紧跟教师上课节奏,这具有明显的积极意义。
(2)从考核结果来看,实验组比对照组的成绩有较明显的提高,尤其对于考试中一些教师平时没有讲过的新题型、新题目,实验组的正确率明显要高于对照组。
中图分类号:G642 文献标志码:A 文章编号:1674-9324(2016)20-0137-03
微视频是指30秒到20分钟的视频短片[1,2]。具有短小、及时、制作方法容易掌握等特点。近年来随着互联网和移动通信技术普及,给微视频制作、和观看提供了广阔的平台,常被应用于微电影、记录短片、广告片段、新闻中。在教育领域,微视频也被引入到课堂中,如微课程视频(微课)[3],其是由教师将传统的一堂课分割为多个知识点,每个知识点单独形成微型课堂,并由教师讲解录制成微型视频。微课的研究极大的促进教学改革,有着重要意义[4,5]。微课强调的是完成性,视频中包含课程的导入、讲授、总结和作业布置等环节,但微课没有指出教学模式给教学的参与者。本文根据计算机专业课程特点,以微视频为载体,将课程知识贯穿到教学的每个环节。即设计一个教学模式,通过微视频将知识融入课前、课中和课后各个教学环节。该教学模式不仅教师要制作微视频,而且学生也要生成学习过程的微视频,这也是以往文献中没有提及的模式。最后讨论该模式的优势和挑战。
一、计算机专业课程特点及微视频在教学中的使用现状
本、专科院校的计算机专业课程计划中,强调学生在掌握一定的理论基础的情况下,加强实践操作能力和创新能力的培养。所开设的课程都是基于理论和实验相互配套的原则,甚至有些课程在一次课中既有理论讲解又有实践操作。因此计算机专业课程有如下特点:(1)注重实践能力的培养。(2)课程内容更新快、学生不易掌握。如计算机专业课程中涉及到一些操作系统的课程,由于系统的版本更新快,界面与以往的版本有很大改变,配置方式也跟以往的不同,但是教材和教学资源更新比较慢,容易对学生的学习造成一定的困难。(3)操作演示学生不易观察。计算机专业有些需要对设备进行配置的课程,需要教师在上课时进行设备配置的演示。如网络工程实训课程,需要对路由器交换机进行配置,配置过程设备较多,空间狭窄,学生不方便观察,因此造成学生自己练习时很难操作成功,甚至有些设备因学生失误操作而损坏。(4)以单向的传授知识方式为主。课内,很多计算机专业课程还是以讲解为主,但是对于计算机专业来说,完成一个教学任务教师需要花较长时间来演示操作过程,学生很难一次记住,从而造成学生基础知识不扎实。同时,对于课程教学来说,教学时间有限,没有多余的时间让学生进行思考和反思,学生的独立思考能力和创新能力得不到提高。
为了解决传统方法在授课时会出现学生不容易掌握知识、学习效率低等问题,近年来计算机专业的教师根据课程的特点,将课程相关的教学视频应用到教学中。常用的方式有:(1)利用微课资源辅助教学。教师为了更好的讲解难点,会在课中播放一些关于知识点的微课,或指定一些含有微课的网站给学生看,但教师很少去跟踪学习效果。(2)教师通过屏幕录制软件或手机录制教学过程,生成视频,为学生课后复习提供便利。但录制的视频时间太长、文件太大,不方便网络传播和观看,所以得不到充分的利用。(3)制作一些参赛的课堂视频,大多都是用于比赛,没有给教学带来明显的促进作用。还有,现阶段引入视频到课堂教学中时,对解决课程教学所遇到的问题贡献不大。如学生观看教学视频后只能生搬硬套,不能举一反三,学生缺少创新思维和创新能力。
二、以微视频为载体的教学模式设计
根据计算机专业课程的特点和计算机专业师生对网络和移动通信平台的掌握比较好的特点,利用微视频将教学的各个环节串成一个整体。模型如图1所示。
(一)按教学过程的时间顺序看,模型涉及课前、课中和课后三个环节
1.课前环节。教师将单元的教学任务分为多个模块,基于任务驱动教学方法,对每个模块细分知识点,并设计必要的任务、项目或实验。教师在该阶段的工作成果就是将知识点的讲解以微视频的形式体现,并将微视频上传到网络平台。学生在课前下载教师的微视频进行学习,并完成教师布置的任务,记录遇到的疑惑,也可以向教师实时求助和交流。为了降低教师对微视频的制作难度,教师可以利用屏幕录制软件或手机录制知识点的讲解过程,视频中无需像微课那样包含完整的各个教学环节,只要知识点讲解清楚即可,降低模型使用技术门槛。
2.课中环节。在课中教师负责组织学生分组讨论,维持课堂秩序,并解答学生的疑问。学生通过分组合作、讨论给出完成任务、实验和项目的合理方案,并录制方案实施过程的重点步骤的微视频,通过网络平台上传给教师。
3.课后环节。教师对学生的解决问题方案进行评价,并在网络平台中展示优秀方案的微视频。对所有解决方案中存在的共同问题进行解答和总结,并录制成为微视频,通过网络平台共享给学生。在该阶段学生可以用课前、课中和课后产生的微视频来复习本知识点。
(二)按师生的交流信息看,模型涉及交互式信息和微视频信息
1.交互式信息。对于教师来说,交互式信息是给学生发的课程要求、布置任务、解答问题的一些指令性信息,以指示学生如何更好的学习微视频里的教学内容。对于学生,该信息是向教师提问的一些请求信息,比如观看视频或分组讨论时,发现有不理解的地方,可以向教师求助所发出的信息。
2.微视频信息。微视频信息是课程知识点的承载者。教师发出的微视频信息是知识的起点,通过网络平台传递给学生,学生通过对微视频的学习,成为了知识接收点,同时也是知识的反弹点。知识反弹通过学生录制的解决问题的微视频来实现。来回的微视频所携带的知识量至少相等,才能达到基本的教学要求。如果反馈给教师的微视频所携带的信息量比教师发出微视频所携带的信息量多,说明学生具有创新思维和创新能力。微视频所携带的知识量是指解决问题的思维、理论、方法和方式。如果解决问题的思维、理论、方法和方式比原有的不一样,说明知识量提高了,进而说明学生已经思考并寻找到解决问题的新方案,从而达到了创新能力培养的目的。因此,可以用微视频所携带的信息量来衡量本文教学模式的效果。如考察某单元中所有模块教学过程,在本文教学模式中,会在教师和学生之间传递有多个微视频,如图2所示。
如图2有(a)、(b)两种教学效果,图2(a)是具有创新能力的教学过程,在教学过程中,微视频所携带的知识量越来越大,知识量具有发散的趋势,说明教师在教学过程中所采用的方法、方式是恰当的。图2(b)中的整个教学过程,微视频所携带的知识量越来越少,并有收敛的趋势,说明该教学过程是不成功的,应该在方法、方式上改进,如知识点的讲解要更清楚,布置的任务要更合理。因此,可以通过微视频所携带的知识量来衡量教学过程的效果,从而调整教学的方法、方式,促进教学向更好的方向发展,使教学具有如图2(a)所示过程。
(三)按学习场所看,教学模式涉及到线上和线下
微视频在师生之间传递是通过网络平台进行,学生对课程的学习不受时间和空间的限制,教师也可以随时回顾学生的学习效果,有利于改进教学的方式、方法。师生在课前、课后通过网络平台进行交流,而在课中可以在教室面对面的交流。这种线上线下相结合的教学方式,可以给学生提供强大的支持。
三、以微视频为载体的教学模型在计算机专业课程中的可行性分析
1.模型涉及的教师和学生可行性。计算机专业师生的学习和生活都常使用计算机,因此对信息技术比较熟悉,比较容易掌握模型中涉及的网络平台和微视频录制技术。
2.模型涉及的技术可行性。网络平台是通过建立本门课的QQ群来实现,师生的交流和微视频的传递都是通过QQ群进行。制作微视频是利用屏幕录制软件实现的,如camtasia studio软件,师生可以简单生成微视频。如果需要录制的操作步骤、教学过程不在计算机上,如设备的配置,这时可以通过手机录制,生成微视频。因此教学模型不涉及到专业课程网站建设,也不需要专业的摄像机录像,这就降低的技术难度,计算机专业的师生很容易掌握。
四、以微视频为载体的教学模式的优势和挑战
(一)以微视频为载体的教学模式的优势
1.拓宽了学习时间和空间,提高学习效率。学生可以随时随地利用手机或者各种移动终端来进行课前和课后的教学视频学习,无疑拓宽了学习的时间和空间。学生课前、课后根据自己的认知水平,有选择性地、反复地观看教学视频,这样利于学生满足学习需求,同时把重点和难点放到课堂上,可以提高课堂的教学和学习效率。
2.形成生成性资源,丰富教学案例资源。学生把在课堂对知识的认知过程、操作演示以及程序编制过程摄制成视频,而教师对这些生成性视频进行收集、利用、整合,可以形成该门课的教学案例资源包。教师可以对这些教学案例资源包进行分类,对于常犯的错误示范视频案例,充分利用其作为新生的错误案例的演示,对于好的演示视频,也可以直接作为课前的学习资源供学生进行学习,这样极大地丰富了课堂资源。
3.加深认知,提高学生的学习效果。微视频的时间短,比起枯燥的长时间的文字阅读和讲解,学生的学习注意力容易集中;同时课前利用视频先对课程进行学习,可以让学生课前对知识进行内化;教师课中对重点、难点进行讲解、讨论并录制视频,这个的过程利于学生对知识的深入理解和建构;课后观看总结视频,可以便于学生形成长时记忆,这样的教学模式可以更好的提高学生的学习效果,实现教学目标。
(二)以微视频为载体的教学模式的挑战
1.对教师的挑战。由于教师要摄制、编辑视频,所以教师不仅要掌握一定的教育技术能力,而且还需要教师有更多的时间来对教学任务进行设计,对微视频进行录制和编辑,这对教学和科研任务比较重的高校教师来说,实现起来有一定的难度。同时,教师还应具备新的教学观以及课堂的组织管理能力,把教学的过程从“以教师教为主变为学生自主,教师主导”的学习模式,这些都需要教师进行再学习以及更新观念。
2.对学生的挑战。对于计算机专业的学生来说,已经习惯于教师教,然后做练习的方式,缺乏学习的自主性,因此要提高学生的自主学习能力。同时,对于学生来说,以往的教学模式占用了课后的学习时间,因此还要考虑建立学习的监督机制以及在任务以及视频的设计上如何促进学生的主动性和积极性,以便更好的保证学生能顺利完成教学任务。
参考文献:
[1]谢箐.微视频的现状研究[D].济南:山东师范大学,2014.
[2]赵呈领,徐晶晶,刘清堂.基于微视频资源的翻转课堂教学模式设计与应用探究[J].现代教育技术,2014,24(12):70-76.
摘要:介绍在大学计算机程序设计基础课程中引入项目化教学模式的方法,将常用的计算思维方法贯穿于整个学习过程中,为计算思维能力的培养奠定基础。
关键词 :程序设计;计算思维;项目化教学模式
基金项目:教育部高等教育司2012年大学计算机课程改革项目(2-3-ZXM-06);安徽省质量工程项目(2013gxk015);安徽大学校级教育教学改革项目(J01001789)。
第一作者简介:吴蕾,女,讲师,研究方向为软件测试、云工作流,wuleijsj@ahu.edu.cn。
1 背景
程序设计基础课程作为大学非计算机专业学生的基础课,对培养学生运用计算机解决生活中各类问题的能力具有极其重要的意义。然而,目前大部分高校在程序设计基础教学中多以知识点层级为体系,学生对知识的应用缺乏整体感,不利于拓展思路并进行思维能力训练。在大学计算机程序设计基础教学中如何培养学生计算思维(computational thinking)能力已成为当前计算机教育重点研究的一项重要课题。
2006 年,美国卡内基·梅隆大学的周以真(Jeannette M Wing)教授给出了计算思维的定义[1]。2010年11月,陈国良院士第一次正式提出了将“计算思维能力培养”作为计算机基础课程教学改革切入点的倡议[2]。2010 年7 月,全国9所“985 工程”建设高等学校发表了联合声明,声明的核心是必须正确认识大学计算机基础教学的重要地位,把培养学生的“计算思维”能力作为计算机基础教学的核心任务[3]。2012年7月,教育部高等学校计算机基础课程教学指导委员会与文科计算机基础教学指导委员会在《关于申报大学计算机课程改革项目的通知》中指出,大学计算机的教学总体目标是“普及计算机文化,培养专业应用能力,训练计算思维能力”。课程明确把计算思维和计算工具并列起来,“训练计算思维能力”被看成是大学计算机教学目标要求的第3个层次;强调“以培养计算思维能力为主线”进行教学改革,解决计算思维从学术研究“落地”到教学过程中出现的一系列关键问题[4]。
由此可见,在高校计算机教学中培养学生的计算思维能力仍然处在一个摸索阶段。笔者尝试将项目化教学模式引入程序设计基础课程教学过程,师生共同完成一个完整的项目,学生不但能够学到课程的主要知识,也完成了一个真实的项目设计,极大地激发学习兴趣,在学到知识的同时掌握用计算机分析问题、解决问题的实践能力,从而训练思维技巧,为计算思维能力的培养奠定坚实的基础。
2 程序设计基础课程教学现状
在传统的程序设计基础课程教学模式中,教师按照教材把程序设计语言的代码基础、程序基本结构、数组、过程、常用控件、文件读写、数据库等需要掌握的知识点按部就班地灌输给学生,然后带领学生上机巩固所学的知识点。这种模式貌似很符合人的认知规律,但是在实际的教学过程中收到的效果很不理想:学生在学的过程中叫苦不迭,甚至一些学生在付出了大量时间和精力之后依然不得要领。通过与学生及老师的交流,我们认为传统的教学模式主要存在以下缺陷。
(1)知识点联系不够紧密,对知识应用缺乏整体感,不利于学生拓展思路。教材中的例子往往是为了说明某个知识点,而例子与例子之间没有联系,如果教师只是照本宣科,布置给学生的实验也是一个个孤立的程序段,那么可以想象学生很难将所学到的知识点串联起来并解决实际问题。
(2)教学过程没有激发学生学习兴趣,被动学习有碍计算思维能力培养。计算机程序设计课程要求学生具有一定的数学功底和较强的逻辑思维能力,而我们授课的对象是非计算机专业学生,他们中的大多数欠缺的恰恰就是这些;传统的教学过程中却不可避免地出现了很多数学问题求解,使得学生理解起来困难重重,这对于编程信心不足的学生来说无异于雪上加霜。
(3)缺乏实际应用体验,学生无法充分认识和体会计算思维方式的优势。程序设计的学习如果只是停留在知识点掌握以及例题练习的层面上,没有与实际应用相结合,学习者无法感受到所学知识在实际工作中的作用和地位,将会抑制学生的积极性,影响学习效果。
3 培养计算思维能力的教学新模式
3.1 计算思维能力培养
计算思维是一种思维方式,也是一种解决问题的思考过程。从现实角度来说,计算思维就是问题抽象、模型建立、算法设计和实现以及问题引申的过程,也就是将未知问题归纳成若干已知问题从而求解的过程。现如今计算思维已不仅仅运用在计算机学科上,也广泛应用在其他自然学科甚至是人文学科中,它不是一个单独的、与其他思维方法毫无关联的孤立方法。计算思维产生于计算机科学,而与计算机科学联系最紧密的思维方法是数学思维、逻辑思维和工程思维,我们可以将计算思维看做是计算机科学与数学思维、逻辑思维和工程思维的交集,而它们也代表了计算思维的不同层次要求[3]。计算思维有以下几个主要特征[5]。
(1)计算思维采用抽象和分解来执行庞杂的任务或者设计巨大复杂的系统。
(2)计算思维利用启发式推理来寻求解答,在不确定的情况下规划、学习和调度。
(3)计算思维是数学思维和工程思维的互补和融合。
(4)计算思维是概念化,不是程序化,不只是为计算机编程,还要求在抽象的多个层次上思维。
过去我们常说,学生学习数学课程、物理课程并不是要他们成为数学家或者物理学家,而是通过这些课程的训练养成科学思维的素质和能力,现在这种认识也同样适用于计算机课程。对大多数非计算机专业的学生而言,学习程序设计的目的不是成为程序员,而是学习计算机分析和解决问题的过程和思路,也就是培养计算思维能力。计算思维能力在海量信息处理分析、复杂装置与系统设计、大型工程组织、自然现象与人类社会行为模拟等方面具有重要的意义和作用[6]。
3.2 项目化教学模式
项目化教学模式是师生通过共同实施一个完整的项目工作而进行的教学活动,它是“行为导向”教学法的一种。项目是计划好的,有固定的开始时间和结束时间的工作,原则上项目结束后应有一件较完整的作品。为改进传统教学模式中存在的问题,进一步培养学生的计算思维能力,我们试图在程序设计基础课程教学中采用项目化教学模式。项目化教学模式的特点如下。
(1)实践性:项目的主题与真实世界密切联系,学生的学习更加具有针对性和实用性。
(2)自主性:提供学生根据自己的兴趣选择内容和展示形式的机会,学生能够自主、自由地学习,从而有效地促进创造能力的发展。
(3)发展性:长期项目与阶段项目相结合,构成实现教育目标的认知过程。
(4)综合性:具有学科交叉性,能够综合运用。
(5)开放性:学生围绕主题所展开的方式、方法和展示、评价具有多样性和选择性。
项目化教学模式能够很好地将程序设计课程的教、学、做有机结合起来,从而成为培养学生计算思维能力的有效途径。著名物理学家劳厄曾说过:“重要的不是获得知识,而是发展思维能力。”因此,思维需要接受训练。教师在项目化教学模式中以合理的项目为依托进行教学,学生不但能够学到课程的主要知识,同时也完成了一个真实的项目设计,可以极大地激发学生的学习兴趣,在学到知识的同时掌握用计算机分析问题、解决问题的实践能力,从而训练自己的思维技巧,为学生创新性能力的培养奠定坚实的基础。
3.3 基于计算思维能力培养的项目化教学模式的组织与实施
在基于计算思维能力培养的项目化教学模式中,教师与学生围绕项目这根主线进行教学和学习,而与程序设计语言相关的基础知识则可通过在线学习的方式引导学生自主完成。教学者在设计项目、呈现项目、指导项目实施、检查评估的过程中运用计算思维方法展开教学;学习者在明确项目任务、制定项目计划、实施计划、归档或应用的过程中运用计算思维的方法进行学习;学习者利用高效率的计算思维去弄清项目任务、明确目标,通过实施项目探索新知识,掌握计算思维的方法和技巧。我们将这种基于计算思维能力培养的项目化教学模式归纳为图1的过程。
在程序设计基础课程中实施项目化教学模式所应用的计算思维方法可概况为“观察—联想—变换—启发”。“观察”方法是人类认识客观事物的基本途径,通过“观察”树立正确的整体与部分思想,将一个具体的项目抽象为一系列明确的子任务,从而使学生体会抽象、分解、学习等计算思维特征。“联想”是由某种对象引出其他相关对象的思维形式,通过联想,运用构造性思维、逆向思维等方法建立起多个能够简洁表达子任务本质的模型,并规划子任务实施计划;同时训练学生理解规约、并行、规划等计算思维特征。“变换”是算法设计与实现的基本手段,可以运用目标转化思想、分类与分治思想等,有目的地对问题实施“变换”,把原问题转化为一个或几个易于解决的新问题,这是项目实施的关键,也是促使学生领悟转化、仿真、递归、调度、折中、优化等计算思维特征的关键阶段。“启发”是通过对已有的资料和信息进行分析、综合、概括和比较,进而做出判断、推理、论证来指导决策的思维形式。在项目实施的最后阶段,通过教师对项目执行情况的检查评估,学生将整个项目执行过程所产生的程序和文档进行归档整理,可以有效地“启发”学生将问题引申,同时使学生对于容错、纠错、系统恢复等计算思维特征有更为深入的认识。
综上所述,将项目化教学模式引入程序设计基础课程教学中,把传统的程序语法教学转变为从问题抽象到模型建立再到算法设计与实现,最后总结引申的思维训练过程,能够有效培养学生“观察—联想—变换—启发”的计算思维能力[7]。
4 结语
培养复合型创新人才的一项重要内容就是潜移默化地使他们养成新的思维方式,即运用计算机科学的基础概念对问题进行求解、系统设计和行为理解,建立计算思维。采用项目化教学模式,在教学过程中始终贯彻“问题引导、项目驱动、讲练结合”的原则,使学生的学习过程始终围绕完成一个完整的、实际的、具体的、有形的项目,这样就把知识的学习和应用有机结合在一起,极大地激发学生的学习兴趣,使他们既学到了知识,又提高了用计算机分析问题、解决问题的能力,从而达到“建立利用计算机求解问题的基本思路”这一计算思维能力的基本要求。
参考文献:
[1] Wing J M. Computational thinking[J]. Communications of ACM, 2006, 49(3): 33-35.
[2] 陈国良, 董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学, 2011(1): 7-32.
[3] 何钦铭, 陆汉权, 冯博琴. 计算机基础教学的核心任务是计算思维能力的培养[J]. 中国大学教学, 2010(9): 5-9.
[4] 冯博琴. 对于计算思维能力培养落地问题的探讨[J].中国大学教学, 2012(9): 4-5.
[5] 臧劲松. 培养学生计算思维的程序设计课程教学[J]. 计算机教育, 2012(2): 78-80.
引言
C语言一直在等级考试和实际应用中占有不可或缺的地位,逐渐也成为国内各高校工科专业广泛使用的教学课程。它作为一种优秀的结构化程序设计语言,其功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言能够直接操作底层硬件的特点,既适于编写系统软件,又能方便地用来编写应用软件。
《C语言程序设计》课程处于非计算机专业计算机基础课程3个层次(大学计算机基础、计算机程序设计基础、计算机应用基础)中第二层次,是一门理论性和实践性很强的课程。所以,教学工作者单纯利用传统的教学模式,并不能有效帮助学生在这一课程上获得大步提升。相反,可能增强学生的抵触心理。因此,改革C语言程序设计课程教学模式改革刻不容缓。
一、计算思维的含义
2006年3月,美国卡内基・梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊上提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。所以,在这里的“计算思维”不是狭义的计算机编程,而是运用计算机基本概念去求解问题、设计系统和理解人类行为。
二、C语言程序设计课程的现状
《C语言程序设计课程》作为高校理工类非计算机专业本科学生的一门的计算机基础课程,重要性不言而喻。C语言课程更是数据结构、C+面向对象程序设计、操作系统和软件工程等课程的基础,并可为这些课程提供实践工具。但是,一般而言,C语言程序设计所涉及的课程内容较为抽象,而大量的概念及语法更使得这门课程乏味无趣,降低学生的学习兴趣。并且,即便学习了这门课程,很多学生在处理问题时,仍不能利用C语言进行思维、表达,仍未建立起程序设计的计算思维模式,不会运用计算机基本概念去求解问题。
(一)无意识计算思维教学
传统教学模式的教学方式是:用大量的时间讲定义、语法、概念、语句,对学生的要求是注重接受、理解、记忆,讲课方式是老师讲、学生听。学生掌握的只是比较抽象、机械、静止、片面和孤立,他们不知道如何灵活地综合运用这些知识去解决实际问题,缺乏计算思维的培养。
(二)教学形式陈旧忽视整体思维培养
在教学过程中,教学工作者重视理论,轻视了《C语言程序设计》课程的实践性。理论教学与实验教学是两个相互依存、相互促进的教学体系。实验教学相对于理论教学更具直观性和创造性,可以让学生在实验中更好地理解理论知识。《C语言程序设计》虽然已经有了相对独立的实验教学计划,但实验内容脱离实际,导致理论和实际教学相分离,不能有效培养学生的实践能力和创新能力,制约学生整体思维能力的提升。
(三)教学内容偏重语法细节轻视而忽视算法思想
在讲解《C语言程序设计》课程时,教师过分注重C语言的一些语法规则,忽视程序设计部分,从而致使语言与程序设计不能有机结合,忽视了对学生算法思想和能力的培养。如此,突出了C语言程序设计枯燥的一面,难以调动学生的积极性和主动性,同时,对培养和锻炼学生的逻辑思维能力具有局限性,影响学生的问题分析理解和求解能力发挥。明确该课程的重点并非一些语法细则,而是培养学生思考问题、分析问题的思维能力和思维模式。
三、《C语言程序设计》课程的教学改革
《C语言程序设计》是典型的计算思维课程,其中的教学内容也成了计算思维能力培养的重要内容。任课老师可以以解决实际问题为引导,讲授C语言程序设计中最基本的方法,将程序设计中的语法知识有机融入,避免知识太过零散,影响学生的记忆和思维能力,进而消磨学生习积极性。
《C语言程序设计》课程是C语言与课程设计相结合的一门课程,这就要求教师既要讲解C语言的一些语法规则,又要重视程序设计。而对于计算机专业的学生来说“程序设计”应该是重点。所以,在整个学习过程中,就要让学生感觉是在学习“程序设计”,学习如何分析问题,解决问题,而不仅仅是在学习语法规则。相反,如果学生对于C语言的语法规则不熟悉,也会影响编程学习,进而影响学生的积极性。因此,将C语言与程序设计有机结合,是对于教师的基本要求。也是培养学生计算思维能力的一种方式。
在教学过程中,教师应一改传统固化的教学模式,采用多种灵活的教学方法和手段,提高教学效率,加强学生对于计算思维的培养。上课时,教师可以在短时间内把课本的主要思想和问题作引导性的讲授,然后有目的的布置具有一定代表性和实际意义的课题或小型项目,并简单提示解决思路,让学生通过讨论、查资料、做实验等方式完成任务,借此来理解相关知识及应用,达到融会贯通知识的目的。这种方式不仅提高学生学习的积极性和主动性,锻炼学生解决实际问题的能力,而且培养学生的思维方式和能力。
针对形式单一的考试制度,可以加大平时成绩和阶段性考核成绩在课程总成绩中所占的比重。将实践环节和理论环节相结合,加强实验考核,在规定时间内上机并完成实验习题,根据完成习题的数量、质量,记录成绩。如此,实验教学和理论教学同步进行,利于培养学生的思维能力。
四、结论与展望
计算思维不单单关联C语言程序设计课程,更与我们的生活息息相关,在到处都有计算机存在的时代,计算思维也越发重要。《C语言程序设计》课程的教学改革,是希望学生在学习C语言的同时,计算思维同样得到训练,从而提升学生的认知能力,为其专业课程的学习打下良好基础。当然,以计算思维为基础的C语言程序设计课程教学改革也并非是一蹴而就的事情,在这个过程中,我们仍需要不断学习、研究、实践、总结和优化。
参考文献
[1]郑爽,王全民,李秀荣. C语言程序设计课程中培养计算思维的案例教学法研究[J]. 计算机光盘软件与应用,2013,21:210-212.
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)27-6175-03
计算思维是每个人应当具备的基本技能,也是对创新人才的基本要求和应具备的专业素质。在教学中突出学生计算思维能力的培养和训练,是每个教师的重要任务。
1 目前教学中存在的问题
目前程序设计课程大都采用传统的教学方法,课程内容主要是围绕一门高级语言的内容展开,课堂上教师先介绍一些知识点,然后通过案例说明知识点的应用,最后再进行总结,这种教学模式偏重于知识的灌输,导致学生仅仅满足于书本知识的死记硬背,分析和解决问题的能力培养不够,学生经常是学会了全部的语法知识,但仍然不知道如何解决实际问题,教学效果甚微。为了改变这种状况,切实加强学生计算思维能力的培养,程序设计课程教学改革势在必行。
2 计算思维及其能力培养的重要性
2.1 计算思维的含义、特征
周以真教授指出:计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动。它具有以下特性:
1)概念化,不是程序化。
2)根本的,不是刻板的技能。
3)是人的,不是计算机的思维。
4)数学和工程思维的互补与融合。
5)是思想,不是人造物。
6)面向所有的人,所有地方。
7)关注依旧亟待理解和解决的智力上的有挑战性的并且引人入胜的科学问题。
2.2 培养计算思维能力的重要性
按照周教授的观点,计算思维是思想,是人的一种根本性技能,本质是抽象和自动化。计算思维中的抽象是超越物理时空的,完全可以用符号来表达,其中数字只是一种特例。计算思维中的抽象最终要能被机器自动执行,为了确保机器的自动化,需要在抽象的过程中采用精确严格的符号标记系统进行描述和建模,同时要求计算机系统能够提供不同抽象层次的翻译工具。计算思维中的抽象和自动化反映计算的根本问题,计算就是抽象的自动执行,而自动化需要合适的计算机对抽象予以解释并执行。
计算思维是采用抽象和分解来迎战庞大的任务或者设计巨大复杂的系统,它关注的是分离。通过对问题进行多层次的抽象,使问题分析相对简单,从而控制问题解决的复杂性,问题抽象层次的能力是衡量人的思维品质的重要方面,直接体现人的分析、解决问题的能力。由此可见,计算思维能力的培养,对每个人都至关重要。
3 培养学生计算思维能力的程序设计课程教学方法
在程序设计课程中,对学生计算思维能力的培养主要体现在分析、解决问题能力的培养上。本文给出了以培养学生计算思维能力为目标的教学模式及实施过程,如图1所示。教学活动分为课前准备、课堂教学、课后总结三个环节组织实施。
3.1 任务设计
1)内容设计:明确课程单元的知识点、重点和难点,结合学生各阶段知识掌握的程度以及运用知识的能力,明确解决实际问题的概念和方法,在此基础上,设计教学内容。采用任务驱动教学法,以任务为核心将教学内容结合起来,设计任务模块。
2)选择问题:针对各任务模块,以需解决的问题导入,尽可能选用一些典型的有趣味性的实际问题,增强学生对所学知识应用于实际的认识和学习兴趣。
3.2 呈现问题
通过呈现的问题,使学生能够确定并明确解决什么。如果不理解或不明确,就无法选择合适的方法去解决,从而限制了学生的创造力。
3.3 分析问题
在分析问题的过程中,首先要考虑解决这个问题有多困难?怎样才是最佳的解决方法?其次还要考虑包括机器的指令系统、资源约束和操作环境等因素。例如,设计一套应用软件,还应当了解该软件的使用对象,使用者的知识背景,根据不同的用户,设计不同的操作界面。
3.4 设计方案
通过对问题的分析,设计出多种解决方案,特别是面临复杂的大问题时,尽可能全面地列出备选方案。该环节重点是让学生了解进而掌握对问题进行多层次抽象的方法。
3.5 方案选择
制定一个统一的方案评价标准,明确评价各方案的优缺点,从中选择最佳方案。在确定最佳方案时,应重点强调从总体角度考虑评价指标,对各指标进行权衡。
3.6 求解步骤
方案选定后,确定方案的解决步骤即算法。教学过程中,可先让学生积极思考,给出解决思路,再引导学生参与算法设计的全过程,对于复杂的大问题,重点介绍问题分解的思考方法及步骤,让学生体验计算思维。同时,提倡算法的多样性,培养、激励学生的创新意识和问题求解能力,并引导学生对算法进行分析研究,优化并简化算法。
3.7 方案评价
执行已设计好的方案,检验结果是否与预期目标相符,如不符,必须对方案进行修改完善,甚至重新设计一套方案。通过对方案的评价,可以使学生的知识得以重构,计算思维得到有效的训练。
3.8 创设情境
在任务模块的教学单元结束之前,教师可创设提出问题的实际情境,激励学生去发现问题,提出问题,给出解决问题的方案,增强学生学习主动性,提高分析和解决实际问题的能力。
3.9 自主学习
程序设计属于实验性学科,教师要根据单元内容和学生掌握知识的程度设计实验内容,同时也倡导学生自主提出问题,构建由验证类、设计类和综合类的多层次实验内容体系,引导学生通过上机自主完成实验任务,实验过程中,学生运用掌握的知识并利用计算机去解决问题,学会带着问题学习,锻炼了创新思维能力。
3.10 教学评价
教师对整个教学过程中教学内容、教学方法、学生计算思维能力的培养以及解决实际问题的能力等进行总结归纳,通过学生课程考核成绩以及平时实验成绩对教学效果进行综合评估,对教学中存在的问题进行分析研究,找出问题的原因以便及时改进教学方法。
4 结束语
上述方法应用于程序设计课程的教学,使学生分析和解决实际问题的能力有了明显提高,计算思维能力得到了有效的培养和训练,教学效果良好。
如何培养学生计算思维能力,是每个教育工作者面临的一个重要课题,需要不断地探索研究,不断改进和创新教学方法。
参考文献:
[1] Jeannette putational Thinking[J].Communications of the ACM,2006,49(3).
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)25-6266-03
The Application of Computational Thinking in Visual Basic Programming Teaching
JIA Ru, HAO Chang-sheng, PEI Yi-fei
(The Engineering and Training Center, Inner Mongolia University of Science & Technology,Baotou 014010, China)
Abstract: Computational thinking is widely becoming a hot spot in computer education nowaday.In order to cultivate and train the college students' ability of computational thinking & the computational ability better, computational thinking is applied in Visual Basic Programming Teaching.It is a new teaching reform which will provide a good example for the teaching of other computer education.
Key words: computational thinking; visual basic programming; teaching
目前,计算思维的培养成为国际和国内计算机教育界关注的热点。在我国,2010年《九校联盟(C9)计算机基础教学发展战略联合声明》的核心要点也强调“需要把培养学生的‘计算思维’能力作为计算机基础教学的核心任务”。而且从国家层面上讲,大学计算机基础教育这门课程的定位就是基础课程,也就是与数学、物理同地位的基础课程[1]。既然它是基础课程,课程的教学方法和教学理念就应该像数学与物理一样,将学科的基本理论、基本思维讲给学生。计算和计算思维是计算机基础课程的基本理论和基本思维,科学家已将计算思维和理论思维、实验思维并列为人类三大科学思维[2] ,为此,就应该将计算思维的基本概念和基本理论讲授给学生。因此,在大学计算机基础教育中强调和深化“计算思维”的培养,既有助于计算机基础教育学科的健康、持续发展,又有助于国家战略型人才的培养。
“Visual Basic程序设计”是大学计算机基础课程的重要分支,也是许多高校非计算机专业进行计算机基础教育的重要课程之一,该课程的目标:学习问题求解的思路和方法即算法,理解计算机是如何具体实现算法即如何有效利用计算机编程,最终通过该课程的学习提高广大学生的计算机操作使用能力、应用开发能力、研究创新能力以及计算思维和计算能力。也就是说,培养和训练大学生计算思维不仅是计算机基础教育的现实要求,更是Visual Basic程序设计的课程要求。
1 计算思维
国际上广泛认同计算思维的定义来自美国卡内基・梅隆大学周以真(Jeannette Wing)教授。周教授认为,计算思维(Computational Thinking)是运用计算机科学的基础概念(即思想和方法)进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动,它不仅属于计算机科学家,它应当是每一个人的基本技能[3]。计算思维是建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由个人独立完成的问题求解和系统设计[4]。计算思维的本质就是抽象和自动化,即如何按照计算机求解问题的基本方法去考虑问题的求解,以便构建出相应的算法和基本程序。
计算思维是一种具有普遍性的科学思维方法,依据周教授的观点,它包含如下主要内容:
1) 通过简约、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐述成一个我们知道问题怎样解决的思维方法;
2) 是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种基于多维推广的类型检查方法;
3) 是一种采用抽象和分解来控制庞杂的任务或进行巨大的任务系统设计的方法,是一种基于关注点分解的方法(Seperation of Concerns,简称SoC方法);
4) 是一种选择合适的方法陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;
5) 是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;
6) 是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;
7) 是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法。
2 以“计算思维”为线索展开“Visual Basic程序设计”教学
思维方法比知识本身更重要。既然计算思维是一种问题求解的基本思维方法,作为从事计算机基础教学的一线教师就应该切实地在日常教学中潜移默化地训练和培养学生的计算思维能力,提高他们的计算思维素养,进而培养和锻炼他们的创新能力。
2.1 以“计算思维”为线索展开“Visual Basic程序设计基础”教学
Visual Basic程序设计基础就是Visual Basic语言。正像自然语言的产生是人类社会活动发展的客观要求和必然结果,同样,计算机语言的产生和发展则是人类使用计算机的客观要求和必然结果。从计算机语言的基本语法到其整体结构,都渗透着许多计算思维。因此,以“计算思维”为线索展开“Visual Basic程序设计基础”教学就是:在讲解相关知识点的同时也要讲授其中所反映的计算思维,通过思维强化知识,通过知识培养思维;这样,既有利于语言本身的学习,又有助于学生计算思维能力的培养。
例如,人们利用计算机就是为了处理信息数据,而不同类型的信息数据,其表达方式不尽相同,其处理方式也会有所不同,那么,计算机是如何实现信息数据的表示、存储和处理?这其中蕴含的计算思维又是什么?首先,根据冯・诺依曼计算机体系结构:从软件方面考虑,可通过声明或定义不同类型数据以表示不同类型的信息;从硬件方面考虑,可通过存储元件可实现信息数据的存储,不同类型的数据占用不同长度的存储单元。可仅仅完成信息数据的表示和存储是远远不够的,如何真正实现数据处理?由此便产生了计算机语言,即利用计算机语言编写的数据处理程序指挥CPU(中央处理器)完成相应的数据处理。这个通过人、机共同努力完成的“问题求解”过程,就是一个计算思维的实现过程,如图1所示。
显然,实现这样一个信息处理的计算思维,是需要计算机语言的技术支持:即数据表示(数据类型)、数据存储(变(常)量)和数据处理(表达式和控制结构),并由此引出Visual Basic语言基础知识的学习。
2.1.1 数据表达
数据表示――数据类型
例如,根据现实生活中不同的信息数据如文本型、数值型、逻辑型、日期型、货币型等,Visual Basic语言便提供了相应的数据类型:String型(字符型)用于表示文字信息,所占用的内存空间最多可达20亿字节;Numeric型(数值型)用于表示数值信息,表示范围越大、精度越高的数据类型所占用的存储空间也越大,如Byte型(字节型)、Integer型(整型)、Long型(长整型)、Single型(单精度型)和Double型(双精度型)、Currency型(货币型)6种基本类型,它们所表示的数据范围和精度依次增大;Boolean型(逻辑型)用于表示逻辑判断的信息,如对/错、是/否、真/假等,占用2个字节的存储空间;Date型(日期型)用于表示日期、时间信息,一般占用8个字节的存储空间;Variant型(变体型)是一种特殊的数据类型,可用于表示任何信息,占用的存储空间灵活;Object型(对象型)用于表示任何类型的对象,一般占用4个字节的存储空间。
数据存储――变(常)量
这些不同类型的数据在计算机具体处理时,一般都被放在一定的内存单元中,但为了进一步高效地使用系统资源快捷地处理这些数据,用户需要指定这些内存单元,于是Visual Basic给我们提供了变(常)量,即用户通过声明或定义相应数据类型的内存单元的符号地址,CPU就可根据这些符号地址准确地存取数据,进而进行相应的运算。
2.1.2 数据处理
简单的数据处理――表达式
Visual Basic在充分利用CPU运算功能的基础上,提供了针对不同类型数据采用不同的计算方式――表达式,它是一种最基本的数据计算方法,主要有算术表达式(完成数值型数据的计算)、字符串表达式(完成字符型数据的计算)、关系表达式(完成数据的比较计算)、逻辑表达式(完成逻辑型数据的计算),并由此实现对数据的初级、简单处理。
复杂的数据处理――控制表达
在日常的信息数据处理过程中,常常需要根据不同条件,实现对数据灵活多样的处理,显然,基本表达式难以直接实现,于是基于这一客观需要,计算机语言便产生了控制表达,即根据条件完成相应的计算,如语句级控制(如分支、循环)和模块级控制(如函数)[5]。
语句级控制的结构有条件语句控制和循环语句控制。条件语句控制结构主要有:If条件分支和Select条件分支,循环语句控制结构主要有:For条件循环和Do条件循环。
模块级控制,对于Visual Basic语言而言,就是过程级控制。Visual Basic将一个工程分为多个模块(也称文件),每个模块中的代码又分为相互独立的多个过程(Procedure)。过程就是具有一定语法格式、完成一个相对独立任务的语句段。在同一个工程中的各过程在代码上相互独立,但功能上相互联系。过程级控制的结构主要有两种:系统内部过程(内部函数过程、事件过程)和自定义过程(用户根据自己需求设计的过程)。
2.2 以“计算思维”为线索展开“Visual Basic程序设计”教学
简单的计算机语言支持,可以完成简单的数据处理,但对于复杂、大量的数据处理,则需要一定的处理方法,这便是程序设计方法。当前,影响最大、使用最广泛的程序设计方法主要有两种:面向过程程序设计方法也称结构化的程序设计方法(Structured Programming)和面向对象程序设计方法(Object Oriented Programming)。Visual Basic语言既可以实现面向对象也可以实现面向过程的程序设计。面向过程程序设计是一种传统的程序设计方法,面向对象程序设计方法是一种全新的、当前比较流行的程序设计方法,但不管是哪种程序设计方法都是值得学习和借鉴、并能有效解决实际问题的计算思维方式。以“计算思维”为线索展开这部分内容的教学就是将程序设计实现问题求解所体现的计算思维讲授给学生,即“方法”随着“思维”的讲解而展开,“思维”随着“方法”的贯通而形成,“能力”随着“思维”的理解和训练而提高,最终使学生真正掌握基于计算技术/计算机的问题求解思路和方法,并逐步培养他们相应的计算思维和计算素养,提高他们的计算能力,进而为他们日后所从事的研究和工作开拓思路、大胆创新奠定基础。
2.2.1 面向过程的设计方法
面向过程的设计方法所强调的计算思维:程序功能的实现主要由过程(或函数)完成实现。在程序中接收或者定义各种数据,然后通过过程(或函数)对数据进行操作,最后将结果输出或返回。面向过程设计方法的特点是将数据结构和过程(或函数)作为两个实体对待,程序设计范型的主要特征:
程序=数据结构+算法
程序中数据结构和过程的分离,造成了程序的可重用性差,程序维护代价高,因此,面向过程的设计方法更适用于功能和数据结构及其关系都不复杂的问题求解。
Visual Basic系统提供了丰富的内部函数、事件过程,而且用户还可根据需要自定义实现一定功能的过程(也称子过程或函数)。无论是系统提供的还是用户自定义的各子程序之间可以彼此独立,亦可相互联系、相互调用,形成了结构化明显的程序结构,其中充分体现了结构化的计算思想:
1) 自顶向下、逐步求精
在进行程序设计时,先把对问题的处理(算法)粗分成几个步骤,叫模块。然后对每个模块再细化为几个小模块,每个小模块再细分为若干个更小的子模块,直到每个小模块功能直接用语言来实现为止。这种逐步细化的计算思维方式,使得程序结构清晰,便于日后维护和修改。
2) 模块化
整个程序就是由几个大模块构成,各个大模块又是由功能相对独立的模块组成,每个模块只能有一个入口和一个出口与外界联系。这种清晰的程序结构,既便于机器实现功能,又便于设计者的设计,同时还便于程序的调试、修改和维护。
3) 三种基本结构
整个程序中的大小模块仅由顺序、选择和循环三种基本控制结构组成。这三种基本控制结构都是单入口和单出口,它们可以任意组合、嵌套,可构造各种功能复杂的大结构,且又能保证每个模块结构清晰、层次分明,致使整个程序结构也很清晰。清晰的结构提供了清晰的问题求解方案。
2.2.2 面向对象程序设计方法
面向对象程序设计方法体现的计算思维:通过操作对象完成需要的功能,对象包括各种数据和方法,方法就是对数据进行操作,然后将得到的结果输出或返回。面向对象程序设计是一种围绕真实世界的概念来组织模型,它采用对象来描述问题空间的实体,强调从问题域的概念到软件程序和界面的直接映射,因此,它更接近于人的自然思维[6]。面向对象程序设计这种新型程序设计范型的主要特征是:
程序=对象+消息
其中,对象是程序的基本元素,传递消息是基本操作。具体体现在这些方面:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律;程序中的一切操作都是通过向对象发送消息来实现,对象接收到消息后,启动有关方法完成相应操作;类由继承关系产生相互间联系。一个程序中涉及到的类,可由程序设计者自己定义,也可使用现成的类(包括类库中的类或他人已建好的类),尽量使用现成的类是面向对象程序设计范型所倡导的思维方式。
面向对象程序设计方法一般包含如下四个基本步骤:
1) 系统调查和需求分析
2) 面向对象分析OOA(Object Oriented Analyzing)
3) 面向对象设计OOD(Object Oriented Designing)
4) 面向对象实现OOP(Object Oriented Programming)
在这样的理论框架[7]指导下,在具体教学中,将面向对象程序设计的计算思维的核心概括为:一个中心即以对象为中心、两个基本点即前台设计和后台设计,这里的前台主要指用户界面,后台主要是程序代码,但无论是前台还是后台都是围绕对象展开,并由此帮助学生逐步构建面向对象程序设计方法的计算思维,进而用之解决具体实际问题,尤其是在开发功能较为复杂的大型系统,面向对象程序设计方法将是一种简洁方便、高效的求解方案,不仅如此,还应启发和鼓励学生并创造性地运用这种面向对象的计算思维解决现实生活中的多种问题。
3 总结
以“计算思维”为线索展开“Visual Basic程序设计”教学,就是将程序设计中所体现和涉及的计算思维,通过日常教学予以精讲、明讲、透讲,然后再启发学生利用这些计算思维自主解决实际问题,帮助他们从中领悟“什么是计算思维?如何应用计算思维解决问题”,并在解决问题中自主建构自己的计算思维、锻炼自己的计算能力,进而为他们将来的研究、工作和学习中具有创新思维和创新能力夯实基础。
当然,以“计算思维”为线索展开“Visual Basic程序设计”教学,作为一种教学改革和教学尝试,需要进一步完善,特别是,随着对“计算思维”理论知识与实践知识认识的深化,将会更好地指导教学实践,真正培养学生的计算思维和计算素养,提高他们的计算能力。
参考文献:
[1] 陈国良, 董荣胜. 计算思维与大学计算机基础[J]. 中国大学教学, 2011(1):7-11.
[2] 朱亚宗. 论计算思维[J]. 计算机科学, 2009,36(4):53-55.
[3] Jeannette putational Thinking[J]. Comminications of the ACM,2006,49(3):35.
[4] 董荣胜. 计算思维与计算机导论[J]. 计算机科学, 2009,36(4):50-52.