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