computer programming for everyone

Post on 21-Jun-2015

141 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

How Python Helps You? A Talk at TSLC 2014.

TRANSCRIPT

Computer Programming for Everyone

and ... How Python Helps You ?

胡崇偉marr.tw@gmail.com

Can We Have

a Computeron Every

Desk?

In the 70s,

Take It or Not?

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

What will Happenif Users can

Program their own Computer?

A Follow-up Question:

What will Happenif We have More

Hackers ?

A Follow-up Question:

人們可以有更多機會

實現自己的

夢想

我看到的是…

真正的窮不是沒有錢,

而是沒有能力去付出

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

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

我相信…

程式語言一定要夠簡單

才能讓人快速上手

三歲小孩也會 Python 嗎 ?

互動 Interactivity

直譯 vs 編譯素描 vs 油畫

修訂詞句 vs 批改作文

History ofProgramming

Languages2,500+ for 50 years

FortranCOBOL

1968

CPascal

1978

C++BASIC

1988

JavaPerlPHP

1998 2008

PythonJavascript

IBM PC Internet

History of Pythonvs Diffusion of Innovation

多數的學習與進步

依賴既有經驗

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

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

Fibonacci Numbers

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

縮排 Indentation

視覺式辨識 程式區塊 Block

Code is Read more thanit is Written

Readability counts.

學習語言是怎樣的

歷程 ?

口語前期口語期精熟期

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

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

( 而且 , 可是 )

聽 說讀寫

口語前期口語期精熟期

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

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

Code is Copied and Pasted more thanit is Written

Repository counts.

關鍵字 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

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

GoogleDropbox

MIT

表面上簡單內涵並不簡單

不斷演進的動力來自

社群參與形成

最佳典範或慣例

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

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

DarkAge

1968

PC

1978

Net

1988

Web

1998 2008

Cloud

通用語言 Lingua Franca

A language that is adopted as a common

language between speakers whose native

languages are different.

語言有什麼用途 ?

數位世界的語言需求

探索大師腳步

Pythonic Thinking

Graphical ProgrammingBlocky

Programming Riddles

The Python Challenge Project Euler

Community ProjectsKivy, Pandas, iPython Notebook,

Pygame, OpenStack

IPython Notebook

Code DemoPresentation Mode

LaTeX, Plot

IntegrationArcGIS, GAE, Blender, Bonhamizer

線上課程1. Codecademy

2. Treehouse3. Udemy

4. Coursera5. Udacity

社群聚會 / 付費課程

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

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

實踐夢想的過程

能讓我們體驗

所有的美好

我相信… Python Inspired

Find Your Dream

top related