CSC1001-课后笔记

前言:为什么编写此文

1.  根据费曼的学习方法

Pretend to teach your topic to a classroom. Make sure you're able to explain the topic in simple terms. 假装你在教室里向学生解释这个主题,用尽量简单的词汇去描述它,力求学生能听懂。(听众可以是人,也可以是你的毛绒玩具)。

再将学习的内容复习一遍可以加深理解。

2. 本课程是全英文授课,或许会涉及一些中文圈子没有涉及的新知识,本人卑微的起到将英文知识搬运到中文社区的作用,助力祖国发展!(强行赋予意义)。

第一讲:编程介绍

1. 计算机硬件

计算机硬件,大框代表一个程序

计算机的主要构成:

1. CPU:执行你的程序

2. 输入设备 

3. 输出设备

4. 主存储器:存储数据,快,临时存储

5. 二级存储:慢而大,永久性存储

内存/存储器

原文为“Memory/Storage”。在IT应用行业中,这两个单词代表的都是“计算机内部存储空间”的意思,Memory通常翻译成“内存” …… storage(存储器)。(摘自百度知道)

  • 高速缓存(High speed cache)
  • 内置RAM(Internal RAM)
  • 内置ROM(Internal ROM)
  • 外置RAM(External RAM)
  • Flash(如U盘)
  • 硬盘

2. 冯·诺依曼结构

现代的计算机架构由冯·诺依曼(John Von Neumann)提出


冯·诺伊曼结构

控制单元(Control Unit)用于从内存中取出指令

执行单元(Arithmetic/Logic Unit)包含可以执行指令的电子电路,通过与门、或门进行二元算数运算

主要的CPU厂商:Intel、AMD、ARM

3. 计算机的理论基础

计算机的理论基础由艾伦·图灵(Alan Turing)建立,他是理论计算机科学之父、人工智能之父。他提出了可计算性理论(Computability theory)以及图灵测试(Turing Test)。

4. 计算机实际上是如何“理解”的?

今天使用的计算机实际上只能“理解”二进制数(0和1)。计算机用典=电压高低来表示0和1,而这种表示分为NRZL和NRZI两种。用二进制代码表示的命令称为“计算机语言”。

NRZL与NRZI


NRZL编码与NRZI编码

5.编程语言

机器语言(计算机语言)(二进制)

汇编语言

汇编语言(Assemnly Language)是一种低级编程语言(low-level programming language)。汇编语言与机器语言的指令(二进制代码的指令)一般有着一一对应的关系。每种汇编语言都分别对应着特定的计算机架构。汇编语言通过汇编器(assembler)被转化为可执行的二进制代码。

C语言

C语言由丹尼斯·里奇(Dennis Ritchie)于1969-1973年间在贝尔实验室创制。它是早期高级语言(high-level language)之一,是一种介于汇编语言与其他高级语言之间的语言,在底层内存操作上有强大的功能性,在所有高级语言中运行效率最高。C语言在底层应用中广泛使用,如编写操作系统、嵌入式编程、超级计算机等。

FORTRAN语言(公式变换语言)

(FORTRAN语言是世界上第一个被正式推广使用的高级语言,是Formula Translation的缩写,意为“公式翻译”)

C++

C++由本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)于1979年在贝尔实验室创制。C++继承了C语言的主要特性,但C++是一种面向对象的编程语言,有利于代码复用。高效、有强大的底层内存操作性,但仍然有赖于运行平台。

Java

你可能感兴趣的:(CSC1001-课后笔记)