摘要: 在網絡課程中,教學交往是一個很重要的模塊,問題系統作為教學交往活動之一,通常作為網絡課程設計的一個模塊。本文介紹了問題系統的設計與實現過程,以及如何利用問題系統完成網絡教學交往的活動。
關鍵詞: 網絡課程設計 教學交往 在線問題系統
網絡課程的開發,依靠的是一定的理論與技術。在Web2.0的時代,交互性成為了一個網絡程序不可缺少的設計元素。用戶可以在Web程序上進行交流,建立豐富的網絡交互,是一個Web程序獲得成功的一個重要因素。網絡課程是通過網絡來表現某門學科的教學內容及實施的教學活動的總和,是基于資源的學習、基于情景的學習、基于協作的學習。網絡課程除了具備課程的一般特點和要求外,還應具有網絡交互性、共享性、開放性、自主性、協作性等方面的特點。教學交往是傳統課程不可缺少的,網絡課程作為課程的一種特殊形式,同樣少不了教學交往。所以,在設計、開發網絡課程時,要充分地考慮網絡課程中的教學交往,教學交往是指參與教學的雙方之間以教學過程為中介所發生的一切促進學生進步和教師發展的活動[2]。教學是教師的教與學生的學的統一,這種統一的本質是交往,交往與教學密不可分,沒有交往就沒有教學。對教學而言,交往意味著對話,意味著參與,意味著相互建構,它不僅是一種教學活動方式,更是彌漫、充盈于師生之間的一種教育情境和精神氛圍[2]。學習者通過學習內容,借助媒介,與教師發生對話,引起自身認知結構的同化或順應,教師在交往過程中發現教學問題,可以更好地完善教學內容和設計更加合理的教學活動,以此來促進雙方的發展。教學交往的方式有很多,學習者可以通過發送E-mail的形式,或者通過電話的形式、留言本的形式等與教師發生交互。
一、在線問題系統設計
(一)設計目標
1.實現學習者網上提問,教師網上回答的功能;
2.實現教師管理問題列表的功能;
3.實現用戶(教師和學生)對問題的快速檢索的功能;
4.實現教師設置熱點問題,引起學習者的關注;
5.實現教師按要求顯示/屏蔽問題功能。
(二)設計原則
1.以教育部發布的《網絡課程課件評測認證標準》為依據;
2.要利于教學交往,尊重學生的主體性地位;
3.系統設計要充分考慮易用性;
4.總體上與網絡教學平臺采用相同的技術路線,能與平臺無縫掛接。
(三)系統總體構架
問題系統主要是實現教師解決學生學習中的問題,給學習者提供一個解答問答疑惑的環境。其系統用例圖如下所示:

教師通過欄目設置,可以添加欄目,給問題定義一個問題范圍,學生選擇欄目,可以在一定問題范圍之內提出問題、瀏覽問題,并且提出問題,提出的問題將會自動地歸屬于選擇的欄目,學生還可以設置提出問題的屬性為公開或者隱蔽。教師根據學生提出的問題,通過回答問題功能進行回答,學習者提出的問題要教師回答后,才能顯示,教師通過問題設置功能,可以根據要求顯示或者屏蔽問題,還可以設置問題熱點,把一般問題設為熱點問題(或常見問題),這樣可以突出重點。學習者通過問題列表或熱點列表的方式來瀏覽問題,或者通過快捷途徑,利用問題搜索,輸入問題關鍵字,方便快速地獲取問題信息。
二、在線問題系統數據庫設計
Sql server具有功能強大、速度快,支持多用戶訪問的特點,而且圖形化的界面方便操作。在問題系統中主要用到了兩個數據表,一個是問題欄目表,另一個是問題列表(問題欄目表稱為questionC,問題列表稱為questionL,其中只列出相應的相關數據字段,字段以中文命名)。
1.設計E_R圖。

2.根據E_R圖,設計數據表。
(1)questionC表

3.設計存儲過程
利用存儲過程有很多優點,存儲過程不僅比運行得比結構化Sql快,在安全上也有優勢,存儲過程的固有本性能夠阻止Sql注入攻擊,而且還限制返回的信息量,每個存儲過程被指定特定的安全權限,只讀用戶只能讀取存儲過程,符合最小特權規則。存儲過程樣本如下:
(1)CREATE PROCEDURE提交問題
(@問題題目varchar(50),@問題欄目名varchar(50))
AS
Insert into questions
(問題題目,問題欄目名,顯示/屏蔽標識,熱點標識,記錄發表時間,記錄問題瀏覽次數,標識問題用戶,公開/私自標識)
Values(@問題題目,@問題欄目名,0,0,0,getdate(),0,@標識問題用戶,0)
GO
(2)CREATE PROCEDURE獲取熱點問題列表(@欄目編號int(4))
AS
Select問題編號,問題題目,問題答案
From questionL
Where欄目編號=@欄目編號and顯示標識為true and熱點標識為true
Order by問題編號DESC
GO
三、程序構建
本網絡課程是用asp.net技術開發的。利用asp.net技術有很多好處,可以調用MFC基礎類模塊,提高程序開發效率,并且可以定義用戶控件,進行個性化設置等等。利用asp.net技術的三層設計的原則(如下圖):頁面層——代碼層——數據層,可以實現代碼分離,這對程序的開發速度、安全性、執行速度都有提高,并增強了程序的可維護性。

部分頁面設計與代碼設計如下:
1.網上提問頁面

頁面遵從簡潔大方、易用性的原則,顏色保持一致的色調。學習者在在線編輯器中輸入問題,然后點擊提交按鈕,就可以向服務器上傳問題。代碼需要調用SqlConnection類,方法是using System.Data.SqlClient。關鍵代碼如下:
SqlConnection myconnection=new SqlConnection(連接參數);
myconnection.Open();
SqlCommand myCommand=new SqlCommand(\"提交問題\",myconnection);
myCommand.CommandType=CommandType.StoredProcedure;//使用存儲過程
myCommand.Parameters.Add(\"@問題內容\",SqlDbType.VarChar);
myCommand.Parameters.Add(\"@欄目編號\",SqlDbType.Int);
myCommand.Parameters[\"@問題內容\"].Value=問題內容;
myCommand.Parameters[\"@欄目編號\"].Value=欄目編號;
myCommand.ExecuteNonQuery();
msg.Text=\"添加成功,您的問題暫時還不能在頁面顯示,要經過教師同意才可以\";
myconnection.Close();
2.問題列表
常規問題列表與熱點問題列表同屬于問題列表,因此頁面顯示采取統一形式。通過問題列表和熱點問題這兩個超鏈接來跳轉到相應的頁面。熱點問題的顯示要通過數據庫中熱點標識來確定,熱點標識為true時,跳轉到熱點問題列表頁面時就會顯示熱點問題。常規問題列表包括了所有的問題,按照問題編號降序排列。熱點問題頁面的關鍵代碼如下:
SqlDataAdapter mySDA=new SqlDataAdapter(\"獲取熱點問題列表\",myConnection);
mySDA.SelectCommand.CommandType=CommandType.StoredProcedure;//使用存儲過程
mySDA.SelectCommand.Parameters.Add(\"@欄目編號\",SqlDbType.Int);
mySDA.SelectCommand.Parameters[\"@欄目編號\"].Value=欄目編號;
DataSet allWords=new DataSet();
mySDA.Fill(allWords);
return allWords;
四、運行調試
建成系統后,最后一階段進行運行調試,運行調試主要是檢查有沒有錯誤,程序錯誤有四種:語法錯誤、編譯錯誤、運行時錯誤和邏輯錯誤。一般的,語法錯誤、編譯錯誤系統在編譯時就能夠捕獲,如果編譯時捕獲到錯誤,程序就會終止運行,因此這些錯誤很好發現和解決。而運行時錯誤是在程序運行執行時才發生的,往往發生錯誤就會暴露系統程序的信息,因此會存在很大的安全威脅,邏輯錯誤是不像期望那樣工作的代碼,這兩種錯誤都不容易發現,因此要經過仔細地調試,確信程序安全運行才可投入使用。
參考文獻:
[1]周長海等編著.網絡課程制作基礎[M].華中科技大學出版社,2006,3.
[2]顧新華.教學交往探析.山西師大學報,2006,9.