前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇程序設計范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
[關鍵詞]Java程序設計 實訓 設計
一、實訓教學的性質和任務
Java技術是計算機科學與技術相關專業培養的核心技能,本課程設計是在《Java程序設計》課程上設置的,在高職高專人才的培養中占有核心地位。它是鞏固學生所學理論知識、培養學生動手能力并使理論與實際相結合的重要實踐環節。
本課程設計的目的和任務,是通過學生用Java語言設計一個完整的應用程序,使學生綜合應用所學知識完成軟件的分析、設計、調試和總結,提高學生對Java語言的綜合應用能力和解決問題的能力。
二、實訓教學方法手段和考核方法的設計
(1)實訓教學方法和手段
任課教師根據課程《網絡程序設計Java》教學大綱中的重點內容,給出相應的題目或項目,指導學生完成任務。實訓前必須制定好上機步驟,弄清實訓目的;要求學生掌握實訓項目所需的知識、操作方法或步驟,并寫出詳細的實訓報告。
(2)實訓考核方法
通過設計答辯方式,并結合學生的動手能力,獨立分析解決問題的能力和創新精神,實訓報告和答辯水平以及學習態度綜合考評。
考核標準包括:
1.設計與實訓報告 (20%);
2.程序的可用性,實用性,通用性,可擴充性(30%) ;
3.學生的動手能力、綜合解決問題能力、創新精神(20%) ;
4.答辯水平(20%)。
5.態度和紀律 10% (分為優、良、中、及格和不及格五檔)
三、實訓內容與要求
(1)java系統程序開發
資產管理系統、學生信息管理系統、電子商務系統、網絡購物系統、網絡聊天室、人事管理系統、選課系統、論文管理系統、新聞系統、考試管理系統、學生宿舍管理系統等。學生可以小組為單位任選其一完成。
(2)Applet程序開發
做一個廣告屏,顯示一段文字,如圖1所示,能夠對文字的顏色、風格、字體、字號等修改。
要求:做成APPLET程序或APPLICATION程序;用APPLETVIEWER運行;能夠在網頁中運行。
(3)游戲開發
1.五子棋雙人對弈
開發游戲性程序,例如五子棋雙人對弈程序、掃雷程序,根據學生情況,此部分為選做內容。
五子棋雙人對弈程序要求:
①按“重新開具”可以開始新的一局。
②需提示當前該哪方下棋,并提示已下棋子的信息。
③一方贏時游戲結束。
2.俄羅斯方塊游戲。
說明:以上內容為模板內容,其它題目也可自己設計,但難度要相當。具體內容可根據實際由指導老師審定。
(4)總體要求
1.對系統進行功能模塊分析、控制模塊分析正確;
2.系統設計要實用;
3.編程簡練,可用,功能全面,具有較好的健壯性;
4.說明書、流程圖要清楚。
四、授課計劃與學時安排
(1)教師介紹本課程設計的目的、內容、要求、方法和安排。(4學時)
(2)學生消化信息、完成設計報告。(6學時)
(3)教師審查設計報告。通過審查的學生的設計報告,然后調整確定實施方案。 (4學時)
(4)學生完成課程設計的程序設計環節指導老師作必要的現場指導。(20學時)
(5)驗收并簡單考核。(4學時)
(6)撰寫總結和實訓報告。(2學時)
五、課程設計指導教師
由主講教師和實驗指導教師共同承擔。
六、課程設計地點
計算機中心機房或者學院專業機房
對于引用的定義可以歸納為符號的類型和符號的使用方式,在符號的類型中就符號的使用標示:標示符號&+引用名稱=代碼的名稱;例如:printc;if&chart=if;標示出不同的定義,if就是標示符號的引用,也就是所謂的名稱改變。符號的分析圖為(圖1)所示。在這里必須要以下的說明:&符號在標示中只是以標示名稱的形式存在,不作為任何的含義;&符號在引用的過程中,對于初始的代碼變化不會起到改變的作用,也不會促使代碼發生任何性質上的變化;在引用過程中,對于引用前和引用后&符號使用的兩個名稱在作用上是相同的,也就是說名稱只是一個代號,在程序使用中也是為了區分代碼改變的標準,這就不能再進行代碼的改名;代碼的重新命名不是定義上發生任何的變化,所以在數據庫當中的代碼性質不會進行更新,只有在程序順利運行后以及程序出現了調試過程后,新定義的使用&符號的代碼才能被列入新的程序數據庫當中。
2、程序設計中&符號的使用
C++程序中&符號出現的情況是標示為引用,對于函數的變化中會起到一定的作用,雖然不改變代碼的性質,但是對于函數的定義還是會出現一定的影響。&符號改變的數學函數的參數變化,對于參數的定義域起到了重要的作用。在C語言中的函數值的變化,其中關于main函數的變化之最多,也是在程序研究中使用&符號最多、最為關鍵的因素之一。在對于main函數的&符號使用中,首先要弄清楚函數的最初原型,對于函數的表達意義要有初步的了解,并且能夠合理的使用程序的改變方程式,對于main中的函數參數中&符號也有著不同的規范要求。在main可編輯函數中,agent是表示函數中參數的含義,&符號是表示為函數的變化地址,同時&符號也表達出函數中參數的個數,把agent最為函數參數的指導性參數值進行分析判斷,統計&符號可以得到函數相關數組的即時數組信息。在操作系統中,函數中&符號的配置啟動中,完全取決于操作系統的函數變化,對于操作中函數的初始變化值有著嚴格的要求,并在運行初始階段進行函數的歸零處理,后期在每個不同函數變換的模塊當中,提取出不同數值的數據參數,來指導計算機程序的有效運行狀態。通過改變符號的方式可以對于程序的效率有一定的提升。由上述例子看出,在函數中傳引用和傳指針的效果是相同的。這樣,被調函數中的形參實際上就是主調函數中的實參或目標變量的別名,因此被調函數中所有對形參的操作實際上就是對相應的主調函數中目標變量的操作,一般傳遞的數據較多時,采用引用時程序的效率較高。雖然使用指針傳遞地址也能達到相同的效果,但因為在被調函數中還要為形參分配存儲單元,而且在主調函數的實參必須使用變量的地址,這種方式必將導致程序閱讀性較差,而使用引用便顯得簡單易懂,而且程序結構也更清晰。常引用聲明方式:const類型標識符&引用名=目標變量名;在這種引用方式中,由于目標變量的值的修改不能通過引用來間接修改,因此可以很好地保護目標變量的值,使得引用有了很好的安全性,即相當于目標為const型的變量。當參數需要定義為引用型是,如果實際需要容許盡可能定義為const,這樣可以保證代碼的健壯性,同時也能帶來其它的好處。在函數的定義過程中對于代碼的變量指標在初始定義之后,在對變量的變化值進行記錄,該代碼指針變量便指向初始化指針變量的目標變量。通常情況下規定,具體操作過程時,對代碼的指針的操作實際是對其所指向變量的間接操作。程序設計過程中使用指針可以讓系統的程序的可讀性降低,在操作起來也相對的困難。而由于引用本身就是目標變量的別名,編程中對引用的操作就是對目標變量的直接操作。引用其實也是一種指針,只不過其操作方式與指針不相同,指針可以一對多進行映射,而引用卻只能一對一的進行,也就是一個參數對應一個代碼指針數值,即&符號中的數字不能被改變,因此在對于符號的使用中,鑒于引用比指針更容易進行操控和編輯。
3、結語
《C程序設計語言》是計算機及相關專業中一門重要的計算機基礎課程,由于其在當今系統軟件和部分應用軟件的開發中具有實用性強的特點,又與硬件和程序設計環境底層的聯系緊密,是當今計算機軟硬件工程師應該掌握的一種基本的、比較實用的程序設計語言。它作為學生入學后第一次系統地學習與高級程序設計語言和程序設計有關的內容的一門新課程,本身就比較難;再加上其內容的龐雜、語言描述的靈活,更讓學生感覺難上加難。因此對于擔任該課程的老師來說,如何教好這門課程,培養學生運用C程序設計語言分析問題、解決問題的能力,是這一門課程的目的和宗旨。
二、采用案例教學,培養學生的興趣和積極性
C程序設計是應用性很強的一門課程它既有理論又有實踐,既講方法又講動手能力。一般來說,教材中前幾章都是先介紹C程序設計語言的一些概念和基礎知識,然后才介紹程序的建立和運行。這些概念和基礎知識,既枯燥又比較抽象難懂。在教學中,我們打破課本原有的順序組織課堂教學的方式的邏輯結構體系,改用從案例入手,通過給學生演示、讓學生模仿,在實際應用中去探究和領悟這些概念,并適時地加以歸納總結和概念的延伸,讓學生在輕松愉快的氣氛中學習新知識。
案例教學法打破了以教材為中心的傳統教學模式,不按教材的順序授課,而是以精選出的程序設計的案例為中心,把學習的重點放在具體案例的講述上,把要學習的語法和概念融入到具體案例中來講解。整個教學過程中強調在應用中學習,從而避免了枯燥的理論說教,不僅能增進學生的學習興趣,而且對提高學生綜合分析和解決實際問題的能力也大有幫助。那么該如何培養學生對C語言課程的興趣呢?案例教學法是培養學生學習興趣的有效途徑一。
三、運用多媒體CAI課件教學,提供交互式學習環境
C語言的內容比較繁雜,我們把概念、定義等一些知識性的東西用幻燈的形式投影出來就會使課堂內容更加豐富,提高學生的注意力,節省老師板書的時間,讓整堂課的效果改觀。但是課堂上課件的演示也要適當,避免喧賓奪主,使學生更多地關注了形式的變化,而忽略了內容本身。相應的,課件在其他內容的處理上就要慎重了。比如算法、程序的設計,我們不是只注重給學生一個結果、一個程序,而更應該展示給學生的是一個過程,一個思想,也就是怎么樣去解決這個問題。我們的重點在于教會學生掌握方法,即幫助學生學會自己解決問題,而不是幫助學生解決問題。即授人以漁,而非授人以魚。因此在講解這些內容的時候就不能是一張幻燈一個算法、一個程序,而應該重點介紹方法、思想,根據題目求解的過程,一步一步把結果“寫”出來。
多媒體CAI課件主要包括課程內容、算法演示、在線測試、在線討論以及資源中心五部分功能。多媒體CAI課件可以提供交互式環境供學生學習,并自動根據操作過程進行實時評價。將多媒體CAI課件和教師課堂講授有機地結合起來,能形成最佳教學任務的綜合性手段與教學方案。
四、把握課堂教學方法,提高課堂教學質量
(一)注意“互動式教學”,切記不要“自演自說”。互動式教學就是要改變老師是課堂上唯一主體形式的狀況,讓學生也作為主體形式參與到課堂上來。互動式教學既可以提高學生的參與積極性,還可以避免學生上課疲勞,產生注意力不集中的現象。互動式教學在形式上有老師提問,讓學生上黑板演算、上教師機操作,讓學生討論等,讓學生進行正誤判析,解決普遍性問題,或者請有獨特思路的同學演示自己的方法或程序,對比各種方法的優缺點,鼓勵大家再提出新方法。實踐證明,這種教學方法效果顯著,課堂活躍,學生的參與程度很高。但是我們在進行師生互動方面也要注意把握一個度的概念,讓課堂既要有互動的活躍氛圍,也要有好的課堂秩序,使得課堂互動有序有效進行。
(二)培養學生讀程序的能力。程序是C語言的本質,讀程序是學習C語言入門最快,也是最好的方法。要培養學生獨立編程的能力,首先應該培養學生讀程序的能力。學生讀的程序越多,見識的編程的思想、方法、技巧也就越多,就能更加擴展自己的編程思路,還能在某些時候把別人的東西拿來歸為己用。
在培養學生讀程序方面要注意循序漸進,先給學生讀一些簡單的、只有幾行的程序,然后逐漸增大程序的復雜度。
(三)采用問題驅動法。在C程序設計語言課程中,有一些概念之間的差別和程序的設計步驟如果只通過教師講述,學生在字面上可以接受,但在理解深度上往往難以達到令人滿意的效果,如果能設計出一系列問題,讓學生在實踐和解決問題的過程中自己去探究和體驗,情況將完全是另一個樣子。另外,采用一些有趣的問題來引入對某些語句結構的學習同樣有相同的作用。
采用問題驅動法,一切都要求學生自己動手動腦設計,他們在操作過程中探究和解決問題的積極性和主動性得到
了調動,從而達到了我們的教學目標。
五、加強實驗環節的教學設計,輔助理論教學
C程序設計語言是實踐性很強的一門課,培養學生的實踐能力是教學的首要目的。因此,在授課的同時,如何引導學生利用上機實驗來加強實踐也是教學中的一個重要環節。C程序設計語言實驗教學的目的應是:1.緊密配合理論教學,通過相關實驗,幫助和加深對語句功能的理解;2.通過實驗可以將各門課程學到的知識融會貫通,思考利用C程序設計語言解決實際應用問題的有效方法,從而使學生分析和解決問題的能力得到鍛煉和提高。依據實驗教學的目的,考慮學生的個體差異,將實驗設置成不同的類型:必做和選做實驗:這兩類實驗都是結合相關課程的教學需要由授課教師設計的;前者目的在于幫助學生掌握基礎知識和實驗研究方法,后者則在于培養和鼓勵學生的學習興趣、擴大知識面以及培養學生的應用能力和創新意識。從而大大激發了學生的學習熱情,為其今后的學習和工作打下良好的基礎。
一、單一型
例1(大連市)如圖是一個簡單的數值運算程序,若輸入x的值為,則輸出的數值為.
分析:這是一道單一型的程序設計,只要根據程序代入數字運算即可,計算時注意運算順序.
解:因為由運算程序可知其程序的運算式為x2-1,所以當x=時,x2-1=()2-1=2.所以輸出的數值為2.
說明:從運算過程我們可以看出,對于單一型的程序運算,就相當于代數式求值,關鍵是要能正確地從設計的程序中抽象出代數式.
二、二項型
例2(泰州市)根據如圖中的流程程序,當輸入數值x為-2時,輸出數值y為()
A.4 B.6 C.8D.10
分析:首先要根據條件和程序圖提供的關系式,判斷按哪一個程序,再將x的代入運算.
解:因為-2<1,所以只能將x=-2代入y=-x+5中,得y=6.故應選B.
說明:本題是考查當x=-2時,求函數y的值.求解時,首先要確定運用哪一個程序方可將字母的數值代入運算.
三、三項型
例3(南充市)根據下面的運算程序,若輸入x=1-時,輸出的結果y=.
分析:由于x=1-<0,只需選擇函數y=x-2代入運算即可.
解:因為輸入x=1-<0,所以所對應的函數表達式是y=x-2,所以當x=1-時,輸出的結果y=x-2=1--2=-1-.
說明:本題的程序中提供了三個函數表達式,求解時其實也很簡單,只要判斷輸入的值在什么范圍內即可正確求解.
四、探索型
例4(揚州市)按如圖所示的程序計算,若開始輸入的x的值為48,我們發現第一次得到的結果為24,第2次得到的結果為12,…,請你探索第2009次得到的結果為.
分析:按照程序,依據要求,首先要確定輸入的數是奇數,還是偶數,然后再正確地選擇相應的代數式,通過計算,我們會發現從第3次開始,這個程序的輸出值將以6、3、8、4、2、1循環,而2009-2=2007=334+3,由此可以確定第2009次得到的結果.
解:依題意,從第3次開始,這個程序的輸出值將以6、3、8、4、2、1循環,而2009-2=2007=334+3,所以第2009次輸入的x的值為3,輸出的結果為8.
說明:這是一道數字轉換機的過程,已知程序中已經明確地反映出輸入的值受到奇偶限制,同時,由于要求的是第2009次的輸出結果,所以不可以逐一計算,必須得探索到規律才可快速、準確地求解.
下面兩道題目供同學們自己練習:
1.(淄博市)小紅設計了一個計算程序(如下左圖),并按此程序進行了兩次計算.在計算中輸入了不同的x值,但一次沒有結果,另一次輸出的結果是42,則這兩次輸入的x值不可能是( ).
A.0,2B.-1,-2C.0,1D.6,-3
關鍵詞:程序設計;案例分析;程序設計競賽;項目實踐
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)31-0920-02
The Research of Culturing Ability of Programming
MA Hai-ying
(College of Computer Science, Nantong University, Nantong 226019, China)
Abstract: Aiming at how to improve culturing ability of programming, the Author divides undergraduate education into four phases, and gives the aims of all phases. Through analysing the problem in programming teaching procedure, combining the teaching practice, we propose some strategies in reforming teaching means and method. secondly, towards the problem of undergraduate lacking practacle operation due to project, teachers can develop some well-suited projects in difficulty to improve students' ability of solving problem and practical skills.
Key words: program design; case analysis; Programming Contest; practical experience in projects
1 引言
程序設計能力不僅是計算機專業學生的基本技能,也是很多非專業理科學生的必備技能, 它是培養實用型人才、提高學生解決問題能力的重要方面。要想在本科教育中提高學生的程序設計能力,本文將本科教育分四個階段,并給出各個階段的目標。第一階段,也就是學生在第一學期至第三學期,要重視程序設計課程的理論教學;第二階段(第四學期),合理安排程序設計實踐課程,組織學生閱讀典型項目案例;第三階段(第五、六學期),組織學生參加各種類型的比賽,從而提高學生運用計算機來充分展示自己分析問題和解決問題的能力;第四階段(第七、八學期),使學生根據自己的興趣較早進入畢業設計階段,以便教師與學生的“一對一”溝通,幫助學生快速地掌握軟件開發的一般性過程。通過這四個階段的學習以后,學生在就業面前就會有自信,并能很快適應軟件開發的工作,同時也為學生進一步從事計算機方面的研究工作打下了良好的基礎。
2 合理的課程教學
“程序設計”課程長期沿襲傳統教學模式,即以一種高級語言的語句體系為脈絡展開教學,詳細地講解其語句、語法甚至一些細節內容,學生每學習一個語句需要做一些與該語句有關的習題。課程枯燥無味,學生學習積極性不高,很少動手實踐。課程學完后,學生除了學到一些呆板的語句外,收獲甚微。因此,在教學內容方面,我們提出以國內教材為骨架,以國外教材中比較新穎實際的部分為面向,取各家之所長,由教師綜合對比,提煉和取舍。授課采用多媒體課件,以課件為主線,擴展的內容由學生自行考考書中查閱。實踐證明。這種模式比只采用一本教科書的模式更好,在教學過程中為了鼓勵學生勤于思考。教師應該在授課時提高提問的比重,在多媒體課件編制過程中暗藏適量的“陷阱”和問題,需要學生在課上思考來發現和問答。從而激發學生新知識,解決新問題的興趣,培養學生的創新精神和實踐能力。
3 課程設計重視案例分析
在程序設計實踐課程中,教師應組織學生閱讀開發完成時間在一年以上的幾個實際項目,將其作為案例,針對該項目具體講授應該從那里突破,如何上手,應該考慮那些問題,要達到仕么效果,開發工具應怎樣使用,語法知識如何應用等,通過這種主范性的教學,學生可以很直觀地理解課堂所講內容,即使已經忘記所學理論,重新復習也很有針對性,查缺補漏即可。因此很快便能夠掌握開發工具的使用,同時他們對程序設計語言靈活運用的駕馭能力得到提升。
通過學習幾個案例之后,設計幾個題目,將學生分組每組一題,最初教師可能會更多地引導學生,隨著對題目的深入討論,學生逐步設計題目的總體結構。通過小組討論可以使學生的思維過程外顯化,學生會感受到觀點的沖突,從而更好地進行反思和評判,在小組合作研究過程中,教師要觀察小組的進展情況,及時提醒學生是否需要調整目標。此外,小組合作研究也給學生創造了主動參與,積極揮索,獨立創新的空間,可以讓學生充分施展出自己的才華和智慧。
4 通過各種比賽提高綜合程序設計能力
在參加程序設計比賽的過程中,學生獲得的除了是關于對應題目的解決方法、思維方法和題目的洞察力外,程序設計比賽同樣也提高了學生其它各個方面的能力。在實際的解題過程中,需要學生尋找各種不同的知識,有日常教學中所涉及的知識,但更多的是教學內容外的知識,這就要求學生能從各種渠道獲取相關的信息資料,進行了解、學習、分析,并把相關的知識轉化為解決問題的鑰匙。這與大學教育的主要教育內容――培養學生的自主學習和思維的能力是相同的。學生能夠在這些相關的學習鍛煉中進一步提高其綜合能力。
在程序設計競賽解決問題的過程中,學生通過自己的努力解決了相關的題目后,肯定會獲得解決問題的成功感,這種成功感、超越性正是促進學生繼續進步的動力之一;當學生看到別人可以順利完成題目,而自己卻不能找到問題或錯誤關鍵的時候,學生肯定也會有一定的挫折感以及不甘為人之下的好勝心,而這種好勝的心理亦可以轉換為學習的動力,當然這需要根據不同的學生進行不同的指導以去除其挫折感,否則可能會出現厭學的心態。當學生從現實實際中感受到自己能力的提高的時候,如在學習過程中理解問題、解決問題的提高,學生就會越來越有自主學習的興趣,這也就提高了學生的自主學習的積極性。當然,這也需要教師按照特定的方式來促進和保持學生學習的積極性。
5 項目實踐
為提高學生的實踐能力。學生在完成基礎知識的學習后,閱讀一些已經開發完成時間在兩年以上的項目的開發文檔,文檔熟悉后,學生在畢業設計指導老師的幫助下,按照文檔的描述與要求,重新實現該項目,需要約兩個月時間。完成后,學生已經熟悉系統開發的全部過程。后續大半年時間的任務與畢業論文(設計)相結合,老師根據學生的興趣安排特定的項目組,然后有老師手把手帶學生參與項目開發。學生在承擔的任務即可作為其畢業設計,畢業論文的內容主要論述項目的解決方案,開發過程及技術創新等方面。完成這一階段的任務后,學生的開發能力一般會突飛猛進的增長。
6 結束語
我們認為在程序設計教學中, 要改革舊的教學體系,需要用新的理念、新的內容、新的方法組織教學。首先要用先進的程序設計理論指導教學,并加強編程算法、邏輯思維和編程方法的引導。其次,重視和鼓勵學生對具體問題進行分析和研究,勤于動手和上機訓練,養成良好的編程習慣。針對本科生在完成程序設計語言課程的學習后,缺乏實際項目開發經驗的問題,教師可以通過開發難度適中的軟件項目,采取切實可行的措施,努力增強學生的分析問題,解決問題和實踐動手能力。
參考文獻:
[1] 雷桂平. 論創新課堂教學[J]. 中國職業技術教育,2003,(8):46-47.
[2] 葛明榮. 案例教學模式在教師教育中的功能探析[J]. 教育探索,2005(4):55-56.
[3] 郭嵩山,崔昊,吳漢榮,陳明睿. 國際大學生程序設計競賽輔導教程[M]. 北京: 北京大學出版社,2001.