第一篇:教學(xué)目標了解面向?qū)ο蟪绦蛟O(shè)計方法的基本原理及主要特點——抽解析
呼倫貝爾學(xué)院—— 計算機科學(xué)與技術(shù)學(xué)院
教學(xué)目標:了解面向?qū)ο蟪绦蛟O(shè)計方法的基本原理及主要特點——抽象性、封裝性、繼承性、多態(tài)性。掌握類和對象的概念以及如何用類來解決具體問題并在類的基礎(chǔ)上如何派生出新類,以及重載的概念和作用。
教學(xué)類型:在多媒體教室直觀講授,引導(dǎo)學(xué)生進行類的操作。教學(xué)內(nèi)容:
復(fù)習(xí)上次課
5.5類的繼承
Visual Basic.NET支持類的繼承,允許用戶定義一個類,作為其他類繼承的依據(jù),繼承類能夠繼承,擴充基本類的屬性和方法,繼承類也可以重載基本類的一些方法。
例如,把窗體看成一個類,在Vissal Basic.NET中用戶可以根據(jù)現(xiàn)有的窗體繼承出一個新的窗體。其中已有類叫做基類(父類),繼承的新類叫做派生類(子類)。
1、實現(xiàn)基本的繼承
下面通過例子進一步說明為什么要使用繼承。
要描述人和雇員,對于每一個人來說都有姓名、年齡、性別等信息,對于公司雇員有以上內(nèi)容以外還有雇員的工作部門及薪水等信息。當(dāng)分開來實現(xiàn)這兩個類的時候,就會發(fā)現(xiàn)其實它們有許多相同之處。如果分開編寫這兩個類的代碼,不僅編寫效率低,而且程序代碼也難以維護,所以最好的方法就是讓它們使用一些相同的代碼,此時繼承就可以發(fā)揮作用了。使用繼承,可以創(chuàng)建一個Person類(基類),它包含了name(姓名)、age(年齡)、sex(性別)等屬性所有的共享代碼。然后再創(chuàng)建employee派生類,這個類是由person類繼承而來的,這樣它們就可以自動地獲得所有的公用代碼了。
【例5.3】建立person類及它的派生類employee類。Public Class person
Public sname, Iage, ssex
Public Property name()As String
Get
Return sname
End Get
Set(ByVal value As String)
sname = value
End Set
End Property
Public Property age()As Integer
Get
Return Iage
End Get
Set(ByVal value As Integer)
Iage = value
End Set
呼倫貝爾學(xué)院—— 計算機科學(xué)與技術(shù)學(xué)院
End Property
Public Property sex()As String
Get
Return ssex
End Get
Set(ByVal value As String)
ssex = value
End Set
End Property End Class Public Class employee
Inherits person
Dim Ssalary As Single
Public Property salary()As Single
Get
Return Ssalary
End Get
Set(ByVal value As Single)
Ssalary = value
End Set
End Property
Sub Displayemployee()
Debug.WriteLine(“雇員的姓名:” & name)
Debug.WriteLine(“雇員的性別:” & sex)
Debug.WriteLine(“雇員的年齡:” & age)
Debug.WriteLine(“雇員的薪水:” & salary)
End Sub End Class Module Module1
Sub Main()
Dim aemployee As New employee()
aemployee.name = “王強”
aemployee.sex = “男”
aemployee.age = 25
aemployee.salary = 3600.0
aemployee.Displayemployee()
End Sub End Module
2、禁止繼承
在默認狀態(tài)下,創(chuàng)建的任何類都是可以用作基類,可由這個基類創(chuàng)建其他的類。但有時需要創(chuàng)建一個不被繼承的類,這時可以在類的聲明中使用NotInheritable關(guān)鍵字。
Public NotInheritable Class Class_name …… End Class
呼倫貝爾學(xué)院—— 計算機科學(xué)與技術(shù)學(xué)院
使用這個關(guān)鍵字后,其他代碼都不能使用Inherits關(guān)鍵字來創(chuàng)建一個由這個基類繼承二來的子類。
3、基類成員在派生類中的作用域
通過繼承性創(chuàng)建子類時,新類將從父類獲得所有Public 和 Friend方法、屬性及變量。但在父類中聲明的Private的任何內(nèi)容都不能直接應(yīng)用于新子類的代碼中。
例如:可以在上例的person類中重寫age方法,代碼如下: Private Property age()As Integer
Get
Return Iage
End Get
Set(ByVal value As Integer)
Iage = value
End Set
End Property Age方法聲明為private,所以employee類和其他代碼都不能使用它。當(dāng)然也有一個列外,就是New方法,構(gòu)造函數(shù)方法必須在每一個子類中重新定義。
有時public和private并不夠用,需要創(chuàng)建一個可以用于子類而不能用于客戶代碼的方法,此時就可以使用protected作用域。當(dāng)某些內(nèi)容聲明為protected時,該元素就不能應(yīng)用于類以外的代碼,但可以應(yīng)用于通過繼承派生出的子類。
例如:若將person類當(dāng)中的name、age、sex屬性都聲明為 Protected Property name()As String Protected Property age()As Integer Protected Property sex()As string 那么測試程序中的下列代碼將不再有效: aemployee.name = “王強” aemployee.sex = “男” aemployee.age = 25 但示例中的name、age、sex屬性可以應(yīng)用于employee中的所有代碼,因為它繼承了父類。為設(shè)置屬性,可以在employee中增加一個方法setperson():
Public Class employee
Inherits person
Dim Ssalary As Single Public Property salary()As Single
Get
Return Ssalary
End Get
Set(ByVal value As Single)
Ssalary = value
End Set End Property Sub setperson(ByVal n As String, ByVal a As Integer, ByVal s As String, ByVal c As Single)
name = n
age = a
sex = s
呼倫貝爾學(xué)院—— 計算機科學(xué)與技術(shù)學(xué)院
salary = c End Sub
Sub Displayemployee()
Debug.WriteLine(“雇員的姓名:” & name)
Debug.WriteLine(“雇員的性別:” & sex)
Debug.WriteLine(“雇員的年齡:” & age)
Debug.WriteLine(“雇員的薪水:” & salary)
End Sub End Class Module Module1
Sub Main()
Dim aemployee As New employee()
aemployee.setperson(“王強”, 25, “男”, 3600.0)
aemployee.Displayemployee()
End Sub End Module 5.6重載方法
VB.NET具有重載方法的功能,可以利用重載來實現(xiàn)多態(tài)性。重載是可以在一個類中可多次聲明相同名稱的一種方法,只要每個聲明都有不同的參數(shù)列表即可。其中參數(shù)列表不同指的是參數(shù)的數(shù)據(jù)類型不同或參數(shù)的個數(shù)不同。例如:Public Sub show(ByVal x As Integer, ByVal y As Integer)。
上面show方法的參數(shù)列表的參數(shù)的類型為(Integer, Integer)。為了重載這個方法,必須使用不同的參數(shù)列表,例如(Double,Integer)或(Integer,Double)都可以。重載不能只是通過改變函數(shù)的返回值來實現(xiàn),而是要求實際參數(shù)的數(shù)據(jù)類型不同。
Public Class sum
Public Function add(ByVal a As Integer, ByVal b As Integer)As Integer
Return a + b
End Function
Public Function add(ByVal a As Double, ByVal b As Double)As Double
Return a + b
End Function End Class Module Module1
Sub main()
Dim NO1, NO2 As New sum
Debug.WriteLine(NO1.add(5, 6))
Debug.WriteLine(NO2.add(2.5, 3.6))
End Sub End Module
學(xué)生練習(xí):聲明一個Shape(形狀)基類,在此基礎(chǔ)上派生出Rectangle和Circle類,(1)根據(jù)給出的矩形的左上角和右下角的坐標計算該矩形的面積;(2)根據(jù)給出的圓心坐標計算出圓的面積。
呼倫貝爾學(xué)院—— 計算機科學(xué)與技術(shù)學(xué)院
第二篇:《面向?qū)ο蟪绦蛟O(shè)計方法》課程教學(xué)大綱
《面向?qū)ο蟪绦蛟O(shè)計方法》課程教學(xué)大綱
(計算機科學(xué)與技術(shù)本科專業(yè)使用)
一、課程的地位、教學(xué)目的和基本要求
C++語言是一種高效實用的程序設(shè)計語言,既可進行過程化的程序設(shè)計,也可進行面向?qū)ο蟪绦蛟O(shè)計。本課程以介紹C++語言的基本語法為基礎(chǔ)逐步向?qū)W生滲透面向?qū)ο蟮某绦蛟O(shè)計思想,要求學(xué)生掌握類的封裝、數(shù)據(jù)隱藏、繼承及多態(tài)等特性,領(lǐng)會面向?qū)ο蟪绦蛟O(shè)計,掌握面向?qū)ο蟪绦蛟O(shè)計方法,培養(yǎng)一定的程序設(shè)計能力,為以后各專業(yè)課程的學(xué)習(xí)打下良好的程序設(shè)計基礎(chǔ)。
二、主要教學(xué)環(huán)節(jié)
1、理論教學(xué) 學(xué)時數(shù):60 占全部學(xué)時數(shù):75 %
2、實驗 學(xué)時數(shù):20 占全部學(xué)時數(shù):25 %
3、實訓(xùn) 學(xué)時數(shù):二周
三、課程內(nèi)容 Ⅰ.理論部分
第一章 C++入門 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握源程序的編輯、編譯、連接和執(zhí)行。了解C++程序設(shè)計語言的發(fā)展過程以及支持環(huán)境。(2)重點與難點
本章的重點和難點是源程序的編輯、編譯、連接和執(zhí)行。
第一節(jié) 從C到C++ 第二節(jié) 程序與語言 第三節(jié) 結(jié)構(gòu)化程序設(shè)計 第四節(jié) 面向?qū)ο蟪绦蛟O(shè)計 第五節(jié) 程序開發(fā)過程 第六節(jié) 函數(shù)
第二章 基本數(shù)據(jù)類型與輸入輸出 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握C++語言數(shù)據(jù)類型,變量及常量的聲明和賦值以及輸入輸出函數(shù)。了解I/O流及printf和scanf輸入輸出的作用。(2)重點與難點
本章的重點和難點是C++語言數(shù)據(jù)類型,變量及常量的聲明和賦值以及輸入輸出函數(shù)。
第一節(jié) 字符集與保留字 第二節(jié) 基本數(shù)據(jù)類型 第三節(jié) 變量定義 第四節(jié) 常量及常量定義 第五節(jié) I/O流控制 第六節(jié) Printf與scanf 第三章 表達式和語句 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握C++各運算符與常用表達式內(nèi)容,及if語句的應(yīng)用。(2)重點與難點
C++各運算符與常用表達式內(nèi)容,及if語句的應(yīng)用。
第一節(jié) 表達式 第二節(jié) 算術(shù)運算和賦值 第三節(jié) 算術(shù)類型轉(zhuǎn)換 第四節(jié) 增量和減量 第五節(jié) 關(guān)系與邏輯運算 第六節(jié) if語句 第七節(jié) 條件運算符 第八節(jié) 逗號表達式 第九節(jié) 求值次序與副作用
第四章 過程化語句 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握switch,while, do…while, for結(jié)構(gòu)的應(yīng)用,了解描述算法和窮舉、迭代算法。(2)重點與難點
本章的重點和難點是循環(huán)型程序設(shè)計,即switch,while, do…while, for 2 結(jié)構(gòu)的應(yīng)用。
第一節(jié) while 語句 第二節(jié) do…..while 語句 第三節(jié) for語句 第四節(jié) switch 語句 第五節(jié) switch 語句 第六節(jié) 過程應(yīng)用: 求兀 第七節(jié) 過程應(yīng)用: 判明素數(shù) 第八節(jié) 過程應(yīng)用: 求積分
第五章 函數(shù) 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握函數(shù)的概念、定義、調(diào)用機制,和遞歸、內(nèi)聯(lián)、重載函數(shù)的概念,以及全局、局部變量。(2)重點與難點
本章的重點和難點是函數(shù)的概念、定義、調(diào)用機制,以及全局、局部變量。
第一節(jié) 函數(shù)概述 第二節(jié) 函數(shù)原型
第三節(jié) 全局變量和局部變量 第四節(jié) 函數(shù)調(diào)用機制 第五節(jié) 靜態(tài)局部變量 第六節(jié) 遞歸函數(shù) 第七節(jié) 內(nèi)聯(lián)函數(shù) 第八節(jié) 重載函數(shù) 第九節(jié) 默認參數(shù)的函數(shù)
第六章 程序結(jié)構(gòu) 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握變量的存儲類型,作用域,可見性,生命期等概念。(2)重點與難點
本章的重點和難點是變量的存儲類型,作用域,可見性,生命期。
第一節(jié) 外部存儲類型 第二節(jié) 靜態(tài)存儲類型 第三節(jié) 作用域 第四節(jié) 可見性 第五節(jié) 生命期 第六節(jié) 頭文件 第七節(jié) 多文件結(jié)構(gòu) 第八節(jié) 編譯預(yù)處理
第七章 數(shù)組 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握數(shù)組的概念、元素的訪問,及數(shù)組的應(yīng)用。(2)重點與難點
本章的重點和難點是數(shù)組元素的訪問,及數(shù)組的應(yīng)用。
第一節(jié) 數(shù)組定義 第二節(jié) 訪問數(shù)組元素 第三節(jié) 初始化數(shù)組 第四節(jié) 向函數(shù)傳遞數(shù)組 第五節(jié) 二維數(shù)組 第六節(jié) 數(shù)組應(yīng)用: 排序
第七節(jié) 數(shù)組應(yīng)用: Josephus問題 第八節(jié) 數(shù)組應(yīng)用: 矩陣乘法
第八章 指針 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握指針的概念、運算,以及指針與數(shù)組和函數(shù)的應(yīng)用。(2)重點與難點
本章的重點和難點是指針的運算,以及指針與數(shù)組和函數(shù)的關(guān)系及應(yīng)用。
第一節(jié) 指針概念 第二節(jié) 指針運算 第三節(jié) 指針與數(shù)組 第四節(jié) 堆內(nèi)存分配 第五節(jié) const指針 第六節(jié) 指針與函數(shù) 第七節(jié) 字符指針 第八節(jié) 指針數(shù)組 第九節(jié) 命令行參數(shù) 第十節(jié) 函數(shù)指針
第九章 引用 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握引用的概念、操作,以及引用作為函數(shù)參數(shù)的應(yīng)用。(2)重點與難點
本章的重點和難點是引用的操作,以及引用作為函數(shù)參數(shù)的應(yīng)用。
第一節(jié) 引用的概念 第二節(jié) 引用的操作 第三節(jié) 什么能被引用 第四節(jié) 用引用傳遞函數(shù)參數(shù) 第五節(jié) 返回多個值 第六節(jié) 用引用返回值 第七節(jié) 函數(shù)調(diào)用作為左值 第八節(jié) 用const限定引用 第九節(jié) 返回堆中變量的引用
第十章 結(jié)構(gòu) 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握結(jié)構(gòu)體概念及其定義,結(jié)構(gòu)體變量和結(jié)構(gòu)體數(shù)組的引用,指向結(jié)構(gòu)體變量和數(shù)組的指針。(2)重點與難點
本章的重點和難點是結(jié)構(gòu)體數(shù)組的引用,指向結(jié)構(gòu)體變量和數(shù)組的指針。
第一節(jié) 結(jié)構(gòu) 第二節(jié) 結(jié)構(gòu)與指針
第三節(jié) 結(jié)構(gòu)與數(shù)組 第四節(jié) 傳遞結(jié)構(gòu)參數(shù) 第五節(jié) 返回結(jié)構(gòu) 第六節(jié) 鏈表結(jié)構(gòu) 第七節(jié) 創(chuàng)建與遍歷鏈表 第八節(jié) 刪除鏈表結(jié)點 第九節(jié) 插入鏈表結(jié)點
第十節(jié) 結(jié)構(gòu)應(yīng)用: Josephus問題
第十一章 類 4學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握類的概念、類的定義,及成員函數(shù)的調(diào)用。了解保護成員和軟件方法的發(fā)展必然。(2)重點與難點
本章的重點和難點是類的概念、類的定義,及成員函數(shù)的調(diào)用。
第一節(jié) 從結(jié)構(gòu)到類 第二節(jié) 軟件方法的發(fā)展必然 第三節(jié) 定義成員函數(shù) 第四節(jié) 調(diào)用成員函數(shù) 第五節(jié) 保護成員 第六節(jié) 屏蔽類的內(nèi)部實現(xiàn) 第七節(jié) 再論程序結(jié)構(gòu)
第十二章 構(gòu)造函數(shù) 6學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握構(gòu)造、析構(gòu)函數(shù)的使用,以及構(gòu)造類成員和構(gòu)造對象的順序。了解重載和默認構(gòu)造函數(shù)的概念(2)重點與難點
本章的重點和難點是構(gòu)造、析構(gòu)函數(shù)的使用,以及構(gòu)造類成員和構(gòu)造對象的順序。
第一節(jié) 類與對象
第二節(jié) 構(gòu)造函數(shù)的需要性 第三節(jié) 構(gòu)造函數(shù)的使用 第四節(jié) 析構(gòu)函數(shù)
第五節(jié) 帶參數(shù)的構(gòu)造函數(shù) 第六節(jié) 重載構(gòu)造函數(shù) 第七節(jié) 默認構(gòu)造函數(shù) 第八節(jié) 類成員初始化困惑 第九節(jié) 構(gòu)造類成員 第十節(jié) 構(gòu)造對象的順序
第十三章 面向?qū)ο蟪绦蛟O(shè)計 4學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握結(jié)構(gòu)化和面向?qū)ο蠓椒ǖ膶崿F(xiàn)。了解程序效率和維護。(2)重點與難點
本章的重點和難點是結(jié)構(gòu)化和面向?qū)ο蠓椒ǖ膶崿F(xiàn)。
第一節(jié) 抽象 第二節(jié) 分類 第三節(jié) 設(shè)計和效率 第四節(jié) 討論Josephus問題 第五節(jié) 結(jié)構(gòu)化方法 第六節(jié) 結(jié)構(gòu)化方法的實現(xiàn) 第七節(jié) 第八節(jié) 第九節(jié)
面向?qū)ο蠓椒?面向?qū)ο蠓椒▽崿F(xiàn) 程序維護
第十四章 堆與拷貝構(gòu)造函數(shù) 6學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握堆的概念,堆對象,拷貝構(gòu)造函數(shù)及淺拷貝與深拷貝的應(yīng)用。了解臨時和無名對象。(2)重點與難點
本章的重點和難點是堆的概念,堆對象,拷貝構(gòu)造函數(shù)及淺拷貝與深拷貝的 7 應(yīng)用。
第一節(jié) 關(guān)于堆
第二節(jié) 需要new和delete的原因 第三節(jié) 分配堆對象 第四節(jié) 拷貝構(gòu)造函數(shù) 第五節(jié) 默認拷貝構(gòu)造函數(shù) 第六節(jié) 淺拷貝與深拷貝 第七節(jié) 臨時對象 第八節(jié) 無名對象
第九節(jié) 構(gòu)造函數(shù)用于類型轉(zhuǎn)換
第十五章 靜態(tài)成員與友員 2學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握懂得怎樣聲明一個靜態(tài)數(shù)據(jù)成員,怎樣使用靜態(tài)成員函數(shù)以及靜態(tài)成員函數(shù)為什么與特定對象無關(guān)。(2)重點與難點
本章的重點和難點是靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)的使用,以及友元的概念。
第一節(jié) 靜態(tài)成員的需要性 第二節(jié) 靜態(tài)成員的使用 第三節(jié) 靜態(tài)數(shù)據(jù)成員 第四節(jié) 靜態(tài)成員函數(shù) 第五節(jié) 需要友員的原因 第六節(jié) 友員的使用
第十六章 繼承 8學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握繼承的概念,工作方式,以及多態(tài)性和虛函數(shù)的概念。了解抽象類和類的冗余。(2)重點與難點
本章的重點和難點是繼承的概念,工作方式,以及多態(tài)性和虛函數(shù)的概念。
第一節(jié) 繼承的概念 第二節(jié) 繼承的工作方式 第三節(jié) 派生類的構(gòu)造 第四節(jié) 繼承與組合 第五節(jié) 多態(tài)性
第六節(jié) 多態(tài)的思考方式 第七節(jié) 多態(tài)性如何工作 第八節(jié) 不恰當(dāng)?shù)奶摵瘮?shù) 第九節(jié) 虛函數(shù)的限制 第十節(jié) 類的冗余
第十一節(jié) 克服冗余帶來的問題 第十二節(jié) 類的分解 第十三節(jié) 抽象類
第十四節(jié) 由抽象類派生具體類 第十五節(jié) 純虛函數(shù)的需要性
第十七章 多重繼承 6學(xué)時(1)教學(xué)目的、要求
本章要求學(xué)生掌握多繼承的概念,工作方式以及多繼承的構(gòu)造順序和訪問控制。了解虛擬繼承、保護和私有繼承。(2)重點與難點
本章的重點和難點是多繼承的概念,工作方式以及多繼承的構(gòu)造順序和訪問控制。
第一節(jié) 多繼承如何工作 第二節(jié) 繼承的模糊性 第三節(jié) 虛擬繼承
第四節(jié) 多繼承的構(gòu)造順序 第五節(jié) 繼承的訪問控制 第六節(jié) 保護繼承與私有繼承
第十八章 運算符重載 4學(xué)時(1)教學(xué)目的、要求 本章要求學(xué)生掌握運算符重載的需要性和應(yīng)用。了解增量運算符的重載。(2)重點與難點
本章的重點和難點是運算符重載的需要性和應(yīng)用。
第一節(jié) 運算符重載的需要性 第二節(jié) 如何重載運算符 第三節(jié) 值返回與引用返回 第四節(jié) 運算符作成員函數(shù) 第五節(jié) 重載增量運算符 第六節(jié) 轉(zhuǎn)換運算符 第七節(jié) 賦值運算符
四、主要教科書和參考書
1、《C++程序設(shè)計教程》
2、《C++程序設(shè)計題解與上機指導(dǎo)》
3、《C++語言程序設(shè)計》
4、《C++語言與面向?qū)ο蟪绦蛟O(shè)計》
5、《C++語言程序設(shè)計》
錢能 錢能
潭浩強 鄭莉
呂鳳翥清華大學(xué)出版社
清華大學(xué)出版社 清華大學(xué)出版社 清華大學(xué)出版社
清華大學(xué)出版社
責(zé)任撰寫人:陳桂芬
第三篇:《面向?qū)ο蟪绦蛟O(shè)計方法》實驗教學(xué)大綱
《面向?qū)ο蟪绦蛟O(shè)計方法》實驗教學(xué)大綱
(計算機科學(xué)與技術(shù)本科專業(yè)使用)
一、教學(xué)目標
通過該實驗課,學(xué)生應(yīng)在熟練掌握過程化程序設(shè)計方法的基礎(chǔ)上,領(lǐng)會面向?qū)ο蟪绦蛟O(shè)計及類的封裝、數(shù)據(jù)隱藏、繼承及多態(tài)等特性,逐步掌握面向?qū)ο蟪绦蛟O(shè)計方法,培養(yǎng)一定的程序設(shè)計能力,為以后各專業(yè)課程的學(xué)習(xí)打下良好的程序設(shè)計基礎(chǔ)。
二、實驗教學(xué)時數(shù)
三、實驗內(nèi)容
實驗一 圖形打印
1、實驗?zāi)康模壕毩?xí)for循環(huán)
2、實驗技能培訓(xùn)內(nèi)容:打印幾種特殊圖形,如菱形和Z字形
3、主要儀器:計算機
4、實驗方法:上機編程
實驗二 判素數(shù)
1、實驗?zāi)康模壕毩?xí)函數(shù)
2、實驗技能培訓(xùn)內(nèi)容:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗三 遞歸函數(shù)練習(xí)
1、實驗?zāi)康模壕毩?xí)遞歸函數(shù)
2、實驗技能培訓(xùn)內(nèi)容:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少? 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....3、主要儀器:計算機
4、實驗方法:上機編程
實驗四 數(shù)列排序
1、實驗?zāi)康模壕毩?xí)數(shù)組及幾種基本排序方法
2、實驗技能培訓(xùn)內(nèi)容:用選擇、插入、冒泡、快速等幾種基本的排序方法對數(shù)列進行排序。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗五 矩陣乘積
1、實驗?zāi)康模壕毩?xí)數(shù)組
20學(xué)時
2、實驗技能培訓(xùn)內(nèi)容:用數(shù)組存儲兩個矩陣,求兩個矩陣的乘積。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗六 設(shè)計時間日期類
1、實驗?zāi)康模赫莆蘸唵晤惖脑O(shè)計方法
2、實驗技能培訓(xùn)內(nèi)容:構(gòu)造一個TimeDate類,類中包含一個成員函數(shù),用來在屏幕上顯示時間與日期(采用建立在標準庫time.h中的標準時間與日期來尋找與顯示日期)。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗七 設(shè)計計時類
1、實驗?zāi)康模赫莆蘸唵晤惖脑O(shè)計方法
2、實驗技能培訓(xùn)內(nèi)容:建立Watch類,用來仿效秒表跟蹤消逝的時間。用構(gòu)造函數(shù)將消逝時間的初值置為零。提供兩個成員函數(shù)Start()與Stop(),分別打開與關(guān)閉計時器。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗八 設(shè)計字符棧類
1、實驗?zāi)康模赫莆蘸唵晤惖脑O(shè)計方法
2、實驗技能培訓(xùn)內(nèi)容:用Stack類,寫一個函數(shù)LoadStack(),用來返回已經(jīng)將字母表(a-z)入棧的堆棧。在調(diào)用函數(shù)中,將這個堆棧賦值給另一個對象,并證明它包含字母表。可以改變堆棧的尺寸,以便它大得足以支持字母表。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗九 友元的使用方法
1、實驗?zāi)康模赫莆沼言氖褂梅椒?/p>
2、實驗技能培訓(xùn)內(nèi)容:求兩數(shù)的平方差(友元函數(shù)說明)
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十 訪問權(quán)限
1、實驗?zāi)康模赫莆疹惓蓡T的各種訪問權(quán)限
2、實驗技能培訓(xùn)內(nèi)容:類成員的各種訪問權(quán)限
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十一 類的派生
1、實驗?zāi)康模?掌握類的派生
2、實驗技能培訓(xùn)內(nèi)容:給出基類AreaClass(形狀類),建立兩個派生類Box(方形類)與Isosceles(等腰三角形類),讓每個派生類包含一個函數(shù)Area(),分別用來返回方形與等腰三角形的面積。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十二 用類方法求解一元二次方程
1、實驗?zāi)康模?掌握類的派生
2、實驗技能培訓(xùn)內(nèi)容:實現(xiàn)一個Complex類和一個Real類。將Real類定義為Complex類的子類。然后設(shè)計一個求解一元二次實系數(shù)方程的根的類Root。
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十三 類繼承中的構(gòu)造
1、實驗?zāi)康模?掌握類繼承中的構(gòu)造
2、實驗技能培訓(xùn)內(nèi)容:類繼承中的構(gòu)造方法
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十四 類繼承中的構(gòu)造
1、實驗?zāi)康模?掌握類繼承中的構(gòu)造
2、實驗技能培訓(xùn)內(nèi)容:類繼承中的構(gòu)造方法
3、主要儀器:計算機
4、實驗方法:上機編程
實驗十五 大學(xué)生類
1、實驗?zāi)康模?掌握虛函數(shù)的使用
2、實驗技能培訓(xùn)內(nèi)容:設(shè)計一個大學(xué)的類系統(tǒng),包括Student(學(xué)生),Professor(教師),Staff(職員)。另有一個類既作為學(xué)生又兼作助教的可作為派生類StudentStaff,它是由Student類和Staff類派生而來,另外定義一個父類DataRec作為上述類(子類)的基類。
3、主要儀器:計算機
4、實驗方法:上機編程
責(zé)任撰寫人:陳桂芬
第四篇:面向?qū)ο蟪绦蛟O(shè)計教學(xué)淺析的論文
摘要面向語言程序設(shè)計是計算機專業(yè)的必修基礎(chǔ)理論課,在課程教學(xué)中,許多教師和學(xué)生都認為,計算機語言教學(xué)死板,不利于將知識轉(zhuǎn)化為能力。本文結(jié)合作者的教學(xué)實踐,對如何有效講解面向?qū)ο蟪绦蛟O(shè)計這門課程進行了探悉,以期提高教學(xué)效率和效果。
關(guān)鍵詞面向?qū)ο蟪绦蛟O(shè)計教學(xué)方法
面向?qū)ο蟪绦蛟O(shè)計是計算機專業(yè)的必修課程,開設(shè)此課程的目的是使學(xué)生掌握程序設(shè)計的基本方法并形成面向?qū)ο蟮某绦蛟O(shè)計思想,能夠熟練地使用C++語言進行程序設(shè)計并具備獨立調(diào)試程序的能力,為后繼課程學(xué)習(xí)和應(yīng)用打下堅實的基礎(chǔ)。作者結(jié)合國內(nèi)外優(yōu)秀編程語言的教學(xué)方法和模式,不斷地總結(jié)和積累經(jīng)驗并運用于教學(xué)實踐之中,取得了較好的教學(xué)效果,有助于學(xué)生在有限的教學(xué)時間內(nèi),以最快最簡單易懂的方式,扎實地掌握C++語言的內(nèi)容。下面是作者在面向?qū)ο蟪绦蛟O(shè)計教學(xué)中的一些體會。
一、培養(yǎng)學(xué)習(xí)興趣
為了使初學(xué)者能盡快地掌握計算機知識,進入計算機的應(yīng)用領(lǐng)域,在課程講授過程中,要特別注意培養(yǎng)學(xué)生的學(xué)習(xí)興趣。初接觸計算機時,很多學(xué)生感到新奇、好玩,這不能說是興趣,只是一種好奇。隨著課程的不斷深入,大量的感念、規(guī)則、定義、要求和機械的格式出現(xiàn),很容易使部分學(xué)生產(chǎn)生枯燥乏味的感覺。為了把學(xué)生的好奇轉(zhuǎn)化為學(xué)習(xí)興趣,授課時作者從具體問題入手,讓學(xué)生先從感性上認識新知識,繼而再講授理論要點。
在首次課上,給學(xué)生找一些《高等數(shù)學(xué)》、《線性代數(shù)》等已學(xué)課程的問題,用算法語言來求解,使學(xué)生體會程序設(shè)計的用途和一種全新的解決問題的方法。在課程的進行中,引導(dǎo)學(xué)生學(xué)一種算法,就嘗試在同行課程中應(yīng)用。作者還經(jīng)常介紹一些趣味性算例,如:“迷宮問題”等[1],來培養(yǎng)學(xué)生的學(xué)習(xí)興趣,讓大家積極主動地獲取知識,打好程序設(shè)計基礎(chǔ)。整個教學(xué)過程中應(yīng)該把解題思路、方法和步驟當(dāng)作授課的重點,從而讓學(xué)生明白如何分析并解決實際問題,逐漸培養(yǎng)學(xué)生進行程序設(shè)計的正確思維模式。
二、循序漸進講解
絕大部分學(xué)生是第一次接觸面向?qū)ο蟪绦蛟O(shè)計的概念,通俗、易懂的教學(xué)原則同樣適合于這門課的教學(xué)。在課程講授過程中,作者沒有把重點放在語法規(guī)則的敘述上,而是放在算法和程序設(shè)計方法上,通常由幾個例題引出一種語法規(guī)則,通過一些求解具體問題的程序來分析算法,介紹程序設(shè)計的基本方法和技巧,既注重教材的系統(tǒng)性、科學(xué)性,又注重易讀性和啟發(fā)性。從最簡單的問題入手,一開始就介紹程序,要求學(xué)生編寫程序,通過反復(fù)編寫、運行程序來掌握語言規(guī)則和程序設(shè)計方法。同一個語法規(guī)則、同一種算法,在選擇例題時也是由簡到難,逐步呈現(xiàn)給學(xué)生。在學(xué)習(xí)上不要求學(xué)生死記語法規(guī)則,而是要求學(xué)生能把各個孤立的語句組織成一個有機的程序。注意培養(yǎng)學(xué)生良好的編程風(fēng)格,讓學(xué)生在編制程序過程中不斷總結(jié)、鞏固,達到學(xué)會方法、記住語法規(guī)則,提高設(shè)計技巧的目的。
三、改進教學(xué)方法
作者要求學(xué)生事先預(yù)習(xí),實際上就是要求他們課前自學(xué),講課時以學(xué)生預(yù)習(xí)過為起點,只講難點、重點,這樣既給了學(xué)生思維分析的余地,又節(jié)省課時。這就要求必須精選教學(xué)內(nèi)容,注意詳略安排。如在講到“類與對象”,“繼承與派生”[2]這些關(guān)鍵性章節(jié)時就講的特別精,使學(xué)生能夠熟練掌握、理解透徹,而講到“輸入輸出流”時,讓學(xué)生做到一般了解即可。課堂上找一些程序設(shè)計較好、解題思路清晰的例題讓學(xué)生自己讀,找出精妙之處和不理解之處,對普遍性的問題共同講解,個別問題課后解答。
作者特意地設(shè)置一些不同深淺的筆誤和口誤,馬上讓學(xué)生肯定對與錯,以考查學(xué)生注意力集中的程度,提高他們的敏銳性和判別力。對有些問題,給出一種程序設(shè)計方法后,讓學(xué)生討論,還有沒有其它的程序設(shè)計方法和思路,讓他們發(fā)表意見,提出自己的解題思路和編程方法,給學(xué)生交流不同思路和觀點的機會。這就要求老師既能引導(dǎo)又能放開,既有事先的精心備課,又有課堂上的因勢利導(dǎo),同時也可以從學(xué)生討論中提出的問題來豐富教材內(nèi)容,使得教與學(xué)相得益彰,共同進步。
四、習(xí)題與上機實踐
做習(xí)題是復(fù)習(xí)所學(xué)內(nèi)同的過程,也是深入學(xué)習(xí)的過程。作者每次課后給學(xué)生布置一些有代表性的習(xí)題,以鞏固課堂上所學(xué)的內(nèi)容。也通過學(xué)生的作業(yè)情況來了解學(xué)生對課程內(nèi)容的掌握程度。對作業(yè)中比較普遍出現(xiàn)的錯誤,在下次課上當(dāng)堂講解,使得學(xué)生能對學(xué)過的東西理解透、掌握牢。作業(yè)中新穎的程序設(shè)計方法和思路,也當(dāng)堂宣講或作業(yè)批注,以鼓勵創(chuàng)新型的學(xué)習(xí)方法。
每次實際上機操作前,都根據(jù)實驗教學(xué)計劃,有系統(tǒng)地布置上機實習(xí)作業(yè),讓學(xué)生明確上機任務(wù),編寫好上機調(diào)試的程序,使學(xué)生在每次上機實踐中都有收獲。作者讓學(xué)生按照自己的姓名、學(xué)號命名自己的程序文件,調(diào)試成功后存入磁盤,并撰寫實驗報告,課程結(jié)束后結(jié)合學(xué)生的程序和實驗報告來評定實驗成績。課程結(jié)束前作者堅持進行總結(jié),把所學(xué)的內(nèi)容作一個概要分析,前后聯(lián)系起來,使學(xué)生對所學(xué)課程內(nèi)容能夠融匯貫通。
參考文獻
1.劉璟,周玉龍.高級語言C++程序設(shè)計.第二版[M].北京:高等教育出版社,2006
2.GradyBooch著,馮博琴,馮嵐,薛濤,等譯.面向?qū)ο蠓治雠c設(shè)計[M].北京:機械工業(yè)出版社,2003
第五篇:“面向?qū)ο蟪绦蛟O(shè)計”課程教學(xué)設(shè)計探索
摘要:“面向?qū)ο蟪绦蛟O(shè)計”是大多數(shù)高等院校計算機專業(yè)的一門專業(yè)基礎(chǔ)課,課程的教學(xué)效果直接影響學(xué)生對專業(yè)后續(xù)課程的學(xué)習(xí)。通過良好的教學(xué)設(shè)計可以將面向?qū)ο蟮乃枷牒图夹g(shù)轉(zhuǎn)化為學(xué)生的知識和能力,而課堂教學(xué)上的師生互動和實驗環(huán)節(jié)的能力培養(yǎng)很好地支持了這一目標。
關(guān)鍵詞:面向?qū)ο蟪绦蛟O(shè)計 教學(xué)設(shè)計 能力引言
“面向?qū)ο蟪绦蛟O(shè)計”是大多數(shù)高等院校計算機專業(yè)的一門專業(yè)基礎(chǔ)課,該課程是為“以面向?qū)ο蠹夹g(shù)為核心思想”的后繼專業(yè)課程奠定一個扎實的專業(yè)基礎(chǔ)。但對面向?qū)ο笏枷敕椒ǖ某橄笮院蛷?fù)雜性以及載體語言的高難度,使之成為一門比較難以學(xué)習(xí)和掌握的課程,學(xué)生學(xué)習(xí)效果不佳,應(yīng)用能力不強。因此在教學(xué)過程中應(yīng)注重知識體系規(guī)劃和教學(xué)過程設(shè)計,提高教學(xué)效果,促進學(xué)生面向?qū)ο蠹夹g(shù)應(yīng)用能力的形成。
明確教學(xué)目標和教學(xué)內(nèi)容
2.1教學(xué)目標
“面向?qū)ο蟪绦蛟O(shè)計”課程是計算機科學(xué)與技術(shù)專業(yè)教學(xué)計劃中的專業(yè)必修課,也是人才培養(yǎng)計劃中的專業(yè)基礎(chǔ)課程。按照學(xué)科根本特征的要求,課程中對學(xué)生進行基礎(chǔ)理論教育,強化學(xué)生“計算思維能力”和“面向?qū)ο笏季S能力”的培養(yǎng);通過選擇適當(dāng)?shù)闹R載體,循序漸進地向?qū)W生傳授包括基本問題求解過程和基本思路在內(nèi)的學(xué)科方法論的內(nèi)容,將流行的開發(fā)系統(tǒng)作為學(xué)生學(xué)習(xí)過程中的實踐環(huán)境和學(xué)生自我擴展的內(nèi)容來處理,使得學(xué)生既有基礎(chǔ),又有必要的實踐經(jīng)驗,完成對后續(xù)課程教學(xué)的鋪墊和引導(dǎo)作用。
2.2教學(xué)內(nèi)容
根據(jù)專業(yè)的培養(yǎng)目標和課程在專業(yè)中的地位,將教學(xué)內(nèi)容規(guī)范為三個部分。
①基礎(chǔ)部分。主要講授面向?qū)ο蠓治龊驮O(shè)計的基礎(chǔ)理論,課程用到的語言工具中的必要技術(shù)。
②核心部分。闡述面向?qū)ο蠹夹g(shù)的抽象性、封裝性、繼承性和多態(tài)性四個特征的設(shè)計規(guī)范,以及采用支持面向?qū)ο蠹夹g(shù)的語言實現(xiàn)這些特征的設(shè)計技術(shù)。
③提高部分。講授面向?qū)ο蠛诵募夹g(shù)的一些實際應(yīng)用領(lǐng)域。
注重教學(xué)設(shè)計,培養(yǎng)學(xué)生分析、解決問題的能力
3.1激發(fā)學(xué)生興趣
“面向?qū)ο蟪绦蛟O(shè)計”課程難度大,被學(xué)生列為最難學(xué)的課程之一。建立學(xué)生的學(xué)習(xí)信心很重要。法國教育家盧梭曾說:“教育的藝術(shù)是使學(xué)生喜歡你所教授的東西”,學(xué)生對教師教授的知識產(chǎn)生了興趣,就有學(xué)習(xí)的積極性和主動性。為此,將學(xué)生的學(xué)習(xí)興趣越早地融合到課程之中,就越會對他們能力的形成產(chǎn)生積極的促進作用。
要使學(xué)生感覺不太難,樹立他們的學(xué)習(xí)信心,講課時一定要抓重點,教學(xué)上有重點與沒有重點是大不相同的,平均使用學(xué)生的精力和學(xué)時是絕對不可取的。本課程的重點是面向?qū)ο蟪绦蛟O(shè)計的關(guān)鍵技術(shù),包括完善的封裝、派生、多態(tài)、模板、異常處理機制和在構(gòu)造函數(shù)中動態(tài)分配資源以及在析構(gòu)函數(shù)中釋放資源,這是面向?qū)ο蟪绦蛟O(shè)計的精髓。因此在教學(xué)中不是泛泛介紹描述工具的語法和框架,而是突出關(guān)鍵技術(shù)“精講多練”,學(xué)生可花較少的精力獲得較強的編程能力。另外,處理編程大局與編程細節(jié)的關(guān)系,教學(xué)中要給學(xué)生一個明確的設(shè)計規(guī)范,即采用什么樣的準則和思路及運用怎樣的工具去解決問題,采用業(yè)界普遍采用的三步方法:面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計、面向?qū)ο缶幊?來確定宏觀思維,重點講解程序的整體構(gòu)造。此前提下,再講解怎樣用描述工具闡述算法,需要注意的是,課程的前幾次課要講清編程的細節(jié),以后隨著教學(xué)的推進而逐步淡化,防止學(xué)生陷入描述工具的語法現(xiàn)象之中不能自拔。通過這樣的處理方式,一方面引發(fā)了學(xué)習(xí)興趣,提高了學(xué)生的宏觀思維能力和自學(xué)能力,另一方面也達到了將學(xué)生快速融入課程的目的。
3.2注重學(xué)生能力培養(yǎng)
“面向?qū)ο蟪绦蛟O(shè)計”課程應(yīng)采用多媒體課堂授課的方式進行教學(xué),在采用這種教學(xué)方式的教學(xué)過程中,教與學(xué)的矛盾在一段時間內(nèi)也出現(xiàn)過。一方面,作為主講教師在有限的學(xué)時內(nèi)將知識體系傳授給學(xué)生,必須借助一定的工具,投影儀器是首選工具,它能夠很好的宏觀展示程序整體結(jié)構(gòu),又能夠很好地微觀剖析局部算法,這對課堂教學(xué)中發(fā)揮教師的主導(dǎo)作用是非常有利的。另一方面,這種方式學(xué)生的反映是幻燈片切換快,筆記記不清楚,影響聽課效果。經(jīng)過摸索,較好做法是:
①優(yōu)化多媒體資源
多媒體課件做的一定要簡潔,不要用一些非必要元素干擾了主題,程序代碼要采用鏈接的方式去完成,用記事本打開即可。這樣就保證了幻燈片頁數(shù)少,講課時切換少,減少學(xué)生對堂課的主題的理解偏差,提高課堂效率和效果。
②以問題驅(qū)動課堂
課堂中,案例教學(xué)不好運作,案例太小,學(xué)生認為是教師自己編的假案例而沒有興趣思考和完成,案例太大,一次課的時間又講不清楚,分幾次課講解又涉及到教學(xué)安排,牽扯太多的事情。問題驅(qū)動相比案例驅(qū)動,具有靈活的優(yōu)點。因此,在教學(xué)中將問題有目的、有組織地提出,啟發(fā)、引導(dǎo)學(xué)生的思維方向,迫使學(xué)生動腦思考解決辦法,使他們逐漸習(xí)慣以專業(yè)的思維思考問題和解決問題。應(yīng)當(dāng)注意的是,問題的提出不僅僅在于正面,有時教師也會故意誤導(dǎo)學(xué)生思維,當(dāng)然要留有破綻,讓學(xué)生去發(fā)現(xiàn)老師講錯了,這時學(xué)生一般馬上會指出教師的錯誤,對學(xué)生的自信心和判斷力培養(yǎng)有很好的幫助,當(dāng)然這種氛圍并不是在所有班級都能夠達到良好效果,相比之下,集體素養(yǎng)較為活躍的班級更適合這種方式。
③作業(yè)內(nèi)容要慎重
讓學(xué)生去完成作業(yè)不是目的,也不是完成教學(xué)環(huán)節(jié)的任務(wù)。作業(yè)內(nèi)容要考究,一定要留那種教材能夠看到影子,可又看不到全部面目的題材,要迫使學(xué)生去圖書館或者到互聯(lián)網(wǎng)上查閱資料,要求必須在作業(yè)上體現(xiàn)出查閱資料的特征。這樣可以減少作業(yè)的抄襲,促進學(xué)生學(xué)習(xí)能力的提高。
④掌控實驗進程,實現(xiàn)因材施教
面向?qū)ο蟪绦蛟O(shè)計中的理論需要語言工具將其在機器上實現(xiàn)出來。如果學(xué)生少做練習(xí)或是少上機實踐,就只能算是學(xué)過知識,有經(jīng)歷,并不能形成能力。只有多閱讀程序、多編寫程序、多上機調(diào)試,才能將知識掌握并完成能力轉(zhuǎn)化。實驗教學(xué)中應(yīng)逐步提高設(shè)計類和綜合類實驗的比例,以“任務(wù)”和“課題”的形式提出實驗要求和具體的實驗成果,事先沒有參考答案可供借鑒,要求學(xué)生通過閱讀教材和相關(guān)資料,掌握實驗所涉及到的知識,通過綜合利用這些知識來設(shè)計、開發(fā)并最終完成實驗項目。實驗項目的布置時間為實驗課開始前的理論課,以便學(xué)生能夠有充足的時間查閱資料,使學(xué)生通過這個查閱過程,提高針對問題域選材的能力。考慮到學(xué)生的層次,在每次實驗課結(jié)束前的20分鐘,教師都將本次實驗項目的設(shè)計思路和設(shè)計方法進行快速講解。讓完成項目的學(xué)生對比一下自己的程序和教師的程序有沒有差別,如果有,那么差別在那里,是優(yōu)于教師的還是不如教師的;讓沒有完成任務(wù)(不論所做工作離項目的解決差多遠)的學(xué)生聽聽解決問題的思路,看看完成任務(wù)的技法。這樣能夠兼顧不同層次的學(xué)生需求。真正地提高學(xué)生對理論知識的理解能力和應(yīng)用能力。
課堂教學(xué)只能滿足大部分處于中間段的同學(xué),處于上游和下游的學(xué)生對課堂知識的理解會表現(xiàn)出饑餓和剩余現(xiàn)象。針對于這種情況,最好的解決方法就是充分利用實驗課時間。針對學(xué)生調(diào)試程序過程中出現(xiàn)的問題答疑解惑,對尖子學(xué)生點撥即可,并可以追加選做題目,讓他更進一步。一方面起榜樣作用,刺激同學(xué)、引領(lǐng)同學(xué);另一方面,要盡可能地發(fā)掘和培養(yǎng)尖子學(xué)生,保證專業(yè)競賽人才的選拔。
3.3教師與學(xué)生的互動
教師與學(xué)生的互動體現(xiàn)在兩個方面:
一方面,教師與學(xué)生間心靈和人格的溝通。教師們常說“教書育人”,可是學(xué)生不愿意聽大道理,他們更愿意看教師的言行。學(xué)生會從任課教師對他們的課堂考勤是否嚴格、教學(xué)準備是否充分和教師對課堂的主導(dǎo)作用等方面觀察教師。大學(xué)生一般都是上進的,如果教師做的好,那么學(xué)生會跟老師學(xué).“教書育人”要從細節(jié)做起。
另一方面,師生互動的形式要體現(xiàn)出趣味性和鼓勵性。由于知識含量和生活背景的不同,學(xué)生回答問題時肯定會對同一個問題有著不同的判斷,應(yīng)由教師來主導(dǎo)課堂的輿論傾向,找持有不同意見的代表來闡述自己的觀點和理由,讓學(xué)生知道每種判斷的根據(jù)是什么,然后大家表決,自己支持哪一種觀點,這時會發(fā)現(xiàn)有些同學(xué)對哪一種觀點都沒有支持。教師采取的做法應(yīng)該是鼓勵表達觀點的,而不論你支持那種觀點,施壓于無觀點的學(xué)生。促使學(xué)生思考問題,培養(yǎng)學(xué)生求真到底的科學(xué)精神。通過這樣的方式,師生之間確立了良好的學(xué)術(shù)關(guān)系,也會使學(xué)生相信這個老師有著嚴肅的做人做事原則,學(xué)生就會對老師逐漸地建立信任感,進而愿意學(xué)習(xí)老師教授的知識。科學(xué)設(shè)置課程設(shè)計,提高應(yīng)用能力
課程設(shè)計為學(xué)生提供一個既動手又動腦的獨立實踐機會,使學(xué)生將課本上的理論知識和實際有機地結(jié)合起來。
由于課程設(shè)計實踐性比較強,而且還需要按照軟件工程的標準去做,因此設(shè)計的時間就相對短些。考慮這些因素,“面向?qū)ο蟪绦蛟O(shè)計”的課程設(shè)計應(yīng)注意以下幾個方面。
4.1任務(wù)早布置
授課內(nèi)容超過三分之二時,布置設(shè)計題目和要求,也可讓學(xué)生自選題目。將學(xué)生分成小組,選出負責(zé)人,由負責(zé)人進行分工和協(xié)調(diào)。學(xué)生在后面的學(xué)習(xí)中,邊學(xué)習(xí),邊完成分配的設(shè)計任務(wù),逐漸實現(xiàn)課程設(shè)計的功能。從而在課程設(shè)計的時間內(nèi)節(jié)省出大量的查閱資料時間,為程序整體設(shè)計和調(diào)試及撰寫設(shè)計說明書贏得時間,為高質(zhì)量地完成設(shè)計奠定基礎(chǔ)。
4.2題目難度適中
由于教學(xué)目標和設(shè)計時間的限制,題目規(guī)模要保持在300―500行手工代碼能夠解決的范圍內(nèi),難度要稍偏低,使學(xué)生能夠有思路解決問題,能夠在規(guī)定的時間內(nèi)完成代碼編制、輸入、調(diào)試和形成相關(guān)文檔,樹立學(xué)生獨立開發(fā)項目的信心。
4.3開發(fā)工具任選
可以使用實驗課上使用的開發(fā)工具進行課程設(shè)計的項目開發(fā),也可使用其它開發(fā)工具完成課程設(shè)計。在項目完成情況相同或接近的條件下,使用其它或免費開發(fā)工具完成課程設(shè)計的學(xué)生要酌情加分,以鼓勵學(xué)生的創(chuàng)新精神。
結(jié)束語
具有合理知識架構(gòu)和較強應(yīng)用能力的計算機專業(yè)應(yīng)用人才為培養(yǎng)的最終目標,“面向?qū)ο蟪绦蛟O(shè)計”課程的教學(xué)效果在很大程度上決定了這一目標的實現(xiàn)。
將課程內(nèi)容融入到理論課、實驗課和課程設(shè)計三個教學(xué)環(huán)節(jié)的設(shè)計給出了提高和保證 “面向?qū)ο蟪绦蛟O(shè)計”課程教學(xué)效果的方法,同時也為其它計算機專業(yè)課程的教學(xué)提供了一定的借鑒。在面向?qū)ο蟪绦蛟O(shè)計課程的教學(xué)中,還有許多具體的環(huán)節(jié)需要分析和解決,如教學(xué)過程中科研成果的引入對學(xué)生的影響,學(xué)生成績的科學(xué)評定,課程教學(xué)與國際先進認證培訓(xùn)體系的結(jié)合等都是值得研究的問題。這也是教學(xué)設(shè)計中需要進一步研究和實踐的問題
參考文獻:
[1] 李秉璋,羅 燁,景征駿,黃海軍,“面向?qū)ο蟪绦蛟O(shè)計”課程實踐教學(xué)改革探索[j].計算機教育, 2009年18期,p12~13
[2] 葛建芳,在面向?qū)ο蟪绦蛟O(shè)計教學(xué)過程中培養(yǎng)學(xué)生面向?qū)ο缶幊趟枷隱j].電腦知識與技術(shù),2008年17期, p1493-1495
作者簡介:
(方修豐,1974年生,吉林省白山市人,吉林農(nóng)業(yè)科技學(xué)院,講師。研究方向:計算機應(yīng)用;黃海鷗,1980年生,吉林省通化人,吉林農(nóng)業(yè)科技學(xué)院,助教。