# ADA HW Spec
---
## Mini-HW
----
+ 共佔學期總成績 15 分
+ 每一週只要有上課都有(包括今天)
+ 共有 12 次手寫題及 2 次程式題 ,手寫題只取前 10 高的成績,程式題則是全部都會取
+ Deadline:
+ 手寫: **一週**後上課開始時間(14:20)
+ 程式: **兩週**後上課開始時間(14:20)
+ 手寫題會用 COOL 繳交,有問題可用評論功能
+ 程式題會用 Judge System 繳交
---
## HW
----
+ HW 共佔學期總成績40分,每次10分,共4次
+ 每次的釋出日期如下:
+ HW1: 9/30
+ HW2: 10/21
+ HW3: 11/25
+ HW4: 12/16
+ Deadline 基本上是釋出的 3 週後
+ 每次均包含程式題 (~4題) 及手寫題 (~2題) 兩部分,配分各佔50%
---
## Hand-Written Problems
----
### Gradescope
+ Link: gradescope.com
+ Entry Code: **86BEYX**
+ 請用學校信箱(你在COOL上顯示的信箱)註冊
----
### Policy
+ 可和其他人討論,但答案必須以自己的話寫
+ 每一題都要寫清楚你參考的資源、討論過的人
+ 一律用 Gradescope 繳交,手寫掃描或打字都可以
+ 手寫請注意字跡,TA有權不給你分數
+ 打字建議使用 Latex, Markdown
---
## Programming Problems
----
### Judge system
* ada-judge.csie.ntu.edu.tw
* Compiler 的資訊會在 Announcement 中
* judge 帳號會在下禮拜上課前給各位

----
### Result

----

----
### 出 bug 了 QQ (RE)
* 使用太多記憶體
* 使用到不合法的記憶體
* 除以 0
* 可以試著開 sanitizer 來找找看
* g++ code.cpp -fsanitize=undefined,address -g
* -D_GLIBCXX_DEBUG 可以印出 stl 的 debug 訊息
----
### 出 bug 了 QQ (TLE)
* 估算 worst case (助教們都會生這種測資的) 的時間複雜度
* 代入題目的範圍
* 如果算出來的數字 > 秒數$\times 10^8$,那高機率會 TLE
* 例:$N = 2000$ 的題目中,$O(N^2)$ 不會 TLE ,$O(N^3)$ 會
----
### 出 bug 了 QQ (WA)
* watch your code and meditate
* **範例測資**
* **範例沒包含的 case**
* **極端狀況**
* 找到一個會 WA 的測試資料
* 寫一個比較慢但是**正確性是對**的程式
* 用上面那個程式來找出會 WA 的資料
----
### 出 bug 了 QQ
* 問同學
* 問 TA
* 問認識的人
* 問不認識的人
----
### Rejudge
* TA 發現測資不夠強時,有權利 rejudge
* 我們會視情況決定 rejudge 的 submission
* rejudge 發生前 12 小時,會使用 NTU Cool 通知大家
* 哪題 rejudge
* 何時 rejudge
* rejudge 完成後,也會通知大家
* 發公告的當下,測資就會是更新過後的新測資
* 作業死線前一個禮拜不會 rejudge
* 如果 rejudge policy 有變動,會再發公告跟大家說
----
### Policy
* 每天每題有 **20次** 的上傳機會,請好好使用
* 作業歡迎跟其他人(同學、TA)討論,**但是 code 必須自己寫**
* 如果你有參考任何 reference 或與其他人討論,請在程式一開始用註解寫清楚
* 將別人的 code 換變數名稱 / 單行拆解 / unroll-loop ... 等抽換詞面不叫做"自己寫 code",Deadline 後我們會有程式專門抓抄襲,請勿以身試法或二分搜抄襲邊界
----
### Policy
* 不要公開你的答案。 (Ex: github + public, blog)
* 不要用你的帳號傳別人的答案,違者依情節懲處。
* 如果被抓到抄襲,依情節及累計次數決定該作業零分或被當。
---
## Plagiarism Policy
----
### Consequences
+ 第一次被抓到,**該次作業**0分
+ 第二次被抓到,請你明年再修
----
### About Hand-Written
+ 全憑改的TA自由心證
+ 請用自己的話寫出來
+ 直接丟quora / stackexchange 發問題不算是參考網路上的 reference
----

----
### About Programming
* 改變數沒有用
* 把東西丟function沒有用,不要再試了
* 不要全抄網路上的code,請自己寫code
---
## Last warning

----
* 今天就會有第一次手寫 mini
* 下禮拜就會有第一次程式 mini + HW1
* 程式 mini 應該會是整學期最簡單的程式題
* 請大家儘早開始寫 HW
* 大家加油:)
{"metaMigratedAt":"2023-06-16T10:59:23.595Z","metaMigratedFrom":"YAML","title":"ADA HW Spec","breaks":true,"contributors":"[{\"id\":\"bfbb1ae9-3bed-4f9c-8322-f9f11496e348\",\"add\":1900,\"del\":99},{\"id\":\"274d7925-ce10-4cb7-ae2c-bb1408678aa5\",\"add\":1105,\"del\":248}]"}