高级语言程序设计(C++)教学改革实践与思考

来源 :中国校外教育·理论 | 被引量 : 0次 | 上传用户:liongliong437
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 本文针对高级语言程序设计(C++)课程的教学现状,从教学模式、教学设计方法和教学内容三个层面对该类课程提出改革措施,强调学生的实际应用能力,并融入团队精神和规范编程等软件工程思想。
  关键词 C++教学改革 教学模式 教学方法 教学内容
  
  一、引言
  
  “高级语言程序设计(C++)”一直是计算机专业、信息类和电类一年级学生开设的专业基础课程,部分其他理工科专业也将此课程纳入公共基础课范畴。本课程培养学生软件设计逻辑思维和编程能力,特别对于计算机专业的学习。是后续专业课程必不可少的先修课程。目前,课程的建设综合考虑了各专业学生的接受能力和学习条件,事实上,对于计算机学科领域的学生,C++作为他们学习的第一门计算机高级语言,掌握和运用的好坏不仅仅影响了他们对整个学科知识体系的理解,更体现了他们的专业素质和技巧。
  通过一段时间的教学,我们发现,目前存在的主要问题是课程学习完毕以后,学生能掌握一定的理论知识,但实际动手能力较差。大部分学生在通过一年的学习后,只会解决书本和试卷中的练习题,但不会处理解决实际问题,不能动手编制较复杂的程序。因此,我们建设更适于计算机相关专业的C++课程,而改革的核心在于实验。
  
  二、教学模式改革
  
  笔者认为,当前高校教学改革的长期目标之一是要改变传统的以教师为中心的教学模式,建构一种既能发挥教师的主导作用又能充分体现学生认知主体作用的新型教学模式。在此基础上逐步实现教学内容、教学手段和教学方法的全面改革。之所以要把教学模式作为此次教改的主要目标,是因为教学模式是指在一定的教育思想、教学理论和学习理论指导下,在一定环境中展开的教学活动进程的稳定结构形式,也就是说,教学模式是指按照什么样的教育思想、教学理论和学习理论来组织教学活动进程。所以教学模式是教育思想、教与学理论的集中体现。教学模式的改变将要引起教学过程的深刻变革,也必将导致教育思想、教学观念、教与学理论的根本变革。
  从我们目前的现实情况看,教学模式基本上都是以教师为中心。这种模式的优点是有利于教师主导作用的发挥,便于教师组织、监控整个教学活动进程,便于师生之间的情感交流,因而有利于系统的科学知识的传授,并能充分考虑情感因素在学习过程中的重要作用。其严重弊病则是:几乎完全由教师主宰课堂,很大程度上忽视了学生的认知主体作用,不利于具有创新思维和创新能力的创造型人材的成长(按这种模式培养出的绝大部分是知识型人材而非创造型人材)。
  建构主义学习理论和学习环境强调以学生为中心,要求学生由外部刺激的被动接受者和知识的灌输对象转变为信息加工的主体、知识意义的主动建构者,建构主义的教学理论则要求教师要由知识的传授者、灌输者转变为学生主动建构意义的帮助者、促进者;要求教师应当在教学过程中采用全新的教育思想与教学模式(彻底摒弃以教师为中心、强调知识传授、把学生当作知识灌输对象的传统教育思想与教学模式)、全新的教学方法和全新的教学设计。因而很自然地,建构主义的学习理论与教学理论就成为以学生为中心教学模式的主要理论基础。以学生为中心的教学模式注意在学习过程中发挥学生的主动性、积极性,相应的教学设计主要围绕“自主学习策略”和“学习环境”两个方面进行。前者是整个教学设计的核心——通过各种学习策略激发学生去主动建构知识的意义(诱发学习的内因);后者则是为学生主动建构创造必要的环境和条件(提供学习的外因)。
  上述兩种教学模式各有其优点和不足,结合我们社会和学校自身的实际情况,我们希望能够实践一种更加符合实际的“主导一主体”的双主教学模式。双主模式介于上述两种总模式之间,它不是以教师为中心,也不完全是以学生为中心,而是既发挥教师的主导作用(而不是像“教师中心模式”中那样发挥“主宰”作用——自始至终主宰课堂,完全由教师唱主角),又要充分体现学生的认知主体作用,即要把“教师中心”和“学生中心”两者的长处吸收过来,而把两者的消极因素加以避免。这就要求在基本保留“传递一接受”教学活动进程(在大班授课情况下,这有利于教师对教学的组织和主导作用的发挥)的条件下,要对这种“进程”加以认真的改造,即在此进程中要利用计算机为核心的技术手段,在建构主义理论指导下通过人机交互让学生更多地去主动思考、主动探索、主动发现,从而形成一种新的教学活动进程的稳定结构形式:在整个进程中,教师有时处于中心地位(以便起主导作用),但并非自始至终;学生有时处于传递一接受学习状态,但更多的时候是在教师帮助下进行主动思考与探索;教学媒体有时作为辅助教的工具,有时作为学生自主学习的认知工具;教材要素也各自有不同的作用,彼此之间有不同的联系,从而形成一种新的教学模式——“双主模式”。这种模式的理论基础既有“传递一接受”教学理论和行为主义学习理论,也有建构主义的教学理论和学习理论。
  教学模式的改革必将引起教学策略、教学设计方法和教学内容的变化,因此,我们还要对现有的教学策略和教学内容进行一定的改造,以适应模式的转变。
  
  三、教学设计方法改革
  
  在双主教学模式的背景下,可以采用很多不同的具体的教学设计方法,如支架式教学设计、抛锚式教学设计、随机进入式教学设计等,这些设计方法可以在具体的教学过程中有选择性地采用,在我们新的教学改革方案中,我们也给学生定义了这样的七个学习阶段:
  
  1.选——找到帮助
  选包括选老师、选教材、选参考资料、选信息来源、选学习渠道,等等。虽然一部分选择教师负责完成,但教会学生充分利用网络资源、有效利用开发工具,并以此作为他们的良师益友是非常重要的。笔者经常在第一堂课就告诉学生,教师只是一个领路人,他们的良师益友是编译器、是优秀的文献资料、是网络另一端的先行者们。
  
  2.拓——认识程序
  给学生们一些简单的例程,给学生们一段操作的步骤,让他们依葫芦画瓢地将程序输入,编译、连接之后运行。这个时候他们多数只知道是连续的点击不同的按钮的操作过程。当出现错误时,只能让他们仔细检查输入的每一个字符是否准确。但是,这将树立他们对于程序的第一印象。他们能迅速地体会到程序“启动”的欣喜和成就,尽管不是自己创作的程序。
  以往教学中,习惯于先解释字、词、语句。每完成一部分内容的教学,让学生们尝试用他们已经认识的信息组成的一段代码进行实验。实际上,学生们在知识筹备的时间内,他们对于词法、语法的学习是漫无目标的,不知道什么时候有用,不知道该怎么用;自然而然以一种死记硬背的方式去学习,真正进行实验的时候,一些记忆模糊了,一些已经不记得了,再一次从头来过。
  事实上,“拓”的过程中,学生对于语言知道的越少,他对于程序的运行越感兴趣,在后续的学习过程中,更加能够集中精力去研究清楚程序中的每一个组成部分。这其实是在教学的初期阶段给学生建立一个谜题的过程,而解开谜题的过程与科学探讨的过程及其相似。通过目标的创建,不 仅激发学生对于学习目标的兴趣,还可以引导他们像专业人员一样思考。再给学生准备好一些更复杂的源程序,让他们可以直接打开运行,这些都可以吸引他们的注意力。
  
  3.临——改动程序
  在原样照搬的基础上,一些变化能够激起学生更多的好奇心。通过让学生在例程上自由的进行一些改动,记录下改动的内容,猜测这样的改动将给程序的运行带来怎样的变化后再次编译运行,来验证他们的想法。运用“差距理论”来调动学生的学习主动性。1994年,卡耐基梅隆大学的行为经济学家Georgy Loewenstein给出了对情境兴趣最全面的解释。他认为,当我们感到在知识上存在差距时就会产生好奇心;Loewenstein认为差距导致痛苦。当我们想知道什么事却无法知道的时候,就像我们身上有个非挠不可的痒痒。为了解除这种痛苦,我们就必须填补这种知识差距。即便看烂电影本身就是一种痛苦,我们也会耐心地坐着,因为不知道解决实在是太痛苦了。差距理论的一个重要含义是在填补差距之前要制造差距。说出事实之前,他们先要认识到他们需要这些事实才行。根据Loewenstein的观点,说服人们相信自己需要我们的信息的诀窍在于首先要强调某种他们所没有的特定知识。我们可以给学生们提出一个就他们的知识而言存在差距的问题,给他们预测结果的挑战。
  “改变‘=’左边的内容程序会怎么样?”,“改变‘=’右边的内容程序会怎么样?”不管结果和猜测是否吻合,是否能分析出原因呢?“为什么改变‘=’左边的字符对于运行结果没有任何改变,但是改变右边的字符。运行结果就变了?”“如果把‘=’左右两边的内容交换又会怎样?”解决一个问题往往能引发出更多的问题,让学生在一个自问自答的过程中思考和学习。
  
  4.仿——重写程序
  在帮助学生解答问题的过程中,其实已经把语言的基本要素教授给了学生,虽然他们还会拼写错关键字,会不记得运算符的优先级别,但是他们已经知道怎么去运用每一个元素。那些字面上的错误,或者用户手册上清楚列明的问题不需要花费他们太多的时间去解决,也将随着运用次数的增加牢牢地刻在学生脑海之中。
  既然他们已经清楚了每一个分词在例程中的作用,他们可以通过改写程序来实现一些类似但不同的功能。刚才他们只能把一个从1累加到10的程序改成从1累加到100的程序,再改成从1累加到n的程序,现在让学生解决一个计算2的n次方,或者n的阶乘的程序,接下来他们可以计算任意复杂的表达式了。
  
  5.脱——创造程序
  前面四个阶段是本科生必须在一年级完全经历的学习阶段,后面的三个阶段在本课程的学时内或多或少的会有一些闪现,然后一直贯穿学生专业学习的过程,乃至从事软件开发工作的职业生涯。
  当前面积累的例程代码都转变成个人的编程经验,学生们面对问题不再需要摆着例程在面前。他们通过将问题不断分解,直到每个小问题都是一个自己曾经解决过的问题。把积累的那些代码拼装起来,得到新问题的解决方案。
  进一步的脱离模板、程序创造,需要学生进行数据结构和算法的学习,这让他们能够组织的问题规模更加庞大,结构更加复杂。每个学生有自己拆分现实世界的角度,也有重新拼装的独特想法。同样的问题,解题的思路丰富了,编写的代码也各不相同。
  
  6.變——创新程序
  大作业或者课程设计是检验学生掌握计算机语言,并能灵活运用的好方法。在布置大作业时,让学生自由选题,只对于程序的规模,功能的完整性和知识点在程序中的应用提出。在检查学生们的大作业时,总能出现一些很陌生的代码,需要花上一些时间才能看懂看明白。到这一阶段时。老师对于学生的影响已经很小,尤其是技术的指导,学生基本形成了特有的技术风格,并感受到方法学、模式、结构框架等对于大规模开发的重要作用,软件工程对于团队开发的重要作用。老师引导学生更加关注知识体系的组成、行业的发展趋势、先进技术的产生,帮助他们开拓视野。Mitchell kapor的《软件设计宣言》说道“设计就是脚踏两个世界,即技术的世界和人及其愿望的世界,设计人员努力要做的是把两者结合到一起”。让学生懂得,技术不是全部,技术为人类服务。
  
  四、教学内容改革
  
  目前的教学内容主要依赖于课本,但课本由于编写周期较长,很多内容比较陈旧,而且由于缺乏可视化编程的内容,很多学生在学习完成之后无法编写标准的Windows程序,导致他们学习兴趣骤然降低。我们计划在教学内容上作出如下改进:
  
  1.采用课本+课外书籍+MSDN帮助+网络的多元化教材
  课本和相关书籍由于结构清晰、层次清楚,因此很适合学生作为系统的学习材料,但也因其更新速度慢、离今后的实际工作距离较远,导致学生学不到最新的知识,进而导致学生缺乏实际的动手能力。采用多元化的教材,一方面,可以促进学生阅读大量的中英文技术文档,提高其自主学习和研究的能力,另一方面,也可以让学生接触到最新的技术发展趋势。
  
  2.加强可视化编程内容的学习
  集成开发环境VC是可视化编程的开发工具。在以往的教学中,只关注语言本身的练习,因此只开发控制台(DOS)程序。但学生的兴趣不高,成就感不强。将可视化开发纳入C++实验课程体系,可以提升学习乐趣,尽早给学生提供实现创新想法的工具。
  
  3.加强编程模式的学习
  计算机语言的学习,不仅是语法规则的学习,更重要的是编程模式的学习。在编程特别是面向对象编程方面有很多前人总结的模式和习惯用法,这决定这一个程序设计人员水平的高低。这就好像人人都会下象棋,但真正的高手是需要有一个行棋的模式的。常见的编程模式包括简单工厂模式、工厂方法模式、策略模式、装饰模式、建造模式、单例模式、多例模式、代理模式、适配器模式、桥梁模式、观察者模式等,所有这些内容在现在的教材中都没有得到体现。
  
  4.提倡规范化编程
  好习惯从小养起,好的编程习惯也要从初学就开始培养。在实验中应强调和贯彻专业的编程规范,不仅可以减少程序中错误,更是帮助学生树立了良好的专业形象,培养职业道德,为以后的团队合作、软件工程实践奠定基础。
  
  五、总结和展望
  
  高级语言程序设计是计算机和软件专业专业学习必不可少的先修课程,能不能学好就意味着专业知识的基础是否扎实,直接影响到后续学习的效果。笔者认为,在传统的教学内容上,必须融入团队精神和编程规范的思想,以引导学生主动探究的方式开展教学,从而提高学生的应用能力和创新能力。
其他文献
【摘 要】初中语文探究性学习是指在初中语文教学阶段,学生在老师的情境创设中,以类似科学研究的方式去研读课文,通过自主独立的发现问题和解决问题等一系列活动,使知识技能、情感和态度得到特别的发展,特别是探索精神和实践能力发展的学习方式和学习过程。初中语文探究性学习,旨在充分发挥学生在语文学习中的主体作用,挖掘学生的潜能,培养学生探究创新的精神,形成和发展良好的语文素养。  【关键词】探究性学习 提问
期刊
【摘 要】青少年奥林匹克运动会第一届赛事将在2010年夏天开始。我国的体育课程标准为适应新形势需要是否该做相应的调整,笔者欲从课程标准中体育课的地位、教授内容、考核及评价方法等方面进行系统地阐述。  【关键词】青少年奥林匹克运动会 体育教学 课程标准    1 前言  由于体育课程在中小学的升学考试中所占比重甚微,尤其是在考试前期,体育课要做到需要时随时让课,在没有别的课程占用的情况下又不能空堂。
期刊
[摘要]在文学接受中,接受主体通过接受心理活动对作品完成意义的生成和自我审美需求的满足。接受者往往通过“幻想”来满足不能实现的愿望,通过“移情”与之产生共鸣,通过“认同”来获得审美的精神愉悦。  [关键词]幻想 移情 认同    文学接受作为一种精神性的活动,虽然在文学文本的大构架和既设的情境中,接受主体处于被动接受、被熏陶与感染的角色,但在接受过程中则体现各自和不同的审美需求,侧重于文本意义的生
期刊
[摘要]本文论述了在英美文学教学中,教师要抓住“阅读、讨论、表演”三个关键环节,并指出采用此模式有利于激发、提高学生对文学作品的兴趣,增强他们的理解能力、表达能力、想象力和创造力。  [关键词]文学教学 阅读 讨论 表演    文学原著是语言教学大纲中不可缺少的部分,英美文学作品选读一直是我国高校英语专业高年级学生的必修课程。Brumfit认为,文学教学的目的有三:(1)帮助提高语言能力;(2)教
期刊
[摘要]班级文化建设的和谐构建,可以通过硬件和软件两个方面来组成,其中,硬件设施的构建可以通过班级环境,班级墙报,学习园地,教室布置,学习专栏等来实现;具体又可从十个方面来操作,以营造和谐班级文化的氛围,感染熏陶学生有一个良好的学习环境。  [关键词]班级文化 和谐 硬件    班级文化,概括起来是指在班级管理中,把一个班级的全体同学团结在一起的行为方式、价值观念和道德规范的总和,积极的班级文化可
期刊
[摘要]在高考现代文阅读中运用原文意识,是提高答题得分率的重要手段。本文笔者按题型举例,从四个方面具体分析了原文意识在高考现代文阅读中的运用方法。  [关键词]高考 现代文阅读 原文意识    所谓“原文意识”,就是解答阅读题时,一方面,要有意识的从原文中寻找所有题目的答案;另一方面,要有意识  的尽量用原文语词作答。在高考现代文阅读中,运用“原文意识”,是提高答题得分率的重要手段。  为什么这样
期刊
[摘要]我国经济体制的转轨、产业结构的调整和知识经济的发展迫切需要大批具有创业创新精神和实践能力的人才,高职院校如何培养具有创业创新精神的实用性、复合型人才,是21世纪高职教育的一个重要课题。本文对实施高职学生创业与创新教育的教学实践模式进行了探讨。  [关键词]高职教育 创业教育 创新教育 培养    在建设创新型国家的进程中,培养创新型人才是大学义不容辞的使命和责任。在党的十七大精神和河北省教
期刊
[摘要]“太过接近总是会令人不安的。”这说明了人的一种心理安全环境。任何设计的初衷都在于给人们营造一种舒适而美丽的环境。这种被设计的环境应该是反映于人的行为,产生于人的心理环境。人们只有确立了自己安全的地位,才会去考虑别的。  [关键词]心理 行为 环境艺术设计 安全感一、引言    在环境艺术设计范畴里,对于人的心理环境的研究可以更好的指导我们的设计。在日益呼喊以人为本的今天,从心理环境出发可以
期刊
Abstract: Metaphor is one kind of common rhetoric used in articles.It has some similarities with simile.In order to use metaphor well,it's necessary to analyze differ-ences between metaphor and simile
期刊
摘要 随着计算机网络技术以及互联网宽带技术的发展,Web服务器上大多数用户界面都需要带有图像。本文主要介绍如何从一个程序集内提供图像,并提供了两种检索图像的方法,使Web站点的图像文件像Windows控件那样将图像存储在同一个程序集内,大大加强了其安全性和可操作性。  關键词 Web服务器 程序集 提供图像 检索
期刊