時間:2023-09-28 18:00:30
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇課程開發和課程設計的關系,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:數據結構;課程設計;教學質量
數據結構是計算機專業的核心課程之一,是計算機軟件技術的基礎,以數據為中心講述問題如何在計算機程序中得以實現。該課程的教學不僅要注重學生對理論知識的理解,更要培養學生能針對具體問題,設計合理的數據結構,對數據進行有效的存儲、操作,并能完成相應的高效算法。課程設計的教學是整個教學環節中非常重要的一環,它彌補了課堂教學中實踐少的缺陷,其教學目標不僅要培養學生縝密的邏輯思維和數據抽象能力,更要培養學生在軟件設計領域科學的思維方式,將算法理論和編程實踐完美結合,能夠在工程實際中靈活應用。因此不斷改進課程設計的教學方法,提高教學質量是培養高素質軟件人才的迫切要求。
1存在的普遍問題
1.1編程語言基礎差
數據結構課程設計通常是在大二進行,算法是基于C/C++語言。雖然學生之前已先修過這些課程,但C++本身規則復雜,面向對象的思想不容易掌握,而學生又沒有經過系統訓練,普遍存在編程語言基礎薄弱、對調試程序的方法不夠熟練、程序結構設置不合理、代碼編寫可讀性差等問題。不少同學反映算法能聽懂,看教師演示一些實例也覺得簡單,但輪到自己編程就無從下手。這種狀況直接制約了學生完成課程設計的質量[1]。
1.2缺乏系統的軟件開發思想
計算機專業的課程體系中,軟件工程通常安排在數據結構課程設計之后,這樣學生在進行課程設計時,尚不具備軟件開發的思想。遇到問題時,只考慮怎么實現,沒有進行整體軟件開發的過程規劃,忽視了軟件的性能、質量、甚至于需求都不甚明確就急于動手編寫程序。這樣的做法使得課程設計的完成效率很低,經常需要返工。
1.3教師的指導“過多”或“過少”
課程設計中,教師的指導相當重要,但是目前存在兩個極端,有的教師對每個課程設計都講解得面面俱到,如何實現,用什么樣的存儲結構,所得結果等都作了交代,學生只是被動的接收者,這種“填鴨式”的教學方式制約了學生的創新能力。而另一個極端,有的教師認為課程設計是由學生上機完成的,教師督促學生,最后給出考評,對學生完成課程設計的過程關注太少,很多學生因此敷衍了事。教師如何把握指導的度,如何指導是學生能力能否得到提高的一個重要因素[2]。
1.4考評制度不合理
長期以來,課程設計報告被看成是評定學生成績的一個重要依據,而對學生軟件開發的過程關注不多,學生只要上交了報告就能獲得成績[3]。這樣的做法導致學生過度追求報告的整潔度、實驗結果的正確性等。甚至部分同學抄襲、直接從互聯網上下載報告交差。一個學期下來,除了交了幾份報告,學生的收獲甚少,課程設計教學效果甚微。因此,必須改革考評制度,才能真正培養學生的動手能力、創新能力。
2提高課程設計教學效果的措施
2.1規范軟件開發的過程,培養良好的編程習慣
在學生開始課程設計前,教師首先通過一個具體的實例,從需求分析、概要設計、詳細設計、編程測試等各個方面出發,讓學生了解完整的開發軟件過程。在數據結構課程教學中,所有算法均用可運行程序講解,避免出現懂算法不懂編程的現象。有意識地讓學生強化編程的技巧、調試方法、面向對象思想等內容。
我院數據結構課程組教師采用面向對象的思想,將數據結構中基本算法全部用C++模板類實現,學生通過多看、多讀這些規范的程序,取得了不小進步。
2.2梯度命題,循序漸進開展課程設計
課程設計以往是教師根據實驗指導書布置課題后由學生完成,部分學生感到難度很大,無從下手。現階段我們將課程設計改為驗證型、驗證設計型、設計應用型多種層次,針對各種基本數據結構,教師首先用模板類實現,學生在課程設計時先用實例驗證程序,在此基礎上,設計出預留的一些函數接口,實現該類的部分功能。最后再針對某一具體問題,由學生開發出完整的程序。這是一個由易入難的循序漸進的過程,學生通過驗證型實驗更加牢固掌握基本數據結構,再由驗證設計型和設計應用型實驗學會如何應用數據結構,如何在計算機中實現存儲,實現各種需求的功能。
下面以二叉樹部分內容為例,首先實現二叉樹的模板類如下:
/*二叉樹類*/
template
class BinaryTree
{
public:
BinaryTree():m_root(NULL){} /*構造函數*/
~BinaryTree()//析構函數
/*按以先序次序輸入結點值的方式建立二叉樹的接口函數*/
void Create1(ElemType ch[],const ElemType &endChar);
/*以二叉樹的先序和中序次序建立二叉樹的接口函數*/
void Create2(ElemType ch1[],ElemType ch2[],int );
/*先序遞歸遍歷二叉樹的接口函數*/
void PreorderTraverse (void (*visit)(const ElemType &));
/*中序遞歸遍歷二叉樹的接口函數*/
void InorderTraverse (void (*visit)(const ElemType &));
/*后序遞歸遍歷二叉樹的接口函數*/
void PostorderTraverse (void (*visit)(const ElemType &));
……
private:
BTNode *m_root;
/*按先序次序輸入結點值的方式建立二叉樹*/
void _Create1(BTNode* &,ElemType ch[],const ElemType &,int &);
/*已知二叉樹的先序遍歷次序及中序遍歷次序,建立二叉樹*/
void _Create2(BTNode * &,ElemType ch1[], ElemType ch2[],int ,int ,int &);
/*先序遞歸遍歷二叉樹*/
void _PreorderTraverse(BTNode* ,void (*visit) (const ElemType &e));
……
};
對于這樣的模板類,設定的驗證型實驗為:給定一棵二叉樹,驗證其先序中序和后序遍歷結果。在掌握了二叉樹遍歷的基礎上,設計出模板類中預留的兩個接口函數create1和create2。最后,安排設計型實驗為創建表達式樹;分別用三種遍歷方式遍歷該樹,比較它與實際的波蘭式、中綴式和逆波蘭式之間的區別;完成給定表達式樹的表達式求值運算。這樣有梯度地安排課程設計,一方面強化了基本概念,另一方面引導學生完成更復雜的設計。對基礎薄弱的同學來說,驗證型實驗難度不大,基本都能完成,大大增強了自信;對優秀學生來說,挑戰設計型實驗更能提高自身的能力。
2.3抽絲剝繭,層層深入啟發
學生遇到復雜問題時,往往一籌莫展,不知如何下手。教師應教會學生如何從問題本身出發,層層分析,應采用哪種數據結構,用到什么樣的操作,在這樣的操作需求下應用何種存儲方法比較合適,最后細化到具體的函數實現。
如教學計劃編制問題[4],要求根據課程和課程之間的先修關系,得到合適的教學計劃安排。首先分析這個問題是對有向圖進行拓撲排序,課程和課程之間的先修關系可用有向圖描述出來。數據結構為有向圖,存儲方式為鄰接表,應用的操作是拓撲排序。拓撲排序的基本思想是先輸出有向圖中入度為零的頂點,再從圖中刪除該頂點和所有以它為尾的弧,重復執行,直至圖中所有頂點均輸出為止。要完成拓撲排序,首先要求出圖中所有頂點的入度。拓撲排序算法中還用到了一個輔助的數據結構棧,因此還需要初始化棧、出棧,入棧,判定??盏炔僮鲗崿F。這樣層層分析下來,程序中需要的函數一一明了:創建有向圖、鄰接表的建立、求頂點入度、初始化棧、出棧、入棧、判定???、拓撲排序等。函數層次關系圖示如圖1所示。
圖1函數層次關系圖
通過這樣的教學方式,學生學會了帶著問題去思考,逐步學會將大的程序化解成若干小函數,最終經過整合完成整個設計開發。
2.4加強團隊合作,調動每位同學積極性
在課程設計中,針對每一種數據結構安排了一個工程性綜合實驗,這個綜合實驗由幾名同學組成小組合作完成。團隊成員分工明確,一名同學擔任組長,負責組織和控制組內的工作進程,強調任務落實到組內每一個同學。
教師布置任務后,每個團隊將軟件開發流程應用到課程設計中,實質性進行問題規劃、模塊劃分、項目整合等工作。只有團隊中每個成員都積極面對,整個團隊才能獲得優秀成績,無形之中鞭笞每位同學認真對待。在一個團隊中,大家集思廣益,可以跟伙伴一起交流,互相學習,形成共同進步的良好局面。
最后在驗收答辯時,團隊中每個成員都應匯報自己所做工作,教師和其他團隊可以提問,交流開發過程中的心得。
2.5改革考評制度,從多角度綜合考慮成績
合理的考評制度可以對課程設計過程進行有效的監控,通過考評體系可以反饋各階段的進展情況,便于總結經驗,找出不足,保證課程設計的質量和效果。課程設計考評有別于普通的課程評分,我分院數據結構課程設計的成績由幾個方面綜合決定:課程設計的內容、課程設計的實現以及實驗報告。各項考評指標均有一定的權重,能夠比較客觀公正地確定學生成績。其中課程設計的內容主要考慮學生所選課題的難易度、工作量多少。實現過程主要考慮完成情況、軟件代碼規范化、文檔規范化、答辯質量等,最后由學生提交設計報告進行總結和討論。設計報告除了包括常規的系統需求分析,概要設計,詳細設計,調試分析和實驗結果外,還鼓勵他們提出優化方案,對于每個課程設計再“多想一點”,即其他可能存在的求解方法,如已經使用了鏈式存儲結構實現,那使用順序存儲結構如何實現?各種設計的優缺點是什么?如何提高時間空間性能?通過總結,學生對問題有了更加深入全面的理解,鍛煉了擴散思維方式,培養了創新能力。同時教師對評價優秀的學生或團隊給與獎勵,促使學生之間形成你追我趕的良好學習氛圍,整體提高教學質量。
3結語
數據結構作為計算機專業的重要基礎課程之一,對學生軟件開發習慣的培養至關重要。提高課程設計教學質量不僅可以鞏固基本知識,還可以讓學生適應快速發展的軟件開發技術,激發學生學習和研究的興趣。本文從五個方面討論了提高課程設計教學質量的措施,通過一個學期的教學實踐,從效果上來看,這屆學生分析問題、解決問題的能力,綜合創新能力,學習積極性都比前幾屆學生有了明顯提高,絕大部分的同學都能順利完成課程設計并獲得較好成績,這為他們后續的課程打下了堅實的基礎。
參考文獻:
[1] 龐曉瓊. 案例驅動的數據結構課程設計教學改革實踐[J]. 計算機教育,2009(1):53-64.
[2] 陳越,何欽銘,馮雁.“數據結構”綜合性課程設計教學探索與實踐[J]. 計算機教育,2008(8):54-55.
[3] 李群,趙玉霞,莊波.《數據結構》實驗課程設計與探討[J]. 中國現代教育裝備,2007(3):27-28.
[4] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京:清華大學出版社,2006:180-182.
Discussion and Practice on Improving Teaching Quality of Data Structure Course Design
XU Chong, WANG Libo, JIANG Juan
(College of Computer Science, Hangzhou Dianzi University, Hangzhou 310018, China)
Abstract: Data Structure course design is an important professional practice lesson for computer major in university or college. According to the current situation of the low teaching quality for course design, based on the experience in our college, the paper puts forward several steps on improving the teaching quality, and then have been analyzed and discuissed.
關鍵詞:項目開發能力;教學過程;實施方法;考核方法
中圖分類號:G642 文獻標識碼:A
1引言
數據庫技術是計算機科學技術中發展最快的領域之一,也是應用最廣泛的技術之一,已成為計算機信息系統與應用系統的核心技術和重要基礎。當前,計算機的計算模式已由單用戶發展到主從式或主機/終端式結構、C/S結構、B/S結構,進而發展到了Web服務與網絡計算時代,而數據庫及其技術一直是它們的后臺與基礎。
當前國內軟件產業發展迅速,為了增強學生的就業競爭能力,必須全面培養學生的軟件項目開發能力,以適應時代的發展。學生在大學四年學習中,不僅應該掌握一定的理論與技術知識,而且應該樹立管理理念,建立項目工程思維觀念。
數據庫課程設計是學生實踐數據庫理論知識,真正掌握數據庫應用系統開發技能所必須的學習環節,目的在于培養學生面對大量而復雜的數據管理要求時,具備分析問題和解決問題的能力。我們于2004年完成對數據庫課程設計的教學方法改革,不僅在教學手段(包括課程設計的實施過程、考核方法等)上進行了體系化和規范化,而且與“軟件工程”課程結合,對兩門課程的實踐教學環節進行了整合。
通過兩課整合的課程設計,不僅使學生在理解數據庫理論的基礎上,實際動手開發一個實際的應用系統,而且培養學生應有的團隊協作、自主管理、主動學習、創新思維、綜合運用、動手實踐等能力,使課程設計真正成為學生驗證理論的“實驗場”,成為開發學生潛力、培養實戰能力的“戰場”,成為體驗項目開發過程的“運動場”。
2數據庫課程設計的教學方案
2.1基本內容
學生運用已學數據庫理論思想和數據庫設計理念,具體設計一個實用小型數據庫應用系統。開發設計過程按以下順序進行――自選課題研究方向,調查用戶需求,總結歸納數據流程,分析性能,書寫需求分析及總體設計報告(包括數據流圖、數據字典、數據庫概念模型、邏輯模型、系統功能模塊),完成應用系統的開發,匯報設計成果(包括撰寫設計報告、系統驗收、結果匯報),在這一系列工作中樹立學生項目開發管理思想,培養學生的綜合素質。
2.2進度安排
為使學生充分感受數據庫系統開發的全過程,安排課程設計進度如下。
2.2.1前期準備階段
該階段主要任務是理解數據庫、數據模型和數據庫系統的基本概念;掌握數據庫的概念模型、數據模型及數據
庫系統的設計方法;進而確立自選課程設計題目,并依據軟件工程中項目需求調研方法進行系統需求調研,繪制系統數據流程,提出系統要解決的問題。該階段成果主要包括3份報告。
(1) 系統需求分析報告:包括采用的工程開發模型,數據流圖和數據字典,系統功能。
(2) 數據庫信息要求報告:對數據庫中要存儲的信息及語義進行詳細描述,對數據約束和數據之間的關聯進行詳細描述。
(3) 數據庫的操作和應用要求報告:詳細描述數據庫的數據操作要求、處理方法和處理流程,畫出系統功能劃分的模塊圖。
2.2.2基本操作階段
主要任務是掌握數據庫系統的基本操作,包括SQL語言的應用以及利用DBMS的工具進行數據庫定義、維護、查詢及掌握數據庫安全性、數據完整性和并發控制技術等基本操作,初步設計系統測試數據,并能夠正確解決實際遇到的問題。該階段的成果包括一套系統數據表、關系以及基本數據。
2.2.3技術提高階段
該階段要求學生不僅掌握書本上的內容,而且還需要自學一些數據庫系統開發新技術和相關知識。主要任務是掌握數據庫備份和恢復技術以及有關的數據轉換、復制、傳送和數據庫系統編程技術。該階段成果為新技術交流討論資料。
2.2.4設計完成驗收階段
該階段教師通過3種方式對學生設計的應用系統進行全面驗收:系統運行測評、分小組成果匯報和上交課程設計報告。
2.3全程指導原則
在課程設計進行過程中教師僅從宏觀上把握一系列原則,讓學生自己有更大的可選范圍,實踐時間長,緊密結合應用,實現了在課程設計中全面培養項目開發能力的目標,體現了新課程教學理念。在方案實施中嚴格要求學生從理論出發,與實際項目結合,從而提高他們項目開發的綜合能力。
2.4評分原則
2.4.1根據數據庫系統總體結構對系統從三方面進行評測
數據庫原理、數據庫應用和數據庫設計三部分有機地聯系起來形成數據庫系統的總體結構,因此對課題設計的評測也從這三方面著手,達到對數據庫系統的主要內容和框架的評測。
(1) 數據庫原理部分:主要評測學生在數據庫的數據結構設計、數據庫系統總體設計以及數據庫安全保護方面完成的工作。
(2) 數據庫設計部分:主要評測學生如何將現實系統的數據通過某種數據模型組織起來,并利用DBMS系統提供的功能,完成結構及其約束的建立。
(3) 數據庫應用部分:主要評測現實系統業務邏輯的實現,即通過某種應用模式(C/S模式、B/S模式)和某些(個)程序設計語言、開發技術和工具,在數據庫設計以及DBMS平臺支持的基礎上,實現現實系統的業務功能,為用戶提供友好和人性化的業務操作界面。
該環節的目的是使學生對于理論課中涉及的內容和自學內容進行綜合實踐以達到對它們之間關系的清晰理解,實現理論與實際的緊密結合。
2.4.2嚴格把關和考核,確保每一名學生在課程設計中得到實實在在的鍛煉
由于課程是在學生第七學期開設,并且貫穿整個學期,很多學生面臨考研或其他一些畢業前的事務,為了防止有些學生對課程設計任務敷衍了事,我們對課程設計的考核方法進行了詳細規劃,實施過程考核,而不是結果考核。具體考核步驟主要分為以下幾個方面。
(1) 開題階段:在第1~3周進行,要求每組寫一份開題報告,包括課題內容、建立的需求分析及總體設計、小組成員任務分配、具體時間分配計劃等,審驗合格后方可進行系統開發。
(2) 中期檢查:在第8~9周開展,根據計劃表檢查學生開發進度,糾正問題,督促學生按計劃開展課程設計。
(3) 系統驗收:在第13周進行,學生演示系統,說明和解釋運行效果??疾榈闹攸c:每名學生是否完成了分配的任務以及任務量的多少、完成情況等。通過該階段以后方可進入答辯階段。
(4) 答辯:在第14周進行,每組學生指派一名代表進行陳述,然后進入教師提問環節(可提問小組中任何一名學生,為了鼓勵學生參與提問,凡是提問的學生可以獲得成績加分)??疾榈闹攸c:陳述是否清晰、回答問題是否正確。
(5) 課程設計報告:報告的編寫是考查一個學生總結工作,撰寫科技論文的能力。考查的重點:報告是否內容完整、充實,條理是否清楚,格式是否符合科技文章規范。
以上各個方面考查的結果,進行匯總和綜合評判,最后得出評分。
3數據庫課程設計的創新點
3.1整合課程
目前在我國項目管理人員奇缺,大多數項目負責人在技術上能獨當一面,而項目管理方面的知識缺乏,并且普遍存在著“重技術,輕管理”的思想,因此導致項目開發效率低、花費大。我們在課程設計中結合軟件工程課程中學習的項目開發管理思想,對整個課程設計任務進行全面管理與實施,樹立工程概念,培養團隊合作精神。主要從以下幾個方面強調管理理念。
(1) 認真執行需求分析與需求管理。
(2) 合理制訂時間執行計劃,記錄與分析時間分配效果,積累時間分配經驗。
(3) 個人分工明確,團隊合理協作,通過全過程管理理念的貫徹,提高學生的管理能力,培養學生團隊合作進行項目開發的素質。
同時各項目小組在課程設計的各個階段還需填寫階段性報告,包括項目開發計劃、小組角色的職責、需求規格說明書、概要設計說明書、詳細設計說明書、項目開發日志等。
通過全過程管理理念的貫徹,提高學生的管理能力,培養學生團隊合作進行項目開發的素質。
3.2豐富選題
教師推薦部分設計題目供學生選擇,學生也可以自擬題目課題。但是課題的選擇要由教師把關,主要依據以下幾個原則。
(1) 隨著Internet和Intranet的普及,網絡數據庫應用需求越來越廣泛,因此課題注重開發基于B/S或C/S結構的網絡數據庫系統,以適應時代需要。
(2) 選題要求學生盡量選擇實際需求的題目,這樣學生不僅可以走出“象牙塔”,通過調查走訪,了解國內計算機應用發展的狀況,開闊眼界,而且在開發一個真實項目中,帶來求學的動力,激發自主學習的渴望以及創造力。
(3) 對于虛擬題目,要求學生切合實際需要,符合發展潮流。
3.3工具多樣
市場實際可用的編程開發工具與日俱增,且不斷更新,為此在課程設計中,對于學生到底選擇哪種開發工具,不做過多限制,鼓勵學生自主選擇,使學生可以選擇自己感興趣的程序設計工具進行系統開發,一方面鍛煉他們自學的能力,另一方面也讓學生成為項目開發的決策者,這種“主人翁”意識使得他們變被動學習為主動學習,實踐證明學生自主學習的積極性和主動性直接決定了項目開發的成與敗。
實際運作中教師會隨時了解開發工具的發展形勢,提出指導性意見,使學生根據選題“量身訂做”工具,避免所選工具“大材小用”;跟上當前發展方向,實踐技術“與時俱進”。同時,要求學生以講座形式分類介紹所用新的開發工具,講解自己學習新開發工具之后的體會,通過這種研究性的學習方式,避免學生重復學習、盲目學習,同時打開眼界,更加廣泛了解技術發展局勢。
3.4彰顯個性
在完成數據庫應用系統基本功能的基礎上,鼓勵學生運用安全技術、多媒體技術和美術功底等突出系統特色,完善系統性能,培養學生綜合運用知識和創新的素質。
主要在以下幾方面做進一步要求。
(1) 強調系統中信息安全保護的實現,把理論課中關于“數據庫安全保護”的教學內容應用到所開發的系統中,學以致用。
(2) 用戶界面友好、設計合理、畫面優美反映系統設計人員的審美意識,強調色彩的協調,布局的合理,操作的方便。
(3) 各組之間允許選題相同,但必須突出本組特色,使學生通過競爭,努力發揮個人特長和創新意識。
3.5理論聯系實際
系統的評測按照數據庫系統的總體結構進行,從而達到對數據庫系統的主要內容和框架進行評測,使學生對于理論課中涉及的內容和自學內容進行綜合實踐,以達到對它們之間關系的清晰理解,實現了理論與實際的緊密結合。
3.6過程評測
課程設計分階段,每階段設有檢查與評估,既做到及時指導,又確保督促每一名學生在課程設計中得到實實在在的鍛煉??己艘罁h節的特點進行不同形式的考評,不僅培養學生的語言表達能力、編寫技術文檔、科技論文的能力,而且可以發現有組織能力的人才。
4實踐效果
依據匯總的五輪評測統計表格可以看到,學生在課程設計中,學習積極性高漲,開發出來的系統形式多樣,有單機版、C/S或B/S結構的網絡版,甚至C/S和B/S結合的網絡版,使用的數據庫管理系統從小型DBMS,如VFP、ACCESS到大型DBMS,如SQL Server、Oracle等,前臺開發工具從傳統的Delphi、VB到先進的.Net、Java等,學生們普遍樂于挑選新工具、新技術,積極檢索學習資料,參與網上BBS技術論壇,相互討論,全面體驗網絡學習環境的樂趣。各組學生除了完成系統應具備的功能外,都在努力突出系統性能特色,完善系統功能,發揮本組同學的特長。各組開發的系統基本符合課程設計總目標的要求,并有幾個系統成為他們工作后繼續研究的方向。
通過數據庫課程設計,表現出大部分學生具備參與一個項目開發的基本能力,并使他們動手實踐、自主學習、積極創新等科學素質得到很好的培養,反映出課程設計大大提高了學生綜合應用所學知識的素質,說明我們培養的學生具備終生學習的能力,能夠適應社會發展的需要。
5小結
學習是人生的一個環節,就業是大學學習后的現實目標。面對嚴峻的就業形勢,培養學生的實際動手人力,提升他們的競爭能力,是教師的責任。在課程教學過程中不斷探索新方法,開展課程教學過程的改革,是教師的必須任務。這里所做的數據庫課程設計改革,意在與大家共同探討如何幫助學生擺脫“沒有工作經驗”難于就業的尷尬局面。
參考文獻:
[1] 錢雪忠. 數據庫原理及技術課程設計[M].北京:清華大學出版社,2009.
[2] 苗雪蘭. 數據庫系統原理及應用教程[M]. 北京:機械工業出版社,2004.
[3] (美)Stephen R.Schach.面向對象軟件工程[M]. 黃林鵬,等譯.北京:機械工業出版社,2008.
[4] 張海藩. 軟件工程[M]. 北京:人民郵電出版社,2006.
The Training for Students’ Project Developing Ability in Database Course Design
WANG Yan-hong, ZHANG Xiao-li, JIANG Xiang-gang
(Department of Computer Science and Technology, Beijing Electronic Science and Technology Institute, Beijing 100070, China)
作者:王海舜 蔣巍巍 劉師少 單位:浙江中醫藥大學信息技術學院
1依據課程內在聯系
構建軟件設計系列課程群構成學生程序設計能力的計算思維、算法設計、程序設計與實現和系統分析能力四個基本要素,關鍵是提高計算思維、抽象思維、邏輯思維的能力,一兩門孤立的語言或算法課程無法完成,這需要從系統工程的角度進行整體設計,組合相關的系列課程構成相應的教學和實踐系統,并有一個循序漸進的深入過程,這一過程一般需要經過知識的積累、程序設計課程學習、軟件開發實踐等不同的環節,也就是要經歷啟蒙入門,發展提高和開發應用三個階段[2]。通過貫穿大學四年的程序設計類課程的學習,學生在程序設計啟蒙入門、發展提高和開發應用的不同階段都能夠很好地達到各個階段的教學要求,形成良好的學習習慣,循序漸進、潛移默化地養成程序設計能力。因此,依據程序設計能力不同培養階段的教學規律,我們應選擇對學生程序設計能力培養有著關鍵作用的課程組成軟件設計類課程群,課程群的主要課程可由以下課程組成。1)啟蒙入門階段:計算機導論、程序設計基礎、面向對象程序設計等。2)發展提高階段:數據結構、面向對象程序設計、計算方法、數據庫基礎、軟件工程、Java程序設計等。3)開發應用階段:網絡程序設計、數據庫開發實踐、醫學信息學、信息系統設計、醫學圖象處理等。建設課程群的目的是把原本相對獨立的課程在教學過程中有機融合,前后課程互相呼應,逐步深化,把學生引入門。在課程群內涵建設中,按“點—線—面—體”的思路構建課程群框架,即以每門課程的主要知識點為基礎,把程序設計類主干課程串成前后有機銜接的教學“線”,在課程群的“面”上構建課內外相關的任務驅動學習激勵機制,最終形成軟件設計課程群的體系結構和系統化的程序設計類課程教學框架[4]。在具體實踐中,從分析課程群每門課程的知識點入手,從知識點內涵、教學要求、教學策略以及與前驅知識點和后續知識點關系等多個維度建立課程群中課程的知識架構的點、線關系,進而形成相關課程知識點前驅、后續知識點互相融合匯聚的知識面和課程體系。在此基礎上通過完善相關課程教學大綱,達到目標明確、層次分明、定位正確、強化基礎、拓寬專業知識面的應用型人才培養的要求。
2建立基于混合式學習的程序設計課程群教學模式
混合式學習(BlendingLearning)將傳統的課堂學習方式和數字化學習方式有機整合,根據程序設計能力培養的啟蒙入門、發展提高和開發應用不同階段教學特點,圍繞程序設計能力的“算法設計與分析能力、程序設計與實現能力和系統分析、開發能力”的遞進培養目標,從混合式學習課程導入機制、多元化的程序設計課程活動組織策略、課內外學習支持以及教學評價等四個教學環節,從啟蒙入門、發展提高、開發應用不同階段組織開展混合式學習[5-7]。2.1啟蒙入門階段從程序設計能力入門訓練入手,其重點在算法設計與分析能力的培養。針對大一、大二學生程序設計啟蒙課程主要有計算機導論、程序設計基礎等;教學圍繞基本知識點訓練編程思路、算法設計與分析方法,引導學生入門;教學活動組織中側重于以班集體為單位的理論和實驗教學,同時結合程序設計競賽、課程設計、大作業等開展課外編程學習;建立BB平臺、開發上線ZCMUOJ(ZhejiangChineseMedicalUniversityOnlinejudge:浙江中醫藥大學在線編譯)系統,使之成為程序設計階段課外學習平臺,把師生面對面及借助網絡和BB平臺的輔導相結合,通過檢查平時程序設計作業完成情況和程序代碼數量和質量,以及期末的現場程序設計實驗考試,進行學習成績綜合評價。2.2發展提高階段發展提高階段重點在程序設計與實現能力培養,從軟件工程的角度,研究從程序設計到軟件設計能力培養。本階段主要是針對大二、大三學生,主要課程有數據結構、面向對象程序設計、計算方法、數據庫基礎、軟件工程等;該階段的教學側重在程序設計的綜合性、整體性素養培養,綜合相關課程設計任務,以設計性、綜合性實驗為主,重點圍繞軟件開發的完整流程開展實踐,強調團隊分工與協作;以小組協作方式為主,根據各課程知識間的依賴特性從課程群的角度組織開展課程設計與假期實踐;同時,強化軟件集成開發環境(如VisualStudioTeamSystem、Eclipse等),版本控制工具(如CVS等)等協同開發環境的應用;教師的角色也隨之從“教”師變為“導”師,提供實踐思路與方法的指導,引導小組成員協作學習、角色扮演、討論交流;教學評價側重于程序開發、文檔撰寫、軟件評測、團隊協作等多個角度,通過小組自評、組間互評與教師評價等方式綜合考量。2.3開發應用階段開發應用階段重點在系統分析、開發能力培養,軟件團隊合作開發訓練,基于常用團隊協作軟件開發平臺的軟件開發訓練。針對大三、大四學生結合計算機應用領域,特別是我校醫學領域信息開發的優勢,從醫學信息學的角度,開展跨學科的醫療衛生信息化項目開發實踐。該階段課程群主要課程有醫學信息學、信息系統設計、Java程序設計、網絡程序設計、數據庫開發實踐、醫學數字圖象處理等;該階段以項目實訓、企業實踐為主,重點圍繞醫學信息工程軟件開發、網絡管理軟件、數據庫管理軟件開發等以及軟件測試等多種角色開展教學;以團隊分工協作的方式開展課程設計、項目實訓和科研項目開發,并與相關衛生信息化企業合作開展企業實踐,組織學生參與醫院信息化項目研發;由相關教師組成導師組,以客戶經理、項目經理等角色給予項目團隊方向、思路、策略的指導,教師參與并鼓勵學生借助網絡等相關資源共同研究解決完善相關問題;通過項目答辯的形式檢查實訓成果。
3以任務驅動的課內外程序設計推進機制
程序設計能力的培養,僅靠課內的教學是遠遠不夠的,需要建立完善的課外程序設計學習機制,激發學生學習積極性和學習潛力,為此,我們主要采取程序設計類課程布置的課外大作業、課程設計任務以及參與教師實際科研項目開發等多種途徑來驅動學生的課外參與程序設計能力訓練,同時建立多種形式的驗收講評和評價激勵機制,任務驅動與激勵機制的結合是引導學生課外開展程序設計一種有效措施[8]。3.1啟蒙入門階段以程序設計競賽為抓手在低年級學生的程序設計能力啟蒙入門階段,以實施課外程序設計競賽為抓手,從程序設計能力培養與訓練入手,根據程序設計能力的教學規律,建立不同難度、不同層次的課外程序設計訓練和競賽為主的學習激勵機制;設計開發適合我校學生特點的ZCMUOJ系統,使之成為學生參與程序設計的主要學習支持平臺。為了吸引同學參與課外程序設計,我們建立了周賽、月賽、學期比賽以及單挑賽等多種形式的程序設計競賽機制,刺激學生的參與興趣。平均每周組織一次程序設計周賽,每月組織一次個人單挑賽和團體月賽,每學年分別組織學院比賽和學校比賽,參與人員覆蓋了計算機專業一二年級70%學生。以程序設計競賽為主要抓手的程序設計能力培養使學生程序設計能力明顯提高,低年級學生完成課程設計的編程難度和代碼數量明顯提高,學習程序設計的興趣明顯上升,特別是在ACM比賽中,我校2011年浙江省ACM程序設計競賽中獲銅獎三項;2011年4月,我校在ACM-ICPC亞洲賽區晉級賽福州站比賽中獲銅獎1項,學校排名25位;在2011年9月第36屆ACM-ICPC國際大學生程序設計競賽亞洲區預賽大連站比賽中獲銅獎1項。3.2發展提高階段以課程設計為抓手大二和大三學生已初步掌握程序設計基礎,需要提高發展程序設計能力,突出軟件工程角度的軟件工程化開發能力的培養。軟件團隊合作開發訓練采用企業通用的集成開發環境和軟件版本控制工具進行軟件開發訓練。此階段主要采取相關課程的課程設計和二年級小學期的集中課程設計等多種形式實現程序設計。例如在“數據庫開發”課程中,采用案例教學,啟發學生開展課程設計,通過剖析數據庫開發案例,詳細展開需求分析、模型設計、程序設計、程序測試以及系統等各個環節的實現方法,引導學生從單一程序設計到較為復雜的軟件系統開發的過渡,培養學生軟件工程素養和軟件開發能力。3.3開發應用階段以項目開發為抓手大三和大四學生已經掌握了軟件開發的基礎,但需要更多的實際項目開發實踐,以便迅速提高軟件開發能力。對此,我們采取課程教學中的模擬項目開發和實際軟件項目開發相結合的激勵機制。針對全體學生,在后續的醫學信息學、信息系統設計等課程中開展模擬軟件工程開發全過程的程序設計。例如在醫學信息學課程教學中,把完成一個醫院信息系統子模塊設計開發作為貫穿于整個教學過程的任務,要求人人都參與項目開發,并且要用軟件工程的方法來實現項目開發。以班級為單位,開發醫院信息系統的一個子系統,模擬實際項目開發,分層管理,班級設立項目經理和技術總監,負責項目實施管理和技術管理,3至4人為一組,設立項目組長,負責項目模塊的開發,要求每組完成需求、概要設計、詳細設計和軟件測試四個文檔,并且結合醫院信息系統參觀調研,完善需求分析和設計。通過課程設計,嘗試對軟件設計全過程,特別是軟件開發團隊的合作,這對提高同學們軟件設計能力有很大的幫助。同時,在課程設計成果考核評價中,我們讓項目團隊中每個人上臺宣講自己所做的工作、演示系統,學生代表評分與教師評分相結合。自2005年級至2008年級,共五屆490名計算機專業的學生參加醫學信息學課程設計,共完成22個門診或住院子系統,100個子模塊。同時,通過公開招募考試等形式,召集一些軟件開發能力較強或學習能力較好的學生參加寒暑假教師的實際科研項目開發,并使之形成班級軟件開發的骨干力量,進一步帶動整個班級的軟件開發氛圍。
4結語
在實踐中,我們認識到程序設計能力培養是一個從啟蒙入門、發展提高到形成綜合軟件開發能力的循序漸進過程,在程序設計能力培養實踐中,我們根據程序設計能力培養的教學規律,依據課程內在聯系構建軟件設計類課程群架構,針對各個不同階段,制定培養對策,采取網絡混合式學習、任務驅動、競賽激勵等多種形式的教學策略,特別是注重營造學習程序設計的氛圍,激發學生主動學習的激情,在教學實踐中取得了較好的效果。
關鍵詞:“立體”教學法;整合打包;學生虛擬團隊
作者簡介:關穎(1978-),女,錫伯族,遼寧撫順人,沈陽工程學院信息工程系,講師;衣云龍(1980-),男,黑龍江九三人,沈陽工程學院信息工程系,講師。(遼寧 沈陽 110036)
中圖分類號:G642.423 文獻標識碼:A 文章編號:1007-0079(2013)22-0162-02
軟件工程專業以計算機科學與技術學科為基礎,強調軟件開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟件需求分析、軟件設計、軟件測試、軟件維護和軟件項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟件開發、測試、維護和軟件項目管理的高級專門人才。目前軟件工程專業雖然也在大力提倡和實施能力培養的教育理念,在教學上以項目為依托,以教育教學質量提升為出發點和落腳點,以內涵建設為核心,理論與實踐相結合,強化應用與推廣,以國際化的視野深入研究教育教學改革過程中的新情況、新問題、新要求,不斷提高教研水平與能力,全面提高人才培養質量,但是在具體實施中還存在一些問題有待改進。
一、目前課程安排中存在的問題
(1)專業課配套的課程設計設置的實踐時間比較短,基本上1~2周,在這么短的時間里學生很難將理論上的知識全面、深入地融入到實踐過程中。
(2)通常課程設計大多開設在期末考試之前,課設一結束就進入考試周,學生的重心都放在緊張的備考當中,很少有人能夠認認真真、踏踏實實地進行課程設計。
(3)目前很多專業課都有自己配套的課程設計,但設置的太離散,不同課程的教師各自負責各自的課程設計,彼此沒有交流,對于一些課程相關的課程設計,給出的課設題目基本不同,學生分組的情況也不同,這樣會造成學生所做的課設項目不連續,團隊能力得不到很好地提升。
(4)很多課程設計的內容重疊,學生會花掉大量的時間在重復的工作上面,例如對于軟件設計類的課程設計,都需要有系統需求分析、數據庫設計與實現等,對于如此緊張的課程設計時間,學生所能學到的新知識就很有限了。
為此,根據相關專業課內在的知識關聯性,重新構建和打包課程設計等實踐活動,探索一個能夠真正提高課程設計效率、讓學生能夠真正從課程設計中獲益的實踐教學方法對于培養應用型人才至關重要。
二、“立體”教學法的教學模式
首次提出了“立體”教學法的概念,闡述了課程設計整合打包、實踐活動開展與實踐內容三者之間的關系,如圖1所示。進而提出“學生虛擬團隊”的組織形式、虛擬角色、責任、載體活動和量化評價標準,這些都可以為其他工科專業提供一個參考示范。
1.整合打包相關課程設計(“立體”項目教學法圖示的x軸)
由于一些專業課的工程特點,它們之間的聯系非常緊密,使得在不管單獨針對哪門課進行課程設計時,都會感到“內容孤獨”或者“內容重復”的感覺,為此,筆者把一些專業課程的課程設計進行合并,讓學生們能夠把相關課程內容有機地結合起來,根據工程特點“一氣呵成”,有效地克服了在撰寫課程設計報告時容易出現的內容重復性。例如,把“系統分析與設計”和“Web程序設計”這兩門課程的“課程設計”進行了合并。
2.分解實踐內容(“立體”項目教學法圖示的y軸)
軟件開發的完整過程主要包括分析、設計、編碼和測試四個階段?!癢eb程序設計”課程設計的重點是讓學生從一個模擬的實際應用開發來了解、熟悉軟件開發的全過程,而“系統分析與設計”課程設計的重點是軟件開發過程的前兩個階段——分析、設計,因此在“Web程序設計”課程設計時可以直接利用“系統分析與設計”課程設計的結果,這樣既保證了項目的連續性,又為“Web程序設計”課程設計的編碼、測試階段贏得了充裕的時間,使學生可以更多更好地掌握些編程語法及實用技巧,積累編碼經驗,有效地避免了重復性工作。
3.實踐活動的開展(“立體”項目教學法圖示的z軸)
運用“學生虛擬團隊”組織形式貫穿整個理論教學和實踐教學,使其緊密的結合在一起,在理論教學中加強實踐教學,在實踐教學中升華理論教學,為目前所提出的“案例教學”、“項目教學”、“問題驅動”等各種教學方法提供施展的平臺,使之得以很好地發揮和實現。
三、“立體”教學法的具體實施
建立基于“學生虛擬團隊”的教學實踐活動和過程,通過在授課過程中以“學生虛擬團隊”形式布置“大作業”,解決“課堂與實踐、個人與團隊”之間的關系。具體實施如下:
(1)針對“課程設計”進行改革,把課程設計的內容分解到課堂教學中去,以“大作業”的形式進行布置完成,有效地解決課程設計學時不足和學生理解思考過程不足的難題,增加了學生理解和設計的時間。
(2)根據人類對新知識學習通常采取“模仿、理解、創新”的規律,把軟件企業實際應用的設計、制造、測試和管理模板帶入到課堂與實踐教學中來,為學生們提供了一個真實的、易于理解和模仿的知識載體,真正實現了教學內容“模板化”。
(3)為了讓同學們體驗團隊合作的過程,鍛煉他們個人溝通能力、團隊合作能力、抗壓能力、沖突解決能力等,在專業課授課和實踐教學過程中,筆者將按4~5人編制小組,每個人都擔當一定的社會角色,所有的活動都是以小組的方式進行管理,同時還要求每個小組必須每周召開一次小組周會,并進行每周周會記錄以便監控各個小組活動情況。
(4)為了讓同學們有一個充分展示自我的機會,鍛煉學生們的交流和表達能力,在課程設計的尾聲筆者將創建“團隊發表會”和“作品分享會”。
四、在實踐教學過程中的量化考核
針對學生虛擬團隊在課程設計等實踐教學環節中的表現,設計了10個方面的評價指標:任務難度、任務完成量、任務完成質量、任務完成狀況、文檔規范性、調查能力、小組周會出勤、參與積極性、團隊協作意識、執行力。按學生在項目組中承擔的任務量、完成質量、文檔規范性、參與積極性、執行力等10個方面,由組長進行量化評價,該評價結果直接作為課程設計成績的重要參考依據,這些指標全部來源于企業調研,全部是企業對學生就業考核的指標之一。
五、結論
本著堅持以軟件項目過程(啟動、需求、分析、設計、制造、測試、維護)為導向,以特色核心課程為基礎,以國際工程教育理論(CDIO)所倡導的4大能力培養(工程基礎知識能力、個人能力、人際團隊能力、系統工程能力)為目標,以“學生虛擬團隊”為學習組織形式,探索性地構建了根據相關專業課的內在知識關聯性,重新構建和打包相關課程的課程設計,并在幾屆軟件工程專業課教學過程中進行了實踐,得到了學生們的認可,使學生們的實踐能力得到了很大的提高,直接反映在參與教師們科研、教研項目的人數急劇增多,畢業生的就業人數及就業單位對口的數據均得到了大幅提升,達到了預期的效果。
參考文獻:
[1]趙輝,李萬龍,鄭山紅.軟件工程課程教學改革的研究[J].長春工業大學學報(高教研究版),2006,(4).
[2]田保軍.軟件工程課程教學改革的研究[J].計算機教育,
2007,(23).
[3]孫為軍.“軟件工程”課程的教學研究與實踐[J].廣東工業大學學報(社會科學版),2005,(S1).
[4]馬林兵,王海仙.“GIS軟件工程”課程的多元教學法探討[J].高教論壇,2008,(5).
[5]段麗英,李紅娟.軟件工程課程教學的幾個方法[J].福建電腦,
一、分層次培養學生的程序設計能力
程序設計能力培養是由多門課程即“課程群”和很多教師共同完成。培養學生程序設計能力,可分四個層次[1]:基本程序設計能力、模塊化程序設計能力、數據庫應用系統開發能力以及多層分布式系統開發能力。這個四個層次有一定的邏輯先后關系、相互聯系和相互促進。在教學過程中,狠抓學生這四個層次程序設計能力的訓練培養。
二、基本程序設計能力的培養
基本程序設計能力是程序設計能力進一步提高的基礎,也是后續許多計算機專業課程學習的基礎,由大學一年級第一門程序設計語言課程來完成,對于大多數學生來說,這是一個新的領域,因此必須高度重視。學生的基本程序設計能力表現為能比較熟練地運用一門高級程序設計語言提供的數據類型、運算符、語句和函數和過程獨立地編寫解決簡單問題的程序,在一定的程序設計集成環境下獨立地上機調試程序,掌握最基本的程序測試和調試的方法。為了有效培養學生基本程序設計基本能力,在教學過程中 從程序設計語言的選擇,教材的選用,到任課教師的安排,都必須進行周密的考慮。
根據多年的教學實踐經驗,譚浩強編寫的《C語言程序設計》作為程序設計課程的啟蒙教育,是比較好的選擇;教學人員安排,要求至少具有三年教學工作經驗、工作責任感強的老師擔任此課程的教學。
三、模塊化程序設計能力的培養
學生在學完第一門程序設計課程后,只掌握基本程序設計能力,能編寫處理一些簡單的問題程序(代碼通常不超過20行)。對于復雜一點的問題,還不能運行模塊化技術分解一個程序的功能進行設計程序。模塊化程序設計能力培養主要由《C語言課程設計》完成,由《C語言程序設計》教師擔任,更利于學生能力培養。在《C語言課程設計》中,教師重點培養學生抽象思維能力,對程序要解決的復雜問題按功能進行分解成一個個具有獨立意義的子功能,用C語言函數分別實現各個子功能,并使每個函數包含程序代碼長度符合學生容易理解的代碼長度。
案例教學法是快速培養模塊化程序設計能力的有效教學方法。任課教師精心準備幾個典型的案例[3],并對這些案例進行詳細分析、講解,讓學生運行程序和閱讀程序代碼,分析程序中各函數的功能和算法,分析各函數間的調用關系,使學生對程序的一般組成和結構有一個直觀的認識,然后讓學生模仿一個類似的實例,編制一個程序實踐,使學生逐步適應和學會運用抽象思維方式,學會模塊化程序設計技術,編寫出有一定規模、具有一定實用性的程序的能力,從而掌握模塊化程序設計的基本思想。在后續課程學習中,如《數據結構》、《操作系統》,教師要對模塊化程序設計技術做進一步加強、提高。
四、數據庫應用系統開發能力的培養
信息管理系統應用非常廣泛,信息管理系統實際上就是數據庫應用系統,因此,數據庫應用系統開發技術是計算機專業類學生必須掌握的技術。數據庫應用系統開發能力(單機環境)的培養主要是通過《數據庫原理》、可視化面向對象程序設計(如VB)等課程設計完成。
在實踐教學中,主要采取兩項措施保證這種能力的訓練。一是教師講解數據庫原理、面向對象程序設計(如VB、Delphi)課程時,一定要仔細分析一個信息系統開發案例,如“圖書管理系統”,“人才信息管理系統”,“學生信息管理系統”等等。這種生動實用的案例學習,能激發學生的學習興趣和動力,也很容易使學生理解掌握數據庫應用系統開發的一般規律。二是通過隨后開設的《數據庫課程設計》、《VB課程設計》、《Delphi課程設計》,要求學生自己用學到的知識,嚴格按照軟件工程的思想,開發數據庫應用系統實例。這種反復的訓練,使學生數據庫應用系統開發能力得到進一步鞏固、完善。
五、多層分布式系統開發能力的培養
隨著Internet/Intranet網絡的發展與廣泛應用,應用系統的規模不斷擴大,業務量的變化,用戶需求的進一步提高,多層分布式應用系統開發模式成為系統開發的主流,掌握多層分布式系統開發的基本過程、思想,也成為學生程序設計能力必不可少的教學內容。這種體系結構的軟件設計,要考慮兩個個方面的問題,一個是業務邏輯層(也叫應用服務器)設計,是程序設計的一個重點難點。另一個是網絡環境下,軟件系統部署和運行在多臺計算機上,需要相互協調地工作,必須考慮網絡通信協議的使用,客戶端與服務器之間怎樣建立連接,以及怎樣實現數據的交流等因素。
這個層次通常在數據庫應用系統開發能力培養和計算機網絡課程開設后進行。多層分布式系統開發編程技術訓練,可以在第三個層次培養案例基礎上進行,只需將系統的單機環境改為網絡環境,教師學生都只要把精力重點放“多層、分布式”技術上,既節約了時間,而且效果好。
六、加強實踐環節要求和管理
計算機課程光是“聽老師講”和“自己看書”是絕對不夠的。在努力提高課堂教學的同時,必須大力加強實踐環節的要求和管理?!袄碚?實驗+設計”教學模式,表明實踐環節的重要性,但還得管理好實踐環節。對于課程的實驗環節主要從以下幾個方面加強落實管理。
一是抓好常規實驗。教師必須認真對待上機實驗課,要像理論課教學那樣,每次都要明確指明實驗的目的、要求,對上機實驗內容要精心安排,對學生上機實驗要嚴格監督。
二是抓好課程設計,即綜合實訓。為了快速、有效培養這方面的能力,通常由課程設計的指導教師,分析幾個代表行的案例,然后由教師布置一些事先想好的課程設計作業,以小組為單位進行課程設計。每一個小組要挑選一到兩個專業素質較好的學生擔任正副組長,讓他們對本組項目全權負責,充分發揮優秀學生在課程設計中的積極作用,既可以減輕指導教師的壓力,又有利于課程設計質量的保證,發揮學生的創造能力。課程設計落實得好,將使學生的知識運用能力和程序設計能力得到迅速成長,教學效果也顯著。
為了保證學生認真對待實踐環節,防止學生復制或不做,比較好的辦法是要求每個學生提交實踐作業,并進行批閱,批閱的成績,參與課程結束的期末成績評定,實踐表明,這種辦法效果非常好。
三是組織各種程序設計比賽,鼓勵學生自己積極編寫程序代碼,對于程序代碼編寫多又好多學生,給予表揚和適當的物資獎勵,提倡在大學畢業前,編寫10萬行代碼。試想一個在校大學生,如果編寫了近10萬行的代碼,程序設計能力一定達到較高水平。
七、將科研項目與學生程序設計能力培養結合起來
教師要積極參加科研活動,通過科研項目活動不斷提高科研水平、教學水平和實踐水平。在進行科研過程中,可以將優秀好學的學生吸收進來,共同完成科研項目的開發。將科研與學生程序設計設計能力培養兩者結合起來,不但提高了教師的實際項目開發能力,也培養了學生的知識應用能力、解決實際問題能力和程序設計能力。
關鍵詞:數據庫課程設計;實踐教學;軟件工程觀
中圖分類號:G642 文獻標識碼:A 文章編號:1007-0079(2014)21-0022-02
教育部2012年對《普通高等學校本科專業目錄》和《普通高等學校本科專業設置管理規定》進行修訂。以此為契機,結合華北水利水電大學(以下簡稱“我?!保┸浖瞬排囵B模式,根據軟件工程專業的培養目標和培養要求,積極借鑒“高等學校本科教學質量與教學改革工程”實施以來的教學改革理念、措施和經驗,對“數據庫課程設計”實踐教學環節存在的問題進行反思,提出將工程設計的理念固化在課程設計的各個環節,對其進行改革和研究,旨在提高學生的實踐動手能力和自主創新能力。
一、“數據庫課程設計”現狀概述
“數據庫課程設計”為軟件學院(以下簡稱“我院”)軟件工程專業在學習完“數據庫系統”(包括“數據庫原理”與“數據庫應用”)課程之后于學期末獨立開設的一個綜合實踐教學環節。實踐教學在工科教學領域是一個不可忽視的環節,它不但是理論知識得以遷移的手段,也是抽象與具體、理論與實踐結合的基點。數據庫系統是一門理論性、實踐性均非常強的課程,開設該環節旨在加深學生對數據庫系統相關理論知識的理解,培養學生分析、設計和編程實現數據庫應用系統的能力,并在具體的數據庫應用系統開發過程中強化學生的專業技能。
“數據庫課程設計”是讓學生獨立地根據具體的應用環境,構造滿足相應需求的數據庫應用系統,它屬于設計性實驗范疇。設計性實驗不但能夠促使學生運用所學知識培養綜合解決問題的能力,而且也會充分激發學生的學習動機,培養學生的學習興趣,加強學生的實踐能力。但在目前的實施過程中達不到預期的效果,通過分析和反思主要原因如下:
1.輕視實踐教學環節
“數據庫課程設計”于學期末開設,為期2周。從時間上考慮課程已全部結束,從心理上處于一個放松的狀態,已不能全身心地投入學習。且時間較短,學生總以為2周的時間學不到專業技能,不能充分認識安排實踐環節的目的和重要性,缺乏學習的興趣,不能積極參與。
2.缺乏軟件工程觀念
在學習完“數據庫原理”之后進行“數據庫課程設計”,大部分學生認為該課程設計只需編程完成數據庫的建立、各位數據庫對象的建立及數據的添加、刪除、修改和查詢等功能。學生根據老師布置的課程設計題目馬上就做這部分工作,對系統設計缺乏一個整體認識。這部分工作一天時間足以完成,在實際的實踐教學環節中,學生大部分時間會浪費在數據庫的連接、登錄等問題上。這就出現了重程序設計技能,[1]輕軟件工程方法,熱衷于探索各種機巧的程序設計方法,忽視需求分析、評審、測試等軟件工程的基本原則與方法。
3.考核模式過于傳統
“數據庫課程設計”作為一個獨立的實踐教學環節,傳統的考核方式為出勤率(10%)、電子版系統(30%,界面+數據庫連接+數據庫設計)和紙質課程設計報告(50%),沒有對學生所設計的數據庫應用系統進行深入分析,投入的人力、精力不足,沒有充分調動學生的自主創新能力。
如何充分發揮“數據庫課程設計”的作用,收到良好的教學效果,是本次教學改革的主要研究任務?;谝陨戏治?,主要從以下幾個方面進行研究。
二、課程設計實踐環節改革思路
1.任務提前分配
通過“數據庫系統”課程的教學及“數據庫課程設計”實踐教學環節的實施,經過反思和討論,認為通過對課程設計任務的提前分配可以充分認識到實踐環節中的要求,調動學生的學習興趣積極參與其中。關鍵問題是任務如何分配,提前到什么時候。
“數據庫課程設計”是在學習完“數據庫系統”課程之后于學期末開設,課程與實踐環節是前后連貫的。那么在講授“數據庫系統”時就把“數據庫課程設計”的題目、內容、要求、目標及成果提交的方式等分配給學生,在學生認識到學習完課程之后還有一項重要的任務。在學習課程的過程中,學生自己就能認識到學習的重點與難點。
“數據庫系統”課程與“數據庫課程設計”各個環節的對應關系如圖1所示。
2.注重題目設計
“數據庫課程設計”的第一個環節:題目的設計,至關重要。教師查閱資料,認真選題。首先題目的難度要適中,若選題簡單,會讓學生誤認為數據庫應用系統開發是一件很容易的事情,學生不能在設計中全面了解數據庫設計的全過程及數據庫系統的各種功能,達不到課程設計的目的;若選題過難,部分學生會知難而退。其次,題目要充分,避免抄襲現象,要設計到較多的領域,題目示例如表1所示。由于在學期初進行任務分配,學生有充分的時間對自己感興趣的題目進行詳細地實地調研,并能讓學生充分認識到所學的知識并不抽象,能用來解決現實生活、工作中的實際問題,理論與實踐完美結合。
由于學生的工作經驗和社會閱歷都不夠豐富,在給出題目時,不但包括系統應該完成的功能需求,也包括一些描述系統的素材,同時還對各系統中現實環境中的情景用flash或DV制作了一系列的虛擬片斷,從而為學生直觀地理解系統中的業務需求奠定了基礎。[2]
3.培養團隊合作意識
學生分組,每組一題,不能重復,組內成員分工合作,培養團隊協作能力,避免出現注重個人程序設計技能的運用和各種經典程序設計難題的解決,輕視團隊協作能力和具體項目環境下的工程開發能力。
尤其在設計環節,要求學生靈活運用學過的知識進行設計,給同學們提供了較大的思維想象空間,調動了學生的學習興趣,勤于思考,充分表達對不同設計的看法,然后集體討論和總結,發揮集體的智慧,得到較優的數據庫模式。
4.加強軟件工程觀
根據學生在進行數據庫信息系統設計時重編程、輕設計的問題,提出把軟件工程的觀念貫穿到信息系統設計的各個環節?;趪H軟件工程學科CC-SE2004規范,軟件工程的教學與實踐,從早期注重培養學生的軟件工程觀。
軟件開發過程是一個系列活動,應包括:需求分析、軟件設計、實現與調試、測試與驗收、部署、維護等活動,具體過程如圖2所示,在此過程中要借鑒工業工程中的“過程決定質量”的理論,強調過程對于軟件開發的作用。[3]由此可見,編程只是其中很小一部分工作,應把重點放在分析和設計階段。
為幫助學生以工程方法構建中小規模軟件系統的知識和技能,演示一完整的項目作品,并制作開發視頻,視頻中展示數據庫應用系統開發中每個階段的主要任務和具體做法,尤其是需求分析和項目設計階段,從而避免重編程實現而輕分析、設計的現象。
5.考核模式創新
為充分調動學生積極參與到課程設計各個環節,課程設計最后一天,每個設計小組分別答辯,講解項目開況并回答老師提出的問題,最后提交課程設計報告。最終的成績由考勤記錄、課程設計報告和答辯三部分組成,成績比例為2:3:5。該方式可充分調動學生的積極性,讓每個學生均參與其中。
在此基礎上,院里可以組織系統設計大賽,課程設計的作品可以參賽,并把獲獎作品上傳到院系網站,讓學生自己進行投票,評選出界面設計獎、功能獎、代碼設計獎等獎項。
6.實踐效果的評價與反思
在課程設計結束后要做好教學效果的反思工作,通過問卷、交談、建議等方式了解學生的心得體會,[4]特別是在實踐動手能力方面的收獲以及不足之處,以便進行教學改革,逐步提高教學水平,達到更好地教學和實踐效果。
三、總結
根據軟件工程專業特色,對“數據庫課程設計”實踐教學環節的任務分配、題目設計、團隊意識、軟件工程觀及考核模式等方面進行改革和研究。近幾年的實踐表明,改革后效果良好,提高了學生的實踐能力,達到了課程設計的預期效果。
參考文獻:
[1]何福保,道,胡開華.基于項目模擬實訓的“數據庫課程設計”教學方法研究[J].福建電腦,2012,(1):31-32.
[2]劉智,劉加伶,閆河,等.數據庫課程設計的教學思路與實施[J].軟件導刊,2009,(1).
[關鍵詞]職業教育 課程設計 方法
中圖分類號:G710 文獻標識碼:A 文章編號:1009-914X(2014)21-0237-01
課程問題是學校教育的核心問題, 也是開展教育改革的難點問題。隨著我國職業教育改革的不斷推進和深化,課程問題也逐漸凸顯為我國職業教育改革的根本問題, 對職業教育課程問題的研究也就成為職業教育研究的重點、難點。本文主要從方法論角度對職業教育課程問題作一些探討,期望對職業教育課程的改革有所裨益。
1.注重課程設計技術應用性。
職業教育人才培養模式的基本特征為: 以培養適應生產、建設、管理、服務等一線需要的高等技術應用性人才為根本任務; 以適應社會需要為目標, 以培養技術應用能力為主線設計學生的知識、能力、素質結構和培養方案, 畢業生應具有基礎理論適度, 技術應用能力強, 知識面較寬, 素質高等特點; 以“應用”為主旨和特征構建課程和教學內容體系。因此職業教育不同于普通高等教育,職業教育人才培養應走“技術應用型”的路子, 而不是“學術型”人才培養。職業教育就是讓學生在接受較完整的高等教育的同時, 具備較高超的職業技能。因此職業教育的專業設置要有明確的職業針對性, 培養目標為高素質、高技能型技術應用性職業人才, 簡稱“技術應用性人才”。技術應用性人才處于社會總體勞動鏈環的終端, 是社會物質財富的直接創造者, 是社會運行過程的具體執行者。因此技術應用性人才在知識結構上應具有應變、綜合和創新的特征, 在能力結構上應具備操作、動手、應用的特征。體現在課程設計上, 即要開發一些與時代緊密接軌、能夠起到培養學生在迅速變化的環境中生存、發展和開拓能力的課程。因此對于一些基礎理論課程, 首先必須大膽地對課本內容進行刪減整合。
2.注重課程設計多元智能性。
課程設計基礎調動學生的積極性, 使其主動參與學習, 從而成為學習的主體, 是提高教學質量的基礎, 也是課程研究的重要課題。對于我國接受高等職業教育的學生, 如何調動他們的學習積極性更是需要重視和解決的實際問題。學科系統化課程不僅對這類教育不適用, 對于接受這類教育的學生也不適用。這是由于學科課程的思維模式與學生本身的思維模式往往是沖突的。心理學的研究表明人類的智能是多元化的, 每個人至少可能具有八種智能, 這八種智能構成了人類不同的八種求知和認識世界的方式, 也是八種人類不同的學習途徑, 每個人在這些智能的表現上有所差異, 而且會以不同的方式運用和綜合智能, 學習不同的知識、解決不同的問題、完成不同的工作以及在不同的領域發展和取得成功。我國高考成績居于中間段的學生, 是高職入學學生的主體, 一般具有思想活躍、參與熱情高、社會活動能力強的優勢, 也同時存在學習目標不明確, 學習動力不足, 穩定性差, 缺乏創新精神和自我調控能力等弱點。這與我國教育模式單一, 過于強調學生邏輯思維智能, 而忽視其他智能開發有很大的關系。對于應用性人才的培養要更重視其他智能的開發, 而上述中間分數段的學生往往更具有應用性人才的智能優勢。這與培養應用性人才的目標十分吻合。因此在課程設計中要注重學生多元智能的開發, 用與學科教育不同的方式組織課程, 使教學更易于開發他們的智能, 調動學生學習的積極性。
3.注重課程設計的能力性。
設計專業課程從學生的職業能力的組成元素上講,包括有關的知識、技能、行為態度和職業經驗成分等; 從能力所涉及的內容范圍上, 可分為專業能力、方法能力和社會能力。專業能力包括單項的技能與知識、綜合的技能與知識, 是勞動者勝任職業工作、賴以生存的核心能力; 方法能力指獨立學習、獲取新知識新技能的能力, 還包括制定工作計劃、工作過程和產品質量的自我控制和管理以及工作評價, 是基本發展能力; 社會能力包括工作中的人際交流、公共關系、勞動組織能力、群體意識和社會責任心。社會能力既是基本生存能力, 又是基本發展能力。專業課程設置是在能力本位課程觀指導下構建能力本位的課程模式, “能力”的內涵具有時空屬性, 取決于社會經濟發展對人才需求形態的變化和社會勞動組織形式的演變。構建能力本位的專業課程方案要從職業分析入手, 專業分析可直接使用國家或地方教育部門給出的行業分析結果進行, 在沒有國家或地區行業分析的情況下, 可由學校或專業自行組織進行行業分析。專業分析的最終產品是專業培養所應具備的專業職業能力。專業職業分析一般由教育專家、行業專家、企業技術專家共同進行。每個專業要有明確的職業目標和職業能力要求,職業能力由“職業專門技術能力”和“職業關鍵能力”組成, 職業專門技術能力的核心是“職業專門技術”, 它是完成職業任務所應具備的基本技術, 職業專門技術能力可外延到“職業延伸能力”, 某一職業的延展能力可能是另一職業的專門技術能力, 延展能力主要是考慮拓寬學生職業能力范圍, 使學生具有一定的發展能力。
4.注重課程設計實踐性。
以產學研結合作為課程開發的基本途徑職業教育是直接為企業建設發展培養技術應用型人才的教育, 它的生命力在于能夠及時滿足社會, 特別是行業、企業對人才的需求。高等教育是培養人的社會活動, 其社會性是不言而喻的。高等職業教育的職業性、大眾性、產業性決定了它不能把自己封閉在校園內單純地進行知識傳授或僅僅依靠學校自身的資源來進行職業技能訓練, 而必須向社會開放。依托地方、行業和企業的技術與管理人員、基礎設施和職業工作環境, 以產學研結合為紐帶, 以服務求支持, 與地方相關行業企業建立密切的合作伙伴關系, 建立健全產學研合作教育機制, 發揮地方行業企業在辦學全過程中的無可替代的關鍵作用, 使更多的社會用人單位成為學校的合作伙伴、訂單教育的預訂者, 甚至發展成為和學校相輔相成的辦學主體之一。因此依托行業和企業、建立產學研密切結合的運行機制, 是發展高職高專教育的關鍵問題。
5.結語
課程設計開發的原則是制約課程開發活動的價值準則,是人們根據對課程開發過程的規律性認識而制定的用以指導課程開發的基本要求,規范課程目標的性質、課程內容的選擇、課程實施的標準以及課程評價的方式等。因此,工作過程導向職業教育課程開發最根本的一點就是基于職業性和體現職業性。
參考文獻
一、信息化社會對計算機人才的需求
各企、事業單位內部運行著多個應用信息系統,而應用系統的安全保護等級決定系統運維人員的水平。例如統計核心業務系統信息安全保護等級為二級,因此要求運維人員技能不低于二級等級保護的技能水平。要求核心業務系統運維人員責任心強,熟悉常用的操作系統和系統軟件,掌握關系數據庫常規使用方法和日常數據庫管理的基本SQL操作命令,熟悉統計核心業務系統的功能和結構,具有網絡及硬件設施日常維護能力。從上述計算中心主要的日常運維工作可以看出,計算中心的工作人員應掌握計算機軟、硬件的基本理論知識;熟悉項目建設、技術方案論證、基礎設施建設、需求分析、技術架構、系統部署、系統測試、系統運行維護方案制定、系統的定級測評等軟件開發和運維過程中各個環節的目標、工作任務、主流開發技術等;具有較強的組織、協作、協調溝通能力。由此可見,在企、事業單位的計算中心、信息中心、網絡中心或相關部門,要求任職人員具有扎實的理論基礎、較強的實踐技能和經驗,計算機中心的專業人員在各部門的信息化建設中占主導地位。
二、教學體系與課程教學模式改革思路
1.適應社會需求,完善教學體系。根據學校的特點,明確以培養應用型人才為目標。計算機應用型人才的培養,必須以市場需求為導向,確定人才培養方案。同時積極進行教學改革,研究應用能力、創新能力培養模式,建設穩定的實踐教學基地,完善教學質量控制過程,以達到課內課外教學實踐相結合,提升學生實踐動手能力和創新能力。論文根據實際工作中應用技能的需求,將專業課程分群組、能力培養分方向,優化課程體系。①知識體系模塊化。應用型計算機專業的知識體系主要分為以下幾個模塊:公共基礎課程模塊、專業基礎課程模塊、程序設計課程群、計算機硬件課程群、操作系統課程群、數據庫應用技術課程群、網絡技術模塊、軟件工程與開發技術等模塊。其中:公共基礎課程應強化學生的數學基礎和英語能力;專業基礎課程重點建設《離散數學》、《數據結構》;程序設計課程群建設以C/C++程序設計語言為主線,以《Java語言程序開發》和《.Net程序開發》為兩個選修方向;計算機硬件技術模塊以匯編語言與計算機組成原理為核心,以嵌入式程序設計與開發為方向;操作系統課程群重點講解《操作系統原理》,并以《Linux/Unix操作系統》為選修方向;數據庫應用技術模塊以《數據庫原理》為主體,以提升主流數據庫管理系統的管理與應用能力為具體實踐訓練目標;網絡技術模塊以網絡原理為中心,實踐操作內容以華為網絡體系和思科網絡體系為方向;軟件工程與開發技術模塊以軟件工程為核心,以開發某一領域的應用系統軟件為目的。②實踐技能規范化。目前的教育教學體系理論知識講的多,而實踐訓練較少,以上課程群除課程包含的實驗/上機之外,至少都應單獨設置一門相關的實踐環節課程。目前,獨立設置實踐環節課程如下:專業基礎模塊有2周的《數據結構課程設計》;程序設計課程群有兩門課程實習,即2周的《C/C++課程設計》、3周的《軟件設計實習》;計算機硬件課程群有1周的《計算機組成原理與接口技術課程設計》;操作系統課程群有1周的《操作系統課程設計》;數據庫應用技術課程群有1周的《數據庫課程設計》,并有《軟件設計實習》與之相結合;網絡技術模塊和軟件工程與開發技術模塊均采用3周、校外、校企合作形式的實習。
2.教育教學與課程教學模式改革。課程教學應以應用能力培養為導向,增加實踐性教學環節,廣泛開展校企合作,實現專業化的技能培養,嚴格質量控制過程管理,以提高學生適應社會需求能力。下面以數據庫課程教學改革為例,探討應用型人才培養的課程教學模式。①以應用能力培養為課程教學目標。《數據庫原理》課程以當前主流數據庫技術和應用為背景,以數據庫管理系統為核心、以數據模型為線索,重點講授關系數據庫的理論與應用技能。數據庫應用技術是軟件開發人員必備的一項技能。設計一個數據庫容易,設計一個好的數據庫難。本課程要求學生熟悉數據庫系統的基本概念與原理,掌握數據庫系統的設計步驟和常用方法,能熟練地運用數據庫SQL語言進行數據操縱,具有開發實用的數據庫應用系統的能力并有效地進行數據庫應用系統的維護。②理論實踐相結合,注重實際需求。數據庫技術既有堅實的理論基礎,又是實踐性非常強的一門技術?!稊祿煸怼氛n程必須注意分析實際應用系統設計、開發、運維管理過程中出現的常見問題。如對數據庫管理系統的監控工作,主要包括:定期檢查數據庫集群運行狀態、數據庫對象的空間擴展情況、數據增長情況、數據庫當日備份完成情況、所有實例的狀態、正常登陸到所有數據庫的例程,記錄數據庫的cpu使用、I/O、buffer命中率等。這部分內容在教材中很難見到,但實際工作中卻極為常見,因此必須做必要的講解。③重視設計規范,案例教學,強化實踐能力。數據庫應用系統的設計既有數據庫結構設計,又有應用系統程序設計,一個好的數據庫結構是應用系統的基礎。為了強化學生設計、開發數據庫應用系統的能力,增加了《數據庫課程設計》實踐課。課程以實際應用系統需求為案例,運用常用的CASE工具(如PowerDe-signer),從系統需求分析的數據流圖、業務流圖、數據字典的繪制,到概念模型、邏輯模型、物理模型的建立,嚴格按照給定的數據庫設計規范進行數據庫設計,并撰寫系統需求分析和系統設計文檔。同時以某種程序設計語言為工具進行系統功能開發,實現一個實用的應用系統。④注重課程間的銜接,提倡校企合作。數據庫類課程由有實踐經驗的教師或企業中的數據庫設計、開發人員講授。在系統的設計、開發過程中,數據庫技術與程序設計相結合,學生深刻地認識到數據庫結構設計的重要性,能更深入地理解數據庫設計理論、方法和經驗,同時學生程序設計能力也進一步提升,這門課程是保證學生在校四年程序設計不斷線的重要環節。
三、結束語
本文針對目前計算機專業畢業生多、就業難的現狀,作者分析了企、事業單位計算中心、信息中心、網絡中心對計算機人才的需求,結合多年計算機專業教育教學的經驗和教學中存在的問題,并以培養應用型人才為目的,提出改革教學體系與課程教學模式,提倡開展校企合作,加強師資隊伍建設。
vb課程設計心得體會一
我們組這次設計的程序是考勤管理系統,主要用于企事業單位的考勤,便于統計員工的出勤情況。
1.通過這一次的程序設計,使我能夠進一步掌握用程序設計語言解決實際問題的方法,在操作當中把所學到的用于實際的編程里面去。
2.通過這一次的程序設計,使我能夠提高分析問題、查閱資料、吸收新知識的能力,在分析解決問題時比以前有了很大的進步,一些常用的知識和一些常規的錯誤都能夠解決。
3.通過這一次的程序設計和指導教師姜瑤老師的指導使我能夠進一步對vb有了熟練的操作,并且在分析,編程方面比以前有了更大的提高。
4.我認為實踐周的程序設計是給我們學習的一個大好機會,使我們在這樣的機會里學到了一定的知識,畢竟理論要通過實踐來鍛煉,也只有自己參與了這樣的一個鍛煉,才能更好的發現自己的不足并加以改進和完善!
在這次的設計過程中,我學到的不僅是知識,我還認識到許多事情。這次設計使我的編程水平提高了一大步,使我充分的認識到合作的可貴。由于這次設計涉及到數據庫,我也學到了不少數據庫連接的知識,對數據庫的操作有了進一步的了解。這次設計對我的綜合能力是一次很好的鍛煉,但是我必須承認自己的能力和知識還很膚淺。所以今后我的學習道路還是很漫長的。最后,在這里我要衷心的感謝我們的指導老師謝謝她的耐心指導和熱心幫助。由于我水平有限,加之時間短暫,故學習數據庫系統中還有許多不足之處,請老師批評指正,我會在以后的制作中不斷改進,不斷完善。
vb課程設計心得體會二
在前兩周中我們進行的VB課程設計中,我獲得了一些心得體會。
這是我第一次系統與完整的接觸軟件設計。我們組的題目是關于“俄羅斯方塊游戲”的設計。我在組內主要負責(1)游戲界面的設計(2)俄羅斯方塊的造型(3)游戲級別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設計中,我的能力得到了鍛煉,自己也有許多體會。這次的課程設計是自己第一次全面接觸軟件的制作過程。以前僅僅是對軟件的開發有一個大體的印象,通過這次的課程設計,我對軟件的開發有了切身的體會。軟件并不像我原來所想的那樣十分神秘,而是有著一個相對固定的模式和流程。我們只要按照這個模式和流程,就能夠比較規范的完成一個軟件的制作。軟件的制作是一個系統的工程,需要我們掌握多方面的知識。在這次課程設計中,我覺得自己的知識面依然有所欠缺。因此我需要在以后的學習中加以注意,要不斷的提高自己的知識面與知識層次。
我在這次課程設計中主要負責(1)游戲界面的設計(2)俄羅斯方塊的造型(3)游戲級別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設計之前,我對VB的編程不是特別的熟悉,這次的課程設計,我是一邊學習,一邊總結,一邊進步。在編程的過程中,我體會到其實各種計算機語言是有相通之處的。在以前的 學習中,我只接觸過C語言,這次在VB課程設計中,我發現C語言中的許多知識可以應用到VB中,兩者具有相通的數據結構。所以我認為現在對計算機語言的學習,不要貪多,而應耐心的學好一門主要的計算機語言,在這個基礎上,去學習其他的語言,這樣會使學習效率大大提高。
在編程的過程中,我體會到編程是十分辛苦的。在課程設計這一段時間里,我每天的生活基本是在不斷的調試程序和修改代碼中完成的。有時,這種生活令人感到乏味和疲倦,但是在這種近似枯燥的生活中,我的編程水平有了一定程度的提高,這是課程設計中我最大的收獲。以前學習計算機語言,總是靜不下心來,不能認真的看書。這次課程設計,為了順利的完成編程工作,我認真的學習了VB語言,并有了一定的心得體會。所以在以后的學習中,自己全身心的投入,這樣學習才會有效率,才會有效果。
這次的課程設計是按小組進行的,我們的小組由兩名同學組成。軟件的設計本來就是一個團體的智慧結晶。這次課程設計也給了我們一次體驗團體合作的機會。在課程設計中,我深深的體會到集體的智慧于力量是個人所無法比擬的。在課程設計中,我們的小組成員互相幫助,有問題兩個人一起討論解決,大大節省了時間?;ハ喽继岢隽撕芎玫慕ㄗh,使我們的課程設計得以較好的完成。
課程設計已經結束了,但在課程設計的這些體會要應用到今后的日常學習中去。在新的學期,我覺得自己要在以下幾個方面加以注意:
首先,在學習專業課的時候要注意理論聯系實際。注意將課本上的知識應用到日常的操作中,真正做到學以致用。只有這樣,才能做到目的明確,才能有足夠的學習動力。
其次,在學習過程中要經常與同學進行交流,討論所遇到的問題,并一起解決。在討論中解決問題,會節約很多時間,并且在交流的過程中,我們也可以學到更多的東西。
課程設計已經已經完美解暑,這次課程設計給我打來了很多新的體會,在以后的學習中要不斷總結,不斷改進,使自己的成績有新的提高。只有不斷努力,才會使自己變得更加優秀。
vb課程設計心得體會三
經過近一個月的設計與制作,我們組的《20xx世界杯觀戰指南》終于完成了,現將過程中遇到的問題、獲得的體會記錄如下。
這次數據庫課程設計中我主要負責用戶登錄、注冊及數據庫維護方面的設計。
1.Delphi是一款功能很強大的軟件,其控件之多超出了我的想象,因此在運用時要借助很多資料。要學會查找和利用現有資料來解決問題
2.在設計中用到了很多SQL語句,因此對SQL及程序語句地掌握也是必不可少的。
3.后期的軟件制作都是以前期的工作為基礎的,因此在前期的需求分析及數據庫設計階段要認真、細致。
4.我們是三個人的小組,在設計過程要互相協調,合作。這樣才能充分發揮每個人的作用。
vb課程設計心得體會四
數據庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與斗志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡并期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學.net),我接觸到microsoft 公司的.net產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++里面的class,int,覺得vb的sub,var 看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱.net是用于創建下一代應用程序的理想而又現實的開發工具,而且主推c#語言,由于對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本數據庫系統概論看了一遍()。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是數據庫站出來的時候啦,于是我又裝上了sql server2000,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校后,隨著這學期的數據庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什么就學什么。我們有時候很容易被一些專業名詞說嚇著,包括什么建模,軟件工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。
其實都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just do it!我記得我做這個數據庫之前,我們老師說要做好前期分析,我就在網上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網去搜索,這是一個信息橫流的世界,有google,baidu就沒有不能解決的知識難題。以及后來的數據庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什么架構,c/s模式?模式有很多,怎么選擇?我就上網搜索現在最流行的架構是什么。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。just do it!前期工作準備好后,那么我就得把我暑假學的.net加以實踐。這個時候我更加深入的了解了利用ado.net操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的數據庫課程設計--基于.net數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
摘要:本文論述了我院從數據庫系列課程體系的構建、課程知識結構化及優化、針對課程各模塊內容特點的教學方法手段的選取、實驗教學方式、課程設計教學模式等五個方面進行的積極而有效的探索。
關鍵詞:數據庫系統;教學方法;課程體系
中圖分類號:G642 文獻標識碼:A
Research on Course Architecture and Teaching Method of Database System
CHEN Long-meng
(College of Information Science and Engineering, Qingdao Agricultural University, Qingdao 266109, Shandong, China)
Abstract: For the purpose of achieving the innovative education target of database system and improving teaching quality, this paper presented the active probes into the following five aspects: the construction of the database system series courses, the optimization of the course knowledge, the adoption of the teaching methods and means gearing to the characteristicsof each module in the course, the teaching mode of experiment, the teaching pattern of course design.
Key words: database system, teaching method, course architecture
1數據庫課程體系建設
1.1數據庫系統課程的教學目標
根據數據庫技術應用廣泛、快速發展的實際情況,按照學校關于加強學生實踐能力和創新能力、培養高素質應用型人才的要求,我們確立了數據庫系統課程的教學目標,用一句話概括為使學生具備“對數據庫系統的認知、分析、設計、應用能力和學科素質”,具體而言就是:較全面的掌握數據庫系統的基本概念和基本原理,了解學科發展前沿和發展趨勢,提高數據庫的理論知識水平;學習數據庫技術和方法,掌握其應用技能,提高學生的動手實踐能力;培養學生綜合運用數據庫系統的知識、技術和方法進行數據庫應用系統的設計和實施的能力,提高其綜合素質和創新能力。
1.2課程體系的構建
上述教學目標較龐大,單靠一門課程、一學期難以達到。上述教學目標體現出明顯的層次性,即“基礎、應用和綜合”,為此我們將上述教學目標分解為三個層次,分三階段來實現。因此我們設立了如下數據庫系列課程:
Ⅰ 必修課:數據庫系統概論(第6學期開設);
Ⅱ 選修課:“SQL SERVER使用技術”,“動態網站建設”(第7學期前面開設)
Ⅲ 必修課:數據庫課程設計(第7學期后面開設)
數據庫系統概論課程是學習數據庫技術的第一門課程,屬于基礎層次,肩負著培養學生數據庫基本理論、基本技術和方法及其基本應用的能力,使學生獲得系統的數據庫知識結構和基本應用技能,為后續課和考研打下基礎;
SQL SERVER使用技術、動態網站建設兩門課程都是選修課(學習選擇權交給學生),其教學目的是使學生掌握一種數據庫應用系統開發工具(人利用工具而生存),進一步掌握數據庫理論和方法的應用,提高學生的動手實踐能力。
數據庫課程設計是培養學生全面理解和綜合運用數據庫系統及相關學科的知識、技術和方法分析問題、進行數據庫應用系統的設計和實施以解決實際問題、提高其綜合素質和創新能力的重要實踐教學環節,是數據庫系統課程教學目標培養中的最高層次。在這一教學階段,學生需要綜合運用前兩階段所學課程的知識,以及程序設計、軟件工程、計算機網絡等相關知識才能完成本階段教學任務,達到教學目標。
因為上述三階段的課程在內容上前后相承,層次遞進,所以在教學時間安排上,它們的開設學期前后相連,符合循序推進的教學規律,在教學上可起到趁熱打鐵的作用。
1.3教學內容的結構化與優化
課程體系教學內容的優化包括教學內容的結構化、確定重點教學內容和在系列課程間合理分配教學內容和任務,使課程間教學內容不重復不遺漏,優化目的是最大程度地實現教學目標。數據庫系統概論課程在整個數據庫系列課程中處于基礎和支柱地位,因此課程體系教學內容的結構化首要是該課程教學內容的結構化。按照美國教育心理學家和教育改革家布魯納提出的“學科基本結構”的觀點,教師要指導學生掌握教材全貌,使知識結構化、系統化[1]。為此,筆者從教學內容的結構化入手,經過精心整理,將數據庫系統概論課程的教學內容歸結為“兩行四塊”的知識體系結構[2],見表1?!皟尚小奔窗凑昭芯糠懂?即本身的性質)將課程教學知識點在水平方向上分為理論知識和技術知識兩類,四塊就是按照在人才培養中的作用將課程教學知識點在縱向上分為原理、設計與應用、系統維護管理、前沿與趨勢四個模塊。
觀察表1,發現有兩條水平的有交叉的線索,第一條是理論知識線索,第二條是技術知識線索,前者為后者提供嚴格的理論支持,后者為前者的提出和完善提供素材,兩者相輔相成,統一于關系數據庫系統。這樣一種內容設計上的安排,既讓學生扎實地掌握數據庫的基本理論,又使學生全面掌握數據庫的實際應用,可以迅速投入實際工作。
數據庫基本概念、數據庫系統體系結構、關系模型數據庫、關系數據理論(含關系規范化,數據依賴的公理系統,模式的分解)等部分,構成了關系數據庫核心理論基礎,本部分在數據庫學科知識體系中處于基礎地位;SQL語言、數據庫設計、數據庫編程等部分講述數據庫的開發技術和方法,這部分內容的學習要直接用到關系數據理論等基礎;在數據庫基本理論的基礎上,講授數據庫安全性和完整性控制、數據庫恢復技術、并發控制技術以及關系查詢處理及優化技術,使學生掌握數據庫系統的維護管理和優化方面的知識和技能;對數據庫技術的前沿動態僅作簡介,學生了解即可。因為關系數據庫系統已成為最重要、應用最廣泛的數據庫系統,所以,關系數據模型的原理、技術和應用無疑是本課程的教學重點。知識結構化,利于學生從整體上把握課程知識體系,了解知識點間的關聯,這樣才能使同學們帶著明確的目的性去學習,從而提高學習的主動性和適應性,增強學習效果。
1.4課程間教學內容分配
在講解數據庫系統概論課程中SQL語言部分的內容時,為使學生能看到SQL語句的執行結果,采用Ms SQL Server 2000為平臺,來演示語句的執行情況。在此使用SQL Server 2000這一DBMS時,僅以滿足本章內容教學演示的需要為目的,只講解其必要的操作使用,對其它具體深入的應用不予講解,留待學生課下自學或在后續“SQL Server實用技術”選修課中學習,這就避免了上述兩門課在教學內容上的重疊。
2教學方法與教學手段
2.1適當應用一般的教學方法和手段進行教學
課程體系及教學方案設定后,教學方法和手段就成為影響教學目標實現的重要因素。教學方法和手段是為實現教學目標服務,以提高教學質量為目的的。為此,在教學中筆者針對各部分教學內容的具體特點,以教學質量的高低為取舍依據,靈活采用多種教學方法和手段。同時,在滿足一般學生學習要求的前提下,對有一定基礎的同學還增加一些個性化的教學,為學生的個性化發展提供空間。
例如,對于綜述性知識,如課程緒論部分,采用多媒體授課效果較好;關系代數、關系數據理論等部分教學內容都是很抽象的理論,采用講解+板書授課方式要比多媒體授課效果更好;數據庫設計這一章詳細介紹了數據庫的設計的步驟和方法,其內容和實踐聯系很緊密,非常適合用案例教學法[3]。在這一章教學中,我們采用課后習題圖書館數據庫設計作為教學案例,結合教材中的理論內容,詳細講解每一階段的工作和形成的成果,這樣既使學生深刻地理解了課本上抽象的理論內容,又使學生學到了如何用理論來指導數據庫設計的實踐,起到了一箭雙雕的功效。
在引入新知識時,如關系數據理論和并發控制技術時,采用啟發式教學法,得出一個不好的關系模式存在的四類異常問題,和數據庫共享可能引起的三類數據不一致問題,從而引出相應概念:數據依賴和封鎖。
對SQL語言這一章,一要結合目前信息系統建設的實際進行全面講解,以增加學生的學習興趣,二要讓學生能親歷查詢的結果,以加深理解。實際講解時,筆者應用SQL Server 2000這一DBMS 平臺,讓學生實實在在地看到查詢結果,這樣加深了理解,激發了學習興趣。此外,指導學生課下自學一種DBMS,如SQL Server 2000,并以此為平臺進行上機實驗,讓學生通過對SQL語句的使用來掌握SQL語言的各種語法和功能。
對于重要算法,如求最小覆蓋算法、數據庫恢復算法等,先講清思路,再輔以動畫進行演示。
2.2運用計算機學科特有的方法論于課堂教學
理論、抽象和設計描述了計算學科的研究和實踐的三種形態,是學科方法論的最根本內容[4]。當講解抽象的概念或理論時,教師恰當運用從理論到設計或從抽象到設計的形態轉化,會使學生對其產生興趣并留下很深的印象。這就要求教師理解課程體系中點、線、面的關系。例如實體完整性是指關系中主關鍵字不能為空且其值不能相同。在人事管理信息系統中個人數據庫的職工號就是主關鍵字。參照完整性是指不允許引用數據庫中不存在的外鍵數據,在進行參照完整性檢查和約束時,可通過觸發器來完成。
針對該課程的實踐性、應用性,我們在教學中加強了實踐環節的訓練,具體做法是:按照課程內容的進度設計了從SQL語言的使用操作到數據庫編程的系列上機實驗。上機實驗密切結合基本知識和基本技術,幫助學生消化課程內容,讓學生在實際的DBMS(SQL Server 2000)上進行實際操作和實驗,提交規范化的上機實驗報告。這種課堂教學與上機實驗緊密結合的教學方式既利于學生對基礎理論知識的掌握,又利于學生的自主學習,激發學習興趣。
3課程設計
課程課程設計的教學目標是使學生全面理解、綜合運用數據庫知識和技術進行數據庫應用系統的設計和實施,培養學生分析問題和解決問題的能力,提高其計算機理論水平和綜合素質。這一實踐教學環節在培養學生的綜合實踐能力和創新能力方面起著不可替代的作用,我們非常重視其教學組織,從選題到答辯采取了一系列切實措施來確保其教學質量。
3.1成立課程設計指導教師小組,提前下達課程設計任務
課程設計指導教師小組由承擔過該門課程且有實踐經驗的教師組成,設組長一名,在組長協調下共同進行課程設計前的準備,如制定課程設計任務和實施計劃等,共同組織對學生的答辯;但分工明確,每人指導1個班。數據庫課程設計為期2周,安排在第7學期后半部分。指導小組在第7學期第一周向布置課程設計任務,組織學生分組和選題。課程設計時學生分組一般是按照學生的知識、能力、性別、性格等特征互補的原則搭配,每組2~3人,設組長一名。選題在第二周內完成。這樣早地布置任務,目的是讓同學提前進入課程設計,早開始,早準備。
3.2選題
課程設計題目的命題原則是:符合教學要求,緊密聯系實際。具體題目一般是由指導教師小組提供備選題目清單,由各學生小組選擇,也可以是學生從自己感興趣并熟悉的方面提出,經指導老師審核通過的題目。學生小組組長負責召集和協調討論本組的課程設計,組員間既明確分工,又相互協調配合。
3.3以過程管理管理為著力點,確保課程設計保質保量完成
指導教師組將從選題和分組確定后到集中課程設計周之前的八周左右的時間,按照數據庫設計階段和軟件工程時間進度相應地劃分為若干階段(一般為6階段),明確規定各時間階段結束前各小組要上交階段報告和設計方案,并記錄是否按時上交情況,記入平日成績,以促使學生抓緊此項學習任務。對上交的階段報告和設計方案,教師要及時評閱、反饋和指導,使其可行。
在集中課程設計周,采用以安排學生集中上機為主,分散設計為輔的形式。教師制定集中上機時間內上機紀律,并對學生考勤。之所以設置分散設計,是為學生對上機實施中發現的問題進行研討或資料查閱留出時間。
3.4考核與評定
課程設計完成后,不但要提交軟件系統、課程設計報告,而且還要進行答辯,答辯含講解、演示、答問三環節。為避免在小組課程設計中,有的同學不積極參與,采用隨機抽查個人和以抽簽方式隨機確定一位同學代表本組上臺答辯的方式來考核小組的成績,促使小組內部相互督促、相互幫助。通過這種課程設計組織方式,既培養了學生的綜合實踐能力和創新能力,又培養了學生的團隊意識和協作精神。
課程設計的成績由考勤、平日成績(各階段報告提交情況、隨機抽查情況)、課程設計報告、答辯(含軟件運行情況)成績等部分組成。這種成績構成方式,強化了對課程設計過程的監督和控制。
上述一系列措施,經過我們帶多屆學生進行數據庫課程設計的教學實踐證明,是行之有效的,并且可供其它軟件類課程設計的教學指導所借鑒。
4結束語
經近年來對“數據庫系統概論”課程的建設,我們以綜合實踐能力培養和創新教育為本課程教學目標,構建了數據庫系列課程體系,建立了課程教學大綱、教案、多媒體課件、實驗指導書和教學網站等,并對課程教學內容進行了優化、教學方法手段進行了改革和革新,對實驗教學方式和課程設計教學模式進行了探索,取得了成效。
參 考 文 獻
[1] 連潤江. 數據庫系統概論教學改革的探討[J]. 湖北廣播電視大學學報,2007,(5):22-23.
[2] 王珊,薩師煊. 數據庫系統概論(第四版)[M]. 北京:高等教育出版社,2006.
關鍵詞:沖壓工藝與模具設計;二次開發;課程設計
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)06-0243-02
對于高職院校的模具設計與制造專業,《沖壓工藝與模具設計》課程是其專業核心課程之一,有著不可或缺的重要作用。而《沖壓工藝與模具設計》課程設計更是模具設計與制造專業教學中相當重要的實踐環節之一。在整個實訓周期,學生需要掌握模具設計的整個流程及方法,并且自己獨立查找模具設計大典、模具設計手冊等相關資料,綜合運用模具設計知識,并且通過一系列計算,完成整套模具零件圖的設計、繪制與裝配。通過實訓,可以讓學生從理論知識的學習逐步過渡到實際模具的設計。
1 沖壓工藝實訓教學現狀
高職院校模具設計與制造專業大多都有開設沖壓模具課程設計實訓,該實訓一般為期兩周,目的是讓學生掌握整個沖壓模具的設計流程,主要內容包括模具類型選取,模具關鍵零件設計與零件圖繪制,模具刃口尺寸計算,模具排樣圖的設計,模具裝配圖的繪制等等。在其中零件圖和裝配圖的繪制過程中,大多數學校還采用手工繪圖,由于零件數量較多,學生無法將所有零件圖全部畫完,這就導致裝配圖只能畫出示意圖,從而更加無法了解這樣的裝配是否會出現各個零件的相互干涉,以及裝配出來的模具是否能夠滿足設計說明書的要求。
為了解決學生在沖壓課程設計中出現的問題,近年來,隨著計算機繪圖的普及與發展,部分學校開始讓學生采用AutoCAD或者CAXA等軟件繪圖,這在較大程度上提高了學生的繪圖速度以及圖形的可讀性,不過在三維立體圖方面還有所欠缺。還有部分院校讓學生采用三維軟件,比如UG NX10.0或者solidworks2015等軟件進行零件圖的繪制和裝配圖的組裝,更加立體的圖形讓學生能夠對各個零部件有更深刻的認識,由于繪圖的工作量較大,很多學生采用分工合作,一部分負責設計計算,一部分負責畫圖,這就使得學生很難掌握模具的整個設計與繪制流程。
有鑒于此,本文以SolidWorks為基礎,在VC++環境下,針對現有《沖壓工藝與模具設計》課程設計中的不足之處,運用參數化設計,設計出模具的所有關鍵零件,通過選擇其他標準件來完成整個模具的裝配圖,并且可以動態演示加工效果的課程設計系統。經過一年的教學與反饋發現,直觀的動畫有效地提高了學生學習的興趣,讓學生真正掌握整個模具設計的工藝和流程,更好地完成設計任務。
2系統總體結構
為了讓學生真正掌握沖壓模具設計的整個流程,本系統的設計思路與沖模設計流程完全吻合,其流程圖如圖1所示。
模具前期設計計算主要包括模具類型的選擇(采用單工序模具、復合模還是連續模),模具關鍵零件尺寸的計算,模具的排樣設計,材料利用率的計算,沖壓力的計算,壓力機的選擇等等。
模具參數化設計主要是把計算的結果輸入到系統的參數化設計對話框中,系統將自動生成零件的三維圖,標準零件的調用是根據標準件的選擇直接從標準件庫中調取零件三維圖。
裝配模塊是在所有零件的三維圖都準備好后自動將其組裝起來。
運動仿真模塊是在裝配Y束后實現模具的運動仿真,模擬真實模具加工場景,同時自動檢查是否會出現零部件的相互干涉現象。
裝配圖與零件圖打印輸出模塊是根據三維裝配圖,自動生成二維裝配圖,或者選擇不同的三維零件轉換成二維圖進行輸出打印,作為課程設計結束后的紙制資料上交保存。
3教學設計與實現
3.1 開發工具選擇
教學系統采用SolidWorks作為三維開發軟件,在該軟件中,SolidWorks API是SolidWorks專門提供給開發人員使用的接口,這個接口是完全開放的而且功能齊全,它為開發人員提供了大量的功能函數,開發人員只需調用這些功能函數便可輕松實現所需要的功能,例如生成草繪圖形并實現拉神、旋轉等。SolidWorks API具有很好的兼容性,只要是支持OLE(Object Lingking and Embedding)和COM(Commponent Object Model)的編程語言,如Visual C++,VB等都可以用來進行SolidWorks的二次開發[1]。
考慮到SolidWorks軟件自身是由VC++開發的,若用VC++來對SolidWorks進行二次開發,一方面有助于軟件自身的兼容性,另一方面開發出的功能模塊也能夠更好的嵌入到SolidWorks中,實現VC++與SolidWorks的無縫鏈接。因此,本文以VC++6.0作為二次開發軟件。通常對SolidWorks二次開發有兩種方法:其中一種方法是基于自動化技術,開發出*.exe形式的程序,直接運行;另外一種方法是基于COM技術,先編寫動態鏈接庫(*.dll)程序,然后將該動態鏈接庫嵌入到SolidWorks菜單欄中,使其作為SolidWorks軟件中的一個插件使用。本研究運用的是第二種開發方式,即生成dll文件,然后嵌入到SolidWorks軟件中。
3.2 參數化設計模塊實現
參數化設計模塊包括凸模,凹模,凸模固定板,凹模固定板等的參數化設計,這里以凸模的參數化設計為例。在我院沖壓工藝與模具設計課程設計中,零件中采用的凸模主要有圓形,方形和其他形狀,如下圖所示為圓形凸模的參數化設計界面。標準圓形凸模的主要尺寸包括臺肩直徑D1和臺肩高度h,凸模的兩個直徑D和直徑d,以及凸??偢叨萀,在設計此類凸模時,學生只需要根據計算將數值輸入到對話框中的凸模參數欄中,點擊預覽按鈕便可以在SolidWorks中快速生成凸模三維圖形。圖2中a圖所示為凸模設計對話框,在凸模參數欄中輸入d=10.2mm,L=55mm,h=3mm,D1=17mm,D=14mm后,點擊預覽按鈕,會彈出如b圖所示圖形,點擊確定按鈕則自動生成。
3.3裝配模塊設計實現
裝配設計一般可以采用自上而下或者自下而上兩種方法來實現[2],在本系統中,我們采用的是自下而上的設計思路,即首先將零件畫好再裝配。裝配時,依次將零件加入到裝配體中,同時根據相互之間的約束關系進行約束。若裝配好以后有部分零件需要更改,只需要更改該零件的參數,只要約束關系不變,待零件更改結束后,系統中的裝配圖也會自動更新零件尺寸和形狀。如圖3所示為裝配以后的形狀。
3.4運動仿真模塊設計實現
對裝配好的裝配圖實現三維動畫模擬仿真演示[3],在演示過程中判斷是否會出現干涉現象以及其他模具設計方面的問題,比如沖壓模具設計中凸模長度是否足夠,條料在加工結束以后是否可以正常卸下,零件或者廢料是否可以從凹模洞口中順利排出或者頂出等等。通過運動仿真可以讓學生完全掌握常見沖壓模具的設計知識,同時運動仿真的完成也會大大增加學生的自信心和實訓工作完成的成就感。如圖4所示為運動仿真過程中的截圖,從中可以看到條料已經伸入模具中,并且已經加工出了兩個零件,加工過程所產生的廢料從凸凹??字信懦雎湎?。
4結論
本文通過對SolidWorks的二次開發,對沖壓模具中所有零件實現了參數化設計,學生通過必要的計算以后,直接在軟件中輸入各個參數值,件即可自動生成零件圖,同時,還可以對零件圖進行自動裝配,在裝配過程中完成干涉檢查,并在最后實現運動仿真。通過一年的實際使用測試,自動裝配和運動仿真的視覺效果大大增加了學生做課程設計時的興趣,提高了課程設計的效率,學生通過軟件的使用,可以更迅速的掌握整個模具設計的全部知識,為后續的學習以及今后走上工作崗位都奠定了堅實的基礎。本研究對于其他類似課程的課程設計實訓也有較強的參考意義。
參考文獻:
[1] 孟慶當,丁戰友.浮選機關鍵零件的參數化設計[J],西安工程大學學報,2014,28(4):496-507.
關鍵詞:微型課程;自主學習;終身教育;學習情境
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2014)45-0208-04
在信息化、數字化時代,非正式學習和微型學習倍受歡迎,微型學習以其便捷、快速、微量的特征體現了較強的適應性。同時,微型學習的發展,對傳統的課程設計提出了新的要求。而成人學習的一個重要特點是自主學習,即學習者在教師的指導下,自己制訂學習計劃,自己選擇學習策略,自己安排和管理時間,自己控制和評價學習的一種學習過程。微型課程對成人自主學習有著重要的意義。本文在分析成人教育課程設計現狀及存在問題的基礎上,根據成人在職自主學習的學習情境,提出微型課程設計與開發的設想。
一、當前成人教育課程設計對學生自主學習的適應性問題
早期成人教育的課程開發基本沿用了普通高等教育的模式,無鮮明的特色。1999年電大開展開放教育試點以來,與開放教育相關的教學改革開始側重于多元化教學模式的構建,以及教學方法、考核方法上的創新,但并沒有在本源上對成人教育進行專門的課程設計。以至于教學改革的結果并不理想,比如面授課到課率低、網上資源的點擊率低、網上實時教學形同虛設、學生學習興趣不高。甚至可以說,部分學生的真正學習行為并沒有發生,他們在學習過程中所付出的努力在于應付各種各樣的教學安排、作業及課程考核。當然,造成這種結果的原因有很多,比如,學生本身工學矛盾嚴重、學習動機不純(較強的學歷需求)、學習能力較差等,但筆者認為,這與成人教育課程設計的缺失有一定的關系。我國現行的成人遠程教育課程設計很多帶有濃厚的傳統教育課程設置的烙印,有些甚至照搬普通高校課程的內容和框架,并未體現成人遠程教育的特點,不符合遠程教育的要求,無法適應學員自主學習的需求,學員在學習過程中遇到諸如學習時間不夠、學習動力不足、學習方法不當、學習條件不好等一系列問題,影響了學習效果和積極性,從而導致他們對遠程教育產生失望和抱怨,大大降低了成人遠程教育質量。
當前,國家開放大學的各項建設正在開展,成人教育也面臨著功能性轉變,學歷教育不再是成人教育的唯一職責,終身教育成為成人教育新的使命,非學歷教育將是成人教育的主體。同時,隨著社會的進步,成人學習者的學習環境也在發生著較大的變化,使原有的課程設計表現出較大的不適應性,主要有以下幾點。
1.課程設計不適應成人學習者的自主學習情境。成人自主學習情境,主要是成人學習面臨的客觀環境,包括學習時間、學習條件等。成人學習者的學習情境之一是工學矛盾嚴重、學習時間碎片化。相關數據分析顯示,45%的成人學員周工作時間在40個小時以上,26%的學生周工作時間為固定的40小時,另有29%的學生周工作時間低于40小時。除工作之外,上下班、照顧家庭、社會應酬、娛樂等日常生活內容也占用了工作之余的大部分時間,這決定了成人在職學習只能利用工作、生活之余的閑暇時間來進行學習,這些時間是零碎的、分散的時間,不適宜進行有深度的思考和系統的知識學習。而現有的約定時間地點的面授教學、網上實時教學很難以適應學生的需求,而且,每節課固定的時長也為學習者帶來了較大的學習障礙。
成人學習的第二個情境――新的移動學習方式正悄然興起。網絡和移動終端使得學習隨處、隨時可及。據中國互聯網絡信息中心(CNNIC)的《第31次中國互聯網絡發展狀況統計報告》顯示,截至2012年12月底,我國網民規模達5.64億,全年新增網民5090萬人?;ヂ摼W普及率42.1%,其中18歲以上成人網民占網民總數約80%,2012年中國網民人均每周上網時長達到20.5小時。同時,移動互聯網也蓬勃發展,各種移動終端,如手機、Pad、移動終端越來越多,2012年,通過筆記本電腦上網的網民為45.9%,通過手機上網的網民比例增速較快,從2011年的69.3%上升至74.5%。且2011年3月~2012年9月間我國移動互聯網流量增加了10倍。教育是信息的傳播,而現有的成人教育資源很難適應移動學習的需求。
2.課程設計不能適應學習者的個性化、差異化需求。學習需求個性化、差異化不僅體現在生理方面,如由于性別、年齡、身體、體能和感知等方面引起的差異,也可能體現在心理方面,如由知識結構、智力類型、興趣、愛好、動機、情感和意志等方面引起的差異。這些差異必然引起每個學習者學習需求的差異,可能表現為學習內容的差異、學習方式的差異,甚至學習興趣的差異。如果學習目標、學習內容、學習時間統一,學習方式單一,則會使成人學習者不適應,學習壓力加大,面對學習比較焦慮,自主學習信心不足。遠程教育者必須重視并適應這種個體性差異,并盡可能使得課程設計能夠滿足個性化學習的需求。
3.課程設計不能兼顧非學歷教育或非正式學習的需求?,F有的成人教育課程沿襲了傳統高等教育的課程,主要是針對成人學歷的教育設計、學習資源、教學組織、課程考核等設定對人才的培養目標。而在終身學習背景下,學習需求可能是非正式的、隨機的、即時興起的需求,可能只是針對某一個問題的解決。在這方面,現有的課程設計顯然難以適應。
可見,終身教育環境下,要求課程具有形式多樣化、靈活性等特點,要求課程滿足學習者在短時間內掌握某個學習內容或技能的學習需求。
二、微型課程在適應成人終身教育及自主學習等方面的意義
(一)微型課程的特點
微型課程應該是相對于傳統普通課程而言的一種新課程理念。傳統的普通課程的內容主要是以學科知識為主,強調知識的系統性和邏輯性,根據初學者的認知習慣,重視知識學習的先后順序。而且,傳統的普通課程體系僵化,資源開發緩慢,新的知識需要經過長時間的磨合才能被納入學科體系,難以適應不斷更新、不斷擴大的知識學習需求。因此,微型課程不僅從形式上,而且從內容上都不同于普通課程。從形成上看,微型課程主要適應微型學習,因此微型課程應該是內容短小、精煉,媒體形式多種多樣,能靈活適應各種學習方式。從內容上看,微型課程為了適應更廣泛的、靈活的、即時的需求,它的內容來源應該包括一切可學習的知識,既包括學科的知識也包括能被描述、傳遞、認知的技能等專題性的知識。從學科方面來看,微型課程是學科課程微型化的結果,即把傳統的學科課程模塊化、項目化、知識點化,形成相對獨立、短小的學習單元。而專題型知識則包含了更新的、新增的知識、技術等,或是生活中的熱點。所以,微型課程并不強調系統性和邏輯性,這樣才能保證有足夠豐富的微型課程資源。具體說來,相對于傳統的普通課程而言,微型課程有以下特點。
1.微型課程的內容在于學習者的學習需求。微型課程內容來源于所有被學習者需要的知識和技能,只要這些知識和技能能被描述、傳遞、認知,都是微型課程的素材和依據。而傳統課程一般僅從屬于學科,而且外在于學習者,并凌駕于學習者需求之上。
2.微型課程是動態的、即時的。微型課程因為容量小、開發時間短,任何新增知識都會很快納入微型課程的學習內容,所以微型課程是動態的、不斷被充實和豐富的。而傳統課程是既定的、先驗的,相對靜態的。
3.微型課程之間相對獨立。微型課程是相對獨立的知識單元,既可以被包裝整合為較為系統的學科知識,也可以作為獨立學習單元,適應成人的補充性學習,知識關系相對比較松散。而傳統課程重視課程之間嚴密的邏輯關系。
4.微型課程內容簡短、精煉,學習時間短。微型客程容量小,針對性強,需要較少的時間投入。而傳統課程內容多,學習時間較長。
5.微型課程表現為包括各種媒體的全媒體資源。微型課程的表現形式主要不是教材,而是電子文稿、音頻、視頻等多種媒體,適應數字化學習、移動學習等靈活的學習方式。而傳統課程最主要的媒體形式就是教材。
所以,筆者認為微型課程應該是基于學科的或專題的,內容豐富、時間短、媒體多樣,能廣泛適應各種學習需求的學習對象。
(二)微型課程在適應成人終身學習及自主學習等方面的意義
構建終身教育體系和學習型社會,就是要構建一個人人可學、時時可學、處處可學的廣泛的學習狀態。其中,人人可學要解決的是對學習內容的需求滿足問題;時時可學要解決的是學習時間的匹配問題;處處可學是學習環境、學習方式的適應問題。根據微型課程的特點,微型課程在以下幾個方面均表現出對成人終身學習、自主學習的適應性。
1.微型課程能適應不同個體的差異化、個性化、多樣化的學習需求。由于微型課程來源于一切可以學習的知識,且不斷地進行動態更新,保證了學習資源的足夠豐富,能適應“人人可學”的需求。
2.微型課程能適應微型學習的需求。由于微型課程短小、精煉,學習時間短,成人學習者可以利用工作生活的碎片化時間進行學習,實現學習時間的匹配,適應“時時可學”的需求。
3.微型課程能適應移動學習的需求。微型課程更多地表現為數字化多媒體學習資源,隨著移動終端設備的普及,學習者無論身在何處,都可以利用移動終端進行學習,適應“處處可學”的需求。
三、基于知識點的微型課程設計
知識點一般是知識系統中相對獨立的最小的學習單位。按知識點為基礎進行微型課程設計,可以使微型課程的容量盡可能縮小,學習時間縮短,充分適應學習者利用碎片時間進行微型學習的需求。基于構建成人終身學習體系的需要,微型課程設計必須考慮課程的內容、課程資源媒體以及學習方式。以知識點為基礎的微型課程設計如圖1所示。
這種基于知識點的微型課程設計思路如下。
1.以學習者為中心。這對于教學設計至關重要。切實考慮成人學員的學習情境,才能從方便學習者的角度進行教學設計,把對學習者的服務和支持放在第一位。
2.知識的系統性與松散性相互結合。知識的微型化只是為了適應學員對碎片時間的利用,以及方便學生根據自身的知識結構個性化選擇學習內容。但作為學習資源,應該保證課程內容的完整性,單純零散的內容很難保證學習者系統學習的需求。
3.基于遠程網絡學習、移動學習的全媒體資源開發?,F代社會網絡和移動設備的普及程度越來越高,已經不斷融入人們的生活,成為伴隨人們工作生活的主要狀態。終身學習要符合成人學生的學習情境,因此決定了必然要選擇以網絡和移動終端為媒介的學習資源。同時,資源的形式要融合文字、圖形、圖像、動畫、聲音和視頻等各種媒體,體現以學習者為中心的理念,增強用戶的學習體驗,提高學習興趣。
4.學習者依據自身需求自主學習。微型課程設計的最主要目的是適應學習者的需求,包括對學習內容的需求、學習時間的需求、學習方式的需求。成人學習者已經具有一定的知識基礎,但這些知識基礎對于每一個成員來講,千差萬別,每位學習者的學習需求完全是自主的、即時的,學習時間、地點也不可能固定,這就決定了要由學習者自己決定學什么、什么時間學、怎么學。
以知識點為基礎的微型課程設計,創新了遠程開放教育環境下的課程理念與課程模式,充分考慮了成人學生的工學矛盾及個體性差異,并適應知識經濟條件下的移動、微型學習需求,可以為下一步國家開放大學的課程建設提供一種借鑒。
參考文獻:
[1]陳義勤.網上人大遠程學習者學習困難調查與分析[J].中國遠程教育,2008,(8).
[2]中國互聯網絡信息中心(CNNIC).第31次中國互聯網絡發展狀況統計報告[R].
[3]聶然,李盛聰.成人遠程學習的特點與課程設計[J].繼續教育,2004,(12):72-73.
[4]陳聯,蘆麗君.成人遠程教育課程設計問題探究[J].湖南科技學院學報,2006,(6):224-225.
[5]李可夫,王爽.微型課程的概念界定[J].延安職業技術學院學報,2010,(10):62-63.
[6]羅丹.微型課程的設計研究――以“老年人學電腦”課程為例[D].天津大學,2009.