計算機程式課程第一週, 只有 1b 有課, 1a 因為中秋節放假.
cadlab 網路設定
目前電腦輔助設計室 (cadlab) 中絕大部分的電腦都只有一個磁區 (假如有三個磁區的電腦是上一代的舊電腦), 使用的操作系統是 Windows 10, 因為系上有四門課程在電腦輔助設計室上課時, 採用的是純 IPv6 網路連線, 因此各位學員在接觸到計算機程式課程時, 必須學會設定電腦系統的網路連線.
IPv4 與 IPv6
IPv4 與 IPv6 是兩種不相容的網路協定. 目前除了計算機程式課程, 還有網際內容管理、電腦輔助設計與實習以及協同產品設計實習等課程, 上課時都將電腦輔助設計室的連外網路直接與系上主幹連接. 目的是希望擴大每一台電腦的網路頻寬, 可以無需透過 NAT 轉址後再連接到系上.
但是這樣做, 所要付出的代價是, 首先, 每一台電腦都直接以 IPv6 外部網路位址與網際網路相通, 若此時電腦中的 IPv4 也同時開啟的話, 安裝在操作系統中的某些軟體會以為已經取得 IPv4 的外部網路位址 (其實並沒有, 因此系上已經沒有額外的外部 IPv4 網路位址), 而啟動網路攻擊. 因而導致操作系統所安裝的防毒軟體作動, 關閉電腦的所有對外網路連線.
結論是: 當電腦輔助設計室網路線直接連到外網主幹時, 要設法關閉 IPv4 網路連線, 否則無法使用網路.
其次, IPv6 網路協定雖然已經逐漸普及, 但目前仍有許多網站只支援 IPv4 網路協定, 因此在純 IPv6 網路設定下, 若要連接至某些只支援 IPv4 的電腦或網站, 必須透過代理主機 (Proxy Server, 這裡所使用的代理主機執行 Squid).
學習議題
上計算機程式課程時, 當使用瀏覽器與執行 git 指令時, 該如何正確設定網路協定?
線上學習 Brython
當你完成電腦輔助設計室中的網路設定後, 就可以利用瀏覽器連線到這裡, 直接在線上學習 Brython.
學員課程網頁
cp2022 課程中的 cp 為 computer programming 的縮寫, 每一位學員各自建立 Github 帳號後, 將在 https://ethercalc.net/ 中登錄用於課程的 Github 帳號. 之後將配合 Github Classroom 建立學員課程網頁. 此一網頁倉儲分為靜態與動態等兩個部分, 靜態網頁是配合 Github Pages, 直接由 Github.com 提供對應網址, 而動態網頁則可在近端用於網站內容編輯改版, 也可以在 Windows 或 Ubuntu 操作系統中進行配置, 成為可多人協同維護的網際內容管理系統.
完成配置後的學員課程網頁, 將位於組織 (organization) 名稱為 mdecp2022 的帳號下, 且倉儲名稱將為: site-個人帳號名稱 (site 為 assignment 名稱). 至於個人 Github 帳號與學號的對應關聯則將登錄於 https://github.com/mdecycu/studlist/tree/main/2022fall 目錄中的班級對應檔案.
建立個人課程網頁示範:
有關筆記型電腦
綜一館八樓的電腦輔助設計室所配置的 PC, 雖然裝有還原卡, 但只要配合 USB 隨身碟與可攜套件, 應該足以應付 cp2022 計算機程式課程所需. 所以一般並不建議大一就購買筆記型電腦, 而是先善用系上所提供的 PC. 至於課外使用時段, 請參考系上電腦教室借用規定辦理, 通常週四與週五晚間未排課時段可以外借.
至於符合機械設計工程系需求的筆記型電腦, 一般建議 i7 等級以上, 16 GB 記憶體, 並配置中階以上獨立顯卡. Windows 操作系統則建議使用專業 (Professional) 以上版本.
校外電腦連接部分, 則需要每學年申請 VPN 使用授權, 下載學校購買的軟體或電子書, 只要設定校內 Proxy 即可, 但若要連網認證 SolidWorks 或 Matlab, 則需透過校內 VPN 連網.
Python Learning
https://coderslegacy.com/python/learning-the-basics/
https://coderslegacy.com/python/python-intermediate/
https://coderslegacy.com/python/python-advanced/
Coding with Python and Repl.it: https://i.ritzastatic.com/codewithreplit/e-books/coding-with-replit-export.pdf
Learn Python the right way: https://learnpythontherightway.com/#read
https://www.freecodecamp.org/news/how-to-use-replit/
Python curriculum: https://hackpacific.gitbooks.io/pythonium/content/