丁建兵
程序設(shè)計(jì)是一門比較枯燥難學(xué)的課程,在職業(yè)中學(xué)開設(shè)程序設(shè)計(jì)課程則更為困難。首先領(lǐng)導(dǎo)、老師和學(xué)生存在一些錯(cuò)誤的思想認(rèn)識(shí),認(rèn)為職中學(xué)生不能學(xué)習(xí)程序設(shè)計(jì),即便學(xué)了,也學(xué)不好。其次程序設(shè)計(jì)語言又有其自身的特殊性,要求學(xué)習(xí)者具有一定的數(shù)學(xué)基礎(chǔ)和較強(qiáng)的邏輯思維能力。第三、認(rèn)為計(jì)算機(jī)是高科技設(shè)備,其功能強(qiáng)大,具有高不可測(cè),難學(xué)的畏懼心理。筆者從事多年的中學(xué)程序設(shè)計(jì)教學(xué)實(shí)踐,在教學(xué)過程中鼓勵(lì)學(xué)生突破種種障礙,積極參加到程序設(shè)計(jì)行業(yè)中來,為進(jìn)一步進(jìn)入高校深造,參加企業(yè)實(shí)習(xí)鍛煉,為中國的軟件產(chǎn)業(yè)作出應(yīng)有的貢獻(xiàn)。
一、突破思想誤區(qū) 樹立學(xué)習(xí)信心
思想誤區(qū)1、學(xué)生基礎(chǔ)差,程序設(shè)計(jì)需要較好的文化基礎(chǔ)。
職中生源來自于普高落榜生,他們比較玩皮,態(tài)度不端正,主動(dòng)性不夠,逐漸形成不良的學(xué)習(xí)習(xí)慣,學(xué)生成績明顯滑坡,文化基礎(chǔ)較薄弱。
程序設(shè)計(jì)主要側(cè)重在邏輯思維,解題方法和技巧上,職中生的文化基礎(chǔ)欠缺,但這些學(xué)生并不一定就沒有靈活的思維以及巧妙的解題方法。這些中考落榜生,由于初中對(duì)文化課程厭倦,對(duì)新事物的好奇,再加上哥兒們關(guān)系等,在學(xué)習(xí)上發(fā)生的轉(zhuǎn)向,而導(dǎo)致學(xué)習(xí)成績下降。其中也存在不少,思維靈活,動(dòng)手能力較強(qiáng)的學(xué)生,再加上對(duì)計(jì)算機(jī)的好奇,(當(dāng)然起初可能是對(duì)游戲的好奇),通過適當(dāng)?shù)囊龑?dǎo),他們能成為計(jì)算機(jī)程序設(shè)計(jì)的學(xué)習(xí)者。
思想誤區(qū)1:英語基礎(chǔ)差,程序設(shè)計(jì)要有較好的英語基礎(chǔ)
程序是由字母、單詞、數(shù)字及數(shù)學(xué)表達(dá)式組成,學(xué)程序設(shè)計(jì)要有較好的英語基礎(chǔ)。
打開一段程序,若注釋也用英文,則整個(gè)程序就是由英文單詞和代碼數(shù)值組成,對(duì)于母語是“漢語”的我們來說,確實(shí)是一種困難,有一定的英語基礎(chǔ),學(xué)計(jì)算機(jī)程序設(shè)計(jì)固然方便快捷。
但學(xué)計(jì)算機(jī)程序設(shè)計(jì),其實(shí)只要有一些基本的英語基礎(chǔ)即可。以下幾點(diǎn)可以說明:
一、程序設(shè)計(jì)中所用到的語言詞匯相對(duì)固定,無語法問題,在教學(xué)時(shí)可以先將相關(guān)的單詞,花幾節(jié)課專門介紹,讓同學(xué)們進(jìn)行識(shí)記。
二、幾乎所有的編程環(huán)境均有相應(yīng)的漢化版本,并且漢化效果較好。
三、程序設(shè)計(jì)相關(guān)書籍,漢化幾乎同步。隨著中國計(jì)算機(jī)書籍市場的不斷擴(kuò)大,幾乎所有著名的計(jì)算機(jī)書都有了中譯本,而且同步的速度也在不斷加快。所以,一般的編程應(yīng)用可以不用學(xué)英語。如果把大量時(shí)間花費(fèi)在拗口難懂的英語學(xué)習(xí)上,還不如踏踏實(shí)實(shí)的編幾個(gè)程序。
思想誤區(qū)3:計(jì)算機(jī)是高科技,難學(xué)計(jì)算機(jī)用在國防、科技、航天、科研、自動(dòng)控制等各大領(lǐng)域的各行各業(yè),其功能強(qiáng)大,高不可測(cè)。
計(jì)算機(jī)功能強(qiáng)大,應(yīng)用于各行各業(yè),可以快速運(yùn)算,幾秒種內(nèi)可以快速搜索到所需資料,給不少同學(xué)帶來了神秘感。其實(shí)計(jì)算機(jī)是一個(gè)最笨最笨的機(jī)器,他只認(rèn)識(shí)0和1,其它再也認(rèn)不識(shí)了。他并不神秘,人不但制造了他,而且能駕馭他。我們只是充分利用他的速度快,存儲(chǔ)容量大,檢索能力強(qiáng)這些特點(diǎn)。再強(qiáng)大的功能都是程序員一行行的代碼編成的。再復(fù)雜的步驟都是由計(jì)算機(jī)一個(gè)一個(gè)的,一步一步的去做的。只要揭開計(jì)算機(jī)的神秘面紗,必能樹立學(xué)生學(xué)習(xí)程序設(shè)計(jì)的信心。
思想誤區(qū)3:職中生學(xué)程序設(shè)計(jì),學(xué)了也不精通過兩三年的職中學(xué)習(xí),就能學(xué)精程序設(shè)計(jì),這是定位太高。
實(shí)際軟件開發(fā)行業(yè),也不是一個(gè)人開發(fā)整個(gè)程序,而是分工合作,每個(gè)人只是編寫其中的一部分乃至一小部分。我們可以培養(yǎng)程序開發(fā)的代碼編寫者。
學(xué)精程序設(shè)計(jì),不是兩三年就能學(xué)好的。學(xué)精程序,是在不斷編寫,不斷總結(jié),不斷借鑒的過程中提高的,最后能真正直接走向計(jì)算機(jī)軟件行業(yè)的,確實(shí)不多,但打下了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。
二、職中學(xué)生學(xué)習(xí)程序設(shè)計(jì)的優(yōu)勢(shì)
優(yōu)勢(shì)1:面向?qū)ο蟮?、可視化的、智能化的編程語言環(huán)境,使編程不再是極少數(shù)人的專利。
現(xiàn)在的程序設(shè)計(jì)編程環(huán)境都是面向?qū)ο蟮摹⒖梢暬?、智能化的提示功能、不同色彩?biāo)志正確和錯(cuò)誤,利于初學(xué)者上手,降低初學(xué)者學(xué)習(xí)的門檻,使程序設(shè)計(jì)不再是極少數(shù)人的專利。只要“拉一拉,選一選”程序就完成一半了,所需編寫的代碼并不一定很多,就可以建立一個(gè)有實(shí)用價(jià)值的小程序,可以通過小而實(shí)用的程序,激發(fā)學(xué)生的學(xué)習(xí)興趣,樹立學(xué)生學(xué)習(xí)程序設(shè)計(jì)的信心。有些程序設(shè)計(jì)語言,讓你感覺程序是畫出來的,設(shè)計(jì)一個(gè)程序就像畫畫一樣簡單。并且各種程序設(shè)計(jì)語言都提供了一些控件和組件,我們可以直接拿來使用,只要了解與該組件的接口就行,無需了解控件內(nèi)部是如何實(shí)現(xiàn)的,讓我們感覺設(shè)計(jì)程序就像在玩搭積木一樣。當(dāng)然在這簡單步驟之后,應(yīng)該要找機(jī)會(huì)精進(jìn)自己,弄懂內(nèi)部的機(jī)制,不然會(huì)有一種不踏實(shí)的感覺。
優(yōu)勢(shì)2:學(xué)生有濃厚的興趣,而興趣是最好的老師,教師注重培養(yǎng)學(xué)生的學(xué)習(xí)興趣。
愛因斯坦說過:興趣是最好的老師。每個(gè)學(xué)生都有自己獨(dú)特的個(gè)性、興趣。尊重他們的個(gè)性,挖掘他們的潛能,激發(fā)他們的興趣,使興趣發(fā)展為能力,是我們教育工作者的使命。
職中生選計(jì)算機(jī)專業(yè),有一部分學(xué)生是由于對(duì)計(jì)算機(jī)感興趣或?qū)τ?jì)算機(jī)游戲興趣,玩游戲是許多人都喜歡的,如能編一個(gè)小游戲自己玩,就會(huì)更有趣了,再逐步增加完善其功能,學(xué)生不但會(huì)感興趣,還會(huì)反過來研究程序,自己深入研究相關(guān)內(nèi)容。在教學(xué)過程中,注重激發(fā)了學(xué)生的學(xué)習(xí)興趣。如游戲化的二分查找編程思想教學(xué),幸運(yùn)52的猜數(shù)游戲,俄羅斯方塊程序、c/s的聊天程序、b/s的五子棋游戲、屏幕控制作圖以及音樂程序及動(dòng)畫程序的編寫方法,激發(fā)學(xué)生對(duì)編程語言的興趣,提高學(xué)生程序設(shè)計(jì)的應(yīng)用水平。教師先展示游戲運(yùn)行的結(jié)果,學(xué)生就有躍躍欲試的想法、此時(shí),老師將程序的部分代碼打印發(fā)給學(xué)生,要求學(xué)生先查書研究,弄清各語句的功能,并在機(jī)器上調(diào)試。
當(dāng)把他們大腦中的興奮激活時(shí),往往會(huì)對(duì)所學(xué)的知識(shí)產(chǎn)生濃厚的興趣,從而主動(dòng)學(xué)習(xí)程序設(shè)計(jì)語言,并親自在編程中驗(yàn)證問題,還會(huì)千方百計(jì)地想辦法查尋資料,擴(kuò)大知識(shí)面。學(xué)程序設(shè)計(jì)不可以只看書,將書上的范例程序執(zhí)行一次,就認(rèn)為自己已經(jīng)學(xué)會(huì)了。應(yīng)該動(dòng)手寫一些程序,且由小到大,由簡單到復(fù)雜。找一些有趣的題目(比方說:計(jì)算器,踩地雷,小畫家等),可以提升編寫程序的動(dòng)力。在教學(xué)過程中有意識(shí)地使他們獲得更多的成功感,從而增強(qiáng)他們學(xué)習(xí)的信心,提高學(xué)習(xí)興趣。
優(yōu)勢(shì)3:職高沒有普高那樣的升學(xué)壓力,現(xiàn)階段實(shí)習(xí)條件所有改觀,有充足的實(shí)踐時(shí)間,多練、多實(shí)踐是學(xué)好程序設(shè)計(jì)的關(guān)鍵。
光靠興趣肯定是不行的,只有在實(shí)踐中才能有更好的收獲!上機(jī)實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。程序設(shè)計(jì)這類課程重視實(shí)踐、強(qiáng)調(diào)理解,需要大量的實(shí)驗(yàn)和習(xí)題練習(xí)來掌握知識(shí)、鞏固內(nèi)容。如果缺少上機(jī)實(shí)踐,就會(huì)缺少編程和分析程序的經(jīng)驗(yàn)。
在實(shí)踐課上老師要充分設(shè)計(jì)好實(shí)踐課題或項(xiàng)目,既要讓學(xué)生有所練,又要有所學(xué),還要設(shè)置疑點(diǎn),設(shè)置障礙。從而掌握程序設(shè)計(jì)的方法和程序調(diào)試的技巧。不能將實(shí)踐課,變成檢驗(yàn)老師或書本上所設(shè)計(jì)程序范例的對(duì)錯(cuò)的判斷工具。
程序設(shè)計(jì)教學(xué)的關(guān)鍵是引導(dǎo)學(xué)生通過嘗試性操作,培養(yǎng)其程序設(shè)計(jì)能力和水平,從而培養(yǎng)學(xué)生的思維能力、分析能力、探究能力以及創(chuàng)新能力。要讓學(xué)生親身體驗(yàn)程序設(shè)計(jì)的“魅力”,編制一些簡單程序,掌握一些簡單程序設(shè)計(jì)技巧,然后逐漸加深難度,提高操作技能和編程技巧。做好理論課與實(shí)踐課的銜接關(guān)系,二者同步進(jìn)行。課前教師做好充分的準(zhǔn)備,明確學(xué)生上機(jī)實(shí)踐的目的和任務(wù)。根據(jù)程序設(shè)計(jì)學(xué)習(xí)過程中實(shí)踐性強(qiáng)的特點(diǎn),做到練中有學(xué)、學(xué)中有練,避免滿堂灌的教學(xué)方式,使學(xué)生的程序設(shè)計(jì)能力在上機(jī)調(diào)試操作中得到提高。當(dāng)學(xué)生在程序調(diào)試運(yùn)行過程中遇到問題時(shí),教師不要馬上指出其錯(cuò)誤,而要讓學(xué)生觀察研究程序的每條語句乃至標(biāo)點(diǎn)符號(hào),再參照出錯(cuò)信息的意思找出錯(cuò)誤原因后進(jìn)行修改,直到正確運(yùn)行為止,這有利于學(xué)生通過人機(jī)對(duì)話、思索判斷的思維活動(dòng)來培養(yǎng)自學(xué)能力。同時(shí)在課堂上大膽啟用一些小計(jì)算機(jī)能手,在他們正確完成上機(jī)練習(xí)之后,用剩余時(shí)間擔(dān)任小輔導(dǎo)員,協(xié)助上機(jī)指導(dǎo),這樣可以大大地提高學(xué)生的編程能力和學(xué)習(xí)興趣。
優(yōu)勢(shì)3:internet龐大的資源庫,豐富的資料,易學(xué)的視頻教學(xué)資源
Internet是一個(gè)龐大的資源庫,除了課堂的教學(xué)和輔導(dǎo)資料外,我們可以在網(wǎng)上搜索到更多的學(xué)習(xí)資料(文字的、視頻的、實(shí)例的),從而利用課余時(shí)間,來自身學(xué)習(xí),提高自己的編程水平。當(dāng)遇到問題或困難時(shí),可以通過網(wǎng)絡(luò)搜索,借鑒前輩們解決問題的方法,可以分享學(xué)習(xí)經(jīng)驗(yàn)、成果。可以于編程愛好者們一起在論壇中開展激烈的討論。不少的老師將課程教學(xué)和上機(jī)操作過程都錄成視頻,學(xué)生可以在網(wǎng)上自由下載,按自己的計(jì)劃、進(jìn)度推進(jìn)自己的學(xué)習(xí)進(jìn)程。