# 中和高中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`