羅 妤
目前,計算機輔助教學引起了社會的普遍關注。加強計算機基礎教育,不僅是為了讓學生學習掌握現代化的信息處理工具,同時也是對學生進行一種科學素質教育。為了加強信息學院非計算機專業學生的計算機應用能力,筆者所在學校在開設相應專業基礎課和專業課以外,還開設了計算機軟件技術基礎課程這樣的專業選修課程。
一、目前的教學情況
由于該門課程是為非計算機專業的學生開設的,因此在該課程的教學過程中,涉及到比較廣泛的內容,包括軟件工程、數據結構、操作系統和數據庫系統四個部分的基礎知識。其目的是通過該課程的學習,使學生能夠全面系統地掌握計算機軟件技術基礎的基本知識,熟悉軟件工程基礎概念、數據結果基本概念和結構等,并且具有一定的軟件系統設計的能力。
在近幾年的教學中,筆者教授課程的目的是為了讓學生對軟件技術基礎有一定的了解,因此在教學的過程中沒有涉及到實驗部分。但是,筆者發現這不能讓學生達到鞏固知識的目的。因此,在教學大綱的改編中,筆者增設了實驗課內容。通過實驗教學環節,能使學生在有限的教學學時內掌握更多的知識。

二、實驗內容設計
1.數據結構
在該課程的學時分配中,數據結構的內容占據了最大的比例。眾所周知,數據結構是計算機學科中最重要的課程之一。在計算機科學中,數據結構不僅是一般程序設計的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其它系統程序和大型應用程序的重要基礎。現今計算機知識突飛猛進,計算機軟件的規模越來越大,結構越來越復雜,所要編寫的程序也就越來越多。這就需要程序設計者在編程時,不僅要考慮解決某一特定問題的算法,而且首先需要考慮對這些數據量大且關系復雜的數據如何組織的問題,也就是要研究數據的特性及其之間的相互關系,研究如何存儲這些數據。以上就是數據結構的實質所在。因此,筆者將面向對象的編程思想引入計算機軟件技術基礎教程教學中,并且通過實驗,讓學生進一步了解和掌握數據結構的含義。
在數據結構中,包含了順序表、鏈表、棧、隊列、二叉樹、圖等結構的內容,每種結構又包含了諸多內容:第一,線性表的順序存儲、鏈式存儲及相關算法,如建立、插入、刪除、查找、輸出等。第二,棧的順序存儲、鏈式存儲及相關算法,如建空棧、判斷棧空、棧滿,入棧、出棧、輸出等。第三,隊列的順序存儲、鏈式存儲及相關算法,如建空隊、判斷隊空、隊滿,進隊、出隊、輸出等。第四,二叉樹的存儲及相關算法,如建立、前序遍歷、中序遍歷、后序遍歷以及二叉樹查找等。第五,圖的存儲及相關算法,如建立、插入、刪除、查找、輸出節點,圖的深度優先遍歷、廣度優先遍歷等。
由于課時的限制,因此,在實驗的分配上,學習二叉樹的遍歷。“遍歷”是抽取數據結構中各個數據值。“二叉樹遍歷”是以固定的順序,有系統地抽取二叉樹中的各個節點,且每個節點均恰好被抽取一次。二叉樹結構如圖1所示。
二叉樹結構中的每個節點均有左右兩個分支,在遍歷的過程中可以選擇往左或往右走,遍歷結束,每個節點均被抽取一次。事實上,二叉樹遍歷是以遞歸的方式進行的,依遞歸的調用順序之不同,可分為三種不同的遍歷方式:前序遍歷、中序遍歷和后序遍歷。下面給出二叉樹節點的數據類型及前序遍歷的流程圖。
二叉樹節點的數據類型為:
struct tree
{
struct tree*left;
int data;
struct tree *right;
};

typedef struct tree treenode;
typedef treenode b_ tree;
前序遍歷思想是:先遍歷根節點,再遍歷左子樹,最后才遍歷右子樹。圖l所示的二叉樹前序遍歷順序為:ABDECFGH。
二叉樹前序遍歷的程序流程圖,如圖2所示。
2.數據庫系統
數據庫技術,從20世紀60年代中期產生以來,得到了迅速的發展,是計算機科學技術中發展最快的技術之一。數據庫技術在計算機輔助設計、人工智能、電子商務、工農業生產、行政管理、科學研究和工程技術等諸多領域得到了廣泛應用,已經成為計算機信息系統和應用系統的核心技術和重要基礎。通過學習,學生能夠正確理解數據庫的基本原理,熟練掌握數據庫的設計方法和應用技術。因此,本著培養應用人才目的,針對學生過去存在的概念抽象、實踐不足等情況,該部分內容除了理論講解之外,也增加了利用Visual FoxPro進行上機練習的環節,讓學生更直觀、更直接地了解數據庫的含義。
在數據庫的實驗中,筆者希望學生能夠掌握基本的數據庫表的操作,包括數據庫表的建立,記錄的顯示、編輯、修改、插入和刪除等操作。學生通過操作,了解數據庫表的含義以及應用。
在該實驗中,筆者選擇了Visual FoxPro 6.0(VFP)軟件。VFP是一種用來進行管理信息系統開發的常用工具。Visual Foxpro6.0學習起來較為簡單,易于入門,而且操作方便,較為直觀,學生容易理解。因此,筆者選擇了Visual Foxpro6.0作為數據庫的基礎課程,旨在讓學生通過學習,了解數據庫的基本原理及應用技術。
(作者單位:重慶科技學院電子信息工程學院)