王建國
摘要:本文在分析了傳統(tǒng)教學(xué)模式帶來的問題后,提出了基于案例教學(xué)模式,通過設(shè)計項目,并將之按知識點拆分,每部分內(nèi)容的完成在知識點講解之后,當課程結(jié)束后,將得到一個完整的可上線的項目,學(xué)生容易掌握。實踐證明,該方式行之有效。
關(guān)鍵詞:案例;教學(xué)模式;教學(xué)改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2019)17-0129-02
一、引言
編程語言類的課程教學(xué),在課程的教學(xué)過程中,按照教學(xué)大綱將知識點教授給學(xué)生,并結(jié)合上機環(huán)節(jié),加深并鞏固對知識點的理解和掌握。等課程結(jié)束后,學(xué)生對基礎(chǔ)知識能夠較好地掌握,但是真正的做一個小的項目(如課程設(shè)計環(huán)節(jié))還不能夠得心應(yīng)手。拿到項目需求后,如何進行實施,感到無從下手,理論和實踐脫節(jié),達不到編程類課程的教學(xué)目的。為了解決這個問題[1,2],有些編程類課程安排了課程設(shè)計教學(xué)環(huán)節(jié),有些課程在課程結(jié)課前安排了一個較大的綜合案例教學(xué)分析,但是由于時間較短,學(xué)生很難接受并掌握。另外,這類課程在培養(yǎng)方案中通常安排48學(xué)時,理論教學(xué)和上機實踐時間比例通常是2∶1,如何在較短的學(xué)時內(nèi)讓學(xué)生熟練編程語言,并能夠進行課程設(shè)計類工作量題目的開發(fā),下面以《JSP設(shè)計》這門課程為例進行分析。
二、教學(xué)模式設(shè)計
教學(xué)模式設(shè)計。分析教學(xué)大綱,充分了解本門課程應(yīng)該完成的教學(xué)內(nèi)容。在此基礎(chǔ)上,選擇合適的教材,并提供1—2本參考書目。教學(xué)過程中使用的教材是清華大學(xué)出版社出版的由張躍平、耿祥義編著的《JSP程序設(shè)計(第2版)》[3],該教材針對各個知識點都有小的示例,便于學(xué)生學(xué)習(xí)、理解。分析課程的前導(dǎo)和后續(xù)課程,為本門課程在教學(xué)過程中講解哪些內(nèi)容提供依據(jù)。認真進行教學(xué)設(shè)計,根據(jù)教學(xué)大綱和知識點的重要程度設(shè)計教學(xué)日歷,并詳細設(shè)計教案。整個教學(xué)設(shè)計分為幾部分組成:基礎(chǔ)知識內(nèi)容的講解,知識點的實踐驗證,知識點的綜合運用及實踐;貫穿整個教學(xué)過程的綜合案例的設(shè)計及拆分,拆分后的每部分都對應(yīng)部分知識點的應(yīng)用。該綜合案例是一個漸進的完成過程,每部分內(nèi)容的完成都會綜合運用其他知識點,這樣學(xué)生在學(xué)習(xí)過程中就能夠知道如何解決問題。和傳統(tǒng)的到課程快結(jié)束時給出一個綜合案例的講解及課程設(shè)計環(huán)節(jié)的練習(xí)相比,使學(xué)生不會感到突兀,有一種“隨風(fēng)潛入夜,潤物細無聲”的感覺。隨著課程的結(jié)束,學(xué)生對本門課程基礎(chǔ)知識的掌握以及知識的綜合運用能力都得到了提升。該綜合案例不是在課上作為示例講解,而是作為學(xué)生的平時作業(yè)來完成,該課程安排5—6次作業(yè)。在第一堂課就先告訴學(xué)生課程教學(xué)要達到的整體目標,并把這個綜合案例做一個展示,讓學(xué)生知道當他們學(xué)完這門課之后,他們具備了完成這樣一個項目的綜合能力。為了讓學(xué)生充分掌握吸收各部分知識點的內(nèi)容,每次完成作業(yè)的時間為1周,提交整個項目,每次作業(yè)在上一次作業(yè)的基礎(chǔ)上完成,在完成當前作業(yè)的時候,可以根據(jù)需要對前面部分覺得不合理、不滿意的地方進行修改。由于IT行業(yè)尤其強調(diào)團隊協(xié)作能力,在完成作業(yè)的時候,要求學(xué)生2—3人一組,自由結(jié)組,并指定一名負責(zé)人,在完成作業(yè)的過程中,小組成員可以商量著完成作業(yè),并要求掌握整個項目內(nèi)容。學(xué)生以教師演示的案例為基礎(chǔ),必須完成案例中所有的功能,每次作業(yè)有具體明確的需求,并提供相應(yīng)的運行截圖,學(xué)生在完成功能時可以自由發(fā)揮,如改變UI布局、顏色,可以添加新功能。
三、教學(xué)案例設(shè)計
在教學(xué)過程中設(shè)計了一個綜合案例[4,5]——《JSP開發(fā)》課程學(xué)習(xí)平臺,該案例貫穿課程的教學(xué),主要是完成一個課程學(xué)習(xí)平臺網(wǎng)站的設(shè)計與實現(xiàn)。該案例不作為課上講解使用,而是用于課下作業(yè),針對學(xué)過的知識點的綜合練習(xí)。當完成最后一次作業(yè)時,學(xué)生已經(jīng)具備了設(shè)計并用JSP實現(xiàn)一個網(wǎng)站的能力。作業(yè)設(shè)計如下圖所示。
第一次作業(yè):制作網(wǎng)站框架頁面,擴展名用“jsp”。給出頁面效果圖,并指定頁面之間滿足如下關(guān)系:(1)首頁文件命名為index.jsp,首先訪問index.jsp頁面,單擊“注冊”鏈接打開注冊頁面,單擊“登錄”鏈接打開登錄頁面。(2)單擊頁面中的“注冊”按鈕,跳轉(zhuǎn)到一個新的頁面(自己設(shè)計),并顯示信息內(nèi)容為:“注冊成功!”(3)單擊首頁面中的“登錄”按鈕,跳轉(zhuǎn)到登錄成功頁面,在該頁面加上本組成員的介紹(姓名、學(xué)號、照片等)及分工創(chuàng)意說明,自行頁面設(shè)計。(4)頁面布局、顏色、內(nèi)容可以本組決定。本次作業(yè)主要練習(xí)和本課程相關(guān)的前序課程(Html+CSS)的知識以及本課程中基本JSP頁面的編寫、Web容器(Tomcat)的安裝及JSP項目的部署。
第二次作業(yè):第二次作業(yè)在第一次作業(yè)的基礎(chǔ)上進行完善。(1)將登錄成功后的所有頁面中的左側(cè)的“當前用戶”后面的“張三”替換為登錄時的賬號。在登錄頁面輸入賬號和密碼后單擊“登錄”按鈕,由接收頁面判斷輸入的賬號與密碼和本組組長的姓名和學(xué)號進行比對,如果一致,認為登錄成功。(2)單擊注冊頁面中的“注冊”按鈕,跳轉(zhuǎn)到一個新的頁面,在該頁面中顯示注冊頁面中輸入的信息,要求界面設(shè)計美觀。(3)修改第一次作業(yè)中的登錄成功首頁面,在該頁面右上角添加如下顯示信息:“您是第N次登錄”。其中N換為具體的數(shù)值,用session對象實現(xiàn)。(4)在首頁顯示網(wǎng)站被訪問的次數(shù),用application對象實現(xiàn)。本次作業(yè)主要練習(xí)如何使用JSP內(nèi)置對象及內(nèi)置對象常用方法的使用,以及JSP頁面的基本結(jié)構(gòu)練習(xí),包括JSP標記、變量和方法的聲明、Java程序片及Java表達式。
第三次作業(yè):第三次作業(yè)在第二次作業(yè)的基礎(chǔ)上進行完善。(1)單擊注冊頁面中的“注冊”按鈕,跳轉(zhuǎn)到一個新的頁面,在該頁面中顯示注冊頁面中輸入的信息,并且將注冊信息保存到數(shù)據(jù)庫中。(2)在登錄頁面輸入賬號和密碼后單擊“登錄”按鈕,和數(shù)據(jù)庫中的賬號和密碼進行比較,如果一致,認為登錄成功。(3)單擊“新增內(nèi)容”鏈接,將信息保存到數(shù)據(jù)庫中。(4)單擊“內(nèi)容查詢”鏈接,顯示查詢條件頁面(自己定義查詢條件),根據(jù)輸入的查詢條件進行結(jié)果顯示。(5)單擊“修改密碼”鏈接,將當前登錄賬號的密碼修改成新的。本次作業(yè)主要練習(xí)如何使用JDBC連接數(shù)據(jù)庫(任選,推薦使用MySQL),如何使用JSP對數(shù)據(jù)庫進行增、刪、改、查操作,如何實現(xiàn)分頁操作。
第四次作業(yè):第四次作業(yè)在第三次作業(yè)的基礎(chǔ)上進行完善。(1)單擊“新增內(nèi)容”鏈接,單擊“上傳”按鈕將本地的PPT文件上傳到服務(wù)器端。(2)單擊“保存”按鈕,將輸入的信息及上傳的PPT位置信息保存到數(shù)據(jù)庫中。(3)單擊“內(nèi)容查詢”鏈接,單擊“PPT”列的鏈接,進行PPT文件下載。本次作業(yè)主要練習(xí)JSP中的文件操作,如何進行文件的上傳和下載。
第五次作業(yè):第五次作業(yè)在第四次作業(yè)的基礎(chǔ)上進行完善。通過對前面代碼的分析,完成通過代碼復(fù)用完成軟件設(shè)計。本次作業(yè)主要練習(xí)Tag文件如何編寫、保存和Tag標記的使用。
第六次作業(yè)(擴展):第六次作業(yè)在第五次作業(yè)的基礎(chǔ)上進行完善。使用MVC模式完成前面代碼的重構(gòu)。練習(xí)JavaBean、Servlet及MVC模式開發(fā)網(wǎng)站。
四、結(jié)論
通過改革實踐,將知識點的綜合練習(xí)分階段融合到一個JSP實現(xiàn)的網(wǎng)站實現(xiàn)中,在課程最后給學(xué)生分析、講解一個綜合案例,或者在課程結(jié)束后安排1—2周的課程設(shè)計效果要好。如果課時允許,可以在課程結(jié)束后再安排一個課程設(shè)計,這對《JSP開發(fā)》課程的學(xué)習(xí)質(zhì)量會有一個質(zhì)的提升。
參考文獻:
[1]賴紹聰,華洪.課程教學(xué)方式的創(chuàng)新性改革與探索[J].中國大學(xué)教學(xué),2013,(1):30-31,45.
[2]賴紹聰.如何做好課程教學(xué)設(shè)計[J].中國大學(xué)教學(xué),2016,(10):14-18.
[3]耿祥義,張躍平.JSP程序設(shè)計[M].第二版.北京:清華大學(xué)出版社,2017.
[4]郭銀章,王麗芳.基于項目任務(wù)驅(qū)動的C語言程序設(shè)計課程教學(xué)改革與實踐[J].計算機教育,2017,(2):41-44.
[5]錢存陽.項目化教學(xué)培養(yǎng)大學(xué)生系統(tǒng)實踐能力[J].高等工程教育研究,2015,(2):187-192.