信息專業(yè)學生開發(fā)者思維訓練研究

時間:2022-12-20 09:25:05

導語:信息專業(yè)學生開發(fā)者思維訓練研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

信息專業(yè)學生開發(fā)者思維訓練研究

摘要:該文介紹了以基于Excel的信息篩選導出的VBA程序設(shè)計項目為基礎(chǔ)展開針對初學者的編程實踐教學的過程。通過對教學任務(wù)的科學分解和演示訓練向程序設(shè)計初學者展示了一個項目開發(fā)的思路和流程,對初學者進一步學習和訓練具有積極作用。本文采用的項目開發(fā)者的探索式學習方式區(qū)別于傳統(tǒng)課堂學習場景下的系統(tǒng)性學習方式,對新工科教育的落地、對學生實踐應(yīng)用開發(fā)能力和創(chuàng)新能力培養(yǎng)有一定的啟發(fā)意義。

關(guān)鍵詞:Excel;VBA編程;零基礎(chǔ)編程;探索式學習;開發(fā)者思維

隨著計算機信息處理相關(guān)專業(yè)的發(fā)展,應(yīng)用軟件開發(fā)所需的綜合技能逐漸增強,所要準備的技術(shù)儲備也愈加豐富。對于信息工程相關(guān)專業(yè)的高校學生而言,應(yīng)用軟件開發(fā)是非常重要的技能,然而因為各種原因?qū)е聦W生對軟件開發(fā)具有畏懼心理,不少學生遲遲不愿動手去進行相關(guān)的實踐訓練。也有許多學生花費了大量時間去學習、實踐,還是進展緩慢,無法得到較滿意的作品,從而漸漸失去信心和興趣,轉(zhuǎn)向?qū)W⒂趥鹘y(tǒng)的課堂知識學習,只求課程高分,回避主流的應(yīng)用技術(shù)實踐開發(fā)活動。沒有主流應(yīng)用技術(shù)的土壤滋潤,新工科教育要求的“能力”和“創(chuàng)新”方面必然有所欠缺,學校和教育工作者又要在其他方面盡可能提供支持,花費更大的代價[1]。作者在教學一線進行了大量的座談和調(diào)研,發(fā)現(xiàn)學生經(jīng)常習慣性地帶入課課堂教學普遍采用的知識系統(tǒng)學習思維模式,而信息專業(yè)實踐應(yīng)用方面的開發(fā)工作往往需要根據(jù)目標功能就某方面的知識進行針對性深入學習或者探索式學習。這兩種學習指導思想本身是根據(jù)目標不同而產(chǎn)生,只是在大多數(shù)情況下并不能被清晰區(qū)分,從而導致學生們在應(yīng)用能力學習方面付出代價較高。這樣的情況下,學生對開發(fā)實踐可能會產(chǎn)生畏懼心理,還有些學生有了課堂學習無用的想法。甚至有些學生為此不愿去工作而選擇進一步考研,希望在研究生階段能夠更加系統(tǒng)地學習相關(guān)理論和實踐技能,然后再就業(yè)從事相關(guān)工作。為了讓學生體會到程序設(shè)計的開發(fā)者思維與系統(tǒng)學習思維的不同,盡可能讓他們打消對計算機軟件開發(fā)的畏懼感,并體會軟件開發(fā)工作的成就感和樂趣[2]。本文通過對項目式教學的研究,結(jié)合多所高校開設(shè)的公共計算機應(yīng)用課程——Visual⁃Basic6.0程序設(shè)計,針對剛剛?cè)胄5母咝W生進行了一次項目教學的嘗試[3]。項目以對Office的VisualBasicforApplications(本文簡稱“VBA”)開發(fā)為技術(shù)基礎(chǔ),時間大約2學時,功能目標是要在Ex⁃cel工作簿基礎(chǔ)上實現(xiàn)一個數(shù)據(jù)篩選處理功能,根據(jù)已有的數(shù)據(jù)篩選形成一個數(shù)據(jù)集。

1項目的用戶需求分析

該項目教學的訓練內(nèi)容設(shè)定是為某部門信息管理員提供一個基于Excel的信息篩選導出的應(yīng)用系統(tǒng),可以幫助我們解決需要頻繁重復填寫、提交各種格式個人信息的問題。教學訓練過程中采用思維導圖逐層展開的方式作為輔助,再結(jié)合實際環(huán)境下的演示操作,可以讓訓練內(nèi)容更加有條理、便于學生理解。為了讓學生課后也能回顧和跟練,本教學團隊還對整個教學過程進行屏幕錄像,把視頻文件分享給了學生。教學訓練的開始是先提出平時工作、學習中常見的重復填表問題,請學生參與討論,分別列舉出可行的解決辦法。然后根據(jù)學生們的方案逐個分析其優(yōu)缺點、技術(shù)路線和所需要的技術(shù)儲備,最后提出較小代價開發(fā)和便于用戶使用的理念并引出VBA編程的方案。本項目所設(shè)定的問題場景下,面對的用戶就是基層信息管理員。用戶擁有自己部門各成員的基本信息,這些數(shù)據(jù)集中、規(guī)范地保存在一個Excel文件里。因此,訓練的開始就要新建一個Excel文件,按照預(yù)設(shè)場景中的格式添加虛擬的數(shù)據(jù)信息以便進一步處理。

2規(guī)劃解決方案

從原始數(shù)據(jù)生成最終的結(jié)果,需要對數(shù)據(jù)進行重新組織,那就必須建立一個原始數(shù)據(jù)和結(jié)果數(shù)據(jù)的對照聯(lián)系,用于表示兩種數(shù)據(jù)形式的關(guān)系。比較簡單的一種處理方式,就是直接在當前Excel工作簿里新建2個工作表,其中一個用于保存最終的結(jié)果,另一個用于存放臨時的對照表,用于設(shè)定要導出的數(shù)據(jù)項。根據(jù)其特點,這兩個工作表可以分別命名為“結(jié)果表”“處理表”。作為原始數(shù)據(jù)表和結(jié)果表的橋梁,處理表里面應(yīng)該同時能夠體現(xiàn)原始數(shù)據(jù)表和結(jié)果表的字段信息,并讓用戶能靈活地選擇、配置。同時,原始數(shù)據(jù)表的字段數(shù)量應(yīng)該是多于結(jié)果表的,那么,處理表里也無須直接列出結(jié)果表的字段名。因此,處理表的結(jié)構(gòu)可以設(shè)置為圖3所示的結(jié)構(gòu)。其中,第1行、第2行來自原始數(shù)據(jù)表,第1行主要用于標記列的編號,引用數(shù)據(jù)列的時候更加直觀。第3行用于表示是否選中原始數(shù)據(jù)表的當前字段。如果用戶最終所需要的結(jié)果字段名和原始數(shù)據(jù)表的字段名不完全一致,只要內(nèi)容一致,可以在結(jié)果表里面進一步人工調(diào)整修改。這樣的設(shè)計可以減輕編程任務(wù)、簡化處理表的結(jié)構(gòu),完成最終目標的效率反而會增加,代碼的適應(yīng)性也會更好。需要注意的是,現(xiàn)在常用的Excel版本下,普通文檔默認保存的擴展名為xlsx,但是針對編寫了VBA宏代碼的文檔應(yīng)保存為xlsm格式。這是Office出于對文檔信息安全的設(shè)計,可以在一定程度上防止未知代碼的惡意操作。

2.1本項目的目標

本項目的目標大體上可以分為技術(shù)學習和功能實現(xiàn)兩個方面。作為針對零基礎(chǔ)學生的教學,技術(shù)學習應(yīng)該針對項目功能所需要的技術(shù)點展開,在介紹完一個技術(shù)知識,應(yīng)該盡可能快地把它應(yīng)用于項目功能的實現(xiàn)。由于技術(shù)知識的學習主要圍繞項目功能實現(xiàn)所需要的范圍進行,整個學習過程就有非常強的以目標驅(qū)動進行探索式學習的特點。

2.2從大目標出發(fā)規(guī)劃小目標

基于軟件開發(fā)的自頂向下、逐步求精原則[4],要把做的工作按功能和相互關(guān)系劃分為一個個具體的小目標。小目標的劃定不僅有利于分步驟實現(xiàn)對應(yīng)的具體功能,還可以幫助學生在項目管理的視角下分析項目、開闊思路。為了減少開發(fā)難度,可以先手工把原始數(shù)據(jù)表里的前兩行復制到處理表對應(yīng)的位置,做好一定的數(shù)據(jù)的準備。那么第一個目標就是根據(jù)處理表里第3行的值判斷用戶選中了哪些數(shù)據(jù)列(字段)。目標二:假設(shè)上述功能已經(jīng)實現(xiàn),就要根據(jù)所選中的字段,從原始數(shù)據(jù)表里復制數(shù)據(jù)。如果把數(shù)據(jù)直接放在結(jié)果表里,還涉及存放順序、空白列的問題,就會有些復雜。可以先把這些數(shù)據(jù)放在處理表第4行及以下的部分,可以避免問題的復雜度,還便于對照參考是否復制了正確的數(shù)據(jù)。目標三:在數(shù)據(jù)已經(jīng)正確存放到處理表對應(yīng)字段下方的情況下,可以接著把數(shù)據(jù)再從處理表復制到結(jié)果表。最后就可以在已經(jīng)完成的工作基礎(chǔ)上,改進、增添功能,讓用戶使用起來更加方便。

3項目的實施

這部分的策略主要是圍繞目標問題進行分析,通過網(wǎng)絡(luò)搜索對應(yīng)的關(guān)鍵詞逐步學習、逐層深入。在演示和功能實施的過程中,出于訓練的需要,盡可能特意“產(chǎn)生”一些常見錯誤。通過這些小錯誤的發(fā)現(xiàn)、定位、分析、解決,呈現(xiàn)開發(fā)者“調(diào)試”代碼的過程,可以讓學生理解并掌握一定的程序調(diào)試能力。此外還要盡可能對代碼編寫注釋,這個習慣在言傳身教下對學生的影響也是非常直接的。

3.1目標一的實現(xiàn)——判斷用戶選中了哪些數(shù)據(jù)列

考慮到零基礎(chǔ)的情況,這部分的功能實現(xiàn)還有必要再分為更細的步驟:先讀取處理表第3行第1列單元格的數(shù)據(jù)并輸出,然后判斷它是否被選中,再逐個讀取第3行所有的單元格數(shù)據(jù)并判斷其選中狀態(tài)。通過搜索“ExcelVBA編程”“ExcelVBA讀寫單元格”、類似的關(guān)鍵詞,根據(jù)結(jié)果頁里的提示進行操作,很快就可以了解到對Excel展開VBA編程的方法、對某個工作表單元格數(shù)據(jù)的讀取和寫入的方法。讀取到數(shù)據(jù)后,為了便于查看,還要知道如何查看得到的數(shù)據(jù),繼續(xù)搜索“ExcelVBA輸出數(shù)據(jù)”即可了解到常用的Msgbox對話框輸出功能。獲取單元格數(shù)據(jù)有多個方法,這里可以根據(jù)搜索結(jié)果集的情況,演示即可。方法一:MsgboxRange("A2").value'通過對話框輸出讀取到的單元格“A2”的內(nèi)容方法二:MsgboxWorksheets(1).Cells(2,3)'讀取到從左到右,序號為1的工作表,第2行、第3列的單元格VBA編程的基本語法遵從VisualBasic程序設(shè)計語言(以下簡稱VB語言)的規(guī)則,通過解釋代碼含義根據(jù)項目功能所需對VB語言進行簡單梳理并列舉相對簡單的例子演示其基本功能和特點??梢院唵谓榻B:變量、數(shù)據(jù)類型、賦值語句、注釋、數(shù)據(jù)輸出、if語句、for語句、函數(shù)及其基本應(yīng)用。從程序設(shè)計循環(huán)結(jié)構(gòu)的特點結(jié)合讀寫單元格數(shù)據(jù)的兩種方法,可以讓學生體會到上述方法二比較適合接下來的編程應(yīng)用。3.1.1讀取“處理表”的選中標記數(shù)據(jù)可以先實現(xiàn)讀取一個單元格的數(shù)據(jù),同時輸出進行觀察,確保讀取的數(shù)據(jù)和預(yù)期一致。Subtest()MsgboxWorksheets(2).Cells(3,1)EndSub再連續(xù)讀取多個單元格,為了讓初學者更容易看明白,可以只考慮前5列的數(shù)據(jù)。這樣簡化問題的策略也是開發(fā)者常采用的方法,可以避免復雜問題帶來的錯誤和思維混亂。Fori=1To5MsgboxWorksheets(2).Cells(3,i)Nexti說明:根據(jù)VBA編程的特點,這部分代碼應(yīng)該放在“Subtest()”和“EndSub”之間,本文后續(xù)描述將不再特別說明。3.1.2判斷讀到的數(shù)據(jù)是否符合“選中”的條件根據(jù)實際情況,可以先設(shè)定假如讀到的數(shù)值是1,就認為用戶選定了這一列。先手工把第3行的第1列單元格的內(nèi)容設(shè)置為1,然后編寫代碼:MsgboxWorkSheets(3).Cells(3,1)=1觀察運行結(jié)果,如果顯示結(jié)果為“true”即可判定這部分功能邏輯上成立,可以進一步完善代碼功能。再引入if語句講解和演示條件判斷的應(yīng)用邏輯關(guān)系:Fori=1To5'先考慮前5列數(shù)據(jù)的判斷IfWorksheets(2).Cells(3,i)=1ThenMsgbox"第"&3&"行"i&"列被選中"EndifNexti

3.2目標二的實現(xiàn)——從原始數(shù)據(jù)表里復制數(shù)據(jù)

這部分的目標是把用戶選中的數(shù)據(jù)列(字段)復制到第4行開始的區(qū)域,可以先把原始數(shù)據(jù)表對應(yīng)的字段名稱也復制一遍,這樣便于對照排錯。3.2.1復制部分數(shù)據(jù)先假定對第3行、第2列的值進行判斷,假如用戶選中了此列,就應(yīng)該把原始數(shù)據(jù)表里第2行、第2列的字段名(列名)復制到處理表的第4行、第2列。IfWorksheets(2).Cells(3,2)=1ThenWorksheets(2).Cells(4,2)=Worksheets(1).Cells(2,2)'把字段名稱放到數(shù)據(jù)區(qū)開頭的一行Endif那么對于前5列的數(shù)據(jù)連續(xù)判斷和復制多個字段名就應(yīng)該寫成:'這里要實現(xiàn)的是把第3行前5列的內(nèi)容進行判斷,根據(jù)是否為1決定是否復制數(shù)據(jù)表對應(yīng)列的字段名。Fori=1To5'i代表列號,簡單的名稱方便描述和理解IfWorksheets(2).Cells(3,i)=1ThenWorksheets(2).Cells(4,2)=Worksheets(1).Cells(2,2)'把字段名稱放到處理表EndifNexti接下來就可以把對應(yīng)字段的數(shù)據(jù)也復制到“處理表”。同樣,為了簡化問題,可以假定只復制5行數(shù)據(jù)。'僅復制前5行(包括字段名)、5列Forj=1To5'j代表行號Fori=1To5'i代表列號IfWorksheets(2).Cells(3,i)=1ThenWorksheets(2).Cells(j+3,2)=Worksheets(1).Cells(j+1,i)EndifNextiNextj3.2.2復制所有的數(shù)據(jù)到處理表為了更加便于自動、準確處理數(shù)據(jù),原始數(shù)據(jù)表里的數(shù)據(jù)區(qū)域行數(shù)、列數(shù)通過代碼進行判斷和處理更好。處理的思路是設(shè)定一個規(guī)范的“數(shù)據(jù)表”:要求“數(shù)據(jù)表”必須滿足所有行、列的內(nèi)容都應(yīng)該是連續(xù)的(無空白的行或者空白列分隔)。尤其是對第一行、第一列,可以規(guī)定其在有效的數(shù)據(jù)區(qū)域內(nèi),不允許設(shè)置為空白值,用于確保數(shù)據(jù)區(qū)域的連續(xù)和代碼判斷數(shù)據(jù)區(qū)域的方便性。那么,即使后期數(shù)據(jù)表的數(shù)據(jù)區(qū)域發(fā)生了變化,在執(zhí)行宏代碼的時候也可以快速判斷行數(shù)和列數(shù),不需要再次手動修改代碼。作為一個特定用途的項目,這樣的設(shè)定完全可以作為一個數(shù)據(jù)表必須滿足的規(guī)范。那么我們對數(shù)據(jù)處理的邏輯就是:從左到右順序掃描第一行各個單元格的值,一旦發(fā)現(xiàn)某個單元格內(nèi)容為空,表明數(shù)據(jù)區(qū)域的列已經(jīng)結(jié)束。這時可以記錄到當前列為止的列數(shù),作為后續(xù)評判數(shù)據(jù)區(qū)的依據(jù)。從上到下順序掃描第一列一旦發(fā)現(xiàn)某個單元格內(nèi)容為空,表明數(shù)據(jù)行已經(jīng)結(jié)束,可以記錄到當前列為止的列數(shù),作為后續(xù)評判數(shù)據(jù)區(qū)的依據(jù)。到目前為止,由于只學習了一個循環(huán)語句for…next語句,這部分代碼就可以寫為:Fori=1To16384'16384這是一個Excel工作表默認的列數(shù)最大值,i代表列數(shù)IfWorksheets(1).Cells(2,i)=""Then'假定數(shù)據(jù)列是連續(xù)的,字段行空白,數(shù)據(jù)列結(jié)束lie=i-1'工作表1“信息表”總共有l(wèi)ie個列,便于后續(xù)處理ExitForEndIfNexti當然,這部分功能更加適合的是do…loop語句,但是作為初學者,for語句更加友好、便于理解。后續(xù)可以安排學生自己學習do…loop結(jié)構(gòu)的循環(huán)語句并把這里的代碼改進、完善。把這部分功能進行綜合,將得到以下程序代碼:Sub信息提取到結(jié)果表()'假定處理表里面的數(shù)據(jù)都為空白'獲取原始數(shù)據(jù)表(工作表1)里面的列數(shù)Fori=1To16384IfWorksheets(1).Cells(2,i)=""Then'假定數(shù)據(jù)列連續(xù),第一行某字段為空,數(shù)據(jù)列結(jié)束lie=i-1'工作表1“信息表”總共有l(wèi)ie個列,便于后續(xù)處理;lie的值其他代碼公用ExitForEndIfNexti'把“信息表”的前兩行的數(shù)據(jù)移到“處理表”序號用于定位標記Fori=1TolieWorksheets(2).Cells(1,i)=Worksheets(1).Cells(1,i)'復制數(shù)據(jù)表第1行Worksheets(2).Cells(2,i)=Worksheets(1).Cells(2,i)'復制數(shù)據(jù)表第2行IfWorksheets(2).Cells(3,i)=1ThenForj=2To1048576'Excel工作表默認最多可以有1048576行IfWorksheets(1).Cells(j,1)=""Then'假定各行數(shù)據(jù)連續(xù)的,空白序號列,數(shù)據(jù)結(jié)束hang=j-1'存放數(shù)據(jù)區(qū)域的總行數(shù),后續(xù)代碼可以使用此值ExitFor'不再繼續(xù)掃描更多的行ElseWorksheets(2).Cells(j+2,i)=Worksheets(1).Cells(j,i)'復制數(shù)據(jù)到處理表EndIfNextjEndIfNextiEndSub程序在第一次執(zhí)行的時候,因為還沒有在處理表的第3行選中任何列,代碼不會復制數(shù)據(jù)區(qū)域的內(nèi)容,只是把原始數(shù)據(jù)表里面的前兩行復制到了處理表里。接下來,在用戶選中特定列后,再次執(zhí)行這段代碼,即可復制相關(guān)的數(shù)據(jù)。

3.3目標三的實現(xiàn)——把數(shù)據(jù)放入結(jié)果表

實現(xiàn)的方法也有很多,比較簡單的是在上述代碼里添加復制數(shù)據(jù)到結(jié)果表的代碼即可。代碼如下:Worksheets(3).Cells(j-1,i)=Worksheets(1).Cells(j,i)'復制原始數(shù)據(jù)表的數(shù)據(jù)到結(jié)果表所要注意的是,未選中的列是空值,而結(jié)果表里的數(shù)據(jù)應(yīng)該是連續(xù)的列,可以通過代碼刪除空的列。Fori=lieTo1Step-1'從數(shù)據(jù)區(qū)域最右側(cè)的一列開始判斷IfWorksheets(3).Cells(1,i).Value=""Then'第1行為空,表示當前列為空Worksheets(3).Columns(i).Delete'刪除列EndIfNexti對于初學者而言,這里是一個難點,需要解釋為什么循環(huán)變量從右到左逐列判斷、處理。因為涉及刪除一列的時候,循環(huán)變量從右向左追溯對代碼執(zhí)行沒有影響,而從左往右逐列檢查,空列刪除后循環(huán)變量的變化情況稍微有些復雜,可以以擴展任務(wù)的方式布置給學生去思考、觀察和實現(xiàn)。

4功能實用性擴展

經(jīng)過上述的演示和講解,學生已經(jīng)可以理解Excel的VBA編程思路和特點,結(jié)合網(wǎng)絡(luò)信息檢索完全可以獨立獲取對應(yīng)功能的核心代碼并應(yīng)用到項目開發(fā)中。完成了項目預(yù)先設(shè)定的基本功能之后,還應(yīng)該從用戶的實際使用環(huán)境和需求出發(fā)進行功能改進和升級。這一階段主要是多考慮用戶的實際使用環(huán)境,以用戶使用更加便捷、高效為準。

4.1考慮多個數(shù)據(jù)表的場景

考慮到用戶的實際工作環(huán)境中的原始數(shù)據(jù)表可能是以多個工作表的形式存放,以上代碼和功能可以在這方面適當升級改進。解決方案的設(shè)計原則是便于用戶操作,并且盡可能小幅度調(diào)整先前的方案。為此,可以在處理表的上方新增2行,用于存放當前所有的工作表、讓用戶確定選擇哪一個工作表進行篩選導出。其中,第1行通過VBA代碼自動獲取并填入當前工作簿的所有工作表名稱,用戶在第2行輸入選中標記,通過代碼判斷當前處理過程選中的是哪一個工作表。同時,要規(guī)定一次只允許選擇一個工作表進行字段數(shù)的提取。相應(yīng)地,先前處理表中的相關(guān)行功能也要做適當調(diào)整,向下推動2行。獲取當前工作簿里所有工作表的關(guān)鍵代碼如下:foreachgzbinWorksheetsk=k+1cells(1,k)=gzb.name'獲取當前工作簿中所有的工作表名稱放入第1行next因為工作表的增多也帶來順序序號的問題,可以把結(jié)果表放在所有工作表的最前面,把處理表作為第2個工作表,相應(yīng)地需要把上述代碼中涉及工作表序號的部分修改調(diào)整。

4.2數(shù)據(jù)結(jié)果存入獨立的文檔

Excel的VBA編程功能強大、靈活,可以實現(xiàn)打開指定的word文檔或Excel工作簿并存入數(shù)據(jù),也可以直接新建word文檔或Excel工作簿并存入指定的數(shù)據(jù)。完全可以根據(jù)需要在指定位置輸出一個或多個相關(guān)文檔并存入數(shù)據(jù),甚至可以設(shè)置特定數(shù)據(jù)的格式、樣式。

4.3結(jié)合

Word郵件合并功能既然已經(jīng)可以根據(jù)需要導出所需的數(shù)據(jù),那么,以導出數(shù)據(jù)作為數(shù)據(jù)源,結(jié)合Word的“郵件合并”功能,也可以快速生成多個Word文檔或者直接打印多份指定格式的文稿[5]。4.4添加快捷按鈕和快捷鍵Excel的標簽欄、工具按鈕可以根據(jù)需要定制,自己編寫的宏代碼也可以以“按鈕”的方式放在“工具選項卡”或者“快速訪問工具欄”,可以實現(xiàn)“一鍵運行”,用起來更加方便、快捷。

5總結(jié)

從功能方面來看:本項目代碼工作量不大、靈活性高,開發(fā)周期短。項目實施過程中充分考慮了用戶的實際需求和使用便捷性,能夠解決信息聯(lián)絡(luò)員頻繁進行數(shù)據(jù)收發(fā)的一般需求。對于更特殊的需求,也可以根據(jù)具體情況對相關(guān)功能進行調(diào)整。從教學模式上看:這樣一個零基礎(chǔ)就可以聽得懂、做得到的項目,作為項目教學的案例,既具有一定難度,又有較好的靈活性和可擴充性。項目實施過程中通過對總目標的層層分解、逐步細化,以零基礎(chǔ)學生的知識背景逐漸展開知識點介紹和功能實施,邏輯清晰、目標明確。不僅可以消除學生對程序設(shè)計的畏懼感和神秘感、了解項目開發(fā)的全過程、體驗開發(fā)者思考方式,也可以獨立、快速完成一個實用性較高的作品。此外,項目的改進方案多樣,難度適中,比較有利于學生發(fā)揮想象力、進行拓展訓練。綜上,本項目對信息學科相關(guān)老師、對應(yīng)用編程感興趣的學生而言都是一個不錯的案例。

參考文獻:

[1]沈光,洪一明.新工科背景下高校實驗室促進創(chuàng)新人才培養(yǎng)的治理策略[J].實驗室研究與探索,2020,39(8):263-266.

[2]王迷迷,鄭英,張立珍.“互聯(lián)網(wǎng)+”背景下創(chuàng)客項目式教學研究[J].信息系統(tǒng)工程,2020(7):155-156.

[3]王艷芬.基于項目式教學的安卓開發(fā)公選課改革探索[J].教育教學論壇,2020(33):171-173.

[4]倪飛舟.VisualBasic程序設(shè)計教程[M].北京:中國水利水電出版社,2010:276.

[5]何振娟,王瑋,劉海,等.Excel中VBA及Word郵件合并功能在批量處理報表中的應(yīng)用[J].電腦知識與技術(shù),2021,17(6):212-214.

作者:陳浩強 吳紅燕 楊飛 謝俊松 張海航 梁振 單位:安徽醫(yī)科大學 合肥市第十一中學