Crash Course Computer Science

计算机速成课个人理解概要

1.计算机的本质

计算机的本质:极其简单的组件,经过一层层复杂的抽象,做出复杂的工作

2.控制电流的技术发展

继电器→真空管→晶体管 拥有了细微控制电流的手段

tip:早期机械计算机,被虫子(bug)卡住引发故障,故现代编程有debug之称

3.电流可以传递信号,通过电路逻辑门可以参与逻辑运算

二进制:通电1 断电0 防干扰,拥有数学布尔代数的现成优势

基于此引出基本的逻辑电路

抽象

特点

NOT 非门

真假反转

AND 与门

同真为真,一假即假

OR 或门

一真为真,同假为假

XOR 异或门

同假异真

可将逻辑门用符号简化,抽象使得工程师更加关注于整体而不必关心细节

4.信号可以存储信息

0 1 皆为1位 bit 8位为1字节 byte

数的存储

整数,一位符号位,其余皆数位

浮点数 符号位 指数位 有效数位

ASCII Unicode

5.逻辑门可以抽象成算术逻辑单元

算术逻辑单元 ALU,Arithmetic&Logic Unit

由一个算数单元和一个逻辑单元组成

算数单元:

由基础的门组件抽象成半加器(只能用于一位运算),多个半加器抽象成一个全加器(可用于多位运算)

逻辑单元:

执行逻辑操作及数值验证操作

把算数逻辑单元再次进行抽象,用V表示

tips:算数单元处理位数有限,超过位数会溢出

6.逻辑门可以抽象成存储结构

使用逻辑门可抽象成锁存器(存储一位),多个并列的锁存器抽象成一个寄存器(可用于多位存储)

使用门锁矩阵有利于统筹管理,对访问和修改的权限进行限制

内存是由多个存储模块抽象出来的

7.逻辑门的抽象组合成更高的抽象 :cpu

cpu负责执行程序,时钟精准地调控着CPU的运行节奏

cpu内部如果用一条线连接两个组件,这条线是所以必要线路的抽象

cpu工作过程主要有三步:取指令,解码,执行

8.强大而抽象的控制方式 :指令与程序

指令集是指令的使用说明,不同指令具有不同简单的功能,多个指令组合成强大的程序,可以去处理复杂的任务。

9.现代CPU的性能性能提升

使用新的制造工艺

增加核心数

提高时钟频率

增加缓存容量

改进设计架构

10.早期的编程方式

纸带,插板,开关

11.编程语言的发展

机器码

汇编

低级语言

高级语言

12.语句与函数

语句:描述一种状态

函数:实现一种单一的功能

13.算法

算法是一种处理数据的手段,人们常常用它寻找最优解,针对算法的效率提出了时间复杂度和空间复杂度

14.数据结构

数据结构是一种组织数据的手段,针对不同的数据,不同的问题,具有不同的组织方式

15.图灵机

图灵机可以解决一切计算问题但不能解决一切问题,和图灵机一样完备叫作图灵完备,通过图灵测试则证明计算机达到了智能程度

16.软件工程

把相关函数打包成对象的思想叫作面向对象编程

通过程序编程接口API可以控制访问,选择性公布功能 public private

通过 ide, debug tools, git, qa, alpha等方式,保证软件的质量

17.集成电路与摩尔定律

从分立元件到集成电路ic 通过PCB印刷电路板实现

光刻技术的进步使得小型化成为现实

摩尔定律总结了性能和成本的规律但正在受到光波长,量子效应的挑战

18.操作系统

os也是一种程序,具有操作硬件的特殊权限,运行管理着其他的程序,充当着软硬件之间的桥梁

为程序分配运算资源,存储资源,保障程序安全有序地进行

为硬件提供 i/o接口,使之抽象成软件,进而对其进行操纵

19.存储技术的发展

技术创新使得存储的效率越来越高,考虑到整体的性价比,混合存储最为有利

20.文件系统

区分不同的文件格式,可以方便存取数据,支持特定应用

文件系统可以进行资源管理和保护数据

21.压缩

通过对于数据的压缩,我们可以存储更多数据和传输数据的速度也可以更快

主要分为无损和有损两大类,依据人类的感知而定

22.命令行界面

输入命令计算机会给予回应

23.屏幕与图像显示

随着物理的发展和人机交互的进一步需求出现了屏幕

进而催生了图像显示

24.政府和消费者促进计算机发展

政府巨额投资促进计算机科学的发展

消费者的选择决定计算机技术的表达形式

25.个人计算机革命

技术进步推动生产力的提升,计算机成为相对廉价的产品

26.图形化用户界面GUI

事件驱动编程,(函数指针)

所见即所得

27.3D图形

3D转化为2D在计算机上显示

28.计算机网络

每个计算机都有一个固定的MAC地址,用于计算机之间的通信识别,多个计算机可以组成一个局域网,局域网以上可能有更大的区域网络,从另一个有固定MAC的计算机获取数据时可能跳转多个层级局域网,而在经过传输媒介获取数据的过程中可能出现冲突,可以使用交换器将计算机分组避免,传输数据也可以将数据分组以使用数据包来运输

29.互联网

互联网是更大的计算机网络连接着更多的计算机,为了实现数据传输的要求,我们制定了诸多的协议,为了便于人类的检索习惯我们将域名和ip地址一一对应财采用树状检索,为了使通信变得高效我们抽象了OSI(开放式系统互联网通信参考模型),一共七个层级

30.万维网

万维网运行在互联网上,它的组成基本单位是网页,我们使用超链接进行网页之间的跳转,使用状态码标出网页的状态,每一个网页都有唯一的URL,使用http和html等便于我们传输网页数据和展示网页内容

万维网的诞生基础和万维网的检索方式,以及传输数据的公平性

31.计算机安全

核心是只有被授予权限的人才可以使用计算机

针对权限的人我们要具有验证的方式

针对计算机,我们要保证计算机本身的稳定性和数据的完整性

32.黑客与攻击

针对计算机安全进行破解,如漏洞的利用,身份的欺骗等,通常是为了谋取利益

33.加密

加密是为了保护数据的安全,

要对数据进行解密就需要规定对加密数据解密的形式与规则

常见的有两种,对称加密和非对称加密

34.机器学习与人工智能

对得到的样本更具特性进行分类,对不同特性施加权重,在大量数据的总结下,针对一个问题可以得到解,前提是问题,方法是已知的

35.计算机视觉

计算机通过对像素的局部或整体的分析,用以识别图像的信息,从而达到正确的反馈

36.自然语言处理

针对人类的自然语言进行数据化处理

37.机器人

打造似人的机器,用来代替人来为人类服务

38.计算机心理学

人本思想,所有的造物应该以人类为中心,计算机更应该如此,计算机的一次次技术发展也是人类选择的原因

39.教育科技

计算机的发展促进了教育表现的形式,可以使人类更加高效地学习

40.奇点,天网和未来

计算机作为人类的造物,如果智能强于人类,那么会带来什么结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探索GDB:Linux下强大的调试神器

目录 一、GDB简介:源码级调试的基石 二、GDB基础操作:从入门到熟练 启动与基本命令 三、GDB进阶功能:解锁更深层次的调试能力 1. 回溯追踪:洞察调用栈 2. 动态内存检测:揪出内存问题 3. 条件断点与观察点&#…

制氢机远程监控运维方案

制氢机远程监控运维方案 在当今能源转型的大背景下,氢能作为清洁、高效且可再生的能源载体,其重要性日益凸显。而制氢机作为氢能产业链中的关键设备,其稳定运行与高效运维对于保障氢气供应、推动氢能产业健康发展至关重要。在此背景下&#…

基于Linux系统命令行安装KingbaseES数据库

人大金仓通用性数据库(Kingbase)下载网址:人大金仓-成为世界卓越的数据库产品与服务提供商 选择“软件版本-数据库”,筛选条件Linux、完整版。找到需要的版本,点击下载。我下载的是KingbaseES_V008R006C008B0014_Lin6…

Java中空指针异常

在Java中,大家对于空指针异常(NullPointerException)应该都不陌生,它是由于我们尝试调用了一个空引用的方法或访问其属性所产生的。下面是几个常见的原因: 1.在对象实例上调用方法,但在运行时对象为null。…

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题 运行下面的命令:. 首先确认已经安装keplergl pip install keplergl然后运行下面两条命令: jupyter nbextension install --py --sys-prefix keplergl jupyter nbextension enabl…

实现Spring底层机制(二)

文章目录 阶段2—封装bean定义信息到Map1.代码框架图2.代码实现1.文件目录2.新增注解Scope存储单例或多例信息Scope.java3.修改MonsterService.java指定多例注解4.新增bean定义对象存储bean定义信息BeanDefinition.java5.修改pom.xml增加依赖6.修改容器实现bean定义信息扫描Sun…

nginx开启basic认证

basic认证也叫做http基本认证,防止恶意访问 首先用在线网站生成一个叫做htpasswd的账号密码文件。 将生成结果复制到/etc/nginx/htpasswd文件中 在server的location中配置 server { listen 80; server_name a.com;location / { root html;index index.…

springcloud alibaba 整合seata的TCC

一、seata服务端搭建同上篇。 Seata的AT模式客户端两阶段提交流程源码分析 二、seata客户端的结构 1.示例DEMO工程 下单,扣余额, 减库存。 2. MAVEN配置。 父工程:由于spring-cloud-starter-alibaba-seata依赖的seata-spring-boot-starter…

顺序栈着三种结构定义及其初始化

定义 顺序堆栈这三种结构定义及其初始化 - 知乎 (zhihu.com) 根据以上链接得到: 1.理解为数组,top是这个数组的索引值;定义这个结构体类型时,系统不分配空间 在主函数声明时,定义了关于这个结构体的变量&#xff0c…

Java 【数据结构】 二叉树(Binary_Tree)【神装】

登神长阶 第五神装 二叉树 Binary-Tree 目录 🎷一.树形结构 🪗1.概念 🎸2.具体应用 🎹 二.二叉树(Binary Tree) 🎺1.概念 🎻2.表现形式 🪕3.特殊类型 &#x1f941…

自己手动在Linux上实现一个简易的端口扫描器

背景 常常听到网络攻击有一个东西叫做端口扫描器,可以扫描指定服务器开放的端口,然后尝试连接,并寻找漏洞,最终攻破服务器。而那些使用的端口扫描器都是一个个现成的程序,看上去很厉害的样子。而实际上这些东西对于懂…

【前端技术】HTML基础入门篇

1.1 HTML简介 ​ HTML(HyperText Markup Language:超文本标记语言)是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组…

投资网站汇总

1、 中信证券(600030)历年财务指标——亿牛网https://eniu.com/gu/sh600030/cwzb 2、 3、 4、

上海计算机学会2022年11月月赛C++丙组T3最长平台

题目描述 给定一个整数数列 a1​,a2​,…,an​,请找出最长平台。所谓平台,就是指数列中一段连续的、完全相等的数字,单个数字也可以成为一个平台。最长平台可能不止一个,在找到最长平台的同时,输出最长平台的数量。 …

每日一题 —— 最大子数组之和(动态规划)

1.链接 53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 2.描述 3.思路 4.参考代码 class Solution { public:int maxSubArray(vector<int>& nums) {int n nums.size();vector<int> dp(n1,0);int ret INT_MIN;for(int i 1;i<n;i){dp[i] ma…

跟着野火从零开始手搓FreeRTOS(6)多优先级的配置

在 FreeRTOS 中&#xff0c;数字优先级越小&#xff0c;逻辑优先级也越小。 之前提过&#xff0c;就绪列表其实就是一个数组&#xff0c; 里面存的是就绪任务的TCB&#xff08;准确来说是 TCB 里面的 xStateListItem 节点&#xff09;&#xff0c;数组的下标对应任务的优先级&a…

jpa 和 mybatis 的优缺点

JPA&#xff08;Java Persistence API&#xff09;和 MyBatis 是两种广泛使用的 Java 持久化框架&#xff0c;它们各自具有独特的优点和适用场景。下面分别列举了 JPA 和 MyBatis 的主要优缺点&#xff1a; JPA&#xff08;包括 Spring Data JPA&#xff09;的优点&#xff1a;…

MariaDB简介

MariaDB是一个关系数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;是MySQL的一个分支&#xff0c;主要由开源社区维护和开发。 一&#xff0c; MariaDB的来历 1. **起源**&#xff1a;MariaDB的诞生与MySQL的所有权变更有关。MySQL最初由MySQL AB公司开发&#xff…

【Camera Sensor Driver笔记】五、点亮指南之Actuator配置

<slaveInfo> actuatorName dw9714v dirver IC 型号 slaveAddress 0x18 i2c write address i2cFrequencyMode FAST i2c 操作频率(400KHz) actuatorType VCM/BIVCM 马达类型 BIVCM&#xff08;中置马达&#xff…

ROS 2边学边练(33)-- 写一个静态广播(C++)

前言 通过这一篇我们将了解并学习到如何广播静态坐标变换到tf2&#xff08;由tf2来转换这些坐标系&#xff09;。 发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如&#xff0c;在以激光扫描仪中心的坐标系中推理激光扫描测量数据是最简单的。 这…