Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Computer Programming 
for Everyone 
and ... How Python Helps You ? 
胡崇偉 
marr.tw@gmail.com
In the 70s, 
Can We Have 
a Computer 
on Every Desk?
Take It or Not? 
不管你是否喜歡這個數位世界 
它都已經全面影響你的工作和生活
A Follow-up Question: 
What will Happen 
if Users can Program 
their own Computer?
A Follow-up Question: 
What will Happen 
if We have More 
Hackers ?
我看到的是… 
人們可以 
有更多機會 
實現 
自己的 
夢想
真正的窮 
不是沒有錢, 
而是沒有能力去付出
是滿腔袂爽的自主貢獻者不是佛心志工
我相信… 
夢想,不分大小 
實踐,贏得掌聲 
天賦,有所不同 
機會,應該相同
程式語言 
一定要夠簡單 
才能讓人 
快速上手 
三歲小孩也會Python 嗎?
互動Interactivity 
直譯vs 編譯 
素描vs 油畫 
修訂詞句vs 批改作文
History of 
Programming 
Languages 
2,500+ for 50 years 
Fortran 
COBOL 
1968 
C 
Pascal 
1978 
C++ 
BASIC 
1988 
Java 
Pe...
History of Python 
vs Diffusion of Innovation
多數的 
學習與進步 
依賴 
既有經驗 
做為基礎 
以數學, 語言為例
Fibonacci Numbers 
def F(n): 
if n <= 2: 
return 1 
else: 
return F(n-1) + F(n-2)
縮排Indentation 
視覺式辨識程式區塊Block 
def F(n): 
if n <= 2: 
return 1 
else: 
return F(n-1) + F(n-2)
Code is Read 
more than 
it is Written 
Readability counts.
學習語言 
是怎樣的 
歷程?
口語前期 
口語期 
精熟期 
1. 開始出現字彙 
2. 累積達50字彙並組合 
(電報句) 
3. 開始使用關連詞 
(而且,可是)
聽說 
讀 
寫 
口語前期 
口語期 
精熟期 
剪下貼上 
有意識地拷貝對常見錯誤能夠反應 
有意識地使用成語能夠重構
Code is Copied 
and Pasted 
more than 
it is Written 
Repository counts.
關鍵字Keywords 
Python Ruby PHP Java 
~ 30 ~ 40 ~ 50 ~ 50 
def F(n): 
if n <= 2: 
return 1 
else: 
return F(n-1) + F(n-2)
簡單的東西 
搬不上檯面吧? 
NASA 
Google 
Dropbox 
MIT
表面上簡單 
內涵並不簡單 
不斷演進的動力 
來自 
社群參與 
形成 
最佳典範或慣例
客製化運算 
資料要在異質系統之間互通 
資訊要在操作環境之間同步 
行動要在群組之間協調 
Dark 
Age 
1968 
PC 
1978 
Net 
1988 
Web 
Cloud 
1998 2008
通用語言Lingua Franca 
A language that is 
adopted as a common 
language between 
speakers whose native 
languages are differe...
語言 
有什麼 
用途?
數位世界的語言需求
探索 
大師 
腳步 
Pythonic Thinking
Graphical Programming 
Blocky
Programming Riddles 
The Python Challenge Project Euler
Community Projects 
Kivy, Pandas, iPython Notebook, 
Pygame, OpenStack
IPython Notebook 
Code Demo 
Presentation Mode 
LaTeX, Plot
Integration 
ArcGIS, GAE, Blender, Bonhamizer
線上課程 
1. Codecademy 
2. Treehouse 
3. Udemy 
4. Coursera 
5. Udacity
社群聚會/付費課程 
1. Taipei.py, PyHUG, Hualien.py, 
Tainan.py, Kaohsiung.py, Taichung.py, 
Taoyuan.py 
2. PyLadies, Django Girls ...
一見如故 
Python folks around the world share the 
same culture.
我相信… Python Inspired 
實踐夢想 
的過程 
能讓我們 
體驗 
所有的 
美好
Find Your Dream
Upcoming SlideShare
Loading in …5
×

Computer Programming For Everyone

529 views

Published on

How Python Helps You? A Talk at TSLC 2014.

Published in: Education
  • Be the first to comment

Computer Programming For Everyone

  1. 1. Computer Programming for Everyone and ... How Python Helps You ? 胡崇偉 marr.tw@gmail.com
  2. 2. In the 70s, Can We Have a Computer on Every Desk?
  3. 3. Take It or Not? 不管你是否喜歡這個數位世界 它都已經全面影響你的工作和生活
  4. 4. A Follow-up Question: What will Happen if Users can Program their own Computer?
  5. 5. A Follow-up Question: What will Happen if We have More Hackers ?
  6. 6. 我看到的是… 人們可以 有更多機會 實現 自己的 夢想
  7. 7. 真正的窮 不是沒有錢, 而是沒有能力去付出
  8. 8. 是滿腔袂爽的自主貢獻者不是佛心志工
  9. 9. 我相信… 夢想,不分大小 實踐,贏得掌聲 天賦,有所不同 機會,應該相同
  10. 10. 程式語言 一定要夠簡單 才能讓人 快速上手 三歲小孩也會Python 嗎?
  11. 11. 互動Interactivity 直譯vs 編譯 素描vs 油畫 修訂詞句vs 批改作文
  12. 12. History of Programming Languages 2,500+ for 50 years Fortran COBOL 1968 C Pascal 1978 C++ BASIC 1988 Java Perl PHP 1998 2008 Python Javascript IBM PC Internet
  13. 13. History of Python vs Diffusion of Innovation
  14. 14. 多數的 學習與進步 依賴 既有經驗 做為基礎 以數學, 語言為例
  15. 15. Fibonacci Numbers def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)
  16. 16. 縮排Indentation 視覺式辨識程式區塊Block def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)
  17. 17. Code is Read more than it is Written Readability counts.
  18. 18. 學習語言 是怎樣的 歷程?
  19. 19. 口語前期 口語期 精熟期 1. 開始出現字彙 2. 累積達50字彙並組合 (電報句) 3. 開始使用關連詞 (而且,可是)
  20. 20. 聽說 讀 寫 口語前期 口語期 精熟期 剪下貼上 有意識地拷貝對常見錯誤能夠反應 有意識地使用成語能夠重構
  21. 21. Code is Copied and Pasted more than it is Written Repository counts.
  22. 22. 關鍵字Keywords Python Ruby PHP Java ~ 30 ~ 40 ~ 50 ~ 50 def F(n): if n <= 2: return 1 else: return F(n-1) + F(n-2)
  23. 23. 簡單的東西 搬不上檯面吧? NASA Google Dropbox MIT
  24. 24. 表面上簡單 內涵並不簡單 不斷演進的動力 來自 社群參與 形成 最佳典範或慣例
  25. 25. 客製化運算 資料要在異質系統之間互通 資訊要在操作環境之間同步 行動要在群組之間協調 Dark Age 1968 PC 1978 Net 1988 Web Cloud 1998 2008
  26. 26. 通用語言Lingua Franca A language that is adopted as a common language between speakers whose native languages are different.
  27. 27. 語言 有什麼 用途?
  28. 28. 數位世界的語言需求
  29. 29. 探索 大師 腳步 Pythonic Thinking
  30. 30. Graphical Programming Blocky
  31. 31. Programming Riddles The Python Challenge Project Euler
  32. 32. Community Projects Kivy, Pandas, iPython Notebook, Pygame, OpenStack
  33. 33. IPython Notebook Code Demo Presentation Mode LaTeX, Plot
  34. 34. Integration ArcGIS, GAE, Blender, Bonhamizer
  35. 35. 線上課程 1. Codecademy 2. Treehouse 3. Udemy 4. Coursera 5. Udacity
  36. 36. 社群聚會/付費課程 1. Taipei.py, PyHUG, Hualien.py, Tainan.py, Kaohsiung.py, Taichung.py, Taoyuan.py 2. PyLadies, Django Girls 3. KidsCoding, CodeKoala 4. RaspberryPi, BananaPi 5. HackerSpace, MakerBar, Maker Faire
  37. 37. 一見如故 Python folks around the world share the same culture.
  38. 38. 我相信… Python Inspired 實踐夢想 的過程 能讓我們 體驗 所有的 美好
  39. 39. Find Your Dream

×