###### tags: `opensourceproj` # (working draft) NTU Applied Zero Knowledge Open Source Student Dev Fellowship 中文 這是一個以台大學生為主的開源專案學習計畫,計劃裡面的專案會與應用零知識證明在區塊鏈有關。 計畫不會有完整的教學過程,也就是不會有教授或講師每週授課。參與學員在四個月的學習過程中會與3~4個學員一起「自主」實作一個開源專案內的貢獻或合作的組織提供的題目。開源專案或是合作的組織會有 mentor 可以適時的指導學員針對貢獻專案提出的問題。 至 [Program Detail](#Program-Detail) 段落可以了解更多上述內容的細節。 # Getting Started * [Program Detail](#Program-Detail) * [What is this Program](#What-is-this-Program) * [Communication](#Communication) * [Program Timeline](#Program-Timeline) * [Participation Guide](#Program-Timeline) * [Application](#Application) * [FAQ](#FAQ) * [Technical Resource](#Technical-Resource-and-Template-TODO) * [Program Org Team](#Program-Org-Team) * [Reference - Program Files](#Reference---Program-Files) * [Reference - Open Source Program](#Reference---Open-Source-Program) # Program Detail ## What is this Program 零知識證明 (Zero Knowledge Proof) 是近期區塊鏈的研究開發重點,能夠帶來隱私(privacy) 以及擴容 (scaling) 兩個優點。學員透過參與開源專案或合作企業的專案能藉由實作,培養能夠針對開源專案貢獻能力以及提升對應用零知識證明的理解。 這個計畫不會有完整的教學,也就是不會有教授或講師每週授課,學員若有需要了解更多零知識證明的細節,可自行透過下文[Technical Resource] 段落提供的材料,材料包含其他活動的零知識證明教學影片、材料。在開發過程中,學員會得到專案上的支持,會有至多每週一次的時間與 mentor 討論學員事前準備好的問題。 4個月的期間,學員會經歷以下的活動,這些活動也是檢核點: (TODO:是否有學分/是否是一堂課) * **每週週會** * **一個月一次的 Demo Day(共三次)** * **(Optional) 實體 meetup** 包含閱讀文件,開發,學員一周可能需要非連續的15~20小時投入到這個計畫上。 ## What will you work on TODO * **前兩次 demo day** 專案的 maintainer 會提供一些 feature request/bug fix 當作這兩次的 demo day * **最後一次 demo day** 參與的學員會提出一個 feature proposal,並把這個 feature 實作出來並且發出 PR 到專案上並且被 merge 成功。 合作的專案以及對應的組織如下: | 專案 | 組織 | 簡短說明 | | -------- | -------- | -------- | | TODO | TODO | TODO | | TODO | TODO | TODO | ## Who is it for? 理想上,學員要有以下技能。 * **良好的表達及寫文件的能力** 在實作專案裡面的功能時,與同組別的學員以及與 mentor 討論都需要良好的表達。這些開源專案所需要的能力未必跟困難的演算法/資料結構一樣困難,但通常有很多需要一起合作、花時間事先閱讀並跟彼此討論的文件,因此表達能力與寫程式能力一樣重要。每個人每兩週會需要寫下學習的摘要放在 GitHub 上,在此有個[書寫範例](https://hackmd.io/BNar42WrSuumbPwwf0e1-Q?view#Technical-Resource)。另外若有具體的貢獻(例如在專案上新加入功能)則可能會有需要在 GitHub 上增修專案的文件,因此寫文件的能力也是重要的。 * **有能夠讓你看懂開源專案並且開發的程式能力** 接觸一個開源專案能夠知道從哪裡開始,並且能夠從小的 issue 開始讓自己熟悉一個專案。你不需要是非常厲害的軟體開發者,也不需要對特定程式語言很精通,但要有能力快速學習開發中所需要的軟體以及技能。 * **自動自發並且負責** 在這個計畫中,學員必須要與同組組員一起合作將專案。若你預期在這個學期沒有辦法付出相對應的努力在這個計畫上,建議審慎思考是否申請。另一方面,mentor 固然在本計畫中是重要角色,但學員仍需要自己學習實作並與同儕討論,而精煉後的問題才在 office hour提出。 這些技能並不是在申請前就需要完全具備,但學員要能夠在申請資料中展現具備這些能力的潛力,並且在實際計畫進行時逐漸讓自己提升這些技能。 ## Communication 這個計畫使用 discord 作為溝通的平台,在 discord server 你可以接觸到 mentor 或其他的學員。這些 mentor 不限於台灣人,因此討論語言不限於中文,若非使用中文的 mentor 則使用英文。 在本計劃,每週會有兩個會議: * **Standup calls** 學員在此週會討論並簡短互相報告專案的進度,部分時候 mentor 可能會出現。 開會時間TBD * **Office hours** 在 Office Hour,學員可以針對事先提出的問題與 mentor 進行討論。若沒有事前提出的問題,則 Office Hour 會**自動取消**,開會的時間(TBA),你可以在 [Mentorship Guide](https://hackmd.io/BNar42WrSuumbPwwf0e1-Q?view#Mentorship-guide) 學習如何與 mentor 討論並且預約一個 Office Hour 要繳交文件或是報告會在 GitHub 開一個 repository 能夠繳交,詳細說明請見 [Biweekly Report and Progrss Update](https://hackmd.io/BNar42WrSuumbPwwf0e1-Q?view#Biweekly-Report-and-Progress-Update) ## Program Timeline 這是個為期四個月的計畫。計畫時間從 9月到2024 1月  Gantt Chart 請參考[此處](https://docs.google.com/spreadsheets/d/1PF6WTN3Toh7FGbWhvkdyexBrnoi72gR33PbiQ1-HAFI/edit?usp=sharing) 具體時間會由以下四個階段組成: ### Phase Zero:計畫事前準備 * **Mentor/合作組織提出Project 2023/5/1 ~ 2023/7/10** * **marketing campaign 2023/7/10 ~ 2023/8/20** * 次數/日期/內容 TBD * **Application during 2023/7/10 ~ 2023/8/20** * **Screening applicant 2023/8/20 ~ 2023/8/31** 申請細節以及篩選標準請見 Application 段落 ### Phase One:計畫開始 * **期間:2023/9/1~2023/9/7,9/7退選截止** * **program orientation** 介紹本計畫、計畫主要關注領域、了解合作的專案及組織 * **2023/9/7 前填寫 project 意願,9/8公布** 為平衡各組人數,並不能保證 project 意願與最終媒合 project 相同 ### Phase Two:完成指定 feature request/bug fix * **期間:2023/9/8~2023/11/26** * **Weekly Standup call/Office Hour** * 每週一次,Demo Day 當週不用開 Standup call,時間TBD * 參與 Standup call 你該注意的,參考此 * **Biweekly Report and Progress Update** * 每兩週一次,繳交截止時間TBD * 每週的進度以及學習到的心得,參考此 * **Monthly Demo Day** * 每月一次,共兩次 * 2023/10/10 週日 晚上 (雙十連假最後一天) * 2023/11/26 週日 晚上 (期末課程回饋期末考尚未開始) ### Phase Three:自主發想專案 feature * **期間: 2023/11/26~2024/1/7** * **Weekly Standup call/Office Hour** * 提出一個 feature proposal,並把這個 feature 實作出來。本階段的 Standup Call 主要是在繳交 proposal 前與 mentor 及其他學員討論 feature 可行性 * **Biweekly Report and Progress Update** * 每兩週一次,共兩次 * 第一次的 biweekly report 必須繳交 proposal,proposal * **Monthly Demo Day** * 每月一次,共一次 * 2023/1/7 週日 晚上 (1/1教師繳交成績期限,學校課程已經結束) ### Program End * 專案結束,可在後續繼續貢獻區塊鏈零知識證明的開源生態系 上述的時間為原則上的時間點,若學員或 mentor 有特定的需要,都能夠在雙方合意下彈性的重新安排時間。 # Participation Guide ## Choose a Project 在第一週根據合作組織介紹的 project 以及相對應的 GitHub 原始碼連結,選出你最有興趣且認為有能力勝任的專案。 ## Weekly Standup call * 一週最多可以安排一次 mentor 時間 * 每人時長原則上不用超過10分鐘,可多人一起 * 口頭討論,若有需要可做投影片輔助,討論可包含(但不限於)以下內容: 1. 現在在開發什麼 2. 下週要做什麼 3. 目前有無任何困難 4. 針對困難的議題已經做過什麼研究 ## Biweekly Report and Progress Update TODO 繳交文件或是報告會在 GitHub 開一個 repository 能夠繳交,這個 repo 的目的為: 1. **讓這個計畫進行的細節成為開源的一部分** 你的貢獻可以公開地在網路上被看到,也能被檢驗 2. **未來類似計畫的參考依據** 3. **為未來有興趣研究類似主題的人提供資源** TODO: 增加更多說明 https://github.com/eth-protocol-fellows/cohort-three/blob/master/program-guide/repo-guide.md ## Mentorship guide Mentor 協助你並且給你專案進度上的回饋,但**不會**鉅細靡遺教導並對你的專案提供指引,問問題之前先自己思考過、查詢過網路、或甚至問過 chatGPT (並查證!) 如何與 mentor 互動: * 發問前先研究,提出你做過的嘗試,以及搜尋過後的 reference * 在 discord 的 #你的專案 channel 內發問並標注 mentor,適當的開一個thread,讓其他人比較好分類並回溯查訊息 * 若討論的內容更長,mentor 或學員可以決定是否要在 office hour 討論。若問題相對比較大,需要完整的時間,可以預約一週一次的 office hour,在討論之前發一個 issue,包含 預計討論內容、時間以及會議連結,參考[此處](https://github.com/eth-protocol-fellows/cohort-three/issues/334) ## Application ### Selection Criteria TODO ### Screening Process hw0, application form, TODO # FAQ * **是否會需要以英文進行與 mentor 的討論** 有可能,這部分取決於合作的組織 * **學員預期付出時間** 學員一周可能需要10~25小時 * **我會得到 mentor 什麼樣的協助** 學員自主提出問題,但不應期待 mentor 會完整的教導零知識證明的概念、如何開發特定功能 * **時程有多長** 4 個月 * **這個專案是否有後續與合作組織合作實習的機會** 這不包含在專案計畫中,合作組織有可能因為學員表現優異邀請實習或面試,但這此計畫並不保證相關機會。 * **是線上進行還是實體進行** 線上進行,可能會有實體的聚會,但非強制性 * **是否有限制系所以及年級** 不會限制任何系所的同學參與,也不會限制年級 * **是否有限制校內同學參與** TODO current thought: 是 # Technical Resource and Template TODO * **Suggested Reading List** 零知識證明的基本介紹,待補完XXX TODO * **how to launch an office hour** 在 mentor 與學員簡短討論過後,若問題相對比較大,需要完整的時間,可以預約一週一次的 office hour,在討論之前發一個 issue,包含 預計討論內容、時間以及會議連結,參考[此處](https://github.com/eth-protocol-fellows/cohort-three/issues/334) * **how to write up a progress update for biweekly report** TODO https://github.com/eth-protocol-fellows/cohort-three/blob/master/development-updates.md#update-1 ignacio gabriel https://github.com/eth-protocol-fellows/cohort-three/blob/master/notes/0xgabi.md#10312022 有個blog post的,在這找找https://github.com/eth-protocol-fellows/cohort-three/blob/master/development-updates.md * **how to write up a project proposal** 第二階段提出一個 feature proposal,並把這個 feature 實作出來,參考[此處](https://github.com/eth-protocol-fellows/cohort-three/blob/master/projects/consensus_client_reward_APIs.md) # Program Org Team TODO
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up