任何關於…謎題的程式設計的基礎

哈布羅夫斯克居民,您好!

在這篇文章中我想談談我在技術大學學院擔任 C++ 程式設計老師的經驗。 這是一生一次的經歷,教會了我很多事。 當談到您個人過去的有趣事實時,您首先想到的就是這段生活經歷。
走吧

首先,介紹一下我自己。
2016年,我以優異的成績從該學院畢業,獲得了自動化系統資訊安全學位。 在學習期間,我多次能夠發揮自己在撰寫科學文章、參加競賽和資助方面的潛力。 2015年,我有機會成為全俄羅斯青年科學家競賽「UMNIK」的獲勝者。 2016年,在完成學業之前,他已經在該市的一家大型組織中擔任「資訊安全、密碼學和加密專家」。
簡而言之,就是這樣的。 你可以想像我對程式設計還是有想法的。

現在是 2017 年。 研究生學習。 我被要求在一所大學教一個學期的 C++,為此我得到了豐厚的獎金來減輕研究生的負擔,僅此而已。

說實話,我真的很想嘗試這個信條。

第一對
九月。 開學第一週。 學生們來找我。 「最頑皮的團體」——這就是他們的名字。
23人。 "程式設計師".

正如所料,我首先自我介紹。 我小心翼翼地告訴他們「首先,簡單介紹一下我自己」這部分的內容…
然後可怕的事情開始了。 對於「你能做什麼?」這個問題學生(我們從現在起就這樣稱呼他們)回答說,他們可以做一點比什麼都不做(嗯,這意味著他們中的一些人知道MS VS 是什麼樣的,並且可以創建一個“Hello world ”項目)。 .. 程式設計師。 最後一門課程…

此外,他們「用顏色」詳細解釋說,他們沒有學到任何東西,總的來說,他們對程式設計感到失望...

直到我下節課之前的每一天幾乎都是這樣:
任何關於…謎題的程式設計的基礎

……但前一天,這個想法出現了,要努力糾正這些年輕人的思想和意識中的現狀。 然後“奧斯塔普就得意忘形了。”

程式設計簡介
下一課我帶來了……一個謎題。
是的是的。 謎。 “如何訓練你的龍。” 規則很簡單。 該小組被分成3隊。 每個團隊都組裝了自己的部分。 有些是森林,有些是大地,有些是畫面中央的龍。 當這對夫婦正在拼圖時,我告訴他們 拼拼圖也是程式設計程式設計師經常使用別人的程式碼,每個專案都有幾個不同的團隊、功能、模組...
漸漸地,最昏昏欲睡的學生也加入了這個過程。
當我將程式設計的想法融入業務概念、流程和…難題中後,就到了建立培訓規則的時候了。
每節課,每個學生都必須在筆記本上寫下 10 個 IT 術語。 任何。 每個人都有自己的。 關鍵是我拿了一個學生的筆記本,在所有術語中找到了 最大限度地應用 並向另一名學生詢問了他們的情況。 當另一個學生說“我沒有寫下那個術語”時,不會受到任何懲罰(根據常識),但該學生必須寫下“缺失”的術語(就像其他沒有這些術語的人一樣)並通過下一項找到它們的意義:職業。

這就是我們所做的。 每節課都以兩到三個學生的愉快的隨機性開始。 小伙子們對這個過程充滿熱情。

課程主題
在開始培訓時,為學生提供好的文獻非常重要。 在我看來,理想的書是:
任何關於…謎題的程式設計的基礎

有一次我必須抱著 Microsoft Visual Studio 偷偷地讀它。 然後我幾乎能夠從頭開始理解程式設計。 完美的選擇。

你謙虛地走到學生面前說:“要成為程式設計師,你只需閱讀並嘗試這本書中的所有內容即可”,然後將書扔到桌子上。 最主要的是不要混淆背包裡的書...

在每個話題之前,我當然要做好充分的準備。 我從網路上閱讀了相同的 Laforet 和其他幾個有趣的資料。
解釋幾乎是從頭開始。 而且,也要了解學生的基礎知識演繹被切斷在哪裡。
陣列 -> 使用記憶體(建構函式) -> 連結 -> 記憶體如何運作 -> 磁碟機 -> 什麼是實體磁碟機 -> 資料的二進位表示法...
任何關於…謎題的程式設計的基礎

對程式設計基本事實知識的非常強大的碰撞測試。 我不再是程式設計師,我是歷史學家!

因此,這意味著幾對夫婦正在連續發生歷史性的戰鬥。 有一天,部門的一位秘書走進我們的辦公室,看到這群人,睜大了眼睛,看了一眼,然後關上了門。 後來我得知,她很驚訝這群人如此安靜地坐著,如此專心地聽我說話……嗯,很簡單。

實驗室工程
第一個應用的資訊是第一個「實驗室」。 本學期,該小組總共通過了 10 項實驗室作業。 起初他們做了最簡單的控制台 a + b,在後者中,他們編寫了雖然基於控制台但非常有趣的應用程序,例如使用三種方法之一計算某些任意給定函數的積分值 - 與最終認證課程作業中的任務大致相同。

這只是接受方法 沒有 很熟悉。 在研究所的整個學習過程中,我面臨著這樣一個事實:聰明和能夠通過報告並不是一回事。 這根本不適合我。

- 夥計們,我在想。 讓我們建立一種「概念」關係。 如果你們中有人認為自己不需要編程,門就在那邊。 我免費教你。 我想在這裡看到的只是好奇、有愛心、有愛心的愛好者。 「我請求其他人不要浪費大家的時間,」我在實驗室工作的第一天說道。 此後,5人立即停止上課。 這是符合邏輯且符合預期的。 可以嘗試用其餘部分做一些可以理解的事情。

- ...我對看別人做你的工作只是為了通過它不感興趣。 你可能不是程式設計師,但你會是我班上的人 必須.

它看起來像這樣:

case отличник

一個學生和我坐下來交作業。
——是你自己做的嗎?
- 是的。
- 這是什麼?
- *回答正確*。
*我還問了幾點。 回答正確*
- 接受。 偉大的。

case болтун

——是你自己做的嗎?
- 是的。
- 這是什麼?
- *回答錯誤/沒有答案*。
*我還問了幾點。 相同的結果*
- 不接受。 失敗的 我正在等待重考。

case хорошист

——是你自己做的嗎?
- 是的。
- 這是什麼?
- *回答正確,但不自信,游泳*。
*我還問了幾點。 相同的結果*
- 接受。 美好的。

case ровныйТроечник

——是你自己做的嗎?
- 不。
- 為什麼?
- 難的。 他幫助了我... *誠實地命名了小組中的一名優秀學生*
- 你明白了嗎?
- 是的,我幾乎明白了一切。

- 這是什麼?
- *回答正確*。
*我還問了幾點。 答案或多或少正確,有時完全錯誤,即使正確與錯誤的比例是 50/50*
- 接受。 美好的。

描述所有其他情況是沒有意義的。 是的,基於誠實,「好學生」可能會對「C」學生獲得相同的分數感到不滿。 那麼一切就看心情了。 或者我讓“好學生”看看地板,因為“現在我要丟下一點智慧”,然後我會告訴你這個方法的本質,描述生活中什麼是更有價值的,並解釋“C”的學生通過考試比他這個「好學生」困難得多。」等等…
……或者,就像我的老師曾經做過的那樣,我會在這個不滿意的人對面的日記盒裡畫一顆小牙齒,下次我會親自為他完成實驗室工作。 只是。 以免「消滅」你的戰友。

任何關於…謎題的程式設計的基礎

Оценки
教育過程就像整個世界一樣,實際上被價格標籤和成績淹沒了。
學生也是人不過,在我看來,這裡的「框架」也應該被「動搖」。
這學期,每個人都被分配了一項獎勵任務。 為.....註冊 github.com,在那裡上傳一個空的 C++ 項目,進行 2 次更新,提交並推送它們。 對於這些行動,分配了 15 個。是的,是的,不是 4,不是 5,而是 15。三個人解決了。 對於學生的心理類型來說,這在某種程度上是可以理解的,但還有另一種情況。
有一次我們夫婦被感動了,她是最後一個,而且還穿過幾扇窗戶。 然而,還是有15人前來。 我不想解釋一個新的主題來紀念這種英雄主義,因為我們純粹在主題方面已經取得了很好的進展+下一個主題對於疲憊的大腦(我和學生的)來說並不是很簡單。 然後我決定談哲學。

——我宣告一項前所未有的慷慨的吸引力。 每個人都告訴我今天這雙鞋應該要給他多少分。
每個人都想要一個“A”。
「考慮一下它已經在那裡了,」我說。 大家都很高興。
沉默。
- 為什麼沒人願意? 7-ku 或 10-ku?
所有人都瞪大了眼睛,開始傻笑。
- 你會打賭嗎? 去雜誌社?! ——一個聲音從前台傳來。
- 是的,簡單! - 我說, - 我要宣布一場閃電戰,誰回答了我的 10 個問題 - 我敢打賭 20日 給雜誌,沒有任何問題,誰不回覆誰就是那個 -10 (減十)。

「全隊精神抖擻,辯論開始。」每個人都老實得了分。 兩個人自願的。 他們輪流提出了 10 個問題,內容涉及堆疊、佇列、建構子、析構函數、垃圾收集器、封裝、多態性、雜湊函數...
每一張都是在雜誌上畫的 20……但是雜誌和成績的重要性都落在大家的眼裡了。 現在我很遺憾沒有詢問他們是否願意與某人「分享」他們的評估。 在我看來,他們會分享……從現在起,每個人都用知識和誠實交出「實驗室」。

從這一刻起,另一種類型的實驗室交付出現了:


case честноНеЕгоНоОнПытался

——是你自己做的嗎?
- 不。
- 為什麼?
- 難的。 他幫助了我... *誠實地命名了小組中的一名優秀學生*
- 你明白了嗎?
— 謝爾蓋·尼古拉耶維奇,老實說,我什麼都不懂,所以我在每一行旁邊寫了註釋 — 好吧,那不是我的事,我會成為一名拖拉機司機
- 這是什麼?
— *閱讀該行對面的評論*。
-...
-...
— 白俄羅斯MTZ和Don 500、K700有什麼差別?
- ??!... 第一種是明斯克製造的輪式拖拉機,常用於輕型和中型農業生產。 它還具有前面的小輪子和後面的大輪子。 Don 500 基本上是一台收割機,K-700 Kirovets 是一款蘇聯通用全地形輪式拖拉機,牽引力等級為 5。
- 接受。 美好的 (!!!)。
- 謝謝你,謝爾蓋·尼古拉耶維奇!

在我的家鄉,談論 TractorA 幾乎就像在這裡談論 SOLID 一樣。

天才
我的小組中有一位天才。 該學生第一堂課就遲到了,沒有和其他人一起完成拼圖。 然後我請他做我下節課要為大家安排的事情——在一張紙上給自己寫下他感興趣的事情,他感興趣的事情。 根據結果,「天才」有2-3行:例如「我意識到存在是徒勞無功的」…

……天哪,我的組別裡有第二個老子和小島一個人…
任何關於…謎題的程式設計的基礎

令我驚訝的是,在前兩節課中,他確實非常出色地回答了有關術語的問題,但效果並沒有持續多久。 這位「天才」不再上課,下次來只​​是為了通過第一個實驗室工作,他順利完成了這項工作。 沒有通過 由於客觀原因。 然後,由於缺勤,他自然而然地積累了債務,正如他所認為的那樣, 我只是不得不「以兄弟般的方式」來評價他.
夫妻不參加+心率增加違反了我上課的既定原則。 「天才」只有兩種擺脫困境的方法:恢復自我(預期的路徑)或放棄課程並希望院長辦公室給出「C」以擺脫懶惰者。
嗯,這就是「天才」……你必須立即表現得「出色」。 這個年輕人找不到比在VK(我和這個小組中的所有學生都在)的一般對話中寫下對我的憤怒的長篇大論和咒罵和侮辱更好的了。

嗯……失望。
最引人注目的是,在學院管理層的懲罰行動完成之前,他決定向我道歉。 為了什麼? - 我真的不明白。 那時,我早已對批評保持獨立,尤其是這種坦白說愚蠢的批評。 我的性格沒有受到影響,但過程就是過程,身為老師我忍不住報告這一點。 事實證明,在他求學期間,針對他的投訴已經堆積如山,這起案件最終成為最後一起案件。 他被驅逐了。 從職業學校最後一年開始。
也許他已經透過狙擊槍的視線觀察我很久了,但說實話,我不在乎。
呃,天才,你真是無情啊…

尾聲
對我個人來說,教學經驗是最具啟發性的經驗之一。 這幫助我鞏固了在學院學習後的程式設計基礎。 我對我選擇的專業(可用專業的範圍)充滿信心。 特別重要的是,「最頑皮的群體」給了我尊重和友善——這是非常值得的。 我設法找到一種方法來培養他們內心的創新者,試圖灌輸現實,而不是這些刻板的優先事項。 遺憾的是,我們沒有觸及編碼中的「難題」——每個人都必須編寫一部分程式碼,透過將所有部分連接成一個,我們將得到一個大型的工作程序…
我希望有一天他們每個人都能感受到這一點……但現在,以下是幾位學生兩年後的評論截圖。

任何關於…謎題的程式設計的基礎

對於他們中的任何一個人來說,對程式設計師職業生涯的成功下結論還為時過早,因為現在這個群體中的大多數人都在大學學習。 時間會證明。

我希望這篇文章有用。 感謝您的關注!
同事們,創造性的成功和積極的情緒!

來源: www.habr.com

添加評論