Computer Science Education

64
資訊教育 CS Education Andrew Chuang 莊彥澤 June, 2016 1

Transcript of Computer Science Education

  • CS EducationAndrew Chuang

    June, 2016

    1

  • Outline

    K-12

    Computational Thinking Abstract Automation

    WHAT TO LEARN ? CT/CSR/ST

    2

  • CSE

    CS Lagado 3

    http://pioneer.k12cc.tw/modules/tadnews/index.php?nsn=1http://pioneer.k12cc.tw/modules/tadnews/index.php?nsn=1

  • CSE

    CS Lagado 4

  • CSE

    CS Lagado 5

  • CSE

    CS Lagado 6

  • CSE

    CS Lagado 7

  • CSE

    CS Lagado 8

  • CSE

    CS Lagado 9

  • CSE

    CS Lagado

    ?

    10

  • CSE

    CS Lagado

    1.

    2.

    3.

    11

  • CSE

    CS Lagado 12

  • CSE

    CS Lagado

    13

  • CSE

    CS Lagado 14

  • CSE

    CS Lagado 15

  • CSE

    CS Lagado

    16

  • CSE

    CS Lagado

    CS

    17

  • CSE

    CS Lagado

    Age 5-7

    18

  • CSE

    CS Lagado

    Age 7-11

    19

  • CSE

    CS Lagado

    Age 11-14

    20

  • CSE

    CS Lagado

    Age 14-16

    21

  • CSE

    CS Lagado

    https://www.whitehouse.gov/blog/2016/01/30/computer-science-all

    CS4O

    22

  • CSE

    CS Lagado

    2010

    Advanced Placement

    23

    http://www.washingtonpost.com/wp-dyn/content/story/2008/04/03/ST2008040303977.html

  • CSE

    CS Lagado 24

  • CSE

    CS Lagado

    Computational Thinking?

    25

  • Outline

    K-12

    Computational Thinking Abstract Automation

    WHAT TO LEARN ? CT/CSR/ST

    26

  • CSE

    CS Lagado 27

  • CSE

    CS Lagado http://www.msra.cn/zh-cn/about/leadership/jeannette-wing.aspx

    Computational Thinking

    28

  • CSE

    CS Lagado

    CT A

    Abstractions

    Automation

    mental tools

    metal tools

    29

  • CSE

    CS Lagado 30

  • CSE

    CS Lagado

    Examples of Computational Thinking

    31

  • CSE

    CS Lagado

    Ways To Think Like A Computer Scientist

    Thinking Abstractly Thinking Ahead (caching, pre-fetching) Thinking Procedurally Thinking Logically Thinking Concurrently Thinking without Rules Thinking Recursively

    32

  • CSE

    CS Lagado 33

  • CSE

    CS Lagado

    Data Abstraction and Representation

    queue

    tree

    stack

    34

  • CSE

    CS Lagado

    Graph

    35

  • CSE

    CS Lagado

    Recursion

    Towers of Hanoi

    http://www.ustudy.in/node/697136

  • CSE

    CS Lagado

    Pipeline

    37

    https://en.wikipedia.org/wiki/Din_Tai_Fung#/media/File:Taiwan_2009_Taipei_DinTaiFung_Dumpling_House_at_Pacific_Sogo_ZhongXiao_Store_FRD_9000.jpg

  • 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 - ???

    Automation

    Solution of a 20-Variable 3-SAT Problem on a DNA Computer, Science, 2002 38

  • Outline

    K-12

    Computational Thinking Abstract Automation

    WHAT TO LEARN ? CT/CSR/ST

    39

  • CSE

    CS Lagado

    :

    40

  • CSE

    CS Lagado 41

    http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext

  • CSE

    CS Lagado

    Python is Now the Most Popular Introductory Teaching Language

    at Top U.S. Universities

    42

  • CSE

    CS Lagado

    Formula translation

    Algorithm

    43

  • 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 44

  • CSE

    CS Lagado 45

    http://infolab.stanford.edu/~ullman/focs.html

  • Computer

    (Abstract) Model Program = Data Structure + Algorithm

    (Automated) Mechanization

    (System Architecture) Computing is the automation of our abstractions

    Computational Thinking

    Systematically Thinking

    46

  • CSE

    CS Lagado

    1900

    Music box

    (Orgel)

    47

  • CSE

    CS Lagado

    Reproducing piano

    (Orgel)

    48

  • CSE

    CS Lagado

    Coding StyleLanguage Machine: Program

    49

  • CSE

    CS Lagado 50

  • Science

    51

  • CSE

    CS Lagado 52

    http://spectrum.ieee.org/the-human-os/biomedical/diagnostics/mosquitos-have-brought-a-nasty-new-disease-to-the-americas-can-computer-models-predict-its-spread

  • CSE

    CS Lagadohttps://www.technologyreview.com/s/601203/how-data-mining-reveals-the-hidden-evolution-of-american-automobiles/

    53

  • CSE

    CS Lagado 54

  • CSE

    CS Lagado 55

  • CSE

    CS Lagado

    WHAT TO LEARN?CSE

    Computer

    - Computational Thinking

    - Systematically Thinking

    Science

    - CS Research

    56

  • CSE

    CS Lagado

    MOREabout

    Computational Thinking

    Systematically Thinking

    CS Researchin Daily Life

    57

  • CSE

    CS Lagado 58

  • CSE

    CS Lagadohttp://troy-halverson.appspot.com/Sci-Fi/PrimerTimeline.jpg

    59

  • CSE

    CS Lagado 60

    https://www.technologyreview.com/s/600819/the-missing-link-of-artificial-intelligence/

  • 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, its almost entirely unsupervised.

    61

  • CSE

    CS Lagado 62

  • CSE

    CS Lagado http://www.cs.umd.edu/~jonf/index.html

    Design Probes in Fixture-Level Water Usage Data

    63

    http://www.cs.umd.edu/~jonf/index.html

  • CSE

    CS Lagado

    Problem to Solve :

    WHAT CSE WE WANT

    ?

    64