计算机思维基础学习总结体会

计算机思维导论学习总结体会

随着科学的发展计算机在我们生活中有着越来越重要的作用。众所周知,推动人类文明进步和科技发展的有三大科学,即理论科学,实验科学和计算科学。计算科学能作为三大科学之一,可见其意义重大。在这半个学期的计算机思维导论学习中了解到了很多计算机的基础知识,不再是片面上网,玩游戏简单的操作。

计算机思维导论一共有七章,分别是:第一章 计算机思维基础知识,第二章 计算理论与计算模型,第三章 算法基础,第四章 程序设计语言,第五章 计算机硬件基础,第六章 计算机软件基础,第七章 计算文化与计算机职业道德教育。

第一章 计算机思维基础知识

计算理论作为计算机科学的理论基础之一,其基本思想、概念和方法广泛应用于计算机科学的各个领域之中。对科学有不同的定义,达尔文爱因斯坦都有不同的定义。计算思维即运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的涵盖了计算机科学之广度的一系列思维活动。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动。计算思维的特征有:概念化,不是程序化,根本的,不是刻板的技能;是人的,不是计算机的思维方式;数学和工程思维的互补与融合;是思想,不是人造物;面向所有的人,所有的地方。计算思维的本质是抽象和自动化。计算思维代表着一种普遍的认识和一类普适的技能,因此每个人都应热心于计算思维的学习和应用。

第二章 计算理论与计算模型

第二章主要讲了:计算的几种视角,计算理论,计算模型,计算科学的数学基础。计算思维应用的领域有生物学,脑科学,化学,经济学,艺术。对计算及计算理论的产生与发展做出杰出贡献的科学家是英国的阿兰.图灵和美国的冯诺依曼。图灵为了解决纯数学的一个基础理论问题,发表了著名的“理想计算机”一文,该文提出了现代通用数字计算机的数学模型,后人把它称为图灵机。根据图灵提出的存储程序式计算机的思想,冯诺依曼及其研究小组起草了EDVAC方案,该方案有两个重要特征:一是为了充分发挥电子元件的高速性能而采用二进制;二是把指令和数据都存储起来,让计算机能自动地执行程序。目前具有这两个特征的计算机为冯诺依曼型计算机。迄今,所使用的绝大多数计算机都沿用了这种体系结构。 ① ②③

第三章 算法基础

第三章主要讲了:算法的概念,算法的描述,算法的设计,算法的评价和分析及算法中的常用数学工具。算法是解某一特定问题的一组由穷规则的集合,具有五个特征,确定性、有穷性、输入、输出、可行性。算法的特征是指算法必须有0或多个输入、但至少有一个输出,算法的每个语句都是可执行的,算法的每一步都是清晰、无歧义的,算法的执行时间必须在可接受的范围内。算法有多重描述工具,如自然语言、流程图、伪代码、程序语言等。算法常用设计策略有穷举法、递归、分治、贪心、动态规划、回溯等。同一个问题可能有多种求解算法,因此需要对算法进行评价。

第四章 程序设计语言

第四章主要讲了:程序设计语言简介,程序设计语言发展历程,命令式程序设计语言,函数式程序设计语言,逻辑式程序设计语言,标记语言和Web开发语言,SQL言语。程序设计语言是把算法编写成可以可以在计算机上运行的程序时必须遵守的程序设计规范的集合。按照与硬件的联系程度可以把程序设计语言分成三大类:机器语言、汇编语言和高级语言。现存使用较为广泛的高级语言大概有数百种,在设计思想、使用方法、适用范围等方面各不相④

同。按照设计理念和组织方式(f范型)来划分,高级语言大致可以分为命令式、函数式和逻辑式。命令式程序设计语言通过向计算机发送具体的指令以最终完成相应的任务。命令式程序设计语言又大致可以分为结构化程序设计语言和面向对象程序设计语言。

① 参考于课本第十页计算思维的定义。

② 参考于课本第21页第一章小结。

③ 参考于课本第53页第二章小结。

④ 参考于课本第79页第三章小结。

⑤ 参考于课本第107页第四章小结。 ⑤

 

第二篇:计算机二级基础总结

第一章:

1.算法是指解题方案的准确而完整的描述。如果一个问题可通过一个计算机程序,在有限的存储空间内运行有限的时间而得到正确的结果,则称这个问题是算法可解的。算法不等于程序,也不等于计算方法。

2.算法一般拥有以下几个基本特征:可行性、准确性、有穷性、拥有足够的情报。

3.算法的基本要素:(1)对数据对象的运算和操作、(2)算法的控制结构

4.计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列。计算机算法是计算机能处理的操作所组成的指令序列。计算机程序也可以作为算法的一种描述

5.计算机系统中,基本的运算和操作有以下四类:算术运算、逻辑运算、关系运算、数据传输(如赋值、输入、输出等)

6.算法中各操作之间的执行顺序称为算法的控制结构。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。描述算法的工具通常有:传统流程图、N-S结构化流程图、算法描述语言等。

7.算法的复杂度主要包括时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法的基本运算次数来度量。空间复杂度是指执行算法所需要的内存空间。

8.数据结构主要研究以下三方面的问题:

  (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构

  (2)在对数据进行处理时,各数据元素在计算机中的存储关系,及数据的存储结构。

  (3)对各种数据结构进行的运算。

研究以上问题的主要目的是提高数据处理的效率。提高数据处理的效率主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间。

9.数据处理是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,也包括对数据元素进行分析。

10.数据结构是指相互有关联的数据元素的集合。数据元素含义广泛,可以是现实世界中客观存在的一切个体。

11.数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。一个数据的逻辑结构应包含以下两方面的信息:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。即一个数据的逻辑关系可以表示成:B=(D,R),其中B表示数据结构,D以二元组表示前后件关系

12.数据的逻辑结构在计算机存储空间中的存放形式成为数据的存储结构(也称为数据的物理结构)。常用的存储结构有:顺序、链接、索引等。采用不同的存储结构,其数据处理的效率是不同的

13.在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,用有向线段从前件结点指向后件结点表示两个结点之间的前后件关系。

14.在数据结构中,没有前件的结点称为根节点;没有后件的结点称为叶子节点。除了根节点和叶子结点外的其他结点称为内部结点。

15.数据结构中元素节点可能是动态变化的:

插入运算:在一个数据结构中增加一个新的节点;

删除运算:在一个数据结构中删除某个节点;

对数据结构的运算还有:查找,分类,合并,分解,复制,修改;

补充:在对数据结构的处理过程中,不仅数据结构中的节点(即数据元素)的个数在动态变化,个数据之间的关系也可能动态变化。

16.空的数据结构:一个数据结构中一个数据元素都没有;

根据数据结构中各数据元素之间的前后件关系的复杂程度,将数据分为两大类型:线性结构与非线性结构。(线性结构又称线性表);

在一个线性结构中插入或删除任何一个节点后还是线性结构;一个数据结构不是线性结构,则称之为非线性结构;

线性结构与非线性结构都可以是空的数据结构。一个空的数据结构究竟是属于线性结构还是非线性结构,这要根据具体情况来确定。如果对该数据结构的运算是按照线性结构的规则来处理的,则属于线性结构;否则属于非线性结构。

17.线性表是最简单,最常用的一种数据结构。

   矩阵也是一个线性表,只不过它是一个比较复杂的线性表。

   在某种复杂的线性表中,由若干数据项组成的元素称为记录,而由多个记录构成的线性表又称为文件。

   线性表是一种线性结构。

18.线性表的顺序存储结构的两大基本特点:

·           线性表中所有元素所占的存储空间是连续的;

·           线性表中各数据元素在存储空间中是按逻辑顺序依次存放的;

·           在顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定。

·           线性表的顺序存储结构对小线性表或者元素不常变动的线性表来说是合适的,对于元素经常变动的大线性表就不太合适了。

19.栈实际上也是线性表,只不过是特殊的线性表。在这种特殊的线性表中,其插入与删除运算都只在线性表的一端进行。即在这种线性表的结构中,一端封闭,不允许进行插入与删除元素;另一端是开口的,允许插入与删除元素。

   栈按照“先进后出”的原则组织数据。

   往栈中插入一个元素称为入栈运算,从栈中删除一个元素(即删除栈顶元素)称为退栈运算。

20.队列:是指允许在一端进行插入,而在另一端进行删除的线性表。

   队列又称为“先进先出”的线性表。

   往队列的队尾插入一个元素称为入队运算,从队列的排头删除一个元素称为退队运算。

21.在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向改结点的前一个或后一个结点。

   在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是指针域来确定的。

   链式存储方式既可用于表示线性结构,也可用于表示非线性结构。

   线性表的链式存储结构称为线性链表。

22.栈也是线性表,也可以采用链式存储结构(我们称为“带链的栈”)

   队列也是线性表,也可以采用链式存储结构。

23.树是一种简单的非线性结构。

二叉树是一种非常有用的非线性结构,有两个特点:

·           非空二叉树只有一个根节点;

·           每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

二叉树的几个性质:

·           在二叉树的第k层上,最多有个结点;

·           深度为m的二叉树最多有个结点。

·           在任意一棵二叉树中,度为0的结点总是比度为2的结点多一个。

·           具有n个结点的二叉树,其深度至少为,其中表示取的整数部分。

满二叉树:除最后一层外,每一层上的所有结点都有两个结点。

完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

对于完全二叉树而言,叶子节点只可能在层次最大的两层上出现;对于任何一个结点,若其右分支下的子孙结点的最大层次为p,则其左分支下的子孙结点的最大层次或为p或p+1。24.完全二叉树的两个性质:

·           具有n个结点的完全二叉树的深度为

·           设完全二叉树共有n个结点,如果从根节点开始,按层序进行编号,则对于编号为k(k=1,2,…,n)的结点有以下结论:

1)   若k=1,则该结点为根节点,它没有父节点;若k>1,则该结点的父节点编号为int(k/2).

2)   若2kn,则编号为k的结点的左子节点编号为2k;否则该结点无左子节点(显然也没有右子节点)

3)   若2k+1n,则编号为k的结点的右子节点编号为2k+1;否则该结点无右子节点

二叉树通常采用链式存储结构。

25.二叉树的遍历:(要点)

前序遍历——是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树。

中序遍历——首先遍历左子树,后访问根节点,最后遍历右子树。

后序遍历——首先遍历左子树,然后遍历右子树,最后访问子节点。

26.顺序查找

如果线性表是无需表,则不管是顺序存储结构还是链式存储结构,都只能用顺序查找;

即使是有序线性表,如果采用链式存储结构,也只能用顺序查找;

27.二分法查找

当有序线性表为顺序存储时才能用二分法查找;

对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较次,而顺序查找需要比较n次。

28.交换类排序法

假设线性表的查毒为n,则最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为

快速排序法的关键是对线性表进行分割,以及对各分割出的子表再进行分割。

29.插入排序法

简单插入排序在最坏的情况下,需要次比较。

30.选择类排序法

简单选择排序法:最坏的情况下需要比较

堆排序的方法:对于小规模的线性表并不适合,但对于较大规模的线性表来说是很有效的。在最坏的情况下,堆排序需要比较的次数为

第二章:

1.程序设计

程序注释:注释一般分为序言性注释和功能性注释

视觉组织:为使程序的结构一目了然,可以在程序中利用空格,空行,缩进等技巧使程序层次清晰。

2.结构化程序设计方法的主要原则如下:自顶向下,逐步求精,模块化,限制使用goto语句

结构化程序的三种基本控制结构:顺序结构,选择结构,重复结构(又叫循环结构)

3.对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。通常把对象的操作称为方法或服务。

属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变,属性值应该指的是纯粹的数据值,而不能指对象。

对象的五个基本特点:标识唯一,分类,多态,封装,模块独立性好。

4.类是具有共同属性,共同方法的对象的集合。类是对象的抽象,一个对象则是对应类的一个实例

消息,是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流控制流

5.继承:是使用已有的类定义为基础建立新类的定义技术。可分为单继承与多重继承。

单继承是指,一个类只允许有一个父类。多重继承是指,一个类允许有多个父类。

6.多态性:是指子类对象可以像父类对象那样用,同样的消息既可以发送给父类对象也可以发送给子类对象。

第三章

1.软件由两部分组成:一是及其可执行的程序和数据;而是及其不可执行的,与软件开发、运行、维护、使用等有关的文档。

2.软件工程三个要素:方法,工具,过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

软件工程的核心思想是把软件产品看做是一个工程产品来处理。

·           软件工程的四种基本活动:软件规格说明(规定软件的功能及其运行时的限制),软件开发(产生满足规格说明的软件),软件确认(确认软件能够满足客户提出的要求),软件演进(为满足客户的变更要求,软件必须在使用的过程中演进)

·           软件的生命周期可以分为软件定义(包括可行性研究初步项目计划和需求分析),软件开发(包括概要设计,详细设计,实现,测试)及软件运行维护(使用,维护,退役)三个阶段。

·           软件工程的基本原则(原理)包括抽象(采用分层次抽象,自顶向下,逐层细化的方法控制软件开发过程的复杂性),信息隐蔽,模块化,局部化(高内聚,低耦合,内聚性是一个模块内部各个元素见彼此结合的紧密程度;耦合性是模块间互相连接的紧密程度,确定性,一致性,完备性,可验证性。

·           软件开发方法包括分析方法,设计方法和程序设计方法

3.需求分析阶段的工作的四个方面:需求获取,需求分析,编写需求规格说明书,需求评审

需求分析方法:结构化分析方法,主要包括面向数据流的结构化分析方法和面向数据结构的Jackson方法,面向数据结构的结构化数据系统开发方法;面向对象的分析法

4.重点(

结构化分析就是使用数据流图(DFD数据字典(DD),结构化英语,判定表和判定树等工具,来建立一种新的称为结构化规格说明的目标文档。

(注意:这里的内容一定要认真看,设计一些特殊符号,这里我无法整理下来)

数据字典(DD):是结构化分析方法的核心。数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。

5.经常使用的结构图有四种模块类型:传入模块,传出模块,变换模块,协调模块

建议:看下的一般模块,数据信息,控制信息的几个图形,熟悉就行

6.详细设计:

常见的过程设计工具如下:

图形工具:程序流程图,N-S,PAD,HIPO

表格工具:判定表。

语言工具:PDL(伪码)

建议:流程图的三个图形分别代表控制流,加工步骤,逻辑条件可适当记忆。

7.软件测试:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试的6个准则:所有测试都应追溯到需求;严格执行测试计划排除测试的随意性;

充分注意测试中的群集现象;程序员应避免检查自己的程序;穷举测试不可能;妥善保存测试计划 测试用例 出错统计和最终分析报告为维护提供方便

8.软件测试技术与方法

若从是否需要执行被测软件的角度,可以分为静态测试和动态测试;

若按照功能划分可以分为白盒测试和黑盒测试。

白盒测试:也叫结构测试或逻辑驱动测试,在程序内部进行,主要用于完成软件内部操作的验证;基本原则:保证所测模块中的每一独立路径、每一分支、每一循环都至少执行一次,验证所有内部数据的有效性。白盒测试属于穷举路径测试

白盒测试主要有逻辑覆盖,基本路径测试等。

8.黑盒测试:也叫功能测试或数据驱动测试。

主要有等价类划分法,边界值分析法,错误推测法,因果图等   

9.软件测试过程的4个步骤:单元测试,集成测试,验收测试(确认测试)和系统测试。

其中单元测试是推软件设计的最小单位——模块进行正确性检验的测试,目的是发现各模块内部可能存在的各种错误。其依据是详细设计说明书和源程序。

单元测试的技术可以采用静态分析和动态测试。对动态测试通常以白盒动态测试为主,辅之以黑盒测试。

·           集成测试是测试和组装软件的过程。主要目的是发现与接口有关的错误。

·           确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全,正确。(确认测试的事实首先运用黑盒测试方法

·           系统测试是通过测试确认的软件,作为整个基于计算机系统的一个元素,与计算机硬件,外设,支持软件,数据和人员等其他系统元素组合在一起,在实际运行环境下对计算机系统进行一系列的集成测试和确认测试。目的是在真实的系统工具环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。

系统测试一般包括:功能测试,性能测试,操作测试,配置测试,外部交口测试,安全性测试等。

10.程序调试的任务:是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误,,软件测试贯穿整个软件生命期,调试主要在开发阶段。

程序调试的三个步骤:错误定位;修改设计和代码,以排除错误;进行回归测试,防止引进新的错误。

软件调试的三个方法:强行排错法,回溯法,原因排除法。

第四章:

1.数据库管理系统的三种数据语言:数据定义语言,数据操纵语言,数据控制语言。

上述数据语言按其使用法师具有两种结构形式:交互式命令语言,宿主型语言。

目前流行的DBMS均为关系数据库系统。

2.DBS数据库系统的五个组成部分:数据库,数据库管理系统,数据库管理员,硬件平台,软件平台。

3.数据管理发展的三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。

4,数据库系统的四个基本特点:数据的集成性,数据的高共享性与低冗余性,数据独立性,数据统一管理与控制。

数据独立性:分为物理独立性和逻辑独立性。

物理独立性:数据的物理结构的改变不影响数据库的逻辑结构,从而不会引起应用程序的变化;

逻辑独立性:数据库总体逻辑结构的改变,不需要相应修改应用程序。

5.数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式,内部级模式,外部级模式;二级映射则分别是概念级到内部级的映射以及外部级到概念级的映射。

A,概念模式是数据库系统中全局数据逻辑结构的描述,主要描述数据的概念记录类型以及他们间的关系,它还包括一些数据间的语义约束,对它的描述可用DBMS中的DDL语言定义。

B.内模式又叫物理模式,给出了数据库物理存储结构与物理存取方法。

·           内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了用户对数据的要求。

6.数据模型按不同的应用层次分成三种类型:概念数据模型,逻辑数据模型,物理数据模型。

逻辑数据模型有多种,大量使用过的有:层次模型,网状模型,关系模型,面向对象模型。

7.E-R模型

实体:实体是概念世界中的基本单位,是客观存在的且又能相互区别的食物。凡是有共性的实体可组成一个集合成为实体集。

属性:属性刻画了实体的特征。一个实体往往可以有若干个属性,每个属性可以有值,一个属性的取值范围称为该属性的值域或值集。

联系:反映了实体集间的一定关系。

两个实体集间的联系有:一对一,一对多,多对多。

8.E-R模型的图示法:

矩形表示实体集,椭圆表示属性,菱形表示联系,无向线段表示实体集与属性的联接。

9.层次模型:层次数据模型支持的操作主要有查询,插入,删除和更新。

10.网状模型(属于逻辑数据模型):

11.关系模型(属于逻辑数据模型):

关系模型采用二维表来表示,简称表。

每行数据称为元组

关系模型中的一个总要概念是码或键,具有表示元组,建立元组间联系等重要作用。

在二维表中凡能唯一标识元组的最小属性集称为键或码

从二维表的所有候选键中选取一个作为用户使用的键称为主键或者主码。表A中的某属性集是某表B的键,则称该属性集为A的外键或外码。

12.关系中的数据约束包括:实体完整性约束,参照完整性约束,用户定义的完整性约束。

实体完整性约束:要求关系的主键中属性值不能为空值。

参照完整性约束:关系之间的相关联的继本月数,不允许关系引用不存在的元组。

13.关系模型的基本运算(见) 存在符号运算,未有举例,必考,可以搜集相关试题

14.数据库概念设计的过程。

视图设计的三个步骤:自顶向下,由底向上,由内向外。

15.数据库的逻辑设计

从E-R图向关系模式转换

实体与联系都可以表示成关系。

E-R图中允许出现非原子属性,但在关系模式中一般不允许出现非原子属性,非原子属性主要有集合型和元组型。出现此种情况时可以进行转换,其转换办法是集合属性纵向展开而元组属性则横向展开。

16.数据库物理设计的主要目标是对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。

17.数据库的简历包括两部分内容,数据模式的建立与数据加载。

相关推荐