CSE
CS Lagado
資訊教育簡介
CS Education Andrew Chuang
June, 2016
1
CSE
CS Lagado
Outline
❖ K-12中的資訊教育
❖ 計算思維 — Computational Thinking
❖ Abstract
❖ Automation
❖ 學電腦 — WHAT TO LEARN ?
❖ CT/CSR/ST
❖ ⽣活例⼦
2
CSE
CS Lagado
Outline
❖ K-12中的資訊教育
❖ 計算思維 — Computational Thinking
❖ Abstract
❖ Automation
❖ 學電腦 — WHAT TO LEARN ?
❖ CT/CSR/ST
❖ ⽣活例⼦
3
CSE
CS Lagado 4
CSE
CS Lagado
應⽤軟體的操作
程式語⾔的教學
演算法 的 研討與分析
電腦 的 能⼒與限制
電腦系統 的 設計與實作
5
CSE
CS Lagado 6
CSE
CS Lagado 7
CSE
CS Lagado
✦ 改變世界
• 邏輯式思考與創造⼒力力
• 結合數學、科學、設計與科技
✦ 計算機科學 (Computer Science)
8
CSE
CS Lagado
• CS最基本的:抽象化、邏輯、演算法和資料的表⽰示
• 使⽤用能量量化來來計算的詞彙,來來分析問題、寫程式、解決問題
• 能評估或運⽤用新的、沒⽤用過的⽅方式來來解題
9
CSE
CS Lagado
https://www.whitehouse.gov/blog/2016/01/30/computer-science-all
CS4O
10
CSE
CS Lagado
2010
Advanced Placement ⼤大學先修課程
11
CSE
CS Lagado 12
CSE
CS Lagado
Computational Thinking
13
CSE
CS Lagado
Outline
❖ K-12中的資訊教育
❖ 運算思維 — Computational Thinking
❖ Abstract
❖ Automation
❖ 學電腦 — WHAT TO LEARN ?
❖ CT/CSR/ST
❖ ⽣活例⼦
14
CSE
CS Lagado
http://www.msra.cn/zh-cn/about/leadership/jeannette-wing.aspx
Computational
Thinking
15
CSE
CS Lagado
CT 的兩個 A
Abstractions
Automation
mental tools
metal tools
16
CSE
CS Lagado 17
CSE
CS Lagado
queue
tree
stack
18
Data structure / representation
Abstractions
CSE
CS Lagado
Graph
19
Abstractions
CSE
CS Lagado
Towers of Hanoi
http://www.ustudy.in/node/6971
20
Recursion
Abstractions
CSE
CS Lagado 21
Pipeline
Abstractions
CSE
CS Lagado
- 腦袋
- ⼿手⼯工藝
- 機械裝置
+ Charles Babbage (1791-1871)
+ Ada Lovelace (1815-1852)
- The first programmer – calculate the Bernoulli Numbers
- 1938 – Z1 by Konrad Zuse
- 1943 – 真空管 (Vacuum Tube)
- 1947 – 電晶體 (Transistor) – Bell Lab.
- 1959 – IC / VLSI
+ Transistor Integrated Circuit – Noyce & Kilby
+ SoC / Embedded System
+ ESL Design Methodology
- 1994 – DNA Computer
+ Leonard Adleman of USC
+ 1977, Rivest-Shamir-Adleman
+ 7-point Hamiltonian path problem
- Quantum Computer
- ???
Computed by ???
“Solution of a 20-Variable 3-SAT Problem on
a DNA Computer”, Science, 200222
Automation
CSE
CS Lagado
Outline
❖ K-12中的資訊教育
❖ 計算思維 — Computational Thinking
❖ Abstract
❖ Automation
❖ 學電腦 — WHAT TO LEARN ?
❖ CT/CSR/ST
❖ ⽣活例⼦
23
CSE
CS Lagado
學電腦:
學寫程式︖
( JUST PROGRAMMING? )
24
CSE
CS Lagado 25
CSE
CS Lagado
Python is Now the Most Popular
Introductory Teaching Language
at Top U.S. Universities
26
CSE
CS Lagado 27
Formula
translation
Algorithm
CSE
CS Lagado
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
ABC
Python
Smalltalk 80
Squeak
Ruby
AppleScript
F-Script
BETA
Objective-C
Self
Dylan
Io
ZonnonC# 2.0
C# 3.0
UniconCyclone 1.0
Algol 58
JOSS
Algol 60
Fortran II
Fortran IV
BasicPL/I
Fortran 77
Flow-matic
COBOL
Fortran I
Simula I
Simula 67
Snobol
Snobol4 Mumps
CPL
BCPL
Quick Basic
REXX
Pascal
Haskell
Mercury
Haskell 98
Gofer
Fortran 90
Fortran 2003
SML 90
SML 97
zsh
zsh 3.0
Ease C++ (ARM)
Pike
C++ (ISO)
Oak
Visual Basic
VB.NET
B
C
Prolog
Prolog ISO
Lambda Prolog
ErlangLife
CLIPS
Scheme R6RS D 1.0Fortress 1.0betaGroovy 1
Scheme
Algol W
Algol 68
APL
APL 2
COBOL-68
APL 96
J
Eiffel 3bash 2.0
bash 3.0
LimboPizzaOCaml
Scala
OCaml 3.0
Nice
C 99Oz 3 .NET
SML.NETF# J#
C#Mondrian
Boo
SQL-1999
SQL-2003
J++ 6.0 Tcl 8.1Python 1.5.2
Python 2.0
C99ECMAScript rel3
JavaScript 1.5
DelphiOz 1 Java JavaScript
J++
Java 2 (v1.2)
ECMAScript
Groovy
Ruby 1.8
Ada 95 PHP
PHP4
C 95
Cyclone
NewtonScriptKksh93
ksh98
zsh 4.0 XQueryGHC 5.00
GHC 6.0
NetREXX
Scheme R5RS
CAL (Open Quark)
Java 2 (v1.5 beta)
Perl 5.005
Perl 5.6.0
REBOL
ksh
bash
ksh88
occamAda 83
Eiffel
IconPascal AFNOR
Lua
Objective Pascal
csh awk C (K&R)
sh
Perl
Modula
CLU
Ada
Standard Mumps
Mumps 1984
SQL
ANSI SQL
Modula-2
Modula-3
Oberon
ML
SMLLazy ML
Hope
Miranda
Eiffel 2
Cecil
Scheme R3RS
Scheme R4RS
ISO SQL
A+
Caml
Lean
Scheme 84
Perl 4
SQL-92
Clean
Concurrent Clean
PHP5 Python 2.4
Python 2.5
Scheme MIT
C (ANSI)
Sather 0.1
CLOS
CLIPS 5.0
ANSI C
SEQUEL
SEQUEL/2
Smalltalk 74
Smalltalk 76
COBOL-74
COBOL-85
Oberon-2
Perl 5Sather 1.0
Python 2.2Perl 5.8.0
Nemerle
COBOL 2002
REXX 3.0
Object REXX
PostScript
PostScript level 2
ISWIM
SASL
QuiltLua 4.0
Lua 5.0
JavaScript 1.7
Lisp
Logo
Common Lisp
KRC
Beta
Smalltalk 78
tcsh
Smalltalk
Smalltalk 72
Forth
C++
Common Lisp (ANSI)
CSP
nawk
FP
FL
Tcl
sed
2007 28
CSE
CS Lagado 29
CSE
CS Lagado 30
❖ 軟體設計 (SW: Abstract)
✴ Model
✴ Program = Data Structure + Algorithm
❖ 硬體設計 (HW: Automated)
✴ Mechanization
❖ 系統設計 (System Design)
✴ Computing is the automation of our abstractions
Computational Thinking
Systematically Thinking
Computer
CSE
CS Lagado
硬體設計軟體設計
系統設計
31
CSE
CS Lagado 32
the role of CS?
Science
CSE
CS Lagado
WHAT TO LEARN?
…C…S…E…
Computer
- Computational Thinking
- Systematically Thinking
Science
- CS Research
33
CSE
CS Lagado
MORE
about
Computational Thinking
Systematically Thinking
CS Research
in Daily Life
34
CSE
CS Lagado 35
CSE
CS Lagado
http://troy-halverson.appspot.com/Sci-Fi/PrimerTimeline.jpg
36
CSE
CS Lagado 37
CSE
CS Lagado
“Supervised learning works so well when you
have the right data set,
but ultimately unsupervised learning is going to
be a really important component in building
really intelligent systems—
if you look at how humans learn, it’s almost
entirely unsupervised.”
38
CSE
CS Lagado 39
CSE
CS Lagado 40
Design Probes in Fixture-Level Water Usage Data
http://www.cs.umd.edu/~jonf/index.html
CSE
CS Lagado
http://cacm.acm.org/blogs/blog-cacm/197793-review-a-draft-of-the-k-12-cs-framework/fulltext
41

Computer Science Education