王雪紅
摘要:JAVA程序設(shè)計是一門高校較流行的核心程序設(shè)計課程之一。JAVA作為面向?qū)ο缶幊陶Z言,具有理論知識的復(fù)雜性、抽象性及多樣化性,對于許多初學(xué)編程語言的學(xué)生而言難度較大。該文以賀州學(xué)院食品質(zhì)量和科學(xué)專業(yè)的學(xué)生為研究對象,分析在教學(xué)過程中存在的問題,以現(xiàn)實生活中的實例為擴展,編程設(shè)計中引入計算思維概念,有利于學(xué)生理解知識及提高學(xué)生學(xué)習(xí)的興趣。
關(guān)鍵詞:JAVA程序設(shè)計;計算思維;教學(xué)改革;案例教學(xué)法
中圖分類號:G642 文獻標(biāo)識碼:A
文章編號:1009-3044(2019)11-0099-02
JAVA是一種面向?qū)ο缶幊痰某绦蛟O(shè)計語言,具有高效性、平臺無關(guān)性、安全性、通用性、可移植性及多線程工作等特點。目前,對于高校學(xué)生而言JAVA程序設(shè)計課程應(yīng)用非常廣泛,比如全國大學(xué)生參賽的“藍橋杯”、“軟件杯”和互聯(lián)網(wǎng)+,甚至相關(guān)高校大學(xué)生計算機等級考試中都會涉及,國內(nèi)大部分高校不僅將計算機相關(guān)專業(yè)開設(shè)JAVA程序設(shè)計課程而且非計算機專業(yè)作為通識教育選修課程也納入此課程。由于JAVA屬于面向?qū)ο蠖敲嫦蜻^程,所涉及的編程思想和一些重要概念在理解上要抽象些,比如JAVA中出現(xiàn)的“類”、“對象”概念和通過對象調(diào)用的方法,學(xué)生在理解上存在難度。而且在學(xué)時的分配上,以本學(xué)院為例作為必修課計算機專業(yè)的學(xué)生為64學(xué)時,作為通識教育選修課的非計算機專業(yè)的學(xué)生為48學(xué)時。非計算機專業(yè)的學(xué)生在學(xué)習(xí)JAVA程序設(shè)計課程之前是零編程基礎(chǔ)的,所以在教學(xué)中難度更大。如何在教學(xué)過程中將知識更細致、更易理解,更能激發(fā)學(xué)生學(xué)習(xí)的積極性變得尤為重要。
1分析JAVA程序設(shè)計課程在教學(xué)中存在的問題
JAVA程序設(shè)計課程對于計算機專業(yè)的學(xué)生來講,其理論知識的理解與認識本身有一定的難度,而對于非計算機專業(yè)的學(xué)生而言,難度可想而知。筆者在給非計算機專業(yè)的學(xué)生授課時主要存在以下問題:第一,學(xué)生的編程基礎(chǔ)比較薄弱。近幾年,筆者在教授食品質(zhì)量和科學(xué)專業(yè)學(xué)生的通識教育選修課時了解到,學(xué)生是零編程基礎(chǔ)學(xué)習(xí)JAVA程序設(shè)計課程,學(xué)生在學(xué)習(xí)該課程之前,僅開設(shè)了大學(xué)計算機應(yīng)用基礎(chǔ)。所以在教授時,學(xué)生學(xué)習(xí)進度緩慢,學(xué)生首次接受新的抽象概念、語法規(guī)則和系統(tǒng)類庫上比較困難。筆者認為對于初學(xué)編程的學(xué)生,應(yīng)以先學(xué)習(xí)C語言課程為基礎(chǔ),熟悉了相關(guān)編程基本語法和編程的思想后,再學(xué)習(xí)面向?qū)ο笳Z言課程JAVA程序設(shè)計更容易接受。第二,端正學(xué)習(xí)態(tài)度和建立學(xué)習(xí)自信。JAVA程序設(shè)計課程本身需要比較強的邏輯思維能力和扎實的數(shù)學(xué)基礎(chǔ),并需要掌握編程基本語法、構(gòu)造方法、各種類庫和接口等。筆者在教授過程中,對于非計算機專業(yè)的學(xué)習(xí)而言,因不是本專業(yè)的課程,而且在學(xué)習(xí)期間,步伐艱難,學(xué)習(xí)興趣越來越低。
2 JAVA課程改革的方案
2.1以實例驅(qū)動為基礎(chǔ),充分利用網(wǎng)絡(luò)教學(xué)平臺
為了提高學(xué)生的學(xué)習(xí)興趣與增強知識點的理解力,應(yīng)合理設(shè)計相關(guān)知識點的教學(xué)案例。因為學(xué)生為初學(xué)者,教學(xué)案例根據(jù)學(xué)生的理解的實際情況,不必太復(fù)雜。讓學(xué)生深刻認識到,所學(xué)習(xí)到的枯燥的理論知識,通過計算機編程可以解決實際的問題的過程。比如 ,“銀行新用戶現(xiàn)金業(yè)務(wù)辦理”的案例,使學(xué)生思考并模擬現(xiàn)實中銀行大廳內(nèi)新用戶辦理現(xiàn)金存取業(yè)務(wù)的場景,并使用代碼來實現(xiàn)[1]。這個案例的功能有“歡迎界面字符”的提示、“退出界面字符”的提示、“用戶的開戶”、“密碼輸入是否正確”、“存款”、“取款”和“賬戶余額”的提示等功能。根據(jù)以上所述,我們需要定義一個“銀行”類(Bank),來實現(xiàn)“銀行”所提供的功能有“歡迎界面”“用戶開戶”“輸入密碼”功能、“存款”功能、“取款”功能、“余額”的情況及“退出”界面字符的顯示情況。我們再需要定義一個“交易”類(Trade),用來定義一個具體對象模擬用戶辦理現(xiàn)金業(yè)務(wù)的情況。
本院主頁網(wǎng)站上有“網(wǎng)絡(luò)教學(xué)平臺”功能的開放,教師可以將所教授的課程資源、教師錄制的教學(xué)視頻等都可以上傳到“網(wǎng)絡(luò)教學(xué)平臺”上,方便學(xué)生課上、課下復(fù)習(xí)鞏固知識難點。
2.2 注重計算思維能力的培養(yǎng)
美國卡內(nèi)基·梅隆大學(xué)計算機科學(xué)系主任周以真教授于2006年3月提出,計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動[2]。在2011年陳國良院士等最早在國內(nèi)將計算思維概念引入到計算機基礎(chǔ)應(yīng)用學(xué)科[3-4]。如何將計算思維很好地應(yīng)用到課堂上受益于學(xué)生呢?一方面,在教學(xué)過程中不能按部就班、照本宣科將知識點傳達給學(xué)生。JAVA程序課程本身識知點的關(guān)聯(lián)性很強,在介紹某一知識點或某個程序段時,可以按某個思維路線進行延伸;另一方面,在課堂上或布置課后作業(yè)時,注重培養(yǎng)學(xué)生的計算思維能力和獨立編程的能力。
2.3 考核方式的改革
以我院食品質(zhì)量和科學(xué)專業(yè)為例,將以往的筆試改為機試考試??荚嚪蓊~分配主要包括課堂表現(xiàn)(占10%)平時作業(yè)(占30%)和期末上機考試分數(shù)(占60%)。課堂表現(xiàn)包括簽到情況、遲到、早退情況和課堂回答問題情況;平時作業(yè)包括一些思考題、簡單機試題和設(shè)計題等,依據(jù)學(xué)生作業(yè)完成的情況,分級評定;期末上機考試主要涉及一些知識點的綜合設(shè)計編程題等,在規(guī)定的時間內(nèi)完成上交。
3結(jié)束語
JAVA程序設(shè)計課程教學(xué)過程中以實例演示教材中重要的知識點,融合計算思維的理念,更簡潔、巧妙展現(xiàn)出來,更利于學(xué)生的吸收、理解知識。學(xué)習(xí)JAVA程序設(shè)計課程在理解的基礎(chǔ)上,要學(xué)會分析現(xiàn)實生活中所遇到的問題,列出解決問題的大綱和如何將自然語言轉(zhuǎn)化為JAVA程序段,最后編譯運行代碼。學(xué)生學(xué)習(xí)編程語言重在動手操作,可以通過給出的案例或者網(wǎng)絡(luò)教學(xué)平臺上提供的學(xué)習(xí)資源等。
參考文獻:
[1] 黑馬程序員. JAVA基礎(chǔ)案例教程[M].北京:人民郵電出版社,2016.
[2] Jeanette M. Wing.Computaitonal Thinking[J]. Communicaitons of the ACM,2006,49(3):33-35.
[3] 陳國良,董榮勝.計算機思維與大學(xué)計算機基礎(chǔ)教育[J].中國大學(xué)教學(xué), 2011(1):7-11.
[4] 朱子江,劉東,胡毅.基于計算思維的Java程序設(shè)計課程教學(xué)實踐[J].計算機教育,2015(24):61-66.
【通聯(lián)編輯:光文玲】