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