許海東
● 課件設(shè)計
導(dǎo)學(xué)課件是課堂教學(xué)的重要組成部分。內(nèi)容上,要根據(jù)課堂教學(xué)整體設(shè)計的需要進行安排;形式上,是在保持前置的恰當(dāng)大小的窗口中,放置學(xué)習(xí)內(nèi)容,使學(xué)生在操作其他軟件的同時,方便查看課件內(nèi)容。在課件窗口上也可以放置最小化按鈕,在需要時對窗口進行最小化和還原。
● 導(dǎo)學(xué)課件的幾個制作經(jīng)驗
1.制作工具軟件選擇
(1)屏幕錄制和編輯
在信息技術(shù)課教學(xué)中,軟件操作是重要的內(nèi)容之一。將操作過程用屏幕錄制軟件錄制和編輯好,放置于課件中。學(xué)生可以根據(jù)自己的實際情況,選擇自己生疏的內(nèi)容進行重復(fù)學(xué)習(xí)。筆者選用的屏幕錄制軟件是Camtasia。
(2)媒體整合
PPT是應(yīng)用非常廣泛的演示文稿軟件,而Storyline是近年來另一款流行的多媒體整合工具軟件,它有著許多的優(yōu)點,如交互設(shè)計、圖層功能等。使用者可以根據(jù)自己課件的功能設(shè)計及個人喜好加以選用。
2.在VB中播放PPT
要做到筆者前述的窗口前置,可以用VB制作課件播放的窗口,然后通過程序?qū)崿F(xiàn)。而在VB中播放PPT,需要用到Windows的API函數(shù)。這里,筆者將經(jīng)過驗證的使用方法介紹如下:
在VB中建立一個窗口,命名為frmSS,其中的代碼為:
Option Explicit
Const APP_NAME = "PowerPoint in VB window"
Public oPPTApp As Object
Public oPPTPres As Object
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Sub Form_Load()
frmSS.ScaleMode = 2 ’point 模式
Dim screenClasshWnd As Long
On Error Resume Next
Set oPPTApp = CreateObject("PowerPoint.Application")
If Not oPPTApp Is Nothing Then
Set oPPTPres = oPPTApp.Presentations.Open(App.Path & "\test.ppt", , , False)
If Not oPPTPres Is Nothing Then
With oPPTPres
With .SlideShowSettings
.ShowType = 1
With .Run
.Width = frmSS.ScaleWidth
.Height = frmSS.ScaleHeight
End With
End With
screenClasshWnd = FindWindow("screenClass", 0&) ‘找到PPT播放窗口
SetParent screenClasshWnd, frmSS.hwnd ‘將播放窗口置入VB窗口
End With
Else
MsgBox "Could not open the presentation.", vbCritical, APP_NAME
End If
Else
MsgBox "Could not instantiate PowerPoint.", vbCritical, APP_NAME
End If
End Sub
這里和VB程序放在同一目錄下的PPT文件名為test.ppt,程序的功能是運行后在窗口中播放指定的PPT文件。
3.在VB中播放Storyline
由于Storyline自帶的播放器無法做到窗口前置,所以要用VB設(shè)計Storyline課件的播放器。Storyline課件的啟動文件可以是一個SWF文件,也可以是一個網(wǎng)頁文件。而在VB中,也可以使用Flash控件和瀏覽器控件。如果在Storyline課件中使用了JavaScript代碼,則一定要在VB中選擇瀏覽器控件才能使其正常應(yīng)用。用VB的瀏覽器控件打開帶有JavaScript代碼的Storyline課件,會彈出安全警告,要想取消此警告,可以設(shè)置控件的silent屬性。
4.VB窗口前置
VB窗口前置也需要用到API函數(shù)。例如,在VB工程中添加一個模塊,可以添加以下模塊代碼和窗體代碼。
模塊代碼為:
Declare Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long
窗體代碼為:
Private Sub Form_Load()
SetWindowPos Me.hWnd, -1, 0, 0, 200, 200, 3
End Sub
Private Sub Timer1_Timer()
Timer1.Interval = 200
SetWindowPos Form1.hWnd, -1, 0, 0, 200, 200, 3
End Sub
這里需要說明的是,計時器控件并不需要事先手工添加到窗體中。
5.Storyline中的提交
導(dǎo)學(xué)課件不僅可以設(shè)計學(xué)生與程序的交互,還可以提交多種信息如學(xué)生任務(wù)的完成情況、問卷調(diào)查的信息收集等給教師。經(jīng)過對多種方法的嘗試和比較,筆者最終采用了asp網(wǎng)站服務(wù)器收集數(shù)據(jù),而Storyline中使用JavaScript編寫提交代碼。
下面是學(xué)生課件的一個提交按鈕腳本:
var player=GetPlayer();
var url=player.GetVar("host");
var b=player.GetVar("ly");
url=url+"/addly.asp?gj="+b;
xmlhttp=new XMLHttpRequest();
xmlhttp.open("get",url,true);
xmlhttp.send(null);
服務(wù)器(教師機代用)上的接收提交數(shù)據(jù)腳本Addly.asp:
<%
set conn=server.CreateObject("adodb.connection")
conn.provider="microsoft.jet.oledb.4.0"
conn.open server.MapPath("db.mdb")
set rs=server.CreateObject("adodb.recordset")
rs.Open "ly",conn,2,3
rs.AddNew
rs("gj")=request.QueryString("gj")
rs("jh")=request.ServerVariables("REMOTE_ADDR")
rs.update
rs.close
set rs=nothing
set conn=nothing
%>
查看提交數(shù)據(jù)腳本:
<%
set conn=server.CreateObject("adodb.connection")
conn.provider="microsoft.jet.oledb.4.0"
conn.open server.MapPath("db.mdb")
set rs=server.CreateObject("adodb.recordset")
rs.Open "ly",conn,2,3
do while not rs.eof
response.write( rs(0))
response.write( ",")
response.write (rs(1))
response.write( ",")
rs.movenext
loop
rs.close
set rs=nothing
set conn=nothing
%>
服務(wù)器采用的Mywebserver軟件,能快速地進行部署。在使用時要注意關(guān)閉計算機上其他軟件使用80端口。
對于數(shù)據(jù)的查看,筆者采用Excel編寫了宏代碼來讀取數(shù)據(jù)并進行查看,用于讀取數(shù)據(jù)的一個按鈕的部分代碼如下:
Dim HttpReq As Object
Set HttpReq = CreateObject("MSXML2.XMLHTTP.3.0")
URL = "http://localhost/viewly.asp?time=" & Time
HttpReq.Open "GET", URL, False
HttpReq.send (Null)
a = HttpReq.responseText
6.其他一些JavaScript的功能實現(xiàn)
(1)讀取文本文件
var ForReading=1;
var fso=new ActiveXObject ("Scripting. FileSystemObject");
var f=fso.OpenTextFile("c:\\test.txt",F(xiàn)orReading);
var arr=f.readline();
alert(arr);
(2)獲取當(dāng)前目錄
var syspath = location.href;
syspath = syspath.toLowerCase(); //把路徑名稱轉(zhuǎn)換成小寫
myPosition = syspath.lastIndexOf("/"); // 獲取文件路徑中的最后一個"/"
syspath = syspath.substring(0,parseInt(myPosition)+1); // 使用substring函數(shù) 截取"/"之前的字符串,就得到當(dāng)前目錄的路徑
syspath = syspath.replace("file:///",""); //這里要把file:///替換為空,否則會報錯
syspath = syspath.replace(new RegExp("%20","gm")," "); // 如果文件名中含有空格,則要還原空格,替換所有的 %20 為 " "
alert(syspath)
這里要強調(diào)的是,JavaScript語言是大小寫敏感的。
● 關(guān)于導(dǎo)學(xué)課件與面對面教學(xué)的關(guān)系
1.面對面教學(xué)(教師直接教學(xué))的優(yōu)勢
面對面教學(xué)的優(yōu)勢,其實不在于“精講”或“細講”,因為課件同樣可以把教學(xué)內(nèi)容表達得足夠細致和清楚。其優(yōu)勢在于:一是教師現(xiàn)場教學(xué)具有更多的針對非計劃的課堂事件的靈活性,而課件的內(nèi)容是事先安排好的,很難立即做出改變;二是教師現(xiàn)場教學(xué)帶有更多的情感因素和個人風(fēng)格,而計算機軟件是難以做到與學(xué)生進行情感交流的。
2.媒體教學(xué)(如課件自學(xué))的優(yōu)勢
媒體教學(xué)也有其獨有的優(yōu)勢:一是它可以讓學(xué)生較為方便地重復(fù)查看,很多媒體資源都有良好的交互控制機制,這樣對于不同學(xué)情的學(xué)生來說具有更好的適應(yīng)性;二是它具有良好的易于傳播的特征,它可以將優(yōu)秀教師的授課內(nèi)容方便地傳遞給更多的學(xué)生,這對優(yōu)質(zhì)資源的共享是頗為有益的。當(dāng)然,有的教師會說,由于很多學(xué)生缺乏自覺性,所以以自學(xué)為主的課堂設(shè)計難以取得實效。對此筆者想說,技術(shù)不是萬能的,無論哪種教學(xué)方式,都要重視研究學(xué)生的具體情況,研究學(xué)習(xí)過程的規(guī)律,這是毋庸置疑的。
另外,前置小窗口的課件形式,在很多情況下比網(wǎng)頁形式或Word文檔形式的教學(xué)輔助材料,更有利于學(xué)生對照學(xué)習(xí),從而降低學(xué)習(xí)難度,改善學(xué)習(xí)效果。
3.課件制作的技術(shù)障礙及解決
雖然信息技術(shù)課的制作及使用導(dǎo)學(xué)課件,有其獨到的優(yōu)勢,但它在應(yīng)用推廣過程中,也會遇到一些困難。例如,制作課件不但需要制作者有較高的組織教學(xué)方面的素養(yǎng),而且需要其有較強的多媒體制作能力和編程能力。一方面,大多數(shù)信息技術(shù)教師經(jīng)歷過這方面的學(xué)習(xí)和訓(xùn)練,即使一時尚未掌握,也可以通過自己的努力在短期內(nèi)掌握;另一方面,由于導(dǎo)學(xué)課件具有可復(fù)制、共享的特點,所以教師可以進行分工合作,由部分具有技術(shù)特長的教師先具體制作,然后共享使用。
4.兩種教學(xué)方式的結(jié)合
通過以上討論,筆者認為,在課堂教學(xué)設(shè)計中,教師應(yīng)該根據(jù)教學(xué)內(nèi)容的特點,設(shè)法綜合運用多媒體導(dǎo)學(xué)課件和面對面教學(xué)。且在面對面教學(xué)中,又要靈活運用集體教學(xué)和個別教學(xué)、講演和問答引導(dǎo)等具體形式。這樣,教學(xué)才能取得更為理想的效果。