computer programming for everyone

39
Computer Programming for Everyone and ... How Python Helps You ? 胡胡胡 [email protected]

Upload: tsungwei-hu

Post on 21-Jun-2015

141 views

Category:

Education


5 download

DESCRIPTION

How Python Helps You? A Talk at TSLC 2014.

TRANSCRIPT

Page 1: Computer Programming For Everyone

Computer Programming for Everyone

and ... How Python Helps You ?

胡崇偉[email protected]

Page 2: Computer Programming For Everyone

Can We Have

a Computeron Every

Desk?

In the 70s,

Page 3: Computer Programming For Everyone

Take It or Not?

不管你是否喜歡這個數位世界它都已經全面影響你的工作和生活

Page 4: Computer Programming For Everyone

What will Happenif Users can

Program their own Computer?

A Follow-up Question:

Page 5: Computer Programming For Everyone

What will Happenif We have More

Hackers ?

A Follow-up Question:

Page 6: Computer Programming For Everyone

人們可以有更多機會

實現自己的

夢想

我看到的是…

Page 7: Computer Programming For Everyone

真正的窮不是沒有錢,

而是沒有能力去付出

Page 8: Computer Programming For Everyone

是滿腔袂爽的自主貢獻者 不是佛心志工

Page 9: Computer Programming For Everyone

夢想,不分大小實踐,贏得掌聲天賦,有所不同機會,應該相同

我相信…

Page 10: Computer Programming For Everyone

程式語言一定要夠簡單

才能讓人快速上手

三歲小孩也會 Python 嗎 ?

Page 11: Computer Programming For Everyone

互動 Interactivity

直譯 vs 編譯素描 vs 油畫

修訂詞句 vs 批改作文

Page 12: Computer Programming For Everyone

History ofProgramming

Languages2,500+ for 50 years

FortranCOBOL

1968

CPascal

1978

C++BASIC

1988

JavaPerlPHP

1998 2008

PythonJavascript

IBM PC Internet

Page 13: Computer Programming For Everyone

History of Pythonvs Diffusion of Innovation

Page 14: Computer Programming For Everyone

多數的學習與進步

依賴既有經驗

做為基礎以 數學 , 語言 為例

Page 15: Computer Programming For Everyone

def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)

Fibonacci Numbers

Page 16: Computer Programming For Everyone

def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)

縮排 Indentation

視覺式辨識 程式區塊 Block

Page 17: Computer Programming For Everyone

Code is Read more thanit is Written

Readability counts.

Page 18: Computer Programming For Everyone

學習語言是怎樣的

歷程 ?

Page 19: Computer Programming For Everyone

口語前期口語期精熟期

1. 開始出現字彙2. 累積達 50 字彙並組

合 ( 電報句 )3. 開始使用關連詞

( 而且 , 可是 )

Page 20: Computer Programming For Everyone

聽 說讀寫

口語前期口語期精熟期

剪下 貼上有意識地拷貝 對常見錯誤能夠反應

有意識地使用成語 能夠重構

Page 21: Computer Programming For Everyone

Code is Copied and Pasted more thanit is Written

Repository counts.

Page 22: Computer Programming For Everyone

關鍵字 Keywords

def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)

Python Ruby PHP Java

~ 30 ~ 40 ~ 50 ~ 50

Page 23: Computer Programming For Everyone

簡單的東西搬不上檯面吧 ?NASA

GoogleDropbox

MIT

Page 24: Computer Programming For Everyone

表面上簡單內涵並不簡單

不斷演進的動力來自

社群參與形成

最佳典範或慣例

Page 25: Computer Programming For Everyone

客製化運算資料要在異質系統之間互通

資訊要在操作環境之間同步行動要在群組之間協調

DarkAge

1968

PC

1978

Net

1988

Web

1998 2008

Cloud

Page 26: Computer Programming For Everyone

通用語言 Lingua Franca

A language that is adopted as a common

language between speakers whose native

languages are different.

Page 27: Computer Programming For Everyone

語言有什麼用途 ?

Page 28: Computer Programming For Everyone

數位世界的語言需求

Page 29: Computer Programming For Everyone

探索大師腳步

Pythonic Thinking

Page 30: Computer Programming For Everyone

Graphical ProgrammingBlocky

Page 31: Computer Programming For Everyone

Programming Riddles

The Python Challenge Project Euler

Page 32: Computer Programming For Everyone

Community ProjectsKivy, Pandas, iPython Notebook,

Pygame, OpenStack

Page 33: Computer Programming For Everyone

IPython Notebook

Code DemoPresentation Mode

LaTeX, Plot

Page 34: Computer Programming For Everyone

IntegrationArcGIS, GAE, Blender, Bonhamizer

Page 35: Computer Programming For Everyone

線上課程1. Codecademy

2. Treehouse3. Udemy

4. Coursera5. Udacity

Page 36: Computer Programming For Everyone

社群聚會 / 付費課程

1. Taipei.py, PyHUG, Hualien.py, Tainan.py, Kaohsiung.py, Taichung.py, Taoyuan.py

2. PyLadies, Django Girls3. KidsCoding, CodeKoala4. RaspberryPi, BananaPi5. HackerSpace, MakerBar, Maker

Faire

Page 37: Computer Programming For Everyone

一見如故Python folks around the world share the same culture.

Page 38: Computer Programming For Everyone

實踐夢想的過程

能讓我們體驗

所有的美好

我相信… Python Inspired

Page 39: Computer Programming For Everyone

Find Your Dream