一名電腦教師的年度教學總結

來源:互聯網
上載者:User

一名電腦教師的年度教學總結

金旭亮

       年底通常是一個做總結的時間。回顧這一年,上半年給北理工本科生和研究生講了OOAD,下半年給本院(電腦學院)2009級本科生講Java,剛剛批改完所有試卷及課程設計作業,感到最值得說的還是這學期Java課程的分析。

       本學期選修Java課程的學生超過90名,我不從事學生管理工作,不太清楚本院2009級共有多少學生,估計選課的學生佔全部學生總數的1/3左右,因此,分析的結果應該還是有一定代表性的。

       (點此下載我本學期所主講的Java課程的所有課件及樣本源碼)

       本次Java課程成績由兩部分組成:期中作業和期末考試。其中期中作業我給了兩個題目:四則運算計算機和解線性方程組。絕大多數學生選的是四則運算計算機。

       (對於課程設計的具體要求請點這裡下載)

       開發一個四則運算計算機,看似簡單,其實並不容易,要做出一個好的計算機,演算法/資料結構/使用者互動設計/程式健壯性等一個都不能少,比較高興的是,幾乎所有的同學都回過頭去重新學習了相關資料結構和演算法等理論課程,也都反映通過編程開發實踐學到悟到了許多東西。有部分學生在使用者互動設計上下了不少功夫,設計的計算機介面美觀實用,有的學生展示出較強的自學能力,無師自通地開發出了對應的Android版本,更有部分學生在演算法設計與程式效能評估分析上展現出紮實的基礎理論基礎,讓我很開心,很不錯啊,比我當年強多了……

       這門課程的考試我採用了開放的方式:就是允許學生帶任意資料,帶電腦,也允許上網搜尋……,有個學生在文檔中說這是“前無古人”的。之所以採用這種方式,是因為我認為象程式設計這種注重實踐與培養開發技能的課程,閉卷考試是一種最無聊的考核方式。但考試完畢,學生議論紛紛,為此,我寫了一篇博文——《學習,只有勤奮是不夠的……》(http://blog.csdn.net/bitfan/article/details/7005005),發表之後,有不少的評論。

       在這裡,我只想就允許學生在考試時上百度搜尋試題答案作一下說明,以免有人說我鼓勵學生“偷懶”:

       我在設計試題時就考慮到學生會上網搜尋,因此,大多數題目都是我自己設計的,就算是學生在網上搜尋到了類似的題,他也必須理解找到的資料並加以修改才能答題,這其實也是一種非常重要的能力:在互連網時代,要學會搜尋、篩選和理解海量的資訊。有些學生沒注意到這點,結果在考試時時間就不夠了,有很多題沒做。

       這次考試的試卷自我感覺有一大失誤——要手寫的內容過多。有名學生的評論很能說明問題:CPU夠、記憶體夠、就是外設(印表機)太慢……。下一屆學生的試題將會有相應的調整

       下面對這次考試的部分試題做個分析,向同學們介紹我的出題意圖。

       (完整的試題請點此從CSDN下載頻道下載)

       10分判斷題主要考核一些知識點,沒有什麼好說的。

       30分簡答題中有一些值得點評.

 

       題目:在Java技術的學習過程中,會接觸到兩個很容易弄混淆的術語:primitivetype和raw type,請說出這兩個術語之間的區別。

       點評:primitive type大家都知道,raw type其實是Java泛型技術中出現的,可以百度找到答案,我的PPT教案中也有介紹。如果沒答出來的,基本上可以知道此學生很少用搜尋引擎找技術資源,或者是逃課了。

 

題目:如果在程式運行時需要判斷某個對象是否是某個類的執行個體,你有幾種方法?

點評:能回答出兩種以上方法的學生,肯定是比較善於總結和梳理知識的,這是一種需要注意培養的良好學習習慣。

 

題目:JDK文檔中說,String變數的內容是不可改的,那麼為什麼我們可以寫出以下的語句?

 

Stringstr="ab";

str+="cd"; //這裡難道不是修改了str變數的內容嗎?

System.out.println(str);//輸出:abcd

 

     請解釋發生上述現象的原因(提示:可以使用javap工具反組譯碼位元組碼)。

點評: 此題主要是考察學生知不知道使用工具去分析問題,理解Java編譯器的作用。只需用javap反組譯碼一下位元組碼,就可以知道看到“+=”實際導致調用的是StringBuilder的相關方法。

 

題目:序列化技術能讓我們將一個對象儲存到流中,請舉三個你想到的可以應用此技術的實用情境,並給予簡要的說明。

點評:此題主要是提醒學生在學具體技術時一定要注意它們可以用在何處,不要僅以“知道”為學習目的,這題很多學生都回答不好。

 

題目:如果要你使用多線程技術開發一個銀行排號系統(每個人申請一個號,只要有一個櫃檯完成了當前業務,就會廣播通知下一個顧客到此櫃檯辦理業務),你將會使用哪些線程同步對象?簡述一下你的實現思路。

點評:這題答得好的,Java多線程技術是基本掌握了。

 

編程題出了50分,以強調開發能力的重要性。

題目:請寫一個類,在任何時候都可以向它查詢“你已經建立了多少個對象?”,你的類應該是安全執行緒的。

點評:考察學生是否知道可以使用同步(synchronized)的靜態方法+靜態欄位達到目的。多線程技術是當前Java程式員必須掌握的。

 

題目:當一個類實現了Comparable介面時,這個類所建立的對象就可比較大小。請編寫一個泛型方法Sort<E>,此方法接收一個對象集合作為其參數,集合中的對象都實現了Comparable介面,Sort<E>方法的功能是對集合中的對象進行排序。

點評:考查學生是否知道對象大小比較的基礎知識,是否掌握了泛型程式設計的基本技能。

 

本次考試最大的變化之一是添加了一個10分的“軟體設計能力考核題”。以下是題目內容:

題目:以下是一款廣受歡迎的手機遊戲“割繩子”的螢幕,圖中的糖塊被繩子固定住,玩家需要以特定的順序割斷繩子,讓糖塊正好掉入青蛙的嘴中。


如果要由你來開發這個遊戲,請設計一組類表達出繩子、糖和青蛙之間的關係。注意繩子與糖的聯結方式在不同關卡中是不一樣的(每一關繩子的條數、長短都可以不一樣),你選擇的資料結構必須能方便地表達出不同的繩子與糖聯結方式。

你需要在試卷上完成以下的工作:

(1)使用UML圖或文字等手段展示出你的設計方案

(2)當玩家割斷一條繩子,糖塊將偏離原來的位置並移到另一個位置,如果所有繩子都被割斷了,糖塊將落到地上。那麼應該如何判斷在哪種情況下青蛙可以吃到這塊糖?請使用文字、流程圖或其他的手段簡要給出你對這個問題的解答。

 

點評:我本意是想通過此題瞭解學生應用物件導向思想設計與解決問題的能力,並提醒他們技術要用於解決實際問題。然而很遺憾,由於我出的題量過大,絕大多數學生沒有時間完成這道題目。

 

從學生在提交給我的文件中可以看到:大多數學生都能從我這門課中有所收穫,有相當多的學生表示對編程產生了興趣,這也是作為一名教師感到非常欣慰的事,對於軟體技術而言,有了興趣,一切就好辦了。我的感觸是,只要教師用心教且教學方法得當,絕大多數學生都還是願意學習的。

有約6.5%的學生能同時在卷面考試和期中作業取得高分,如果我試題出得合適,相信這個比例還會提升一點。程式作業優秀的學生通常具有較強的開發與學習能力,但在這次考試中“失手”導致成績一般的約佔全部學生的10%。考試優秀但程式糟糕的不到1%。其餘的考試成績與寫出的程式水平基本一致。

總之,覺得這次考試試題出得比較失敗。

當前大學“抄襲成風”,是個頑疾,但這次從交上來的程式和文檔中,我沒有發現有抄襲的現象,不管學生自己基礎與能力如何,我感到幾乎所有學生都是自己動手完成程式設計作業的,這在我近10年的教學生涯中幾乎從沒出現過,讓我很高興,所以我決定:這次讓所有的學生都及格,優秀的學生給與高分

從學生的反饋中,我發現到了大三,優秀的學生與普通學生的能力差距已相當明顯,基礎較差的學生普遍反映我講課的內容過多過快,來不及吸收,而好的學生則表示了不同的看法。我觀察好學生與其餘普通學生的重大差別之一在於他們的學習更有效率,主動性更強,比如有個學生在文檔中說他這一學期就選修了“影像處理”,JAVA,“人工智慧”,“嵌入式系統”四門較難的專業選修課,能學這麼多,而且他的Java最終成績高達90多分,不能不說這名學生確實比較厲害。這些有潛力的學生還有好幾個。

從整個學期的教學情況來看,通過C++(大二學的)和Java兩門課程,大多數學生都已經掌握了物件導向編程的基礎知識與技能,這為我下學期要講的OOAD課程打下了良好的基礎,我計劃在下學期的OOAD課程中地為學生講授更多的物件導向理論(比如重構、設計模式等)和更多的技術,開拓他們的視野,讓學生在理論的指導下進一步提升開發能力,同時將採用分組的方式,讓多個學生協同完成一個較大規模的軟體,以培養他們的團隊協作開發能力。最後,我會在大四上學期再開設一門《.NET進階軟體開發技術》,讓學生能比較深入地掌握Windows平台下的應用軟體開發技術,期望每個學生或小組都能拿出一個“漂亮的”軟體作為展現自己能力的成果,最後送他們一程。

《Java程式設計》-->《OOAD》-->《.NET進階軟體開發技術》,我期望能通過三個學期的三門首尾相接的課程,讓學生能在大學校園就跟上技術發展,能學以致用,為他們的未來發展打下基礎。

回顧一下,我教了近10年書,曾經教過的各屆學生中感覺2004級總體上比較出色,而從Java這門課來看,2009級的學生也有很大的潛力。

我是70後,過去教的2004級等屆學生是80後,而現在的2009級則是90後,與他們相比,我等確實是“IT老人”了,腦力、體力等都在下降,未來是80後90後的,希望後生們一代更比一代強!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.