開課4周,實際教學3周,C++教和學的工作似乎一切有序進行。昨晚例行地為每位同學“記了工分”,令人吃驚的是,看到的是冰火兩重天的景象:一部分同學高唱凱歌,一部分同學成果可憐甚至空白。處於中間狀態的同學,很少。一方面上機課、輔導時間結束,或其他時間,我在CSDN“空間”中看到同學們忙碌的身影,一片繁榮;另一方面,近一半的同學,在期限結束,進展為0,或只能提交1個任務。在這懸殊數據的背後,我看到的是同學們在知識掌握程度上的懸殊,以及對程序設計體驗上的懸殊,以及大學生活方式和結果的走向上可能的懸殊。
現在說兩極分化為時過早,至少給部分同學拉響警鐘。可以想象得到這些進展不暢的同學遭遇到的困難,但這不能成為我放棄提出警告的理由。這56名同學編程的編程經歷,幾乎全是0基礎。這給我們提出一個尖銳的問題,究竟是什麼造成了現在如此大的差距?
答復一,是投入。程序設計是一門實踐性極強的課程,沒有體驗,課堂上講的,書本上寫的概念、方法、原理就全是死知識,很難在頭腦裡扎根。僅靠平均一周3個學時的課堂教學,2個學時的上機,遠遠解決不了問題。好司機用裡程說話,好程序員用代碼行數說話,不從開始就去積累,不從開始就習慣在實踐上的投入,找不到學習的方向,意味著在起跑線上的投降。
答復二,是堅持。一時的熱情容易,現在看來,不少同學在兩周時的熱情仍然,但第3周卻出了問題。我不信奉熱情,保持熱情太沉重。興趣或許靠得住,尚在培養興趣的階段,最忌諱輕易地放手。興趣這東西,手一松,就可能跑了,眼見著周圍同學的進步,如果不能再次趕上,它可能永遠離你而去。屆時,你會找出一個讓所有人動容的理由:我沒有興趣。興趣這東西,你不要,他不跟。在培養興趣的關鍵時刻,堅持。堅持一段時間,興趣就會和你鐵起來,成為你學習、工作的保障,換來終身的受益。
答復三,自信。能夠編得一手好程序,足可以high得讓自己在這方天地裡樂呵下去。自信不是喊口號,不是憑空而來的,需要有不斷地出可見的成果作為支撐。因此,堅持地投入,將現在一個個簡單的程序做出來,自信自然到來。在這些簡單問題的解決中,逐步積累經驗,成為解決更復雜問題的基礎。
投入、堅持這些話題,提起來讓人覺得沉重,前兩天還看到一位同學說“編程枯燥”。果真如此嗎?不少同學在完成任務後,由衷地發出“有趣”的感歎。有個別同學,做字符加密的任務時,加密後的文字是I love you,有同學用淘寶體設計輸入提示,有同學,主動將課堂上講過的例子在上機中重做,還有同學,讓程序運行出現的DOS界面黑窗口變成彩色。用這種玩的心態,收獲的就是快樂的學習,飛速的進步。這世界很怪,很多“是什麼”的問題沒有標准答案,你說他是什麼,他就是什麼。沒有貌似沉重的投入和堅持,解決不了對興趣的培養問題,獲得不了個人的感悟,更難以找到玩的輕松。有些同學,老化了,僵化了,需要活化。所幸的事,還不算太老,還不算太僵。
入學不久,大一新生面臨的是對大學生活的適應。適應哪種方式,是個問題。給出三種可能:(1)積極地投入,合理地安排,忙碌而富有節奏,有按要求的集中學習,更有個性化的自主學習;(2)亂忙一通,能抓住哪個算哪個,哪上砸頭上接哪個,每門課程掌握得如何心中沒數(可以還在幻想著有個測驗檢驗一下);(3)反正大學老師不會關注到學生個體的學習進展上,索性都不想適應這回事了。可以想到,結果將大不一樣。
適應大學生活,更重要的是改變:(1)改變學習的目標:將不再僅為考試,為的是自己能力的真正提高,在能力提高的過程中,低年級的“理論”是基礎;(2)改變學習的方式:將不僅是預習、聽講、復習,實踐性強的知識要用實踐的方法完成學習;(3)改變的是學習的心態:回歸自由、自主的學習,找到那份在應試氛圍中被剝奪的應有的快樂。沒有改變的適應,來得更加容易,注定對應一個沒有收獲,沒有長進的大學。
順便提醒的是,有個別同學擁有自己的個人電腦,但我的觀察,這個便利的條件並沒有反映到程序設計的學習上。學院為同學們提供的公共機房能夠滿足需求,用好這個條件更重要。有自備電腦,至少不要成為你學習的障礙。
再過兩周,我們將迎來C++學習中的第一道坎(從另一角度講是化甬成蝶的一個標志性時刻),沒有現在的體驗,屆時所面臨的困難將會更多。究竟走上良性循環還是惡性循環,取決於個人的選擇與行動。
受到提醒的同學,馬上奮起,還談不上有代價,甚至這就是一個漂亮的轉折。在你前進的路上,在一幫好同學在陪伴,也有老師在關注。攻城一起上,你並不孤單;學習是你自己的事,你的選擇和行動也注定是所有因素中最重要的部分。
附幾個好玩的圖:
圖1
圖2
圖3