再漫談『課程改進』
去年TCSE2011 Panel discussion之後,我在2011/07/13po了一`篇叫『課程改進』短文,文中主要討論,教學生是先教程式設計或模式觀念,該文引起一些討論,2011/12/05我又發表一篇:『CRC cards - 非正規物件導向發展技術 』(該文因無人點閱故暫還原為草稿) ,我因此想到「冷飯熱炒」po這篇短文就教對該類議題的有心人士。 事實上,討論程式與模式孰先孰後不會有結論,也不應有結論,因何者為先何者為後,甚至兩者平行教學,端視教師的觀念與想法,不過我認為,這個議題可能影響往後的軟體工程與物件軟體工程的教學以及學生學習的深度與速度,我教過幾年的物件軟工課程,發現有些學生對於模式的概念相當薄弱,因此要了解諸如UML的功能與運用時有些困難,甚至於利用UML來發展軟體也有些「障礙」,因此我才想到何不早先讓學員了解模式與程式之間的關聯! 不過,如果你/妳不反對教授大一或大二的程式設計時,可同時授予學生物件導向的觀念;CRC cards可能是教導學生盡早具備物件導向觀念,簡單但有效的利器,事實上,Kent Beck與Ward Cunningham介紹CRC cards時的原意就是要教導程式員認知物件導向的觀念,只不過後來卻「脫離」教室而成為快速而且有效的物件先期設計方法,而成為非正規物件導向軟體發展技術(參照2011/12/05CRC crads一文)。 這篇短文只是用來補充前置『課程改進』一文,總希望學生能夠盡速進入物件導向的領域,因為物件導向軟體發展方法可能是目前de factor軟體發展法,如果老師們能夠加以指正這種論述,本人表示樂觀與感謝。 「註」CRC cards是簡潔(compact),低技術(low-tech),便宜,容易學習的工具,而且不一定要使用電腦,甚至可做為正規方法如UP等的輸入,這一點再另文討論。