前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的心理学入门小问题主题范文,仅供参考,欢迎阅读并收藏。
怎么学好化学,我认为首先应改变偏面认识。有的人以为化学只需要背背就能学好;有的人以为化学专门和有毒的物质打交道而退避三舍;有的人以为化学背的东西太多而厌恶……凡此种种,都是对化学学科本身及化学学习的误解。其实,我们人类的生活、科技、生产都与化学密切相关,我们只有学好化学,才能知道哪些是有害的物质,我们该如何回避和化解;才能知道哪些物质是有益的,我们该如何合成它。因此,学好化学基础知识有利于我们同学将来更好地造福人类,使我们的生活更美好;有利于我们同学为将来的科技进步作出有益的贡献。
其次要培养学习兴趣。其实,化学跟我们生活的方方面面有密切的联系,我们同学要积极寻找、发现和获取生活中的化学知识。如:钢铁为什么久置会生锈?为什么钢铁漆上油漆就不容易生锈?燃料燃烧时为什么鼓入空气,火焰会更旺?潮湿的煤炭为什么会比干燥的煤炭燃烧的更旺?在面粉中加人发酵粉(小苏打),蒸出来的馒头为什么会有那么多的小孔?如果我们同学在学习化学的过程中就注意结合这些实际现象,那么学化学就变得生动而有趣。爱因斯坦说过:兴趣是最好的老师。趣味的东西能提高我们的学习效果。
再次要正确学习策略。化学作为九年级的新课程,而我们头脑中的化学知识几乎是一片空白。毫无疑问,确实有许多基础性内容需要记忆。任何学习都离不开记忆。因此,我们同学应该学会正确而有效地记忆化学内容。对于文字较少而又零乱的难以记忆的小问题要抓住关键字词进行奇特的联想,如氢氧化钠的用途是:用于制肥皂、炼制石油、造纸、纺织、印染等工业上,可记为:“纸(织)上染了肥油。”浓缩记忆法就是针对一类化学知识或规律在深刻理解的基础上,可选取有代表性的字或词缩略成提纲进行记忆。如实验室制氧气的七个实验步骤记为:“茶、庄、定、点、收、利、息。”“茶”指检查装置是否漏气;“庄”指往试管里装药品;“定”指把试管固定在铁架台上;“点”指点燃酒精灯;“收”指收集气体;“利”指把导管先移出水面;“息”指熄灭酒精灯。再如过滤操作中的注意点浓缩为:“一贴、二低、三靠”,等等。
还要养成好习惯。复习时应该注意归纳整理、建立自己的认知结构。利用编写提纲、列图表等方式把知识加以系统化。同时,在记忆中可以适度多记些,如我5次记会了,再多记2次,增加学习程度可以使记忆得到巩固。心理学研究指出,一般学习程度以150%为佳,过少或过多地记效果也不好。同学可以采用分散记忆的方法来加强记忆,早上与晚上的学习时间由于受到前摄抑制或倒摄抑制的影响较少,应有效利时间来记忆材料。有效记忆的方法很多,但共同点是要学会记忆,即要了解记忆过程中的动机作用、组块作用、复习作用。根据学生自己的特点,可灵活运用好的记忆方法。
最后要合理安排时间。到了初三,各学科的学习任务都很繁重,我们必须注意各学科的学习时间的合理分配,虽然,语数外是主课,在学业考试中占有较大的比重,同学们在学习中自然比较重视,这也是正常的现象。但是,我们还是建议同学们应该正确处理好主副科的学习问题,尤其是化学作为初三年级的起点科目,俗话说,万事开头难,只有我们同学在开学以后的八至十周这段时间内,发扬锲而不舍的精神,适当地多花些时间,对化学元素符号、化合价、化学式等内容做到课课清、天天清,经常复习巩固,做到融会贯通,那么,初三化学入门关就算顺利通过,这为今后的化学学习将打下良好的基础,可谓良好的开端等于成功的一半。如入门关不能顺利通过的话,我们学习化学的自信心就会受到打击、学习兴趣就会下降,就会给我们的后续学习带来负面影响,很难想象,我们同学片面地抓主课学习,而放弃化学学科的学习所导致的损失,能由主课的成绩提高来弥补。
关键词: 地理教学创造性思维培养方法
创造性思维是指以科学理论为指导,面对实际,发明或发现一种新方式,并用以处理某种事物的思维过程。这种创造性思维能保证我们正确分析新情景,解决新问题,并将它们迁移到新知识的过程中,顺利完成学习任务。那么在地理教学中如何培养学生的创造性思维呢?依笔者之管见,可从以下四个方面入手。
一、授之以趣,激发学生的学习动机
心理学研究表明,兴趣是一种由于肌体需要而产生的稳定的内驱力,是构成动机的最现实、最活跃的成分,是学习入门和获得成功之间的“牵引力”与“粘合剂”。如果地理教师善于寓教于乐,使教学生动活泼、情趣横生,培养和激发学生的“痴”情“迷”劲,使之欲罢不能,乐于探索,那么,不仅大大有益于提高当前地理教学效果,而且可能在学生心中埋下终生为之探索的种子。当然,在地理教学中,教师不能满足于对学生一讲就懂,更应善于提出新颖的引起认知冲突的问题,使学生产生浓厚的学习兴趣。如初中地理教材涉及“时区和日界线”内容,学生接受起来有一定的困难,教师不妨在上课之初,首先向全班学生展示两个小问题:①“小华得知到日本东京访问的爸爸,今天就要回到上海了,他了解到飞机从东京起飞的时间为早上8点,按照飞机飞行2小时15分钟计算,到达上海的时间应为10时15分。他准备到机场迎接爸爸。可是还没有动身呢,爸爸就到家了。这是怎么一回事呢?”②“一对孪生姐妹,姐姐先出生,但年龄小一岁,妹妹后出生,年龄却比姐姐大一岁。你知道出现这种奇妙情况的原因吗?”这样一来,学生就会带着强烈的好奇心来听老师讲课,并把这种兴趣转化为内在的学习动力。
二、创设情境,提倡探究教学
所谓设置“问题情境”,就是在教材内容与学生求知心理之间创造一种“不协调”,把学生引入一种与问题有关情境中的过程,这个过程也就是不协调―探究―发现―解决问题的过程。
在地理教学中,教师不要急于把现成的知识硬灌给学生,而要善于启发学生,帮助他们提高分析问题和解决问题的能力;要善于联系新旧知识间的相似点和不同点,引导学生充分利用已学知识探求新的知识;要根据教材内容和学生的认识水平,尽可能地创造条件,使学生通过观察、分析、总结,形成概念。如在讲述北美气候时,笔者首先要求学生阅读教材插图,然后设问:“北美与欧洲西部纬度相当,欧洲西部的气候表现了海洋性的特征,而北美却普遍有大陆性特征,为什么?”学生只有通过比较、综合,才能得出确切的回答。当然,教师的提问不要过于频繁,如果把“弦”绷得过紧,而不让学生有思考回旋的余地,急于点“将”,让学生仓促上阵,就很可能“卡壳”,从而影响学生的学习情绪。
应当强调,在地理教学中还要充分地显示教师和学生思维活动的全过程。学生的创造性思维无疑是通过教师的激励(讲述)来显示的。因此,关键的问题是,教师应该讲什么?而学生的思维过程又是通过对教师提问的回答来显示的。如教师提问:“我国某大河流域,五月初曾连续多天降雨,引起河水猛涨,使流域内两个省区的水稻、甘蔗的丰产受到威胁,请你想一想,某大河指的是哪一条?降水属于哪一种形式?”在学生作出正确回答之后,教师可进一步追问:“这个问题你是怎么推导出来的?请你给大家讲一讲。”当学生的思维活动遇到了障碍,教师可问:“你卡在什么地方?”最后,通过教师和其他学生的分析、回答来予以解决。这种教法,形式上只问一个学生,但对其他学生的创造性思维同样产生激励作用。
三、打破“思维定势”,鼓励学生标新立异
在地理教学中,教师如果把学生的思维束缚在教科书的框框内,不准他们越雷池一步,那么只能使学生的思维活动处于一种“休眠”状态,扼杀学生的首创精神。如何使学生认真学好前人的知识,既不受其拘束,敢于另辟蹊径,又能言之有理,这就必须鼓励学生标新立异,打破“思维定势”,从而发现新问题,提出新设想。但是教师应该注意,对学生的问题要推迟判断,避免武断,过早地下结论或向学生预示解决方法,都不利于创造思维的培养。即使学生把答案搞错了,教师也不必大惊小怪,要善于区分“笨拙的错误”和“创造性的错误”,后者往往是成功的先导,应当引起教师的重视。有位老师讲高中地理“生态系统”时,有学生问:“假若生态系统中没有微生物起作用,地球上还有没有生物?”尽管这位老师始料未及,但对学生敢于提问的作法予以了肯定,并要求同学们就此展开讨论,促使学生形成一种特殊的求异心理状态,鼓励学生深刻回味,大胆设疑,细心思考,据理力争。
在地理教学中,教师还要充分运用“变式”教学,克服学生孤立思考问题的习惯和消极定势的影响,即对同一事物要善于从不同角度用不同方法进行揭示。同时,教师所提问题也要有较大的内涵,要多提需要从不同思路去考虑的问题,以利于学生进行扩散思维,使学生产生尽可能新、尽可能多、尽可能是前所未有的独创的想法、解法、见解,例如:“假如采用人工融冰化雪的方法促使天山冰川大规模消融以解决新疆的干旱问题,采用大规模的南水北调方法解决华北地区的缺水问题,你认为这对人类的环境将会产生哪些影响?”“假如地球自转的方向是自东向西,那么恒星日和太阳日哪个大?”“假若黄赤交角为零,地球上将会产生哪些地理现象?”等等,所提问题的用意均是促进学生广开思路,突破“常规”,形成创见。
四、“授人以渔”,培养学生自学能力
我国古代早有“授人以鱼,只供一饭之需。授人以渔,则终生受用无穷”的至理名言,这就告诫我们:教师不仅要使学生掌握教学大纲规定的基础知识和基本技能,更要教给学生独立探求、索取知识的方法。
学习地理,掌握内容是其一,掌握方法触类旁通是其二,后者就是一种能力。有了这种能力,学生就会善于从教师的讲解中捕捉瞬息即逝的问题,就会变被动接受为主动探索,去掉教师的“拐棍”也能够“走路”。因此,在地理课堂教学过程中,教师要有目的、有计划地将分析、综合、比较、概括、归纳、演绎等方法传授给学生,并在教学中作出示范,让学生根据课题要求自己读书读图,独立作笔记,并展开对事实材料的分析、整理,作出新的判断和推论,从而发展学生的创造性思维。如果地理教师都能把金钥匙交给学生,让他们自己去开启知识的大门,发掘知识的宝藏,那么学生的积极性将会空前高涨,学习效率将大大提高。
在教学中,教师要大胆创新,探索更多有效地培养学生创新能力的方法,使学生能够并且善于运用创造性思维,全面提高综合素质,为社会作出更大的贡献。
一、追本溯源,培养兴趣
兴趣是诱发学习动机的有效方法,兴趣对发展智力有不可低估的作用,爱因斯坦说 “兴趣是最好的老师”。如果一个学生对学习内容没有兴趣,那么他的学习就十分困难,老师对他的教育也就显得苍白无力。要提高学生的学习兴趣,首先要弄清其不爱学习的原因,才能制订有效的教学方法。丧失兴趣的原因大致有: 1.兴趣转移到其他方面;2.基础太差,导致听课听不懂,作业长期不做或者不会做,最后形成了一个破罐子破摔的局面;3.同任课教师发生了矛盾,或者不太喜欢某任课教师,导致不学该教师所讲的内容;4.家庭环境或者班级环境、同学环境或者朋友环境的影响等。针对这种种原因,宜采取一些有效的措施,从根本上对学生予以转变,否则课堂教学的有效性也就成了一句空话。
学生数学差,最主要的原因是对数学不感兴趣,长期形成恶性循环。兴趣是学习入门的向导,是激发学生求知欲、吸引学生乐学的内在动力。有了良好的开端,就是成功的一半,作为数学教师,不妨多思考一下如何增强数学课的趣味性,最大限度地调动学生参与学习的热情,使课堂气氛融洽、活跃,对于后进生,教师还要多了解,多挖掘他们的积极因素,多给他们表现的机会,充分调动他们的积极性,相信他们也一定能学有所成。
二、巧设提问,化解障碍
课堂提问是组织课堂教学的重要手段,是实施启发式教学的一个重要环节。教师在创设问题时,应考虑学生生活的环境,尽量从学生的实际出发。提出的问题要具有一定的难度。有难度的问题才能激发学生认知上的冲突,才能够体现问题的价值,同时问题的难度要适中,尽量把问题落在学生的“最近发展区”,即学生的现实水平与潜在水平之间的区域,这样的问题才能充分调动学生原有的认知,使学生在课堂上处于思维活跃的状态,激发探究欲望,拓展探究空间。一个好的提问,不仅能激发学生的学习兴趣,而且能迅速集中学生的注意力,启迪思维、开发智力,同时化解学生解决问题时的障碍。
解应用题对一部分学生来说是比较困难的,列方程解应用题更是难上加难。所以第一个提问看似简单,甚至感觉无提问的必要,但实则非常巧妙,因为提问得当可以减轻学生的惧怕心理,增强学习的信心。接着,学生通过一系列小问题的思考并逐一解决,在进一步增强学习信心的基础上,构建解决这类问题的模式。因此,巧设提问,可以较好地发挥教师的主导作用和学生的主体作用,调动学生参与课堂教学的积极性,增强教学有效性。
三、语言幽默,营造氛围
为提高课堂的有效性,教师要把自己培养成为有效教师。吸引学生的注意是有效教师的首要条件。为此,教师应该做到对学科知识非常渊博,旁征博引、信手拈来;了解学生的注意力特点,意识到学生的差异性;能够作为学生学习的合作者,营造友好、和谐的学习氛围,幽默风趣,让学生保持轻松活泼的心情,精神饱满,富于激情。
学生喜欢幽默的教师。实际上,我们每个教师,都希望自己成为一名幽默的教师。但并不是每个教师都会幽默。有些教师可能抱怨说,“在生活中我就是一个不会幽默的人,你叫我如何在课堂上幽默呢?”这就要求教师要善于积累使自己变得幽默的材料。阅读有关幽默和笑话的书籍,把实际生活中能够运用的记下来。另外,多看优秀的小品、相声演员的表演,可以向他们学习一些幽默的语言和方法。在生活中,现实情景也可以生成许多幽默。在讲课过程中,有时故意说几句错话,写几个错字,也可能产生幽默的效果,缓和学生学习的紧张气氛,拉近和学生的距离,清除疲劳感,使学生的学习兴趣倍增、情绪高涨,进入一种较高的学习意境。
四、引导发现,注重探究
发现学习是学生通过自己发现知识形成的步骤,以获取知识并发展探究性思维的一种学习方式。美国著名的教育心理学家布鲁纳大力倡导发现学习,他认为发现学习,不仅向学生传授学科结构的知识,而且培养学生探究问题的精神、独立解决问题和预见未知的能力。所以,在教学中,应该尽可能组织学生发现学习。例如,笔者在教学生学习多边形内角和时,首先让学生从三角形、四边形、五边形、六边形开始发现、探究,最后学生终于发现了多边形内角和的规律是(n-2) ×180°。通过分图活动以及师生的共同探究,让学生感受到一种研究问题的一般方法――从特殊到一般,及数学的转化思想。故此,在教学时,教师一定要掌握知识发生的渊源,尽可能给学生创造发现学习的机会,来培养他们探究的习惯 。
五、精讲精练,提高效果
“紧课内,轻课外”是减负工作中人们常提的话题,但“紧课内”不等于胡子眉毛一把抓,不等于面面俱到;“轻课外”也不是不给学生练习做,所以笔者认为精讲精练才能真正做到“紧课内,轻课外”。
所谓精讲,就是在全面把握知识的前提下,注意详略得当,突出重点、突破难点,充分调动学生的积极性。精讲主要是对概念、定理、例题、重要习题而言。教师要应积极引导学生参与知识的发生过程,让学生在独立的思维活动中探求知识;积极引导学生理解掌握概念的内涵外延和定理的题设结论以及它们的变形和应用;积极引导学生挖掘知识中隐含的数学思想。另外,教师要坚持因材施教的原则。针对各类学生的知识水平和能力水平,精心设计不同的教学目标,制订不同层次的学习要求,布置不同的巩固练习,使他们学有所得,不断进步。
(一)速读与精读相结合的阅读方法。
自读文在一般情况下,安排的课时少,通常是一节课或不安排课时,要想在短时间内捕捉所学信息,必须加强速读能力的训练。速读就是要求学生在阅读课文时只摄取主要信息,对次要信息有所忽视。只要能抓住揭示主题的文字与段落,快速了解文章全貌,如主要事件、人物、观点等,学生就能快速而准确地完成学习任务。
在速读的基础上再进行精读,精读时需要理清文章层次,弄清重点段落,紧扣重点段进行分析和揣摩。运用讲读课得到的学习方法去体会文章重点,概括知识点,揣摩阅读规律,注意理解关键句子和词语的深层次含义以及写作上的独到之点。这样速读与精读结合,不但能快速完成自读任务,而且也能培养学生的自读能力。
(二)梳理归纳法。
完成自读文教学任务,必须要有讲读的基础。美国著名心理学家杰罗姆·S·布鲁纳认为,教学的任务,不仅应使学生掌握学科的基本知识,还应重视发展学生的智力。他指出:“不论我们选教什么学科,务必使学生理解该学科的基本结构。”所谓基本结构应是事物之间的相互关系和规律性。如在讲读的基础上,让学生掌握语文课本的基本内容是通过不同的文学样式反映客观事物这一规律,之后又让学生基本了解反映客观事物的主要方式有:记叙、说明、论说。就记叙文而言又包括:记人、记事、写景、状物。这样就能理清课本内容形式的体系。在此基础上,发挥单元教学的优势,使学生理清单元课文的一般规律,根据单元内容列出知识点,梳理单元内的相似系统与类别,通过学几篇文章梳理出同类文的共性。如记叙文中无论记人、写景、状物都要抓特征。通过找一类文的规律特点来体会本篇课文与同类文的方法规律特点。如:第二册里的第七单元的五篇课文(《荔枝蜜》《小麻雀》两课是讲读课文,《猫》与《挖荠菜》是自读课文,《榆钱饭》是练习课文),在表现手法上都是运用托物抒情方法,在线索上都是以对小事物的感情变化为线索,在写作目的上,都是通过对具体事物的叙述揭示一个哲理,教师讲读前两课时,由具体到抽象,引导学生梳理归纳出这三条规律性的知识,学生自读其余课文时有了自学入门的钥匙,触类旁通,举一反三,很容易自学成功。
(三)比较阅读法。
在学生梳理归纳的基础上,教师要善于引导学生对相似课文作详细的解剖分析、比较。如《蜘蛛》、《春蚕到死丝方尽》、《巍巍中山陵》、《海光》都同属第三册第二单元,其相同点都是抓住事物特征来说明事物道理的,都用了平实说明和生动说明的方法,但说明顺序不同。《蜘蛛》是从多方面说明事物特征的,《春蚕到死丝方尽》是按蚕生长过程说明的,这两课都是对生物习性的说明,而《巍巍中山陵》是按空间顺序说明的,是对静态建筑物的说明。《海光》是对动态事物并以小标题形式按逻辑顺序来进行说明的。在梳理归纳基础上进行比较阅读,就能使学生在比较中学会鉴别,在鉴别的基础上提高阅读能力,发展思维能力。
(四)目标阅读法。
美国当代著名心理学家B·F斯金纳提出的“小步子”的原则,他认为在教学过程中要把教学内容分解成前后联系的一连串的小问题,并要使相邻的每两个问题之间的坡度不陡,这样,学生学习起来困难就不大,如同迈了一个“小步”,容易掌握。教师把学期教学内容分成几个单元,在每个单元里再确定明确的教学目标,再划分识记、理解、简单运用、综合应用和灵活应用等不同程度的具体目标,可根据学生的不同层次下达各自能达到的目标,让学生在“自读文”中进行达标阅读,这样能充分发挥每个学生的积极性。
(五)边读边思法。
前苏联当代著名教育家瓦·阿·苏霍姆林斯基十分重视发展学生智力。他认为“智育的主要目标是发展智力”,“学生的主要智慧努力不应该为用在记忆上,而应当用在思考上”。很多学生读书只“读”不“思”,不会边读边思,多读多思。课堂上往往是教师自己的思维、好学生的思维代替了大多数学生的思维,因此,在自读文中要调动学生学习的积极性,使学生成为学习的主人。要训练学生以自学提示和学习重点为指导,以课后练习为思读线索,在边思边读中,逐渐养成独立解决问题的习惯,提高分析和解决问题的能力。
实践证明,只有根据自读文课型的特点来授以科学的自学方法,帮助学生掌握自学规律,积累自学经验,打好自学基础,才能达到自读文教学的理想效果。
但是,作为课内自读文就要体现课堂的教学形式,自读文课堂教学形式主要靠导读来体现,课堂上既不能放任自读,又不能面面俱到的讲授。要使学教结合,彼此作用,达到“教是为了不教”的目的,就必须抓住导读设计的契机,因为科学的设计导读是自读文教学成功的保证。
二、“自读文”导读设计的几点思考
(一)导读的设计要起到“牵一发而动全身”的作用。
自读文导读的前提,训练的关键在于把握课文的知识点。要依据大纲和教材特点设计问题,使问题的设计具有可思性、可辨性、可学性、可考性,是全文的精要处。例如《美猴王》一文可设计这样一个问题:你喜欢美猴吗?为什么喜欢?你认为美猴具备哪些做王的条件?这个问题牵动了全文的主线,学生从美猴入洞前后的表现中很容易找到答案。在寻找答案过程中,训练了学生思维的周密性,调动了学生参与学习的积极性,在参与学习中潜移默化地受到思想教育,从而实现了导读目的,达到导读要求。
(二)导读设计力求“因势利导”。
有经验的教师,驾驭教材能力强的教师很善于因势利导的设计问题。例如《怎样写读书笔记》一文可让学生以读带练,以练带读,读练结合,既完成阅读任务,又能达到理论联系实际的效果。如《画蛋,练功》一文可设计从《画蛋,练功》谈成功的问题。这样根据教学自读文知识点,因势利导地设计问题,不仅突出自读重点,也强化了自读重点。
(三)导读的设计力求提出引起争议性的问题。
在学生充分阅读的基础上,调动学生参与学习的热情,提出能引起争议性的问题,或在无疑之处提出疑问,或对传统观念进行批判,这无异于向一潭死水投一石子,必激起学生参与欲望,掀起课堂的波澜。如:《干将莫邪》一文,在学生充分阅读原文基础上可提出这样的问题:干将之妻莫邪在故事中起什么作用?为何莫邪的名字要与干将并列?一般学生对课文理解限于表面,认为莫邪在情节上起过渡作用,是引起以后人物和情节的联结点,她的名字与干将并列只能起到陪衬作用,没有分析必要。但通过争议,从故事里人物关系的分析中,学生会得出很有深度有质量的见解。莫邪虽在故事中没有惊人之语和惊人之举,但她嘱儿实现父亲遗愿,命儿报杀父之仇,显然儿从母命后凶多吉少。莫邪已经痛失丈夫十几年,又要舍出含辛茹苦养大相依为命的儿子,面临抉择,她忍痛割爱,宁忍今后孤寂无依之苦,也要报杀夫之仇,忍离子之痛也要铲除暴君。干将之妻莫邪铲除暴君的决心和牺牲精神,不也足以惊天地泣鬼神吗!不能不说莫邪也不失作者笔下的一除暴巾帼。她的名字与干将并列是当之无愧的,决不是人物陪衬而是作者匠心所在,是表现中心不可缺少的部分。
这样,通过争议不仅能有效地强化教学内容达到教学目的,而且也能提高学生分析、议论、鉴赏文章的能力。
(四)导读的设计应有利于提高学生的想象力和联想力。
有经验的作家一向强调作品的含蓄性,在他们的作品中,往往给读者留下一些艺术空白,“意不浅露,语不穷尽”,以便给读者以想象和再创造的机会。如《干将莫邪》一文可以设计这样的练习,试根据故事情节编写莫邪嘱儿实现父亲遗嘱前后的心理和行动语言描写。这对于提高学生想象力和联想力无疑是有益的,对自读文的理解也起到了深入强化作用。
这样,教学人员根据自己积累的教学经验调动自己的教学机智,以提高学生语文能力为宗旨,根据自读文的特点、大纲的要求、教材的知识点,进行恰当、灵活、科学的导读设计,从导读设计中探索导读“自读文”的途径,这是教好“自读文”的关键。
1、程序设计是中学生计算机课程的基本内容吗?
2、必须“尽快终止”程序设计的教学吗?
最后提出了作者的看法:“中学计算机课程要以基础性知识和技能性操作为主,程序设计是更高层次的学习内容” 。在时间和学生的接受水平允许的情况下应该并尽可能早地在计算机课中安排一些程序设计内容,但内容和深度要根据不同年龄的学生认知特点做精心的安排。
当前关于中小学计算机课程设置的一个争论焦点是计算机课程中要不要有“程序设计”的内容,如果有,应该要求到什么程度?下面我们专门来讨论这个问题。
一、澄清几个概念
1. 计算机语言≠程序设计语言
在一些教师的脑中和普及计算机知识的书中,常把这两个概念混为一谈。例如一本全国范围发行的计算机普及读物中写道:“为了和电脑交流信息,也要通过语言,……,由于电脑语言就是用来告诉电脑按次序干什么事情的,所以电脑语言又称为程序设计语言。”可见这个问题不是个别人的问题,而是带有普遍性的问题,必须加以澄清。
什么是计算机语言?“①狭义的指计算机可以执行的机器语言。②广义的指一切用于人与计算机通讯的语言。包括程序设计语言,各种专用的或通用的命令语言、查询语言、定义语言等。”[1]现在一般采用后一种说法。
什么是程序设计语言?“泛指一切用于书写计算机程序的语言,包括汇编语言、机器语言,以及一般称为高级语言的完全符号形式的独立于具体计算机的语言。”[1]
上面两段引言很清楚地说明了计算机语言与程序设计语言之间的区别和联系。计算机语言是外延较大的概念,程序设计语言只是计算机语言下的一个属概念。“我们和计算机打交道,就要用计算机语言”这句话是对的,但用计算机语言与计算机打交道,不一定要用程序设计语言。我们用DOS命令,就是在用计算机语言棗命令语言;我们用鼠标单击某一图标,让计算机执行某一操作也是一种计算机语言。但它们都不是程序设计语言。当然这些命令语言,最后都要翻译成机器语言去执行,但这是计算机内部运行机制的问题,绝不能以此为理由把这两个概念混为一谈(否则也不用区分机器语言、汇编语言和高级语言了,因为它们最终也都要翻译成机器语言)。
弄清了这两个概念的不同,一些说法的正确与否也就不言自明了。例如有人说:“人们交流要通过语言,人要和计算机打交道,也要通过语言,所以要使用计算机必须学习程序设计语言。”前半句话指的是计算机语言,而后半句话指的是程序设计语言,由于“偷换”了概念,推理不合逻辑,结论也就不可靠了。当然说这句话的人,我相信绝不是有意的诡辩,而是由于概念的混乱,自己欺骗了自己。 我们使用计算机,和计算机打交道,一定要学习计算机语言。我们学习DOS命令,学习Windows操作,就是学习管理计算机资源的语言。我们学习某种应用软件的操作,也是学习计算机语言。总之,我们在学习计算机知识的过程中一直在学习计算机语言,一直是通过计算机语言和计算机打交道,但这不是程序设计语言。也就是说,学习使用计算机,一定要学习计算机语言,但不一定要学习程序设计语言。
2. 学习程序设计≠学习程序设计语言
在讨论中另一个模糊的概念是把学习程序设计和学习程序设计语言混为一谈。
我国著名的科学家马希文教授写道:“用一串符号把一个计算机过程描述出来,就是一个程序。……要制定一些严格的规则,以确定什么样的符号表示什么样的程序。这些规则的总和就叫做一种语言。”[2]
马希文教授又接着写道:“一个完整的程序设计过程大体有以下几个步骤:(1)要把程序的功能描述清楚。……(2)用程序语言把预定的计算方案书写出来。这是程序设计中最有特色的部分。简单的计算可以直觉地进行程序设计。复杂的计算往往可以由简单的程序按照各种模式搭配而成。然而,却没有一种机械的办法可生成各种程序,换句话说,程序的设计是一件具有创造性的工作。(3)证明程序的正确性。……(4)在实际工作中,试算和修正是不可缺少的。” [2]
从上面两段引言中可以看出,语言是“严格的…规则总和”,我们学习一种程序设计语言,就是学习这种语言的规则,即学习语法、语义、程序及其他一些规定。这里涉及的是严格的定义,严格的书写方法,没有任何的创造性可言(一个字母一个标点都不能错)。而学习程序设计是学习“设计过程”,内容主要是描述功能、书写方案、证明正确性和试算和修正。程序设计“是一件具有创造性的工作”,两者有着根本性的区别。 当然学习程序设计一般应选用一种语言作为工具,学程序设计就必须学程序语言,学习时两者是不可能绝然分开的。但问题是各自的地位是什么?以哪个作为重点?我们中小学的教学目标是什么?是让学生掌握一种程序语言呢?还是把程序语言作为一种载体,一种学习程序设计的工具,而把教学目标和重点落在程序设计的思想方法上?这就是当前计算机教学中的带根本性的分歧点。目前很多计算机教师在进行程序设计教学时,往往把很大的精力,甚至是主要精力放在语法和语义上,他们不自觉地把程序设计的课上成了“程序语言”课,违背了我们的教学目标,原因就是没有真正区别清楚程序设计和程序语言这两者之间的不同。
二、程序设计是中学生计算机课程的基本内容吗?
1.一部分人明确地提出计算机课中必须有程序设计内容,理由是“它是计算机学科的核心内容”。这里涉及到两个问题,一是程序设计是否是核心内容;二是中学计算机课程是否应该按计算机学科专业要求来设置内容。
对于第一个问题,在大学计算机本科教学计划《计算机教学计划1993》中列出了计算机学科主科目有九项,而“程序设计”仅是其中一项[3]。为什么在9项中只选择了“程序设计”这一科目为核心科目?为什么不选其他科目?理论上和实践上的根据是什么?
对于第二个问题早有定论,中学是基础教育不是专业教育,课程应该主要根据社会的需要来设置,同时考虑学生的接受能力和学科本身的需要。提出上述看法的人,不自觉地受到了“学科中心论”的影响,其理论基础就是错误的,因此论点也就不能成立。
2.有人认为,选“程序设计”内容是因为它可以培养学生的“分析问题和解决问题的能力”。这个论点在一定条件下说是正确的。我国十几年来在国内外计算机程序设计竞赛中,涌现出大批的优秀人才,这些学生的分析问题和解决问题的能力,通过程序设计锻炼确实有不同程度的提高,他们进入大学后的表现也证明了这点。 但研究任何问题不能脱离实际抽象地论证。我们这里谈的不是竞赛,不是少数优秀学生的课外活动,而是全体学生都要学习的计算机课程,即素质教育。目前我国计算机课一般在高一开设,总共只有60-70学时。在这几十学时内要学习计算机基本知识、基本操作,还要学习应用软件的使用以及操作系统的初步知识。这样留给学习程序设计的时间至多只有30多学时。在这样少的课时内,能学多少程序设计的内容?全体学生能达到什么水平?分析问题和解决问题的能力能有多大提高?根据笔者十几年的教学实践,至少需要40以上学时大部分学生才能学会初步BASIC程序设计,80以上学时才能进行真正的程序设计(算法设计),这时候才能真正谈及能力的提高。
另外,我们这里讨论的不是一些小问题,而是涉及到国家政策的制定,关系到千百万学生的大问题。因此结论必须有比较可靠的理论和实践根据,只凭个人直觉和的经验是不够的。提出这一结论的人能拿出什么比较可靠的科学的依据证明这一点?目前我们还没有看到。而国外一些实验却对这一假设作出了否定性的结论。美国的玛霞·林和她的同事在1985年的一份报告中表明,“在普通学校,学生在学习程序设计语言时,一般能力是重要的。能力低的组,最后程序设计语言成绩评定也低。能力高的组,最后成绩也高。”[4]美国银行街的柯兰德等人的报告也指出:“要成为程序设计的专家,至少要有500小时以上的上机时间,而大部分只有10-12台微机用于程序设计课的学校,上机时间很少,即使一些学生家里有计算机,对他们最后程序设计能力的测量,效果并不显著。”[4]虽然我国与美国相比有很多特殊性,美国的结论不能照搬到我国来,但还是有很大参考价值的。 因此,在较短时间内的程序设计课,能否使大部分学生的分析问题和解决问题的能力有所提高,仍是需要研究的课题。
3.有人提出学生学习BASIC程序设计目的是为了使他们懂得“计算机能做什么,是怎样工作的?”
这句话如果是在70年代或80年代初讲的,有一定的道理,因为那时计算机软件还很不丰富,使用计算机解决问题,大多数情况下还必须使用者自己编程。并且在编程时必须了解计算机的软硬件结构和工作过程。但在计算机的软、硬件的功能、数量和质量极大发展的90年代,还拿来作为学习程序设计的主要理由,似乎有些过时了。目前在简单的BASIC程序设计和具有强大功能的应用软件之间已产生了一道鸿沟,两者之间差距非常大,要通过简单的BASIC程序设计学习来了解现代计算机系统的功能,犹如“瞎子摸象”。在应用软件中表现出来的一些计算机能力,在简单的BASIC程序设计中很难得到。例如文字处理软件中的块操作和排版功能,超文本链接功能,在简单的程序设计学习中就很难体会到。反之,通过应用软件学习所能了解的计算机功能却大大超过简单程序设计中的功能。例如应用软件中的打印功能已大大超过BASIC中PRINT(打印)语句所能了解到的功能;输入功能也大大超过INPUT语句所能提供的信息。
马希文教授也早就指出:“我们研究程序设计时,可以选用一种适当的语言。这样,我们就可以只研究用语言书写的程序,而不去过问这种程序在具体计算机上到底是怎样实现的。从这个意义上说,语言就是一种抽象的计算机。”[2]也就是说学习程序设计,特别是高级语言的程序设计,了解的是抽象的计算机。什么是“抽象”?抽象就是“从许多事物中,舍弃个别的、非本质的属性,抽出共同的、本质的属性。程序设计中的抽象,马希文教授在上面这段话中已说得很明白,即“只研究用语言书写的程序,而不去过问这种程序在具体计算机上到底是怎样实现的。”。既然舍弃了“在具体计算机上是怎样实现的”内容,怎么能通过程序设计来懂得“计算机能做什么,是怎样工作的”呢?
当然上述说法在一定意义上还是有可取之处。一个计算机系统可以被看作是由硬件和软件按层次方式构成的,每层表示一组功能和一个接口。每一层都在一定深度和范围反映计算机系统的功能和工作状况[5]。学生们学习应用软件的知识和操作只是从最高层面上了解计算机的功能和工作状况。而学习程序设计则是从更深一层面,即语言处理层面来了解计算机的功能和工作状况。因此我认为如果上述说法改为“学习程序设计是从更深的层面,从语言处理的层面上了解计算机能做什么,是怎样工作的。”就无可非议了。
三、必须“尽快终止”程序设计的教学吗?
1997年国家教委收到了两封信件,一是联合国(UNDP/CPR)首席技术顾问大卫·艾伦写的;另一封是纽约市立大学约克学院传播技术级电脑中心主任黄哲操写的。信中他们对我国的计算机教育事业提出了很多好的建议,但也以美国为例对我们发出了警告:“尽快终止中小学作为普遍的教学要求的计算机语言课”“如不彻底改变方向,一切证据表明中国中小学计算机教学将面临最大的灾难。”
对于这样严厉的警告,我们应如何看待?当然应当认真地研究他们的建议和批评,吸取其中有用之处。但我认为,最了解中国的是我们自己,中国和美国相比较,在经济发展上,在文化传统上有很大的差别。在美国是好的经验,在中国不一定是好的;在美国行不通的、失败的办法,在中国可能会成功。我们已经有了十几年的计算机教育经验,我们必须根据我国的国情,来决定我们的政策。
我国的一些教师也有以上类似的看法,他们认为:“计算机学科没有必要学习程序设计,只需要学习计算机操作方法和一些社会上流行的软件使用就可以了。”而且还提出了“一些学生在学校学习了程序设计,到社会上完全无用,仍需从头学起”的说法。 由于计算机信息技术的发展,大量的软件涌现,计算机处理各种信息的速度和功能大大提高,一般的应用都有现成的软件,不必要自己编程。因此上面看法有其正确的一面。过去的计算机课教学,由于各种原因以BASIC语言教学为主,忽视和根本没有实际操作和应用软件的使用。不论是中学还是小学,不论是普通中学还是职业高中,无一区别都是一个模式。因此在一定程度上造成了学非所用的结果,特别是对准备毕业后立即就业的那部分学生。
但上述说法从基本点上、从理论上说是不正确的。首先,这种说法指导思想是受了“社会中心”论的影响,即当前社会上需要什么就学什么,是一种急功近利、实用主义的做法。
我们不反对从社会需要出发来考虑课程的设置,不但不反对,而且要提倡。我们也不反对学习一些实用的应用软件,而且赞同在新教材中增加一些应用软件的内容(我个人认为,在初中的计算机教材中,实用部分可以占全部内容的 70%到 80%)。但在这里,我们和持这些观点的人有一个根本上和原则上的区别:我们不但考虑社会当前的需要,而且更注重社会长远的需要。我们不但着眼于学生当前学习和就业的需要,更注重学生将来的学习以及终生教育的需要。出发点不同,在内容的选择上,在教材的安排上,以及在教法上,就会有根本性的区别。 上述观点第二个错误是混淆了不同教育的性质。普通中小学教育是素质教育,它与职业教育不同。上述观点把素质教育与就业教育等同起来了。
就是职业教育,上述观点也是不完全正确的。我们教给学生的不仅仅是知识和技能,而更重要的应该是能力。这就不能是“知其然,而不知其所以然”。不懂得汽车的基本原理也能开车,但绝不可能成为一名优秀的驾驶员。同样道理,如果只会一些具体应用软件的使用,不懂得有关的基本原理和知识,就不可能很好地使用计算机,成为一名优秀的计算机应用人员。我很赞同下面一段很有哲理性的话:“必须坚持技术基础教育和实用技术教育兼顾,... 如果不进行技术基础教育,就缺乏后劲,难以掌握高技术;如果不学习当地的实用技术,就不易起步,难以把最基本的科学技术运用于生产,把可能的生产力转化为现实的生产力。……按照布鲁纳的知识迁移理论, 扎实的技术基础教育,有利于学生去掌握实用技术,起到举一反三作用;良好的实用技术教育,有利于扩展和提高技术基础教育,起到触类旁通的作用。”[6]而且将来的社会职业的变动将是很频繁的,一生中职业变动四五种是常事。这就更要求我们的教育从学生的长远着想,注意基础知识的教育,注意能力的培养。
四、程序设计方法尽可能早学习
我认为计算机课程还是应该安排一些初步的程序设计的内容,而且越早越好。为什么要安排一些初步的程序设计内容?我的理由与上述的几种不同。
第一个理由是,计算机学科有于其他学科很不同的特点。关于这一点,当代著名的计算机科学家唐·依·克努特(D.E.Knuth)在他的巨著《计算机程序设计技巧》中有很精辟的论述。他写道:“能把问题的解法表达成计算机能够‘理解’的一种明显形式(这些机器没有普通的感觉;它还不会‘思考’。但它能准确地不折不扣地去做让它做的事情。当一个人初次试图使用一台计算机时,这是最难以掌握的概念)。”[7]。但是这个“最难以掌握的概念”又是真正学会使用计算机所不可缺少的。怎样来掌握它呢?经验告诉我们,学会计算机的初步操作,学习一些应用软件的使用,能初步了解这个概念。但是要真正理解和掌握这个概念,学习程序设计是一个较好的途径。程序设计要建立数学模型,要进行算法设计,这些就是克努特所说的“把问题的解法表达成计算机能够‘理解’的一种明显形式”;在用计算机语言进行编程时,就要了解有哪些语句,它们的功能的什么。这些实际上就是了解计算机“能准确地不折不扣地去做让它做的事情”。
第二个理由前面已说及,即学生们学习应用软件知识和操作只是从最高层面上了解计算机的功能和工作状况。而学习程序设计则是从更深一层面,即语言处理层面来了解计算机的功能和工作状况。
第三个理由是程序设计虽然不是计算机科学核心课程,但它是一个基础课程。计算机学科的其它课程,如操作系统、数据结构等,除学习一些理论外,很重要一项就是在计算机上实验,这些实验大部分要编程序,也就是要会用一种计算机程序设计语言编制相应的程序。所以大学计算机专业都把学习一种程序设计语言作为基础课程之一。如果在中学就给学生打下这方面的基础,就有利于学生今后的继续学习。那些在中学已学会了程序设计的大学生回来的反映,很清楚地证明了这一点,我们的基础教育任务之一是为高一级学校培养后备力量,也为学生将来进一步深造打下良好的基础。在中小学打下程序设计的基础,有利于他们进入大学的深造和就业以后的继续教育。
为什么要“尽可能早学习”呢?在计算机普及工作中,很多教师都有这样一种体会,只要内容和教法适当,程序设计入门,初中学生比高中学生容易,甚至高年级小学生比初中学生容易,最困难的是成年人(这里不是针对个别人,而是大多数人来谈的,即从统计的角度来谈的)。这种“怪”现象如何解释呢?
根据现代认知心理学的理论,人的头脑中的知识,不是杂乱无章地或简单地存储着的,而是有一定的结构,即认知结构。学习就是科学的逻辑结构和人的头脑中的认知结构之间的矛盾和转化。“当儿童认识一种新事物时,总是先用原有的图式(即认知结构)去同化(即把新知识纳入原有的认知结构中),如获成功,便得到认识上的平衡,否则就进行异化,调整原有图式或创造新图式,直至取得新的平衡为止”[8]。
程序设计是一种新的知识结构,它与其他学科的结构,如数学知识结构、物理知识结构等,有很大的区别。唐·依·克努特的论述中提到“这是最难以掌握的概念”,为什么“最难以掌握”?就是因为这种知识结构与以往人们学习的知识结构有很大的不同。
因此当一个初学者学习程序设计时,在把这种新的知识结构纳入自己原有的认知体系中(同化)时,由于结构差别太大,就会遇到原有结构的“顽强抵抗”,必须创建新的认知结构。而在这种新的认知结构的创建过程中,如果原有的认知结构越牢固,创立就越困难。一般地说,年龄越大认知结构就越牢固,越不容易改变。这就造成新的结构建立成人比高中生困难,高中学生比初中学生困难的现象,而小学生头脑像一张白纸,最容易接受新的东西。
从上面的分析,可以得出这样一个结论:尽早地学习“程序设计”这种知识,就会减少进一步学习的障碍。当然这种“程序设计”知识结构对于不同年龄的学生,它的内容多少,它的复杂程度的高低应该是不同的,应该有层次、有区别的。
1994年,联合国教科文组织(UNESCO)委托国际信息处理学会(IFIP),编写了指导世界各国计算机课程设置的文件《中学信息学课程》。其中有一段话,对于我们每个从事计算机教育的人会很有启发。现摘录如下:
“这里所指的程序设计非技术性的程序设计,更确切地说应该是把‘你自己做的事情’转变成‘别人能做的事情’。这就要求能详尽地描述完成任务的过程,以便其他的人或其他的设备能准确地重复这一项工作。
这种完成任务的‘自动化’就被称作程序设计,有时也称作算法程序设计──信息学的一个重要特点。当使用复杂或先进的软件工具(如电子表格、数据库管理系统、操作系统,甚至文字处理系统)时,用算法的思想来思考或解决问题是必要的。
程序设计是帮助学生获得解决问题经验的一种快速、明确而适合的途径,教学的目标不是培养‘小型的程序员’,而是使得学生能用程序设计的方式进行思考。本着这个思想,在学习过程中只要掌握‘必须了解’的,至于程序语言中的独有的特点和假设就不是很重要了。教师必须强调解决问题的方法,程序设计只是实现这个目的的一种手段。”[9]
儿童心理学中有一个“关键年龄”的说法,即在儿童发展的过程中,某一种技能或能力在某一特定时期最易获得,最易形成,如果错过这个时期,效果就会差些。例如2-3岁是学习口头语言的关键年龄,4-5岁是开始学习书面言语的关键年龄等。[10]那么,儿童青少年学习“程序设计”的关键年龄是在哪个时期?这是值得心理学家和计算机教育专家研究的课题。
五、初步结论
在中小学计算机课程中究竟要不要安排“程序设计”的内容?我完全赞同《指导纲要》的提法:“中学计算机课程要以基础性知识和技能性操作为主,程序设计是更高层次的学习内容” [11]。在时间和学生的接受水平允许的情况下应该并尽可能早地在计算机课中安排一些程序设计内容,但内容和深度要根据不同年龄的学生认知特点做精心的安排。
我个人建议,在条件允许的情况下,小学高年级可以学一些LOGO语言的程序设计,其主要内容是“海龟绘图”,通过LOGO学习一些几何知识,而在程序设计上只起到“熏陶”的作用,即起一个潜移默化的作用。初中阶段可以安排一些介绍什么是程序、什么是程序设计的简单的内容,只要求学生能理解一些简单的程序就可以了,不必要求能编程。高中阶段可以较系统地学习一些程序设计知识,了解程序设计过程,能编简单的程序,但在算法设计上只要求了解就可以了。另一方面可以大力开展以算法设计为主的课外活动和选修课,给那些程序设计感兴趣的学生提供一个良好的发展环境。
【参考书目】
[1] 王攻本主编:《计算机科学技术百科辞典》1993年,405、404页。
[2] 马希文:《程序设计学》科学出版社,1985年,1页。
[3] 《计算机学科教学计划93》电子工业出版社,1995年,9页。
[4] 陈琦:《中学计算机教育文选》光明日报出版社,1987年,145页。
[5] 孙钟秀等:《操作系统教程》高等教育出版社,1990年2页。
[6] 郭福昌:《试办农村综合初中,势在必行》《课程研究》1994年4期,7页。
[7] 唐·克努特:《计算机程序设计技巧》第一卷前言,国防工业出版社,1986年。
[8] 布鲁纳:《教育过程》文化教育出版社,1982年,28,31页。
[9] 《中学信息学课程》清华大学出版社,1995年,49页。