六至八年级Computation计划中
Programming for mathematics
Writing short Python programs that use variables, loops, conditionals and functions to explore mathematics: generating sequences, testing conjectures on many cases, and representing numbers in binary.
math.comp.programming-intro
本主题的课程尚未编写。下面的提纲是课程地图的一部分,尚未经过审校。
前置知识
9 项必需的前置知识(一直追溯到底)
你将学会
- Write programs with variables, loops, conditionals and functions to compute sums, tables and sequences.
- Use a program to test a conjecture on many cases, and explain why this is evidence but not proof.
- Convert between decimal and binary representations, by hand and in code.
定义
- A program variable names a stored value that can change while the program runs.
- A program function takes inputs (arguments) and returns an output, possibly with other effects.
- In base 2, the digits 0 and 1 count ones, twos, fours, eights and so on.
定理
- Every positive whole number has exactly one binary representation without leading zeros.
- Checking a statement for the first million cases is experimental evidence, not a proof.
- Floating-point numbers are approximations: in Python, 0.1 + 0.2 == 0.3 evaluates to False.
常见误解
- Reading '=' in a program (assignment) as mathematical equality.
- Believing a program that runs without errors must compute the right answer.
- Assuming computer arithmetic with decimals is exact.
通向
可选发现
- Numerical analysis Floating-point rounding, visible in 0.1 + 0.2, is studied systematically in numerical analysis.
- Experimental mathematics: conjectures and counterexamples Computer experiments suggest conjectures and find counterexamples in research mathematics.
- ← Functions
学习路径
延伸阅读
- Allen B. Downey, Think Python