前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇循环设计的经典案例范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词 传播学教育 教学理念 教学模式
随着中国传播事业的蓬勃发展,中国传媒的产业化也不断深化。根据最新的蓝皮书《2007年:中国传媒产业发展报告》统计,中国目前的传播产业不仅包括了传统的报纸、期刊、图书出版、电影电视,还包括了新媒体以及广告公关等促成社会传播特征变革的传播方式。①这一新的环境为传播学的研究与发展提供了现实的源动力,也使对“传播规律”的研究工作变得迫在眉睫。与此同时,随着传播学的学科体系进一步科学界定,传播学专业的培养方法也变得值得探讨。目前国内的很多高校都陆续开设了传播学的本科专业,并同已经日渐成熟的新闻学结合形成了新闻与传播学的学院,②这样的发展前景使这个原本不被关注的“泊来”学科变得倍受重视。
一、传播学在中国发展的现状与教学中存在的问题
面对新的形势,目前的传播学本科教学工作仍然存在一些问题,总结如下:教学深度难以把握;理论教学的主导地位导致“学而无用”;教学与学术研究分离导致学科发展缓慢。
首先,教学深度难以把握。一般的院校在专业设置上都把传播学作为理论基础课程,安排在第一或者第二学期,这是十分必要的。但是,对于刚刚入学的学生来说,很难在入学之初就对这个专业有一定了解,甚至有的学生反映“不知道要学什么?”。因为这个学科需要一定的理论与专业基础,所以授课过程中也会遇到一些困难,这就要求教师根据学生的实际情况,适当的调节课程的难度,逐步的深入,必要时调整教学的进度,做到教学相长。
其次,理论教学的主导地位导致“学而无用”。传统意义的传播学课程是讲授式的理论教学课程,在这样的课程安排下,学生在课堂上主要接受的是理论教学,可能在一节课的时间里面学了很多类似“概念、特点、分类、意义、功能等”这样的内容,考试也是理论考察的方式以记忆为主。然而,在这样的授课方式下,理论教学居于绝对的主导地位,造成学生“学完就忘记了”,根本无法和实际建立联系,更不能建立合理的实际联想,学生感觉学习之后在工作中根本“用不上”,造成教学资源巨大的浪费,甚至是“学而无用”。面对这样的困惑,后面的章节会提出一些解决问题的思路与方法。
再次,教学与学术研究分离导致学科发展缓慢。上个问题中已经提到传统的授课方式,那么除了学生缺少实践联想之外,传统的教学方式还使学生失去很多思考问题的条件,没有理论与实践的结合,学生很难有所探索。这样就造成一种现象:目前的传播学研究,往往仅陷于少数学者的范围内,而大量的传播学专业学生毫无科研能力。如果能充分调动在校学生的科研热情,培养学生的科研能力,善加利用学生的科研成果,相信传播学专业会发展的更好。
二、传播学本科教学的教学理念与模式探索
鉴于目前传播学本科教学过程中一些问题的存在,同时结合几年来传播学本科教学实践的一点思考,笔者认为:传播学本科教学应该坚持“实用教育+延续教育”的教学理念。具体的说,就是在正常的课堂教学与理论教学的基础上,重点培养学生对传播学具体实务的联想能力、应用能力、创新能力;同时尽可能的帮助那些在理论与科研方面有更深层次要求和更高潜质的学生,构建完备的理论体系,设计有效的研究方法,启迪前沿的学术思想。这一教学理念,旨在培养可担当专业教学,可适应大众传媒要求,又可进行科研探索的复合型传播人才,适应全球化信息社会的要求。
为配合上面提出的“实用教育+延续教育”的教学理念,下面介绍一个传播学本科教学的“渐进循环”教学模型。在“渐进循环”模型中,传播学的教学包括了四个不同的阶段,分别是:1、经典理论的解析阶段。2、相应案例的引入阶段。3、传播实务的实践阶段。4、学术前沿的启迪阶段。
01
这四个阶段可以看作是由课堂的理论教学开始,结合教师经验的案例分析承接,以学生亲身的专业实践配合,最后启迪学生思考并研究学术问题为步骤的逐渐教育过程。而这四部分之间的循环则体现在,经过学生亲身调研、设计实验,论证之后对传统、经典理论的验证、深入、乃至发展之上。这样的“渐进式”教学,可以深入浅出的把学生逐步引入对人类传播活动的理解与研究过程中,解决以往教学中“学生认为过难”的问题。而由学术研究到理论发展的“循环”又为我国的传播学研究提供了来自大学生的新鲜血液,能有效的解决前面提到“传播学学科发展缓慢”的问题。下面分别解释每一个教学阶段的含义、教学内容、教学方法以及应注意的问题。并以讲授“议程设置”功能为例,分步骤的逐一说明每个阶段教学的具体方法。
1.经典理论的解析阶段
理论教学是传播学教学的重要任务之一。因此,传播学教学的第一阶段,或者说基础阶段,就是对传播学理论体系下的经典理论与模型做深入的解析。这里所说的解析,不仅仅是对教材中关于传播学的理论的讲解说明,更重要的是对这些经典理论的研究历史、研究方法、适用范围、对实践的指导作用等做细致的归纳总结。
无论是中国还是外国的传播学研究者,都编著了很多关于传播学概论性的著作,比如:麦奎尔的《McQuail’s Mass Communication Theory》(2000);③郭庆光的《传播学教程》(1999)。④虽然这些著作的编写思路不尽相同,但是不难看出传播学教学主要包括下面一些内容:传播的概念、传播学的研究范围、传播的不同分类、人类传播的过程、传播学的研究方法等。其中关于传播过程的研究内容尤其丰富,包括了对传播者的控制研究、对传播内容的符号学思考、对受众角色的分析、对媒介功能的研究和对传播效果的深入论述。
在上述的每个研究领域中,都含盖了大量了概念、经典理论和模型,仅仅以传播效果研究为例,在著名传播学研究学者麦奎威尔的传播学导论中,收录的关键词就有几十个之多。因此,教学的重点不仅仅只是告诉学生“什么是这个理论?”,更重要的是让学生弄清楚这个理论是“为了解决什么问题的?”,是“以什么为研究对象,用什么样的方法研究的?”,在这个领域内“目前用这个理论能解决什么问题?”,“还有哪些问题无法解决?”。比如教师要讲解大众传播的宏观效果“议程设置”功能。首先,应该简述理论的具体内容(这一理论用来衡量一种媒介的影响。在传播过程中,公众脑海中的新闻事件、议题、或者人物的相关重要性,受到新闻报道呈现次序或者显著性的影响)。⑤然后要逐一解释其中的关键点:议题和显著性。更重要的是,要重点交代这个理论的研究历史,交论中涉及到的媒介议程(media agenda)-公众议程(public agenda)-政策议程(policy agenda)的关系。⑥
2.相应案例引入阶段
在第一个环节的理论教学中,学生已经对经典理论的体系与研究历史有了深入了解。因此,根据上面的解析,选取大量典型的传播案例进行形象的分析说明就显得尤其重要。这里需要注意的是:在选择典型的案例的过程中,要注意不同案例之间的比较,以此引导学生找到理论应用于实践的一些规律。
仍然以讲授“议程设置”功能为例,要引入大量的新闻议程设置案例,同时分不同的媒体类型进行分析。比如通过对当日〈新闻联播〉新闻议程的设置分析当天的重要事件;通过连续几日〈新闻联播〉新闻的议程设置分析最近一个时期的重大事件;通过分析不同时间的〈人民日报〉头条新闻的设置来分析近一段时间媒体新闻议程的变化等等。
3.传播实务的实践阶段
在这个环节中,学生需要亲自参加到各种传播机构或组织的传播活动之中去,以亲身的实践验证理论与实际结合的重要性,积累更多的实践经验,同时探索理论与实践结合的新思路。虽说这个环节的主体是学生,教师仍然需要做相应的指导。要在学生亲身实践之前拟订详尽的指导书,内容包括:说明实践的意义,列出实践的步骤,建议实践的方法,同时要求学生在实践后做认真的总结,必要时要求学生上交亲身实践的作品进行讲评。
为了更好的了解媒体“议程设置”的功能,教师可以带领学生到当地的电视台或者报社进行一个短期的实践,比如让学生跟踪该媒体一天新闻编排的整个过程,指导学生注意分析电视媒体新闻的编排顺序,每条新闻长度的不同要求;报纸每条新闻所在的版面和字数要求等等。同时让学生对受众进行一个问卷调查,分析一下受众看了当天的电视新闻或者阅读了报纸新闻以后,认为什么是最近的“大事”,从而对照媒体新闻传播的预期效果,验证议程设置的功能。
4.学术前沿的启迪阶段
在开篇我们已经谈到过关于中国传播学发展的现状,其中谈到目前传播学研究发展比较缓慢的问题,那么这个教学环节的设计主要是在学生已经具备坚实的理论基础和丰富的实务经验的前提下,针对目前传播学业的问题进行学术的探索,以发展我国的传播学研究事业,同时学生也为完成自己的毕业设计做大量的积累工作。在这个阶段,教师的任务主要是启迪学生思考目前的传播学学术前沿问题,指导设计研究方法,提供适当的文献支持等。这里需要注意的是:学生往往不具备系统的科研思维,因此教师指导的首要任务是培养学生科研的系统化、逻辑化、科学化、数据化。
以“议程设置”的不同功能相互作用为例,教师可以指导学生研究一些实际的问题。对于研究政策议程转化为媒体议程,可以启发学生研究一些对国家重大的政策、法规、或者决定的媒体宣传作用,比如“论两会报道中央视的重要角色”;对于研究公众议程转化为媒体议程,可以启发学生结合目前网络媒体中“BBS,Blog”等个人媒介的作用,分析“个人媒介议程对大众媒介议程的影响”。
三、在探索中不断完善传播学教育
上面已经谈到了传播学教学方面存在着难以把握教学深度;理论教学为主导致“学而无用”;教学科研分离导致发展缓慢等问题,也针对这些问题提出了“实用教育+延续教育”的教学理念和“渐进循环”的教学模型。具体论述了如何从理论入手,引入大量案例,指导专业实践,进而进行科研工作的具体思路。上述的思路对授课的教师提出了更高的要求:教师要专业过硬,要确实接受或从事过传播学的理论学习与研究工作;教师要有丰富的阅历和实践经历,能配合教学引入大量案例;教师要有良好的媒体人脉,为学生提供更多的实践机会;教师也应该具备较高的科研能力,以启迪学生的思路。
在教学中还应该重点注意下面的问题:第一,要特别注意理论的研究历史,进行丰富的文献回顾,这是奠定学生理论思维基础与框架的必由之路。第二,要做大量的案例介绍、分析、比较与讲解,不能把案例教学做成陪衬的花朵和例行公事的摆设,要做到举例切实有效。第三,要加大研究方法教学与调研设计的力度,必要时专门开设传播学研究方法课程,系统讲解研究方法的选择、设计、使用与修正。第四,为了使学生有丰富的学术嗅觉,应该经常参加学术研讨与学术会议,经常组织学术讨论与研究活动。
注释
崔保国:《2007年:中国传媒产业发展报告》,社会科学文献出版社,2007年版。
陈昌凤:《中美新闻教育――传承与交流》,中国广播电视出版社,2006。
McQuail, D., 《McQuail’s Mass Communication Theory》. London: Sage,2000。
郭庆光,《传播学教程》,中国人民大学出版社,1999。
计算思维是高级思维。研究者普遍认为高级思维属于高级认知能力,建立新思维过程是认知创新过程。积极性和批判是这个过程的两个关键因素。依据学者马扎诺的学习认知过程理论,积极性将激发思维训练者内在的认知动力,将促使控制学习的自我系统调度工作,主动参与到认知建立过程中。如果积极性缺失,指挥认知系统处理知识的元认知等认知能力将无法发挥作用。思维训练中的积极性主要体现在三个方面:(1)积极参与教学活动,内容要具有吸引性;(2)积极思考;(3)积极求精。著名教育心理学家斯腾伯格认为在照本宣科方式、问答方式和对话方式等三种基本教学方式中,对话方式是最适发激活学生的积极性,开展思维教学。同学通过对话逐步展开围绕教学内容的分析讨论,激发学生的求知欲,调动学生的积极性,活跃学生的思维,使学生主动地思考,让学生充分讨论并发表各自的见解。教师通过对话适时引导和评判,促进学生对于自己思维过程的反思和批判从而提高思维能力。批判是对思维过程的观察、分析和评估过程。它通过反思对思维进行整理和重组,发现新的、合理的和优化思维模式。思维本身外界在人脑内部的映射,思维活动发生在内部,具有抽象性、非线性和隐蔽性等特征,将内隐的思维过程信息显性化是思维训练的关键因素。通过显性化过程,将隐藏的思维结构、思考过程及所运用的方法展示出来,帮助用户进行思维活动规律的提取与整理活动。
二、融入计算思维训练的程序设计教学原则
现有程序设计类课程是计算机课程中的基础性课程。传统的教学目标是使学生掌握计算机语言的基本语法语句和程序结构,能够正确使用语言编程解决的一些简单问题。教学形式以理论讲解为主,在课堂上列举出计算机语言语法的各个知识点,再结合上机实践操作来巩固巩固提高。通过学习,大多数学生擅长书面语法理论考试,回答各类填空或选择题。惧怕上机编程,缺乏应用计算机程序解决问题的能力。现有的教学方法束缚了学生思维的发展,尤其是运用计算机综合分析问题、解决问题能力的提高。目前,有许多老师开展了在程序设计课程中注重提高计算思维教学改革的尝试。探讨了算法与计算思维的关系,算法是计算思维在计算机求解问题的具体实现,并采用一题多解的方法来实现教学提高计算思维能力。发挥案例教学法作为一种互动式教学形式具有能调动学生主动思考的优势,已被用在程序设计课程中培养计算思维。但是现有的教学案例方法只注意案例吸引学生的一面,在组织上,仍然是以传输知识为目标,没有突出思维训练的教学形式。以C语言程序设计课程为实例,介绍将程序设计课程与计算思维能力培养的可行性。缺乏系统性的教学组织形式和组织方法。利用汉诺塔作为经典案例探讨计算思维和编程过程的关系。阐述程序设计课程教学中计算思维能力的培养方法。这些方法对于提高学生的计算思维能力起到一定积极作用,但是这些教学方法仍然是以程序语言为中心的教学模式。没有从思维训练本身特点出发,设计教学过程,从而影响了教学效果。编程过程是人们通过程序语言来表达解决问题的求解过程,即计算思维过程。程序语言是依据计算机构造特点而设计的诸多表达符号和规则的符号集合,起到人与计算机之间的中介作用。程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务。程序所反映的人们根据计算机的特点,用计算机语言表述解决问题的结果,是人的自然思维方式到计算机思维方式的转换能力。程序是人类思考的结果,也就是计算思维的显性化结果。对程序的批判和讨论将有助于提高计算机思维的认识。
(一)设计教学对话场景
首先,要以实际经验情境为基础案例。教学对话是通过对案例的剖析,以解决问题为主线展开。著名教育心理学家斯腾伯格美国教育家杜威又认为一个实际的经验情境,是思维的开始阶段,实际经验情境的案例能够活跃思维,促使学生思考问题。其次,案例不易太复杂要有多样性,程序设计是基础入门性课程,是建立计算思维的起点。太复杂的案例信息量大,学习时不易抓住重点,学生也会因难度大而挫伤积极性。多样性的思维解决方案,这样可以通过显性比较这些思维的不同来促进认识计算思维,抓住各种思维的不同。最后,案例要有拓展性,能从计算思维的一个点,拓展到其它方面。通过不断丰富,循序渐进。
(二)显性化思维过程
(1)计算思维的本质是抽象和自动化。通过不同层次的抽象,忽视一些无关细节,将注意力集中在关键方面,控制待解问题的复杂性。抽象过程需要精确和严格的符号标记和建模,保证最终能够进行机械自动化求解。自动化是在抽象化模型基础上开展算法设计,实现机械化求解过程。编程过程是显性化计算思维的过程。图灵奖得主N.Wirth经典论述程序=数据结构+算法。(2)数据结构显性化抽象思维。数据结构是数据与数据之间的逻辑关系,外界信息在程序中的抽象关系模型。(3)程序算法显性化了自动化过程。算法是解决特定问题的步骤和方法。编程过程就是用计算机语言符号,如各种标识符、常量、变量、数组、函数和结构体等,描述实际问题的数据及数据之间的逻辑关系。问题求解实现的精确严格程序指令对算法的步骤进行十分清楚和准确的描述,使得计算机可以实现期望的输出结果。
(三)反思思维过程
通过对显性化的数据结构和算法的分析反思,可以提升计算思维能力。采用提问的方式,对编程中的思维过程进行观察反思,整理和重组,发现新的、合理的和优化思维模式。编程解决问题的思维过程分为三个主要内容:抽象建模、算法选择、编程实现。可以围绕三个方面设计问题,一是思考的起点是什么?二是提出的解决方案是满足需求?最后是在效率上是否有更好的办法。
三、教学实例
程序设计教学一般分为两个阶段,第一个阶段以语言教学为主,讲授语言的基本命名规则和简单语句,第二阶段以语言的灵活运用为主,能够解决简单问题。第二阶段是计算思维训练的重点。
(一)首先设计对话情境
例如,作为刚刚开始选择程序设计解决实际问题的案例我们可以考虑选取学生非常熟悉的鸡兔同笼问题作为案例。因为这个案例具有一定的趣味性,而且同学们从小学到高中都学习过这个问题的不同解法,具有多样性。而且可以通过与程序解法的比较,来发现计算思维解决问题的不同。鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?这是一个中国古代《孙子算经》中经典的问题。根据问题可以先给出下列不同的解法。
(二)反思讨论
围绕三种解法后面不同的思维方式展开对话讨论。奥数解法的思维过程是通过认真分析和观察问题对象中内在的自然逻辑关系,通过算式加以表达的计算,重在一个巧字。数学方程解法较前一种解法上,在思维方法上多了一层抽象,用符号的形式表达了问题之间的联系,并用数学方程工具加以解决。C语言的解题过程,具有明显的计算思维特征。没有太多的巧劲,而是分利用计算机数据计算准度高并具有严格的操作时序等特点,发挥速度和存储优势。利用双重循环,进行暴力搜索解决。这样通过比较讨论,将发现不同思维模式间的差异,有助于建立新的计算思维模式。C语言解法的显性化展示了思维的过程,它通过变量j,t抽象表达了问题所涉及的鸡和兔。两层for循环给出说明了搜索过程。通过反思思考本案例还可以进一步延伸思考,目前循环次数是35*35=1225次。不可能同时存在35只鸡和35只的情况,我们可以这样进一步优化减少循环次数提高算法效率呢?这样的提问,将引导学生对于算法的进一步思考。
四、结束语
[关键词] 动漫产业 动漫高等教育 人才培养模式
目前大部分院校仍然停留在传统的技艺型教学模式,在教学上只片面的注重基本绘画能力或个别软件操作能力的培养,从而造成了毕业生就业形势严峻,低水平重复竞争。这种人才培养模式的落后已成为制约我国动漫产业发展的重要因素,有专家把近几年中国动漫产业的境况称为“一流画技,二流故事,三流经营”。所以说,近20年来中国动漫产业规模性的发展也只是低水平的盲目重复建设,而并非是完善产业结构的综合性建设。此种令人忧患的现状,不得不促使我们动画教育工作者针对动漫产业的整体性认识和动漫高等教育环节凸现的问题进行反思。
一、加强对现代动漫产业的整体性认识以确立人才培养模式的定位
动漫是一门综合性学科,是一个从设计、生产到销售的完整系统,因此开展动漫的高等教育必须从其整体性入手,并认清其中各个环节作用与延展,并对其各个环节的功能和特点进行高教课程的建设和人才层次的培养。这样,在课程建设上各科目才能有效地联系,形成教学的整体性,同时在人才培养上才能够形成多层次、多学科的优秀人才结构模式。
借鉴国内外动漫产业发展的成功案例,动漫产业已形成策划、设计、生产到传播,再到相关衍生产品开发的完整循环的工业产业链。其最具代表性的案例当属迪斯尼,其名称甚至已成为现代动画的代名词。关于迪斯尼公司发展历程的文章有很多且都耳熟能详,本文在此不将赘述。
动漫人才的培养也应顺应产业结构的发展做出相配套的举措。如果仅把动漫作为技艺性专业来对待,教学培养停留在制作层次的人才培养。那么对整体结构发展是不合理的。作为高等教育者应转变思想观念把动漫产品作为文化工业产品来对待,将动漫产业的策划、设计、传播以及衍生产品开发纳入到人才培养模式中。
其中,动漫产业设计、策划和管理能力培养是不可忽视的。人才培养的缺失导致了国内动漫产业中设计和策划能力的低下,国内大多动漫公司在创作方面也只能模仿国外已有的动漫产品或对国内原有经典动漫产品进行改良,如《蓝猫系列》、《天上掉下个猪八戒》、《虹猫仗剑走天涯》等作品我们或多或少的都能看到国外经典动漫作品杂交的影子。中国首部三维动画大片《魔比斯环》,其编剧、原创、导演等重要部分,更是全部由国外设计师来担纲。这突出了我国动漫人才在原创、策划、管理能力的缺乏。盲目的模仿和片面的改良,其动漫产品定位也自然不能很好的符合中国观众的需要。
当然,在这里我们并不是对现有的中国动漫创作成果进行全盘否定,毕竟中国动漫产业经历了20多年严冬才刚刚迎来创造的初春。目前模仿、借鉴以及国际合作也是缩短我国动漫产业与国外动漫产业距离的最切实可行的办法之一,但作为高校教育者和中国动漫的忠实拥虿者不得不对现有动漫创作和人才培养的问题提出自己的看法。
高校教育应具备开放的观念和包容的态度多层次地培养动漫人才的创造能力,鼓励学生在艺术风格、技法、技术以及产品开发上有新的突破。同时,还应该更进一步强化塑造民族动漫品牌意识的教学,强调对文化产品的品牌形象建构与传播。就像鲁迅先生的“拿来主义”,在教学上教授学生勇于学习经典传统中国动漫形式和国外先进动漫设计、开发理念,摒弃原有的糟粕和舶来的水土不服,去伪存菁建立具有中国民族特色的动漫产业品牌。
结合对现代动漫产业的整体性认识,我认为动漫高等教育的人才培养模式总的方针应该以培养其综合素质能力为主线,努力培养适应生产、建设、管理、服务等动漫产业需要的德智体全面发展的、具有鲜明时代特色和良好职业道德的高等综合素质型人才。同时,根据动漫产业的综合性特色,以及产业对各层次、各方面人才的需求,各高等院校教育机构应结合自身办学特色,以符合总的人才培养方针前提下提出特色办学,突出各院校动漫教育自身特点,完善动漫产业人才层次结构多元化、特色化的人才培养模式。
二、结合动漫产业的整体性认识完善高校动漫专业课程的建设
结合完整的典型性动漫产品开发流程所作出的专业课程建设应包含以下内容:
1 动漫前期策划
动漫前期策划是对整个动漫产品的先期规划。这过程将对现有市场、预计投入、预计效益等因素进行策划,提出切实可行的创作切入点。在课程设置上,策划方面的课程应在教学前期提出,让学生明确在动漫创作中策划开发的重要性,懂得如何通过市场调研和投入产出的预计对动漫产品进行受众、时效、地区和传播方式等内容定位。在日后动漫产品开发时,学生可以结合市场需求迈出正确的第一步。市场的调研、产品周期的预测、媒体传播方式以及国家相关的法规条例和国际行业标准等将是课程教学的主要内容。
2 动漫文学剧本设定
对于所有的动漫作品而言,文学剧本都是重中之重,动漫作品的质量的好坏很大程度上取决于文学剧本。因此,选择和确定一个剧本投资,是一项相当重要的决策。剧本通常是由制片人委托专人组稿、推荐,经有关专家研讨、策划,由制片人做出录用决定。导演接受剧本后,必须组织主创人员对剧本进行反复讨论研究,归纳意见,统一认识。
目前制约我国动漫产业发展的瓶颈也在于此。动漫剧作的原创应鼓励创作的创新性,减弱以往动漫剧作过分强调“教化”功能,增强剧本在剧情设定上的多元性,从而符合现代人对动漫作品的审美心理要求。就目前国内动漫剧本创作教学来看,文学剧作知识和民族学方面的知识亟待提高,在完善课程建设上,可通过人文学、美学、视听语言等科目入手。
3 形象角色设定
关键词:.NET;案例;教学;课程改革
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2013)36-0177-02
《.NET技术》课程是软件工程专业计算机应用方向的必修课程,其授课目标是让学生了解什么是,其工作原理,掌握.NET环境下的代码编写(C#)及执行方法、WinForm应用程序设计、基于构建Web应用程序和Web服务。案例教学作为一种教学方法在国外有悠久的历史,近几年在我国也被逐渐应用到各类课程中,其目的主要在学生掌握了有关基础知识和分析技术的基础上,根据教学目的和教学内容的要求,运用典型案例,将学生带入特定事件的现场进行案例分析,学生独立思考或集体协作,进一步提高识别、分析和解决某一具体问题的能力,同时培养学生正确的学习方法、良好的工作作风、较强的沟通能力和团队协作能力的教学方式。目前,绝大多数高校的软件工程专业都开设了.NET的相关课程,对于已经有C语言、C++或者Java基础的学生,在.NET课程中如何根据课程特点,使得教学效果得以提高是本课程教学改革的重点。
本文就.NET课程各部分内容采用的案例进行探讨,以期能够通过案例增强学生学习兴趣、提高动手能力、缩短从理论到实际开发之间的距离。
一、更新教学内容,精心设计课堂案例
微软在2000年.NET,在12年间,.NET经历了1.0、1.1、2.0、3.0、3.5、4.0,.NET技术得到了越来越多的开发者的认可和推崇,成为计算机专业、软件工程专业的专业课程。当然微软在.NET上的更新速度也是非常的快,尤其伴随着Windows 8、Visual Studio 2012和.NET Framework 4.5的,微软在操作系统及其开发语言上做了很多重大的改进,因此本课程的教学大纲、教学内容也随着每一个版本的在一定程度上进行修订和改进。目前该课程上课和实习可按38/18或32/12进行分配。案例教学中的案例要求具有真实性、完整性、典型性和启发性,针对目前使用的Visual Studio 2010为开发环境,以C#为开发语言,教学主要内容及相关案例如下:
1.语言基础。语言基础中,变量、关键字、表达式、运算符、条件语句、循环语句等与C语言、Java语言等基本一致的内容,因此本部分主要是课堂调试常用程序。常用案例及作用如下:(1)限定输入字符(文本框中只能输入1~10和小数点、负号)。使学生能够熟悉条件语句的书写规则、Keypress事件的使用方法、事件的Handled和KeyChar属性、字符串IndexOf方法;(2)滚动字幕。使label控件从窗体一侧缓慢滑动到另外一侧,编写成功后,改写为左右摆动。目的是使学生理解Timer控件的使用方法、属性的作用、控件的Width和Left属性(Width、Top和Left是可读可写,Bottom和Right是只读)。结合Timer控件的简单应用,讲授窗口抖动的基本原理,使得学生在接触到.NET之初就能够产生浓厚的兴趣。窗体抖动的程序还可以改写为线程控制或委托、事件结合的方式,因此窗口抖动可以在多线程、委托和事件的知识点中再一次出现,将一个案例多种实现方法展现给学生,使他们能够更加灵活地运行.NET的知识。(3)计数器、输出格式限制、里程表(九九乘法表)。使学生熟悉三种常用循环语句的写法、应用场合。计数器主要是利用循环来计算阶乘、累加、计数。输出格式主要是用循环来控制输出数字(符号)的数量、位置。里程表主要使学生熟悉掌握循环嵌套、循环输出控制。这三个例子足以使学生掌握循环及输出位置控制。(4)猜数字、最大公约数和最小公倍数、对称数。猜数字是随机长生一个1~100的随机数,用户可以猜8次,没有猜对则提示用户是大了还是小了。该案例首先通过文本框输入,消息框弹出提示信息,让学生学会使用随机数的产生、循环,然后采用多窗体的调用方式,自定义一个对话框,弹出并可输入所猜数字,讲授多窗体调用的方法。最大公约数和最小公倍数的案例主要是结合“猜数字”案例中的对话框,输入所求数值,根据定义求解,分析该问题,介绍辗转相除法,利用该方法获取结果,使学生熟悉多窗体调用,取余等。对称数是为了引出数组,第一个解决办法是常用的按位取余,逆序重排后进行对比,该方法复杂、易出错;引出第二个解决方案,通过字符数组,使数字转换为字符,进行对比,获得结果,对比字符串Equals()和运算符==的区别并通过该例引出并讲解数组。(5)计算属相和每月天数。建立属相数组,通过输入的年,来计算属相,目的是熟悉数组的使用;结合该例,引出如何计算每月天数,实际就是如何判断2月的天数,修改程序,利用该案例引出属性、索引器的使用。(6)窗口抖动。用多国语言说话的经典示例,引出委托,利用之前用Timer控制的窗体抖动程序,使用并操作委托,同时当窗口抖动时产生一个事件,发出声音。(7)图形类库。创建图形类库,派生矩形类、多边形类、圆类,构造调用方法,对比private、protected、public和internal的区别;引入Sealed,new,讲解其功能;在此对比virtual、abstract与override的区别。
2.WinForm。WinForm编程最大的特点就是可以快速、高效的做出和Windows应用程序非常相似的界面,本部分是课程的重点之一,难点也比较多,采用的部分案例及作用如下:(1)窗体透明度渐变。用Timer控制Form的Opacity属性,引出Text、Icon、AcceptButton、CancelButton、BackColor、BackGroundImage、BackGroundImageLayout、WindowState等属性。(2)Word界面。仿照Word界面,利用MenuStrip、ToolStrip、StatusBar、SpliterContainer、ContextMenuStrp、TextBox、RichTextBox、Combobox、CheckBox、RadioBotton、GroupBox、ColorDialog、FolderBrowserDialog、FontDialog、OpenFileDialog、SaveFileDialog、ProgressBar控件,讲解对应的属性、事件,设计为MDI窗口,并读写文件(FileStream、StreamReader和StreamWriter类的使用方法)。(3)资源管理器。仿照资源管理器窗口,讲授ListView和TreeView控件,引入File、FileInfo、Directory类、使用相关属性和方法,显示文件夹的属性结构和相关信息,其中文件路径引入@符号的使用。
3.数据库。NET数据库的访问架构是(ActiveX Data Objects),是数据库应用程序和数据源之间沟通的桥梁。.NET数据提供程序的主要核心对象包括:Connection、Command、DataReader、DataAdapter、Dataset、DataTable。采用案例及作用如下:(1)用户登录。界面包括了用户名、密码、部门、密码提示(忘记密码)、创建用户四个部分,该案例很具有针对性,且包含了查询、插入、更新全部内容。(2)登陆后数据查询。包括两个窗体,分别调用。一个窗体是用文本框、标签和按钮配合,文本框绑定数据源,达到查询的目的;另外的窗体加上DataGridView,也可以完成查询,并且可以模糊查询、按出生时间段查询等。案例中多次用到数据库的查询、修改操作,引出如何封装数据库操作的类。
4.多线程、套接字。(1)窗体抖动。修改前面的窗体抖动案例,控制线程睡眠时间,达到窗口抖动的效果。使学生了解进程与线程的区别同时引出多线程应用程序。(2)局域网聊天工具。基于Socket编程技术,完成服务器与客户机端的通信,多个用户连接时,创建多个线程,完成相应的消息通讯。
。(1)用户登录。同数据库类,界面包括了用户名、密码、部门、密码提示(忘记密码)、创建用户、验证码五个部分,分别介绍控件的使用方法,同时关联数据库。(2)登陆后数据查询。使用GridView控件,让学生了解该控件的常用属性、分页显示方法、编辑修改与数据库的关联方法。
6.选讲。根据学时数,可适当增加XML、WPF、WCF、LINQ、WP7的内容。
7.综合案例。(1)饭卡管理系统(WinForm)。通过对饭卡的管理,与数据库结合,完成学生饭卡管理的过程。(2)研究生管理系统()。以研究生管理系统作为案例,根据不同部门、不同用户的需求,完成动态网站的建设。全面介绍的工作原理,IDE的使用方法,借用数据部分讲过的用户登录和登陆后的查询,增加验证控件、GridView控件,使学生对后台操作更加了解。
为了达到更好的教学效果,案例通常都是在课堂上编写完成,但其中的部分案例只需要引入关键部分,剩余部分直接讲授源代码,给学生课后复习和巩固的机会,没有必要在课堂上完全编写。当然也可以节省课时,将时间放在部分难点、重点上。
二、针对课程重点和难点,经典案例上机试验
程序设计课程对动手能力的要求非常高,合理设计上机实习内容对学生掌握课程非常重要,每次实习前给学生案例的部分代码并布置实习作业,在上机前了解基本原理和要求,实习时添加代码完成实习内容,然后完成布置的作业。实习内容均为已经成熟,且应用较广的软件为对象,进行编写。主要实习作业如下:
1.吃豆子游戏。设计豆子类,其中包括了出现的位置等属性,消失等方法,该例子主要是练习类、对象、继承、多态、绘图。
2.IE浏览器。仿IE浏览器,完成浏览器的设计。该例子主要是练习WinForm编程方法及常用控件的使用。
3.事件提醒器。要求能够输入在制定日期和时间提醒相应的事情。该例子主要练习委托、事件、泛型。
4.聊天系统设计。要求完成局域网聊天系统的设计。该例子主要练习多线程、套接字。
5.学生信息管理系统。访教务学生管理系统,完成学生信息管理系统,系统能够查询成绩、查看课表、评教等工作。该例子主要练习、数据库。
实习前的准备和了解对学生非常重要,如果学生能够在实习前就对实习作业有多了解,甚至知道如何编写,那么实习作业的完成会非常顺利,学生知识的掌握效果会非常好。因此实习作业是在课程开始前布置。同时,课堂案例在讲授时要与实习内容结合,引导或启发学生对类似问题的该如何进行处理。实习的过程是以案例为驱动的,通过实习案例提出问题,通过课堂案例来解决问题。
三、改革考试方法,注重能力考核
.NET课程注重实际动手操作能力,因此考核方式有原来的考试变为考核。平时作业的完成为主要考查项目,实习、实验的成绩在考试成绩中占主要部分,同时如果课时允许,可以将学生分组,安排布置大作业,在最后一到两次课上让学生进行演示和讲解,也可以选择优秀作品进行展览,让学生体会成就感。最终根据学生实习、实验、综合实习作业完成的质量给定分数,使学生能够在该门课程上学到知识、提高水平、锻炼能力。
经过对近三年的案例教学实践,对案例进行不断的修改和完善,案例教学方法在《.NET技术》课程教学中逐渐成熟。案例教学方法能够使学生较好、较快地掌握所学知识,在教学和实习中的应用效果好,当然在讲授过程中,其他方法也要融合进来,如讨论解决方案法,课程之间、前后知识之间的横纵向比较法等。当然与学生的互动也显得尤为重要,互动过程中的启发,是达到教学效果的必要手段,授课过程中,注意学生的反应,使学生能够全面吸收并掌握。在实际教学中,综合应用多种教学方法,注重树立学生主体地位,帮助学生养成良好的学习态度与学习习惯,利于提高教学质量。
参考文献:
[1]张家军,靳玉乐.论案例教学的本质与特点[J].中国教育学刊,2004,(1):48-50,60.
[2]张继学.案例教学及其在国内的发展现状[J].职业教育研究,2004,(11):60-61.
[3]高进云,胡伟艳,乔荣锋.资源环境与城乡规划管理专业土地利用规划学课程案例教学实施探讨[J].高等农业教育,2011,243(9):80-82.
[4]常梅,董英茹,王法胜程序设计案例教学中金字塔式课程设计模式探讨J].知识库,2012,(8):40-43.
[5]李天平深入体验与实战精要[M].北京:电子工业出版社,2009.
[6]彭佳红,彭佳文,曹晓兰.基于案例的软件工程课程教学研究[J].高等农业教育,2009,211(11):60-62.
基金项目:西北农林科技大学教改基金项目(.NET程序设计课程教学模式创新研究与实践,JY1102076),陕西高等教育教学改革研究项目(校企联合软件工程专业建设与实践,11BY10),西北农林科技大学优质课程资源建设项目(面向对象系统分析与设计)
关键词:C语言;课堂教学;教学方法
中图分类号:G642
文献标识码:A
1引言
随着多媒体技术的应用与发展,“C语言程序设计”的教学方式也从单一的板书模式向利用多媒体技术进行教学的方式发展。在这种教学方式下,教师节省了书写板书的时间,学生也可以在单位时间内获取更多的知识[1],但是同时也存在学生不能充分消化所学知识的现象。在我国一些高等院校,这门课是面向大一新生开设,学生以前没有接触过程序设计思想,所以会感觉内容枯燥、不理解、不入门甚至厌学。针对上述现象,教师如何引导学生思考、如何设计教学内容以及如何进行内容讲授是很值得思考的问题,这也是提高“C语言程序设计”课堂教学质量及教学效果的关键。
2教学中存在的问题分析与对策
(1) 运用框架教学法。教师的教学理念是否正确将直接影响教师的知识表达方式。题目的讲解重点在于讲思路,讲怎样想,而不在于讲每条语句的释义或语法。因此,需要用问题引导学生思考,同时采用框架教学法将学生的答案记录。例如,利用公式Õ/4=1-1/3+1/5-1/7+…求 Õ的近似值,直到某一项的绝对值小于10-6为止[2]。学生从题目中看到的内容与规律如图1所示:
这样,学生从已知知识到未知的程序设计就有了一个明确的思路,以后便会举一反三,遇到类似更复杂的问题就会有思路,例如:sin(x)=x-x3/3!+x5/5!-x7/7!…,直到最后一项的绝对值
(2) 授课内容不拘泥于章节顺序。每本教材都有各自的特点,如谭浩强的《C程序设计》内容全面细致,但是若将学生引入枯燥的语法中,而学了三章还不知道程序为何物,势必让学生的学习兴趣大打折扣。所以无论选用什么教材,教师都可以按学生的理解能力编排教学内容。可以让学生第一次上课就接触程序,第一次上机就模仿程序,这种通过程序运行带来的快乐会加强学生的学习信心,而且给学生以直观的认识,消除程序设计的神秘感。算法的内容可以放到顺序结构程序设计的后面再讲,这样学生便轻松理解算法是什么,打印输出语句可以第一节就简单介绍,因为每次上机实践都会用到。诸如此类的想法与经验都是来源于学生的理解需求。
此外,还可以采用渐近式或阶梯式的教学方法。比如,讲指针和函数等有一定难度的章节时,可以采取这种方式。以函数为例,先将最简单的函数基础知识讲授给学生,让他们知道什么是函数、作用及功能即可,当讲过数组和结构的章节后,再深入的讲解函数的各种较复杂的知识点,学生就容易理解了,这种“分散难点”的渐近式教学方法,可以让学生学到最后一章还是充满信心。
(3) 理论联系实践,充分利用案例教学法。学生在没有明确学习目的情况下会提出:“学这门课到底有什么用?”这类问题。作为大学生,学生学习的动机会促使他们更关心所学知识是否会学有所用,难点也许不仅仅在于课程本身。所以,C语言的重要性一定要强调。C语言不是一门过时的语言,学生不重视在较大程度上是因为学生不了解它。C语言是一些操作系统的服务、网络和驱动程序等底层软件的开发基础;在手机、PDA等嵌入式产品开发与研究领域也有广泛的应用。在教学中,可以结合案例进行教学,简单的如构建通讯录、学生信息管理,游戏程序等;复杂的可以演示在工业领域中的应用案例等。
(4) 经典语句提炼,以一当十。在程序设计中,将出现频率高的语句和算法提炼出来单独讲解,这样有利于给同学们格外加深印象。这类语句如:累加语句sum=sum+i、累乘语句p=p*i、换位语句t=x;x=y;y=t和求最值等。引导学生归纳总结,针对同一算法,如累加求和可以用什么样的方法实现,将循环、数组、函数和指针的解法进行对比。有了这样的基础,以后的程序讲解便可重点突出,遇到这类语句简单提示即可,提高了授课效率。此外,讲解程序时,重点的语句要点拨,如怎样一行输出10个数、怎样输入、输出二维数组,让学生学习其写法,这样当学生独立编程时不用为这些小知识点苦恼。
(5) 课件的制作不主张“放电影”式的快速翻阅幻灯片,学生在每张幻灯片上视觉停留时间短,对教师所授知识点印象不深刻,容易过目就忘。每一章的幻灯片要求精而不求多,每一页内容最好能包含几个“看点”,有对比,并且有引发学生思考的问题。
以打印乘法口诀表为例讲授for循环嵌套,如图2所示,重点点拨的知识点与设计的提问有:
① 怎样使用for循环嵌套?
② 复合语句,是否加{},结果有什么不同?
③ 本题是求1-4的乘法口诀表,若改为1-9的乘法口诀表,怎样改程序?
④ 打印结果排列成一个正方形,若想变成如图2中思考题所示的四个形状的三角形,分别怎样修改程序?有什么规律?
这样将一张幻灯片内容讲透,学生会对所学内容细细品味,并且印象深刻。
(6) 教学互动形式多样化,培养学生的自学能力和动手能力。教学目标不是要给学生粮食吃,而是要教他们种粮食的本领,是要培养学生快速学习能力、实践能力和触类旁通的能力以适应社会的需求。教学场地不局限于课堂,可以组织学生进行各类设计竞赛或参观实践,以丰富教学内容,理论联系实践,这样学生的主动性、积极性和创造力会被无形的激发出来[3]。
(7) 加强上机考试的力度。目前,考试方式一般为平时实验成绩+笔试,这种考试方式的不足在于学生的编程调试能力不容易测试出来,只要看懂书本就能得高分,弱化了实践能力的考核力度;如果将考试方式改为平时实验成绩20%+笔试50%+在线编程30%的模式,可督促学生在平时训练中更注重调试编程能力的训练。
(8) 教材的使用上可以因材施教,删繁就简。针对任何一本教材,在授课中,要根据学生的专业、学习能力和基础进行有选择的讲解,不应该照本宣科。例如,若学生的基础较薄弱,可删除题目较复杂的例题或不常用的知识点,要重点突出。若学生存在个性化差异较大,也可采取分级教学等方法。
3引导学生掌握C语言学习的基本入门方法
正确的引导学生掌握学习语言的基本方法可以帮助“摸着石头过河”的同学快速入门。除了在课堂教学中要充分运用各种教学技巧调动学生的学习热情外,在上机实践中的题目安排与实践方式也要讲究方法与技巧,由浅入深,尽量帮助消除学生在上机课不知所措的感觉。上机实践可以采取模仿、改写至编写的训练思路[4]。第一阶段,在学生没有任何编程基础的情况下,模仿程序并运行会让学生信心十足之余也对C语言的结构、特点和上机环境有所了解,这个阶段培养兴趣是主要目的;第二阶段在学生有了一些基本语法知识和编程思路时,不要急于让学生自己编程,因为大多数学生往往会有无从下手的感觉,这时改写程序会让学生循序渐进的又向前迈进了一步;第三阶段,教师可设计一些让学生不费力就能独立完成的小程序;当学生有了这些基础,就可以留一些有难度的题目,教师课前可做一些思路上的引导与提示。总之,让初学者对学习C语言保持信心和兴趣是至关重要的,教师是知识引导者,而不要对学生一味的灌输枯燥的理论与施加压力。
4结论
本文分析了C语言程序设计教学中存在的一些问题,并提出了相关对策,这包括框架教学法、阶梯式教学法、案例教学法、经典语句提炼法和教学互动多样化等方法。实践表明,这些方法对学生增强学习信心与提高学习兴趣有事半功倍的效果,同时也有助于教师提高教学质量和取得良好的教学效果。
参考文献
[1] 吴敏. 充分利用多媒体技术推进C语言教学发展[J]. 中国电力教育,2007,(9).
[2] 谭浩强. C程序设计第三版[M]. 北京:清华大学出版社,2007.
[3] 刘金安, 高涛等. 基于成就激励的任务驱动式C语言教学模式研究[J]. 计算机教育,2008,(4).
[4] 何钦铭, 颜晖. C语言程序设计[M]. 北京:高等教育出版社,2008.
Teaching Quality Analysis and Countermeasure Study on C Programming Language
Liu Yahui,Zhou Changsheng,Fang weiwei
(Computer Center, Beijing Information Science and Technology University, Beijing, China 100192)