韋麗姣
摘要:“算法與程序設(shè)計(jì)”是高中階段針對(duì)計(jì)算機(jī)應(yīng)用技術(shù)基礎(chǔ)而設(shè)置的一門選修課。學(xué)生的編程能力越來越受到重視。文章在闡明編程能力概念的基礎(chǔ)上,針對(duì)編程中存在的問題以及學(xué)生的特點(diǎn),提出一些培養(yǎng)編程能力的措施,包括提高學(xué)習(xí)興趣,奠定扎實(shí)的基礎(chǔ),結(jié)合建構(gòu)主義開展課堂教學(xué),算法思維與編程的結(jié)合,重視實(shí)踐交流。
關(guān)鍵詞:高中生;Visual Basic程序設(shè)計(jì);編程能力;建構(gòu)主義;算法思維
現(xiàn)行的《普通高中技術(shù)課程標(biāo)準(zhǔn)(實(shí)驗(yàn))》中規(guī)定:高中信息技術(shù)課程包括必修與選修兩個(gè)部分。在選修部分的五個(gè)模塊中“算法與程序設(shè)計(jì)”是作為計(jì)算機(jī)應(yīng)用的技術(shù)基礎(chǔ)設(shè)置的[1]?!八惴ㄅc程序設(shè)計(jì)”模塊旨在讓學(xué)生學(xué)會(huì)設(shè)計(jì)解決問題的算法,同時(shí)能用程序設(shè)計(jì)語言編寫程序?qū)崿F(xiàn)算法以解決問題。編程能力可以理解為:使用編程知識(shí),編寫程序解決實(shí)際問題活動(dòng)的個(gè)性心理特征。編程人員首先要使用自然語言描述問題及問題的求解目標(biāo),其次建立合適的數(shù)學(xué)模型,接著確定求解問題的算法及使用的數(shù)據(jù)結(jié)構(gòu),然后編寫代碼,最后調(diào)試程序,使問題得以解決。編程能力就體現(xiàn)在這幾個(gè)編程環(huán)節(jié)之中。如何培養(yǎng)學(xué)生的編程能力,對(duì)于開拓學(xué)生的創(chuàng)新思維、發(fā)散思維,提升實(shí)踐動(dòng)手操作能力,提高應(yīng)用計(jì)算機(jī)知識(shí)解決實(shí)際問題的能力,發(fā)揚(yáng)學(xué)生的個(gè)性至關(guān)重要。培養(yǎng)學(xué)生的編程能力可以從以下幾個(gè)方面著手。
一、提高學(xué)習(xí)興趣
程序設(shè)計(jì)本身比較枯燥,很多學(xué)生對(duì)這門課程興趣不濃,甚至有厭學(xué)的心理。因此,在學(xué)生一開始接觸程序設(shè)計(jì)課程時(shí),就要注重培養(yǎng)學(xué)生對(duì)課程的興趣。首先,可以向?qū)W生展示用VB語言編寫的具有實(shí)用性和趣味性的程序或應(yīng)用軟件,這樣容易引起學(xué)生的關(guān)注,激發(fā)學(xué)生的好奇心,渴望進(jìn)一步學(xué)習(xí)并掌握制作的技能。其次,通過實(shí)例使學(xué)生了解到要設(shè)計(jì)完成一個(gè)正確的程序大致的過程。然后,在更深一步學(xué)習(xí)程序設(shè)計(jì)的過程中,把諸如對(duì)象、事件、類等難以理解的概念滲透到具體的實(shí)例中。學(xué)生如果能順利解決問題,就會(huì)產(chǎn)生成就感,也就對(duì)下一步的學(xué)習(xí)更有信心,更有興趣;反之,他們也能從問題中發(fā)現(xiàn)自己欠缺的地方,激發(fā)他們彌補(bǔ)不足的想法。
二、奠定扎實(shí)的基礎(chǔ)
基礎(chǔ)知識(shí)是必不可少的。能力是以知識(shí)為基礎(chǔ),在活動(dòng)中知識(shí)是保證活動(dòng)獲得成功的必要條件[2]?;A(chǔ)知識(shí)包括VB語言的數(shù)據(jù)類型種類、變量、語句、三種基本結(jié)構(gòu)、控件等。對(duì)于數(shù)據(jù)類型,可以通過范例來演示不同種類的數(shù)據(jù)類型之間的區(qū)別,尤其是數(shù)據(jù)的表示范圍。對(duì)于語句,應(yīng)該清楚每一個(gè)語句的格式和作用,避免編程時(shí)出現(xiàn)語法或邏輯上的錯(cuò)誤。通過聽講、閱讀范例、上機(jī)練習(xí)等多途徑強(qiáng)化學(xué)生對(duì)語句的理解和掌握。另外,合理使用各種控件,避免濫用亂用。
三、結(jié)合建構(gòu)主義思想開展課堂教學(xué)
建構(gòu)主義強(qiáng)調(diào)學(xué)生在原有知識(shí)的基礎(chǔ)上,通過自身建構(gòu)新知識(shí)。傳統(tǒng)意義上,學(xué)習(xí)被認(rèn)為是一種模仿活動(dòng)。而建構(gòu)主義教學(xué)從另一個(gè)方面幫助學(xué)生將新信息進(jìn)行內(nèi)化、改造、轉(zhuǎn)換[3]。VB程序設(shè)計(jì)的特點(diǎn)是知識(shí)結(jié)構(gòu)化、實(shí)踐性強(qiáng),若能將建構(gòu)主義與VB課堂教學(xué)結(jié)合起來,教學(xué)效果會(huì)比較好。首先,教師要樹立建構(gòu)主義的教學(xué)觀。學(xué)生是學(xué)習(xí)的主體,教師是引導(dǎo)者。教師要接受和理解學(xué)生的獨(dú)立性和主動(dòng)性,讓學(xué)生在原有知識(shí)水平的基礎(chǔ)上,獨(dú)立地、主動(dòng)地去探究問題,進(jìn)而得出自己的結(jié)論,建構(gòu)出新的知識(shí),增強(qiáng)學(xué)習(xí)的信心。其次,改變傳統(tǒng)的教學(xué)設(shè)計(jì)。教師應(yīng)當(dāng)以建構(gòu)主義的教學(xué)觀指導(dǎo)教學(xué)設(shè)計(jì)。教師可對(duì)教材的內(nèi)容進(jìn)行部分的重組,比如難以理解的類、對(duì)象等的概念可以在學(xué)生有一定的程序設(shè)計(jì)知識(shí)的基礎(chǔ)上再介紹。巧妙設(shè)計(jì)問題,讓學(xué)生在解決問題的過程中掌握知識(shí)點(diǎn),同時(shí)問題有一定的延伸性,引導(dǎo)學(xué)生主動(dòng)去思考、探索問題的答案,建構(gòu)新的理解。最后,營(yíng)造建構(gòu)主義的學(xué)習(xí)環(huán)境。教師創(chuàng)設(shè)一定的情境,使學(xué)生能在情境中發(fā)揮自身主動(dòng)性,參與課堂活動(dòng),積極與教師和其他學(xué)生互動(dòng)。布置作業(yè)任務(wù)時(shí),要考慮學(xué)生現(xiàn)有的知識(shí)水平,任務(wù)應(yīng)當(dāng)能提升學(xué)生現(xiàn)有的水平,提高認(rèn)知的深度。
四、強(qiáng)化算法思維在編程中的應(yīng)用
根據(jù)美國(guó)著名的計(jì)算機(jī)專家克努特(D·E·Knuth)的定義:一個(gè)算法,就是一個(gè)有窮規(guī)則的集合,其中規(guī)則規(guī)定了一個(gè)解決某一特定類型的問題的運(yùn)算序列[4]。算法思維是一種以解決問題為目的的思維方式,它是一個(gè)人進(jìn)行思考、人腦活動(dòng)的過程,這個(gè)過程要發(fā)現(xiàn)問題、分析問題、分解問題、確定解決問題的具體步驟,并用有限的操作來表示。
算法思維是在不斷設(shè)計(jì)算法與編寫程序的過程中逐步形成的。首先,重視算法設(shè)計(jì)。很多學(xué)生不習(xí)慣設(shè)計(jì)算法,直接上機(jī)編寫程序,往往導(dǎo)致編寫的程序邏輯混亂、出現(xiàn)眾多語法錯(cuò)誤。在上機(jī)編寫代碼之前,應(yīng)該分析理解問題之后,進(jìn)行算法設(shè)計(jì),用流程圖或偽代碼等描述算法,確定解決問題的具體步驟。這樣方便快速找出錯(cuò)誤的地方并糾正。其次,重視編寫程序,養(yǎng)成良好的編程風(fēng)格。上機(jī)編寫程序有助于學(xué)生體驗(yàn)計(jì)算機(jī)執(zhí)行程序的過程,這也是學(xué)生體驗(yàn)算法思維的一種途徑。最后,重視代碼的調(diào)試。單步執(zhí)行程序、修改程序、糾正程序中的錯(cuò)誤,有助于學(xué)生進(jìn)一步理解代碼的執(zhí)行過程和體會(huì)算法的可行性、正確性。
五、重視實(shí)踐交流
實(shí)踐出真知。教師在引導(dǎo)學(xué)生學(xué)習(xí)編程時(shí),應(yīng)重視讓學(xué)生上機(jī)編程練習(xí),合理安排課堂時(shí)間。學(xué)生應(yīng)當(dāng)重視上機(jī)編寫程序,只有將所設(shè)計(jì)的算法付諸實(shí)踐,才能驗(yàn)證算法的正確性,體會(huì)自身編程中的不足。在編寫程序時(shí),運(yùn)用發(fā)散的思維,發(fā)揮創(chuàng)造力,盡可能設(shè)計(jì)出幾種不同的方法,找出最合理的方案。每個(gè)人思考問題的角度不可能一模一樣,因此學(xué)生之間要多交流,吸收別人的精華,拓寬自身的知識(shí)面。
高中生在學(xué)習(xí)編程的過程中還存在許多問題,這就需要學(xué)校、教師、學(xué)生一起努力去解決問題。教育者應(yīng)當(dāng)理解程序設(shè)計(jì)課程的特點(diǎn),掌握學(xué)生的學(xué)習(xí)特點(diǎn),營(yíng)造良好的學(xué)習(xí)環(huán)境,設(shè)計(jì)出適合學(xué)生學(xué)習(xí)的教學(xué)模式。同時(shí),編程知識(shí)內(nèi)化成為編程能力離不開學(xué)生自身的努力。
【參考文獻(xiàn)】
[1]中華人民共和國(guó)教育部.普通高中技術(shù)課程標(biāo)準(zhǔn)(實(shí)驗(yàn))[M].北京:人民教育出版社,2003
[2]文韜.淺談?dòng)?jì)算機(jī)編程能力的構(gòu)思[J].新課程學(xué)習(xí),2009(04)
[3]Jacquelin Grennon Brooks,Martin G·Brooks.建構(gòu)主義課堂教學(xué)案例[M].范瑋譯.北京:中國(guó)輕工業(yè)出版社,2005
[4]王榮良.信息技術(shù)課程中算法學(xué)習(xí)的價(jià)值探索[J].中國(guó)電化教育,2008(08)
作者簡(jiǎn)介:陜西師范大學(xué)計(jì)算機(jī)科學(xué)學(xué)院2012級(jí)碩士研究生。專業(yè):學(xué)科教學(xué)(現(xiàn)代教育技術(shù))。研究方向:信息技術(shù)教育運(yùn)用。