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