《程序设计方法学》知识整理
2019.9∼2020.12019.9 \sim 2020.12019.9∼2020.1 上了永平奖获得者翁恺老师《程序设计方法学》这门课。这是一门很有趣的课,介绍了程序设计语言的历史和发展脉络。可惜这是一节早课,我经常在意识模糊中听课(甚至是没有成功起床)。
这门课有一半的时间是同学展示。我倒是更希望翁老师能多留出时间自己讲。
最终的期末考试内容为:BNF,数据类型和运算符,程序控制结构,流计算,递归,并行计算,函数的调用和返回,Actor,异步执行。我对他们做了一个简单的整理。
三种编程语言
imperative language 命令式程序设计语言
Variables, assignment statements, and iteration
Include languages that support object-oriented programming, scripting languages, visual languages
Ex.: C, Java, Perl, JavaScript, Visual BASIC .NET
Functional Languag ...
《计算机视觉》知识整理
2019.9∼2020.12019.9 \sim 2020.12019.9∼2020.1 上了宋明黎教授《计算机视觉》这门课。课程内容丰富,五个实验则偏基础。
美中不足的是最终的考评形式——像文科一样的纸笔考试。为了巩固知识点并提高背诵效率,决定开始整理此文。整理到一半时,发现 这个网站 已经做了我想做的事了,遂我不再重复造轮子。
引言
Gestalt Laws(格式塔法则):出发点是形。
Law of Proximity: 接近的物体容易被感知成同一组。
Law of Similarity: 将相似的物体感知成同一组的部分。
Law of Good Continuation: 沿着元素暗示的弧方向走。
Law of Closure: 人们会把不完整的个体看成是一个整体的形状。
Law of goodform : 希望图片由几个规则图形组成。
Law of Figure/Ground: 区别前景和背景。
什么是计算机视觉?
根据场景的图像实现场景中对象信息的恢复和利用。
五大研究内容
输入设备
底层视觉(图像处理)
中层视觉(恢复场景,2.5 维)
高层视觉(三维重建 ...
《混合现实》知识整理
During 2019.9∼2020.12019.9 \sim 2020.12019.9∼2020.1,I was involved in the Mix-Reality class guided by Hujun Bao.
The topic in this class is similar with computer vision. I’m really regretful because I didn’t listen to Mr. Bao’s class carefully, even though he explained the knowledge points carefully.
Mr. Bao sent me a book written by himself. I must read it when I’m free.
Singular Value decomposition(SVD)
a factorization of a normal matrix, extended from eigendecomposition.
An×m=Un×nΣn×mVm×mTA ...
《计算理论》知识整理
During 2019.9∼2020.12019.9 \sim 2020.12019.9∼2020.1,I was involved in the Theory-of-Computation class guided by Yingchun Yang.
Mrs. Yang do not teach well, so I had to learn by myself and tried to summary something.
Set and Language
The Diagonalization Principle
RRR is the binary relation on set AAA.
DDD is the diagonal set for RRR: {a:a∈A∧(a,a)∉R}\{ a:a \in A \wedge (a,a) \notin R \}{a:a∈A∧(a,a)∈/R}.
Let Ra={b:b∈A∧(a,b)∈R}R_a = \{ b: b \in A \wedge (a,b) \in R \}Ra={b:b∈A∧(a,b)∈R}
Then D is ...
《Java应用技术》知识整理
2019.9∼2020.12019.9 \sim 2020.12019.9∼2020.1 上了永平奖获得者翁恺老师《Java应用技术》这门课。翁老师在课程设计上用心良苦,不仅讲了 Java 的语法,还介绍了很多现代 Java 的理念和科技(比如各种设计模式)。
期末考试为了和其他班对齐,主要考的还是 Java 的基本语法。这也是本文关注的重点。
Java 概述
Features
A compiled language
A productive OOP language
a type-safe and stable language
No point
Index check
Auto memory management
![](Java-Application-Technology/compiling order.png)
Unique data type
char 是 Unicode 存储的,每个占2字节。
int 是 4字节。
all objects should be constructed in runtime and be stored in heap.
To ...
《面向对象程序设计》知识整理
2019.3∼2019.62019.3 \sim 2019.62019.3∼2019.6 上了胡兰青老师的《面向对象程序设计》、说是面向对象,其实就是专讲 C++ 的面向对象。胡老师的专业能力很厉害,知识点讲得很严密。
为了应付刁钻和故意设坑的期末考,特开此文复习(虽然最后期末考还是考砸了)。
类&对象
类访问修饰符
public,private,protected。(默认 private)
构造函数和析构函数
离开函数时先销毁后定义的类。
构造函数先调用父类,析构函数先调用子类。
拷贝构造函数
形如 A::A(const A &obj)。(必须加引用,一般加上 const)
以下两种初始化对于其他类型是等价的,对于类类型有区别:
A a(2) 是直接初始化,调用构造函数。
A b = a 是拷贝初始化,调用拷贝构造函数(等价于 A b(a))。
应用场景
函数的参数为类的对象时(将外层调用的值拷贝给参数)
函数的返回值是类的对象时(将 return 来的值拷贝给一个临时对象)
对象需要通过另外一个对象进行初始化(常见形式)
默认构造 ...
《计算机组成》知识整理
2019.3∼2019.62019.3 \sim 2019.62019.3∼2019.6 上了马德教授《计算机组成》这门课,讲得还是挺不错的。
我校把计算机系统划成了《数字逻辑设计》、《计算机组成》和《计算机体系结构》三门课。
本门课程进一步熟悉了 MIPS 和 Verilog,最终还要在自己写的 CPU 上运行一个自己设计的程序。我写了一个迷你的 Flappy Bird 小游戏,链接 见此。
本文对《计算机组成》的知识点进行了随性的整理。
MIPS相关
移码(增码):符号位取反的补码
一般用指数的移码减一来做浮点数的阶码
IEEE754 标准
float (1位符号位 + 8位指数位 + 23位底数位)
其中,指数位 实际值 = 显示值 - 127
double (1位符号位 + 11位指数位 + 52位底数位)
MIPS指令
beq $rs, $rt, offset
注意此处顺序是正的。
offset 是 新地址 和 PC+4 的差除以 4 后的结果。
lw $rt, offset($rs)
注意此处顺序是反的。
sw $rt, offs ...
《数据库系统》知识整理
2019.3∼2019.62019.3 \sim 2019.62019.3∼2019.6 上了高云君教授《数据库系统》这门课,讲得还是挺不错的。
这门课的 Workload 很大,期中和期末分别有一个 Project:
期中 Project:实现一个图书管理系统
期末 Project:实现一个迷你版的 SQL查询系统
还有一个硬核的期末考试。为了巩固知识点特撰写此文。
Relational-algebra Expression
基本功能
∪,−,\cup, -,∪,−, 并,差
r×s={(t,q)∣t∈r,q∈s}r \times s = \{(t,q) | t \in r, q \in s \}r×s={(t,q)∣t∈r,q∈s}:笛卡尔积
ρX(r)\rho_X(r)ρX(r): 将 rrr 重命名为 XXX。
σX(r)\sigma_X(r)σX(r):选取 rrr 中符合条件 XXX 的记录。
∏X,Y(r)\prod_{X,Y}(r)∏X,Y(r):投影 rrr 中的部分属性。
拓展功能
r∩s=r−(r−s)r \cap s = r - (r - ...