
大家都知道我们学习计算机是希望用计算机来求解社会自然问题,
换句话说,就是通过计算手段求解社会自然问题
对于我来说,就是为了防止脑子生锈……
首先看看人计算:
人计算的是数学学科要研究的内容,它主要为我们提供了求解各种问题的一些计算方法,它可以让我们利用这些方法获得计算结果。
而对于计算机学科来讲,那么主要研究的是让机器自动计算,因此机器自动计算是计算机科学要研究的问题。
点与面的关系……
这就要涉及到几个问题 了
第一个我们说涉及到程序,大家都知道计算机学科里面很重要的一个概念就是程序,就是要编写程序,因此我们这门课呢要求大家理解这个程序是如何对机器自动执行的,这里面就是一道程序和系统之间的关系。
那么第二来讲呢,我们说如何编写机器可以执行的程序呢?
那么这个时候就涉及到计算机语言,以及如何将用计算机语言编写的程序,翻译成机器可以执行的程序。我们说这就是编译
第三个问题,要解决如何构造求解问题的算法。也就是说从问题到算法,到程序,我们说这些内容是属于机器自动计算的这样一个范畴。主要用于求解,主要用于理解这个计算系统如何构造。
如果这个计算量特别的大,那么机器在有限的时间内,比如说几秒钟,长一点几分钟几十分钟之内,那么求解不出来,甚至求解这个问题可能需要几年几十年,那这样的,我们说这属于机器难以计算。
实际上我们需要探讨哪些问题是可求解的问题,哪些问题是难求解的问题
对于这些难求解的问题,我们如何降低这些计算量?那么这就涉及到计算和算法,也就是在这个里面的算法主要强调是降低计算量,因为我们按照标准的计算量,那么可能很难计算来在短时间内难以计算出来,那么这个时候我们说怎么样通过降低计算量构造一些算法,所以说算法的目标在降低计算量。
可以借鉴自然界生物的一些规律,可以借鉴一些其它类型的这种计算系统,我们说可以去研究不同的算法,我们说机器自动计算和机器难于计算,这构成了计算机科学的研究内容。
如何针对具体的社会/自然问题如何计算? 这是一个很重要的方面。
这是我们要解决的过程
所以我们这门课程,主要是从机器自动计算,要解决「程序与系统」「语言与编译」「问题到算法到程序」,那么进一步到「可求解、难求解」,接着讲「计算与算法」和「怎样研究算法」,然后我们说还要学习一些「怎样结合具体的社会自然问题,用计算学科的这种手段来进行求解」,这是我们这门课程内容的基本脉络。
所以我们说,这样的话,由「数学+计算机科学」,那么扩展到了计算科学
5min的视频,所蕴含的信息量……真得让人难受!!!没办法,谁叫你不能用自己的话重述这些内容……
我们要学习一些计算思维,我们要学哪些计算思维呢?我通过这样一棵树来给大家反映一下,也就是这些思维是需要我们在这门课程当中要学习的,可能我们这里面列的一些思维大家还不能够完全理解,没有关系,我们在后面的课程当中,将深入的解释这里面的各个思维的一些内涵。

这棵树很重要的就是树根,而这个树根是整棵树的一个源头,即你想要理解整棵树上的思维,那么这个树根上的思维是必须要理解的。这里面就包括了「0和1的思维」、「程序的思维」、「递归的思维」,那么这几个思维对于理解程序是如何被计算机执行的,这是很关键的,所以我们把它称为叫做奠基性思维。

另外一方面,我们可以看这个树干。这个树干是衍生各个树枝的一个重要的部分,所以在这树上很重要。 那么对于我们计算机来讲,那么大家知道在这个树干上最主要的是体现了一些计算环境,计算环境的演化。
我们说从冯诺依曼计算机到个人计算环境到并行分布环境到云计算环境,
我们说从早期的计算机到现在的云计算机,这是一场反映了计算环境的这样一个演化,那么大家可能对什么是云?什么是并行分布?还不理解,这没有关系,但是我们要知道这是从早期的计算机过渡到现在的计算机。
我们在后面的内容中还会给大家进一步介绍。

可以看到这棵树,每一个树枝都出现为两种颜色,那么也就是说在每一个树枝的研究过程当中都要涉及到两个方面的内容,一个就是要构造算法,一个就是要构造系统,那么算法有算法的思维,系统有系统的思维,算法的思维侧重于数学建模,而系统的思维侧重于非数学建模,那么这两种能力都是大家不可或缺的能力。

进一步来看,我们说这每一个树枝上,即在树叶这个位置上,大家看到这里面都在计算,比如说计算金融学、计算统计学、计算经济学、计算化学、计算物理学、计算语言学、量子计算、光子计算、企业计算、智能计算、计算工程学、服务计算、社会计算、媒体计算等等。
那么这些分支学科都是计算机和社会/自然相互融合的所产生的一些新的学科,那么这些新的学科广义上来讲,我们可以把它称为叫做计算科学。

我们深入来看这个计算科学,我们可以这么来看,从树叶到树干这个方向,我们说从外到内来看,这体现了一种抽象,这说明是将自然现象的这种面向计算的表达,和推演,这样一种思维我们要理解,所以它的本质就是抽象。
那么另外一个从树干到树叶,它所体现的是计算求解的自然化,也就体现了自动化的含义,换句话说从树干到树叶,自动化程度越来越高,换句话说用社会/自然所接受的形式体现计算及结果,那么这个程度也越来越高。所以我们说这个计算与社会/自然相互融合的一个结果,它最本质的就是抽象和自动化。

典型的来讲,有以下这三种
我们来看第一种就是语言和编译器。
语言和编译器解决了人和计算机交互的问题。人通过计算机语言编写程序,那么机器则根据这个计算机语言来理解这个程序,执行这个程序。
那么怎么样把这种语言编写的程序翻译成机器能够执行的程序呢?那么这个自动化的手段就是编译器,因此语言和编译器是很重要的抽象自动化机制。
另外一个就是协议和编解码器 。协议和编解码器解决了机器和机器之间、计算机和计算机之间、物体和物体之间的一个??我们说交流沟通的这样一个机制。
那么大家都遵循相同的协议来处理问题,而执行这个协议的自动化的手段就是广义上的编码器、解码器、处理器、变换器等等。
那么另外一个更大层面的抽象与自动化机制就是模型和系统。那么对于模型来讲,那么它可以从业务模型融合到计算模型,而系统是执行这个模型的。
我们在这里面大家看到这三种抽象自动化的这种机制也是很重要的。当然这个抽象自动化不仅仅是这三个方面,我们实际上整个这棵树的背后,它的最本质的东西,最核心的东西也是抽象与自动化,比如说像「0和1」「程序」「递归」这都是抽象和自动化的最直接的这样一个体现。

进一步把这棵树从内向外画分成三个半圆,大家看到我们要从树干向树叶方向划分
我们说向右向发展,大家可以看到这里面体现的是一种数据化的思维,也就是从数据库、数据挖掘、数据分析到现在这个大数据。那么我们知道大数据改变了人的很多观念。所以在这里面大家可看到数据化思维很重要。
那么我们往左边来看,实际上是由机器网络到现在这种信息网络到现在的网络化社会,我们说在这里面体现一种网络化的思维
这说明了什么呢?也就是说对于这个树干上的每一个分支,我们都可以从内向外去延伸,我们都可以看到它有数据化的思维,它可以有网络化的思维。
所以现在社会/自然和计算的融合,一方面是强化了数据化思维,一方面是强化了网络化思维。所以我们在这里面大家可要对这个思维要有所理解。
那么可能对这里面的一些概念我们还不是很明白,可这没有关系,我们在后续的课程当中要对这些内容要做一些更细致的讲解,大家也不仅仅从我们这门课程当中,学习这些术语,学习这些概念,而且在其它课程当中都会深化对这些概念的理解。

所以我们说我们计算机科学、计算机科学与技术从早期的计算机衍生出来,发展出来,我们现在到了计算机科学,那么进一步的发展和社会/自然的相互容许相互融合,就形成了计算科学。所以我们说这些计算思维是我们在课程当中要深入理解和学习的,我们希望大家在后续的课程学习当中对这些内容有深入的理解。

计算机科学与软件工程的区别?
参考:“计算机科学”与“软件工程”有什么区别?哪个专业更适合你?
这两个专业的概述:
学科与科学的区别?
参考:说明文:科学与学科的不同
科学是符合客观规律的系统的思想理论体系,而人要了解自然或社会,就必须了解的详细,这就有了分门别类的认识和研究,而每一类,就成为了学科。
学科和科学的分别,恰恰仅仅在于前者不一定是符合客观规律的理论体系,后者则是符合客观规律的理论体系
偶遇的知识分类
来自这儿:人文学科和社会科学有什么区别?分别包括哪些学科? - 四四四毛的回答 - 知乎 https://www.zhihu.com/question/22488479/answer/33909381

传送门:学科列表
自然属性和社会属性?什么鬼??
自然属性:就是某一事物本身就有的性质! 比如人:人的自然属性是指人的肉体存在及其特性。 比如商品:商品的使用价值是它的自然属性 社会属性:指这一事物处在某一事物中所具有的性质。 比如人:它的社会属性是指在社会实践活动的基础上人与人之间发生的各种关系。 比如商品:它的社会属性是价值。