摘 要:C++程序設計語言作為大學計算機類一年級新生的第一門實踐性課程,肩負著轉變學生傳統的數學邏輯思維向結合計算機軟硬件特點的計算機邏輯思維,去分析問題,理解問題,利用程序設計技術設計程序去解決問題。既要學生有較好的邏輯思維能力,又要去試驗驗證不斷的修正理解上的偏差,迅速提高計算機素養。如何有效的進行課程實驗成了培養提高學生能力的關鍵。為此我們在教學過程中要不斷摸索出一些實踐教學經驗。
關鍵詞:C++程序設計語言;實踐教學;建設
中圖分類號: G641 ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ?文章編號: 1673-1069(2017)01-103-2
1 ?實踐課程簡介
本課程屬于我校計算機類本科生的第一門專業基礎實踐課,課程內容包括C++語言程序設計的理論和實踐兩個部分。基礎理論部分內容包括C語言程序設計的基本概念、C++面向對象程序設計、類、對象、繼承、派生、多態、模板等概念。實踐部分則包括C++語言程序設計的基本訓練、類和模板的設計編程、幾個算法的實現、簡單應用等。
C++語言程序設計是計算機類本科生的一門程序設計語言基礎課程,雖然現在大多數程序員使用Java語言做項目開發,但作為程序設計的入門語言,考慮到在培養程序員思維方式的轉變過程中,既要兼顧理解計算機硬件和軟件的結合,又要程序員從傳統的數學邏輯思維方式繼承并成功轉型到計算機邏輯思維方式。目前也只有C或C++語言能夠較好的滿足這種需求。
本課程注重采用C++編程語言的最新國際標準[1],結合我們學校實驗室硬件的情況,盡可能采用國際上正在流行的比較新的編程軟件進行實踐教學。使得課程的講授內容始終跟蹤C++程序設計語言的前沿性和先進性。積極學習和引入國內外同行的先進教學方法和教學案例。簡單介紹C++語言程序設計的幾個流派、現實的應用情況及未來發展趨勢。
本課程強調學生在認真聽課、閱讀理解課本上的有關程序設計的概念、方法外,還要善于利用互聯網的資源,特別是學習C++語言程序設計的幾個官方網站、幾個行業大牛的網站上的知識。在理解理論的基礎上展開實驗驗證,不斷的修正自己的理解偏差,使自己學到的知識不斷完善,形成體系,為后續課程的學習打下一個堅實的基礎。在C++語言程序設計實踐教學過程中,強調合作能力的培養,團隊意識的形成。自2004年以來,本課程教學效果得到學生的一致肯定,鍛煉和培養了學生的實踐能力,比較好的完成了本門課程的教學任務。
2 ?實踐教學目標
本課程的實踐教學目標包括:學生通過本課程的學習、實踐,讓學生從中學生傳統的數學思維方式轉變為結合計算機軟硬件特點和計算機邏輯的計算機思維模式去分析問題、編寫程序、實現解決問題。通過C++語言程序設計課程的實踐訓練,了解什么是面向對象的設計思想,養成良好的程序設計風格。利用C++語言程序設計來解決一些實際問題;學會自頂向下,逐步細化,會把復雜問題拆解為幾個更為簡單的問題,利用面向對象技術進行設計和編程。培養團隊協作和開放意識,為計算機類專業后續課程的學習打下一個良好的基礎。
3 ?實踐教學方法、手段(舉例說明采用的各種教學方法及手段的使用目的、實施過程、實施效果)
①建立以轉變傳統數學邏輯思維方式為結合計算機軟硬件特點的計算機邏輯思維方式為主線的,分層級、漸變式的實驗教學體系。首先訓練學生學習計算機編程的三種基本邏輯,數組等數據的組織方式,學會排序等幾個簡單常用算法、解決一些簡單問題。然后學習把數據和定義在數據上的操作整合在一起引入類的概念、學會類的定義、理解繼承、派生、多態、學會模板的定義和使用、學習文件的使用方法。使學生養成良好的程序設計風格、形成計算機邏輯思維模式。
②采用靈活多變的教學方法,加快提高學生的編程能力。實踐教學過程中,針對一些具體的例題,先解決基本問題,然后分析對于一些語句進行適當修改和加入新的語句就可以解決類似的其他問題。設計、利用一些實驗數據發現所設計的程序的關鍵性問題,然后引導學生去解決此類問題。因為本門課程是學生接觸的第一門實踐性課程,教學過程中引出的問題有些是當前階段可以解決的,一些問題還要通過后續課程的學習提高能力后才能解決,不一定馬上就要把問題解決掉、重點是培養學生繼續學習的興趣。激發學生自主學習的積極性、主動性和能動性。
鼓勵學生自主組建C++語言程序設計興趣小組去找協作課題、完成課程設計作業。實驗課堂上也鼓勵學生多走動、多交流。建立網上資料、技術分享機制、鼓勵學生分享解決問題的方法,老師根據學生的分享情況,適當增加學生的平時成績。
③逐步建立學校和社會的協同培養模式。在教學過程中,課外時間如有可能,適當組織部分學生走出校門,利用校友資源,組織參觀企業、科研院所、地方政府等單位在計算機方面的應用情況。了解社會需求、拓展視野、激發學生學習本專業的積極性。形式多樣的人才培養協同創新模式。教學團隊通過學院與廣州易數信息科技有限公司、廣東省信息安全測評中心、廣州杰賽科技股份有限公司、廣州騰科網絡技術有限公司等企事業單位建立了長期戰略合作關系。這些都為創新型人才培養打下了堅實的基礎。
4 ?實踐教學考核方法
本課程的總評價分數包括平時考勤,平時作業,中段考試、期終前上機考試、課程設計與新技術資料翻譯,期末考核六部分。分別占10%、10%、15%、15%、10%、40%。其中,平時作業主要是針對課程中每章節后,為鞏固所學內容所布置的習題編程實現;課程設計則主要是訓練學生的協作能力和解決實際問題的分析、設計、編程能力、要求提交一份相對完整的設計文檔;英文資料翻譯采用自主選擇網絡上國外近半年來計算機類的英文資料、鼓勵組團分解翻譯大塊文件,要求每人翻譯至少2個A4版面。期末考試通過閉卷方式考核程序設計的能力,期終考試占總成績的40%。
5 ?實踐教材
本課程的實踐教材為本課程主持人及參與人員王玉山等所編著的《C++語言程序設計實踐》,該教材現在只有電子稿,還沒有正式出版。
6 ?實踐教學環境和教學資源
本課程的實踐教學環境為:①學習版的微軟公司的Visual Studio Visual C++的集成開發環境。②Bloodshed Dev-C++(C++開發工具)V5.11.0中文免費版。③奇趣科技開發的跨平臺C++圖形用戶界面應用程序開發框架Qt。
教學資源:
①課程概要:課程簡介、教學大綱、課程特色、教學效果。
②在線課堂:課程PPT。
③實驗指導:實驗指導書和實驗報告。
④部分大作業選題目錄。
⑤C++語言程序設計課程及研究常用、重要網址列表。
7 ?實踐教學效果
經過多年探索和實踐,教學團隊在人才培養模式、教學方法、實踐教學改革、試驗教材編寫等方面取得了一定的成績。團隊成員發表相關教改論文10余篇,獲得過2010年廣東省千百十校級人才項目,主持廣東外語外貿大學校教學研究課題“畢業設計管理系統”,2010年度、2012年度廣東外語外貿大學優秀科研業績獎二等獎,周詠梅和林華兩位老師獲得過年度優秀個人。教學團隊成員具有豐富的教學改革實踐經驗和理論基礎,保證了本門實踐課的教學質量。
通過大作業與新技術資料翻譯,提高了學生主動學習的積極性、培養了團結協作精神。提高了解決問題的能力。組織部分學生到相關企業參觀、堅定同學們學習本專業的積極性。
指導學生積極開展科研實踐和申報項目,獲得成績如下:
①在王玉山老師的指導下,軟件系2015級大學一年級新生林澤聰等獲得了廣東省團委的攀登計劃項目:個人健康檔案,獲得資助2萬元。
②在周詠梅和蔣盛益老師指導下,彭金原等同學獲得廣東外語外貿大學校級大學生創新創業項目:網絡輿情構建關鍵問題研究—以微博客為分析對象(2011年校級);黃確君等獲得:面向高校圖書館的推薦系統(2012年校級)。
國家級學科競賽獲獎情況:
Innc多媒體解析語言,2007年在天津舉辦的全國第10屆挑戰杯比賽3等獎,2004級軟件工程專業,文羲暢。指導老師王玉山。該項目同時獲得廣東省2007年第九屆挑戰杯1等獎。
省級學科競賽獲獎情況:
①四靈象棋——基于互聯網與移動設備聯合開發,廣東省第18屆“高校杯”軟件作品賽一等獎,2006級計算機專業:郭勇、劉榮科、何健,指導老師:林華、蔣盛益、吳彩虹、王玉山。
②基于Web3d的網上服裝商城 , 第十七屆廣東省“文泰高校杯”軟件設計(本科組)競賽1等獎, ?2004級軟件工程專業學生,指導老師,王玉山。
泛珠三角安利杯大學生計算機作品賽:
2006級計算機專業,陳俊平,余雯. 基于C++語言程序設計的垃圾郵件識別系統, 泛珠三角大學生計算機作品賽廣東賽區, 二等獎,2009。
2006級計算機專業學生,“任意達”——私人定制高??蛙嚶撁讼到y,大學生計算機作品賽暨泛珠三角大學生計算機作品賽廣東賽區選拔賽三等獎 , 指導教師林華。
8 ?實踐課程特色及價值
《C++語言程序設計》作為大學計算機類1年級新生的第1門實踐課程, 肩負著既要把學生從傳統的數學思維方式向結合計算機軟硬件特點的計算機思維方式轉變,又要轉變學生的應試教育模式學習方式向探索式、實證式、協同式、全球互聯網求助式、開放式教育學習方式轉變。還要求學會面向對象的程序設計思想方法,為后續課程的學習打下一個良好的基礎。課程內容本身要求理論聯系實際、在理解理論的基礎上進行實踐驗證并不斷修正、完善自己理論體系。學習本課程后,要求能夠進行面向對象的類的設計,能夠解決一些實際問題。本課程的特色和價值主要表現在:
①課程內容理論聯系實際,所用軟件實驗工具、環境要符合時代需要、要采用最新的C++語言程序設計國際標準進行實驗講學,在試驗中老師要善于對于同一個程序代碼、進行適當變換就可以講解、實驗幾個概念和方法,爭取用較短的實驗時間獲得盡可能大的教學效果。
②對于實驗內容的數量和深度做到適度,有時候甚至要把問題進行分解,讓學生容易理解和實驗操作,然后再把解決的問題整合串聯、形成比較復雜的編程邏輯、達到鍛煉能力、逐步提高水平的目的。也要讓學生逐步學會對于程序提出各種修改方案進行實驗、達到靈活運用。由于是大學新生的第一門實驗課,要學習的基本概念、基礎方法比較多,一些程序技巧和需要記住的語句段落要有適當重復訓練。內容也要緊密聯系實際,吸引學生投身于科技創新。讓學生設計一些聯系實際的程序,讓學生具有的成就感,吸引學生更深入的學習C++語言程序設計。
③在保證基本實踐教學的同時,要善于發現好的苗子,并適度引導他們開展四年的項目規劃,利用課外時間進行深入研究,形成合作團隊,為人才培養的連續性做出貢獻。組織部分學生到企業參觀實習,讓學生早點了解行業需求,使得今后的學習更加貼近實際、符合社會需要。
參 考 文 獻
[1] 鄭莉,董淵,何江舟.C++語言程序設計[M].清華大學出版社,ISBN:9787302227984.