1 of 36

1

仰德高中自主學習

數位科技運用

蘇東興副教授

明新科大資工系

2024/9

2 of 36

課程大綱

  • Python 程式設計體驗(3週)
  • AI 基礎與運用體驗(1週)
  • AI生成式運用體驗(1週)

2

3 of 36

Python 課程規劃

3

4 of 36

2025年職場成長最快與最快被取代行業

4

5 of 36

學習目標 1/2

5

  • Python是一種易於學習、功能強大。
  • Python設計哲學強調程式碼的可讀性與簡潔的語法
  • 由於Python編寫效率高、更少的程式碼來表達想法。

6 of 36

學習目標 2/2

6

  • 無論是小型或是大型程式開發,Python都適用。
  • 最熱門的人工智慧技術,幾乎都用 Python 來開發,
  • 大學將程式設計列為必修,也是以Python為首選 。
  • 開發環境,基本語法、陣列、dataframe、繪圖、網路爬蟲與綜合應用(深度學習)等主題,參與學員可以快速體驗Python語言精妙之處。

7 of 36

學習Python 五大理由

7

8 of 36

Google Colab 開發工具

8

9 of 36

初次使用 選擇開啟工具

9

10 of 36

初次使用 安裝開啟工具

10

11 of 36

第二次使用

11

12 of 36

正確開啟 colab 編輯器

12

13 of 36

複製儲存程式碼副本

13

老師

學生 A

學生 B

Google 雲端

虛擬機器 1

虛擬機器 2

虛擬機器 3

老師雲端硬碟

學生A�雲端硬碟

學生B�雲端硬碟

複製

14 of 36

電腦硬體

14

新的設計:

北橋併入CPU內部

15 of 36

電腦硬體-北橋與南僑

15

北橋負責控制速度較快的元件

南橋負責控制速度較慢的元件

16 of 36

電腦元件速度比較

16

17 of 36

主機板

17

18 of 36

主機板選擇

18

19 of 36

桌機CPU 與手機CPU

19

手機 SoC(System on Chip)

桌機 CPU

20 of 36

桌機CPU 與手機CPU-架構

20

21 of 36

電腦軟硬體系架構

21

作業系統(Windows、iOS、Linux、Android)

電腦語言翻譯器(Python、C、JAVA)

應用程式、編輯器….

電腦硬體

22 of 36

電腦軟硬體系架構-DOS

22

23 of 36

電腦軟硬體系架構-Windows

23

24 of 36

開機程序-載入作業系統

24

25 of 36

程式執行過程

25

資料

透過變數存取

26 of 36

作業系統

26

  • 管理電腦資源 : CPU、記憶體、硬碟儲存空間、網路、印表機
  • 提供管理介面:視窗介面、命令列介面
  • .......

27 of 36

電腦語言

27

  • 自然語言(不夠精準):國語、英文....

把 b 與 c 相加的結果放在 a

  • 高階電腦語言(與電腦溝通語言):Python、C、Java、C++

a = b + c

  • 低階電腦語言:組合語言、機器語言

load r1, b

load r2, c

Add r1,r2

store r1, a

0011 001, 0000010

0011 010, 0000011

0111 001,010

1111 001, 0000001

28 of 36

翻譯器/直譯器

28

  • 將高階電腦語言所寫成的程式碼,翻成機器語言(或是中間碼),讓CPU可以執行機器語言程式碼
  • 有翻譯器/直譯器 才可以開發應用程式

29 of 36

Statement vs. Expression

29

A = (b+c)*10 + d * 20

Expression 表示式

Statement 陳述

30 of 36

語法 vs. 語意

  • I go to school (語法 語意都對)
  • I go to cat (語法對 語意錯)
  • 求 x、y、z 三數平均�A = (x+y+z)/3 (語法、語意都對)�A = (x + y +z)/4 (語法對 、 語意錯)�(x+y+z)/3 = A (語法錯、 語意錯)

30

31 of 36

語法

  • a=0、b=1.2
  • c = (a+b)*10 + d *2
  • if a > b :� c = a� else� c =b
  • for i in range(0,10):

s = s + i

31

32 of 36

Python 程式設計

  • 學習語法
  • 了解語意
  • 熟悉編輯工具
  • 程式碼編輯器 Google colab 編輯器
  • Python : 變數 、輸出、輸入、計算、比較運算、邏輯運算、判斷式、串列、自訂函數、迴圈、…..

32

33 of 36

程式碼執行

33

高階語言程式碼

編輯器

翻譯器/直譯器

機器語言

中間碼

CPU

解譯器

34 of 36

程式設計-問題 轉成 程式碼

34

分析 邏輯

程式碼

轉換

邏輯 步驟性的描述

(流程圖、活動圖、

Pseudo Code)

問題

35 of 36

排序問題分析

35

給定 10 個整數,將其由小到大排序

分析 邏輯:

由小到大、

找到最小

找到第二小

…………

邏輯 步驟性的描述:

1. 從10個數字中找出最小的

放在第一個位置

2. 從剩下9個數字找出第二小的

放在第二個位置

3. 從剩下8個數字找出第三小的

放在第三個位置

4. …………………..

a = [5, 6, 3, 2, 1, 8, 0, 7, 9, 4]

For i in range(1,10):

if a[0] > a[i] :

t = a[0]

a[0] = a[i]

a[i] = t

For i in range(2,10):

if a[1] > a[i] :

t = a[1]

a[1] = a[i]

a[i] = t

………

優化

轉換成嚴謹

的程式碼

36 of 36

結語

  • 程式設計之道無他、多看、多寫、多想、多討論、多練習…..。

36