王 劍
(長江大學計算機學院,湖北 荊州 434023)
計算學科已經(jīng)成為基礎(chǔ)技術(shù)學科。 隨著計算機和軟件技術(shù)的發(fā)展, 繼理論和實驗后計算成為第三大科學研究范型, 從而使計算思維成為現(xiàn)代人類重要的思維方式之一。 學科基礎(chǔ)知識被視為計算機專業(yè)類基礎(chǔ)知識,培養(yǎng)學生計算思維、程序設(shè)計與實現(xiàn)、算法分析與設(shè)計、 系統(tǒng)能力等計算機類專業(yè)基本能力。 計算機導論是計算機學科的第一門基礎(chǔ)課, 是學生承前啟后,初步入門的重要課程。 學習好了該課程,會對學生建立計算機專業(yè)學習自信, 培養(yǎng)計算機類專業(yè)素養(yǎng),了解計算機專業(yè)特征, 掌握計算機基礎(chǔ)知識點, 明確計算機學科地圖, 增加計算機視野具有較好的幫助和加成。
通過數(shù)年來對計算機導論課程的調(diào)研和一線教學、 實驗活動, 我們發(fā)現(xiàn)目前計算機導論課程中入學新生的水平嚴重參差不齊, 通過調(diào)研可以發(fā)現(xiàn), 我國廣大的專業(yè)大一新生在入校以前正規(guī)學過的計算機課程普遍偏少甚至為零, 特別是目前高中培養(yǎng)模式下的非發(fā)達地區(qū)學子普遍是“0 基礎(chǔ)”偏多,很多新生在入校以前的計算機專業(yè)課基本上屬于放羊式的教學和學習, 這就使得授課老師產(chǎn)生了疑惑和壓力, 學生無基礎(chǔ),如何能淺顯易懂的教授計算機導論這門課程?
針對上述分析, 筆者提出了在傳統(tǒng)理論課堂的教學基礎(chǔ)上, 采用可視化表達與互動組織的計算機導論課程教學模式, 打好 “計算機導論與計算思維有效結(jié)合”與“積極融入可視化表達的通俗易懂闡述模式”兩張牌, 良好的平衡了基礎(chǔ)的教學內(nèi)容與計算機發(fā)展的前沿技術(shù)之間的度, 清晰地給出計算機學科的學習地圖,針對“0 基礎(chǔ)或者薄弱基礎(chǔ)”的學生提供了直觀明了的可視化編程方法, 并詳細分析多個計算機學科內(nèi)的經(jīng)典算法及其表達, 通俗易懂的全面講解了當前計算機類的新興技術(shù), 幫助學生能快速, 全面的對計算機科學了解入門和掌握相關(guān)知識點。 互動組織活動主要從分組形式和規(guī)則, 內(nèi)容的組織方法, 內(nèi)容的設(shè)計形式和可視化技術(shù)及虛擬機的有效引入這些方面展開。
下面以授課中以計算機導論課程中的 “嵌入式系統(tǒng)設(shè)計與應(yīng)用” 部分和算法思維部分講解為例對課堂活動組織進行分析:
首先是分組,組員一般有4 人,分別是主講人、幻燈片制作人、 提問人和回答人。 然后幻燈片的制作第一面至少應(yīng)包含題目,小組成員姓名(任務(wù)分配);形式可多樣不限于文字,圖片,圖形或者其他,總數(shù)量不應(yīng)少于15 張幻燈片,以更好的講清楚指定指令為目標但應(yīng)保持簡潔明了的基本原則; 最后一張應(yīng)為致謝。 兩組講解同一指令, 提問人負責對指定指令向另一組提問, 不少于2 個問題, 另一組指定回答人負責指定指令作答。 雙方組長互評對方組的講述及幻燈片制作環(huán)節(jié)等。 由授課老師負責評選最佳組(長)、最佳PPT 制作和最佳主講人。 課程結(jié)束后應(yīng)完成相應(yīng)作業(yè), 寫在作業(yè)本上并上交,作業(yè)格式為:本組指令名稱、指令格式及說明和指令舉例說明。
內(nèi)容的組織是個重要組成部分, 選擇合適的問題展開辯論和學習有助于激發(fā)他們的學習興趣, 擴展他們的學習視野。 比如可以有下列選題: 什么是嵌入式系統(tǒng)? 什么是SWI 指令?什么是硬件抽象層OAL?什么是bootloader? 簡述基于x86 處理器和arm 處理器的系統(tǒng)調(diào)用方式的區(qū)別? 嵌入式系統(tǒng)的特點是什么 ?簡述嵌入式系統(tǒng)的總線 ? 簡述ARM9 處理器模式? 什么是寄存器尋址方式 ? 什么是SWP(Swap)指令? 什么是嵌入式系統(tǒng)軟件? 什么是Linux 模塊?試分析Boot Loader 的啟動過程 ?什么是MMU?嵌入式系統(tǒng)的硬件有哪些組成?簡述ARM9 異常處理過程?簡述嵌入式系統(tǒng)存儲器 ? 什么是寄存器間接尋址方式? ARM 轉(zhuǎn)跳指令主要功能是什么? 這樣的選題難度較低, 適合學生展開分析和討論, 對于基礎(chǔ)較好的學生, 應(yīng)準備難度較大合作程度更高的題目進行辯論工作。
內(nèi)容的設(shè)計方式應(yīng)切合技術(shù)發(fā)展趨勢, 從學生實際情況出發(fā), 同時合理最大化運用現(xiàn)有軟硬件資源,為學生的課程設(shè)計提供良好的平臺。 LINUX 和嵌入式平臺具有良好的可擴展性和可操作性。 針對上述平臺展開合理的課設(shè)內(nèi)容的設(shè)計能有效提高實習學生的嵌入式設(shè)計能力。 虛擬機VMWARE 的引入是重要環(huán)節(jié)。它能有效的避免對宿主機操作系統(tǒng)windows 的破壞。
由于部分學生對計算機類的嵌入式系統(tǒng)缺乏一定的理論基礎(chǔ), 在內(nèi)容設(shè)計的提高階段有一定的困難,對此授課教師需要將內(nèi)容實行有效地分層化規(guī)劃,在強調(diào)基礎(chǔ)核心課設(shè)規(guī)劃的基礎(chǔ)上, 分層次設(shè)計課堂活動組織目標。
然后對算法思維進行介紹。 算法的講解是計算機導論課程中的核心部分, 算法思維屬于計算思維的一種具體化表達方式, 屬于客觀世界抽象后形成的計算機世界的表達, 算法和文檔的有序組織, 才能形成有效的軟件程序。 重視算法思維的教學, 是計算機類基礎(chǔ)課和核心課教學的重要組成部分。 國內(nèi)頂尖高校普遍重視在大學低年級階段就展開算法思維的教學工作,由于這些高校生源基礎(chǔ)好,學生普遍自學能力強,在入校前都有了一定的計算機類思維的培訓甚至有項目經(jīng)歷, 因而對于這些學校不存在上述問題, 但是反過來說絕大部分高校由于種種原因, 對這一塊的教學深化還有待加強。 目前在計算機導論課程中算法的講解主要方法是流程圖,N-S 圖,偽代碼,少部分還使用了當下最流行的python 語言作為算法分析語言。 針對“0 基礎(chǔ)或者薄弱基礎(chǔ)”的學生,可以采用可視化表達模式幫助他們迅速入門掌握相關(guān)知識點。
可視化是利用計算機圖形和圖像技術(shù), 將數(shù)據(jù)或者程序轉(zhuǎn)換成可視化表達模式進行顯示和交互處理的方法和技術(shù)。 可視化表達的技術(shù)種類很多, 其宗旨是實現(xiàn)數(shù)據(jù)到顯示的無縫連接。 在計算機導論課程中,可以采用scratch 技術(shù)或者app inventor 技術(shù)來實現(xiàn)對于算法等章節(jié)的描述表達。 前者應(yīng)用在windows 的PC端,后者運用在Android 的移動終端。 可以根據(jù)學生的特點和興趣來選擇合適的編程軟件。 把數(shù)據(jù)動起來,把程序顯示出來, 把軟件的過程化顯示出來, 可以有效的幫助薄弱基礎(chǔ)的學生增強信心和興趣, 調(diào)動他們的積極性, 更快更好的入門和掌握知識點。 這里要說明的是, 虛擬機在此處應(yīng)該有較大的作用發(fā)揮, 虛擬機指通過軟件模擬的具有完整硬件系統(tǒng)功能的、 運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)。 虛擬系統(tǒng)通過生成現(xiàn)有OS 的全新虛擬鏡像, 它具有真實操作系統(tǒng)完全一樣的功能, 進入虛擬系統(tǒng)后, 所有操作都是在這個全新的獨立的虛擬系統(tǒng)里面進行, 可以獨立安裝運行軟件,保存數(shù)據(jù),擁有自己的獨立桌面,不會對真正的系統(tǒng)產(chǎn)生任何影響 ,而且具有能夠在現(xiàn)有系統(tǒng)與虛擬鏡像之間靈活切換的一類OS。
通過對計算機科學類新生的教學及實踐活動,在采用了可視化表達與互動組織的計算機導論課程教學模式的班級與未采用該模式的參考班級對比情況下,使用了該模式的班級最終呈現(xiàn)的如期末成績, 實驗報告,作業(yè)、課堂反饋均好于參考班級,說明該模式具有一定的實用價值和參考意義。 接下來需要進一步總結(jié)經(jīng)驗繼續(xù)積極有效的進行教學改革探索實踐。