第一次教授C語言程序設計課程,相比計算機組成原理、arm體系結構等偏向硬件的課程,C的教學方式要靈活一些。計算機組成原理課程偏向理論,哈爾濱工業大學的計算機組成原理是國家精品課,增加了mooc+spoc的方式,但主要還是課堂講解。arm體系結構也是硬件課程,之前的經驗是學生都不太愛學,抽象,下學期預備改革的方式是加入匯編編程,或者使用開發板。這學期C語言程序設計課程教授課程中做了一些嘗試:
博客
首先我很喜歡博客,喜歡將所學所講寫下來的踏實感。在我自己假期備課C語言課程的時候嘗試了3種方法:
- 看課本,課本內容是最基礎的,學習應該從基礎的開始看,但是悲劇的發現我看不下去,或者看過一遍只是大概知道主要內容,但是卻講不出來,之所以講不出來因為理解不夠透徹。
- 看mooc,翁愷老師的C語言程序設計是mooc中訪問量數一數二的,然后我開始“聽”課,當然在實踐的時候也會使用devc++編譯運行,但是一天下來感覺和看課本類似,還是覺得知識並沒有吸收到腦袋里。
- 邊看mooc邊記博客邊動手編程,扔掉課本,專心看翁愷老師的mooc,用devc++編譯器將所有代碼都敲寫一遍,並將學習到的內容都寫在博客里,雖然這樣速度比單純看課本和看mooc要慢很多,在聽前幾節課的時候,幾個小時可能只學習了30分鍾的mooc,但是這30分鍾的內容卻都實打實的記在腦里了!雖然大家都說譚浩強老師的課本比較繞,但當我學習完一章節的mooc內容,再回頭看課本的時候,發現課本內容很簡單清晰明了了。
其實我並不是有意嘗試三種方法,而是為了把C語言知識掌握了不得不做的,但是從這件事情可以看出動手的重要性,學習的時候應該動手,教課的時候應該讓學生動手:
- 學習的東西要動手,怎么算動手?
- 上課聽老師講課的時候或者聽mooc的時候,要記筆記,上課不像聽mooc可以回放,手也沒那么快,不能將所有東西都記錄下來,那就記知識點,如果聽了40分鍾,能夠把老師講解的知識點總結記錄下來,這節課就吸收了80%。
- 看書的時候隨手記下所感所想或者是疑問,看專業書的時候是有必要的,看課外書也有必要,很多人寫讀后感就是從隨手記錄總結出來的。
- 教課的時候要讓學生動手,如果老師單純的講解知識,漸漸就會演變成老師的獨角戲,實在不想再去演獨角戲
- 讓學生動手編程
- 課堂考核
- 等等,肯定還有其他很多辦法,這里就要說到博客的另一個好處,可以看到很多老師講課的細節,比去聽課去聽講座的效果還好,這里尤其推薦婁老師,一方面和婁老師教的課程重合的比較多,另一方面婁老師是個愛寫愛總結的,所以從他的博客學習到好多。
另外寫博客還有一個好處,好記性不如爛筆頭,像吳軍老師在硅谷來信中說的:
只有善於寫作和記錄,總結每一次成功的經驗,或者某一次失敗的教訓,才能讓自己做第二件事情的時候站在第一次的基礎之上,第三次站在第二次的基礎上,這樣才有疊加效應,能不斷的前進。
人的記憶力是有限的,不可能做到第十件事情的時候,能夠把前九次的細節記得一清二楚,因此很多人做事情總是不斷重復錯誤,很難獲得疊加式成功。
疊加效應在教師這個行業更是非常適用,目前利用博客學習的方式是學習->記筆記->捋順思路->寫上課大綱博客->寫ppt,為了讓上課的效果更好,下次預備修改為學習->記筆記->捋順思路->做ppt->寫上課大綱博客-->回頭修改ppt,這樣可以對上課內容多一次梳理。
用博客寫作業
因為我自己從寫博客獲益了,然后就非常鼓勵學生也寫博客,強迫授課班級學生開博客寫作業,學生一開始非常抵觸,不僅學生我一開始布置作業的時候也是非常犯愁,不知道布置什么樣的作業能夠避免抄襲,博客電子版作業比紙質作業抄襲起來方便很多,事實證明抄襲非常嚴重。有幾個原因:
- 作業布置的不好,因為學習內容是比較基礎的知識且學生學習動力不足,所以作業內容大多是讓學生熟悉學習基礎知識,或者像(抄例題)這種作業完全是強迫學生去學習。
- 學生不習慣也不知道怎么寫博客,寫博客不僅是為了完成作業,更重要的是積累知識,建立自己的知識體系,寫博客是給自己看的,目的是讓自己一段時間后回頭看這些知識的時候能快速回想起來,怎么想,假設讀者是一點不懂計算機的大一剛入學的自己。另外寫博客不能講究完美,我自己最近也停更了,原因和一個同學跟我說的一樣:計算機知識網上一搜很多人都寫了,我干嘛還要寫或者我不知道該寫什么了。首先還是寫給誰看的問題,要記得寫給自己看,順帶給別人看,另外不能追求完美,一寫驚人,就像吳軍老師在硅谷來信的《第215封信:最好是更好的敵人》里說的:
雖然我們的目標是追求卓越,但是行動的步驟卻是在固定時間,固定成本的前提下盡可能做好而已。只要我們保證下一次比現在更好,我們就能接近目標。但是,最好是更好的敵人,很多時候當我們看似在追求完美的時候,我們其實是在不作為!
所以,堅持寫博客,即使照抄書里的內容,要知道抄一遍比讀一遍記憶要深刻很多!
如何改進作業:
教學方式
教學方式也做了兩種嘗試:
- 仿效翁愷老師的上課方式,邊講解邊實踐,但是學生反應無法接受,原因是第一學期學C的時候老師授課方式主要是單純講解,學生動手實踐的時間很少,不習慣於邊聽課邊教學。實驗了大概4周后,測試了幾個例子,讓學生當堂寫,結果是兩個班級70多人只有大概15個人完成。上課效果差的驚人,反思需要改進兩點,放慢講解速度,增加學生動手編程的機會。
- 簡單講解基礎知識,分析例題,然后出測試題,當堂記錄成績。驚訝的發現課堂測試題完成的人越來越多,也看到好幾個同學的編程能力逐漸增長。但是等結課的時候才發現,很多人依然是抄襲,另外人數太多指導起來難度大。
改進方法:
- 增加課堂趣味性:最近上下班車里放的都是吳軍老師的硅谷來信,非常喜歡聽並且上癮,每天都會聽好幾篇,就我目前聽到的內容,硅谷來信本質是兩方面內容,一是大道理,比如慢生活,多閱讀,終生學習,積極向上等,另一方面是it行業、投資等一些理論東西,當然硅谷來信肯定不止這些東西,但是這些東西很多人都講,但是為何吳軍老師講解的讓人上癮,能聽到心里去,我很多時候聽完都有一種幸福感,充滿精氣神,並且像潤物細無聲一樣,悄悄地改變了我很多的觀念。那吳軍老師如何做到的,我覺得最大的特點是每封信都從講故事開始,故事每個人都愛聽,講完故事總結的理論或者大道理就很容易讓人接收,所以需要重看吳軍老師的浪潮之巔、硅谷之謎和智能時代。預備在下學期的C基礎和arm體系結構中,每次課講解一個小故事。
- 改變別人從改變自己開始:不要對學生抱有希望,默認大家什么都不會,大一的自然什么都不會,給大三的上課也發現基礎知識都忘記了。另外態度溫和,減慢語速,堅決不能抱怨學生,吸引而不是強迫學生去學習。這也是最近去聽學校的教學大賽的最大感受,我聽的都不是我所在專業,默認都聽不太懂,但是后來獲得冠軍的老師的講課讓我很有感觸,她的語速語調讓人不自覺地想聽她講。
- 翻轉課堂不能着急:這學期的另外一門課嵌入式系統程序設計,內容和婁老師的[信息安全系統設計基礎]有很多重合,並且婁老師成功的翻轉了課堂,我依葫蘆畫瓢也去翻轉的時候我發現翻轉不過來,需要准備的東西超出了我的想象,而我對這門課的積累還遠遠不夠,就像比爾蓋茨大學退學了,我們都要仿效退學嗎?當然不是你得先考上哈佛再去考慮是否退學的問題。另外像學校80歲的老校長說的,目前我們的學生不適合翻轉課堂,自學能力和積極性都不夠。因此打好地基再去翻轉,不過很多其他的教學手段還是可以學習的。