張 義,宛 楠,陶 皖
(1.安徽工程大學 計算機與信息學院,安徽 蕪湖241000;2.安徽工程大學 計算機應用技術重點實驗室,安徽 蕪湖241000;3.皖南醫學院,安徽 蕪湖241000)
中美兩所高校JAVA語言課程教學的對比研究
張 義1,2,宛 楠3,陶 皖1,2
(1.安徽工程大學 計算機與信息學院,安徽 蕪湖241000;2.安徽工程大學 計算機應用技術重點實驗室,安徽 蕪湖241000;3.皖南醫學院,安徽 蕪湖241000)
通過對比美國UB大學(University of Bridgeport)和安徽工程大學在JAVA語言課程理論教學、實驗教學和考核方式這3個方面的實施情況,根據兩校的現狀,借鑒UB的Java語言課程教學設置優秀的一面,提出改進安徽工程大學和國內部分高校Java語言課程的教學措施,以期達到提高教學質量,深化教學改革的目的。
教學內容;課堂組織;考核方式
程序設計語言是當前高校多數理工專業的必修課程。美國高校也不例外,以美國UB大學(University of Bridgeport)為例,該校的 “Introduce to computer I”就是為全校理工專業開設的一門計算機課程,課程選擇的是Java程序設計語言。筆者由學校選派,在美國的UB大學研修了一個學期(Spring2016),并選修了UB的兩門課程“Introduce to computer I”和“Introduce to computer II”,作者一直在高校從事程序設計語言類課程的教學,如C語言、Java語言等,從而能夠對兩所高校的程序設計語言的教學有一個較為深刻的認識和理解,以期通過對比研究,取長補短,提高程序設計語言教學的水平和質量。
1.1 理論教學內容
1.1.1 UB的Java程序設計語言理論教學內容安排
課程內容涉及以下主題:History of Computing and Hardware Basics(計算機歷史和硬件基礎知識);The Elements of Java(Java程序的基本元素);Classes and Methods(類和方法);Numeric Types(數據類型);Branching and Method Algorithm Design(分支和如何設計方法);Loops and Files(循環和文件);Additional Control Structures(控制結構);Object-Oriented Software Engineering(面向對象軟件工程);Arrays(數組);Inheritance,Polymorphism, and Scope(繼承、多態、封裝);Array-Based Lists(列表 容 器 );EthicalConsiderations ofComputing:ACM,IEEE codes of Ethics(編碼標準)。課程選用的教材是 《Programming And Problem Solving With Java》2nd edition,作者:Nell Dale等[1]。
UB擁有功能完善的教學管理系統,教師通過該系統發布教學資源、實驗通知、作業通知等,學生通過該系統提交課堂作業、實驗作業、家庭作業以及考試代碼等,學生可以通過該系統獲知自己的分數和班級平均分。學校會為每位在校學生提供一個Canvas賬戶,學生所選課程的教學資源和相關通知能夠在學生的Canvas中下載。
在學期開始前,教師會將教學資源上傳到教學管理系統。教學資源包括:slides(課件)、syllabus(大綱)、schedule and task list(教學計劃)、Install Net Beans(下載開發工具)、How to Submit Assignments(作業提交方式)等。
教師會根據課堂所講內容,布置相關作業并發布在教學管理系統中。學生在系統中下載作業文檔,在課下完成后,通過教學管理系統提交作業文檔。教師會根據學生所提交的文檔判定成績,并最終計入總評成績。學生所提交的作業有嚴格的格式要求。
(1)Cover page(封面)
內容包括題目、姓名、ID等,例如:Assignment 1:Java Reviews;Name:Jimmy Smith;ID#:000000; Instructor:Thompson;Date:January 21,2015.
(2)Table of Content(目錄)
(3)Abstract(a brief summary of the contents within this document,no more than one paragraph is required)(摘要)
(4)Introduction(a brief description of the problem you are solving)(簡介)
(5)Screenshot of output(輸出截屏)
(6)Source code(源碼)
(7)Conclusion(結論)
(8)Work cited(if applicable)(引用)
1.1.2 AHPU(安徽工程大學)的Java程序設計語言理論教學內容安排
課程內容涉及以下主題:數據類型、順序選擇和循環、數組、方法、類和對象、對象交互、對象容器、繼承、多態、設計原則、抽象與接口、控制反轉與MVC模式。
課程選用的教材是自編教材《Java程序設計:原理與范例》。在上第一次課的時候會向學生介紹課程概況,并提供教學課件等資源。但缺少類似UB的教學管理系統,多數會通過QQ群等網絡方式在課下發布相關通知等。
教師會根據所授內容布置一定數量的作業,作業多以模仿或改進課程所講程序為主。由于程序設計課程的特殊性,代碼的運行成功與否才是作業正確的標準,因此不要求學生交紙質作業,而是提交電子版的代碼。如果學生在完成作業的過程中遇到困難,會通過網絡方式進行解答。
1.1.3 二者對比
教學內容均涉及Java語言的核心知識點,沒有明顯差別,相似度較高。所選教材在教學中扮演的更多的是參考書角色,教學內容并不是完全按照教材來安排的。不同的是,AHPU缺少相應的教學管理系統,如何將教學資源以更好的方式提供給學生,在這方面還有差距。
1.2 理論教學課堂組織
1.2.1 UB的Java程序設計語言理論教學課堂組織
UB班級學生人數在30人左右,教師教學全程采用板書的方式,在教學過程中學生可以隨時提出自己的問題與老師互動,學生提問踴躍。通過問答的方式即時解決學生的疑問,一旦出現無人提問的情況,反而是老師最緊張的時候。當對所講內容有學生表示不理解時,教師會反復講解,同時課堂上還會安排1-2名助教,輔助回答學生提出的問題,助教多為高年級學生。教師不考勤,課堂管理松散,存在學生遲到早退現象,人數最齊的時候就是測試和考試的時候。
1.2.2 AHPU的Java程序設計語言理論教學課堂組織
班級學生人數在80人左右,教師教學過程中70%以上使用幻燈片,30%采用板書,大部分時間是教師從頭講到尾,學生參與度較低,多數學生較為沉默,不太愿意大膽提問。究其原因,一是學生較為拘謹,不愿在眾人面前提問;二是多年教學方式形成的思維定式,使得學生不習慣提問;三是缺乏鼓勵;四是人數較多,學生聲音不夠大,沒法保證班級其他同學都能聽到問題。在考勤方面,教師考勤嚴格,點名次數較多,學生遲到早退較少。
1.2.3 二者的對比
由于在學生人數上有明顯的差異,因此這也成為課堂組織方式不同的主要原因。與UB相比AHPU的課堂更像是講座,教師負責講,學生負責聽。UB更像是討論會,學生對老師講授的知識點不斷提出疑問,老師負責進行解答,因此能夠即時把握學生的學習狀況,對于AHPU來說這點不夠理想。在課堂組織方面,由于UB的考核方式不依托考勤,因此UB的課堂明顯要比AHPU的方式更自由松散,而AHPU的考勤要更加嚴格。從教學學時來看,UB的Java理論課程每周2.5小時,共 15周37.5小時。AHPU的Java理論課程共40學時,30小時,UB的理論教學時間要多于AHPU的時間,具體見表1。

表1 理論課程對比
2.1 實驗教學內容
2.1.1 UB的Java程序設計語言實驗教學內容安排
UB的Java語言實驗教學所采用的IDE(Integrated Development Environment)是NetBeans。Net-Beans是Oracle公司提供的免費Java程序開發平臺。教師在教學管理系統中給出了詳細的下載方式和使用步驟,學生只需按照提示下載安裝后就可以進行程序的編寫和調試。實驗教學內容會在實驗課前發布在教學管理系統中,每次實驗通常會包含一個實驗題目。題目包含詳細的問題描述和具體要求,以及樣例輸出。實驗題目所涉及的知識點遠多于理論教學中提到的知識點,要想順利完成實驗,需要學生課下花大量的時間延伸學習。
2.1.2 AHPU的Java語言實驗教學內容安排
AHPU的Java語言實驗教學所采用的IDE是Eclipse。Eclipse是一個開源的、基于Java的可擴展開發平臺,教師會在實驗課程開始前指導學生下載安裝Eclipse及JDK,并演示如何使用Eclipse編輯和調試Java程序。教材附錄中也提供了詳細的Eclipse使用方法。實驗教學內容會在實驗課開始前通過網絡方式進行發布,每次實驗通常會包含一到兩個實驗題目,題目多為理論課內容的綜合應用。實驗題目所涉及的知識點一般不超過理論教學中所提到的知識點。
2.1.3 二者的對比
兩所高校所選擇的IDE不同,分別為NetBeans和Eclipse,使用效果相當。實驗內容所包含的題量均為1-2題,但從難度和工作量上來看,UB的實驗內容難度要高于AHPU的實驗內容的難度。UB題目的綜合性更強,AHPU的題目以模擬為主。
2.2 實驗教學課堂組織
2.2.1 UB的Java程序設計語言實驗教學課堂組織
教師會通過多媒體的方式,邊講解邊操作,學生使用自己的電腦按照老師的指導完成實驗。同理論課教學類似,UB的學生會隨時提出疑問,老師或助教會一對一的進行指導。當然,教師并不會直接給出程序的源碼,而是通過逐漸引導的方式,讓學生最大限度的自己完成程序。當實驗完成后,要在規定的時間內通過教學管理系統提交實驗程序,以獲得相應的分數。
實驗教學的節奏非常快,當教師介紹完編程思路后,會很快的使用各種快捷鍵輸入代碼,如果沒有清晰的思路就很難跟的上。學生需要精力高度集中才能順利的完成實驗。從大部分情況來看,很少同學能在有限的教學時間內完成,多數情況下會在下課后繼續留在實驗室編寫代碼,教師會離開,但助教會一直認真輔導直到學生完成實驗。總體來說,實驗課的強度和難度要明顯高于理論課。
2.2.2 AHPU的Java程序設計語言實驗教學課堂組織
實驗教學中會以介紹編程思路為主,當學生在編程中遇到困難提出問題后,教師會將這個問題進行統一的講解。原因是實驗人數與理論課人數相同均為80人左右,統一講解可以提高效率。學生完成實驗后需要提交實驗報告,以便評定實驗成績。實驗報告包括:實驗題目、實驗代碼、運行結果等。
實驗教學的難度和理論教學難度相當,老師在講解代碼的時候會盡量讓學生跟上節奏。學生在掌握理論教學方面的知識后,多數同學能夠在老師的指導下完成實驗任務。若有部分同學未能完成,課后會通過網絡的方式進行交流講解。
2.2.3 二者的對比
UB的實驗課程難度要高于AHPU的實驗課程難度。UB的實驗采用的是教師加助教的指導方式,AHPU是教師指導的方式。由于學生人數差距較大,AHPU更多的是采用集中講解的方式。UB的Java實驗課程每周1.25小時,共15周合計18.75小時;AHPU的Java實驗課程共24學時,合計18小時。UB的實驗教學時間要略多于AHPU的時間。具體見表2。

表2 實驗課程對比
3.1 UB的Java程序設計語言考核方式考核方式由以下5部分組成:
1.Assignment(作業)。包括 Homework、Lab、Program3部分,其中Homework和Program需要學生自己獨立完成,完成后按照老師給出的格式要求撰寫文檔然后提交到管理系統,Lab指的是實驗課程上的程序,完成后同樣要提交到管理系統。作業部分占總成績的10%。每次作業的提交都有一個規定日期,必須在此之前提交才有效。雖然所占比重不大,但之后的Quiz、Midterm exam和Final exam中所涉及的知識點在Assignment中都會覆蓋到。
2.Quiz(測試)。1個學期共進行3次測試,測試的內容為之前所講的知識點,題型包括:選擇題、問答題、改錯題、編程題等。每次測試的分數占總成績的10%,3次共30%。
3.Midterm exam(期中考試)。期中考試分筆試和機試,題型和Quiz類似,但難度更高,機試題目為一道編程題,難度適中。期中考試成績占總成績的25%。
4.Final exam(期末考試)。期末考試的方式和期中考試相同,只是題目的綜合性更強難度更高,期末考試成績占總成績的30%。
5.Paper(小論文)。涉及有關計算機倫理道德方面的內容,占總成績的5%。
3.2 AHPU的Java程序設計語言考核方式考核方式由以下2部分組成:1.平時考核
平時考核主要包括:課堂考勤、實驗成績、作業成績等,平時成績占總成績的20%。
2.期末考試
期末考試為上機考試,試卷包括4-5題的編程題。期末考試成績占總成績的80%。
3.3 二者對比
比較UB與AHPU的Java程序設計課程評定學生成績的評分項目各自所占比重如表3和圖1所示[3]。

表3 Java程序設計課評分所占比重對比

圖1 程序設計課程評分所占比重對比
經對比,UB的考核方式要比AHPU的考核方式更多元化,更看重過程,最終成績的判定也更為復雜。AHPU最終成績的判定主要還是依據期末考試成績。究其原因有:(1)UB有一套教學管理系統,學生通過系統提交作業、考試代碼等,這樣在平時提交作業和上機考試時便于組織。AHPU目前還缺少這樣的系統。(2)助教環節的差異,UB的班級人數在30人左右,并安排有3名左右的助教,這樣在每次測試完成之后,可以很快的完成成績的評定。AHPU的班級人數一般在80人左右,若在沒有助教的情況下采用多次考試的方式工作量太大。
通過理論教學、實驗教學和考核方式3個方面的對比,UB的教學方式對國內部分高校的程序設計教學有以下啟示。
1.引進一套完善的教學管理系統,教師可以通過系統發布作業、實驗題目、上機測試題目、考試成績、課程通知等相關信息。學生則可以通過該系統提交作業、程序代碼、獲取課程資源等。
2.實施學生擔當助教制度,從本專業高年級學生中選擇優秀的學生擔當助教。一是可以提高教師的工作效率,二是擔當助教的學生可以得到鍛煉,三是上課的學生可以得到更多的指導。
3.適當增加學時,UB的理論教學加上實驗教學,教學時間共37.5+18.75=56.25小時。AHPU的理論教學加上實驗教學,教學時間共30+18=48小時。教學內容相當的情況下,增加學時可以有更充分的時間講授內容。
4.借鑒UB的考核方式,完善考核環節,在班級學生人數無法改變的情況下,適當增加隨堂考試,以把握學生對知識點掌握的情況,并將考試成績計入總分。
5.適當調整實驗題目難度和工作量,提高實驗題目的綜合性,讓不同層次的學生都有充分發揮的空間。適當增加作業量,讓學生在課下通過自己的延伸學習掌握更多的知識點。
6.在理論課的教授過程中,將板書和幻燈片結合好,增加板書的比例,讓學生有更多的思考時間,鼓勵學生提問,增加互動性。
古語說:他山之石、可以攻玉。程序設計語言課程是中外高校理工專業的必修課,通過對UB和AHPU的Java程序設計語言課程3個主要方面進行深入的研究和對比,我們不僅看到了中美兩國高校在課程教學方面的差異,而且比較了優劣、拓闊了思路,有利于進一步改進國內部分高校的Java程序設計課程教學方案,為深化教學改革起到推動作用。
[1]Nell Dale,Chip Weems,Mark R.Headington.Programming and Problem SolvingWith Java[M].2th ed.Jones& Bartlett Publishers 2007:1-18.
[2]李波.美國高校第一門計算機課程調研情況分析[J].中國大學教學,2014(4):91-96.
[3]楊永紅,等.中美土木工程專業道路勘測設計課程教學對比研究[J].高等建筑教育,2012,21(3):66-70.
責任編輯:胡德明
A Contrastive Analysis of JAVA Course Teaching between a Chinese and an American School
Zhang Yi1,2,Wan Nan3,Tao Wan1,2
(1.School of Computer and Information Science,Anhui Polytechnic University,Wuhu 241000,China; 2.Key Laboratory of Computer Application Technology,Anhui Polytechnic University,Wuhu 241000,China; 3.Computer Department,Wannan Medical College,Wuhu 241000,China)
The paper compares and contrasts UB (University of Bridgeport)with AHPU(Anhui Polytechnic University)from the three aspects of theory teaching,experimental teaching and assessment methods of JAVA language curriculum.And then,based on the advantages of UB,some suggestions are put forward in order to improve the effect of JAVA teaching and deepen the reform of this course at AHPU and some other domestic universities.
teaching contents;classroom management;evaluation method
G642.0
A
1672-447X(2016)05-0094-05
2016-08-20
安徽省高等教育提升計劃一般項目(TSKJ2015B13);計算機應用技術重點實驗室開放基金(JSJKF201502);省級信管專業綜合改革試點(JD00914S01)
張義(1982-),安徽阜南人,安徽工程大學講師,研究方向為海量信息智能處理。