我如何參觀傳說中的 42 所學校:「泳池」、貓和網路而不是老師。 第2部分

我如何參觀傳說中的 42 所學校:「泳池」、貓和網路而不是老師。 第2部分

В 最後發表 我開始講一個關於42學校的故事,該學校以其革命性的教育體係而聞名:那裡沒有老師,學生互相檢查作業,而且不需要支付學費。在這篇文章中,我將更詳細地告訴您有關訓練系統以及學生完成哪些任務的資訊。

沒有老師,有網路和朋友。 學校的教育是基於聯合計畫工作的原則—同儕學習。學生不學習任何教科書,也不聽課。學校組織者相信,一切都可以在網路上找到,可以向朋友或與你一起從事專案的更有經驗的學生詢問。

完成的作業會被其他學生檢查3-4次,因此每個人都可以既是學生又是導師。也沒有分數——你只需要正確、完整地完成任務。即使完成了90%,也算失敗。

沒有評分,只有積分。 要提交項目供審核,您必須擁有一定數量的積分-修正點。透過檢查其他學生的作業來獲得分數。這是一個額外的成長因素 - 因為你必須了解各種任務,有時超出你的知識水平。

「有些項目是真實的空間,它們會讓你大吃一驚。然後,為了獲得一個修正點,你必須整天流汗,理解程式碼。有一天我很幸運,一天之內獲得了多達4個積分,這是難得的幸運。”,我的朋友、學生謝爾蓋說。

坐在角落是不行的。 項目可以單獨完成,也可以成對完成,也可以以更大的小組形式完成。他們始終受到人身保護,重要的是小組的所有成員都積極參與,並且每個人都理解代碼並且積極性很高。在這裡不可能保持沉默並袖手旁觀。因此,學校提高了團隊合作和成功溝通的技能。此外,所有學生都可以相互了解和交流,這對於建立人際網絡和未來的職業生涯非常有用。

遊戲化。 就像在電腦遊戲中一樣,學生可以使用神聖圖表(Holy Graph)升級並追蹤他們的進度——一張「神聖」地圖,清楚地顯示他們已經通過的整個路徑和前面的路徑。與角色扮演遊戲一樣,專案會獎勵“經驗”,累積一定數量後,就會過渡到新的等級。與真實遊戲的相似之處在於,每個新關卡都比上一個關卡更加困難,任務也越來越多。

我如何參觀傳說中的 42 所學校:「泳池」、貓和網路而不是老師。 第2部分

玻璃和Adm。 學校有兩個主要部門 - Bokal(技術人員)和 Adm(行政)。 Bokal 處理技術問題和教學部分,而 Adm 處理行政和組織問題。 Bokala/Adm 的人才儲備由在學校實習的學生自己補充。

這裡教授的方式和內容

一切都以“S”開頭。 在學校,他們只使用 Unix,認為 Windows 不是最佳選擇。程式碼從最基礎的知識開始教授,迫使您理解程式設計的邏輯。所有專案的前幾個層級僅以 C 和 C++ 語言執行,不使用 IDE。學生使用 gcc 編譯器和 vim 文本編輯器。

「在其他課程中,他們會給你函數,要求你做一個項目,然後才解釋它們是如何編程的。在這裡,除非您自己編寫該函數,否則您無法使用該函數。起初,當還在“池”中時,我不明白為什麼我需要這個 malloc,為什麼我需要自己分配內存,為什麼我沒有學習 Python 和 Javascript。然後你突然明白了,你開始理解計算機是如何思考的。”

規範。 保護成功後,所有專案都會上傳到本地相當於GitHub。但在此之前,必須使用 Norminette 程序對它們進行檢查,以確保代碼符合學校規則。

「如果程式碼運行完美,但存在記憶體洩漏,那麼該專案就被認為是失敗的。他們也檢查語法。我們有一個禁止的函數、屬性、標誌的列表,使用它們被視為作弊。你必須親手做所有事情,並且非常小心。”,謝爾蓋說。

我如何參觀傳說中的 42 所學校:「泳池」、貓和網路而不是老師。 第2部分

任務範例

學生執行的所有任務都透過三種方式進行檢查:透過程式設計、根據其他學生和 Glass 代表的檢查表。以下是一些帶有清單的 DIY 項目:

Init(系統與網路管理) — 您需要在虛擬機器上安裝Debian作業系統,並依照任務中指定的要求進行設定。

自由度 — 以C語言實作標準函式庫函數,如: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower 等等,沒有第三方函式庫,自己搞一下。您自己編寫標頭,自己實現它們,自己創建它們 Makefile,你自己編譯一下。

打印函數 ——需要全面實現標準功能 printf 所有的參數都用 C 語言編寫。對於初學者來說這是相當困難的。

填充 - 需要從作為輸入提供的四格骨牌清單中組裝出最小面積的正方形。在每一個新步驟中,都會增加一個新的四格骨牌。由於計算必須在 C 語言中並在最短的時間內完成,因此該任務很複雜。

利布爾斯 — 實現您自己的命令版本 ls 及其所有標準標誌。你可以而且應該利用過去作業的進展。

七嘴八舌

除了單獨執行的任務之外,還有一類由一群學生執行的任務 - 衝刺。與獨立專案不同,Rush 不是由學生使用檢查表進行檢查,而是由博卡爾的學校工作人員進行檢查。

派克斯 — 程式接受檔案名稱和任意 shell 命令作為輸入;學生必須展示在系統層級使用管道並實現與終端機中系統標準行為相同的功能的能力。

迷你談話 — 以 C 語言實作客戶端-伺服器應用程式。伺服器必須能夠支援多個客戶端的工作,並使用 SIGUSR1 和 SIGUSR2 系統訊號列印客戶端發送的訊息。

急凍食品 — 用 Golang 寫一個 IRC 伺服器,能夠使用並發和 goroutine 同時與多個客戶端一起工作。客戶端必須能夠使用登入名稱和密碼登入。 IRC 伺服器必須支援多個頻道。

結論

任何人都可以註冊 42 學校,並且不需要任何特殊知識。儘管該程式是為初學者設計的,但簡單的任務很快就會被不平凡的問題所取代,並且通常具有不明確的表述。學生需要有最大的奉獻精神,能夠搜尋英文官方文件中缺少的信息,並與其他學生合作完成作業。培訓計劃沒有嚴格的順序,所以每個人都選擇自己的發展道路。沒有端到端評級可以讓您專注於自己的進步和發展,而不是與他人進行比較。

來源: www.habr.com

添加評論