摘 要:該文針對(duì)目前高職面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)的特點(diǎn),分析了基礎(chǔ)優(yōu)先法的優(yōu)點(diǎn)。最后通過AI-TANK系統(tǒng)實(shí)現(xiàn)了一個(gè)算法的設(shè)計(jì)。
關(guān)鍵詞:高職教育;面向?qū)ο?;程序設(shè)計(jì);基礎(chǔ)優(yōu)先
中圖分類號(hào):TP311
計(jì)算機(jī)程序設(shè)計(jì)語言是每個(gè)計(jì)算機(jī)類專業(yè)的學(xué)生必須學(xué)好的重要知識(shí),主要分為面向過程語言和面向?qū)ο笳Z言兩大類,前者主要包括C、Pascal等,后者主要包括C++、Java、C#、Objective-C等。面對(duì)外面世界無數(shù)語言的選擇,鋪天蓋地的各方支持者都在自己的陣營(yíng)搖旗吶喊:Java好,C好,C++好,C#……。于是每種語言都嘗試了一下,幾年也就過去了,仍然分不出誰好誰不好。后來終于明白具備扎實(shí)的基礎(chǔ)和精通一門語言就足矣[1]。因此,為學(xué)生選擇他們的第一門語言直接關(guān)系到每個(gè)學(xué)生未來的工作甚至幸福,最終我們基于如下原因選擇了Java語言:
(1)TIOBE開發(fā)語言排行榜。表1顯示了13年1月到14年1月tiobe.com的開發(fā)語言排名情況,可以看出,除了面向過程語言C之外,其他四種都是語法相通的C系面向?qū)ο笳Z言,占據(jù)了當(dāng)今市場(chǎng)的主流。
(2)Java語言在各種面向?qū)ο笳Z言中的優(yōu)勢(shì)。在PC平臺(tái)上,Java拋棄了C++中少用的功能,更加容易掌握;它是跨平臺(tái)的,這是C#所不具備的;Objective-C只應(yīng)用于Mac OS系統(tǒng)。
在三大主流移動(dòng)開發(fā)平臺(tái)中,安卓、iOS、WP的開發(fā)語言分別是Java、Objective-C、C#,而目前安卓系統(tǒng)的市場(chǎng)占有率已經(jīng)達(dá)到75%,因此在如今的移動(dòng)互聯(lián)時(shí)代,Java是不二選擇。
1 高職面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)的現(xiàn)狀
從長(zhǎng)期的一線教學(xué)經(jīng)驗(yàn)來看,制約高職學(xué)生程序設(shè)計(jì)語言學(xué)習(xí)的主要因素如下:(1)當(dāng)前計(jì)算機(jī)類專業(yè)的招生每況愈下,新生中有大量調(diào)劑生,而且女生的比例高了很多,這些學(xué)生由于調(diào)劑的關(guān)系,嚴(yán)重缺乏學(xué)習(xí)興趣。(2)中學(xué)基礎(chǔ)知識(shí)缺乏。學(xué)生高考分?jǐn)?shù)不高,其主要原因是他們?cè)诟咧须A段數(shù)學(xué)、英語學(xué)的不太好,數(shù)學(xué)不好直接導(dǎo)致理解不了程序設(shè)計(jì)中的很多基本原理,英語不好使得他們很難記憶程序設(shè)計(jì)語言的關(guān)鍵字。(3)邏輯思維能力不夠。程序設(shè)計(jì)需要較強(qiáng)的邏輯分析能力,許多學(xué)生在這方面的能力不夠,很難理解較復(fù)雜的程序數(shù)據(jù)結(jié)構(gòu)和算法。(4)信息技術(shù)知識(shí)匱乏。通常需要兩個(gè)學(xué)期才能系統(tǒng)性學(xué)習(xí)一門程序設(shè)計(jì)語言,為了適應(yīng)三年學(xué)制的特點(diǎn),現(xiàn)在把程序設(shè)計(jì)語言移到大一上學(xué)期。但高中生的主要任務(wù)是高考,學(xué)生很少接觸電腦,出現(xiàn)了學(xué)生還沒有熟悉鍵盤就去敲代碼的情況。(5)抽象思維方式欠缺。面向?qū)ο蟪绦蛟O(shè)計(jì)語言以對(duì)象為核心知識(shí),學(xué)生理解起來較為困難。(6)傳統(tǒng)教學(xué)中,針對(duì)某個(gè)教學(xué)內(nèi)容通常采用“提出概念-解釋概念-舉例說明”的形式,側(cè)重知識(shí)的學(xué)習(xí),從原理入手,注重理論和概念[3]。而且,傳統(tǒng)的課堂上學(xué)生往往是被動(dòng)的聽課,實(shí)驗(yàn)課上機(jī)練習(xí)也是對(duì)著書本照敲代碼,不利于調(diào)動(dòng)學(xué)生的主觀能動(dòng)性。
2 基礎(chǔ)優(yōu)先教學(xué)法的優(yōu)點(diǎn)
程序設(shè)計(jì)的目標(biāo)是解決問題,不具備基礎(chǔ)知識(shí)的學(xué)生是很難學(xué)好面向?qū)ο缶幊痰摹S没A(chǔ)優(yōu)先法(即先介紹基礎(chǔ)知識(shí),如變量、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、分支、循環(huán)、數(shù)組、方法等,然后再介紹面向?qū)ο蟾拍畹龋┛梢詭椭覀兛朔@些問題。
AI-TANK是AI-CODE游戲教育系統(tǒng)系列產(chǎn)品下以坦克為主題的編程游戲,是學(xué)習(xí)各種編程語言的利器[4]。
(1)所謂“人生如戲”,年輕人通常都喜歡玩游戲。AI-TANK系統(tǒng)是一款教育游戲,可以在游戲中培養(yǎng)學(xué)生的編程能力,激發(fā)學(xué)生的學(xué)習(xí)興趣。(2)AI-TANK涉及程序設(shè)計(jì)、數(shù)學(xué)、物理等各種知識(shí),可以在培養(yǎng)學(xué)生的編程能力的同時(shí),加強(qiáng)其數(shù)理知識(shí),反過來又利于編程能力,達(dá)到“相輔相成”的學(xué)習(xí)效果。(3)要順利的實(shí)現(xiàn)游戲目標(biāo)必須有良好的邏輯思維能力,經(jīng)常得到游戲的鍛煉,利于培養(yǎng)邏輯思維能力。(4)高中生雖然很少接觸電腦,但他們?cè)谥行W(xué)階段接觸過游戲機(jī),利用計(jì)算機(jī)進(jìn)行游戲設(shè)計(jì)讓學(xué)生感到更加熟悉,使得過渡更加平滑。(5)進(jìn)行游戲時(shí)需要進(jìn)行游戲?qū)ο蟮脑O(shè)計(jì),可以培養(yǎng)游戲者的整體觀念,鍛煉其抽象思維能力。(6)為了加強(qiáng)教學(xué),我們提出問題,然后利用AI-TANK設(shè)計(jì)機(jī)器人來解決問題,同時(shí)生成C代碼,接著將其改為Java代碼,最后解釋這個(gè)概念。通過這種方式我們可以設(shè)計(jì)出一個(gè)個(gè)的游戲?qū)嵗?,達(dá)到寓教于樂的教學(xué)目的。
3 一個(gè)利用AI-TANK系統(tǒng)實(shí)施基礎(chǔ)優(yōu)先教學(xué)法的教學(xué)實(shí)例
當(dāng)進(jìn)行到循環(huán)結(jié)構(gòu)時(shí),我們通過創(chuàng)建一個(gè)圓周運(yùn)動(dòng)機(jī)器人來講解。在圖形界面下設(shè)計(jì)圓周運(yùn)動(dòng)機(jī)器人如圖1(a)所示,圖1(b)測(cè)試了該圓周運(yùn)動(dòng)機(jī)器人。整個(gè)過程大部分細(xì)節(jié)都在圖形界面下完成,非常直觀。
圖1(a) 圓周運(yùn)動(dòng)機(jī)器人
圖1(b) 測(cè)試圓周運(yùn)動(dòng)機(jī)器人
4 結(jié)束語
本人在所在專業(yè)的Java程序設(shè)計(jì)課程中采用AI-TANK進(jìn)行了基礎(chǔ)優(yōu)先法的試驗(yàn),學(xué)生很有興趣,相比以往教學(xué)效果更好。
參考文獻(xiàn):
[1]趙超鴻,周小剛.Java語言學(xué)習(xí)利器:AI-CODE坦克機(jī)器人[M].中國(guó)水利水電出版社,2007(04).
[2]http://www.tiobe.com/.
[3]王冬.高職C語言程序設(shè)計(jì)教學(xué)改革探索[J].計(jì)算機(jī)教育,2007(09):94-96.
[4]http://www.ai-code.org/.
作者簡(jiǎn)介:崔曉坤(1979-),男,湖北襄陽人,講師,碩士,研究方向:數(shù)學(xué)建模、數(shù)據(jù)庫(kù)、算法分析、程序設(shè)計(jì);周家宜,講師,碩士。
作者單位:廣東科學(xué)技術(shù)職業(yè)學(xué)院 廣州學(xué)院,廣州 510640
基金項(xiàng)目:廣東省高等職業(yè)教育信息技術(shù)類教學(xué)改革項(xiàng)目(項(xiàng)目編號(hào):XXJS-2013-1113),廣東科學(xué)技術(shù)職業(yè)學(xué)院教學(xué)改革項(xiàng)目(項(xiàng)目編號(hào):JG201230)。