河南科技學(xué)院信息工程學(xué)院 李曉輝
新鄉(xiāng)醫(yī)學(xué)院醫(yī)學(xué)工程學(xué)院 李明彩
針對(duì)Java程序設(shè)計(jì)課程在教學(xué)中存在的問(wèn)題,將對(duì)分課堂模式引入課程教學(xué)中?;趯?duì)分課堂教學(xué)模式,采用隔堂對(duì)分的方式對(duì)講授、內(nèi)化吸收、交流環(huán)節(jié)進(jìn)行改進(jìn),同時(shí),構(gòu)建了知識(shí)鞏固與再吸收環(huán)節(jié)。實(shí)踐表明,采用該方法學(xué)生的自主學(xué)習(xí)和解決實(shí)際問(wèn)題的能力有了較大的提高,學(xué)習(xí)效果較好。
Java語(yǔ)言作為當(dāng)今最流行的程序設(shè)計(jì)語(yǔ)言之一,倍受廣大程序設(shè)計(jì)人員的關(guān)注,根據(jù)TIOBE開(kāi)發(fā)語(yǔ)言排行榜,近年來(lái),Java語(yǔ)言處于前列。因此,大部分高校計(jì)算機(jī)科學(xué)與技術(shù)相關(guān)專業(yè)都開(kāi)設(shè)了Java程序設(shè)計(jì)課程,一方面通過(guò)Java語(yǔ)言的學(xué)習(xí),培養(yǎng)學(xué)生面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想,為后續(xù)課程的學(xué)習(xí)打下良好的基礎(chǔ);另一方面提高實(shí)踐技能,以期適應(yīng)就業(yè)或者職業(yè)發(fā)展的需要。然而,Java程序設(shè)計(jì)在教學(xué)中仍存在一些問(wèn)題,教師進(jìn)行了教法學(xué)法改革,但學(xué)習(xí)效果卻不夠理想。
Java教學(xué)過(guò)程中存在多種問(wèn)題,影響了課堂教學(xué)效果。(1)采用傳統(tǒng)的課堂教學(xué)方式,傳統(tǒng)的教學(xué)方式注重老師的教,教師是課堂的主體,側(cè)重于知識(shí)的傳授,雖然存在與學(xué)生的互動(dòng),卻不能夠充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性,更有甚者,學(xué)生在課堂上放棄學(xué)習(xí)。(2)學(xué)生的自主學(xué)習(xí)能力有待提高,在中學(xué)學(xué)習(xí)過(guò)程中,學(xué)生養(yǎng)成了教師指導(dǎo)、家長(zhǎng)督促的習(xí)慣,進(jìn)入大學(xué)階段后,仍然依賴于教師或者家長(zhǎng),Java程序設(shè)計(jì)課程的學(xué)習(xí)局限于課上時(shí)間,卻忽略了課下的鞏固和練習(xí)。(3)師資實(shí)踐技能不足,Java程序設(shè)計(jì)教師大多沒(méi)有工業(yè)軟件開(kāi)發(fā)經(jīng)歷或經(jīng)驗(yàn),理論知識(shí)較強(qiáng),工程實(shí)踐能力較弱,不能進(jìn)行系統(tǒng)開(kāi)發(fā),課程任務(wù)或者案例局限于驗(yàn)證某些知識(shí)點(diǎn),而缺乏對(duì)學(xué)生的吸引力。(4)學(xué)生對(duì)課程的重視程度不高,該課程屬于專業(yè)基礎(chǔ)課,學(xué)生大多更重視專業(yè)核心課程,缺乏對(duì)本門課程的正確認(rèn)識(shí)。
對(duì)分課堂是復(fù)旦大學(xué)李學(xué)新教授提出的教學(xué)模式,核心理念是將課堂教學(xué)時(shí)間分為兩部分,一部分用于教師講授,另一部分用于學(xué)生討論。教學(xué)過(guò)程分為緊密聯(lián)系、相互支撐的三個(gè)環(huán)節(jié),分別為講授(Presentation)、內(nèi)化吸收(Assimilation)和討論(Discussion),也被稱為PAD課堂,因此將對(duì)分課堂理念引入《Java程序設(shè)計(jì)》課程,有助于吸取教授式和討論式課堂的精華。
Java程序設(shè)計(jì)實(shí)踐性較強(qiáng),注重操作能力培養(yǎng),需要知識(shí)鞏固和再吸收,本文采用隔堂對(duì)分的方式,將教學(xué)過(guò)程分為4個(gè)階段,如圖1所示。
圖1 Java程序設(shè)計(jì)教學(xué)過(guò)程
(1)課堂講授,在第一次課的第二節(jié)進(jìn)行,教師完成對(duì)章節(jié)體系和框架的梳理,知識(shí)點(diǎn)的劃分,以及重點(diǎn)難點(diǎn)內(nèi)容的分布,針對(duì)章節(jié)知識(shí),針對(duì)性的布置課后的作業(yè)或者程序設(shè)計(jì)任務(wù)。本階段使學(xué)生對(duì)學(xué)習(xí)內(nèi)容有一個(gè)整體的認(rèn)識(shí),明確需要學(xué)習(xí)的內(nèi)容,同時(shí)Java程序設(shè)計(jì)實(shí)踐性比較強(qiáng),需要通過(guò)程序設(shè)計(jì)任務(wù),提高編寫程序和調(diào)試程序的能力。
(2)內(nèi)化吸收,該環(huán)節(jié)在第一次課結(jié)束后課余時(shí)間進(jìn)行,學(xué)生根據(jù)課堂講授的知識(shí)體系,進(jìn)行學(xué)習(xí)。學(xué)習(xí)的形式主要采用3種形式:一是通過(guò)教材學(xué)習(xí),學(xué)習(xí)教材上的知識(shí)點(diǎn)或者案例,知識(shí)體系比較全面嚴(yán)謹(jǐn),但程序設(shè)計(jì)的效果不夠直觀;二是通過(guò)微課或者慕課,采用觀看視頻的形式進(jìn)行學(xué)習(xí),可以使用碎片化時(shí)間針對(duì)知識(shí)點(diǎn)學(xué)習(xí),但知識(shí)不夠系統(tǒng);三是采用程序設(shè)計(jì)培訓(xùn)機(jī)構(gòu)的視頻進(jìn)行學(xué)習(xí),視頻大多實(shí)戰(zhàn)型比較強(qiáng),但講解內(nèi)容過(guò)細(xì),學(xué)習(xí)效率不高。根據(jù)教學(xué)經(jīng)驗(yàn),采用教材和視頻相結(jié)合的方式,以教材為主,重點(diǎn)、難點(diǎn)以及不理解的知識(shí)通過(guò)視頻進(jìn)行學(xué)習(xí)。然后,通過(guò)完成程序設(shè)計(jì)任務(wù),進(jìn)一步促進(jìn)對(duì)知識(shí)點(diǎn)的理解,通過(guò)調(diào)試程序,提高解決實(shí)際問(wèn)題的能力,達(dá)到內(nèi)化吸收的效果。
(3)課堂討論,該環(huán)節(jié)在第二次課的第一節(jié)進(jìn)行,為了提高討論的效果,將討論分為三個(gè)步驟。首先是分組,分組在課前完成,根據(jù)學(xué)生的知識(shí)基礎(chǔ)、性別、積極程度等條件,將學(xué)生分為若干小組,各組之間的情況要平均,為了避免無(wú)效討論,每組選組長(zhǎng)1名,組長(zhǎng)負(fù)責(zé)本組的討論進(jìn)度的安排。其次是討論,每組針對(duì)課后學(xué)習(xí)和完成程序設(shè)計(jì)任務(wù)中遇到的問(wèn)題進(jìn)行討論,并在組內(nèi)進(jìn)行解決,每位成員均需要發(fā)言。教師可重點(diǎn)了解各成員遇到的主要問(wèn)題或理解不太清楚的問(wèn)題。然后是講解,講解分為小組講解和教師講解,在教師的安排下,每組提出各自的問(wèn)題,再由其他小組進(jìn)行講解;對(duì)于比較重要的問(wèn)題或者共性問(wèn)題,教師進(jìn)行著重講解,同時(shí)教師結(jié)合課程的重點(diǎn)、難點(diǎn),對(duì)一些小組進(jìn)行提問(wèn),小組選取組員進(jìn)行回答。
(4)知識(shí)鞏固與再吸收。本環(huán)節(jié)側(cè)重于利用學(xué)習(xí)的知識(shí)解決實(shí)際問(wèn)題,主要包含實(shí)驗(yàn)課和課外小組兩種形式。在實(shí)驗(yàn)課中,教師通過(guò)對(duì)學(xué)習(xí)章節(jié)知識(shí)點(diǎn)的歸納總結(jié),結(jié)合實(shí)際問(wèn)題,給出實(shí)驗(yàn)內(nèi)容和要求,學(xué)生在實(shí)驗(yàn)課上完成程序的編寫。在課下,期望更加深入進(jìn)行Java項(xiàng)目開(kāi)發(fā)的學(xué)生,可加入程序設(shè)計(jì)課外小組,進(jìn)行企業(yè)級(jí)的項(xiàng)目開(kāi)發(fā),提高綜合應(yīng)用能力。
(1)課程情況分析
Java程序設(shè)計(jì)課程開(kāi)設(shè)于大一年級(jí)第二學(xué)期,從課程情況來(lái)看,在已修C語(yǔ)言程序設(shè)計(jì)課程的基礎(chǔ)上,重點(diǎn)學(xué)習(xí)JavaSE的核心語(yǔ)法和面向?qū)ο蟪绦蛟O(shè)計(jì)技巧,實(shí)踐性強(qiáng),培養(yǎng)程序設(shè)計(jì)的實(shí)戰(zhàn)技能。從學(xué)生情況來(lái)看,學(xué)生已逐漸習(xí)慣于大學(xué)的教學(xué)和學(xué)習(xí),有一定的積極性,但自主學(xué)習(xí)的習(xí)慣尚未養(yǎng)成,仍需要教師在教學(xué)過(guò)程中進(jìn)行學(xué)習(xí)任務(wù)安排,甚至了解任務(wù)完成情況,實(shí)踐技能較弱,適合采用對(duì)分課堂模式進(jìn)行教學(xué)。
(2)教學(xué)實(shí)踐過(guò)程
以課程內(nèi)容第5部分繼承與接口之繼承性為例,進(jìn)行實(shí)踐。繼承性包括繼承的概念、繼承的原則、子類的聲明、子類的構(gòu)造方法等內(nèi)容。在課堂講授階段,對(duì)繼承的概念、繼承的原則進(jìn)行詳細(xì)講解,引出繼承性的關(guān)鍵就是子類的創(chuàng)建以及子類構(gòu)造方法的定義,列出繼承性知識(shí)思維導(dǎo)圖,如圖2所示。并將其具體的操作留作作業(yè),同時(shí),將知識(shí)點(diǎn)、課下作業(yè)和參考資料發(fā)布在對(duì)分易平臺(tái)中供學(xué)生查看。內(nèi)化吸收階段,通過(guò)查看教材,學(xué)生基本上能夠掌握繼承的概念、繼承的原則和子類的聲明,但子類的構(gòu)造方法和子類對(duì)象的使用,需要結(jié)合學(xué)習(xí)視頻進(jìn)行學(xué)習(xí),對(duì)于不太理解的內(nèi)容做好筆記;課堂討論階段,兩個(gè)教學(xué)班共60人,按照每組6人將學(xué)生劃分為10個(gè)小組,組內(nèi)針對(duì)繼承性知識(shí)導(dǎo)圖相關(guān)疑問(wèn)進(jìn)行討論,時(shí)間20min,討論結(jié)束后,大多對(duì)子類訪問(wèn)父類成員和子類構(gòu)造方法中使用super不夠理解,可進(jìn)行集中講解,同時(shí),教師針對(duì)繼承的原則和子類創(chuàng)建等知識(shí)進(jìn)行提問(wèn)。知識(shí)鞏固與再吸收階段,在實(shí)驗(yàn)教學(xué)中,給定已定義的父類Person,讓學(xué)生結(jié)合課程學(xué)習(xí)的原理和要求,根據(jù)實(shí)際情況定義子類,并調(diào)試程序,進(jìn)一步檢驗(yàn)學(xué)生對(duì)知識(shí)的掌握程度。
圖2 繼承性知識(shí)導(dǎo)圖
(3)實(shí)踐效果
Java程序設(shè)計(jì)課程的考核,采用平時(shí)成績(jī)和期末考試成績(jī)綜合考核方式,平時(shí)成績(jī)占比50%,主要考核課后任務(wù)完成情況和課上討論的情況;末考成績(jī)占比50%,采用上機(jī)編程方式,主要考核對(duì)課程知識(shí)的掌握程度和實(shí)踐能力。
教學(xué)方法通過(guò)在我校本科2019級(jí)兩個(gè)教學(xué)班(60名學(xué)生)的教學(xué)實(shí)踐,學(xué)生能夠積極的參與課堂的各個(gè)環(huán)節(jié),知識(shí)掌握相對(duì)扎實(shí),綜合考核成績(jī)優(yōu)良率達(dá)到了78.3%,平均成績(jī)84.25分,動(dòng)手實(shí)踐能力有了較大提高。
針對(duì)Java程序設(shè)計(jì)課程教學(xué)中存在的問(wèn)題,將對(duì)分教學(xué)模式引入到了Java程序設(shè)計(jì)課程中,從教為中心轉(zhuǎn)變?yōu)閷W(xué)為中心。采用隔堂對(duì)分的方式,將教學(xué)劃分為教師講授、知識(shí)內(nèi)化、學(xué)生討論和知識(shí)鞏固和再吸收四個(gè)階段。通過(guò)實(shí)踐,學(xué)生能夠積極融入到教學(xué)環(huán)節(jié)中,學(xué)生從過(guò)去的依賴于老師,轉(zhuǎn)變?yōu)樽灾鲗W(xué)習(xí)、主動(dòng)學(xué)習(xí),逐漸習(xí)慣對(duì)分教學(xué)方法,自學(xué)能力有了較大的提高,教師不再是講不完,而是重實(shí)踐,課堂的教學(xué)效果有了較大的進(jìn)步,學(xué)生編程解決實(shí)際問(wèn)題的能力有了較大提升,為后續(xù)的課程打下了較好的基礎(chǔ)。