# 中和高中111學年第2學期高三多元選修「程式設計與物理模擬」課程計畫 > 日期:2023年1月19日 <br /> ## 基本資料 - 課程中文名稱:程式設計與物理模擬 - 課程英文名稱:Physics Simulations in Python - 授課教師:王一哲 yizhe@mail2.chshs.ntpc.edu.tw - 授課年段:高三 - 學分數:2 - 上課地點:電腦教室1 - 學習目標 1. 學生能學習分析物理問題及建模的方法。 2. 學生能利用程式語言描述物件遵守的物理定律。 3. 學生能將模擬程式產生的數據匯出、作圖,並與實驗數據相互對照。 - 成績計算比例 1. 平常上課表現20% 2. 作業80%,共10次。 3. 本學期成績結算日期為**2023年5月4日**,當天中午下課前為補交作業的截止時間。 - 學習歷程檔案 學習歷程檔案不列入學期成績,但這是申請入學時重要的備審資料,如果想要申請理、工相關的科系,可以上傳本課程的學習歷程檔案。本學期上傳學習歷程檔案截止時間為**2023年4月10日**。 - [學校選課網頁公告資料](https://docs.google.com/spreadsheets/d/1TM6JjtjUYo3ZpONsU6NGWj9ooeecP28wiOd6Z9ZkLvM/edit#gid=0) - [授課教師課程網頁](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學年度第2學期行事曆](https://docs.google.com/spreadsheets/d/1G6XBtvT5-Jc6-IfDFqISocHE6I0zUTa7tfPZ0tW2vYU/edit#gid=0) <br /> ## 教學大綱 ### 第1週(2023年2月16日):[安裝及測試 VPython](https://hackmd.io/@yizhewang/BJ2jKMbf7) **引起動機** VPython 是Python的視覺化模擬套件,很適合用來模擬物理問題。 **活動** 於電腦上安裝Python及VPython套件,並以教師提供的範例程式測試套件是否已經正確安裝。 **統整與總結** 於這堂課中學生需要學會使用pip或pip3指令安裝套件。 <br /> ### 第2週(2023年2月23日):[Python基本語法](https://hackmd.io/@yizhewang/Sk_yOs-zm) **引起動機** 在開始寫物理模擬程式之前,需要先學習常用的基本語法。 **活動** 學習使用if、elif、else、for、while控制程式,並用print輸出文字或數值。 **統整與總結** 作業1:尤拉數 <br /> ### 第3週(2023年3月2日):[等速度直線運動](https://hackmd.io/@yizhewang/HJ7Ejj-GX) **引起動機** 從最單純的等速度直線運動開始製作模擬動畫,不涉及複雜的數學計算。 **活動** 畫出木塊、地板以及木塊的 x-t 圖、 v-t 圖 **統整與總結** 作業2:右側有牆壁的等速度直線運動 <br /> ### 第4週(2023年3月9日):[自由落下](https://hackmd.io/@yizhewang/S1e8LxzGQ) **引起動機** 以學生在高一學到的自由落下為例,讓學生將模擬動畫與過去所學的知識互相對照。 **活動** 將物體加上重力的作用,畫出小球從某個高度往下加速落到地板上,並畫出小球的y-t圖、v-t圖。 **統整與總結** 作業3:同時有3個小球的自由落下 <br /> ### 第5週(2023年3月16日):[終端速度](https://hackmd.io/@yizhewang/rJHr7-fG7) **引起動機** 延續上一堂課的程式,探討小球如果受到空氣阻力作用時運動狀態有何變化。 **活動** 當小球從高空落下時,同時受到重力及空氣阻力的作用,試著找出小球的運動過程及終端速度,同時將得到的資料存成文字檔。 **統整與總結** 作業4:終端速度 $v_t$ 與空氣阻力係數 $b$ 的關係 <br /> ### 第6週(2023年3月23日):[水平抛射](https://hackmd.io/@yizhewang/Hy4UoZfMm) **引起動機** 以高二上物理第二章的水平拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由高度 $h$ 處以水平初速 $v_0$ 抛出,小球受到重力作用向下加速,畫出在不同條件下小球運動的過程。 **統整與總結** 作業5:水平拋射的小球於牆壁與地板間來回碰撞10次 <br /> ### 第7週(2023年3月30日):[使用For迴圈計算水平抛射資料](https://hackmd.io/@yizhewang/SJoo2fGfQ) **引起動機** 延續上一堂課的程式,再利用for迴圈改變起始條件。 **活動** 利用for 迴圈自動代入不同的高度 $h$ 並記錄水平射程 $R$,同時將得到的資料存成文字檔。 **統整與總結** 作業6:水平射程 $R$ 與初速度 $v_0$ 的關係 <br /> ### 第8週(2023年4月6日):[斜向抛射](https://hackmd.io/@yizhewang/HJ5pArGMm) **引起動機** 以高二上物理斜向拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由地面以初速 $v_0$、仰角 $\theta$ 抛出,小球受到重力作用向下加速,計算小球的飛行時間 $t$ 及水平射程 $R$。 **統整與總結** 作業7:高爾夫球水平射程 $R$ 與初速度仰角 $\theta$ 的關係 **附註:本學期上傳學習歷程檔案截止時間為2023年4月10日** <br /> ### 第9週(2023年4月13日):[圓周運動](https://hackmd.io/@yizhewang/HkyXcLfzm) **引起動機** 以高二上物理圓周運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的等速率圓周運動。進階活動:畫出鉛直面圓周運動並計算週期。 **統整與總結** 作業8:錐動擺 <br /> ### 第10週(2023年4月20日):[簡諧運動](https://hackmd.io/@yizhewang/S1eiJsuGzm) **引起動機** 以高二上物理的簡諧運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的彈簧、木塊系統,讓木塊受到彈簧回復力的作用開始做簡諧運動。 **統整與總結** 作業9:鉛直簡諧運動 <br /> ### 第11週(2023年4月27日):[單擺](https://hackmd.io/@yizhewang/H1ArzImf7) **引起動機** 以高二上物理的單擺為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出理想的單擺,改變起始的擺角計算運動過程及週期。進階活動:考慮空氣阻力的單擺。 **統整與總結** 作業10:不同起始擺角對應的單擺週期 <br /> ### 第12週(2023年5月4日):高三實彈射擊,停課 **附註:今天為本學期成績結算日,當天中午12:00為補交作業的截止時間。** <br /> ### 第13週(2023年5月11日):高一、高二第二次段考第一天 <br /> ### 第14週(2023年5月18日):[一維彈性碰撞](https://hackmd.io/@yizhewang/SkYXPWrfm) **引起動機** 以兩個物體發生一維彈性碰撞的過程為例,觀察程式模擬物體撞後速度與理論預測是否相符。 **活動** 有以下兩種情境: 1. 直接用一維彈性碰撞速度公式計算物體撞後速度。 2. 在兩個物體之間加上一條理想彈簧作為緩衝,計算物體撞後速度。 <br /> ### 第15週(2023年5月25日):[行星運動](https://hackmd.io/@yizhewang/B1hUDpmGm) **引起動機** 以克卜勒行星運動定律為例,將天體的實際數據代入程式模擬中,觀察模擬結果與理論預測是否相符。 **活動** 1. 自訂星球速度、距離, 可更改萬有引力定律中 r的次方,驗證克卜勒第一行星運動定律。 2. 用dictionary儲存星球資料,驗證克卜勒第二、第三行星運動定律。 3. 用dictionary儲存星球資料,用class 產生行星,驗證克卜勒第二、第三行星運動定律。 4. 用平均軌道半徑為1:4或1:1的行星,驗證克卜勒第三行星運動定律 **附註:本學期最後一次上課** <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
.