一、广泛了解,从科普书籍开始
选择计算机专业的同学,也许是因为原先有一定的基础,也许是因为一时的激情,但更多的人,可能对自己的选择没有深刻的认识,或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科?才华能够在哪个分支领域有所施展?抑或是真的不适合这个专业?诸多疑问,解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉;而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事,其中“阅读”是一个简洁而有效的方法。
也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。所有理工学科都有这样的性质,计算机专业也不例外。
我们知道,计算机理论是建立在数学基础之上的。大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难” 外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数学课程大都偏重实用性。比如我们的离散数学课程中涉及到的逻辑代数奠定了计算机一切运算的基础,形式语言构成了计算机程序编译的模型,代数系统则是当前各类数据库系统的理论依据等等。因此,如果能够提前地了解到并简单地学习一下这些数学知识的具体应用,对理解理论是很有益处的。此外,电子学、信号与系统、控制理论等也是计算机专业学生必修的公共课,然而不少同学往往认为它们与计算机专业的关系不大,从而放松了学习。事实上这些学科是计算机硬件与网络通信的基础,学好这方面知识的前提是认识它们的现实应用及其与计算机的密切联系。
也许你将来学习图论的时候,对“欧拉路”的概念会很清晰,这是因为你在小时候的图画书上玩过“一笔画”的游戏;然而“二分图”、“生成树”这些概念又是怎么回事呢?你的理解可能就不是那么深刻了——因为你一时难以找到一些生活中的实例,并从中抽取出特性。在这种情况下,翻阅一些涉及这些知识的科普书籍就十分有必要了。我曾读过一套《数学游戏》(《科学美国人》杂志汇编,中文版:科学技术文献出版社),它将图论、逻辑代数、自动机理论等领域的抽象的概念具体化为一个个有趣的故事,引导读者了解这些知识的现实应用,启发读者将抽象思维与感性生活有机结合。我还读过一本《编码的奥秘》(《CODE》中文版,机械工业出版社),它则将逻辑代数、数字电路、汇编语言等知识以实物和简单电路的形式进行类比,揭示其中的原理,并引导读者动手实践。事实上这类与计算机专业相关的科普书籍还有很多,在学习课本的间隙阅读一下,绝对能起到催化剂的作用。
谈到科普书籍,相关的另一个问题便是计算机科学与计算机技术之间的关系。也许不少同学选择计算机专业,是源于对计算机令人眼花缭乱的应用的认识。所谓计算机技术,一般是指包括文字处理、信息管理、多媒体、网站建设等在内的计算机应用技术;而所谓计算机科学,一般指数据结构、组成原理、 *** 作系统、编译原理等计算机内部实现机制。前者是计算机在各行各业提高生产力的体现,属于各类职业教育和专科教育的范畴;而后者是研究是计算机本身的理论,是本科计算机教学的重点。市面上大多数计算机书籍与杂志是计算机应用技术方面的,属“技术普及型”,从受众角度来看与科普书籍有着类似的性质。适当地涉猎一些自己感兴趣的应用技术,对培养学习兴趣、增强实践能力、了解业界行情是很有好处的。不过如果确实想在计算机行业长期做下去,仍然应当将主要精力放在对计算机科学的学习方面。毕竟用科学的理论指导实践是大学教育的意义所在。
总之,广泛了解计算机学科基础科普知识,在今后学习具体理论的时候才会少一些盲目,多一些顿悟。
二、把握全局,学习计算机导论
当你对计算机学科涉及的领域有所了解后,就应该着手展开专业学习了。初读本专业的教学计划与课程设置,你或许会被诸如离散数学、编译原理、接口技术等生疏的课程名称弄得一头雾水。这些课程都是研究什么的?它们各自与我们面前的计算机有哪方面的联系?要回答这类问题,首先需要把握全局,从整体上认识计算机科学。
国内高等院校一般都为大一学生开设计算机基础课程。这类课程的受众面广,主要涉及计算机基础应用知识。各种版本的计算机基础教程几乎都以计算机科学导论作为开篇。对于把计算机作为应用工具的其他专业的学生而言,导论只算是“内容概要”,他们往往更注重后面的应用型知识;而对于把计算机作为研究对象的我们,则决不能忽略这类指导性的内容。专门地、有意识地学好计算机科学导论,能够使你对计算机科学有一个大局观,清楚地认识到每一个分支学科的研究领域与重要意义,从而在今后的具体学习中明确方向,加深理解。
依我个人的学习经验,建议初学者阅读一些国外优秀计算机基础与导论教材。与国内大多数讲解软硬件具体使用的同类教材相比,国外教材更偏重以应用为切入点,深入浅出地阐述计算机科学原理。诸如《计算机文化(第8版)》(《New Perspectives on Computer Concepts》中文版,机械工业出版社)、《计算机科学导论》(《Foundations of Computer Science: From Data Manipulation to Theory of Computation》中文版,机械工业出版社):前者适合于各种信息类专业的学生或计算机爱好者阅读。该书图文并茂,语言生动,从应用角度出发,广泛涉及计算机软件、硬件、网络的基本原理,同时概述了计算机学科的历史背景与行业现状。随书的光盘中给出了不少影音材料,在学习的同时还可以提高计算机专业英语听说能力。后者在风格上与前者类似,但内容更适合计算机专业学生阅读,被美国不少高校定为计算机专业学生的入门课。它以实例作为出发点,系统地讲解了计算机组成、计算机网络、 *** 作系统、数据结构、算法设计等分支学科的研究领域、基本原理和应用方向,而几乎不涉及晦涩的数学模型与实现细节。阅读此类书籍,可以在潜移默化中理清初学者对于计算机科学学习的思路。
计算机科学是一个有机联系的整体,每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习,往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践;组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系,这样难以建立完整的知识体系。因此在把握大局之后,我们仍有必要简单了解一下每个分支学科的基础知识。在这方面,推荐大家阅读《编程卓越之道(第一卷):深入理解计算机》(《WRITE GREAT CODE: Volume 1:Understanding the Machine》中文版,电子工业出版社)这本书。分开来看每一章节,其内容编排结构与国内高校计算机课程体制相近,涵盖了逻辑代数、数字电路、机器指令、体系结构、存储器管理等方面的基础知识和实现方法,特别是阐明了各个分支学科之间的本质联系。有了这些基础之后,在遇到更高阶的问题时,你至少会明白这个问题应该在哪个分支学科中寻找答案了。
当你有了一定的计算机理论基础,尤其是程序设计基础后,想更加深入地把握计算机科学的脉络,不妨看看这本书:《深入理解计算机系统(修订版)》 (《Computer Systems A Programmer's Perspective》中文版,中国电力出版社)。它与《编程卓越之道》系列的共同特点是从程序员的视角观察计算机系统。而这本书作为国外数十所高校的计算机系统导论教材,其组织更加严密,风格更加严谨。它以“程序在计算机中如何执行”为主线,全面阐述计算机系统内部实现的诸多细节。当你在学习数据结构、组成原理和体系结构等课程和时候,翻阅一下此书的相应章节,同时编程实现其中的例子,一定会对课本上单纯的文字型理论有更加感性的认识——原来它们是这样活生生地存在于我的计算机里的!
正所谓“会当凌绝顶,一览众山小”,从计算机科学全局的高度整体把握其分支学科,在头脑中率先构建计算机科学的整体框架并为其夯实最基层的结构,就能够为你在未来每一步的学习中扫清迷雾,指明方向。
三、运筹帷幄,掌握编程的思想
程序设计与开发是计算机学习的一个关键环节,编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带,是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生,我们一方面有别于其它专业将计算机作为工具的应用型人才,不能仅仅利用计算机,而要为他人利用计算机提供平台;另一方面我们暂时达不到计算机科学家的水平,不能做出理论研究成果,但能为理论学习铺垫实践基础。因此,只有具备足够的程序设计与开发能力,才能真正体现我们的智慧,同时充分发挥计算机的潜力。
学习编程,首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言,长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛,但最经典的当数C语言的设计者Kernighan与 Ritchie 合著的权威白皮书——《C程序设计语言(第2版)》(《The C Programming Language》中文版,机械工业出版社)。书虽不厚,但绝对全面而准确。其语言简洁,例证通俗,实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑,但它们往往以考试为导向,过多地纠缠语法死角,同时大都未遵从ANSI标准。对于计算机专业学生来说,前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后,就需要从一个更高的视角来探察语言的本质,不妨看看这本:《计算机程序的构造和解释(第2版)》 (《Structure and Interpretation of Computer Programs》中文版,机械工业出版社)。它阐述了编程语言本身的机制与实现,同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。 LISP是很多美国高校计算机专业的入门语言,也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP,体味LISP,给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。
大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学,后者偏重计算机技术。算法是用计算机思维解决现实问题的理论,具有较强的数学性。算法学的旷世巨著应数Knuth的《计算机程序设计艺术》(《The Art of Computer Programming》中文版,清华、机工、国防等出版社皆有授权),不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者,建议首先培养使用常规算法解决小规模问题的能力,并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的,结合程序设计实践一类的课程,可以读读这几本书:《编程珠玑(第2版)》(《Programming Pearls》中文版,中国电力出版社)、《程序设计实践》(《The Practice of Programming》中文版,机械工业出版社)、《代码阅读方法与实践》(《Code Reading: The Open Source Perspective》中文版,清华大学出版社)、《C专家编程》(《Expert C Programming》中文版,人民邮电出版社)。它们的侧重点各有不同,但对于通过实践来学习算法与数据结构都是很有益处的。
应用开发方面,实践是第一要务,然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础,目前主要使用在系统级开发中,前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发, 这方面的经典之作中,推荐阅读Bruce Eckel的《Java编程思想(第3版)》(《Thinking in Java》中文版,机械工业出版社)与《C++编程思想(第2版)》(《Thinking in C++》中文版,机械工业出版社)。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的,在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全(第2版)》(《Code Complete》中文版,电子工业出版社)这本大而全的软件构建综合性宝典,它在从总体上指导软件开发的各个环节的同时也引入了一些细节问题(诸如 goto的使用)的讨论,引导我们对一些司空见惯的程序设计理念不但要知其然,而且要知所以然。
有一位热衷于游戏的同学告诉我,游戏给予他满足控制欲的空间。但是请放眼看看,游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据,并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器,就能够面对眼前的计算机游刃有余,在硬件条件允许的情况下尽你所能将控制欲升华为创造力,方便自己的同时造福他人。运筹帷幄,掌握编程的思想,无论走向科学研究或是应用开发,这都将为你奠定坚实的基础!
四、理性思辨,体味计算机哲学
Bill Gates对计算机事业充满激情——“每天早晨醒来,一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化,我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日,将打破知识垄断、共享人类智慧作为己任,带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有Gates那样豪迈的气度和Stallman那种坚定的信仰,计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围,作为一名计算机专业学生,了解专业文化,体味专业哲学,对于学习和从业都是具有指导意义的。
首先必须承认,计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗,不仅仅是一场商战,更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下,多接触一些开源世界的事物,对于理解计算机的本质不无裨益。《共创未来:打造自由软件神话》(《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》中文版,上海科技教育出版社)是一本讲述开源世界发展史的书,你可以从中了解自由软件运动及其领袖人物的传奇故事,从而对GNU、 Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作,摈弃Windows——你我共勉》、兰州大学黄平的《自由,你忘记了吗?》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”,但没有调查就没有发言权,无论支持还是反对, 客观的认识是第一位的。
其次,我们应该用平和的心态对待知识与技术,衡准专业学习在生活中的位置。一些同学出于种种原因,成为了“先进技术”的追随者:通晓各类流行的编程语言,一有新版本的工具推出立即安装学习,一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒:看准了Java就对NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累,以至于有感于学习的空虚。过分追捧技术可谓舍本逐末,死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源,在实践过程中深入理解基础知识是关键;另一方面任何技术都有统领其实现细节的思想精髓,观其形不如知其神。我们不妨甩开冗繁的技术,换个角度静下心来读几部计算机文化与哲学作品:
程序人生方面:《编程之道》(《The Tao of Programming》双语版,电子工业出版社)一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手,全书由一则则短小而富有哲理故事组成,以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅,即使不能立刻体会到每个故事的真谛,但随着自身阅历的增长,相信你会领悟程序人生的“道法自然”。
设计理念方面:开源软件界的“斗士”级元老Eric Raymond所著的《Unix编程艺术》(《The Art of Unix Programming》中文版,电子工业出版社)一书,以Unix系统的设计原则为主线,展示了Unix所开启的“KISS”(Keep It Simple, Stupid!)编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说,这本书一定能够使你眼界大开——“结构化”并非真理,“面向对象”也不是王道;而对于有一定Unix/Linux使用或开发经验的同学,这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧!
管理哲学方面:对于有志于软件工程,想涉足项目管理的同学,《人月神话》(《The Mythical Man-Month》中文版,清华大学出版社)这本书就有必要读一读了。它拿真实案例说事,仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境,不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程,任何事业的成功,往往技术不是关键,社会科学的因素才是埋 头技术的朋友们更应当关注的。
归根结底,计算机的哲学依旧是人的哲学。抛开理念之争议,超越技术的形式,以人为本地认识我们的行业与自身的地位,或许会使将来的发展道路走得更舒心一些。
程序教学
是一种使用程序教材并以个人自学形式进行的教学。有机器教学;课本式程序教学;CAI等。
斯金纳的程序教学法2006年11月01日 星期三 上午 10:00B·F·斯金纳是美国著名的教学心理学家。他通过动物实验建立了 *** 作行为主义的学习理论,并据此提出了程序教学论及其教学模式,曾给20世纪50年代的美国和世界的中小学教育带来广泛影响。
一、理论依据
作为一名实验心理学家,斯金纳的理论发现是从动物学习的实验开始的。他设计了一只被称为“斯金纳箱”的实验装置,里面装着一只饥饿的老鼠,一根控制杆连系着食物箱。老鼠在箱子里活动,每压一次控制杆就能得到一颗食物。这样,老鼠不断地压控制杆,不断地得到食物,不久就“学会”了这种取食方法。在这里,取到食物就是对老鼠 *** 作控制杆的一种强化。随后,斯金纳重复对鸽子、猫等动物进行类似的实验都证明,及时地给予报酬、强化,是促进动物学习的主要因素。
由动物而推断人,斯金纳认为,人类的学习也是一种 *** 作反应的强化过程(“强化”在他的教学理论中占有核心的地位),通过 *** 作性强化,一个比较完整的新的行为单位可以被学会,或者一个现存的行为单位可以被精炼。而要使教学或者训练获得成功的关键,就是要很精确地分析强化效果,并设计 *** 纵这个过程的技术,建立一个特定的强化系列。也就是说,根据学习的目标,在促进学习者学习时,要不断地给予强化,促使学习者向着学习目标迈进。
二、教学原则
根据 *** 作行为主义的学习理论,一位教师要实施程序教学,必须考虑哪些问题呢?
首先,要仔细地考虑在特定的时间里计划教学的内容是什么,这些教学内容最终是要通过学生的行为的获得来表示的。其次要考虑有哪些可以利用的强化物。这种强化物包括两种:一种是学习者在学习过程中对所 *** 纵的材料具有强烈的兴趣性;另一种是在学习过程中给予学生奖励,譬如教师的一个善意的微笑、一句肯定的赞语、一件奖品等等。第三,强化的最有效的安排,即教师要把非常复杂的行为模式逐渐精致地做成小的单位或步骤,也就是把教学目标进行具体分解,确定每个步骤所保持行为的强度,以使强化的效果能提高到最大限度。
编制程度学习的流程,一般要遵循以下几个原则:
1积极反应原则
一个程序教学过程,必须使学生始终处于一种积极学习的状态。也就是说,在教学中使学生产生一个反应,然后给予强化或奖励,以巩固这个反应,并促使学习者作进一步反应。
2小步子原则
程序教学所呈示的教材是被分解成一步一步的,前一步的学习为后一步的学习作铺垫,后一步学习在前一步学习后进行。由于两个步子之间的难度相差很小,所以学习者的学习很容易得到成功,并建立起自信。
3即时反馈原则
程序教学特别强调即时反馈,即让学生立即知道自己的答案正确,这是树立信心、保持行为的有效措施。一个学生对第一步(学习的前一个问题)能做出正确的反应(回答),便可立即呈示第二步(第二个问题),这种呈示本身便是一种反馈:告诉学生,你已经掌握了第一步,可以展开第二步的学习了。
4自定步调原则
程序教学允许学习者按各人自己的情况来确定掌握材料的速度。这与传统教学在课堂传授中一般以“中等”水平的学习者为参照点的教学法不同,传统教学法使掌握快的学生被拖住,而学习慢的学生又跟不上,致使班级学生之间学习水平差距越来越大。程序教学法相对显得比较“合理”,每个学生可以按自己最适宜的速度进行学习。由于有自己的思考时机,学习较容易成功。
程序教学的设计当然要按照教材内部的逻辑程序,既要保证学习者在学习中把错误率减少到最低限度,又要合理地设计教材,使每一个问题(每一小步)都能体现教材的逻辑价值。
三、教学的模式
1直线式程序
这是斯金纳首创的一种教学程序,是经典的程序教学模式。在这一流程里,教师把材料分成一系列连续的小步子,每一步一个项目,内容很少。系列的安排由浅入深,由简到繁。以“电流”教学内容为例,可以设计成如下小步子:
①电灯泡发亮的原因是灯丝(发热);
②电灯灯丝发热的原因是灯丝通过(电流);
③电灯变亮的原因是电流强度(增大);
④电灯变暗的原因是电流强度(减小);
⑤当电压增大时,电流强度就(增大);
……
括号里是正确答案。一个学生如能做出正确答案,教学机器就能显示出来,并可以启动开关进行第二步学习。如此一步一步地展开学习,直至达到学习目标。
2衍枝式程序
由于各个学生的学习能力及已有知识的基础是不一样的,另外,学习材料本身也有难易程度的区分,因此有人便在经典程序的基础上提出了两种变体。衍枝式程序便是一种,是由美国人A·克劳德提出来的一种可变程序模式。这一模式同样把学习材料分成小的逻辑单元,但每一步比直线式程序的步子要大,每个项目的内容也较多。学生掌握一个逻辑单元之后,要进行测验。测验用多重选择反应进行,根据测验结果决定下一步的学习。这种程序有助于消除不同能力的学生之间的学习差异。
3莫菲尔德程序
这个程序是美国心理学家凯(Kay·H)在莫菲尔德大学任教时提出的一种程序教学模式,它是直线式和衍枝式程序原则的结合。这一模式遵循的始终是一个主序列,它与直线式不同的是,只有一个支序列来补充主序列;它与衍枝式不同的是,学生通过支序列的学习不再回到原点,而是可以前进到主序列的下一个问题上,这样有利于学习效率的提高。
相比较而言,衍枝式程序和莫菲尔德程序比直线式程序更优越,因为这两个程序更能适应个别差异的需要,能够为不同学生提供不同的学习程序。
一个教师要实施程序教学,必须借助于程序式的教材,或者进行机器教学。用机器来代替教师在课堂教学中的大量机械行为,教师才有可能集中精力设计“小步子”,提出适应程度不同的学生的学习要求,并做到及时反馈。本世纪50年代,斯金纳的教学机器曾经风靡一时,到了电子时代的今天,又有了很多自动的电子教学机出现在课堂里,这其中都有斯金纳程序教学思想的影子;在大部分教师的课堂教学中,也在不时地运用程序教学原则,大家常说的“步步清”、“降低坡度”、“及时反馈”等,也都体现了程度教学思想。
下面有专业术语,我先按我理解的说一下:我举个例子,比如说你想打个字,首先你按键盘,然后键盘把数据送到内存中,然后内存再送到CPU,CPU再在硬盘中提取所需要的数据,然后CPU把数据综合处理后送给内存,然后内存再把数据传到显示器,这样你就看到你打的字了!
计算机的基本原理是存贮程序和程序控制。
预先要把指挥计算机如何进行 *** 作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么 *** 作,然后送到什么地址去等步骤。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据进行指定的运算和逻辑 *** 作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定 *** 作。依此进行下去,直至遇到停止指令。
o 程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的 *** 作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯诺依曼于1945年提出来的,故称为冯诺依曼原理。
本文:2179字
时长:预计阅读时间5分钟
董宇辉:“我没有带你去看过长白山皑皑的白雪,我没有带你去感受过十月田间吹过的微风,我没有带你去看过沉甸甸的弯下腰,犹如智者一般的谷穗,我没有带你去见证过这一切,但是,我可以让你去品尝这样的大米。”
在董宇辉的直播间里,没有主播声嘶力竭的叫卖声,没有买它买它的怂恿声,只有一个小眼迷离、腮骨横宽的硬杠的“非主流少年”,还有那些渊博的见识、优美的语句。敢问世间能有几人招架得住呢?
当下,中国消费者的购物需求变得越来越高,不仅讲究细分化,渠道的多元化,还追求消费的体验感。
董宇辉说“东方甄选”的直播间从几百人到现在观看人数10万+,他只用了6天时间。与其说他很幸运,不如说他赶上了体验式消费的新趋势。
今天,我们就来聊一聊董式销售销售的3个常用逻辑,你是否也曾被“安利”过?
01 类比论证
类比论证是指根据两个或两类对象在某些属性上相似,推出它们的其他属性也相似的论证形式。
举个例子来说明一下。
论点:家庭教育会影响孩子的一生。
论据:梁启超九个子女皆是人中龙凤。
前提:父母注意对孩子的教育,孩子长大后多半会有出息。
论证:中国古代有四位著名的贤母,她们分别是孟母、陶母、欧母和岳母。孟母三迁、陶母退鱼、欧母画荻、岳母刺字,这四位母亲的故事广为传颂,说明家庭教育是孩子成才的必要条件。所以,家长们要买《梁启超和他的儿女们》一本,从成功案例中得到教育启示。
这一切似乎顺理成章,于是大家纷纷下单,秒拍秒付。但是不知道大家有没有想过,最好的家庭教育,一定是从这书本上得来的吗?大家也未必这样看,只是愿意为自己的情绪买单。
其实现实生活中这样的例子有很多,假如你和你的同事一起进入一家公司,不论从专业素养,还是从工作表现等诸多方面比较,没有孰高孰低的话。然而,有一天你却发现,你的工资比同事少了10%,你可能就会感觉到心里不舒服,并得出结论:公司的薪资待遇存在不公平的问题。
这是一个很自然的反应,因为你在不知不觉中运用了类比论证法则。
02 以果推因
以果推因,顾名思义指的是一种因果关系。从表面来看,用结果推原因似乎很有效,但实际上是一种形式谬误。
我们同样举个例子来感受一下。
论点:男人没钱,是一段恋情失败的主要原因。
论据:董宇辉说,自己当时没有钱,跟同事合租一间地下室。除此之外,自己也没有丰富的智慧和使人舒服的交流态度。
前提:如果自己当时有点钱,既能给女友安全感和陪伴感,也许女友就不会离开。
论证:纵观现实生活中许多幸福的爱情故事中,金钱不是最主要的,它可以说是因素之一,但它不是唯一。我们都喜欢一个非常丰富、健全、完美的人。所以不能把爱情=金钱。
在回忆那段青葱岁月时,董宇辉平静淡定,时而自嘲,时而沉思,着实叫人心疼。其实过来人一眼就能看出来,房子是“家的象征”,这段无疾而终的恋情,多半是因为他当时没有钱。
不管原因为何,显然结论已经不重要了。也许是一份不能拥有的遗憾,更是一种成长的美好。
不过这种推论方式的问题就在于,即使前提为真,结论也不一定为真,它可真可假。
譬如,如果汽车没油了,它就会停下来。如果你的车停下来了,那么一定是因为车没油了。
然而,以果推因的推理方法之所以会让人不由自主地使用,原因就在于它看上去类似有效的论证方法——以因推果。
以上两个例子,事虽然不同,但是道理是一样的。值得注意的是,尽管错误的论证方式很容易被识破,但是当前提含糊不清时,就很难被发现了。
03 循环论证
循环论证是指以不同的形式重复来证明一个陈述。论证形式是:A因为B,B因为A。
再来举个例子。
论点:董宇辉的父亲是一个很自省的人。
论据:在董宇辉的教育问题上,父亲经常克服自己的思维惯性,培养孩子的爱心和创新意识。
前提:在不影响他人的情况下,做自己喜欢做的事情。
论证:比如,董宇辉小时候养蚂蚁、养小鸟、养蝌蚪,父亲没有严厉的苛责,而是陪着孩子一起玩,培养孩子的爱心,更让孩子理解父母的不易。又如,在董宇辉要火的时候,他会逢人炫耀自己的孩子上电视了。等董于辉真的火了的时候,他懂得控制好自己的情绪。
有人会说我也能做到这几点呀!那只能证明你很优秀,因为这是自省的人一个很自然的反应。
现实生活中也不乏这样的例子。比如,亲戚问你上大学想学什么专业,而你没考虑好读不读大学。这是一个复合问题,需要引入循环论证。其实可以分成几个简单的问题来提问。
比如说,
1 你想不想上大学。
2 你的能力水平能考上哪类大学。
3 你能选择哪些专业。
4 你喜欢哪些专业。
5 你能在哪所喜欢的大学里学习喜欢的专业。
细心的你们会发现,归纳推理实际上就是一种循环论证。
的确如此,不过需要说明的人,循环论证在一定程度上是有效论证,但是一旦出现恶性循环,就显得毫无意义。
走进过董宇辉直播间的人,或是看过董宇辉视频方案的人不难看出,他是一个说话有逻辑的人。通过分析,我们也知道逻辑并不是高不可攀。只要掌握一些逻辑知识,就能使思想交流更顺畅,也能看穿一些谎言。
在与别人交谈的过程中,我们经常会遇到这样的问题:感觉对方说的话站不住脚,但是又不能想出办法有力反驳,其实,这就是因为我们没有系统了解逻辑学知识的关系。
在这里给大家推荐一本书《逻辑思维入门》。这本书由英国公开大学哲学高级讲师奈杰尔·沃伯顿所著。本书囊括197个逻辑学核心术语,近200个逻辑场景,按照从A至Z的顺序进行编排,犹如是一把打开逻辑思维大门的钥匙,唤醒人们对逻辑学知识的渴望。
不管是零基础逻辑思维的打工人,还是初尝逻辑知识带来红利的职场人,都值得读一读。
本文纯属个人肤浅认识,如有不妥,请各路大神批评指正!
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑 *** 作等加工,然后再按地址把结果送到内存中去。
接下来,再取出第二条指令,在控制器的指挥下完成规定 *** 作。依此进行下去。直至遇到停止指令。程序与数据一样存取,按程序编排的顺序,一步一步地取出指令。
扩展资料:
硬件通常是指构成计算机的设备实体。一台计算机的硬件系统应由五个基本部分组成:运算器、控制器、存储器、输入和输出设备。
现代计算机还包括中央处理器和总线设备。这五大部分通过系统总线完成指令所传达的 *** 作,当计算机在接受指令后。
由控制器指挥,将数据从输入设备传送到存储器存放,再由控制器将需要参加运算的数据传送到运算器,由运算器进行处理,处理后的结果由输出设备输出。
参考资料来源:百度百科—计算机工作原理
算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。程序不等于算法。但是,通过程序设计可以在计算机上实现算法。
你可能解答过一个有趣的问题人、狼、羊过河问题。有个人带着三只狼、三只羊,要过河去。有一条小船。船上除了运载一个人外,至多再载狼或羊中的任意两只。但难点是:当人不在场时,如果狼的数量大于等于羊的数量,那么羊会被狼吃掉。为了安全过河,你有什么办法呢?
解决它的算法有多个,其中一个解决方案是这样的:
开始,运一只狼过河,空船回来;
接着,运一只狼和一只羊再过河,到对岸后,再运两只狼回来;
然后,运两只羊过河,空船回来;
最后,分两次将狼全部运过河;
由此,过河问题就得以解决了。
可见,算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。它由有限步骤的 *** 作序列组成,代表着用系统的方法描述解决问题的策略机制。
算法是一组严谨定义运算顺序的规则,每一个规则都是有效的、明确的,此顺序必须在有限的次数下终止。在上面的过河问题中,如果第一步中改为:运一只狼过河,再运这只狼回来,那么,说明人没找到好办法,在反复进行无用 *** 作。此类算法,是失败的,永远也实现不了既定目标。
算法描述,一般可以使用汉、英等自然语言,比较通俗易懂。也可以使用流程图、伪代码表格等其他工具。
在古代,算法通常用于数值计算。中国古代的筹算口诀、珠算口诀及其执行规则就是算法的雏形。它所解决的是数值计算问题。现代算法,已超出数值计算范围。
程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。这些指令,可以是计算机的机器指令,也可以是汇编语言和高级程序设计语言。
程序不等于算法。但是,通过程序设计可以在计算机上实现算法。在实际应用中,也许只需一条(组)程序设计语句,就可以完成算法的基本要素处理,包括数据对象的运算和 *** 作,以及顺序、选择、循环结构的控制。通过程序模块设计,可以实现算法中的递推、递归、迭代等一系列基本算法,也包括形式演绎、数据结构、数论图论、加密解密、科学决策等复杂算法。
因此,运用计算机解决问题的过程,通常可以分成三个阶段:分析问题、设计算法和编制程序实现算法。由于计算机运算速度快,存储数据量大,大大提高了算法实现效率。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑 *** 作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定 *** 作。依此进行下去。直至遇到停止指令。
程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的 *** 作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯诺依曼于1945年提出来的,故称为冯诺依曼原理。
扩展资料:
根据计算机所采用的物理器件的发展,一般把电子计算机的发展分成四个阶段,习惯上称为四代。
第一代
电子管计算机时代(从1946年到50年代后期),其主要特点是采用电子管作为基础器件。代表机型IBM公司的IBM650。
第二代
晶体管计算机时代(从50年代中期到60年代后期),采用的主要器件逐步由电子管改为晶体管,缩小了体积,降低了功耗,提高了速度和可靠性,降低了价格。代表机型控制数据公司(CDC)的大型计算机系统CDC6600
第三代
集成电路计算机时代(从60年代中期到70年代前期),计算机采用集成电路作为基本器件,功耗、体积、价格进一步下降,速度和可靠性相应的提高。代表机型IBM公司的IBM360
第四代
大规模集成电路计算机时代(从70年代初至今),70年代初,半导体存储器问世,迅速取代了磁芯存储器,并不断向大容量、高速度发展。1984年内含2300个晶体管的Intel4004芯片问世,开启了现代计算机的篇章。
参考资料:
以上就是关于结合计算机专业特点,谈谈在学习和生活中如何做到以实际出发全部的内容,包括:结合计算机专业特点,谈谈在学习和生活中如何做到以实际出发、什么叫程序教学、计算机读取数据原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)