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