计算机应用基础教学中的感悟

时间:2024.3.31

计算机应用基础教学中的感悟

胡开秋

摘要:本文从教学实践出发,从明确教学目标、推行问题式教学模式、发挥学生的主体性、理论联系实际等几个方面阐述了在教学中如何对学生进行创新能力和创新精神的培养,为在基础教育中推行创新教育提供了新的思路。

关键词:计算机基础 教学模式 学生 创新

计算机应用基础是一门融知识性、趣味性和技能性于一体的学科,它在提高学生学习兴趣、发展学生个性、拓展学生思维、培养学生创新能力方面发挥着特殊作用。在日常教学工作中,我不断探索研究性学习,并不断的实践。下面谈一下个人的几点感悟:

一. 作为一名计算机教师,明确教学目标,做到精讲多练

计算机基础理论教学重点在于让学生认识和了解计算机的基本组成及基本工作原理,了解计算机系统的有关知识等。教学中用简明扼要的语言把理论知识讲清,关键是明确教学目标。教师应根据每节课的教学重点和难点设计教学目标,制作课件,让学生知道要学会什么,掌握什么,使学生做到有的放矢,避免浪费时间。如:在学习文件与文件夹的操作时,通过课件向学生演示教学目标:复制文件和文件夹、移动文件和文件夹、删除与创建文件和文件夹、更改文件和文件夹的名称。另外每节课只安排3~5个知识点,并且简明扼要地写在黑板上,便于学生记忆和复习。课前根据教学目标和重点、难点安排5分钟复习上节课的内容。在讲授理论知识时结合教材有针对性的讲解,做到突出重点,突破难点,让学生掌握知识要点,这样就把更多的时间用到后面的实际操作中。

二.推行问题式教学模式,培养学生的创新能力

先举个例子,在讲解E-mail(电子邮件)的时候,可以向学生提问:你们觉得E-mail是做什么的呢?学生思考回答:是电子邮件。再比如,在讲题的过程中故意做错,来询问学生是否正确,为什么不对。通过这种方式会比直接告诉学生要好的多。

问题式教学模式把学习设置到复杂的、有意义的问题情境中,学习者通过互相合作来解决这些问题,发现隐含于问题背后的科学知识,形成解决问题的技能和自主学习的能力,从而培养学生的创新精神。在教学中,应克服扼杀学生创新精神和创新能力的教学行为,注意挖掘教材内容中潜在的教育因素,采取问题式教学模式,充分发挥学生的主体作用,创设宽松、民主、和谐、平等,富于创新精神的教学情境。要遵循教育教学的规律设计出针对性、启发性较强的问题,点燃学生求异思维的火花。对于在回答疑难问题时出现的不同主动和见解要“沙里淘金”,肯定其中的合理成份。要改变教师“一言堂”或唱“独角戏”的老方法,还学生以自我学习和钻研的时间与空间,鼓励学生敢于标新立异、独辟蹊径,敢于质疑发问、想象猜测、敢于打破常规、不拘一格。

三.激发学生的学习兴趣,充分发挥学生的主体性和创新性,提高学生的操作能力 计算机教学中,教师要尊重学生在学习中的主体地位,激发学生的主体意识,调动学生的学习积极性、主动性和自觉性,培养学生自主学习的兴趣和能力。在制定教学目标时,应充分考虑体现学生学习的主体地位,针对学习内容明确相应的任务,进而围绕目标自己主动动手操作、动脑思考问题,积极、主动地参与学习活动。发挥学生主体作用的关键在于教给其学习的方法,从单纯传授知识向教学生怎样获取知识转变,让学生由“要学”到“学会”,再到“会学”,最后过渡到“会学会做”。

1.计算机相关的专业知识是日新月异,我在计算机基础教学开始时,就让他们在业余时间不断积累有关计算机的各种知识。到对计算机了解到一定程度时,我把他们积累的各种知

识,定期举办成一个知识竞赛,激发学生的兴趣,让他们在竞赛中互相交流,互相学习新知识、新技术。

2.生动形象的引课是激发学生兴趣,激发学生求知欲的前提和有效的方法。一堂课的效果如何,你的引课是否成功有着密切的联系。因此我们平常要注意实例的积累,如何使我们上课的内容与实际联系地更加紧密些。

3.布置有趣的任务是延续兴趣的有效手段。目前我们实施的任务驱动教学法能否达到预期目标关键在于学生对于教师布置的任务是否感兴趣。现在往往学生对于教学任务兴趣度不高,不能投入到完成任务中去。因此我在布置教学任务时密切关注学生的兴趣点,比如我在授Internet 的应用一节内容时,我布置了以下一个任务:给他们一个题目“桃花源”,让他们自己去搜集资料,然后做成一篇文章,发到自己的邮箱中。因为这一任务也是学生迫切想解决的问题,所以学生兴趣很高,注意力也相对集中,课堂教学效果也就不言而喻了。

4.精心地辅导是让学生体验成功必要的条件。对于部分学习基础教差的学生应开小灶的还是要开小灶。对他们首要的问题是树立起学习的自信心。设置教简单的任务,精心地辅导,让每一位学生都感受成功的喜悦。`

四.利用现代化教学手段,理论联系实际,培养创新能力,改进教学方法

针对学生在知识结构、接受能力等方面的特点,计算机基础教学在教学方法上,应注意理论结合实际,采用多样化教学手段。鼓励、指导学生大胆、灵活地运用已学知识,解决实际问题是培养学生创新精神与创新能力的有效方法。计算机学科与其他学科的教学方法不太一样,其理论比较抽象,课堂上只凭口头讲,大多数学生缺乏感性认识,难以理解。为培养学生的动手动脑能力,进行计算机教学时尽量采用现有的现代化教学设备,提高课堂效率。如多媒体教室的应用,利用课件教学,将大部分的操作讲解进行现场演示,使各种操作具体化,以提高课堂的含金量。为了提高课堂效率,除了充分利用现代化教学设备外,对课堂的相应内容还要采用不同的教学方法,如“启发式”“案例教学法”“比喻法”“自学指导法”“讨论研究法”等等。

总之,在计算机基础教学中,我们应充分运用现代教育技术,培养学生的创新能力,为全面深化素质教育,为学生将来发展成为创新型人才奠定坚实的基础。

参考文献:

[1]刘宝平,王应良 .高职计算机教学应突出实用性和技能性[J].教育信息化,2006(10).

[2]刘儒德。信息技术与教育相整合的进程.高等师范教育研究,1997 (9).


第二篇:计算机大师感悟


如今的孩子变懒了

多吃一点苦,又会怎么样呢?

我一定是变老了,才会这样喋喋不休的抱怨和感叹“如今的孩子”。为什么他们不再愿意、或者说不能够做艰苦的工作呢。

当我还是孩子的时候学习编程需要用到穿孔卡片。那时没有任何类似“退格”键这样现代化功能,如果你出错啦,就没有办法更正,只好扔掉出错的卡片,从头再来。

回想19xx年,我开始面试程序员的时候,我一般会出一些编程题,允许用任何语言解题。99%的情况下,面试者选择C语言。

如今,面试者一般会选择JAVA语言。

说道这里,不要误会我的意思。JAVA语言本身作为一种开发工具,并没有什么错。 等一等,我要做个更正。我只是在本篇特定的文章中,不会提到JAVA语言作为一种开发工具,有什么不好的地方。事实上,他有许许多多不好的地方,不过这些另找时间来谈了。

我在这片文章中,真正想要说的是,总得来看,JAVA语言不是一种非常难的编程语言,无法用来区分优秀程序员和普通程序员。它可能适合用来完成工作,但是这个不是今天的主题。我甚至想说,JAVA语言不够难,其实它的特色不算缺点。但是不管怎样,它就是有这个问题。

如果我听上去像是妄下论断,那么我想说一点我自己微不足道的经历。大学计算机系的课程,传统上有两个知识点,那就是指针和递归。

你进大学后,一开始总要上一门数据结构课,然后是线性链表、哈希表以及其他诸如此类的课程。这些课会大量使用指针。它经常起到一种优胜劣汰的作用。因为这些课程非常难,那些学不会的人就表示他们的能力不足以达到计算机科学学士学位的要求只能放弃这个专业。这是一件好事,因为你连指针都觉得很难,那么等学到后面,要你证明不动点定理(fixed point theory)的时候,你该怎么办?

有些孩子读高中的时候,就能用BASIC语言在Apple II型计算上,写出漂亮的乒乓球游戏。等他们进入了大学,都就去选择计算机科学101课程,那门课讲的就是数据结构,当他们接触指针就傻眼啦,后面的事情可想而知,他们就去该学政治学,因为看上去法学院是一个更好地出路。关于计算机系的淘汰率,我见过各式各样的数据通常在40%到70%之间。校方一般会觉得,学生拿不到学位很可惜,我则视其为必要的筛选,淘汰那些没有兴趣编程或者没有能力编程的人。

对于许多计算机的青年学生来说,另一门难度课程是有关函数式编程(functional programming )的课程,其中包括递归程序设计(recursive programming)。MIT将这些课程的标准提的很高,还准们设计了一门必修课(课程代号6.001),它的教材(structure and Interpretation of Computer Programs,作者为Harold Abelson 和Gerald Jay Sussman Abelson,MIT出版社19xx年版)被几十所,甚至几百所大学计算机系采用,充当事实上的计算机科学导论(你能找到这本书旧版)。

这些课程难得惊人。在第一堂课上,你就要学完Scheme语言的几乎所有内容,你还会遇到一个不动点函数(fixed point function),它的自变量本身就是另一个函数。我读的这门导论课,是宾夕法尼亚大学的CSE121课程,真是苦不堪言。我注意到很多学生,也许是大部分学生,都无法完成这门课。课程的内容实在是太难啦。我给教授写了一封长长地声泪俱下的Email,控诉这门课不是给人学的。宾夕法尼亚大学一定有人听到了我的呼声(或者听到了其他抱怨者的呼声),因为如今这门课的计算机语言是Java语言。

我现在觉得,他们还不如没有听见呢。

这就是争议所在。许多年来,像当年的我一样懒惰的计算机系本科生不停地抱怨,再加上计算机业界也在抱怨毕业生不够用,这一切造成了重大恶果。过去十年中,大量本里啊堪

称完美的好学校,都百分百转向了Java语言的怀抱,这真好的没话说啦,那些用“grep”命令【4】过滤简历的企业招聘主管,大概会很喜欢这样。最妙不可言的是JAVA语言中没有什么太难的地方,不会真的淘汰什么人,你搞不懂指针和递归也没关系。所以,计算机系的淘汰率就降低了,学生人数上升了经费预算变大了,可谓皆大欢喜。

学习JAVA语言的孩子是幸运的,因为他们用到以指针为基础的哈希表时,他们永远也不会遇到古怪的段错误(segfault)【5】。他们永远也不会因为无法将数据塞进有限的内存空间,而急的发疯。他们永远不用苦苦思索,为什么在一个纯函数的程序中,一个变量的值一会保持不变,一会又变个不停!多么自相矛盾啊!

他们不需要怎么动脑筋,就可以在专业上得到4.0的绩点。

我是不是有点苛刻啦,就像是电视里“四个约克郡男人”【6】那样,成了老古板?就在这里吹嘘我是多么刻苦,完成了所有那些高难度的课程?

但是,今天我找不到一所大学,还把拉丁语作为必修课。指针和递归不正像计算机科学里面的拉丁语和希腊语。

说道这里,我坦率的承认,如今的软件代码中90%都不需要指针。事实上,如果在正式产品中使用指针是很危险的。好的,这一点我没有异议。与此同时,函数式编程在实际开发中用到的也不多。这一点我同意。

但是,对于某些最激动人心的编程任务来说,指针仍然非常重要的。比如说,如果不用指针,你根本无法开发Linux的内核。如果不是真正地理解了指针,你连一行Linux的代码也看不懂,说实话,任何操作系统的代码你都看不懂。

如果不懂得函数式编程,你就无法创造出MapReduce【7】,正是这种算法使得Google的可扩展性(Scalable)达到如此巨大的规模。单词“Map”(映射)和“Reduce”(化简)分别来自Lisp语言和函数式编程。回想起来,在类似6.001这样的编程课程中,都有提到纯粹的函数式编程没有副作用。因此可以直接用于并行计算(parallelizable)。任何人只要还记得这些内容,那么MapReduce对它来说就显而易见啦。发明MapReduce的公司就是Google,而不是微软,这个简单的事实说出了原因,为什么微软至今还在追赶,还在试图提供最基本的搜索服务,而Google已经转向了下一个阶段,开发世界上最大的并行式超级计算机-Skynet

【8】,我觉得,微软并没有明白,在这一波竞争中它落后多远。

除了上面那些直接能想到的重要性,指针和递归的真正价值,在于那种你在学习它们的过程中,所得到的思维深度,以及你因为害怕在这些课程中被淘汰的心理抗压能力,它们都是在建造大型系统的过程中必不可少的。指针和递归要求一定水平的推理能力、抽象思考能力,以及最重要的,在若干个不同抽象层次上,同时审视同一个问题的能力。因此,是否真正理解指针和递归,与是否是一个优秀的程序员直接相关。

如果计算机系的课程都与Java语言相关,那么对于那些在智力上无法应付复杂概念的学生,就没有东西可以真的淘汰他们,作为一个雇主,我发现那些100%java教学的计算机系,已经培养出了相当一批毕业生,这些学生只能勉强完成难度日益降低的课程作业,只会用JAVA程序编写简单的记账程序,如果你让他们编写一个更难的东西,他们就束手无策啦,他们的智力不足以成为程序员。这些学生永远也通不过MIT的的6.001课程,或者耶鲁的CS323课程,坦率的说,为什么作为一个雇主的心目中,MIT或者耶鲁大学计算机系的学位的分量要重于杜克大学,这就是原因之一。因为杜克大学最近已经全部转为JAVA语言教学。宾夕法尼亚大学的情况也很类似,当初CSE121中的Scheme语言和ML语言,几乎将我和我的同学折磨致死,如今已经全部被JAVA语言替代。我的意思不是说,我不想雇佣来自杜克大学和宾夕法尼亚大学的聪明学生,我真的愿意雇佣他们,只是对于我来说,确定他们是否真的聪明,如今变得更难了。以前,我能够分辨出谁是聪明的学生,因为他们可以在一分钟内看懂一个递归算法,或者可以迅速在计算机上实现一个线性链表操作函数,所用时间同黑

板上写差不多,但对于JAVA语言学校毕业的学生,看着他们面对上述问题苦苦思索,做不出来的样子,我分辨不出到底是因为学校里没教,还是因为他们不具备编写优秀软件作品的素质。Paul Graham将这一类程序员称为“Blub”程序员【9】.

JAVA语言学校无法淘汰那些永远也成不了优秀程序员的学生,这已经是很糟糕的事情了。但是,学校可以无可厚非的解释,这不是校方的错。整个软件行业,或者说至少是其中那些使用grep命令过滤简历的招聘经理,确实一直在叫嚷,要求学校使用JAVA语言教学。

但是,即使如此,JAVA语言学校的教学也还是失败的,因为学校没有成功训练号学生的头脑,没有使他们变得足够熟练、敏捷、灵活,能够做出高质量的软件设计(我不是指面向对象式的设计,那种编程只不过是要求你画上无数个小时,重写你的代码,使他们能够满足面向对象编程的等级继承式结构,或者说要求你思考到底对象之间是“has-a”从属关系,还是“is-a”继承关系,这种“伪问题”将你搞得烦躁不安)。你需要的是那种能够在多个抽象层次上,同时思考问题的训练。这种思考能力正是设计优秀软件架构所必需的。

你也许想知道,在教学中,面向对象编程(object-oriented programming,缩写OOP)是否是指针和递归的优秀替代品,是不是也能起到淘汰作用。简单的回答是:“不”。我在这里不讨论OOP的优点,我只之处OOP不够难,无法淘汰平庸的程序员。大多数时候,OOP教学的主要内容就是记住一些专有名词,比如“封装”(encapsulation)和“继承”(inheritance),然后,再做一些多选小测验,考你是不是明白“多态”(polymorphism)和“重载”(overloading)的区别。这同历史课上,要求你记住重要的日期和人名,难度差不多。OOP不构成对智力的挑战,吓不跑一年级新生。据说,如果你没学好OOP,你的程序依然可以运行,只是维护起来有点难。但是如果你没学好指针,你的程序就会输出一行段错误信息,而且你对什么地方出错了毫无想法,然后你只好停下来,深吸一口气,真正开始努力在两个不同的抽象层次上,同时思考你的程序是怎么运行的。

顺便说一句,我有充分的理由在这里说,那些使用grep命令过滤简历的招聘经理真是荒谬可笑,我从来没见过能用scheme语言,Haskell语言和C语言中指针编程的人,竟然不能再两天时间里面学会JAVA语言,并且写出java程序,质量竟然不能胜过那些5年JAVA编程经验的人士。不过,人力资源部里那些平庸的懒汉,是无法指望他们听进去这些话的。

再说,计算机系承担的发扬计算机科学使命该怎么办?计算机系毕竟不是职业学校啊!训练学生如何在这个行业里工作,不应该是计算机系的任务。这应该是社区高校和政府就业培训计划的任务,那些地方会交给你工作技能。计算机系给予学生的,理应是他们日后所需要的基础知识,而不是为学生第一周上班做准备。对不对?

还有计算机科学是由证明(递归),算法(递归),语言(λ演算[10]),操作系统(指针),编译器(λ演算)所组成的。所以,这就是说那些不教(语言,不教Scheme语言,只教JAVA语言的学校,实际上不是根本在教计算机科学。虽然相对于真实世界来说,有些概念毫无用处,比如函数的科里化(function currying)[11],但是这些知识显然是进入计算机科学研究生院的前提。但是,我不明白,计算机系课程委员会为什么会统一将课程的难度将到如此低的地步,,以至于他们无法培养出合格程序员,甚至也无法培养出合格的哲学博士,进而能够申请职称,且慢,也许我明白了。

实际上,如果你回顾和研究学术界在“JAVA大迁移”(great java shift)中的争论,你会注意到,最大的争议是Java语言是否还不够简单,不适合作为一种教学语言。

我的老天啊,我心里说,他们还在设法让课程变得更简单。为什么不用勺子,干脆所有东西一勺一勺都喂到学生口中,让我们再接管考试,这样一来就没有学生改学美国研究[13],,看上去我们一个小组正在开展工作,创造出一个简化的JAVA子集,以便在课堂上教学。这样学生的小脑袋就不会因为遇到有点难度的课程,而感到烦恼啦,除非那门课里只要求做一些空前简单的计算机习题。

计算机系如此积极地降低难度,有一个理由可以得到赞同,那就是节省更对的时间,教授真正的属于计算机科学的概念。但是,前提是不能花费整整两节课,向学生讲解JAVA语言中Int和Integer有何区别[16],好的,如果是这样,课程6.001就是你的完美选择。你可以先讲Scheme语言,这种教学语言简单到聪明学生大约只用十分钟,就能全部学会,然后你将整个学期剩下的时间,都用来讲不动点理论。

注解:

[1]在美国,法学院的入学都必须具有本科学位。通常来说,主修政治学的学生升入法学院的机会最大;

[2]在麻省理工学院,计算机系的课程代码都是以6开头的,6.001表明这是计算机系的最基础课程;

[3]Scheme语言是LISP语言的变种,诞生于19xx年的德MIT,以其对函数的

更多相关推荐:
《计算机应用基础》教学反思

计算机应用基础教学反思本学期我担任了计算机应用基础这门的课的教学在这将近一学期的教学过程中我有了很多体会首先计算机作为人类计算与思维的通用智力工具使人类的智能获得了空前的发展人类创造了电脑反过来电脑帮助开发人脑...

计算机应用基础课程教学反思

计算机应用基础课程教学反思经过这几年的计算机教学对于计算机应用基础这门课程在教学方面我有以下几点反思一激发学习兴趣学生的学习动机来自于他们强烈的求知欲和对所学内容的兴趣兴趣越大学习的动力越大学习的状态越好学习效...

《计算机应用基础》教学反思

计算机应用基础教学反思王蔚计算机应用基础是学生接触计算机知道掌握操作技能的第一步它对普及学生的计算机基础基础知识和计算机操作能力起到非常关键的作用但在现实中却是最容易被忽视的一门重要的公共课程而在电大由于学生差...

《计算机应用基础》教学反思

《计算机应用基础》教学反思信息组从事计算机基础教学工作一个月,在这一个月的教学工作中有成功也有失败。作为一名教师,在日常教学中应时刻反思,深入细致的查找问题,剖析原因,力争做到最好!一、存在的问题1.向上的进取…

《计算机应用基础》教学反思

计算机应用基础教学反思伊萌计算机应用基础是学生接触计算机知道掌握操作技能的第一步它对普及学生的计算机基础基础知识和计算机操作能力起到非常关键的作用但在现实中却是最容易被忽视的一门重要的公共课程而在电大由于学生差...

计算机应用基础教学总结

计算机应用基础教学总结时代在进步计算机技术日新月异带来计算机教学也日新月异绚丽多彩给计算机一线教学的老师带来无限的压力计算机应用基础是我校的公共基础课也是我每年的必上课程几年来年来经我教过计算机应用基础的班级有...

《计算机应用基础》教学反思

计算机应用基础教学反思白山林校张松刚计算机应用基础是学生接触计算机知道掌握操作技能的第一步它对普及学生的计算机基础基础知识和计算机操作能力起到非常关键的作用但在现实中却是最容易被忽视的一门重要的公共课程由于学生...

计算机应用基础教案

计算机应用基础教案,内容附图。

《计算机应用基础》教学反思2

计算机应用基础教学反思一优选教学方法注重学生学习情趣的培养学习兴趣是学生基于自己的学习需要而表现出来的一种认识倾向它在学生的学习中具有重要的作用如在第一次进机房的时候由于学生初次接触计算机时大家都怀有一种畏惧又...

我的计算机屏幕我做主教学反思

我的计算机屏幕我做主教学反思五年级49班在整个五年级时比较活跃的一个班级孩子们的思维非常活跃也愿意表达自己的情绪正好我上的这个教学内容可以充分发挥孩子们的这种表现欲在本课教学中我设计了分组竞赛的方式不但进行了分...

计算机基础课教学反思

计算机基础课教学反思电子计算机作为人类计算与思维的通用智力工具使人类的智能获得了空前的发展人类创造了电脑反过来电脑帮助开发人脑计算机与基础教育相结合已经成为当今世界的大趋势因此特别是对于我们职业中学计算机教学就...

计算机基础教学反思

计算机专业期中考试试卷分析与反思本次期中考试计算机应用基础的考试内容为前五章的内容包括第一章计算机基础知识第二章WindowsXP操作系统第三章英特网应用第四章文字处理软件应用以及第五章电子表格处理软件应用现我...

计算机应用基础教学反思(17篇)