--- title: 2021 年資訊科技產業專案設計課程作業 1 tags: INFO2021 --- # 2021 年「[資訊科技產業專案設計](https://hackmd.io/@sysprog/info2021)」課程第 1 次作業 ## 作業目標 1. 進行課程協作 2. 練習 [LeetCode](https://leetcode.com/) 3. 模擬面試的前期準備 4. 練習中英文對話 5. 學習影片錄製和剪輯,最終發佈於 YouTube 的「[學員專區](https://www.youtube.com/channel/UCZtTiQyZwSnR0beo_iUR-gA)」 6. 學習 [HackMD](https://hackmd.io/) 的使用: [Markdown 語法](https://markdown.tw/), [$\LaTeX$ 排版](https://hackmd.io/@RintarouTW/LaTeX_語法筆記) ## 建立暱稱 為了保障學員隱私,課程要求學員取暱稱,而且要跟本名每個字都不相符,例如「==梅仁耀==」^(這保留給授課教師使用)^,之後模擬面試和作業都會用暱稱。另外,為了撰寫英文簡歷方便,學員也要指定英文名稱,例如 ==Lonely==^(這保留給授課教師使用)^ 暱稱規範: 1. 中文: 2 到 4 個字,不得跟自己的法定姓名任何字重複,且不該包含「雜魚」、「大」、「小」、「哥」、「弟」、「姊」、「妹」、「你」、「我」、「他」、「王」,「帝」、「皇」,和[五等爵](https://zh.wikipedia.org/wiki/%E4%BA%94%E7%AD%89%E7%88%B5)^公、侯、伯、子、男^等字,也不可跟[成功大學資訊工程系所](https://www.csie.ncku.edu.tw/)的教師名稱雷同。建議從武俠小說、歷史人物,和天文地理用語去選擇。 2. 英文: 4 個音節以內,不得與自己慣用的英文名稱重複。 :::info 後續課程將利用 Google Meet 一類的線上會議工具進行模擬面試,學員應變更識別為上述暱稱,一旦學員提交後,課程不受理變更,請謹慎命名 ::: > 使用暱稱是向阿里巴巴集團的「[花名](https://www.zhihu.com/question/20110879)」致敬 ## REACTO 步驟 {%youtube DIR_rxusO8Q %} * Repeat: 重複提問,確認自己理解原本的要求 * Examples: 針對題目條件,舉出符合的案例,不限於特例 * Approach: 說明自己打算採用的方案 * Code: 撰寫程式 * Test: 若不能實際測試,那說明驗證程式的方案 ## Coding Interviews Be Like - [ ] Part 1 {%youtube kVgy1GSDHG8 %} - [ ] Part 2 {%youtube 8719-T6J4R0 %} - [ ] Part 3 {%youtube -Q82bpVJDSc %} ## 作業要求 1. 在 [LeetCode](https://leetcode.com/) 選出 2 題 Easy 和 1 題 Medium,比照上方 "Coding Interviews Be Like" 的影片風格,自問自答 (但要能區隔 [interviewer](https://www.collinsdictionary.com/dictionary/english/interviewer) 和 [interviewee](https://www.collinsdictionary.com/dictionary/english/interviewee),可用不同服裝或剪輯時標註),並把握上述 REACTO 步驟,先重複提問、舉例、解說自己預計採用的方案,接著是撰寫程式和測試 * 注意: 應該要有程式碼演算法的改進討論,最好連同應用場景一併列入 2. 錄製影片時,必須將螢幕錄影 (網頁瀏覽器設定為全螢幕,字體儘量大卻又不會造成程式撰寫的困難,程式碼應該從無到有地撰寫,一邊撰寫程式碼,一邊解說) 和人物 (就是說你!) 動作納入,但儘量遮蔽臉部,可參閱以下方案: * [替臉孔+個資打馬賽克](https://www.youtube.com/watch?v=6O8aovkL5RY&t=187s) * [deface: Video anonymization by face detection](https://github.com/ORB-HD/deface) * [Zoom 的視訊濾鏡](https://hackmd.io/@chihyu1206/SytCqv-NF) * 配戴面具 3. 分別以==漢語==和==英語==,錄製上述 LeetCode 模擬面試過程的影片,保存在不同的影片檔案中,也該分別上傳 (因此合計 6 題 LeetCode) 4. 以 HackMD 紀錄上述模擬面試過程的討論、程式碼、改進方案,和初步檢討自己的表現,HackMD 的筆記應該設定權限為「允許已登入者可編輯」,標註自己的暱稱 * 範例: [linked list](https://hackmd.io/@sysprog/info2021-linked-list) 5. 依據上述規範,填寫 ==[第 1 次作業作答表單](https://docs.google.com/forms/d/e/1FAIpQLSeaGO4LQ9zj5Q0haRw2Pp8aaOGGLS2rWoF3SZ-QXbNm5U1wVA/viewform)==,留意暱稱的中文/英文、YouTube 影片的超連結 (對應漢語/英語),以及基本資料 (資料填寫不齊者,視同無效表單) ## 影片上傳流程 1. 學員製作影片並上傳到自己的 YouTube 頻道,設定為「==不公開==」(注意: 不是「私人」); * 影片標題為 ==暱稱中文-暱稱英文: Homework1 (漢/英)== * 影片說明則加註 [LeetCode](https://leetcode.com/) 的題目號碼及相關超連結 * 可適度後製影片,加上說明文字或部分字幕 3. 學員將前述「不公開」的影片,填入指定的 Google 表單中 4. 助教自 [第 1 次作業作答表單](https://docs.google.com/forms/d/e/1FAIpQLSeaGO4LQ9zj5Q0haRw2Pp8aaOGGLS2rWoF3SZ-QXbNm5U1wVA/viewform) 中檢視學員提交的影片,依據學員的「暱稱」(如:「梅仁耀」),上傳到「[學員專區](https://www.youtube.com/channel/UCZtTiQyZwSnR0beo_iUR-gA)」YouTube 頻道,每部影片都設定為「不公開」; 5. 在課堂時間,授課教師將會選出若干學員的影片,指出其中的優點和不足處,予以討論 6. 學員依據授課教師的建議,改進「自己」的面試表現,並重新錄製影片; (這是[第二次作業](https://hackmd.io/@sysprog/info2021-homework2)的範疇) 7. 學員依據作業規範,觀看「其他學員」的面試影片,指出其中優劣並予以探討; (這是第三次作業的範疇) ## 截止繳交時間 2021 年 10 月 5 日 13:00 (時間戳記以 Google 表單為主)