楊樹秀
【摘 要】算法與程序設(shè)計(jì)是高中信息技術(shù)課程中的選修一模塊,本模塊是在必修模塊“信息加工與表達(dá)”基礎(chǔ)上的繼續(xù)深入。通過本模塊的學(xué)習(xí),使學(xué)生進(jìn)一步體驗(yàn)算法思想,了解算法和程序設(shè)計(jì)在解決問題過程中的地位和作用;能從簡單問題出發(fā),設(shè)計(jì)解決問題的算法,并能初步使用一種程序設(shè)計(jì)語言編制程序?qū)崿F(xiàn)算法,解決問題。
【關(guān)鍵詞】算法與程序設(shè)計(jì);Visual Basic;探索;整合;創(chuàng)新思維
“萬事開頭難”,程序設(shè)計(jì)尤其如此。首先,對于幾乎沒有相關(guān)知識(shí)背景的高一學(xué)生而言,編制一個(gè)完整的程序必須先了解程序的基本結(jié)構(gòu),掌握常量、變量和表達(dá)式等概念,學(xué)會(huì)輸入、輸出、賦值等語句的格式,這些內(nèi)容枯燥而難以記憶。其次,由于計(jì)算機(jī)在計(jì)算方面的獨(dú)特優(yōu)勢,使計(jì)算機(jī)解決問題的技術(shù)思維方式和學(xué)生一向習(xí)慣的數(shù)理邏輯思維方式有所不同,這也給學(xué)生的學(xué)習(xí)帶來了困擾。
針對上述問題,筆者做了如下嘗試:
一、大膽處理教材,整合課本知識(shí),激發(fā)學(xué)生的學(xué)習(xí)興趣
筆者所在地區(qū)信息技術(shù)學(xué)科使用粵教版教材,高中《算法與程序設(shè)計(jì)》選修模塊中選用Visual Basic語言描述算法。VB中的對象主要用于構(gòu)建界面,而具體程序功能的實(shí)現(xiàn)則要編寫代碼行,因此任何一個(gè)完整的應(yīng)用程序都不可能只用對象或只用語法。教材中第二章《程序設(shè)計(jì)基礎(chǔ)》講述VB語言基礎(chǔ)知識(shí)和程序的基本結(jié)構(gòu)及相關(guān)語句的格式。第三章《可視化編程》講述VB中對象的使用。筆者認(rèn)為在講授時(shí)不宜將兩者分開,要把VB面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,事件驅(qū)動(dòng)的編程機(jī)制貫穿于整個(gè)教學(xué)過程中。將這兩塊內(nèi)容有機(jī)結(jié)合起來展開教學(xué)。在教學(xué)過程中,筆者始終堅(jiān)持以學(xué)生已有的知識(shí)為基礎(chǔ),打破以課本知識(shí)的邏輯結(jié)構(gòu)為順序組織課堂教學(xué)的模式,先不講基本概念,改用從簡單的實(shí)例人手,通過讓學(xué)生觀看、模仿,在實(shí)際操作中去探究和領(lǐng)悟這些概念,并適時(shí)地加以歸納總結(jié),讓學(xué)生在輕松愉快的氣氛中接受新知識(shí)。比如,在講到循環(huán)結(jié)構(gòu)中DO——LOOP語句和FOR——NEXT語句的用法時(shí),我用DO——LOOP語句的4種形式和FOR——NEXT語句實(shí)現(xiàn)求解N!的過程,讓學(xué)生去觀察、領(lǐng)悟它們的異同。
二、重視實(shí)踐活動(dòng)環(huán)節(jié),通過實(shí)例教學(xué)法訓(xùn)練學(xué)生的創(chuàng)新思維,培養(yǎng)學(xué)生的創(chuàng)新能力
創(chuàng)新思維是指人們在提出問題和解決問題的過程中,能夠產(chǎn)生新成果的思維活動(dòng)。發(fā)散思維、類推思維、求異思維等都是行之有效的創(chuàng)新思維形式。
VB 是一門實(shí)踐性很強(qiáng)的課程,實(shí)例教學(xué)法是筆者在本模塊教學(xué)中的常用方法。以教學(xué)的內(nèi)容為依據(jù),選擇一些接近學(xué)生的生活,有趣的、有實(shí)際意義的小程序?yàn)閷?shí)例。通過對實(shí)例進(jìn)行理論分析,指導(dǎo)學(xué)生模仿,通過知識(shí)再現(xiàn)達(dá)到在實(shí)踐中領(lǐng)悟知識(shí),開拓設(shè)計(jì)程序的思路。在V B編程中,循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中學(xué)起來很費(fèi)勁但不可或缺,對于多重循環(huán)更不容易弄清其流程。這時(shí)可以在課堂上以現(xiàn)實(shí)中的問題為例子向?qū)W生提問,例如:時(shí)針每走過一格,分針將會(huì)走過多少格?秒針又會(huì)走過多少格?根據(jù)日常生活中的情況,可以形象地把分針、秒針和時(shí)針的運(yùn)動(dòng)打比方,這就是三重循環(huán)嵌套。
教師鼓勵(lì)學(xué)生針對實(shí)例獨(dú)立思考解決問題的算法,逐步引導(dǎo)他們改變以往單一的、邏輯的、線性的思維方式,多角度、多側(cè)面、多方位地考察問題,并在實(shí)踐活動(dòng)中,借助程序的編譯反饋信息檢驗(yàn)思維成果。通過設(shè)計(jì)程序解決問題是培養(yǎng)學(xué)生的創(chuàng)新思維的途徑之一。例如:在排序算法一節(jié)的教學(xué)過程中,就可以讓學(xué)生思考對一組數(shù)據(jù)進(jìn)行排序的多種方法(冒泡排序,選擇排序,快速排序等等)從而訓(xùn)練學(xué)生的創(chuàng)新思維,培養(yǎng)學(xué)生的創(chuàng)新能力。程序設(shè)計(jì)算法中的枚舉法、分治法、遞推法、遞歸、動(dòng)態(tài)規(guī)劃法等等,都是對學(xué)生創(chuàng)新思維的有效的訓(xùn)練方法。
三、采用小組互助的學(xué)習(xí)方式,培養(yǎng)團(tuán)隊(duì)精神,提高協(xié)作能力
將學(xué)生分為若干組,安排一些小組的任務(wù),讓多人在一起協(xié)商、協(xié)作來完成任務(wù),學(xué)會(huì)團(tuán)隊(duì)協(xié)作、集體決策,不僅適用于《算法與程序設(shè)計(jì)》的學(xué)習(xí),還適用于日常后生活與其他學(xué)科的學(xué)習(xí)。組織學(xué)生進(jìn)行研討,在思想的碰撞中往往會(huì)產(chǎn)生智慧的火花。
如:學(xué)習(xí)過程的定義與調(diào)用:
教師在上機(jī)課時(shí)采用小組互助的學(xué)習(xí)方式,讓組內(nèi)同學(xué)互相幫助,共同提高。
教師給出上課時(shí)的教學(xué)任務(wù):編寫一個(gè)判斷素?cái)?shù)的公有過程,調(diào)用素?cái)?shù)過程,實(shí)現(xiàn)①產(chǎn)生一個(gè)三位隨機(jī)素?cái)?shù)數(shù)組x(10);②驗(yàn)證一個(gè)大于2的偶數(shù)可以表示為兩個(gè)素?cái)?shù)之和;③找到四位正整數(shù)中的超級素?cái)?shù)。
這些任務(wù)數(shù)量較多而互相有關(guān)聯(lián),小組成員內(nèi)部分工,每兩位同學(xué)至少獨(dú)立完成其中一個(gè)小任務(wù),然后小組成員將小任務(wù)匯總,積極討論難點(diǎn),共同攻克,使得大家不斷提高能力與學(xué)習(xí)效率。
基本流程:
(1)教師下達(dá)任務(wù)后,學(xué)生完成組內(nèi)分工。
(2)學(xué)生6-8人一組,每位學(xué)生首先完成所自己所分配到的任務(wù),如組內(nèi)成員遇到難點(diǎn),要求組內(nèi)其他同學(xué)相互協(xié)作,提供必要的幫助,如果互相討論之后還是無法解決,則應(yīng)由組長請教老師,再由組長教給其他組員。
(3)各小組成員經(jīng)過任務(wù)匯總,完成整個(gè)教學(xué)任務(wù)。
(4)各小組推選代表展示成果。
(5)課后小組成員可以繼續(xù)深入討論學(xué)習(xí)。
采用小組互助式教學(xué),營造出自由寬松的氛圍,學(xué)生擁有高度的參與性、自主性,激發(fā)了學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)了學(xué)習(xí)積極性。小組成員互相學(xué)習(xí)、互相溝通、互相幫助、互相督促。讓學(xué)生在學(xué)習(xí)中學(xué)會(huì)了怎樣與人交往;學(xué)會(huì)正確認(rèn)識(shí)自我,尊重關(guān)心他人;學(xué)會(huì)取人之長,補(bǔ)己之短;學(xué)會(huì)寬容、忍讓、分享。能做到傾聽別人的正確見解,并予以采納;能了解別人的困難所在,并給予幫助;能發(fā)現(xiàn)別人的優(yōu)點(diǎn),并不吝贊賞。學(xué)生在學(xué)習(xí)過程中提高了人際交往能力。
高中程序設(shè)計(jì)教學(xué)的主要目標(biāo)是為了使同學(xué)們了解現(xiàn)代程序設(shè)計(jì)理論中的面向?qū)ο缶幊毯徒Y(jié)構(gòu)化程序設(shè)計(jì)等基本思想,培養(yǎng)現(xiàn)代程序設(shè)計(jì)過程中所需要的一些基本能力。教學(xué)有法,教無定法,只要教學(xué)得法。在保護(hù)同學(xué)學(xué)習(xí)積極性的前提下,按照同學(xué)們的認(rèn)知規(guī)律組織教學(xué),合理運(yùn)用多種教學(xué)方法,靈活地、創(chuàng)造性地掌握教學(xué)過程,激發(fā)學(xué)生的興趣,培養(yǎng)學(xué)生的邏輯推理思維能力和創(chuàng)造性思維能力。