曹智勇
今天,智能手機已經普及,功能強大,在課堂造就了低頭族,本文嘗試將線上線下學習接合、課堂學習和課外學習相結合,希望能構建“互聯(lián)網+”環(huán)境下新的教學模式。
程序設計是高校信息與計算機科學相關專業(yè)學生必須要完成的一門基礎課程,比如C語言程序設計、Java程序設計、C++程序設計等,課程主要培養(yǎng)學生邏輯思維能力,培養(yǎng)學生項目設計的能力,培養(yǎng)學生動手實踐的能力。
1 目前程序設計課程的教學模式
不同教師有不同教學設計,一般可以歸納為兩種類型。第一種,注重代碼編寫能力培養(yǎng),通過大量練習編寫代碼進行教學,在課堂教學中,教師對設計語言的語法,結構進行詳細分析,在編寫代碼時進行解釋,學生跟隨老師一起操作,得到很好的鍛煉;第二種,在教學實施中,采用項目教學法,要求教師有豐富的開發(fā)設計經驗,在課堂上將實際案例導入課堂教學,從項目需求分析,總體設計,詳細設計各環(huán)節(jié)分解案例,培養(yǎng)學生項目開發(fā)能力,激發(fā)學生學習熱情,讓學生學有所獲。
2 存在的問題
教師方面,教師重心在課堂教學,課后的學習支持服務少,比如沒有提供足夠的學習資源讓學生課后復習等;學生方面問題更多,在課堂上,學生沒有明確的學習目標,感到無聊,低頭玩手機成為一種常見現象。課后,學生需要大量的練習編寫代碼,必須要有電腦硬件支持,有軟件支撐,比如學習Java語言,需要安裝jdk(JAVA編譯工具),eclipse等,不同的程序設計語言環(huán)境搭建又不一樣,很多學生沒有能力或者沒有這樣的條件。不能在電腦進行代碼調整和測試,學生程序設計能力大打折扣,而且所學容易忘記,時間一長,學生喪失了對這門課程的興趣,課堂教學效果也越來越差,低頭族越來越多。課堂不能喚起學生,課后不能進行實踐,學生是沒辦法學好這門課程的。
為了讓學生抬起頭聽、低下頭練,筆者進行了教學模式的改革,比如線上線下混合式教學,直播課堂,手機進課堂等。為了讓學生將手機變成學習的工具而不是聊天工具、娛樂工具,筆者收集了很多與程序設計相關的APP,在課堂上、課后進行手機學習。這里,筆者以Java語言的教學為例,將筆者的教學方式與大家分享交流,希望能在程序設計這門課的教學上與時俱進。
3 Java語言課程分析
《Java程序設計》是信息與計算機科學專業(yè)開設的專業(yè)基礎課程,Java語言的學習可以分三個層次。第一個層次是Java面向過程的基礎編程;第二個層次是面向對象的基礎編程;第三個層次是數據庫系統(tǒng)的開發(fā)應用。一般課堂上主要涉及前兩個層次,而這兩個層次的學習都依賴于大量代碼的編寫,熟練使用Java開發(fā)的相關工具,掌握語言的使用,面向對象的設計思想,項目建設的能力。課程實踐性很強,只有學生動手,邊學邊做,結合實際進行項目開發(fā),才能達到最終的教學目標。
4 智能手機APP輔助教學
Java語言的學習離不開代碼書寫,傳統(tǒng)的教學要么是在教室上基礎知識,然后在機房中操作,要么全部在機房練習。但是在筆者實際的教學中,并不是所有學生都能使用機房進行練習,學生課后也沒有條件自己在家中訓練,有的是因為時間少,有的是因為基礎差,根本無法獨立搭建起程序開發(fā)需要的軟件環(huán)境。隨著智能手機的普及和功能越來越強大,利用手機進行程序設計開發(fā)就稱為了可能。經過不斷的使用和摸索,筆者找到了一款Java學習的利器, 這就是AIDE(Android集成開發(fā)環(huán)境)手機應用程序。
5 AIDE簡介
AIDE由一個來自德國的小型團隊開發(fā)而成,AIDE本身就是Java編寫的,可運行于 Android系統(tǒng),目前大多數手機均支持。AIDE 支持完整的編程操作,它有強大的功能,電腦上常見的如代碼自動完成,關鍵詞高亮等都能實現,其使用的錯誤檢查,代碼完成等都基于自己的技術。雖然手機受硬件限制,不能擁有電腦環(huán)境下所有功能,但對于學習語言基礎知識的學生來說,完全能夠實現所學的操作,從而使手機成為學生的隨身移動開發(fā)工作站。確實,隨著屏幕變得更大、更清晰,系統(tǒng)的性能提高了, 手機功能越來越強大,相信這種“移動”發(fā)展的做法只會越來越多,新的編程語言工具也將越來越完善。
AIDE 可以從Android市場上免費下載,下載完成后,直接在手機進行安裝,過程很簡單,不需要進行任何的設置。安裝完成后,在手機的屏幕上會生成快捷圖表。
6 AIDE的使用
安裝完AIDE后在手機屏幕上會看到AIDE圖標,運行AIDE,我們會看到圖1的主界面,在這個界面,我們會看到AIDE的主要功能,你可以開始項目的創(chuàng)建,在創(chuàng)建對話框中,您先選擇要創(chuàng)建的項目類型,輸入適合你的應用程序的名稱,進入代碼書寫。在學習過程中,我們主要是帶領學生進行代碼編輯。圖2是代碼編寫的頁面,在編寫Java代碼時,我們看到AIDE提供了一個良好的編寫環(huán)境,友好的支持使初期接觸的學生不會感到編寫困難,程序編寫過程中的錯誤會實時提醒,對完成的代碼會提示錯誤,標記錯誤位置,可以自動進行代碼的修改,一次單擊即可運行應用程序。
圖3是AIDE提供的自學教程,自學教程涉及了Java語言基礎知識部分,每一個知識點不是通過文字向學生傳達,而是在交互式環(huán)境中通過學生輸入完成代碼,然后給出判斷,從而讓學生邊做邊學。學生完成每一項任務的時間可能一分鐘、三分鐘不等,這種方式極大適應了今天移動信息時代碎片化學習的方式。
7 教學設計
以AIDE為主要學習工具,輔助其他手機APP,筆者對Java語言的教學重新進行了設計。
課前準備階段主要采用在線模式,為了讓學生更好學習,筆者會在每一次課前根據教學內容制作微視頻,并上傳到學生的學習平臺,學生的主要活動是觀看教學資源,了解和熟知預設的學習內容,利用AIDE的自學功能進行預習,相關知識的學習和操作練習不會超過10分鐘,為課堂教學活動的開展奠定知識基礎。
在程序設計課程的教學中,課堂教學是整個教學的中心環(huán)節(jié),因為學生沒有相關的開發(fā)設計經驗,需要教師引領。具體教學中,項目驅動教學比較適合課程的學習,在任務分析與案例演示階段,手機也是課堂教學的有力工具,比如筆者在課堂推行雨課堂教學,在教學過程中,教學內容推送到每個學生的手機,學生可以通過手機完成課堂小測試,可以實時反饋學習中的疑問等。在任務完成階段,學生根據課堂教師講授,通過AIDE自主或協(xié)作完成任務要求。一般是要求學生自主完成,在完成這項任務的過程中,教師可以對學生一對一輔導,特別是對有問題或有困難的學生。
由于學生的差異以及課前學習基礎的不同,任務的實施會出現不同的情況,一部分學生能較好、較快地完成任務,另一部分學生需要在教師的指導和點撥下才能勉強完成任務,教師可以在課后就存在的問題制作的微視頻提供給學生鞏固學習。
課后的交流與討論也是學習提升的一個策略,筆者選擇在生活中學生普遍使用的交流工具(如QQ、微信等),來實現師生、生生的在線交流與討論。
在教學實踐的過程中,學生在課堂的表現有了很大的轉變,一開始,學生對這種新的教學手段不適應,甚至有的還很抵觸,因為不能在課堂自由玩手機了,但經過我們的堅持,一段時間后,學生發(fā)現自己在程序設計方面,尤其編寫代碼方面進步很多,學生開始積極配合,參與到課堂的邊學邊做中。課前能自覺預習,課后也積極與同學,老師在線交流,一個學期結束,學生覺得收獲很大,教學的效果顯著提升。
如今,手機已成為每個人生活必需品,它已不再是單純的通話功能,它是娛樂、支付、工作的綜合。同時也給傳統(tǒng)課堂帶來挑戰(zhàn),如果能將手機引入課堂教學,連接在線和離線、課堂和課外學習,發(fā)揮手機強大的學習功能,那么學?!暗皖^族”將會被賦予新的含義,這還需要每一個教師在教學中敢于創(chuàng)新、敢于實踐,積極探索。
(作者單位:貴州廣播電視大學(貴州職業(yè)技術學院))