0
首頁 精品范文 程序設計報告

程序設計報告

時間:2023-06-01 08:52:47

開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇程序設計報告,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。

程序設計報告

第1篇

Abstract: Matrix is an important mathematical method of diagonalization, but because of its computational complexity, it has caused great difficulties on the application, The mathematical software has the function of processing of diagonalization, but for rational matrix diagonalization problem in the field of rational number the result is not satisfactory. So the study of rational matrix over the rational number field similarity diagonalization diagonalization, contract and orthogonal diagonalization algorithm and program project, design to realize rational matrices over the field of rational numbers on the diagonalization of utility software, solves the rational matrices over the field of rational numbers on the diagonalization of the accurate determination and computation problem.

關鍵詞: 有理矩陣;有理對角化;算法;程序

Key words: rational matrix;rational diagonalization;algorithm;program

中圖分類號:TP311.1 文獻標識碼:A 文章編號:1006-4311(2013)22-0237-04

0 引言

經過一年多的潛心研究,我們有理矩陣有理對角化軟件創作小組完成了《有理矩陣有理對角化問題的算法及程序設計》的課題研究與軟件開發任務,現將研究情況總結報告如下。

1 研究意義

矩陣是重要的數學工具,在各個領域中都有廣泛的應用,如電路學、力學、量子物理乃至三維動畫的制作都用到矩陣理論。矩陣對角化是矩陣理論中重要的變換方法,利用矩陣相似對角化可以快速地計算出矩陣所對應的行列式的值或矩陣的高次冪;利用矩陣合同對角化可以化簡二次型,為二次曲面的研究提供了極大的方便;利用矩陣正交對角化化簡的二次型幾何意義是保形變換,更有實在價值,等等,可見矩陣對角化應用廣泛。從理論上說矩陣對角化方法已經完善,但是人工實現卻非常困難,甚至力不能及,所以研究用計算機實現之就非常重要。

值得注意的是,在實際應用及計算中所面對的數都是有理數,因此所直接打交道的也都是有理矩陣(即有理數域上的矩陣),因此考慮有理矩陣在有理數域上的對角化問題即有重要意義,盡管說已有的數學軟件(如,Mathematica、Matlab、Maple等)能夠解決矩陣對角化問題,但因為這些軟件均是基于實數進行運算,所以對有理數而言勢必存在誤差(如對于循環小數),因此用之處理有理矩陣在有理數域上的對角化問題所得結果并不精確,有的誤差還很大,例如關于相似對角化問題,對于矩陣A=■

人工與我們設計的軟件都可求得:

可逆矩陣T=■與對角陣D=■

使得T-1AT=D。但Mathematica求出的可逆矩陣是:

T1=■

而Maple求出的可逆矩陣是:

T2=■

比較可見,Mathematica和Maple的計算結果存在著誤差。

又如對于矩陣

A=■

人工與我們設計的軟件都可求得正交矩陣

U=■與對角陣D=■

使得UTAU=D.但是在“矩陣工作室”——Matlab中所求的結果卻是:

正交矩陣T=■

與對角陣D=■

可見此結果存在較大的誤差。再如對于矩陣:

A=■

人工與我們設計的軟件都可求得可逆矩陣

p=■,使得

P′AP=■

但是Matlab中所求得的可逆矩陣卻為

T=■,比較可見Matlab的結果存在誤差。

因此研究和設計有理矩陣有理對角化軟件具有重要意義,為有關矩陣對角化問題的學習、教學及研究提供輔助工具。

2 研究現狀

本課題的研究主要是處理有理矩陣的有理對角化問題,從國外來看,相關的研究是已有的大型數學軟件(如Matlab、Mathematica、Maple等),不過從對角化來說,這些軟件均是在實數域、復數域上計算矩陣的對角化問題,而不具有精確處理有理矩陣在有理數域上對角化問題的功能,并且這些軟件系統龐大、使用不便、輸出的結果也不直觀。從國內來看,在知網與維普資訊上搜索,只見到計文軍等人《基于MATLAB的實對稱矩陣對角化》的論文(該文系內江師范學院大學生科研項目論文),未見其它相關的研究。總之關于有理矩陣有理對角化的的算法與程序設計研究非常少見。

3 相關概念界定

有理矩陣:有理數域上的矩陣稱為有理矩陣。

偽正交矩陣:如果n階實矩陣T滿足TT′=T′T=D(D是對角形矩陣),則稱T是偽正交矩陣。特別地,當D是單位矩陣時T即是正交矩陣。當T、D都是有理矩陣時稱T為偽有理正交矩陣。當T、D都是有理矩陣且D是單位矩陣時稱T為有理正交矩陣。如果T的列單位化后仍是有理矩陣,那么T是有理正交矩陣,此時稱T是可有理正交化的。

有理相似對角化:對于有理矩陣A,如果存在可逆的有理矩陣T,使得T-1AT為對角形,則稱A能有理相似對角化。

有理合同對角化:對于有理對稱矩陣A,如果存在可逆的有理矩陣T,使得T′AT為對角形,則稱A能有理合同對角化。

偽有理正交對角化:對于有理對稱矩陣A,如果存在偽有理正交矩陣T,使得T-1AT為對角形,則稱A能偽有理正交對角化。

有理正交對角化:對于有理對稱矩陣A,如果存在有理正交矩陣T,使得T-1AT為對角形,則稱A能有理正交對角化。

4 研究方法

本項目的基本研究方法可簡示為:

理論研究■算法設計■程序設計

這是一個周而復始的過程,為此制定了以下的研究方案:

5 研究過程

根據上述的研究方案,我們展開了具體的研究工作,下面介紹其中的部分工作:

①最困難的一步是有理矩陣特征多項式的算法設計。因為[xI-A]是含有未知數x的行列式,如果按照行列式的計算方法直接計算,算法即將非常復雜,程序設計也將非常困難,因此我們努力爭取在不展開行列式的前提下而求得矩陣有理特征根。起初的思維是,因為整系數多項式有理根的求法只與最高項系數和常數項有關,而根據根與系數的關系以及矩陣的跡與根的關系,求特征多項式的最高項系數與常數項是容易的,所以就企圖在只求出特征多項式的最高項系數與常數項的狀態下解決問題。然而事與愿違,因為接下來需要判定是否所有特征根都是有理數,而完成這一工作的唯一途徑是判斷所有互不相同的特征根的重數和是否等于n,而確定重數又只能依靠綜合除法,但使用綜合除法就必須知道特征多項式的所有系數,因此即陷入了困境!為了在山窮水盡之際覓得柳暗花明,我們曾構想過許多方法,又查找了很多資料,終于找到了參考文獻[2],其中給出了以矩陣A的冪及其冪的跡表示特征多項式fA(x)系數的方法,由此解決了確定特征多項式系數的算法。

②眾所周知,高于四次方程的根是很難求得,這也就使一般的求多項式的根的算法依賴于近似計算方法。但因為整系數多項式的有理根容易求得,而有理矩陣的特征多項式必然是有理系數多項式,又根據有理系數多項式可約性理論,有理系數多項式完全可以轉換為與其同解的本原多項式來求根,這就使我們形成了求所有特征根的算法思想:先將有理矩陣的特征多項式轉化為與其同解的本原多項式,然后再用整系數多項式有理根的求法來求其特征根,并用綜合除法來確定其重數.然而經過多次運算檢驗后,發現當特征根為0時,綜合除法失效,于是只能先將0作特別處理,然后再用綜合除法判定余下的部分。對此,經過討論研究后,擬定了以特征多項式的最低次項系數來判定0是否為特征根,若是,則再由最低次項系數來確定其重數。

③在正交對角化中,當使用施密特方法對所求的變換矩陣正交化后(為了方便我們稱正交化后的變換矩陣為“偽有理正交矩陣”),需要對偽有理正交矩陣的列單位化。然而并非每一個偽有理正交矩陣都能單位化,所以對于偽有理正交矩陣的每一列,在單位化之前需要判定其能否單位化,經研究,我們采用了“當其模均為有理數時,才可單位化”的判定方法。

④為實現有理數域上的精確計算,我們設計了分數加法、分數乘法子函數來實現有理數的四則運算,算法上說并不復雜,但麻煩的是程序設計中如何存儲分數以及實現算法,在這里我們采用了用兩個矩陣對應地存儲一個有理矩陣的辦法。

⑤由于有限小數及無限循環小數均為有理數,因此程序運行時除了以分數形式輸入數據外,還允許輸入小數,輸入后程序將自動將所輸入的小數轉化為分數來計算,以確保運算精確性。

⑥程序設計中,由于矩陣對角化運算中,會臨時出現不同維數的數組,這樣動態數組就成了算法實現的關鍵之一,這需要反復調試、認真的處理,比如數組是定義在調用函數中,還是定義在被調用函數中,是需要具體處理的,否則會無故地損失內存,我們的經驗是,對于循環調用的情況,數組最好定義在調用函數中。

6 研究結果

經過一年多的研究,我們完成了有理矩陣有理相似對角化、有理合同對角化、有理正交對角化的算法設計,三篇:①有理矩陣有理相似對角化的計算機實現;②有理矩陣有理合同對角化的計算機實現;③有理矩陣有理正交對角化的計算機實現。

并使用通用的、移植性好的C語言設計出程序,形成了一個方便、實用的有理矩陣對角化軟件。由于該軟件是在分數運算的基礎上設計的,所以使用該軟件能夠精確地解決有理矩陣在有理數域上的對角化問題。具體說軟件有以下三種功能:①有理矩陣有理相似對角化:對于有理矩陣A,判別有理矩陣A在有理數域上能否相似對角化,若能有理相似對角化,則輸出其對角矩陣及相應的變換矩陣P;若不能有理相似對角化,則輸出不能有理相似對角化的原因;②有理矩陣有理合同對角化:對于有理對稱矩陣A,求出其標準形及相應的變換矩陣P;③有理矩陣有理正交對角化:對于有理對稱矩陣A,首先判別有理矩陣A在有理數域上能否偽正交對角化,若能,則求出相應的偽有理正交矩陣T及對角矩陣,然后再判別T能否在有理數域上單位化,若能,則將T單位化后得到正交矩陣U,同時輸出U與相應的對角陣;若T不能單位化,則輸出不能有理正交對角化的原因。

下面給出三個計算例子:

例1 有理相似對角化計算例子,對于矩陣

A=■

存在可逆矩陣P=■

使得P^(-1)AP=■

程序運行時間:0.375000秒。

例2 有理合同對角化例子,對于矩陣

A=■

存在可逆矩陣P=■

使得P’AP=■

程序運行時間:0.312000 秒。

例3 有理正交對角化對于矩陣A=■

存在偽有理正交矩陣T=■

使得T^(-1)AT=■

進而,又存在有理正交矩陣U=■

使得U’AU=■

即A可以有理正交對角化。

程序運行時間:0.407000秒。

7 結論

本課題通過設計有理矩陣在有理數域上的相似對角化、合同對角化和正交相似對角化的算法,應用C語言編寫相應的程序,設計出一個具有有理矩陣有理對角化功能的軟件,為有關領域的學習、教學提供輔助工具。

但該軟件仍存在著些許不足,如大規模矩陣問題、大整數運算問題、控制數據運算結果溢出問題都需要繼續優化,進一步提高軟件運算速度。

致謝:

感謝韓山師范學院王積社副教授的悉心指導!

參考文獻:

[1]計文軍,楊海彬,王艷華.基于MATLAB的實對稱矩陣對角化[J].內江科技,2007(4).

第2篇

【關鍵字】程序設計 實驗教學 ACM

一、引言

近來年,隨著信息技術在社會各個應用領域的滲透和普及,程序設計類課程已經發展為高校計算機教育的重點課程。理論教學與實驗教學是程序設計類課程的重要組成部分,其中,實驗教學是完整教學過程中的不可或缺的實踐性教學環節。實驗的目的不僅僅是為了驗證所編程序的正確與否,也是為了加深對程序設計語言知識的充分理解,更重要的是培養學生的實際操作能力和積累豐富的編程經驗,從而引導他們利用程序設計語言編程來解決實際問題。基于此,本文對如何更好的進行程序設計類課程的實驗教學作一些探討。

二、現狀分析

目前,我校計算機學院開設了高級語言如C、C++等多門程序設計類課程,這些課程的共同目標就是讓學生通過上機實驗和課程設計來鞏固課堂上講解的語法規則和算法技巧,鍛煉編程能力。但是現有的程序設計類課程實驗教學存在著很多問題,導致整個教學效果得不到提高,與教學目標的要求不相符。本節將主要從三個方面對其存在的問題進行總結:

2.1 實驗教學安排

我院程序設計類課程的上機實驗課時是有限的,一般都是每周安排兩個課時,或者最多四個課時,通常會在連續的幾周內結束。由于一般程序的編寫和調試比較費時間,要是學生不事先做好充分的準備,僅僅靠在兩個課時內去完成一個完整的程序編寫是不太可能的,對所學內容也沒能充分理解,很難在課堂上培養學生的實際編程能力。

2.2 實驗教學內容

我院專業實驗中心的機房環境是一個內部的局域網,不能連接到互聯網,教師都是通過課件投影或屏幕廣播教學軟件來完成主要的實驗教學過程。實驗內容基本卜^都是對課堂理論教學內容進行驗證和實現,學生按照教材或課件來完成實驗。整個的實驗教學環節中,教師根據實際的情況來選擇是否進行案例教學,而當前多數實驗教學過程中的案例所覆蓋的知識點范圍不夠理想,不能將新舊知識點都包含進來。案例陳舊,缺少更新,實用性和趣味性也不強,因此不能很好的激發學生的學習熱情,不利于培養學生的獨立思考和動手操作能力,未能達到教學目標的要求。

2.3 實驗教學考核

實驗課程主要是通過實驗報告中的程序編寫情況來考核的。由于時間有限,實驗報告的批改都是教師在課后另找時間檢查,教師往往只能通過紙質的實驗報告來分析學生的程序,要求程序能正常通過,看到運行結果就可以了,而忽略了程序中的調試環節,而這些環節中通常都是學生未掌握的知識點。這種考核方式不利于教師對學生學習情況的掌握,也不利于培養學生的創新能力。

三、ACM學習模式的特點

現在,隨著ACM國際大學生程序設計競賽(簡稱ACM)在高校中的推廣,越來越多的學生參與進來了。在迎接ACM競賽的學習過程中,形成了一種具有ACM競賽特點的學習模式,這種學習模式的特點如下:

l、ACM競賽所涉及的知識面十分廣泛,算法電極具復雜性。通常在平時的訓練過程中為了能深刻而透徹的理解各個知識點,教師會引入大量的案例教學。運用典型案例可以將學生帶人特定的問題進行案例分析,通過學生的獨立思考或團隊合作,進一步提高其解決具體問題的能力。

2、ACM競賽是通過在線測評系統上實時提交程序代碼,給出評判結果的競賽形式。ACM測評系統能夠實時的給出參賽隊的排名情況和每道題的通過率以及通過人數,教師可根據題目的通過率來掌握學生對知識點的學習情況,也可以反思其教學方法和教學內容中存在的問題。

四、基于ACM模式的程序設計類課程實驗教學的做法

將ACM學習模式應用到我院現有的程序設計類課程實驗教學過程中,具體措施運用如下:

4.1 實驗課程的開設

我院高級語言(C、C++)程序設計實驗課程都是在大一這一學年開設的,大一第一學期是面向過程的C語言編程學習,大一第二學期是面向對象的C++語言編程學習。這樣開課的結果就使得大多數學生連面向過程的編程都還沒有完全搞清楚,就直接跳到了面向對象的編程,可以說整個大一學期都是處于混沌的編程狀態。因為對程序設計語言的思想和語法還沒完全掌握,所以很多學生不具備基本的編程能力,甚至對編程有恐懼感。為了解決這些問題,我們結合ACM的競賽模式來調整開課計劃,把原計劃2個學期的高級語言程序設計實驗課程的教學時間調整為5個學期,這樣可以貫穿整個計算機專業課的學習過程,從而將程序設計語言和其他計算機專業課的學習更好的結合起來,讓學生有時間去深刻地理解程序設計語言的思想和方法,不斷地鍛煉實踐操作能力和積累編程經驗。

4.2 實驗內容的選取和實驗課程的考核

對實驗環境來說,要求將我院專業實驗中心機房連接到我校的源程序在線測評(Onlinejudge,簡稱OJ)平臺上。根據程序設計類課程的實驗內容和具體要求,每次實驗前,教師可以從我?;蛘咂渌咝5腛J平臺上的ACM競賽題庫中挑選或改造2-3個相關題目作為實驗內容掛到我校的OJ上。在實驗課階段,由學生獨立完成或者自由組隊來編寫程序,調試程序,解決問題,編寫好的程序提交給OJ來判斷正確與否。通過每次實驗在OJ上完成的做題數量,教師可以由此掌握到學生對知識點的學習情況,對欠缺的知識點再給與重點講解。同時教師可以根據OJ上的排名很輕松的完成實驗課程的考核。學生也可以通過每次實驗的做題和排名情況,來檢查自己的學習方法和學習內容,從而達到熟練掌握所學內容的實驗教學目的。

第3篇

關鍵詞: C語言; 程序設計; 職業技能; 課程改革

中圖分類號:G424 文獻標志碼:A 文章編號:1006-8228(2015)05-54-02

Abstract: The traditional software development course, focus on programming skills and logical thinking ability, can not meet the needs from the human resource market. Based on the analysis of the existing problems of current software development course, combining with the teaching practice of C language program course, this paper propses a teaching reform scheme for occupation skill training, integrates the information system software mechanism into classroom teaching practice, and gives one example of teaching design. The practice proved that, the reformed teaching scheme improves the students' engineering ability to apply knowledge to solve practical problems.

Key words: C language; programming; occupation skill; course reform

0 引言

在國家“信息化帶動工業化”戰略指導下,企業信息化飛速發展,帶動了區域經濟轉型和產業結構升級,相關行業和企業對信息技術人才的綜合素質能力要求越來越高,對從事信息技術應用型工作的技能型創新人才需求非常迫切[1]。高級語言程序設計作為高職院校信息技術專業的必修課,主要是面向編程技能和邏輯思維能力培養,人才培養質量和規格已遠不能滿足人才市場需求[2]。職業能力是人們從事其職業多種能力的綜合,也是高等職業教育的重點培養目標之一,主要指靈活運用知識解決實際問題的工程能力和動手能力。當前流行的C++、Java開發平臺運用,一般信息系統,Android應用開發,以及一些工具的應用和配置等,都離不開C語言的基礎知識。如果將職業能力培養注入到C語言程序設計的教學目標,從系統工程的角度,重新安排知識點的學習路徑,結合信息系統的建設、管理、運行、維護工作需求,增強實際應用技能和解決問題能力培養,將有利于提高學生的學習積極性和第一任職技術能力培養。

1 面臨問題分析

C語言基礎知識普遍適用于當前流行的開發平臺,成為很多高職院校信息技術專業的必修課。但是,現有的C語言程序設計教學往往過多的關注結構化程序設計方法,按照知識點的先后順序和難易程度講解程序的基本結構[3],注重語言的各種語句、語法和命令,即便是列舉了一些典型例題,也僅僅是從編寫程序的角度幫助學生理解所講的內容,無法達到靈活應用的教學目的,課程學習價值得不到充分發揮。

1.1 與應用需求脫節

很多學生畢業后認為程序設計課程教學安排不合理,37%的學生認為對就業沒有任何意義,20%的學生認為沒有掌握所學知識[4]。究其原因,是因為隨著計算機和互聯網應用的普及,人才需求兩極分化嚴重,大量的人才需求是信息系統管理、運行和維護人員,不需要開發系統而要懂得系統優化配置、故障排除和客戶服務。對于高職教育而言,顯然應要求學生從技術上理解信息化系統的構成和配置。

1.2 與技術發展不相適應

計算機技術已經從一個高端的技術行業演變成一個工具,云計算、物聯網等新技術層出不窮,多數實際應用是利用第三方平臺進行二次開發,只需調用相關的軟件構件,通過圖形化的界面配置幾個參數就能實現簡單的應用。企業更關注人才解決實際應用問題的技術能力。單純的語句、語法教學模式已經不能滿足技術發展需求。

1.3 與職業技術能力不匹配

對語法、命令掌握的技術壁壘很低,但是數據建模、抽象問題的解決能力需要系統的學習。學生通過程序設計課程學習,應該能夠真正理解掌握計算機軟件的內在運行邏輯機理,而不是了解簡單的語言規范?,F有授課模式下,學生只是被動的接受語法和語句,而不能真正掌握軟件的運行機理,也就無法轉化成自身的職業技術能力。

2 面向職業技能的教學改革方案

職業技能體現的是第一任職技術能力。要適應市場人才需求,轉變以傳授知識為主的理論教學為提升學生技術能力的應用教學。教學內容要圍繞應用技能需求設計,提煉出共性的知識和應用范疇,提高學生對程序設計背后運行機理的掌握,培養學生提出問題、分析問題、解決問題的綜合能力。其教學強調在應用情景的驅動下,最大限度地調動學生的主觀能動性,探究完成任務或解決問題,增強創新實踐能力。

2.1 C語言應用現狀深度分析

根據來自CodeEval的編程語言統計數據分析,2013年開發者使用Object-C飆升了300%,C#增長了100%,JavaScript增長了33%,Java雖然降低了14%,仍保持在領先地位。國內一些教育網站,則大量推崇Java編程、C#和Android應用開發。雖然已經很少將標準C作為開發工具,但上述這些編程語言的基礎知識都在C語言程序設計教學中有體現。

2.2 教學改革思路

以就業第一任職技術能力為導向,突出程序運行機理分析和解決實際問題方法等應用內容,提高施教的針對性。在教學計劃上,要依托學生在計算機組成和操作系統等相關課程上學到的知識,把軟件系統運行機理融入到程序設計,增強C語言程序設計授課的有效性。在教學目標上,在掌握C語言編程基本規則的基礎上,適當增加軟件系統管理、配置和優化。在教學重點上,圍繞編寫、調試和配置一個實用、規范、可讀性的程序,靈活運用任務驅動和項目教學法,由簡單到復雜,逐步涵蓋C語言的基本語法、編程知識點,涵蓋實際運行維護各項流程,設計并實施一系列完整的項目,充分發掘學生的創造潛能,提高學生解決實際問題的綜合能力。

2.3 課程教學方案設計

改革后的C語言程序設計課程,以學習項目為知識載體,以項目導向活動作為課堂教學的主要形式,突出項目開發過程中的管理、運行、維護等能力培養。教師要充分利用自身的知識能力優勢,分析就業市場需求,定位課程崗位能力培養目標,在教學設計時突出對學生的專業技能、項目經驗、職業素質等方面的訓練。課程設計通常包括:設計項目、分解任務、協作開發、應用評價、迭代升級五個環節。首先,要對項目開發的相關技術進行概況式介紹,包括開發環境搭建、項目背景、任務要求。設計項目要由簡到繁,前后關聯,遞進完善,將C語言程序設計的知識點融入到一系列項目中;分解任務,要成立項目小組,對應項目開發中的項目管理、系統分析員、程序員、測試員和運行維護人員等角色,輪流完成指定任務;協作開發就是創建仿真工作任務,采用任務驅動調動學生的積極主動性,由項目小組獨立完成任務;應用評價要組織對一次任務完成情況進行研討,分析下一次項目迭代升級方案,繼而開展項目的迭代升級。

3 課程教學設計方法案例

精心設計課堂實例是教學內容的關鍵。仿真項目的安排,應該遵循課程內容之間的內在邏輯關系,充分包含課程知識點,完成相關應用知識和技能的掌握。

3.1 項目設計

讓學生充分了解當前常用的C語言開發平臺,在此基礎上搭建TC2.0開發環境,研討應用軟件的安裝配置基本要求,培養學生的項目建設能力,將其作為學生從事信息技術應用的基本技能。例如每五人分為一個仿真任務工作組,完成一個“找出最大數”的應用程序編寫。其中每個人輪流擔任項目管理,負責溝通協調項目開發中出現的問題,匯總系統分析員、程序員、測試員和運行維護人員文檔,撰寫項目報告。要求學生在程序設計過程中,不只是完成某一功能,還要分析每一行語句的應用場景,通過查找資料,轉化為應用技能。下面例子中,重點是注釋中的應用說明,拓展學生的知識點。

#include //C語言調用的頭文件,實現對已有函數的引用,

可根據需要選擇。C#、Java也有類似作用的package。這是實現程序復用的主要途徑。

int main(void) //主程序,必須存在,是系統調用軟件進程的入口。

Windows、Linux操作系統管理進程的入口,也可實現程序之間的調用和通信。本程序涉及了int和void變量類型,int類型數據在實際應用中可以用來表示一些整數如職員序號等。

{ //C程序的分段標識,以C為基礎發展起來的程序大多以此為標識。

int i,j,k,t; //定義變量,要放在函數的最前面。主要是要考慮具體應用的對象屬性。

printf(“input 3 number(exp:12 32 34):”); //輸出顯示,一方面

是調用已有的程序模塊,二是實現程序界面的交互,當前主要是圖形化交互界面,但在工業控制上還有一些字符型交互界面,主要取決于具體的應用場景。

scanf(“%d %d %d”,&i,&j,&k); //函數調用,接受鍵盤輸入。每個

應用程序都要通過與輸入輸出設備實現信息的收集,存到相應的內存變量,然后進行處理。

t=i; //臨時存儲,計算機的功能之一就是存儲功能,很多實際應用

都需要將數據格式化后進行存儲處理。

if(j>t) t=j; //比較邏輯處理,完成功能要求,并存儲結果。

if(k>t) t=k;

printf(“\n The max number is :%d”,t); //函數調用,顯示結果。

由采用的函數決定什么方式來顯示結果。加格式符是為了顯示的人性化。

renturn 0; //向上層操作系統或調用程序返回運行結果,可以實

現應用間的銜接。

} //完成順序程序結構的處理。

根據這一示例,學生分別完成程序設計、文檔編寫,并通過查閱相關資料,開展應用拓展分析。通過這個簡單的項目設計,能讓學生在學習C語言編程基本規則的基礎上,創建仿真工作任務,讓學生帶著任務學習,擁有學習的主動權,帶動起學生的學習興趣。這個過程可以有效地拓展學生的應用技能。

3.2 項目評估

組織小組討論,引導學生分析項目存在的應用問題。該程序存在的主要問題,一是只能處理3個數;二是程序不能重用;三是程序結果無法存儲。一個完整的用戶報告應包括提交問題報告和新的需求報告。通過學生的研討和書面報告,對學生的綜合素質進行評價,并給出問題處理方法建議。

3.3 項目迭代

在項目評估問題的基礎上,提出項目迭代任務,一是進行輸入保護,采用循環的方式實現隨機個數數據輸入和比較,掌握循環結構知識點;二是利用函數實現程序代碼級的重用,掌握函數知識點;三是實現數據文件寫入,掌握文件操作方法。教師講解示例,完成相關應用分析后,交予仿真任務工作組進行實踐開發。這樣就將枯燥的語法融入到了一個不斷完善的項目應用過程中,培養學生思考問題、解決問題的職業能力。

4 結束語

本文提出的C語言程序設計課程改革方案,以一個完整項目的迭代升級貫穿教學過程的始終,將編程知識點融入每次任務設計中,在任務驅動下提高學生學習的積極性和主動性,以仿真任務工作組提高學生溝通交流和實際工作能力,以應用拓展分析帶動職業技能提升。該方法通過近年來的課堂教學實踐,取得了較好的效果,學生在畢業實習階段就明顯得到了企業用人單位的認可,是一種適合于程序設計課程的教學方法。

參考文獻:

[1] 工業和信息化部中小企業司.中小企業信息化發展指南[M].機械工業出版社,2013.

[2] 朱殷勤,論高職計算機應用專業技能型創新人才培養[J].農業網絡信息,2013.11:150-153

第4篇

關鍵詞:程序設計;學習模式;在線學習;自主學習;移動終端

DOIDOI:10.11907/rjdk.162141

中圖分類號:G433

文獻標識碼:A文章編號:1672-7800(2016)012-0193-04

0 引言

當前軟件人才培養的重要目標是有效提升學生的程序設計能力,使其擁有程序設計語言、數據結構、算法、計算機理論、軟件工程等專業知識以及分析與解決實際問題的能力。常規的程序設計能力訓練以傳統課堂教學模式為主,側重于理論教學,強調應試教育,而忽視對學生學習興趣的培養,通常使學生處于被動學習狀態。近年來,隨著ACM國際大學生程序設計競賽(ACM-ICPC)的發展,程序設計能力訓練能夠利用成熟的ACM-ICPC在線評判系統,形成基于ACM-ICPC的程序設計學習模式。

該模式可激發學習者對程序設計的學習興趣,并幫助其提高程序設計水平[1]。

當前移動互聯網和移動終端設備已成為人們日常學習、工作和生活中獲取信息的重要手段,以此形成的普適化學習模式讓人們的注意力中心回歸到要完成的學習本身,構建出一個泛在的、隨時隨地可獲得的智能化教育體系[2]。本文為程序設計能力訓練設計了一種在線自主學習模式,研究將基于Web的ACM-ICPC在線評判系統[3]擴展至移動互聯網環境下的移動終端平臺,從而為學習者搭建起交流平臺,形成一種高效的普適化程序設計學習體系。

1 程序設計在線自主學習模式設計

網絡與信息技術的發展使程序設計學習可以突破時空限制,將現有的程序設計學習資源和平臺有機整合,有助于實現在線自主的學習方式。本文將程序設計在線自主學習模式劃分為課內學習、課外學習兩個階段,如圖1所示。課內學習階段主要適用于在校的程序設計學習者,要求提高實踐課時比例,增加自主學習內容,因此采用適合在線學習的程序設計練習題目;課外學習階段適用于所有程序設計學習者,要求構建課外學習在線資源,因此采用Web客戶端、移動終端等多樣化用戶端,并逐步構建形成程序設計在線自主學習社區。

程序設計在線自主學習模式融合常規學習模式的優點,利用現有移動互聯網和移動終端設備發展成果,使程序設計學習趨向于全天候在線及自主可控。課內學習階段由課堂知識傳授模式發展到包括實踐學習、自主學習、在線學習等多樣化的綜合學習模式。課內學習階段強調多樣化的用戶端,從個人自主學習模式逐步導向協作互助的社區學習模式。由此可見,程序設計在線自主學習模式為程序設計能力訓練提供了一個便捷、開放、互動的普適化程序設計學習平臺。

2 程序設計在線自主學習系統設計

程序設計在線自主學習模式的具體實施依賴于系統服務平臺、Web客戶端系統、移動終端系統以及普適化程序設計學習應用等,這些系統構成了程序設計在線自主學習系統,如圖2所示。

圖3給出了程序設計在線自主學習系統的功能。程序設計在線自主學習系統服務平臺可以使用現有的ACM-ICPC在線評判系統[1,4]。移動終端系統主要實現數據的獲取,與程序設計在線自主學習系統服務平臺進行交互,一方面利用網絡通過服務平臺獲取數據,另一方面訪問本地數據庫讀取數據。與服務平臺進行交互時,采用HTTP協議進行通信以及JSON解析[5]。下面給出幾個重點功能模塊設計。

2.1 顯示題目列表

在程序設計在線自主學習移動終端系統中,顯示題目列表功能模塊包括題目列表界面設計、與服務平臺的交互設計。圖4給出了移動終端系統的顯示題目列表功能模塊類圖。

在程序設計在線自主學習系統服務平臺中,顯示題目列表獲取移動終端系統發送來的請求后,從數據庫獲取題目列表數據,然后將這些數據以JSON對象的形式返回移動終端系統。圖5為服務平臺的顯示題目列表功能模塊類圖。

2.2 顯示代碼提交狀況功能模塊設計

移動終端系統的顯示代碼提交狀況功能模塊包括編輯代碼界面設計、提交代碼交互設計、代碼提交狀況顯示界面設計等。圖6給出了移動終端系統的顯示代碼提交狀況功能模塊類圖。

服務平臺的顯示代碼提交狀況功能模塊設計主要為獲取移動終端系統發送來的提交代碼,對這些代碼進行評判,再將評判結果保存到后臺數據庫中。圖7為服務平臺的顯示代碼提交狀況功能模塊類圖。

2.3 提示詞功能模塊設計

移動終端系統的提示詞功能模塊設計主要包括添加默認提示詞、添加自定義提示詞以及顯示提示詞。圖8為該功能模塊的類圖。

3 程序設計在線自主學習系統實現與測試

為實施程序設計在線自主學習模式,上一節詳細設計了程序設計在線自主學習系統,下面給出該系統的具體實現過程,并進行系統測試。

3.1 系統實現

在程序設計在線自主學習系統實現中,系統服務平臺采用南京郵電大學的ACM程序設計在線評判系統(NOJ)[4],移動終端平臺采用Android[6],程序設計普適化應用包括在線開放練習、在線實時比賽、訓練交流等。以下為用戶提交代碼在系統服務平臺上的執行情況示例:

Tomcat v7.0 Server at localhost [Apache Tomcat] C:\\Program Files\\Java\\jre7\\bin\\javaw.exe (2015年6月2日 下午2:18:06)

1241551 [http-bio-8080-exec-12] INFO com.nuaa.Hibernate.SessionFactory - commit tx

1001

整數求和

1268658 [http-bio-8080-exec-9] INFO com.nuaa.Hibernate.SessionFactory - commit tx

1

gao

1001

GCC_prompt

1683525 [http-bio-8080-exec-9] INFO com.nuaa.Hibernate.SessionFactory - commit tx

1683637 [Thread-3] INFO com.nuaa.util.judge.JudgeWaiter-JudgeWaiter提前題目ff8080814db2ec16014 d30 5addc0001

1683795 [Thread-3] WARN com.nuaa.Hibernate.SolutionDAO-getting Solution instance with id: ff808081 4db 2ec16014d305addc0001

1683989 [Thread-3] WARN com.nuaa.Hibernate.SolutionDAO C getting Solution instance with user_name: gao

getting Solution instance with user_name: gao

1684093 [Thread-3] INFO com.nuaa.Hibernate.SessionFactory - commit tx

1684093 [Thread-3] INFO com.nuaa.util.judge.Checker-開始評判--D:\\www\\AcmJudge\\ ff8080814db2ec16014 d305addc0001 1001 1 100 33600

1685739 [Thread-3] INFO com.nuaa.util.judge.Checker-評判結束

3.2 系統測試

下面對程序設計在線自主學習系統進行功能測試和在線自主學習模式的用戶使用測試。在系統功能測試中,表1是顯示代碼提交狀況的模塊用例表,該表用于測試系統是否能夠正確提供給用戶顯示代碼的運行結果。其它測試用例與之類似,所有功能測試結果均為“通過”。此外,根據在線自主學習模式的用戶使用測試報告,用戶對程序設計在線自主學習系統及其支持的在線自主學習模式普遍持有肯定意見。其中,74%以上的用戶使用Web客戶端、移動終端等多樣化用戶端登錄系統;86%以上的用戶認為現在或未來需要在程序設計能力訓練中使用移動終端系統;近94%的用戶認為程序設計在線自主學習系統實現了隨時隨地的普適化學習;85%以上的用戶認為

在線自主學習模式提高了程序設計學習的興趣和效率;近95%的用戶認為在線自主學習模式能夠提高或有時能夠提高程序設計學習的自主性。

4 結語

本文提出了一種在移動互聯網環境下的程序設計在線自主學習模式,該模式將程序設計能力訓練劃分為課內學習和課外學習兩個階段,每一個階段都強調程序設計的在線學習、自主學習和社區協作學習,這種普適化學習體系由系統服務平臺、Web客戶端系統、移動終端系統以及具體學習應用等構成。為此,本文設計與集成開發了一個程序設計在線自主學習系統,該系統使用現有的ACM-ICPC在線評判系統作為系統服務平臺,支持包括Web客戶端、移動終端在內的多樣化用戶端,實現了程序設計在線自主學習模式,有效提高了學習者的自主化程序設計能力訓練效率。

參考文獻:

[1] 陳志, 李夢澤, 馬嫣, 等. 基于 ACM 程序設計競賽的常規教學改革[J]. 電氣電子教學學報, 2011, 33(6): 18-20.

[2] PENA-AYALA A, CARDENAS L. A revision of the literature concerned with mobile, ubiquitous, and pervasive learning: a survey[C]. Switzerland: Springer International Publishing, 2016: 55-100.

[3] 蔡崇超. 基于 Web 的在線判題系統設計與實現[J]. 軟件導刊, 2016, 15(3): 107-109.

[4] 南京郵電大學. NOJ: NJUPT ACM online judge[EB/OL]. http://.

第5篇

關鍵詞:C++程序設計;獨立學院;教學改革

中圖分類號:G434文獻標識碼:A文章編號:1672-7800(2012)012-0220-02

1《C++程序設計》在計算機專業課設置中的重要性 《C++程序設計》就是應潮流與需求而進化的一門優秀的程序設計語言。學生在前面學習了面向過程的《C語言程序設計》課程。C++語言是兼容C語言的。C語言的學習對學生掌握C++語言奠定了基礎。學習C++語言后再學習Java語言或C#語言就變得相對容易。體現了這門課程在教學中的作用和重要性。

2獨立學院學生學習《C++程序設計》課程存在的問題 (1)學生在剛開始學習C++語言時,感覺語法和C語言有很多類似的地方,但又有很多的不同點。針對兩種語言的很多知識點都容易混淆,教學過程中需要幫助學生區別這兩種語言,找到類似點幫助學習新的知識。

(2)針對獨立學院部分學生基礎較差的問題,教學中應該避免讓學生在學習程序語言課程時感到枯燥。如何提高課堂的教學效果,需要采用多種教學方法來活躍課堂,促使學生去思考問題。

(3)很多學生反映學習計算機語言的特點就是語法太多,很容易忘記,課后又疏于復習,所以掌握起來較難。教師需要通過課堂的控制督促學生進行預習與復習。

(4)實驗課程中對于教師布置的實驗題目,經常是一部分學生在課堂內難以完成實驗題目,而另外一部分學生提早做完了,課堂剩余時間沒有事干。這需要教師合理安排實驗的難易度,讓不同進度和不同能力的學生在實驗課堂內都能夠很好地完成實驗。

(5)很多學生提出課程設計課的課時太短,難以完成課程設計的內容,沒有留有足夠的思考設計時間來對程序進行優化與改進。這需要教師把握課程設計的靈活性,既要留有足夠的時間給學生進行自主的設計,又不被課時所限。

3改進《C++程序設計》課程教學方案

3.1采用類比式教學法進行計算機語言教學

學生在學習了C語言的基礎上學習C++語言時,把C++與C語言進行對比,比較兩種計算機語言的相同點和類似點,找出不同點,能使學生快速掌握C++的基本語法。作為計算機語言,語法結構都是很類似的,例如,都有變量與常量,但C++語言要求更為嚴格。

計算機語言既然稱為語言,就和自然語言也有共通點。計算機語言復雜性比較自然語言更為簡單。對于計算機系的學生,初次接觸計算機語言,對于語言基礎的部分,總覺得需要記住的瑣碎的語法很多。其實,與中文或英語相比這些語法是相當簡單的。

學會中文的語法和英語的語法,有助于掌握語言,但是,真正能夠寫出好的文章,需要的是語言表達出好的思想。同樣,在程序設計課程中所有計算機語言的語法結構都是很相似的。掌握了基本語法以后,最重要的是用好的編程思想來實現各種程序。計算機語言中定義的各種常量與變量,就好比英語中的單詞。在計算機語言中,通過運算符來連接各種常量與變量,組成表達式。在英語中,通過連詞來連接單詞,組成短語,多個短語組成句子。在英語中,一個或多個句子組成一個段落,用來表達一個中心思想。在計算機語言中,通過函數來完成某個功能,函數中包含若干條表達式。編程思想涉及很多算法,不同的算法能夠提高程序的運行效率,使得程序更為簡潔,提高程序的復用性。在英語中句子與句子間的關系,包括轉折結構、并列結構、假設結構等。在計算機語言中,計算機語言控制結構簡單得多,只有3種:順序結構、選擇結構、循環結構。

3.2啟發式教學法在C++語言課程中的應用

問題啟發是啟發式教學方法的重要途徑,問題本身的質量是影響啟發式教學效果的重要因素。C++語言編程是采用面向對象的程序設計思想。但是,C++并不是純的面向對象程序設計語言。C++是兼容C語言的。這就意味著C++程序設計也是兼容面向過程的程序設計。面向對象的程序設計語言當然比面向過程的程序設計思想要好,但是,為什么C++ 必須兼容C語言?這種啟發式教學法促進學生去思考問題。有很多學生在學習《C++程序設計》特點時教師授課一帶而過。因為微軟公司原先有一部分產品是采用C語言編寫的,后期產品維護也需要微軟公司來提供服務,而對之前C語言編寫的產品,需要進行產品升級,也需要后續推出的C++產品作鋪墊。

3.3《C++程序設計》課堂教學控制

針對獨立學院學生思考問題和完成作業和實驗的主動性和自覺性較差的問題,教師在課堂教學過程中需要對課堂教學的過程進行控制與把握。為了促使學生進行課堂知識的鞏固與復習,在每次下課之前就布置一些關于本堂課程和下一堂課程內容的思考題。在每次上課之前對這些思考題進行點名提問,并對上堂課重要的知識點進行回顧。這樣可使學生主動回憶上堂課程的內容,并很自然地進入當堂課程內容的學習。

3.4《C++程序設計》實驗課程的教學設置

《C++程序設計》課程實驗課的教學,在上機題目設置上應采用多種類型相結合,包括驗證型實驗、設計型實驗和綜合型實驗。每次實驗課之前布置上機實驗題目與要求,每次上機教師的主要工作是檢查所做的實驗內容。上機題目分為4類,基礎題、應用題、設計題和選做題。選做題是針對于已經完成了基本實驗內容的基礎較好的學生,安排需要運用綜合知識點,并結合課外知識,完成難度較高的實驗題目。

3.5《C++程序設計》課程設計教學改革

《C++程序設計》課程學期末安排本課程的課程設計。《C++程序設計》課程一般在第三學期,課程設計在期末給出題目,學生利用寒假期間來完成課程設計的內容。這樣的安排既給學生留有足夠的時間完成設計內容,又能讓學生在假期復習鞏固專業知識。學生必須完成實驗內容,提交課程設計實驗報告,以及系統實現源碼,以光盤形式提交。光盤文件應包含課程設計報告、源程序、編譯后的執行程序,測試數據文件以及說明文件來說明安裝、運行、配置系統的注意事項。

課程設計采用團隊分組模式,可以培養學生的團隊意識。課程設計的考核在第四學期開始,進行分組提交課程設計作品,按照分組進行答辯,按照團隊綜合給分。

具體課程設計安排可以采用如下步驟:搜集設計課題的資料;總體方案設計(包括選用器件、原理圖的總體框架、程序的流程);數據結構及算法的設計;編寫程序;調試程序,對設計方法及結果進行測試;編寫設計說明書;總結并書寫課程設計報告;答辯。

課程設計成績評定方法,按照百分制給分:①出勤、認真態度占10%;②設計方案的正確性占30%;③設計說明書內容及規范程度占20%;④軟件正確性占30%;⑤答辯占10%。

3.6考核體系

《C++程序設計》課程考核的評分應該是綜合評分,在評分標準中應該強調編程能力及操作能力的要求。實驗及課程設計成績應該占總成績50%的分值??荚嚨淖罱K總評成績中期末考試占50%,平時成績及實驗課成績占20%,課程設計占30%。

參考文獻:

[1]郭建宏.C++面向對象程序設計語言教學探討[J].遼寧高職學報,2008(2).

[2]袁柳,路綱.程序設計語言教學過程中的學生思維能力培養[J].計算機教育,2011(12).

[3]李學俊,李龍澍,徐怡.問題誘導啟發式程序設計語言教學方法[J].計算機教育,2010(16).

Research on Teaching Reform of C++ Programming

Course in Independent College

第6篇

由中南大學信息科學與工程學院承辦的湖南省大學生計算機程序設計競賽研討會于2009年5月9日在中南大學隆重召開!中南大學校本部民主樓小禮堂迎來了來自全省38所高等院校110名教務處領導及湖南省程序設計競賽教練與領隊。

湖南省教育廳高教處夏智倫處長、王文斌副處長出席會議并發表熱情洋溢的講話,中南大學信息學院院長、博士生導師桂衛華教授代表承辦單位致歡迎詞。中南大學學校教務處陳立章副處長參加會議并講話?!队嬎銠C教育》雜志奚春雁主編參加了會議。

會上,清華大學博士生導師、全國ACM程序設計競賽總教練吳文虎教授作了精彩的專題報告“國際大學生ACM程序設計競賽”,受到與會代表們熱情歡迎。湖南省高教學會計算機教育專業委員會理事長、競賽專家組組長、中南大學信息學院副院長、博士生導師鄒北驥教授介紹并解讀了競賽新章程,與會代表踴躍發言,為把湖南省大學生計算機程序設計競賽推向一個新的階段獻計獻策,會場氣氛熱烈。 當天下午,省高教學會計算機教育專業委員會召開了第四屆常務理事第六次會議,會議就湘南學院籌備2009年學會年會情況、第五屆湖南省大學生計算機程序設計競賽安排以及與《計算機教育》雜志社合作、計算機學科教材建設、實驗室建設等相關事項進行了激烈的討論,形成了統一意見。

據悉,湖南省大學生計算機程序設計競賽(HunanCollegiate Programming Contest,簡稱HNCPC)由湖南省教育廳主辦,湖南省高教學會計算機教育專業委員會防辦。競賽每年舉辦一次,一年為一屆,力求將國際ACM大學生程序設計競賽引入校園,激發大學生開展計算機程序設計的興趣,培養大學生的創新能力、團隊合作精神和用計算機解決實際問題的能力,推動大學計算機基礎課程的教學改革,加強湖南省各高校大學生之間的交流和學習。

近年來,中南大學信息科學與工程學院在學校的正確領導和教務處的大力支持下,高度重視大學生程序設計競賽。2008年,學院共派出兩支隊伍,代表中南大學參加國際大學生ACM程序設計競賽,并雙雙獲得賽區銀獎。在歷屆省級競賽上也取得一系列優異成績,為接下來的競賽奠定了良好的基礎。

第7篇

關鍵詞:計算機學科;實驗教學;教學改革

當前,培養適應社會發展、適應激烈科技競爭環境,且具有創新意識、創新能力的新一代高素質人才,已成為我國高校人才培養的核心任務和神圣使命,而傳統的教學方式已經不能適應這種新形勢的需要。

程序設計是計算機專業的基礎必修課,是本科學習的入門課程,熟練掌握程序設計是計算機學生應具備的最基本技能。打好程序設計編程基礎,學生對后續專業課程的學習就會產生濃厚的興趣,這對學生的學習是無形的促進。實驗是程序設計學習過程中的重點,只有經過編程實驗的磨練才能熟練掌握程序設計課程的技巧。計算機知識的學習一定與實驗結合,熟練掌握編程技巧是學生掌握理論知識、培養創新能力的關鍵,對學生畢業后走上工作崗位的持續性發展也會產生積極的影響。

改革程序設計教學,使之真正成為理論與實踐相結合的紐帶,成為培養實用性、創新性人才的平臺。我們應在科學發展觀的指導下解放思想,改變傳統的教學方式,努力構建新型的教學機制。把培養目標定位在培養和訓練學生的動手操作和實驗設計能力,實施創新教育。學生不僅理論水平要高,實踐能力也要強。

1改革目標

2008年我院試行大類招生計劃,第一個學期是新生學習的基礎階段,我們要培養學生對專業的愛好,激發學習興趣,這一階段的程序設計實驗教學尤為重要。以前,實驗教學與理論教學聯系不緊密,程序設計的實驗教學也一樣,實驗教學學時少,教學內容簡單,不重視實驗教學,理論與實驗脫節,教學達不到理想效果。一年級新生由于高中時所在地區經濟發展的差別,對所學的信息技術課程的內容掌握程度不同,多數學生計算機的實際操作能力和編程能力普遍偏低,大多數同學只見過計算機,而沒有實際操作過。我們發現以往的學生如果在一年級時,沒有打好編程基礎,后續課程需要編程序時則無從下手,也不了解如何進行調試、測試,后續的專業課程更無法入門,因此失去學習的興趣。這對他們今后幾年的學習會產生很大影響。另外,忽視程序設計實驗教學,還會制約學生日后創新思維的發展[1]。

針對上述問題,我們以培養和提高學生實驗學習能力、分析和解決問題能力,培養學生專業學習能力為目標,嘗試對實驗教學方法進行改革,盡快提高實驗操作水平偏低同學的操作能力,克服學生對編寫程序的恐懼心理,讓新生的編程能力得到實質性的提高。

2改革思路

計算機實驗教學是計算機教學的一個重要組成部分,是培養學生創新能力、獨立工作能力和實踐能

作者簡介:黃荔(1963-),女,高級工程師,本科,研究方向為實踐教學;龐雄文(1972-),男,講師,博士,研究方向為軟件工程;徐永廣(1970-),男,實驗師,碩士,研究方向為實踐教學;司徒錫康(1949-),男,高級工程師,本科,研究方向為實踐教學。

力的主要途徑。當今計算機實驗教學的功能已由過去單一教學發展成為集教學、科研、開發研制為一體。因此,為了適應教學改革的形勢,必須深化計算機實驗教學的改革,加強計算機實驗室建設,最大限度地發揮其作用。另一方面,隨著高校教育體制改革的深化、學生群體時代特色的增強,強調以生為本,注重人文關懷和個性發展的教學模式將成為高校計算機實驗教學的必然選擇。

成功的教學改革應使學生在基本知識、基本方法、基本技能等方面都得到良好的訓練,并在潛移默化中培養學生的觀察力和思考習慣。實驗教學不僅要重視知識的綜合性與完整性,更要注重學生的創造性思維,增強學生的創造性能力[2]。為此,我們進行了以下的改革。

(1) 隊伍多元化:參與教學改革的成員來自同一學科和專業,既有理論教學經驗豐富的教學人員,也有長期從事實驗教學的教學人員,體現了教學與實驗交融、優勢互補、教學方法滲透的特色。

(2) 內容求變化:改變傳統的實驗教學依附于理論教學的內容,建立一套適用新生基本技能學習的內容體系,將理論教學和實驗教學有機聯系起來。

(3) 方法求創新:以一門實驗課程研究探索為基礎,通過對過去的教學經驗進行研究探索與實踐應用并行的方法,拓展為計算機方向適用并具有特色的實驗教學模式。

(4) 成果求突破:建立一個狠抓計算機專業基本功的教學模式,通過新的教學模式,對學生程序設計學習過程有一個科學、合理的描述,形成有助于學生終身發展的“程序設計實驗”課程教學大綱。

3改革內容

針對原有教學模式中存在的“重理論、輕實踐,重教學,輕實驗”的情況,我們對原有的教學內容進行整合,進行大膽而有效的改革嘗試,具體改革內容如下。

3.1構建新的教學體系

從根本上改變實驗教學依附理論教學的傳統觀念,將“計算機科學技術導論”和“高級語言程序設計”的實驗課合并為獨立課程來開設。形成新的實驗教學體系,為程序設計的后續實驗課程提供教改樣例。

按照我院計算機專業的特點,我們加強基礎專業能力的培養,從強基礎、重實踐的指導思想出發,總結以往學生學習的情況,在第一個學期開設32個學時的“計算機基礎實驗”課程。

3.2形成新的教學內容

從學生實驗能力的培養出發,有針對性地安排實驗教學內容,對每次實驗課編寫具體的實驗教材,形成與理論教學既有機結合又相對獨立的教學內容。整合后課程安排如下。

(1) 將“計算機基礎實驗“作為必修課程,總課時為32節,安排1個學分。每周安排2節教學學時,以實驗教學方式進行教學。

(2) 要求預修課程有計算機科學技術導論、程序語言基礎(C++語言基礎)。

(3) 課程授課面向對象可以是各專業學習計算機基本操作和“C++程序設計“的學生,要求學生必須有一定的數學基礎。

(4) 明確教學目的與基本要求?!坝嬎銠C基礎實驗”課程是計算機科學與技術、軟件工程、網絡工程專業的必修課程。本課程以實驗教學為主線,緊扣基礎,循序漸進,面向編程應用。首先使學生掌握Windows 操作系統的基本使用、Office工具軟件的基本使用、網絡的基本使用,作為學生以后學習的鋪墊。接著通過對C++程序設計的教學,使學生能把理論上學到的C++程序設計的基本思想和方法結合到實踐編程中去,培養學生熟練掌握C++語言編程能力和解決實際問題的能力,培養學生無論以后在學習、工作中使用什么語言編程,都能靈活應用這些思想和方法的能力。為學生進一步學習其他專業課程和今后從事軟件開發工作打下堅實的基礎。

(5) 明確課程主要內容、基本要求及學時分配。

實驗1:微機的基本操作(4學時)。

了解實驗課程的總體要求,掌握上機實驗的基本操作與步驟,了解Window操作系統的界面,掌握“計算機基礎實驗”實驗課程中涉及的基本軟件操作(包括Word、Excel 、PowerPoint及上網的基本知識)。

實驗2:VC++程序設計的入門基礎(4學時)。

掌握C++單文件應用程序的開發步驟,掌握C++單文件程序的輸入、編譯、鏈接和運行的過程。掌握標識常量和變量的定義方法、各種運算符的功能、表達式的運算。

實驗3:控制結構程序設計(4學時)。

掌握三種程序控制結構的程序設計和執行過程。4學時中用0.5學時對計算機基本操作進行堂上作業檢查。

實驗4:函數、作用域(4學時)。

掌握函數的定義及其調用、參數的傳遞,變量存儲特性,作用域。

實驗5:程序設計小專題(4學時)。

綜合實驗2~4的程序設計方法,掌握程序設計方法的綜合運用。

實驗6:數組、結構體、指針(4學時)。

掌握使用一維數組、二維數組的程序設計方法,了解結構體的簡單編程方法,了解指針的簡單使用。

實驗7:程序設計大專題(綜合性實驗6學時)。

開發一個小型系統。了解程序開發環境調試工具的使用,掌握小型系統的開發過程,了解用該語言解決問題的方法。實驗涉及的內容包含“程序語言基礎(C++語言)”的大部分知識點,主要包括三種基本的控制結構、函數和函數調用、數組、結構、指針,還有一些必要的知識點,包括Windows界面的程序開發、Windows API調用、Windows中的畫圖功能,需要學生了解這些涉及到類的聲明和調用的額外的知識點。

(6) 課程需要的實驗環境。

主要儀器設備,硬件有多媒體計算機;軟件有Windows 2000/2003/XP、Visual C++6.0;實驗時每人1臺設備。

3.3改變以往的教學形式

以實驗課堂上的教學和學生操作為主,以實驗室課后開放時間所進行不同難度的練習為輔,并以課內課外相結合的方式對新生進行教學和培訓。

我們在實驗室方面作了調整,主要是抽調實驗教師專職擔任實驗教學,聘請本科畢業生做實驗管理和技術維護的工作,全天開放軟件實驗室讓學生在課余時間加強上機實踐和自己選擇上機題目,定期與學生溝通,了解教學和學生掌握知識的情況以便對教學進度和難度進行調整。

3.4構建新的教學評價體系

構建實驗考試題庫、考試軟件,在期末對學生進行實驗考試,作為實驗考核的一項重要內容。

本課程期末進行實驗現場上機考試,成績按百分制計算。本課程總成績包含平時成績、綜合性實驗成績、期末考試成績[3],并按以下依據進行評價。

(1) 綜合性實驗成績根據學生程序設計大專題完成的效果和實驗報告給予評分。

(2) 平時成績根據學生基本實驗技能的掌握程度及學生的實驗報告給予評分。

(3) 綜合期末考試成績和上述各項平時成績,評定學生的總成績。學生總成績=50%的考試成績+20%大專題實驗+30%平時成績。

(4) 實驗報告要求學生全部使用計算機完成并提交電子版本的實驗報告。這是因為學生上機的實驗結果(程序)都已在機器上通過,學生可以方便地把實驗結果加入到實驗報告中,老師在批改實驗報告時也能及時驗證學生的實驗結果(程序)。學生在計算機上完成實驗報告的同時也是對“實驗1”內容的復習鞏固。

(5) 注意提交電子版本作業的報告雷同問題,對抄襲引起的報告雷同問題,一經發現,嚴肅處理。

4改革的實施

為了使改革更有效地進行,在確定改革目標、思路和做法后,我們在2007級新生中做試點教學,并為2008年大類招生的人才培養做好準備,2008年新生正式按計算機基礎實驗課程安排教學。實施分如下幾個階段進行。

4.1專題研究

分析整理前幾年“計算機科學技術導論”和“高級語言程序設計”課程中實驗教學的內容和教學方法,發現兩者關系密切,它們都是學生學習計算機專業內容的入門課程。因此我們決定將兩門課程的實驗教學合二為一,作為一個新的實驗課程“計算機基礎實驗”,初步確定新實驗課程的教學方法和計劃。

4.2擬定教學計劃和內容

分析兩門課程中實驗教學內容的公共部分和不同部分,并加以整合,形成“計算機基礎實驗”課程教學的初步計劃、內容和結構,課程有針對性地編排一系列對應的實驗以幫助學生鞏固課程內容的學習,改變過去由教師完成理論教學后學生自行上機的做

法,并按計劃查找、收集、編寫有關的教學材料,在此基礎上編寫出與新的實驗課程相應的教學大綱和教材。

4.3探索與實踐

我們在2007年新生“程序設計實驗”課中試行新的教學計劃,學生按照“計算機基礎實驗”課程計劃進行實際上機操作,由于內容和要求明確,學生較過去更能有針對性地進行操作,實際操作能力大大提高,更易于掌握相應的課程內容,我們在試行過程中仍不斷探索和改進教學方法和手段。

作為一門新的課程,它和理論課程一樣,我們也將其實驗課程納入學校教學處的正式課程管理,期末考試安排在學校統一的考試周進行,學生成績由教務處統一管理。根據“計算機基礎實驗”課程的教學大綱要求,學生的實際操作能力需要以上機完成指定的內容的形式進行考查,因此,我們在進行實驗教學的同時構建實驗考試題庫,開發考試軟件,以適應新的課程的需要。

4.4實驗教學大綱的構建

我們及時對2007級新生實施改革后的教學計劃、方法和手段進行總結。在此基礎上構建這門實驗課程的教學大綱,修改考試題庫,修改、調試考試軟件,為2008年大類招生的教學改革實施做好準備。

4.5新實驗課程教學大綱的實施

我們在2008年大類招生的人才培養中實施新構建的實驗課程教學大綱,用以驗證新教學大綱的合理性、適用性,并使用考試軟件對學生進行考核。在此基礎上,我們也再一次總結了這門實驗課程的教學方法和手段,修改教材,修改考試題庫,修改、調試考試軟件。

5結語

培養技術型和應用型專門人才是高等院校的目標和任務,為了完成此項目標和任務,我們對程序設計教學的改革方案和思路進行分析和探討,提出針對學生特點教學的新體系。自從教育部實施“質量工程”以來,各高校根據本校人才培養的定位,大力進行實驗教學體系改革,將實驗教學與理論教學有機結合,而不是僅將其作為課堂教學的輔助環節。這樣的改革是提高實驗教學質量,培養學生創新精神和實踐能力的重要基礎[4]。

實踐證明,重視教學體系改革,嚴格執行教學要求,充分調動學生學習積極性,教學質量就會明顯提高。高質量的實驗教學不僅能培養學生嚴謹的科學態度,也能提高學生獨立思考和獨立工作的能力。改革對教師提出更高的要求,只要我們扎扎實實地進行改革,就能完成新世紀賦予我們的歷史使命,為國家培養更多高素質的應用型人才。

參考文獻:

[1] 喬憲遐,鄭焦. 網絡環境下非計算機專業“計算機操作技術”實驗教學改革的研究與實踐[J]. 實驗技術與管理,2009(3):207-209.

[2] 雷東升,鄭全英. 計算機專業實踐教學體系的改革與探討[J]. 黑龍江教育,2006(10):65-66.

[3] 衛紹元,王彤,盧曼惠. 優化實驗教學質量監控體系,提高實驗教學質量[J]. 實驗技術與管理,2009(3):225-226.

[4] 單志龍. 淺談計算機專業實踐教學體系的改革[J]. 教科文匯, 2008(8):81-82.

Strengthening the Foundation and Practice of Programming Reforms and

Explorations of Programming Experimental Teaching

HUANG Li, PANG Xiong-wen, XU Yong-guang, SI TU Xi-kang

(School of Computer Science, South China Normal University, Guangzhou 510631,China)

第8篇

關鍵詞:C語言程序設計;算法設計;能力培養;課程設置

《C語言程序設計》課程的教學目標著重培養非計算機專業學生使用計算機分析和解決實際問題的意識與方法。筆者在多年的C語言課程實踐教學活動中發現,該門課程的教學普遍以知識的傳授為主,注重語言基本語法知識講解,輕視學生編程能力的培養。這種教學現狀導致很多學生只能考試,不能編程。這種教學現象的存在與課程的教學目標是完全相違的。為此本文提出了以算法設計能力、編程能力和自主學習能力培養為目標的課程教學方案。

1基于能力培養為目標的程序設計方案的實施

程序設計是為解決實際的某一問題而設計的一系列求解活動的描述,其實現的關鍵就是構建出解決問題的算法?;谀芰ε囵B為目標的程序設計教學方案的實施,要拋棄傳統的復雜的語法細節,以突出算法設計和編程能力為主要目標,并注重計算思維能力的培養。

1.1課程教學內容設置

以能力培養為目標的教學,注重對學生分析實際問題、構建算法、編程能力的培養。具體教學內容安排如下:(1)詳細講解算法知識。算法是程序設計課程的靈魂,掌握常用算法知識對程序設計課程的學習可起到意想不到的效果。在程序設計基礎課程的教學中應樹立算法這一核心思想。首先通過自然語言的描述引入算法概念,強調結構化程序設計中順序結構、選擇結構和循環結構的重要地位。(2)略講基礎語法中的數據類型和數據的輸入與輸出方法。對于C語言基礎語法中的數據類型涉及到的繁瑣的數據存儲相關知識省略不講,簡化對數據類型自動轉換與強制轉換的討論。簡化數據輸入輸出方法,省略復雜的輸入輸出格式。通過順序結構程序設計訓練,掌握最簡單的程序設計方法。(3)課程基礎語法知識的的核心集中在三大控制結構、函數和數組。通過對大量的實際常用問題的算法設計,逐步建立問題求解一般過程。并通過對一些常見的算法的實現,強化編程能力的訓練,使學生理解和掌握模塊化的程序設計方法。

1.2多元化教學方法的使用

基于能力培養為目標的程序設計課程教學,授課過程中應采用多元化的教學方法,如案例教學法、任務驅動教學、互動式教學等。在理論課的教學中重點嘗試使用了四段式互動式教學方法,該方法的實施由四個階段組成:模仿編程、讀程序、改寫程序和獨立編寫。模仿編程適用于程序設計的初學階段,采用類似書法學習中描紅的方法,只需要按照授課老師給的一些程序例題進行模仿編程。讀程序階段需要授課教師事先準備好大量的程序例題,讓學生逐行閱讀,并逐行添加注釋。改寫程序階段就是將一個已經閱讀過的程序實例用不同方式進行實現。通過前面三個階段的反復訓練,學生已經掌握了C語言基本語法知識,最后就是讓學生獨立分析問題編寫程序的訓練。與傳統教學方法相比,互動式教學方法有利于提高學生學習C語言程序設計的積極性,提高了程序設計課程學習的效率,可有效使學生從被動學習轉換為主動學習。

1.3課程實驗環節設置

改變C語言程序設計實驗課中傳統的“課前預習———課堂實驗———撰寫實驗報告”的三段串行模式,重視程序調試環節。以能力培養為目標的程序設計課程教學,應注重程序調試方法和調試能力培養,要教會學生進行單步執行、觀察數據變化、斷點設置等。在實驗課開設的初期,當遇到有學生請求教師進行排錯,授課教師要抓住機會,講解程序調試和查錯的方法,以使學生在實驗課的前期就能夠掌握程序調試的方法。在實驗課的教學過程中以培養學生能力為目標,使用了“結對編程”這一創新的教學模式。結對編程是指兩名同學肩并肩地坐在同一臺電腦前合作完成同一個程序設計。通過研究發現,采用獨立編程的學生在實驗過程中遇到語法錯誤、邏輯錯誤總是習慣請教老師。然而采用結對編程的同學,在整個實驗期間則忙于廣泛與其他同學交流和討論,遇到問題時相互幫助,利用他們所學的知識積極解決問題。結對編程能夠提高程序設計質量、減少程序代碼的錯誤、提高編程技巧、增強團隊之間的相互溝通、使每個參與者都能受益。

2實驗教學效果分析

在實施以能力培養為目標的程序設計教學方案之前,武漢生物工程學院開設的C語言課程,大多數學生的編程能力和算法設計能力較低,學生學習該門課程的積極性不高,課程的教學質量偏低。通過改革方案的實施,在2012年秋季開始采用了以能力培養為目標的程序設計課程教學方案進行課程教學的開展,考試方式采用編程題占60%的試卷統一進行測試,近3年課程考試編程能力的結果分析見表1。從表1的數據分析可以看出,通過實施了以能力培養為目標的程序設計教學,授課教師認清了語言知識與編程能力之間的聯系。在課程教學中有意識的突出對學生編程能力的培養,弱化了一些語言語法知識的講解。這種教學方式不僅有效的提高了學生課程的學習興趣,降低了課堂的流失率,還有效的提高了學生的算法構建、程序調試和編程能力的提高,考核效果較好。

3總結

以能力培養為目標的課程教學方案的使用,有效的改善了傳統C語言教學偏重語言語法知識,忽視編程能力培養的教學誤區。以能力為目標的程序設計課程教學,重在學生編程能力的培養。在保證能夠描述算法的前提下簡化語言的語法知識,改進教學方法、改革課程考核方法,總體提高了學生學習C語言程序設計課程的興趣,取得了較好的教學效果。

參考文獻

1李麗萍,王冬梅.C語言教學改革的探索與實踐[J].遼寧工業大學學報,2009(2)

2王孝平,董秀成,謝維成.電器信息類專業高級程序設計教學內容和方法的探索與實踐[J].武漢大學學報(理學版),2012(S2)

3袁紅照,關涌濤.程序設計教學中結對編程的實踐和效能分析[J].安陽師范學院學報,2011(5)

4詹英,王黎征.結對編程在程序設計課程實踐教學中的應用[J].南陽理工學院學報,2009(3)

第9篇

關鍵詞:建構主義理論;程序設計;教學結構;創新人才

中圖分類號:G64文獻標識碼:B

文章編號:1672-5913(2007)02-0023-04

1 引言

計算機教育是高等教育的基礎之一,而程序設計基礎是一門十分重要的計算機基礎課程。運用現代教育技術的先進理論──建構主義理論構建程序設計基礎的新型教學結構,不僅有利于程序設計基礎學科的自身建設,更有利于培養和提高廣大學生的創新思維、創新能力。

2 建構主義理論

建構主義理論是當今國際教育界影響較大,并日益顯示其強大生命力的一種新的、較成熟的教育理論,它對于我們深入教育改革、進行學科教育研究等都有重要的借鑒和啟示作用。建構主義理論的核心觀點是:人作為認知主體對知識的獲取不是被動地接受、而是主動加工建構的,即學習知識是“認知主體”的內部心理過程,并把學習者看作是“信息加工主體”,而不再是“刺激──反應”的行為過程,而把學習者看作對外部刺激作出被動反應的“知識灌輸對象”。也就是說,學習是學習者在原有知識的基礎上借助外來信息、通過雙向、交互作用來加工建構的認知過程,用一句話可概括為:以學生為中心,強調學生對知識的主動探索、主動發現和對所學知識意義的主動建構(而不是像傳統教學那樣,只是把知識從教師頭腦中傳送到學生的筆記本上)。因此,建構主義理論的主要目的是讓學生自主建構自身知識,教師只是起到通過科學的教學方法和手段幫助學生積極主動完成知識建

構的輔助、指導作用。

3 運用建構主義理論構建程序設計基礎的新型教學結構

3.1程序設計基礎的傳統教學結構

程序設計基礎的傳統教學結構是以教師為中心,教師講、學生聽,主要靠教師向學生灌輸知識,作為認知主體的學生在教學過程中自始至終處于被動狀態,難以發揮其主動性、積極性。這樣的教學,既不能保證教學的質量與效率,又不利于培養學生的發散性思維、批判性思維和創造性思維,也不利于創造型人材的成長。在程序設計基礎的具體教學內容安排上,過于注重語句、語法和一些細節,基本上是以高級語言自身的體系為脈絡展開滿堂灌式的講解,沒有把邏輯和編程解題思路放在主體地位上;對如何分析問題和解決問題啟發和引導不夠,對學生的編程、上機解題的能力訓練不夠,直接導致學生普遍反映該課程枯燥難學,而且學過之后,不能用來很好地解決實際問題。在教學評價上,考試是“指揮棒”,它對教學目標、教學過程有著較大的負面影響,許多學生就是為了通過考試而學,學習過程中表現得十分被動,教師為了合格率而教,教學效果自然不好,也就更談不上學生創造思維、創造能力的培養了。

3.2運用建構主義理論建構程序設計基礎的新型教學結構

運用建構主義理論改革傳統的教學結構,構建程序設計基礎的新型教學結構,可以從根本上提高教學質量,真正培養和提高學生的計算機應用能力、實際操作能力,更有助于他們的創造性思維和創造性能力的發揮。

3.2.1構建程序設計基礎的新型教學模式

運用建構主義理論構建程序設計基礎的新型教學模式就是要強調以學生為中心,將學生視為教學主體,設計和安排教學首先考慮學生的認知規律和學習特點,并在具體的教學過程甚至每一個環節,都顧及到學生的實際情況,最大限度地激發學生的學習興趣,幫助學生形成學習動機;通過創設符合教學內容要求的情境和提示新舊知識之間聯系的線索,幫助學生建構當前所學知識的意義;為了使意義建構更有效,教師應在可能的條件下組織協作學習(開展討論與交流),并對協作學習過程進行引導,使之朝有利于意義建構的方向發展,最終引導學生實現主動學習,創造性地學習。有了這樣先進的教學理念,程序設計基礎的教學內容安排就更趨于合理:以強調動手實踐、上機編程為切入點;以任務驅動方式,通過實例講授程序設計的基本概念和基本方法;并將授課重點放在程序設計的思路解析上,即在C/C++語言的環境下,針對問題進行分析,構建數學模型,理出算法并編程實現,努力提高學生分析、解決問題的能力,從中激發他們的創新意識,鍛煉他們的創新精神,培養他們的創新能力。為此,在日常的教學過程中,我們采取了如下的細化方案。

(1)采用雙語教學

程序設計基礎的課堂教學采用雙語(英語和漢語)授課。程序設計所選用的計算機語言(如C/C++)與自然語言(英語)很相似,采用雙語教學便于學生對計算機語言的理解和掌握,有利于進一步學習程序設計。教師通過適時、必要的雙語講解和提示,啟發和引導學生充分利用大學英語的語言背景,站在語言學習的基點來完成計算機語言及程序設計理論意義的建構,為順利實現與計算機的真正交流打下堅實的理論基礎。在此期間,學生作為主體直接參與教學,“外化”已學過的英語知識,并不斷產生正遷移,自己發現規律、自己去糾正和補充片面的認識,進而完善程序設計知識的建構;因此,學生的學習興趣和學習熱情、主動性和建構性不斷被激發,發散、逆向等創造型思維得以孕育和培養。學生完全是在一種“探索與發現”式的學習過程中,去積極主動地建構自己的計算機語言和程序設計知識。

(2)強化學生動手實踐

強化學生動手實踐貫穿程序設計基礎的整個教學。教師明確告訴學生:程序設計是高強度的的腦力勞動,不是聽會的,也不是看會的,而是自己練會的。在整個教學中,始終讓學生直接參與思考、直接動手操作,鼓勵和支持他們在親自參與的實際操作中發現問題、解決問題,并積極啟發和引導學生把當前學習內容所反映的事物盡量和自己已經知道的事物相聯系,并對這種聯系加以認真思考,最終用探索、發現的方法建構程序設計知識的意義。例如,每節課2/3的時間,學生都在教師的鼓勵和支持下,積極動腦去參與具體的實際操作,教師既不是簡單地指出學生的錯誤操作,也不是簡單地解答學生的提問和要求,而是啟發和激勵他們進行個性化的學習,讓學生自己積極主動進行所學知識意義的建構,最大限度地提高每一位學生的學習效率。除此之外,教師可將一些有較好編程基礎的學生組織起來,因材施教,引導他們進行探索式的研究性學習,讓他們繼續提高,同時還讓他們擔任“輔導員”,指導和幫助其他同學解決所遇的問題,通過“自我協商”與“相互協商”,提高建構意義的效率和質量,開拓學生的創新性思維。這期間,教師始終是教學過程的組織者、指導者、知識建構的幫助者、促進者;學生則是積極、主動、快樂的學習者。

(3)培養理性思維,進行理性實踐

有的學者認為:

程序設計=計算機編程語言+數據結構+算法

程序設計就是把用戶解決問題的方法思路(數據結構和算法)用計算機能夠讀懂的語法格式表達出來,并通過運行來完成用戶問題的解答。計算機是由人發明的,是“人類通用的智力工具”,它的“思維模式”完全是人類思維模式的反映。因此,在程序設計基礎的教學中,教師有意識地將人的思維與程序設計的編程算法一一對照,引導學生不斷尋找兩者間的聯系,理性思維,從而積極主動地建構起程序設計編程算法的理論和規律,并指導自己進行理性實踐。

例如,在課堂教學中,針對一些理論知識,如計算機語言的語法結構及程序設計的算法等,教師可以利用5~10分鐘的時間,通過精煉、簡短的CAI雙語課件演示和講解,然后分別對比自然語言和人的思維,由感性認識上升到理性認識,啟發他們通過理性思維遞推和建構起計算機語言的語法結構;面對一些程序設計的經典實例,同樣對照人的自然思維,結合一些數學知識,引導他們理性地總結和建構出程序設計編程算法的理論和規律,進而在具體的編程實戰中舉一反三,進行理性實踐。教師平時比較注意對學生學習方式的正確引導,讓他們明白:理論很重要,動手實踐更重要。要在理論指導下,動手動腦、有條有理地進行實踐。

因此,學生經過這樣的理性思維和理性實踐,掌握了程序設計的技巧和方法,成功地解決了具體問題,獲得了成就感,進而對程序設計產生興趣,真正克服了學習程序設計的畏難情緒,學習起來也會更加從容。

(4)培養良好的編程習慣

程序除了寫給自己看,還要交流,良好的編程風格可以提高程序的可讀性、規范性、通用性。在日常教學中,教師應該注意對學生這方面習慣的培養。比如,教師可通過規范、嚴謹的教學課件展示聲明變量加注釋,程序構思有說明,通過分析和調試典型的編程實例,讓學生學會有效地編寫程序、調試程序、優化程序,并對程序的運行結果作出正確與否的判斷和分析,從而達到對學生良好編程素質的培養,也有助于學生嚴謹治學精神的塑造,這是建構主義理論對教師在教學中進行學習情景設計的要求。

(5)培養和提高學習能力,創新能力

程序設計基礎是培養大學生學習能力、創新能力的大課堂。程序設計是一門實踐性極強的計算機學科,所學內容與要求實踐的操作完全一致。因此,適當安排學生自學,有助于提高學生的自學能力。網絡平臺的搭建為學生提供了一個較好的學習環境,為此,教師在教學期間可以不時地設計一些能夠調動學生學習積極性的有關程序設計的最新問題,鼓勵他們通過網絡渠道學習和提高自己的程序設計能力,而且通過上網可以提高他們獲取信息、處理信息和交流信息的能力,有助于培養他們的批判性思維和創制性思維[4]。

總之,經過近幾年程序設計基礎的教學實踐證明:這種新型的教學結構產生了較好的教學效果,學生不僅掌握了程序設計的編程方法和技巧,還養成了良好的編程習慣,同時又培養了學生的創新思維能力和較強的動手實踐能力,得到了廣大學生的贊同。

3.2.2 構建程序設計基礎的新型教學評價模式

運用建構主義理論構建程序設計基礎課程的新型教學評價模式,主張評價不能僅依據客觀的教學目標,還應該包括學習任務的整體性評價,學習參與度的評價等,即通過讓學生去實際完成一個真實的任務來檢驗學生學習結果的優劣。而建構主義主張學習是自我建構知識意義的過程,因此,源于建構觀的評價并不強調使用強化和行為控制工具,而較多使用自我分析和元認知工具。因此,程序設計基礎的新型評價模式既便于學生及時了解自己學習的進展情況、存在的問題等,以便能夠及時彌補知識漏洞,學生自主學習的積極性、創造性被調動和激發,同時又能夠幫助教師及時調整和改進教學工作,最終促進教學質量的提高。

(1)學生學習效果的評價

考試是檢驗學生學習效果、評價學生學習業績的重要環節。開課之初,我們就提醒同學:課程的考核方式是以上機考試取試,考試結果也由計算機評判,對就是對,錯就是錯,不紙上談兵,不考死記硬背的東西。這樣對學生的日常學習有一個正確的引導。然而,考試只是手段,不是最終目的,我們采用設計合理的階段測試系統,對學生各階段的學習情況進行跟蹤測試,測試結果隨機給出,學生可以根據結果隨時調整和糾正這一階段的學習方式和方法,及時查漏補缺,進而積極主動、創造性地完成學習。

(2)教師教學效果的評價

設計開發科學的程序設計考試系統,不僅可以實現考試功能,同時還可對考試結果進行評析,針對各位教師所教班級的考試結果給出相應的評估報告,實現學校對教師教學情況的監控,進而對教師的教學予以指導,以提高程序設計的教學質量,而教師本人也可根據評估報告及時調整自己的教學計劃和教學設計,進而摸索出符合教學規律、更能培養學生創造性思維和能力的教學方法,最大限度地提高教學效果。

4 結束語

不論是從國際還是從國內的教學情況看,當前各級各類學校深化教學改革的關鍵都在于能否打破長期以來統治他們課堂的傳統教學模式。為了改變這種狀況,國內外許多教育工作者、教育學家、教育技術專家多年來從理論與實踐兩個方面作了大量的研究與探索,建構主義理論正是這種努力所取得的主要理論研究成果。廣大教師在具體的教學實踐中如何理論聯系實際,將之轉化成有效的教學方法和手段,還需要不懈地探索和開拓,最終才能使建構主義理論成為我們深化教學改革的指導思想和批判傳統教育思想與教學觀念的銳利武器。

參考文獻:

[1]何克抗,李文光.教育技術學[M].北京:北京師范大學出版社,2005.

[2]馮忠良,伍新春,姚梅林,等.教育心理學[M]. 北京:人民教育出版社,2002.

[3]張建偉,孫燕青.建構性學習[M]. 上海:上海教育出版社,2004.

第10篇

關鍵詞:程序設計課程;實驗教學改革;應用型本科院校;“雙主”教學設計;項目教學法

當前,應用型本科教育已成為高等教育體系發展完善的重要方面。與研究型本科教育所采取的“精英教育”思想不同,應用型本科教育的價值選擇已經從社會本位過渡為市場本位,強調要從未來的人才市場需求出發,實現高等教育的供給與就業市場需求之間的平衡,實現學術性教育與職業性教育之間的平衡。

程序設計課程是目前國內大多數高校為本科生開設的計算機基礎課程,不但有較強的理論性,更具有較強的實踐性。實驗教學效果的好壞直接影響到整體的教學質量和效果。在應用型本科人才培養背景下,程序設計類課程的實驗教學對于培養學生的思維能力、分析能力、實踐能力以及創新能力具有重要意義。

本文針對程序設計課程實驗教學的特點,結合應用型本科教育的人才培養目標,探索通過改革程序設計課程的實驗教學模式、內容和方法,以提高實驗教學的質量和效果。

1 面向應用型本科教育的教學設計

目前,應用型本科教育正處于發展初期,其相關的理論體系仍有待實踐的探索和驗證。

1.1 教育信息化的發展

教育信息化大致經歷了以下三個發展階段:①CAI(computer-assisted instruction,計算機輔助教學)階段(20世紀60年代初~80年代中后期),其特征是利用計算機輔助教師開展教學活動,CAI課件多以演示型為主。②CAL(computer-assisted learning,計算機輔助學習)階段(20世紀80年代中后期~90年代中后期),其特征是輔助“教”轉向輔助“學”,利用計算機作為輔助學生學習的工具,如搜集資料、制定計劃、輔導答疑、對等討論和交流等。③(ITCfintegrating IT into the curriculum,信息技術與課程整合)階段(20世紀90年代中后期開始到現在),其特征是著重利用信息技術構建理想的學習環境、全新的學習方式與教學方式,從而徹底改變傳統的教學結構與教學模式。

1.2 建構主義學習理論

建構主義學習理論是一種“以學生為中心”的自主學習理論,最早由皮亞杰(J.Piaget)提出。但是直到20世紀90年代以后,由于多媒體與網絡技術的快速發展,建構主義學習理論才得以在世界范圍產生重大影響,進而成為IITC階段實現“信息技術與課程整合”的重要理論基礎。在信息技術支持的教學環境下,通過建構主義理論的正確指導,可以有效地培養青少年的創新精神、實踐能力與合作精神。

1.3 “主體-主導”教學設計

“以學為主”的教學設計有利于促進學生自主探究和創新精神培養,但不利于系統傳授與掌握科學知識。而傳統的“以教為主”的教學設計恰好與之相反。所以,將“以學為主”的教學設計和“以教為主”的教學設計結合起來,形成了融合教師的“主導性”和學生的“主體性”的“雙主”教學設計。在“雙主”(即“主體-主導”)教學設計下,學生不是被動地接受教師所傳授的知識,而是在老師為其設置的學習情境下,提出問題,開展自主的學習,從而提高了學生的學習積極性。教師通過對學習者的學習活動進行有效的組織,來體現教師的主體性。以上特點正好適應于應用型本科程序設計課程的實驗教學的改革需要。

1.4 項目教學法

項目教學法是由美國教育家凱茲博士和加拿大教育家查德博士共同創建的一種以學生為主的活動教學法,它以項目驅動教學,學生在項目教學中以探索性學習為基礎。根據應用型本科的教學要求,融合企業的典型案例,重構當前程序設計課程的實驗教學項目,將項目教學法系統地應用于實驗教學過程,將有利于培養大學生的學習能力和應用實踐能力。

2 程序設計課程實驗教學的現狀

長期以來,國內高校的程序設計課程實驗教學環節存在嚴重不足,主要表現在:①現有的封閉型實驗教學體系存在結構上的缺陷,學生的學習主動性無法充分發揮;②實驗教學成為理論教學的附屬,實驗內容陳舊,與工程應用與實踐相脫離;③實驗方法落后,大多數實驗只是驗證理論知識,學生缺乏開展創新性和創造性實驗活動的平臺:④實驗管理水平落后;⑤實驗教學人員的專業素質參差不齊。

以上不足制約了學生的思維能力、分析能力、實踐能力及創新能力的發展,使應用型本科院校人才‘培養目標的實現變得困難,從而亟需對程序設計課程的實驗教學進行改革。

3 程序設計課程的實驗教學改革

當前,以Internet為代表的網絡技術和以Web2.0為代表的軟件應用技術的迅速發展,使程序設計課程的“在線實驗”和“自主學習”成為可能,通過應用先進的教學設計思想改革現有的實驗教學模式、教學內容和教學方法,將有利于應用型本科院校程序設計課程實驗教學的改革措施付諸實踐并不斷完善。

3.1 應用“雙主”思想重構實驗教學模式

目前,國內應用型本科院校開設了多門程序設計課程,以我校為例,主要包括高級語言程序設計(c)、面向對象程序設計(C++)、可視化程序設計(C#)和Web程序設計()等。針對當前實驗教學的不足,我?;凇半p主”教學設計思想,重新制定一套適用于程序設計課程的開放式實驗教學模式,如圖1所示。該模式利用網絡實驗教學形式,面向Web2.0環境構建了一套支持個性化實驗教學、有利于培養學生自學能力與實踐創新能力的綜合實驗教學平臺;形成實驗教學的“閉環反饋”,貫穿學生的實驗前預習、實驗中協作和交流、實驗后總結這三個過程,調動實驗教學過程中學生作為“雙主體”之一的積極性,并充分發揮教師作為實驗活動組織者和參與者(非領導者)的作用。從而,適用應用型本科教育“培養實踐能力強,富有創新精神的高層次應用型人才”的需求。

3.2 融合項目教學法完善實驗教學方法和內容

我校結合應用型本科教育的自身特點,以及IT企業發展的實際需求,在綜合實驗教學平臺中構建了產學合作的教學環境,應用項目教學法完善程序設計課程的現有實驗教學方法和內容。從情境、任務、組織、過程、資源和評價等方面研究實驗教學方法的設計要素;從情境設置、操作示范、獨立探索、確定項目、協作學習和學習評價等方面,給出實驗教學的一般教學步驟的指導性意見。通過校企合作,跟蹤IT企業的最新發展,按照IT職業活動的特點及要求設計 教學內容;根據實際的工作任務,設計圍繞工作需求的新型實驗教學項目。

以Web程序設計課程的“網上商城開發”實驗項目為例,其教學設計如表1所示。

3.3 構建面向Web2.0的綜合實驗教學平臺

根據“雙主”實驗教學模式和項目驅動的實驗教學特點,實現了一個Web2.0環境下,支持“在線實驗”和“自主學習”的程序設計課程實驗教學平臺,該平臺以著名的開源課程管理系統Moodlele為基礎平臺,通過集成在線評判系統和虛擬實驗室模塊,可為學生提供個性化實驗環境,支持開展創新型實驗教學活動,并可實現應用實踐案例的仿真運行。學生通過Internet可遠程訪問該平臺,實現“實驗前在線預習、實驗中協作和交流、實驗后提交總結報告”。教師可動態更新與管理實驗項目,從而滿足基于產學合作的實驗教學環境中實驗項目變化頻繁的需求。系統運行界面如圖2所示。

以Web程序設計課程為例,在教學過程中,Moodel系統的許多功能模塊(如Blog、Wiki、投票、聊天室、論壇、作業、測試等),均可以直接成為Web程序設計課程的實驗教學案例。通過精心設計實驗教學內容,從而,使學生實現了“用中學”和“學中用”。以“網上商城開發”實驗為例,系統運行界面如圖3所示。

通過利用Moodle的“資源”和“活動”,教師可完成實驗教學設計:①設置“聊天”活動:允許學生在實驗過程中進行實時交流和溝通;②設置“投票”活動:允許學生評選“網上商城”動態分頁技術的最優實現方案;③設置“Wiki”活動:以項目小組模式實現Serum中的“電子白板”支持:④設置“文本頁”資源:設計“實驗目標”項目;⑤設置“鏈接到文件或站點”資源:設計“實驗說明”、“實驗指導書”、“案例展示”、“歷屆優秀作品展示”項目,這些項目均支持以Flash形式播放特定文件;⑥設置“作業”活動:以“離線活動項目”形式實現“實驗作業”的提交,以“高級文件上傳”形式實現“實驗報告”的提交。

第11篇

關鍵詞:獨立學院;C++程序設計;教學;任務驅動

中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)25-1484-02

Teaching Researches on the C++ Programming Course to Students Major CS in Independent Colleges

LUO Ai-jun

(Computer Science College of Yangtze University, Jingzhou 434023, China)

Abstract: Programming is a very important basic course to students major computer science, and the point is much more important in those independent colleges which pay more attention to training the students' practice ability. The paper aims at lots of problems exposed during the C++ Programming teaching in independent college, analyzes these problems and brings up some corresponding proposals.

Key words: Independent College; C++ Programming; Teaching; Task_driven

1 引言

隨著社會的飛速發展,在高等教育日漸大眾化的今天,用人單位對人才的要求也越來越高。各大專院校也因此紛紛即時根據社會的需求調整其人才培養目標,其中的獨立學院把其辦學思想定位于培養大批社會急需的應用型人才,非常強調學生動手實踐能力的培養。

程序設計長期以來一直是大學工科各專業的一門必修課程。尤其對于計算機相關專業而言,程序設計學習情況的好壞,對計算機相關專業后續課程的學習將會產生較大的影響。目前,無論是搞開發還是搞研究,對使用的程序設計語言有同樣高的要求:要求能有較好的可靠性,高效率,可以在不同平臺上移植,有盡可能多的標準化語言內容,支持數據一致性,支持程序描述的簡潔與清晰,風格自然[1]。這些都是C++的外在特點,高校計算機相關專業大多采用C++作為程序設計教學語言,全國計算機等級考試也把C++作為考試的主要語種,因此做好這門課程的教學工作具有較大的現實意義。但目前教學工作中普遍存在教師覺得不好教,學生覺得不好學的問題,本文針對教學中出現的問題進行思考分析,并提出了相應的解決方案。

2 存在的問題

目前在教學過程當中主要存在以下幾個方面的問題:

(1)教學目的與學生的需求存在偏差,學生學習興趣較大,但信心不足。

C++程序設計教學的目的是向學生介紹計算機程序設計的基本知識。讓學生掌握C++基本語法及面向對象程序設計的基本方法與編程技巧;讓學生了解常用的算法和數據結構知識,能根據給定的算法,選擇合適的數據結構并編制出相應的程序。同時也為本專業后續其他課程的學習打下堅實的基礎。

對此學生們的需求又是什么呢?博客上的調查結果反映:約75%同學希望通過學習本課程能開發出一款實用小軟件。而我們課堂程序設計教學中甚至沒有涉及到WINDOWS編程,學生學完了以后還是不能動手寫程序。學生的需求與上述教學目的存在一定的偏差。

大部分同學對本課程興趣大,學習積極性高。但在學習一段時間后,隨著內容的深入,難度的增大,便有同學出現了畏難情緒,甚至認為C比C++簡單,明顯地缺失信心。

(2)教師教學內容和方法單一,師生互動不明顯。

教師教學停留在傳統的傳授課堂知識,對“師者,傳道、授業、解惑者也”的理解和認識尚未進一步更新。師生在課下的溝通互動不明顯,導致學生在學習過程中遇到的問題不能夠及時地得到解決,這在很大程度上,也影響到學生學習的主動性。隨著科技創新和知識更新速度的加快,我們的教學內容和教學方法也不能停留在課堂教學45分鐘“老師講學生聽”這一舊的模式和舊的層次上。同時,我們面對的每一個學生基礎不盡一樣,學習理解知識的能力也不同,如果采用單一的教學方法,很顯然是違背“因材施教”的原則的。

(3)沒有充分發揮實驗教學的優勢。

現在各高校大部分機房都已連入INTERNET,而互聯網絡對學生是一柄雙刃劍。如果上課合理利用網絡檢索所需資源,則有利于學習和掌握知識;反之,如果上課時間利用網絡看電影、聽MP3、玩小游戲,或者甚至相互拷貝作業,則不僅沒有任何優勢可言,反而是極有害于教學的。同時“互聯網”和“程序設計”二者誰對學生們的吸引力更大,這一點是不言而喻的,每次上機人數眾多,實驗指導教師監控管理措施不易實施。

教師在實驗課上把精力放在指導學生調試程序上。作為初學者,學生們在程序調試中的問題層出不窮,只能被動地等待老師幫忙解決。有時教師還不得不重復解決相同的問題,課堂效率低下。傳統的“一問一答”的方式,已經不再適合目前的實驗教學。

因此,在網絡技術越來越發達的今天,如何重新讓機房、讓實驗課發揮其應有的作用是擺在每一位計算機教育者面前殛待解決的問題。

3 解決的對策

3.1 選擇一本合適學生閱讀的經典教材

要選擇一本好的教材,這看起來是一件很簡單的事情,似乎也不那么重要,因為現行各作者各出版社的教材上的內容大多相差不大。的確,這是事實。然而,不光授課教師需要認真咀嚼教材,學生們也要認真閱讀教材。教師在講臺上講授,同時還要求學生能夠課下自己閱讀教材上的相關內容。國內引進的許多多影印版教材,在每一章節的課后都列出若干的參考文獻,引導有余力有興趣的學生去閱讀[5],既加深了學生對教材的理解,也拓展了學生的視野。一本好的教材,不一定是通俗讀物,需要有一定的難度。過高的難度可能讓學生望而生畏,但適當難度則可能激發學生更大的探索的興趣。

3.2 加大學生的興趣,增強學習的信心

興趣是最好的老師!如何培養學生對程序設計的興趣?當他們親自感受到計算機程序設計的對當今社會的巨大影響力,便可能對之產生濃厚的興趣。此外,還要讓他們認識到學習程序設計目的在于培養學生用計算機解決生產生活中的一些問題,當然首要就是本專業后續其他課程學習過程中的實際問題的能力。

不是說興趣高就意味著會編程了。眼高手低是學習過程中常出現的問題:他們對老師演示的內容都認為很簡單,但讓自己做卻無從下手。有意識地鍛煉學生動手編程能力,并引導他們取得成功,從成功中獲取更大的成就感和自信心,這將是他們在程序設計道路上繼續前進的巨大動力。例如,引導學生利用已學過的知識,編程實現簡單的數字圖像處理過程。雖然開始時會讓大家覺得有困難,比如其中大量陌生的庫函數讓人望而生畏,有時可能自己還要寫一些自定義函數。但只要做好指導工作并給予適當地鼓勵,則不僅能激發學生的興趣,還能鞏固所學的知識,而且可以在實踐中讓他們的思維能力得到提高、編程能力得到鍛煉、創新能力得到增強。

教師要付出足夠的耐心,想方設法提高學生的興趣和學習熱情,培養和提高他們的創新能力,增強學生們對學好本課程的信心。

3.3 把握教學重點,靈活采用教學方法,加大師生互動

算法設計是程序設計的核心。我們要將教學重點從C++基本語法轉移到算法設計上。有針對性地設計能綜合運用已學和將學相關知識點的實例,課程上多采用案例教學。即使是同一本教材,同一個算法案例,只要我們善于挖掘,也可以推陳出新,找出更易于學生理解和接受的講授方法。

針對不同的教學內容,更要靈活采用教學方法。常用的教學方法有:類比教學法、啟發教學法、分步教學法、任務驅動法[4]等。而其中任務驅動法在C語言程序設計教學中運用較多、效果較好的一種。

除了傳統的師生互動方式外,我們還可以采用其他更靈活有效的方式。考慮到學生們課外在網絡上花費的時間較多,我們就可以充分利用學校的精品課程網站的網上答疑論壇子系統,還可以利用各大門戶網站提供的免費博客系統,二者都可以較好地解決課堂45分鐘以外的師生互動問題。在實際教學中,我們利用TOM BLOG進行師生溝通,也取得了很明顯的效果。

3.4 加強上機實驗指導,制訂上機任務,保證上機效果

(1) 程序設計課程本身實踐性較強,必須安排足夠的上機學時。同時還要精心設計每一次實驗內容,讓學生每一次實驗都有明確的上機目的。

(2) 學生明確任務以后,應首先仔細思考,形成思路,再將思路描述成為C++代碼寫到實驗報告紙上,待形成完整的程序以后再輸入計算機中進行編譯。而不是一邊想,一邊輸入代碼。這樣既提高了效率,同時也提高學生思考問題的能力。

(3) 針對學生在編譯,鏈接過程中出現的錯誤或警告,教會學生使用調試工具。學生在調試中遇到的疑點和難點,及時給予必要的適當指導,主要是教給學生科學有效的調試方法,例如等價類劃分法、邊界值分析法、安插測試語句等。

(4) 實驗課結束時,每名學生必須上交比較規范的紙質實驗報告(其中除包括程序的源代碼,輸入數據,程序輸出結果外,還應重點包含程序調試過程,以及本次實驗體會),通過以上舉措來保證學生完成實驗任務。課程結業考試也必須包括學生上機編程能力考核。

(5) 課程結束以后,分組安排2周的課程設計。題目要具有一定的綜合性和較強的實用性,如學生信息管理系統等。要求學生經過需求分析,軟件設計,編碼,測試等軟件開發的各階段,最后提交一個軟件原型及相關文檔。通過課程設計實踐,提高學生的軟件開發水平和合作能力,同時,還可使學生在以后的學習過程中,自覺將計算機技術應用到生產和研究過程中,真正做到學有所用。

在上機實驗環節,教師要認真做好指導和督促,減少互聯網絡等對學生注意力的不良干擾,讓學生在規定時間內完成指定任務,從而保證實驗教學效果。

4 結束語

本文提出了近幾年在獨立學院計算機專業《C++程序設計》教學過程中出現的問題,進行了思考和探索。對提出的方案在獨立2006,2007級計科、網絡專業本科學生中實施,較好地激發了學生的興趣,調動了學生的學習積極性,增強了學生的自信心,日常教學和計算機等級考試都取得了很好的效果。以上事實證明,只要教師教學目的明確,教材理解深入,教學方法靈活得當,師生加大互動,學生是可以輕松學好C++程序設計的。

參考文獻:

[1] 錢能. C++程序設計[M]. 北京:清華大學出版社,2005.

[2] 劉曉鋒, 吳亞娟. 計算機專業《C語言程序設計》教學與教學改革[J]. 四川師范學院學報, 2003(24):34-36.

[3] 孔垂柳,田地. 基于程序設計思想的C語言教學方案[J]. 吉林大學學報(信息科學版) , 2005,(S2):2.

第12篇

筆者下面以VB課程設計為例,淺談課程設計的一般過程。

(一)精心選題

精心選題,力求既要結合書本的知識,又要結合學生將來可能遇到的實際工作需要。

課程設計題目不宜過大,不切實際,使學生無從下手。題目要使學生在自己通過搜集資料及在指導教師的指導下能夠完成,使他們有成就感,增強他們學習的自信心。實踐證明題目多、可操作性強、趣味性強、實用性強,對開闊學生的視野、豐富學生的知識、提高學生的實踐能力有極大的好處。

我考慮到VB課程設計的特點以及每個學生不同的興趣愛好精選了十幾個題目,讓學生分組設計。

如文字編輯系統,學生都學過Word等文字處理軟件,對它有較深的體會,那么文字處理軟件是怎么實現的呢?通過這個題目可使學生把以往所學專業知識和VB有機結合起來。又如古詩欣賞系統,是專門為一些對文學感興趣的學生而設置的,這樣的題目設計能夠調動他們的積極性。除了以上題目外,還備以下題目:睡眠測試系統、設計計算器、設計電子賀年卡、窗體背景圖案系統、設計一個收款計算程序、密碼檢測、數據流動等。

(二)合理布置題目

在布置題目時,要根據具體情況進行處理??刹捎梅纸M的形式進行,避免多人同時做一個題目,導致重復勞動或抄襲現象的發生。

布置題目時采取先在黑板上以文字形式布置題目,讓學生先獨立思考,然后再在機器上布置題目即在機器上運行程序,讓學生直接看到運行后的效果。另外,教師一定要將每個題目都自己先完成,給出具體結果,使學生具有感性認識,增強他們的自信心。

在軟件開發中,實際上用戶要定制一個軟件時給出的往往只是文字或表格要求,即用戶需求,學生要將用戶的需求用計算機程序設計的形式表達出來,這就涉及到軟件開發的知識。在課程設計過程中我有意識地將軟件開發工程中的一些方法傳授給學生,使他們了解軟件開發的一般步驟和過程,這樣可以少走彎路。

在設計過程中,教師要盡量要求學生學會搜集資料,充分利用現代化工具,如上網搜集資料,到電腦公司去咨詢,到相關部門去了解情況。這樣有利于學生掌握第一手資料。

(三)操作要求

按照軟件開發技術的原則和方法進行課程設計,并采用結構化或面向對象程序設計的原則和方法。對于課程設計可酌情選擇以下過程及文檔中重要的幾個即可:①問題定義。②可行性研究。從技術可行性、經濟可行性、操作可行性來研究系統是否可行。③需求分析。確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。④總體設計。確定系統的具體實現方案,確定軟件的結構。⑤詳細設計。設計出程序的“藍圖”,以后程序員將根據這個藍圖寫出實際的程序代碼。⑥編寫代碼(程序)。用某種程序設計語言書寫的程序。⑦軟件測試、調試運行。將所編寫好的程序和有關原始數據輸入到計算機中,不斷地對其進行調試運行(修改程序中存在的語法錯誤和邏輯錯誤),直到所設計程序達到設計要求。這部分工作量往往占軟件開發總工作量的40%。⑧軟件維護。此階段是軟件生命周期的最后一個階段,它處于系統投入生產性運行以后的時期中,因此不屬于系統開發過程(此步驟可省略)。軟件開發結束時,要對軟件評價。可從產品修改、產品轉移、產品運行三方面評價。⑨編寫文檔。一般情況下,軟件系統有如下文檔:可行性研究報告、項目開發計劃、需求規格說明書、概要設計說明書、詳細設計說明書、用戶操作手冊、測試計劃、測試分析報告、開發進度月報、項目開發總結報告、程序維護手冊、軟件問題報告、軟件修改報告、數據庫設計說明書。

亚洲精品无码久久久久久久性色,淫荡人妻一区二区三区在线视频,精品一级片高清无码,国产一区中文字幕无码
亚洲福利在线看国产精品 | 内精品伊人久久久久AV影院 | 亚洲精品a∨在线国自产拍 亚洲高清无在码在线看片 亚洲一二三区在线观看未删减 | 久久精品免费视频222 | 在线观看国产日韩 | 久久伊人精品波多野结衣 |