[心得] 數值軟體開發 - 陳永昱

看板NCTU-Teacher作者 (夏夜貓)時間2年前 (2022/01/23 23:19), 編輯推噓1(100)
留言1則, 1人參與, 2年前最新討論串1/1
⊕課名⊕ 數值軟體開發 ▲教授▲ 陳永昱 ★修課年度★ 110-1 £教了什麼£(課程大概內容。或是額外學會了什麼東西。) 課程網站: https://yyc.solvcon.net/en/latest/nsd/index.html 這堂課的主旨是如何設計數值軟體,所以上課涵蓋的範圍很廣,從底層知識到抽象設 計都有涉略。 課程內容可以分成四大類:Computer Fundamental, Performance Considerations, System Management, Design Techniques ,具體內容可以參考課程網 站首頁。 ◆上課方式◆(投影片、團體討論、老師教學風格) 老師上課是講自己的投影片,雖然不會公佈投影片,但是內容基本上對應到課程網站的 文件,上課漏聽了也可以看。 ▼考試作業▼ 總共有六次作業、一個期中考和 final project 。 作業一個佔 5%,總共 30%,期中佔 30%,final project 佔 40% (proposal 也會被列為計分範圍內),不會調分。 作業會要求用 C++ 實作 functions ,然後寫 Python wrapper (pybind11) 與寫測試 腳本 (pytest) ,然後有些後面的作業是為之前的作業加上一些額外的功能。 作業評分與繳交流程如下: 1. Fork 課程專案相對應的作業分支 2. 寫作業 3. 每個作業都會附上不同的評測腳本,跑完會顯示拿到的分數,滿分 為五分。 4. 發 PR ,跑 CI (github workflows) , 基本上如果評測腳本對了, CI 也可以跑過 。 但是我也發生過因為環境不同導致跑 CI 時編譯錯誤,還要額外修改 Makefile 。 5. 基本上有 CI 有成功跑過該作業就是滿分 期中考內容包括基本的 C++ 與 Python/Numpy 還有基本的計算機知識。 我印象中考了這些題目: - Unsigned/signed comparsions - C++ Operator Precedence - Conversions between Numpy datatypes and C type - IEEE-754 floating point representations of 1.8/-1.8 - Cache access simulation (存取資料問 cache miss 類型) Final project 在學期的前三分之一就要交 proposal ,期末要用英文報告。 ¥其他¥(是否注重出席率or嚴禁遲到?需要的基礎?) 這堂課是早七,但是不會點名,雖然這學期有叫我們簽到,不過似乎沒有算進去學期 成績,應該只是防疫規定而已。 老師上課很熱情,也會丟很多問題給大家問大家想法。 ¢最後想說的話¢ 這門課教了很多有關軟體工程的東西,這算是一般資工系的課比較少涉及的部分。而且老 師本身背景是在職工程師,英文也非常的流利,在解釋技術細節非常的清楚明瞭,上課時 偶爾也會當場 trace code 給我們看。 作業其實都不難,有些只是把前面寫過的作業做小修改而已,更何況繳交方式是在 github 發公開的 PR ,早七準時上課應該才是本門課最難的部分。 課程中最有收穫的地方應該是後面課程的 Modern C++ 和 Advanced Python , 學到了很 多實用的知識與技術,也發現之前寫的 C++ 其實很不 C++。 Final project 也做了以前一直想做的東西:中文版的 ASCII art generator (https://github.com/Cycatz/uniramp) ,但 是跟數值軟體可以說完全牽扯不上關係,不知道是不是這個原因讓我的 Presentation 分 數比預期還要低。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.168.234 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/NCTU-Teacher/M.1642951174.A.360.html

01/23 23:40, 2年前 , 1F
樓下噁男
01/23 23:40, 1F
文章代碼(AID): #1XxN86DW (NCTU-Teacher)