第一课主要讲述计算机一些的基本原理。
首先就提出来,目标是让学生有 computational thinking.
Computational Thinking is a problem-solving process that includes the following characteristics:
- Analyzing and logically organizing data
- Data modeling, data abstractions, and simulations
- Formulating problems such that computers may assist
- Identifying, testing, and implementing possible solutions
- Automating solutions via algorithmic thinking
- Generalizing and applying this process to other problems
各大院校都很注重培养学生的Computation Thinking的能力,主要是Computation Thinking能让学生做事情step by step。
计算机能做基本的运算的能力是amazing的。但是当计算机非常复杂的运算的时候就会的极限,比如某个地方的精确天气预报 和 复杂密码破译。
甚至有些事情计算机根本没有能力办到,比如预测一件事情的发展情况,等等。Computability theory
对于计算机可以解决的问题,需要使用恰当的 算法把问题更好的解决。这里就会引入复杂度的问题,任何一个问题都需要降低其复杂度,让程序更快的运行(时间就是生命啊)。
当我们有算法后,我们需要用计算机语言把算法表达出来。
都个语言都会有:
1.primitive constructs : number, string, simple operators
2.data structure:arrary, hash, function ...
3,expression
每个计算机语言都有自己的语法,语义。我们需要在正确的语法,语义下写出我们的算法,达到目标。
使用计算机语言时一般会遇到三种错误:1.语法错误 2.语义错误 3.运行时错误
最后的目标我贴出:
Our goal :
• Learn the syntax and semantics of a programming language
• Learn how to use those elements to translate
“recipes” for solving a problem into a form
that the computer can use to do the work for
us
• Computational modes of thought enable us to
use a suite of methods to solve problems
最后说到,我们用一种语言解决的问题都能转化为其他语言。说明MIT 还是更看重Algorithm。