Stanford Python程式課 - 第二週
第一週的課程主要透過簡單的程式環境,以Karel機器人培養基礎的function、control flow、decomposition的概念,以top down的方式解決問題,更重要的是建立好的programming style。
課程第二週學習目標
- Lesson 4: Python入門
- Lesson 5: Expressions運算式
- Lesson 6: Control flow流程控制
Code in Place Lesson 4 - Introduction to Python |
Stanford的教授普遍在每週的課程開始時,會先Recap回顧一下上週的學習重點,第一週透過簡化的程式環境Karel學習基本程式架構,主要重點為:
Decomposition: 原則是每一個function解決單一問題,避免在一個function中有過於複雜的處理
Programming Style: Comments、一致的indentation、有意義的function名稱、function內程式盡量簡單明瞭,如果太複雜表示還可以再decompose!
Stanford Code in Place - Week 1 學習重點 |
Lesson 4: Introduction to Python
學習重點
- Python入門
- 利用編譯器執行Python程式
- 熟悉Python變數variables、print指令
Why Python?
Python已經超越Java、Javascript、C++等成為主流的程式語言,可以使用的Library也非常豐富,無論是data science資料科學、machine learning機器學習、quantitative trading量化交易等都有豐富的資源,因此課程選用Python。
Stanford Code in Place課程採用Python(CS106A早期用的是Java) |
YouTube課程影片
Lecture 4-1: Intro to Python
Lecture 4-2: Hello, World
Lecture 4-3: Add Two Numbers
點我下載課程講義
延伸閱讀Python Reader
Lesson 5: Expressions
學習重點
- Arithmetic expressions數學運算
- Constants常數
- Random Number Generator隨機數字產生器
Stanford Code in Place Lesson 5 - Expressions' Learning Goals |
YouTube課程影片
Lecture 5-1: Intro
Lecture 5-2: Expressions
Lecture 5-3: Constants
Lecture 5-4: Math Library
Lecture 5-5: Random Numbers
Lecture 5-6: Dice Simulator
點我下載課程講義
延伸閱讀Python Reader
Dice Simulator程式
Stanford Code in Place - Dice Simulator Python程式 |
Lesson 6: Control Flow Revisited
超酷的課程講義首頁 |
學習重點
- 結合variables運用於control flow
- 學習使用while和if statements
- 學習運用for loop的index variable
Stanford Code in Place Lesson 6 - Control Flow Revisited |
YouTube課程影片
Lecture 6-1: Recap
Lecture 6-2: While/If
Lecture 6-3: Guess My Number
Lecture 6-4: Sentinel
Lecture 6-5: Booleans
Lecture 6-6: For Loops
Lecture 6-7: Game Show Teaser
點我下載課程講義
延伸閱讀Python Reader
Assignments
Q6: Khansole Academy
Stanford Code in Place - Assignment Q6 |
Q7: Khansole Academy Extension
Stanford Code in Place - Assignment Q7 |
Q8: Ancient Game of Nimm
Stanford Code in Place - Assignment Q8 |
0 comments