# 中和高中111學年第1學期高三多元選修「程式設計與物理模擬」課程計畫 > 日期:2022年6月28日 <br /> ## 基本資料 - 課程中文名稱:程式設計與物理模擬 - 課程英文名稱:Physics Simulations in Python - 授課教師:王一哲 yizhe@mail2.chshs.ntpc.edu.tw - 授課年段:高三 - 學分數:2 - 上課地點:電腦教室1 - 學習目標 1. 學生能學習分析物理問題及建模的方法。 2. 學生能利用程式語言描述物件遵守的物理定律。 3. 學生能將模擬程式產生的數據匯出、作圖,並與實驗數據相互對照。 - 成績計算比例 1. 平常上課表現20% 2. 作業60%,共11次。 3. 期末專題報告20%,第13週開始沒有指定各週的作業,請同學提早開始準備期末專題報告。 - [學校選課網頁公告資料](https://docs.google.com/spreadsheets/d/e/2PACX-1vSb-pSBvB2zGZ93nNBNOk_8wSrctuH1S16A9ITpr_JUi_UtdZgmOa6uED3b5jnxaYABAM9CS-sqHn5p/pubhtml) - [授課教師課程網頁](https://sites.google.com/view/yizhe/%E8%AA%B2%E7%A8%8B/python%E7%89%A9%E7%90%86%E6%A8%A1%E6%93%AC) - [111學年度第1學期多元選修行事曆](https://docs.google.com/spreadsheets/d/16RHcpxBVgApCwp24CILJohgJRB1Yn0ecVX_OjTtUp4o/edit#gid=330472129) <br /> ## 教學大綱 ### 第1週(2022年9月1日):[安裝及測試 VPython](https://hackmd.io/@yizhewang/BJ2jKMbf7) **引起動機** VPython 是Python的視覺化模擬套件,很適合用來模擬物理問題。 **活動** 於電腦上安裝Python及VPython套件,並以教師提供的範例程式測試套件是否已經正確安裝。 **統整與總結** 於這堂課中學生需要學會使用pip或pip3指令安裝套件。 <br /> ### 第2週(2022年9月8日):[Python基本語法](https://hackmd.io/@yizhewang/Sk_yOs-zm) **引起動機** 在開始寫物理模擬程式之前,需要先學習常用的基本語法。 **活動** 學習使用if、elif、else、for、while控制程式,並用print輸出文字或數值。 **統整與總結** 作業1:尤拉數 <br /> ### 第3週(2022年9月15日):[等速度直線運動](https://hackmd.io/@yizhewang/HJ7Ejj-GX) **引起動機** 從最單純的等速度直線運動開始製作模擬動畫,不涉及複雜的數學計算。 **活動** 畫出木塊、地板以及木塊的 x-t 圖、 v-t 圖 **統整與總結** 作業2:右側有牆壁的等速度直線運動 <br /> ### 第4週(2022年9月22日):[自由落下](https://hackmd.io/@yizhewang/S1e8LxzGQ) **引起動機** 以學生在高一學到的自由落下為例,讓學生將模擬動畫與過去所學的知識互相對照。 **活動** 將物體加上重力的作用,畫出小球從某個高度往下加速落到地板上,並畫出小球的y-t圖、v-t圖。 **統整與總結** 作業3:同時有3個小球的自由落下 <br /> ### 第5週(2022年9月29日):[終端速度](https://hackmd.io/@yizhewang/rJHr7-fG7) **引起動機** 延續上一堂課的程式,探討小球如果受到空氣阻力作用時運動狀態有何變化。 **活動** 當小球從高空落下時,同時受到重力及空氣阻力的作用,試著找出小球的運動過程及終端速度,同時將得到的資料存成文字檔。 **統整與總結** 作業4:終端速度 $v_t$ 與空氣阻力係數 $b$ 的關係 <br /> ### 第6週(2022年10月6日):[水平抛射](https://hackmd.io/@yizhewang/Hy4UoZfMm) **引起動機** 以高二上物理第二章的水平拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由高度 $h$ 處以水平初速 $v_0$ 抛出,小球受到重力作用向下加速,畫出在不同條件下小球運動的過程。 **統整與總結** 作業5:水平拋射的小球於牆壁與地板間來回碰撞10次 <br /> ### 第7週(2022年10月13日):[使用For迴圈計算水平抛射資料](https://hackmd.io/@yizhewang/SJoo2fGfQ) **引起動機** 延續上一堂課的程式,再利用for迴圈改變起始條件。 **活動** 利用for 迴圈自動代入不同的高度 $h$ 並記錄水平射程 $R$,同時將得到的資料存成文字檔。 **統整與總結** 作業6:水平射程 $R$ 與初速度 $v_0$ 的關係 <br /> ### 第8週(2022年10月20日):[斜向抛射](https://hackmd.io/@yizhewang/HJ5pArGMm) **引起動機** 以高二上物理第二章的斜向拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由地面以初速 $v_0$、仰角 $\theta$ 抛出,小球受到重力作用向下加速,計算小球的飛行時間 $t$ 及水平射程 $R$。 **統整與總結** 作業7:高爾夫球水平射程 $R$ 與初速度仰角 $\theta$ 的關係 <br /> ### 第9週(2022年10月27日):[圓周運動](https://hackmd.io/@yizhewang/HkyXcLfzm) **引起動機** 以高二上物理圓周運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的等速率圓周運動。進階活動:畫出鉛直面圓周運動並計算週期。 **統整與總結** 作業8:錐動擺 <br /> ### 第10週(2022年11月3日):[簡諧運動](https://hackmd.io/@yizhewang/S1eiJsuGzm) **引起動機** 以高二上物理第五章的簡諧運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的彈簧、木塊系統,讓木塊受到彈簧回復力的作用開始做簡諧運動。 **統整與總結** 作業9:鉛直簡諧運動 <br /> ### 第11週(2022年11月10日):[單擺](https://hackmd.io/@yizhewang/H1ArzImf7) **引起動機** 以高二上物理第五章的單擺為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出理想的單擺,改變起始的擺角計算運動過程及週期。進階活動:考慮空氣阻力的單擺。 **統整與總結** 作業10:不同起始擺角對應的單擺週期 <br /> ### 第12週(2022年11月17日):逢學校運動會,老師入班督導與指導 <br /> ### 第13週(2022年11月24日):[一維彈性碰撞](https://hackmd.io/@yizhewang/SkYXPWrfm) **引起動機** 以兩個物體發生一維彈性碰撞的過程為例,觀察程式模擬物體撞後速度與理論預測是否相符。 **活動** 有以下兩種情境: 1. 直接用一維彈性碰撞速度公式計算物體撞後速度。 2. 在兩個物體之間加上一條理想彈簧作為緩衝,計算物體撞後速度。 **統整與總結** 作業11:碰撞過程時間與彈簧的彈性常數關係 <br /> ### 第14週(2022年12月1日):第二次段考第一天 <br /> ### 第15週(2022年12月8日):[行星運動1](https://hackmd.io/@yizhewang/B1hUDpmGm) **引起動機** 以克卜勒行星運動定律為例,將天體的實際數據代入程式模擬中,觀察模擬結果與理論預測是否相符。 **活動** 1. 自訂星球速度、距離, 可更改萬有引力定律中 r的次方,驗證克卜勒第一行星運動定律。 2. 用dictionary儲存星球資料,驗證克卜勒第二、第三行星運動定律。 **附註:第15週開始沒有指定各週的作業,請同學提早開始準備期末專題報告。** <br /> ### 第16週(2022年12月15日):第三次學測模擬考第二天 <br /> ### 第17週(2022年12月22日):[行星運動2](https://hackmd.io/@yizhewang/B1hUDpmGm) **引起動機** 延續上一堂課的程式,使用不同的方式產生物件。 **活動** 1. 用dictionary儲存星球資料,用class 產生行星,驗證克卜勒第二、第三行星運動定律。 2. 用平均軌道半徑為1:4或1:1的行星,驗證克卜勒第三行星運動定律 <br /> ### 第18週(2022年12月29日):高三期末考第一天 <br /> ### 第19週(2023年1月5日):成果發表1 **引起動機** 每個人以一個物理課本當中的例子為主題設計模擬動畫並上台發表。 **活動** 每個人上台報告,分享自行撰寫的程式碼運作流程及成果,每人發表5分鐘,同學及教師回饋2分鐘。 **統整與總結** 每個人皆要上傳程式碼及書面報告電子檔,並於課程結束時繳交互評表。 <br /> ### 第20週(2023年1月12日):成果發表2 **引起動機** 每個人以一個物理課本當中的例子為主題設計模擬動畫並上台發表。 **活動** 每個人上台報告,分享自行撰寫的程式碼運作流程及成果,每人發表5分鐘,同學及教師回饋2分鐘。 **統整與總結** 每個人皆要上傳程式碼及書面報告電子檔,並於課程結束時繳交互評表。 <br /> --- ###### tags:`課程`、`VPython`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.