閆妮 鐘柏昌 管海蓉
初中程序設(shè)計(jì)教材的開發(fā),要突破陳規(guī),適應(yīng)基礎(chǔ)教育對(duì)學(xué)生核心素養(yǎng)培養(yǎng)的要求,避免成為簡(jiǎn)化版的大學(xué)專業(yè)教材和說明書式的實(shí)訓(xùn)教材。根據(jù)河北省中小學(xué)信息技術(shù)電子教材(以下簡(jiǎn)稱“冀教版”)的編寫計(jì)劃,本小組承擔(dān)了冀教版初中程序設(shè)計(jì)分冊(cè)的開發(fā)工作。本冊(cè)教材安排在初中八年級(jí)上學(xué)期教學(xué),共計(jì)16課時(shí),其中第14~16課時(shí)為選修課時(shí)。教材所用編程語言為Visual Basic(以下簡(jiǎn)稱“VB”),版本為VB6.0。本教材的設(shè)計(jì)思路如下。
● 目標(biāo)定位:核心素養(yǎng)
所謂核心素養(yǎng),可以分解為三個(gè)層次:最底層的“雙基層”,以基礎(chǔ)知識(shí)和基本技能為核心;中間層的“問題解決層”,以解決問題過程中所獲得的基本方法和基本態(tài)度為核心;最上層的“學(xué)科思維層”,指在系統(tǒng)的學(xué)科學(xué)習(xí)中通過體驗(yàn)、認(rèn)識(shí)及內(nèi)化等過程逐步形成相對(duì)穩(wěn)定的思考問題、解決問題的思維方法和價(jià)值觀?;谏鲜稣J(rèn)識(shí),本冊(cè)教材編寫中,筆者認(rèn)為需要傳遞給學(xué)生的核心素養(yǎng)也可以從上述三個(gè)層次進(jìn)行描述。雙基層:掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法;理解語法錯(cuò)誤和邏輯錯(cuò)誤;掌握測(cè)試與調(diào)試方法;掌握軟件開發(fā)的一般流程等。問題解決層:能夠?qū)θ蝿?wù)進(jìn)行需求分析;能夠發(fā)現(xiàn)并解決程序中存在的問題;能夠利用結(jié)構(gòu)化程序設(shè)計(jì)方法開發(fā)較復(fù)雜的程序。學(xué)科思維層:體會(huì)計(jì)算機(jī)工作的原理,認(rèn)識(shí)馮·諾依曼體系;體驗(yàn)迭代思想;體會(huì)模塊化、結(jié)構(gòu)化對(duì)于軟件質(zhì)量和開發(fā)效率的重要性;能夠認(rèn)識(shí)到抽象與建模是人類認(rèn)識(shí)和改造世界的基本方法;理解測(cè)試與調(diào)試等工程思想。以核心素養(yǎng)的三層結(jié)構(gòu)為指引,筆者試圖將上述核心素養(yǎng)滲透至每個(gè)單元和每節(jié)課,如表1所示。
● 內(nèi)容選擇:知行并舉
根據(jù)上述核心素養(yǎng)的解析,不難發(fā)現(xiàn)本冊(cè)教材在課程目標(biāo)上既注重學(xué)習(xí)者對(duì)基礎(chǔ)知識(shí)的掌握,又關(guān)注其應(yīng)用能力的培養(yǎng),即堅(jiān)持“知行并舉”。那么體現(xiàn)在教材內(nèi)容上,就是要選擇那些能夠建立兩者聯(lián)系的內(nèi)容,實(shí)現(xiàn)對(duì)學(xué)生知識(shí)和能力的雙重提升。重要的是,知行并舉要體現(xiàn)在每一節(jié)課中,除了初始的一兩節(jié)課外,其他課時(shí)的內(nèi)容均應(yīng)依此設(shè)計(jì),表2列出了部分課時(shí)的做法。
● 內(nèi)容組織:聚類思想
知行并舉的課程內(nèi)容還需要通過合理的組織才能清晰地呈現(xiàn)給學(xué)習(xí)者。在本冊(cè)教材中,筆者以“聚類”思想為指導(dǎo)設(shè)計(jì)教材內(nèi)容的整體框架和章節(jié)結(jié)構(gòu)。“聚類”思想指依據(jù)某種線索組合一系列教學(xué)項(xiàng)目,形成具有內(nèi)在聯(lián)系、具有螺旋上升和發(fā)散結(jié)構(gòu)的教學(xué)單元,循序漸進(jìn)地展開課程。本教材在單元和課時(shí)兩個(gè)層面都體現(xiàn)了聚類思想。在單元層面上的聚類,如下頁表3所示。
根據(jù)已有研究,大致有三種聚類方式:以相似的功能聚類、以相似的目標(biāo)聚類、以相似的技術(shù)思想聚類。在課時(shí)層面上三種方式均有體現(xiàn)。
1.以相似的功能聚類
教師通過設(shè)計(jì)某些問題解決活動(dòng),將技術(shù)工具所具有的相似功能集合在一起,達(dá)到了功能操作和問題解決的融會(huì)貫通,如例1所示。
例1:倒計(jì)時(shí)功能。
任務(wù)一:使用For語句實(shí)現(xiàn)以秒為單位的倒計(jì)時(shí)功能。
任務(wù)二:比較Timer事件和For語句在實(shí)現(xiàn)倒計(jì)時(shí)功能上的異同。
案例解析:任務(wù)一的完成需要運(yùn)用For語句;任務(wù)二中的Timer事件已在分支結(jié)構(gòu)中學(xué)習(xí),但由于當(dāng)時(shí)活動(dòng)的任務(wù)較多,并沒有作詳細(xì)說明。所以任務(wù)二一方面是為了讓學(xué)生更好地理解Timer事件的本質(zhì);另一方面是說明實(shí)現(xiàn)倒計(jì)時(shí)功能的兩種方法的異同。
2.以相似的目標(biāo)聚類
使用不同的工具可以解決相同的問題,從而聚類不同的技術(shù)工具和使用方法,如例2所示。
例2:“選手排名”功能。
任務(wù)一:設(shè)置六位評(píng)委,單擊“計(jì)算”按鈕得到選手最終得分。
任務(wù)二:實(shí)現(xiàn)對(duì)多個(gè)選手進(jìn)行排名。
案例解析:任務(wù)一借助數(shù)組獲取多個(gè)評(píng)委的打分,進(jìn)而利用循環(huán)語句求得選手得分。任務(wù)二既要實(shí)現(xiàn)選手得分的統(tǒng)計(jì),又要進(jìn)行選手排序。所以需要增加兩個(gè)數(shù)組分別存放選手序號(hào)和選手得分,并使用冒泡排序算法,實(shí)現(xiàn)排序功能。兩個(gè)任務(wù)均用到數(shù)組和循環(huán),使學(xué)生在遞進(jìn)的任務(wù)中理解數(shù)組和循環(huán)的適用情境和意義。
3.以相同的技術(shù)思想聚類
有些技術(shù)工具、方法和程序功能背后的思想是一致的,依此聚類,可以達(dá)到舉一反三的效果,如例3所示。
例3:“數(shù)據(jù)傳遞”思想。
任務(wù)一:在例2任務(wù)一的基礎(chǔ)上,去掉選手的最高分和最低分,并顯示最高分和最低分。
任務(wù)二:利用冒泡排序算法實(shí)現(xiàn)選手排名。
案例解析:任務(wù)一中最高分和最低分的統(tǒng)計(jì)即求取選手得分的最大值和最小值,需要設(shè)置兩個(gè)變量來存放。任務(wù)二需要借助一個(gè)中間變量來完成排序。作為一個(gè)活動(dòng)相繼的兩個(gè)任務(wù),任務(wù)一和任務(wù)二以不同的算法呈現(xiàn)數(shù)據(jù)傳遞思想。
● 內(nèi)容呈現(xiàn):生活化和結(jié)構(gòu)化
1.生活化
生活化指從學(xué)生經(jīng)驗(yàn)出發(fā)漸進(jìn)引入新的概念,而不是生硬地呈現(xiàn)這些概念。首先,在教材內(nèi)容選擇上,要選擇能滿足學(xué)生學(xué)習(xí)或生活需要的主題;其次,在內(nèi)容呈現(xiàn)上要符合學(xué)生的認(rèn)知規(guī)律,在學(xué)生運(yùn)行程序的過程中引出問題及相關(guān)知識(shí)點(diǎn)。例如,在第5課圖片瀏覽器的設(shè)計(jì)中,涉及圖片位置的控制,需要引入坐標(biāo)系,對(duì)本冊(cè)教材的對(duì)象而言,此概念在數(shù)學(xué)科目中已經(jīng)學(xué)習(xí)過,但是兩者存在明顯差異,因此教材要求教師從數(shù)學(xué)中的坐標(biāo)系出發(fā)引出VB中的坐標(biāo)系,引導(dǎo)學(xué)生分析兩者的異同,以便學(xué)生建立兩者的聯(lián)系。又如,在第13課中,把數(shù)組解釋為“將無規(guī)則的數(shù)據(jù)‘規(guī)律化’的方法之一”,無論存儲(chǔ)內(nèi)容有無規(guī)律、如何變化,數(shù)組名稱始終是a(0)到a(i)。因此,在編寫程序時(shí),通過數(shù)組元素的名稱來引用這些數(shù)據(jù),就可以將無規(guī)律分布的數(shù)據(jù)變?yōu)橛幸?guī)律的存儲(chǔ)。這樣的描述便于學(xué)生理解數(shù)組的含義和使用的方法。
2.結(jié)構(gòu)化
結(jié)構(gòu)化指以某種穩(wěn)定的結(jié)構(gòu)來描述每節(jié)課的內(nèi)容。在本冊(cè)教材中,每課的基本結(jié)構(gòu)包括學(xué)習(xí)目標(biāo)、內(nèi)容結(jié)構(gòu)和正文三部分;正文部分除初識(shí)單元外,其余課時(shí)均以“程序設(shè)計(jì)的一般流程”呈現(xiàn)。每個(gè)部分的含義為:“學(xué)習(xí)目標(biāo)”呈現(xiàn)每節(jié)課學(xué)生應(yīng)具備的知識(shí)和能力以及掌握程度;“內(nèi)容結(jié)構(gòu)”以思維導(dǎo)圖的形式將每節(jié)課的內(nèi)容進(jìn)行梳理和整合;“需求分析”以學(xué)生日常生活和學(xué)習(xí)原型為主題,便于學(xué)生直觀地理解需求并激發(fā)學(xué)生的興趣;“界面設(shè)計(jì)”在初始的幾節(jié)課中會(huì)為學(xué)生提供搭建界面的步驟以及“對(duì)象事件分析表”,之后隨著知識(shí)和能力的提升,由學(xué)生自己完成“對(duì)象事件分析表”和界面的搭建;“算法分析和程序編寫”通過問題不斷分析得出實(shí)現(xiàn)程序功能的算法,積累程序設(shè)計(jì)的知識(shí)和技能;“調(diào)試與保存”在調(diào)試程序的過程中發(fā)現(xiàn)問題,完成程序的優(yōu)化。結(jié)構(gòu)化的呈現(xiàn)方式,一方面便于學(xué)生閱讀,減少認(rèn)知負(fù)擔(dān),并提供學(xué)習(xí)支持;另一方面有助于學(xué)生掌握和理解軟件開發(fā)這類任務(wù)的一般思路。
● 小結(jié)
本冊(cè)教材圍繞“核心素養(yǎng)”,以“知行并舉”為原則,運(yùn)用“聚類思想”組織內(nèi)容,使內(nèi)容的呈現(xiàn)生活化和結(jié)構(gòu)化,可以說是在課程改革背景下的一種全新嘗試。據(jù)此形成的教材大體具有如下特點(diǎn):一是系統(tǒng)性和基礎(chǔ)性。在總體上前后相繼形成清晰的知識(shí)體系,便于學(xué)生形成富有邏輯的認(rèn)知結(jié)構(gòu);注重VB程序設(shè)計(jì)的橫向梳理,即基礎(chǔ)性知識(shí)。二是理論性和實(shí)踐性。在內(nèi)容選擇上,堅(jiān)持知行并舉,在課程實(shí)施過程中通過具體的活動(dòng)設(shè)計(jì)緊密聯(lián)系在一起,避免了孤立的理論知識(shí)學(xué)習(xí)和技能訓(xùn)練。三是預(yù)設(shè)性和生成性。知識(shí)、能力體系作為預(yù)設(shè)知識(shí)靜態(tài)存在,而核心素養(yǎng)以隱性知識(shí)滲透其中。四是主體性和主導(dǎo)性。活動(dòng)以學(xué)生的日常生活和學(xué)習(xí)為原型進(jìn)行設(shè)計(jì),充分考慮學(xué)習(xí)者的需求和興趣;為避免陷入“碎片化”和“重復(fù)”的經(jīng)驗(yàn)積累,以聚類和結(jié)構(gòu)化的形式呈現(xiàn),為學(xué)生提供支架性的幫助。