2017級數據結構總結

一直都想把總結寫下,結果各類緣由拖沓下來。可能多少也有點逃避,寫與不寫多少糾結。看到福大張棟老師的課程總結,深有同感,想一想仍是記錄下來吧,文字東西更適合表達一個學期教學體會,以便往後改進。html

1.關於課程教學

本學期一直也在猶豫是否用翻轉課堂,如何用翻轉課堂。把課堂還給學生模式究竟如何開展,是否適用。猶猶豫豫中,仍是傳統課堂教學。課堂教學模式基本和C語言教學模式同樣。每次課前發佈課堂預習做業,課堂講解理論知識同時講解預習習題,課後經過PTA上機編程鞏固課堂內容。這樣教學模式本來以爲挺好,課前+課中+課後都考慮到了,可是發現仍是有一半學生數構基礎並無打好。主要緣由有:算法

1.1 課前預習不認真

大部分同窗認真完成,可是有1/3同窗應付甚至抄襲。不認真學習態度致使很差學習效果。可是學生爲何不認真或者沒興趣,也不能把責任所有怪學生。寫這份總結時候我也思考,總結緣由有:編程

  • 有些同窗不認真學以爲預習題目太難放棄。考慮到部分題目確實偏難,後面章節開始改進,預習做業題目儘可能選擇較簡單選擇題,讓學生對課程內容有必定印象便可。
  • 佈置的預習題目比較枯燥,能夠設計一些比較吸引人題目,不能太難,讓學生更主動去研究所學內容。好比多一些主觀題目會不會更好些,這樣課堂能夠共同交流,活躍課堂氣氛。(不過設計題目真心是挺辛苦,也極大考驗教師能力)。

1.2 課後編程練習,依靠PTA平臺佈置的數構題目完成效果很差

這個在2016-1017的數構總結已經提到。相比16級同窗,17級同窗PTA作的認真不少,可是仍是沒達到教師想要的效果。主要存在問題有:數組

  • 在16級教學總結中提到PTA題目存在偏難問題,本學期特定改進一些題目,如每章設計2--3題簡單數據結構操做題,如隊列進出操做、樹的遍歷方法等。這些題完成效果不錯。相對16級,教學效果是明顯好。可是難度大些題目,一半左右學生編程積極性比較弱,不少須要借鑑同窗代碼完成。其實借鑑也能夠,可是很多同窗是徹底放棄。編程是比較花時間精力,很多同窗對於程序中bug,找不到緣由,就不肯意繼續去研究解決。這樣現象比較多,目前主要仍是鼓勵學生多問,多交流。在C的學習中,同窗仍是比較積極羣上交流詢問。可是數構後,發現你們愈來愈不愛問。
  • 編程缺乏交流。這個現象是目前我也比較困擾。從剛開始的澎湃激情到後面懈怠。尤爲在樹和圖結構後,題目難度變大,遞歸方法很差掌握、期末其餘課程考試也接踵而至。都在影響學生學習積極性。這2個章節編程做業在18級教學中須要再改進,題目難度能夠再下降。能夠引導學生多看樹、圖結構應用的代碼。多讀讀一些優秀代碼也助於學生思惟的擴展。這個能夠在C教學中開始改進。教師找優秀代碼來讀。依靠學生本身去找,目前來看效果仍是很差。

1.3 課程教學改進

  • 改進預習做業,提升預習質量,這樣才能保證教學效果。適當佈置主觀題,適用課堂討論。課堂教學中能夠預留10--20分鐘和同窗互動討論。
  • 小組討論,能夠在每章知識點結束後,都作一個專題討論。目前困難在於怎麼讓所有學生參與。常常是同窗上面講,其餘同窗就時不關個人事,興趣索然狀態。能夠多實踐幾回,慢慢改進討論模式,改進討論題目。

2.關於實驗教學

目前主要實驗模式:數據結構

  • 依託PTA平臺在線編程作題。
  • 博客做業做爲實驗報告總結PTA題目中碰到問題及解決方法。

2.1pta刷題模式

每章大概 佈置10題編程題,學生線上作題,能夠在線查看完成狀況及排名。這種模式在C教學效果仍是能夠,可是在數構學習中,效果減弱很多,主要緣由及解決辦法:架構

  • PTA題目能夠網上搜到答案,因此有不少同窗雖然作的分值不錯,可是不能表明實際水平。
  • 發現隨着題目難度增長,尤爲非線性結構學習,學生編程積極性減弱很多。
  • PTA題目通常代碼量比較少,不少同窗作題只爲過測試點,根本就不會去思考代碼質量及擴展性問題。部分同窗代碼的變量名、函數設計很是混亂。學了一年編程,變量名居然是怎麼方便怎麼命名,一下子拼音一下子英文。這樣代碼過了PTA測試點,依然達不到教學目的。是沒法去勝任後續軟件開發。
  • PTA代碼量少,不少變量名通常都同教材,函數也少。不須要去設計函數去實現某個功能,不少題目一個main函數就搞定。這樣在最後一週作課設要作代碼量大的做業,發現同窗的設計函數都是諸如:void fun(),函數都是無返回值,沒帶參數。這樣設計函數純粹只是去湊一段功能。不靠參數傳遞,結果很多須要共享的函數變量就都設計成全局變量,一堆全局數組!!!看到學生在課設設計出這樣的函數,真是以爲很鬱悶。不是課任教師沒提,而是平時編程做業都是作pta題,每題功能有限,不少pta題不須要函數。函數設計這塊學生能力天然就弱,最後課設代碼質量天然不行。這是目前PTA作題一個比較大問題。
  • 感受有一半學生沒興趣刷題。這個是我我的感受,沒有真正統計,可是確實到數構還繼續這種刷題模式,能感受到學生疲憊和應付。

2.2 實驗做業改大做業模式

大做業好處

佈置項目級做業,相似課設題目。好比鏈表這章,佈置一個購物系統等相似做業。好處:函數

  • 代碼量大,功能多,函數設計更多,有助學生思考代碼架構是否合理,操做設計是否合理,這些好的編程習慣從平時做業開始養起。
  • 能夠引入目前比較流行人工智能算法、數據挖掘算法等讓有興趣學生擴展學習。
  • 課設題目提早讓學生去作,這樣課設時間也不會太緊張。完成後同窗能夠在課設多作測試,完善功能。
  • 小組合做模式能夠在大做業加入,感覺團隊編程。
  • 和生活比較接近題目,學生興趣會更大。
  • 大做業能夠供課堂你們互相討論。好比鏈表這章徹底能夠佈置3-4題不一樣類型做業,實驗課讓不一樣同窗展現代碼設計及功能,更助於交流。

大做業存在問題

大做業可否達到理想教學效果,還需一屆學生去實踐.存在問題:學習

  • 不能像PTA在線自動檢測。一個個檢查學生做業質量,工做量大。
  • 項目級做業做業題目較少,存在抄襲問題。須要一章多設計題目解決。
  • 項目級做業比較花時間,一份做業通常都要500行左右代碼,部分同窗沒法在規定時間完成。這個能夠考慮迭代式推動做業,好比一份做業能夠在下一章繼續完善。固然這個須要設計題目,如何去貫穿多章知識點。
  • 如何檢查每一個學生做業質量。助教經過博客查看,仍是不能完整看出編程質量。此次期末課設檢查,感受能夠考慮助教和學生面對面檢查交流,效果能夠更好,也更直觀。
  • 部分知識點,大做業不必定會涉及到。好比樹這章,大做業可能會出一個樹的應用題目,可是相似哈夫曼樹、並查集這樣知識點就涉及不到。
  • 大做業沒有測試數據。以往做業中檢查,發現學生老是拿10條左右數據測試,這樣無法測試系統的穩定。這個應該學習PTA平臺,設計大數據給學生作測試。

2.3 實驗做業改進:PTA+大做業結合

雖然PTA存在上面說問題,可是在線自動評測程序這個平臺仍是有不少優勢,大做業中存在問題,能夠用PTA平臺去補,後續編程做業能夠考慮這樣佈置:測試

  • 每章內容,依託PTA平臺上佈置5題操做題。操做題必須簡單,好比隊列出入操做、建樹、遍歷樹等操做,能達到90%學生獨立完成做業。
  • 每章佈置一份大做業。好比線性結構中,佈置一個相似學生成績系統、購物系統大做業。題目需求比較簡單,80%學生有設計思路。但對題目的數據結構要求限制,好比用鏈表實現。這種做業不只要求線性結構完成,後續學完排序、查找內容後,要求學生能繼續完善學生成績系統,實現排序、平衡樹查找等。讓做業能夠貫穿多章知識點。
  • 對於學的好或有興趣研究其餘方向學生,能夠加大題目難度,如在PTA佈置競賽級題目或引入算法。
  • 閱讀優秀代碼,提升編程水平,尤爲代碼架構及設計,能夠多學學優秀代碼的設計方式。

總結

終於結束了17級課程教學,仍是有點捨不得。看着大家從初入大學的編程小白,到慢慢體會編程苦樂,最後能和我討論所設計代碼時間複雜度、問題所在。心裏仍是很欣慰,雖然並無讓每一個同窗都喜歡編程,但仍是看到本身想要教內容已被大部分同窗接受。在此,仍是要感謝大家:大數據

  • 平時課堂中,我常常有批評大家作很差地方,可是我仍是堅信:其實大家這一年表現挺好。大部分同窗編程水平、計算機理論水平、課設的完成質量都遠遠超過咱們當年大一水平。
  • 平時做業佈置比較多,有時候做業設計也有不合理地方,可是大家不多怨言,堅持完成做業。有問題及時和我交流。
  • 課設題目難度比較大。部分同窗被我調整到我認爲適合他的題目。這些同窗都自覺去完成並實現。能看出你們作課設時候的辛苦和煎熬,不管怎樣,一份用心去作的做業,都仍是受益的。

但願大家在將來學習能依然大家保留初入大學的認真。回頭看看本身在大學的第一篇博客做業,想一想如今的大家和當時的大家變化多少,進步了仍是退步了。立刻進入大二的大家,能更好去規劃你愈來愈少的大學生活。青春是最美好年齡,也是最好的學習年齡,是我這個年齡人只能羨慕卻不能回頭的時光,願大家能好好珍惜這份時光。讓本身的青春是美好的、充實的、積極的。

相關文章
相關標籤/搜索