時間:2023-05-31 09:09:28
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇c語言課程設計,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
高等職業教育的目標及側重點不同于普通高等教育,其培養的學生在畢業后應能直接上崗,具有熟練的實踐操作技能。教育部《關于以就業為導向深化高等職業教育改革的若干意見》中指出,高職教育應“堅持培養面向生產、建設、管理、服務第一線需要的‘下得去、留得住、用得上’,實踐能力強、具有良好職業道德的高技能人才”。
因此,加強實踐性課程教學,對保證人才培養質量顯得尤為重要。我院為貫徹《關于全面提高高等職業教育教學質量的若干意見》(教高[2006]16號文件)精神,針對區域經濟發展的要求,靈活調整和設置專業課程,以就業為導向,加快專業課程對應的課程設計改革。目前,我院按照由淺入深、不斷深化的教學規律,構建了實踐教學三層次四環節的實踐課程體系(圖1)。實踐教學三層次包括基本技能、專業拓展、綜合創新,四環節包括實驗、實習實訓、設計和課外實踐。“C語言課程設計”是我院信息類專業的必修專業基礎課程設計,在“C語言程序設計”課程教學結束后的下一學期進行,歷時2周,40學時。課程開設的目的在于培養學生分析問題和解決問題的能力,為學生提供一個動手、動腦、獨立實踐的機會。
2項目教學法的簡單介紹
2.1項目教學法“項目教學法”是基于建構主義教學理論的一種教和學的模式。著名的瑞士心理學家皮亞杰認為,知識不是通過教師傳授得到的,而是學生在一定的情境下,借助他人的幫助,利用必要的學習資料,通過意義建構的方式而獲得的。美國項目管理專家約翰·賓認為:“項目是要在一定時間里,在預算規定范圍內需達到預定質量水平的一項一次性任務。”
“項目教學法”是通過實施一個完整的項目而進行的教學活動,旨在把學生融入有意義的任務完成的過程中,讓學生積極地學習,自主地進行知識的建構,在課堂教學中把理論與實踐教學有機地結合起來,充分發掘學生的創造潛能,提高學生解決實際問題的綜合能力。因此,在教學活動中,教師將需要解決的問題或需要完成的任務以項目的形式交給學生,在教師的指導下,以小組工作方式,由學生自己按照實際工作的完整程序,共同制定計劃,共同或分工完成整個項目。
在項目教學中,學習過程成為一個人人參與的創造實踐活動,注重的不是最終的結果,而是完成項目的過程。在高等職業技術教育中,項目是指以生產或制作一樣具體的、具有實際應用價值的產品的工作任務。在技術領域,很多小產品或一些復雜產品的模型都可以作為項目,如:在信息類專業,可以開展微機組裝、網站建設、信息管理系統開發、局域網構建、單片機制作、多媒體課件制作等項目;在電子類專業,可以開展報警器、LED、門鈴、家電組裝等項目;在商業、財會和服務行業,所有具有整體特性并有可見成果的工作也都可以作為項目,如商品展示、產品廣告設計、營銷策劃等。
2.2項目教學法的基本特征項目教學法與傳統的教學法相比,有很大的區別,主要表現在改變了傳統的3個中心:以教師為中心轉變為以學生為中心;以課本為中心轉變為以“項目”為中心;以課堂為中心轉變為以實際經驗為中心。項目教學法具有以下特點:(1)實踐性。項目“源”于企業,項目的主題與真實世界密切聯系,由淺入深,選擇的項目具有典型性、實用性。(2)自主性。提供學生根據自己的興趣選擇內容和展示形式的決策機會,讓學生能夠自主地進行學習,從而有效地促進學生創造能力的發展。(3)發展性。長期項目與階段項目相結合,構成了實現教學目標的認知過程。(4)評價特殊性。項目型教學的評價注重學生在項目活動中能力發展的過程,測評內容包括學生參與活動各環節的表現及作業質量,避免了傳統的一張試卷定成績的弊端。測評可以采用自評、小組評、教師綜合評等方法。教師只有明確并抓住項目化教學特點,才能更好地完成教學目標。
3項目教學法在“C語言課程設計”中的實施
3.1教學內容為了更好地開展課程設計教學,經過多次實踐和摸索,總結出學生在具體實施項目中一般存在2個方面的知識不足:第一,在教學內容上,由于前導課程在教學上受學時影響,很多教師對指針、結構體、共用體和文件基本操作的知識介紹不甚完善、系統,更難談上輔以實例加以消化。對此,針對學生在這些知識點上的掌握程度,利用4~6個學時,實施區別式的、輔導性的、實例化教學。第二,學生對項目管理知識知之甚少,針對此情況,采用2個階段實施有別于常規教學的補課行動。第1階段為項目準備階段,利用2~4個學時,安排曾經做過項目且做得比較好的學生,現身介紹項目的準備工作(包括如何選題、如何查找資料、如何復習C語言知識)、項目實施過程要完成的工作(包括如何做市場調查、如何做需求規格分析說明書、如何做概要設計說明書、如何做詳細設計說明書、如何選擇使用代碼編碼器代碼編寫注意事項)、項目驗收及作業提交的工作(包括程序測試事項、如何寫課程設計報告)等。在學生介紹中,教師穿插講解,輔以點評。第2階段為項目實施階段,教師應針對學生發生的問題,及時給予指導,直到學生弄懂為止。
3.2教學要求切實保證教學質量和教學效果,本著“學以致用”的原則,要求學生做到以下3點:第一要做到“學有三備”,即:在項目實施前做好知識儲備,在項目實施中做好安全防備,項目結束時做好被評準備。第二要寫好“三書一報告”。“三書”即每個項目組要做需求規格說明書、概要設計說明書、詳細設計說明書,“一報告”即人人都要做課程設計報告。第三要做“四自”參與者。“一自”即自律,要求學生自覺履行學生守則和項目實施有關規則,不遲到、不早退、不缺席,實施點名制度,若無特殊原因,有5次曠課者自愿以重修論處;“二自”即自尊,要求學生尊重知識、尊重學習規律、尊重項目組成員、尊重教師、尊重自己;“三自”即自信,要求學生相信自己能夠按時、按量、按質完成工作內容,遇到困難時,沉著、冷靜,理性地尋找問題解決的辦法;“四自”即自強,要求學生不滿足自己已有的成績和以往與課題項目組共同取得的成績,用創新和超越的思想,做出比以前哪怕是前進一小步的事情。同時也要求教師做好相應的工作,如做好項目整體規劃、精心準備、努力激發學生參與行為、為人師表、表揚為主、批評為輔、多分析、精點評等。
3.3項目實施進程項目教學法是一種生動、靈活、多樣化的教學方法。在項目實施過程中,既不能生搬硬套地利用一個時間標準,又不能影響項目實施的整體進程,因此對時間的靈活處理是非常關鍵的,也是值得商榷的。
【關鍵詞】C語言;理論教學;實踐教學;課程設計
目前各個高等學校尤其是三本工科院校中,所選用的編程教學語言,由以前的面向過程化的語言Pascal語言向C語言過渡,這個也正是C語言廣泛使用的一個例證,C語言作為一個對底層有較強控制能力的語言,對于初學者來說,還是不容易掌握。為了編程語言的教學,各個學校都在探索適合自己學生的教學方式。本文針對電子類的嵌入式方向專業的特殊性,采用了將理論和實踐分開進行的方式,這樣做,可以讓學生對程序設計語言由淺入深地接受,在這個過程中,很自然地有純粹的理論過度到實踐編程的環節。
一、程序設計語言的教學思路
嵌入式方向C語言的教學,偏向于嵌入式底層的應用,在課程的安排上,結合三本院校學生的特點,將理論和實踐分別安排的兩個學期完成,第一個學期,主要是針對理論學習,第二個學期,開設課程設計的實踐環節。在理論教學環節中,側重點是理論的講解,可以不必太在乎細微的語法細節,而將主要精力放在程序設計語言的思想上。作為教師在講授C語言理論知識時,只要將過程化C語言的重點思想交代清楚了就可以了,在教學內容的安排上,一定要將結構體,指針和文件的相關知識進行講解,這也決定了在理論學時的環節中,無法對個別函數的細節進行展開的原因,而這些理論環節的教學,學時可以控制在45~48之間。
二、C語言課程設計教學內容的設計
在教學內容上,由于實踐課程的特殊性結合程序設計的特點,實踐環節可以用兩種方式完成,以便和前面的理論學時的知識進行銜接,這兩個環節分別是單個知識點的聯系和綜合的課程設計的獨立完成。
1. 單個知識點的實踐
就單個知識點而言,都以專題練習的方式進行,在講授的過程中,結合工程中的使用,每個專題,可以設計出獨立的實踐報告內容,程序設計語言的教學,除了掌握基本的語法規則之外,最重要的是同時要會調試程序,也就是要掌握調試程序的技巧。所以,課堂實踐環節的內容的設計,不但包括了能夠寫出程序代碼,而且還要會應用調試工具對程序進行調試,下面就是本人在進行數組,指針和結構體的綜合專題中進行的課堂任務的設計:
任務描述:從鍵盤錄入N個學生的信息(包括姓名,學號,成績),統計出平均分,并將成績最低分,最高分的學生的信息輸出。
該課堂實踐內容設計的思路,主要是要學生掌握結構體的定義方法,理解數組的元素可以是結構體變量,同時要牢固掌握指針的本質就是內存地址,通過指針可以方便地操作用戶空間的任何數據。
通過上面的實踐內容,結合筆者的實際操作,學生在記錄了指針地址的變化過程之后,不但掌握了查看內存的調試方法,而且對指針的本質有了感性的認識。
2. 綜合課程設計
可以選取有一定規模的小系統讓學生完成,在筆者的教學中,幾年來了均采用了學生信息教學管理系統進行授課,隨著經驗的增加,這個小系統對于學生而言,有很好的鍛煉價值。
這個環節的實踐,可以不占用教學計劃學時,而留給學生課后組隊或者獨立調試完成,這是因為,學生通過前面分散的專項知識點的練習,已經學會了怎樣調試程序,而且,各個知識點通過練習之后,已經掌握得差不多了,這個綜合任務,就是為了他們能夠融匯以前所學的各個知識點。所以布置給學生之后,就可以在適當的時候進行答辯考核了。
三、C語言課程教學課堂組織形式的比較
作為實踐課程,其教學有特殊性,筆者通過三個學期的探索,分別采用了兩種課時組織方式,現在對兩種方式的優缺點分別進行比對:
分散課時方式:就是按照理論課的安排,周學時2-4個學時進行安排。
周末集中方式:每個周末安排16個學時,進行集中訓練。
對于分散授課的方式,學生的出勤率低于集中的方式,對于實踐性質的課程,這種集中的方式進行授課,學生的出勤率會高于普通的方式。就學生課堂任務的完成情況而言,兩者基本上都能按照要求完成要求的85%以上的內容。就課程銜進行考量,根據實際操作來看,集中方式明顯優于分散的方式,這個記憶的遺忘興致相符合。從考核結果來看,分散方式所參與的三屆學生中,要優于集中方式,這個結果的出現,有部分原因是由于考核時間和上課時間之間的空隙拉的太長了。下次的安排,將會安排在課程結束之后的一周時間進行,這留出來的一周時間,就是讓學生來獨立完成自己的任務。
本文對三本學校中開展C課程設計的思路進行探討和實踐,提出了將C語言的教學分為理論部分和實踐部分的思路,并把實踐部分的練習分為專題知識練習和綜合獨立完成的任務兩個部分,在課堂的實踐中有較好的效果。最后論文還對課程設計的學時組織方式進行不同方式的實踐嘗試,為找到適合三本學生C語言教學的方法提供了一定的參考對象。
參考文獻:
[1] 郭有強. C語言程序設計實驗指導與課程設計[M].北京:清華大學.2009
vb課程設計心得體會一
我們組這次設計的程序是考勤管理系統,主要用于企事業單位的考勤,便于統計員工的出勤情況。
1.通過這一次的程序設計,使我能夠進一步掌握用程序設計語言解決實際問題的方法,在操作當中把所學到的用于實際的編程里面去。
2.通過這一次的程序設計,使我能夠提高分析問題、查閱資料、吸收新知識的能力,在分析解決問題時比以前有了很大的進步,一些常用的知識和一些常規的錯誤都能夠解決。
3.通過這一次的程序設計和指導教師姜瑤老師的指導使我能夠進一步對vb有了熟練的操作,并且在分析,編程方面比以前有了更大的提高。
4.我認為實踐周的程序設計是給我們學習的一個大好機會,使我們在這樣的機會里學到了一定的知識,畢竟理論要通過實踐來鍛煉,也只有自己參與了這樣的一個鍛煉,才能更好的發現自己的不足并加以改進和完善!
在這次的設計過程中,我學到的不僅是知識,我還認識到許多事情。這次設計使我的編程水平提高了一大步,使我充分的認識到合作的可貴。由于這次設計涉及到數據庫,我也學到了不少數據庫連接的知識,對數據庫的操作有了進一步的了解。這次設計對我的綜合能力是一次很好的鍛煉,但是我必須承認自己的能力和知識還很膚淺。所以今后我的學習道路還是很漫長的。最后,在這里我要衷心的感謝我們的指導老師謝謝她的耐心指導和熱心幫助。由于我水平有限,加之時間短暫,故學習數據庫系統中還有許多不足之處,請老師批評指正,我會在以后的制作中不斷改進,不斷完善。
vb課程設計心得體會二
在前兩周中我們進行的VB課程設計中,我獲得了一些心得體會。
這是我第一次系統與完整的接觸軟件設計。我們組的題目是關于“俄羅斯方塊游戲”的設計。我在組內主要負責(1)游戲界面的設計(2)俄羅斯方塊的造型(3)游戲級別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設計中,我的能力得到了鍛煉,自己也有許多體會。這次的課程設計是自己第一次全面接觸軟件的制作過程。以前僅僅是對軟件的開發有一個大體的印象,通過這次的課程設計,我對軟件的開發有了切身的體會。軟件并不像我原來所想的那樣十分神秘,而是有著一個相對固定的模式和流程。我們只要按照這個模式和流程,就能夠比較規范的完成一個軟件的制作。軟件的制作是一個系統的工程,需要我們掌握多方面的知識。在這次課程設計中,我覺得自己的知識面依然有所欠缺。因此我需要在以后的學習中加以注意,要不斷的提高自己的知識面與知識層次。
我在這次課程設計中主要負責(1)游戲界面的設計(2)俄羅斯方塊的造型(3)游戲級別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設計之前,我對VB的編程不是特別的熟悉,這次的課程設計,我是一邊學習,一邊總結,一邊進步。在編程的過程中,我體會到其實各種計算機語言是有相通之處的。在以前的 學習中,我只接觸過C語言,這次在VB課程設計中,我發現C語言中的許多知識可以應用到VB中,兩者具有相通的數據結構。所以我認為現在對計算機語言的學習,不要貪多,而應耐心的學好一門主要的計算機語言,在這個基礎上,去學習其他的語言,這樣會使學習效率大大提高。
在編程的過程中,我體會到編程是十分辛苦的。在課程設計這一段時間里,我每天的生活基本是在不斷的調試程序和修改代碼中完成的。有時,這種生活令人感到乏味和疲倦,但是在這種近似枯燥的生活中,我的編程水平有了一定程度的提高,這是課程設計中我最大的收獲。以前學習計算機語言,總是靜不下心來,不能認真的看書。這次課程設計,為了順利的完成編程工作,我認真的學習了VB語言,并有了一定的心得體會。所以在以后的學習中,自己全身心的投入,這樣學習才會有效率,才會有效果。
這次的課程設計是按小組進行的,我們的小組由兩名同學組成。軟件的設計本來就是一個團體的智慧結晶。這次課程設計也給了我們一次體驗團體合作的機會。在課程設計中,我深深的體會到集體的智慧于力量是個人所無法比擬的。在課程設計中,我們的小組成員互相幫助,有問題兩個人一起討論解決,大大節省了時間。互相都提出了很好的建議,使我們的課程設計得以較好的完成。
課程設計已經結束了,但在課程設計的這些體會要應用到今后的日常學習中去。在新的學期,我覺得自己要在以下幾個方面加以注意:
首先,在學習專業課的時候要注意理論聯系實際。注意將課本上的知識應用到日常的操作中,真正做到學以致用。只有這樣,才能做到目的明確,才能有足夠的學習動力。
其次,在學習過程中要經常與同學進行交流,討論所遇到的問題,并一起解決。在討論中解決問題,會節約很多時間,并且在交流的過程中,我們也可以學到更多的東西。
課程設計已經已經完美解暑,這次課程設計給我打來了很多新的體會,在以后的學習中要不斷總結,不斷改進,使自己的成績有新的提高。只有不斷努力,才會使自己變得更加優秀。
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數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
關鍵詞 實驗教學體系 電信與計算機分中心 信息工程 教學改革
中圖分類號:G424 文獻標識碼:A DOI:10.16400/ki.kjdks.2016.10.047
Abstract Theoretical teaching and experimental teaching is for colleges to train two essential link, for information engineering and other related majors, experimental teaching is particularly important, key steps of application type talents training. With the continuous development of information technology, traditional experimental teaching content and teaching method has and social demand can not adapts with my school experiment teaching center of telecommunications and computer center specific experiment teaching pattern and system, describes the various problems encountered by the information engineering specialty in experimental teaching and solutions, in order to deepen teaching reform and improve the quality of experimental teaching play an important role, but also for future application key provincial experimental teaching demonstration center provides a basic guarantee.
Keywords experimental teaching system; telecommunications and computer sub center; information engineering; teaching reform
我校信息工程學院所開設的四個專業分別為電子信息工程、通信工程、物聯網工程、計算機科學與技術,其80%以上的實驗課是在電信與計算機分中心的實驗室開設。這四個專業的共同特點就是實驗課比例要多于理論課,而且,隨著信息技術的不斷發展,實驗課程的教學模式和實驗內容如果一成不變,則會極大地影響人才培養效果,如何讓實驗課程和社會接軌是目前電信與計算機分中心亟需解決的問題。
1實驗教學體系主要研究內容
1.1 實驗課程結構
(1)基礎類、專業類、綜合設計性以及創新性實驗課程的比例不夠合理,基礎類實驗所占比例過大;(2)大一可以開設和學科專業特點相近的基礎性實驗;大二可以以各種競賽為導向、把硬件故障診斷的實例融入實驗教學中去;大三可以把企業中實際的項目和大學生科技創新活動等滲透到平時的實驗教學中去。
1.2 實驗教師結構
(1)學歷結構;(2)年齡結構;(3)職稱結構;(4)雙師型教師比例。
1.3 實驗教學大綱
因為電信、通信、物聯網技術發現迅速,需要及時更新實驗內容,陳舊的設備和技術手段不能滿足社會發展趨勢。相對應的實驗教學大綱最少三年要更新一次。
1.4 實驗教學質量評價
(1)對實驗教師的評價主要包括實驗講授方法、以及能否及時處理實驗中遇到的各種問題,因為理論課中描述的都是在理想的環境中得出的規律和現象,而在實際進行的實驗過程中會有各種不可預知的問題出現,需要教師能逐一分析并解決問題;(2)對學生的評價主要包括實驗現象和數據的分析,遇到故障的處理方法等。
2 我校信息工程學院各專業實驗課教學體系結構
2.1 電子信息工程專業實驗課程體系
(1)專業基礎實驗課:大學物理實驗、C語言程序設計、電信工程導論、數字邏輯電路實驗、模擬電子線路實驗、電工基礎實驗、電路分析基礎實驗、數據結構;(2)專業實驗:通信原理實驗、數字信號處理實驗、高頻電子線路實驗、信號系統實驗、單片機技術應用實驗、計算機網絡實驗、嵌入式與多核技術實驗、數字圖像處理實驗、移動通信系統實驗、汽車電子實驗;(3)項目綜合實訓:電子電路實訓、電子工藝實訓、C語言程序課程設計、模擬電路課程設計、單片機技術課程設計、實用電源實訓、FPGA課程設計、嵌入式應用實訓。
2.2 通信工程專業實驗課程體系
(1)專業基礎實驗課:大學物理實驗、C語言程序設計、通信工程導論、數據結構、JAVA程序設計、電工基礎實驗、電路分析基礎實驗、數字邏輯電路實驗、模擬電子線路實驗;
(2)專業實驗:信號系統實驗、單片機技術應用實驗、通信原理實驗、高頻電子線路實驗、計算機網絡實驗、數字信號處理實驗、嵌入式與多核技術實驗、數字圖像處理實驗、移動通信技術實驗、現代交換技術實驗、光纖通信技術;
(3)項目綜合實訓:電子電路實訓、電子工藝實訓、C語言程序課程設計、模擬電路課程設計、單片機技術課程設計、嵌入式與多核課程設計、傳感器技術實訓、安卓技術開發、通信系統綜合實訓。
2.3 物聯網工程專業實驗課程體系
(1)專業基礎實驗課:物聯網工程專業導論、大學物理實驗、數據結構、電路與電子技術實驗、計算機概論、計算機組成原理、JAVA程序設計、計算機網絡、C語言程序設計;
(2)專業實驗:數據庫原理、傳感器原理實驗、操作系統、RFID原理實驗、物聯網通信技術實驗、嵌入式系統設計、JAVA WEB開發技術、單片機原理實驗、無線網絡技術實驗、網絡互連技術、CC2530原理、軟件工程;
(3)項目綜合實訓:C語言程序課程設計、數據結構課程設計、語言類綜合實訓、關系數據庫課程設計、嵌入式課程設計、Zigbee應用課程設計、網絡通信課程設計、物聯網應用項目實訓、智能家居模擬實訓、移動應用開發實訓;
2.4 計算機科學與技術專業實驗課程體系
(1)專業基礎實驗課:數據結構實驗、面向對象程序實驗、計算機組成原理;
(2)專業實驗:JAVA程序設計、操作系統、網頁設計、計算機網絡、數據庫原理、JAVA WEB、計算機系統、軟件工程、單片機原理實驗、網絡管理、XML技術、多媒體技術;
(3)項目綜合實訓:嵌入式課程設計、JAVA WEB課程設計、數據結構課程設計、單片機技術課程設計、JAVA課程設計、軟件測試課程設計、Android系統課程設計、網絡工程課程設計、Linux C課程設計。
3 目前實驗教學面臨的問題和解決方案
3.1 實驗課時分配不合理
單片機課程設計、模擬電路課程設計、數字電路課程設計等綜合設計類實驗為16學時,而通信原理以驗證性為主的實驗課則安排有34學時,明顯設置不合理,今后更新培養方案可重新分配學時。
3.2 實驗內容陳舊
(1)電子工藝實訓仍使用potel99的最老版本,而目前經過升級后已有最新的potel2008版本;(2)嵌入式系統仍使用的是2006年流行的arm9的操作系統,而目前使用的主流操作系統應該是arm11;(3)移動通信仍使用的是3G技術,而目前4G移動技術已經非常成熟,且有部分高校向5G擴展;(4)單片機技術仍使用的是51系列單片機芯片,而目前應用較多的是STM32系列的單片機,相比處理速度更快,內存更大。(5)計算機網絡實驗仍是以有線網絡教學為主,而目前應用較多的是無線網絡技術。
根據以上問題,可在培養方案中注明要求必須使用某種軟件或實驗方法,實驗教學中心適時的淘汰過時的硬件或者軟件設備。
3.3 單個教師承擔一門課程的局限性
部分課程設計類實驗涉及的知識點較多,單個教師不能完全承擔整門課程,這相當于做一個項目,項目組成員對于各個知識點進行分工協作才能更順利完成教學任務。例如:某學生做一個無線電能傳輸裝置的課程設計,就需要掌握單片機技術,開關電源技術,無線網絡,高頻等多個知識點,而幾乎沒有一個教師能同時精通這所有知識,這就需要在排課的時候能同時安排幾個相關教師授課。
3.4 各專業實驗課的專業性不強
電子信息工程專業可不開設移動通信實驗、數字圖像處理,可增開設自動控制原理實驗,微波技術等實驗課程;通信工程專業可不開設電子工藝實訓、FPGA技術,可增開設射頻技術,光纖通信等實驗課程;物聯網工程可不開設計算機組成原理;計算機科學與技術專業可增開部分專業基礎實驗課。
3.5 大部分實訓課程未能和生產實際緊密結合
例如軟件類實驗相互抄襲、網上拷貝較多,學生畢業后不能勝任項目開發工作,因為真實的項目開發不同于普通按部就班的實驗課教學,其整個過程中會遇到各種不可預知的困難,為了讓學生學會分析處理各種問題,應把企業中實際的項目融入平時的實驗教學中,讓學生真實體驗項目開發整個過程,這樣學生踏上工作崗位后就能直接進入企業第一線工作。
4 結語
實驗教學體系改革是一個長期的過程,要根據社會發展趨勢,學科專業特點隨時改進,而信息工程專業實驗發展尤為迅速,這就要求實驗教師長期不斷地學習,經常深入企業掌握先進的技術和方法,實驗教學中心也要適時更新硬件和軟件設備,保障實驗教學體系的實用性、先進性、創新性和完整性。
參考文獻
[1] 柴文妍,王皖貞.電子信息工程專業“綜合課程設計”教學實踐與探討[J].北華航天工業學院學報,2011.21(3).
[2] 王青云,宗慧.電子信息工程專業的“課題式”教學改革研究[J].中國科教創新導刊,2011.34.
關鍵詞 思維模式 計算思維 程序設計 教學改革
中圖分類號:G424 文獻標識碼:A
0 引言
隨著計算機在各個行業的廣泛應用,計算機基礎教育成為每個入學大學生的必修課,而C語言程序設計又是計算機基礎教育里面的一門非常重要的課程。需要學習C語言程序設計的原因有:(1)C語言語法結構很簡潔精妙,可以寫出高效程序,大多數程序員愿意使用C語言去描述算法本身;(2)C語言深入到系統底層;(3)很多新型的語言都是衍生自C語言,掌握了C語言,再經過簡單的學習,就可以掌握和使用新型語言去開發了,例如Java。第三個原因也從另一個側面證明C語言是程序設計的重要基礎。
C語言作為入門來講是比較合適的語言,用處廣泛,可以學會優秀的程序風格。想學會C語言,有初中數學和英語的基礎就夠了,但是如果想深入學好C語言程序設計,必須要有好的抽象的思維能力,這種抽象的能力就是計算思維。眾所周知,計算機是一個應用工具,如何將這個工具應用好,是學生在學習時代乃至進入到社會必須熟練掌握的。要靈活使用計算機進行程序設計,基于計算思維的C語言程序設計教學方法發揮著重要作用。
1 計算思維概念
2006年3月,卡內基·梅隆大學周以真教授闡述了計算思維:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。對于計算機專業的學生來說,理解這一概念并非易事,而對于非計算機專業的學生來說,很難讓他們理解計算思維。因此,僅僅知道計算思維這個概念是遠遠不夠的,關鍵在于,將一些日常生活中常見的實例,用C語言程序來實現,而在這個實現過程中,就用到了計算思維理念。要想初步認識計算思維理論,就要借助于現實生活的例子,通過這些簡單的例子,更深入地理解計算思維這一思維模式,在實踐中,用計算思維來指導學生編程,這樣一來,學生編程的出發點更高,考慮問題更全局化,編出來的程序更健壯、更通用、更科學。
要理解計算思維,首先要從科學思維來入手。科學是指反映現實世界各種現象的本質與規律的分科的知識體系。科學思維(簡稱思維)一般指的是理性認識及其過程,也即經過感性階段獲得的大量材料,通過整理和改造,形成概念、判斷和推理,以反映事物的本質和規律。科學思維主要分為理論思維、實驗思維和計算思維三大類。
理論思維經常碰到,例如公理。實驗思維的先驅應當首推意大利著名的物理學家、天文學家和數學家伽利略,他開創了以實驗為基礎具有嚴密邏輯理論體系的近代科學。計算思維則是人類求解問題的一條途徑,但決非要使人類像計算機那樣思考。計算思維的本質是抽象和自動化。如同所有人都具備“讀、寫、算”能力一樣,計算思維是必須具備的思維能力。
計算思維概括起來有以下三個特點:(1)計算思維吸取了問題求解所用的一般數學思維方式,顛覆了現實世界中巨大復雜系統設計與評估的一般工程思維方法和理解心理及人類行為的一般科學思維方法。(2)計算思維建立在計算過程的能力和限制之上,由人和機器執行;計算方法和模型可以處理那些原本無法由個人獨立完成的問題和系統設計。(3)計算思維最根本的內容是抽象;計算思維中的抽象完全超越物理的時空觀,以致完全用符號來表示;與數學的與物理的抽象相比,計算思維的抽象更為豐富,也更為復雜。
2 基于計算思維的課程教學方法
正是由于計算思維的抽象能力有助于復雜系統的問題求解,所以應該結合計算思維在C語言程序設計中的應用,為學生開設一門“怎么像計算機科學家們一樣去思維”的課程,讓學生們一開始就喜歡上編程,因為計算思維不僅僅屬于計算機科學家,而是屬于每個學生的基本技能。
以前,非計算機專業學生在學習C語言程序設計的教學過程中,教會學生C語言語法,告訴學生怎么編程,這種教學方法和模式對學生深刻學習C語言程序設計是很片面的。根據我們的教學實踐,我們發現,需要一種思維模式來指導大學生學習C語言程序設計,不是為了編程而編程,而應該把編程當作是一種有趣學習,這種思維模式就是計算思維,它對學生們理解C語言乃至動手熟練編程起著非常重要的作用。因此,在教學的過程中,首先需要給學生們講解計算和計算思維。當然,首先要從經常會碰到的生活中的簡單的例子開始的,例如“求1+2+3+……+100”,讓學生對計算思維概念有一個初步認識與理解,這樣才容易讓學生們擁有計算思維的思想,學生們也可以從一個更高的角度來全面理解和應用C語言編程,這對于非計算機專業的學生學習C語言程序設計無疑是一個好思路。
將計算思維融入到C語言程序設計,需要將C語言程序設計課程進行相應的整合,如何將計算思維巧妙地應用到C語言程序設計課程中,提高學生應用計算機知識抽象和分解問題的能力,對于非計算機專業的學生學習C語言程序設計和老師講解此課程都是一個不小的挑戰。在講授此課程的過程中,我們對學生計算思維能力的培養做了系列的嘗試和探索,面向非計算機專業的C語言程序設計,其計算思維的思想主要體現在如下幾個方面,如圖1所示。
(1)實例教學法。在C語言程序設計的教學過程中,需要講授C語言的順序、選擇及循環三種基本結構,因為這三種結構貫穿著整個編程過程。對于數組、函數和指針等幾部分內容,為了在教學過程中加強學生的計算思維能力培養,教學過程中選取幾個例子進行深度剖析,這些例子不僅要有代表性,并且要以學生容易理解為前提,更貼近學生的現實生活。
(2)交互式教學法。講練互動的交互式教學方法始終貫穿講課過程中,“先講后練”、“先練后講”、“邊講邊練”,老師在整個講授的過程中,不再是演獨角戲,而是邊講邊同學生進行問題探討的探索者,引導學生更深刻地理解問題,直至用多種方法靈活地解決問題,當學生的學習思路打開了,很難的問題也就不是問題了。
(3)課程設計方法。課程設計本來是為計算機專業的學生開設的課程,目的是讓學生有更好更多的鍛煉機會,加深對課程的理解。而作為公共課的C語言程序設計,一直以來,沒有開設課程設計,事實上,公共課的C語言程序設計課程設計其實是非常有必要設置的。
計算思維在課程中的體現不是憑空存在的,而是要自己去體會和思考的。我們可以在課程設計中,給學生很貼近生活的例子,例如開發圖書管理系統和學籍管理系統,在整個課程設計的過程中,將學習內容分解到各個階段的設計,從而掌握計算思維能力在解決實際問題的具體應用。課程設計中的系統演示、項目答辯和系統說明書,這三者之間是有密切關系的,首先分團隊合作設計系統,系統中的子函數分到每個成員解決,將主函數調用子函數,實現系統的總體功能;然后,在每個小組中選擇代表答辯,在答辯的過程中,我們可以相互提出問題,探討解決方案;最后書寫詳細的系統說明書,這三個階段必不可少,成為一個設計整體,讓學生們充分體會和享受整個編程過程,從而對C語言程序設計更加有興趣和信心。
3 結論
需要將計算思維理念融入到課堂教學中,因此基于計算思維的C語言程序設計課程在整個課程設置過程中得到了反復強化,最終目標是將計算思維能力轉化成學生的思想,使他們具有獨立學習和研究的能力,這對大學生們在大學階段后續的學習是大有裨益的,這也是一種值得推廣的C語言程序設計教學方法。計算思維是能夠在抽象的多個層次上的思維,而不僅僅是計算機編程。編程實現的是計算思維中的一個內容,但它還包含有抽象與建模、算法選擇、資源選擇與調度、優化與評估、模擬與仿真等諸多的內容。計算思維的引入有效地幫助學生進行研究性學習和自主學習,可以得到比以前單純的講授為主的教學模式更好的教學效果。與此同時,學生可以將計算思維能力應用到其他課程中,逐步提高各方面的能力,這對培養學生發現問題、解決問題及進行獨立思考都有很重要的作用。計算思維能力的培養要面對所有的人,它的應用也是無處不在的。
L芑鶼钅浚何浜嚎萍即笱Ы萄а芯肯钅浚ㄏ钅勘嗪牛?012X46)
參考文獻
[1] 九校聯盟(C9)計算機基礎教學發展戰略聯合聲明[J].中國大學教育,2010(9).
[2] 陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1).
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加以實踐。這個時候我更加深入的了解了利用操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的數據庫課程設計--基于.net數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次數據庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數據庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次數據庫課程設計,不過這只是我學習路上的驛站,未來十年.net的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!
我很慶幸我參加了這次數據庫大賽,讓我確實打開了眼界。
vb課程設計心得體會范文三
VB課程是計算機科學與技術本科專業的專業骨干課。本課程主要通過VB論述了面向對象程序設計和組建編程的機理,涉及到控制臺界面程序、Windows窗體程序、圖形界面編程、數據庫、網絡應用系統等多方面的內容。內容量大,程序設計復雜、同時VB程序調試是在VS環境下進行,在編程過程中環境會自動為用戶生成一些必要代碼,以降低編程難度,降低學生的編程負擔,但這也帶來了一些問題,如:學生對VB的程序結構把握和了解不全面,對編程機理了解不透徹,學生容易盲目照搬書上代碼,不求甚解,似是而非。為了解決這個問題,我們采取了課程設計的方法來加深學生對知識的理解,將書本知識遷移到新的問題解決中,提高學生分析問題和解決問題的能力。
要求學生在學習該課程中,應用每個相對獨立的、完整的單元知識解決一個實際項目,設計編寫一個小作品;學完整個課程后,完成一個綜合性比較強的編程項目,使學生對整個課程內容進行全面的總結、梳理,以項目完成為手段,全面鍛煉學生分析問題和解決問題的能力。
一. 目的
1. 為使學生掌握VB編程、面向對象程序設計思想和組建編程的知識實際技能,除了系統地講授必要的VB知識,上機練習,做作業外,還應該對學生作較全面的編程技能和分析問題解決問題的能力訓練,即作課程設計,以達到如下目的:具體應用和鞏固本課程及有關先修課的基礎理論和專業知識,了解面向對象程序設計思想,掌握應用編程和組建編程程序設計方法,培養學生初步的項目設計能力。
2. 獨立地根據一定的項目要求,查閱資料,寫出項目開發目標,分析開發過程中所用到的課程知識,提出解決方案,編碼并上機調試完成系統,培養學生分析問題和解決問題的能力。課程設計是教學過程中的一個重要環節,必須認真對待。
二. 要求
在課程設計中要求學生注意培養認真負責,踏實細致的工作作風和保質保量,按時完成任務的習慣。在設計過程中必須做到:
1. 在某個教學單元結束后,完成一個教師布置的、或學生自己擬定的、知識覆蓋整個章節的,有一定綜合性和難度的項目,要求學生描述出要達到的目標、圍繞目標,收集資料和素材,復習所需的課程知識,描述問題解決方案、編寫程序上機調試,直到項目的完成。最后的成果要有完成的作品和相應的文檔。
2. 在課程結束后,完成一個大的編程項目,其要求與課程單元的項目差不多,只是綜合性更強、難度更大、知識覆蓋面更廣,工作量更大,以全面促進學生復習和梳理學科教學內容,提升學生分析問題、解決問題和文檔的書寫和編制。
三、采取的措施
為了保證課程設計能夠按照預定的目標和計劃進行,我們還采取了以下措施來加強對學生監督和管理。
1.首先講清楚課程設計的意義,讓學生能夠自覺積極主動地進行課程設計,發揮學生的主觀能動性;
2.在課程設計過程中,教師隨時巡視和監督,了解把握和控制課程設計的進展;
3.將學生的作品集中展示、評價、打分,可以讓學生在展示的過程中獲得成就感、自豪感,學生之間可以相互學習、取長補短,同時在此過程中可以明確標準,自覺地按照標準來調整自己地學習;
4.將課程設計作為學期成績的一部分記載,大約占10%,必須完成課程設計后才能參加考試,課程設計不過關,即使考得再好,也不能過。
關鍵詞:單片機課程設計;軟件仿真;硬件電路聯調
在開發單片機嵌入式系統時,使用最多的軟件就是Keilc51軟件,此軟件是由Keil公司研發出來的,軟件以uVision2為開發平臺,具有的功能包括項目管理、編碼、程序生成器等。Keilc51的優點在于:其界面的友好性較高、操作便捷,支持對匯編語言、C語言及混合語言的編程、編譯和調試工作,可以在很大程度上縮短設計周期,在對程序進行修改時也是很方便的。與此同時,Keilc51還能夠加載Proteus軟件的VSM仿真器,加載之后就可以和Proteus軟件進行聯機調試。
一、課程設計流程
1.編寫相關指導文件
在對課程設計著手之前,需要對課程設計的流程進行文檔編寫,為扎實掌握單片機技術打下基礎。相關指導文件包括:單片機項目開發的相關教程和例程材料,Keilc51和Proteus軟件的教程和例程材料,單片機課程設計完成程度的標準,課程設計大綱等。
2.選擇題目
在制作課程計劃時,需要根據每個章節內容的不同和課程進展程度對學生的實際學習情況進行考量,通過對學生掌握情況的判斷再對課程設計進行擬題。課程設計的題目包括針對各章內容的,也包括針對綜合應用的:關于MSC-51與A/D轉換方面的課程設計題目,關于MCS-51串口方面的課程設計題目,關于定時器與中斷方面的課程設計題目,關于I/O接口方面的課程設計題目,關于MCS-51的綜合使用方面的題目等。除此之外,還要列出詳細的元件表,供學生選擇和參考,并對課程設計題目的實現提出相應的具體要求。
3.使用仿真軟件和實現電路功能
在課程設計實現中,教師可指導學生分組進行,根據學生所選題目對學生如何在軟件和硬件等方面進行設計給予指導,以完成設計的初步內容。在對學生進行指導時,可按照以下步驟進行:
(1)繪制程序流程圖,可以使用Visio或Word進行繪制。學生在繪制程序流程圖時,不但要依據所選題目的設計要求,還要結合教師的指導內容進行繪制,為接下來的程序設計做鋪墊。
(2)設計硬件電路,可以使用Proteus軟件進行設計。在這一步驟中,首先要對Proteus軟件進行學習,在掌握基本應用原理和方法的基礎上,再依據設計要求設計電路。在學習Proteus軟件的基礎上,由教師組織學生先進行軟件的實際操作學習,需要學生掌握的內容有:建立工程文件、選取和使用元件、連接電路和進行調試運行等。
(3)編寫程序和編譯調試,根據上一步驟得到的硬件電路使用匯編語言編寫源程序,再在Keilc51軟件中進行編譯和調試。教師要指導學生,讓他們依據課程設計要求把編寫好的匯編代碼導入到Keilc51軟件中,進行編譯調試。
(4)聯合調試,對Proteus軟件和Keilc51軟件進行聯合調試。將在Proteus中畫好的原理圖在ISIS上打開,在Proteus軟件里的DEBUG菜單中選擇use remote debug monitor選項,并對聯機仿真參數進行設置。將在第三步中編譯好的Keilc51工程文件打開,并設置相關參數:在Keilc51的project菜單中點擊進入option for target“工程名”,在DEBUG選項的右上方下拉菜單中選擇Proteus VSM Monitor-51 Driver,并設置聯機仿真參數。
4.面包機設計和電路功能的實現
在這一階段,教師要先組織學生對集成芯片的用途和管腳功能進行學習,之后再在面包板上建電路,電路連接無誤后,使用編程器將程序燒寫到單片機的CPU上,最終使電路功能得以實現。
5.實行課程設計考核答辯制
教師采用答辯制的形式對學生的課程設計進行考核,在答辯中真正判斷出學生對課程設計的體悟到底有多深。
二、成果總結
本課程設計將軟件和硬件的使用集合了起來,完成了對單片機的開發設計,在實踐過程中取得了良好的結果,讓學生對軟件電路、硬件電路以及軟硬件聯調設計和面包板設計都有了更加深入的了解。
1.理論與實踐結合
在教學中,不僅要將學生的實際情況與學習內容結合起來,還要單片機學習中各個章節的內容和實際動手操作結合起來。在本課程設計中,擬定了MSC-51與A/D轉換、MCS-51串口、定時器與中斷、I/O接口、MCS-51的綜合使用等方面的數十個設計題目,并對課程設計提出了具體要求。
2.讓學生告別“眼高手低”
仿真聯調的結果雖然不能完全代表在實際情況中的結果,但是在很大程度上已經實現了電路設計的功能在虛擬情景中的實現,為判斷抉擇提供依據。根據仿真聯調的結果,我們可以在硬件操作中實際運行,通過這種方式,可以對仿真結果的正確性和準確程度進行校正。在學生進行實踐之前,要讓學生對集成芯片的芯片用途和管腳功能有所了解,之后在面包板上建電路,然后將程序通過編程器燒寫到單片機的CPU上,這樣就可以完成對電路功能的實現了。在課程設計的一系列環節中,學生既可以學習到各環節所需工具的相關知識,又可以提高學生的動手能力,增強學生的學習積極性。
3.對能力的培養
在實踐課程設計的過程中,通過繪制流程圖、畫電路圖和編程等,可以鍛煉學生有步驟地實現目標的能力;通過要求學生對程序進行標注,可以有效鍛煉和提高學生的編程能力,增強他們獨立思考的能力。
先進和完善的軟件能夠使硬件的運行達到更好的效果。在單片機課程設計中引入軟件,可以使學生在了解和掌握單片機的設計流程的基礎上,熟悉聯調的技巧與方法。與一般的單片機仿真軟件不同,在課程設計中所使用的仿真軟件除了能仿真單片機CPU的實際情形,還能仿真單片機周邊電力和未參加工作的電路情況。此仿真實驗能夠很好地將實驗和工程銜接起來,仿真結果的無誤將為電路的實際實現提供重要依據。同時這樣的課程實訓也是工程師的最基本實踐內容,這也為學生今后的學習和工作奠定了基礎。
參考文獻:
[1]喬建華.李臨生.Proteus在單片機教學中的應用分析[J].電氣電子教學學報,2009,2(6):24-25.
[2]陳淑芳.基于51單片機的教學實驗系統的設計與開發[D]青島:中國海洋大學,2011.
[3]吳慧芳,陸茵.“單片機原理及應用”課程設計引入Proteus軟件的實踐[J].中國電力教育,2010,5(9):123-124.
關鍵詞:計算思維;程序設計;課程改革
計算思維是指運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的系列思維活動。在信息社會中,計算思維是人類進行問題求解的有效工具,是每個人都應該掌握并學會使用的。近年來,由于計算機教育在中學階段的普及,高校新生的計算機操作水平和計算機應用能力普遍提高,“大學計算機基礎”課程教育的核心由原先的以計算機應用能力培養為核心轉為以計算思維的培養為核心。
在大學計算機通識教育階段,我們對計算思維的培養應當有效地融入每一堂課之中,即在大學階段計算機基礎課程學習的過程中,逐步培養非計算機專業學生在計算機環境下進行問題求解的思路、方法,使學生能用計算機學科獨特的思想、方法來解決專業領域和實際生活中碰到的各種問題,并為將來創新性地解決專業問題奠定基礎。
“C/C++程序設計”是大學生入校第一學年所學的計算機類基礎課程,課程內容能夠較好地體現語言級問題的求解方法,因此這門課也是學生最容易理解計算機求解問題的特點與方法的課程。如何在這門課程中培養學生的計算思維能力,是非計算機專業學生計算思維培養的重要內容,目前已經引起了眾多教育者的關注,并進行了有意義的探索。在本次教學改革中,圍繞計算思維培養這個核心,我們明確了“建立計算思維的概念,掌握計算思維的方法,培養計算思維的能力”的教學目標,有意識地將計算思維的培養融入教學的各個環節,使一系列的教學活動上升到了一個新的高度。
1.建立計算思維的概念
剛剛入學不久的新生在一年級下學期時,對程序設計還是陌生的。作為初學者,他們在學習中往往容易走人誤區,將全部的注意力放在程序設計語言本身,而忽略了學習程序設計課程最應該關注的,也是最能讓自己受益的事情:大腦的思考過程,即如何利用已知的信息解決問題的過程。
針對上述情況,在開學的第一次課上,我們并不涉及C/C++程序設計語言本身,而是從計算思維講起。通過介紹什么是計算思維,計算思維的主要特點以及培養計算思維的重要意義等方面,引導學生建立起計算思維的概念。通過百元買百雞、割園法求圓周率等經典問題的展示,引導學生感受和領悟計算機分析問題和求解問題的過程、思維模式和基本方法,從而讓學生在學習程序設計之初,就在主觀上明確程序設計課程的學習目標不僅僅是學習程序設計語言本身,更重要的是學習計算機分析和解決問題的基本過程和思路,即學會如何把實際的問題轉化為計算機可以解決的問題,如何用計算機的方法求解問題,從而在以后學習的過程中,主觀上積極主動地注重計算思維的培養。
2.掌握計算思維的方法
掌握計算機求解問題的各類方法,是培養學生計算思維的關鍵。以計算思維培養為核心的程序設計課程的重要任務之一,就是要在學習的過程中教會學生程序設計的方法和各類問題求解的算法,讓學生更加深刻地理解計算機解決問題的思路和方法,提升計算思維的能力。C/C++程序設計課程中涉及的程序設計方法和算法如表1所示。
1)教學上以程序設計方法為主導,結合C/C++語言,把程序設計方法學中成熟的理論和方法,如結構化程序設計方法、基于功能抽象的程序設計方法(自頂向下逐步求精的程序設計方法、自底向上程序設計方法)、遞歸程序設計、面向對象程序設計方法等用通俗易懂的語言描述出來。
2)將程序設計中常用到的算法進行了歸類,即枚舉類、排序類、查找類、字符串處理類、字符圖形打印類、數值計算類、遞歸算法等。在教學過程的不同階段,分別引入這些算法。
3)注重通過算法的多樣性使學生深入理解到計算機求解同一問題可用不同的方法,不同的方法適用于不同的情況。例如對數據排序的算法,我們會將選擇排序、冒泡排序、插人排序、合并排序都介紹給學生,并讓學生體會這些算法的不同之處。
3.圍繞計算思維能力培養的教學實踐
在程序設計課程的教學活動中,與計算思維培養相符合的教學方法,如案例教學法、問題驅動教學法等一直在被無意識地使用。在提出了計算思維的背景下,我們對理論教學和實踐教學的各個環節進行了改革,并在教學活動中,主動地、有意識地培養學生的計算思維能力,取得了良好的效果。
3.1理論教學
在理論教學上,我們進行了兩個方面的改革。
1)從計算思維的角度出發,按照問題求解的一般步驟重組經典案例。問題求解的一般步驟為:
問題抽象化的描述,問題表示(如何建立模型);
尋找解決方案,問題求解(如何設計算法);
計算機實現過程,效率(如何有效地求解);
現實問題的延伸。
將問題求解提升到計算思維的高度,使學生在求解問題的過程中,更加深刻地理解計算思維的本質,即抽象化和自動化。
2)將程序設計的語言與問題求解的過程分開。在講解案例時,我們先提出具體問題,后引導學生去體會為了解決問題而產生的大腦思考過程:已知哪些信息,這些信息怎樣轉化為計算機可以理解的形式,要求的結果是什么,怎樣通過已知的信息來求解,并將求解問題的方法,即算法作為教學的重點,讓學生通過算法來理解計算機求解問題的思路。算法的描述可以用自然語言、偽代碼或者流程圖等。學生理解了算法的基本思想后,再引入程序設計語言來實現這一算法,編寫代碼并調試執行。這一方法加強和促進了算法的構建,訓練了學生的程序設計水平,從而簡化了對程序語言的復雜性的理解。
3.2實踐教學
實踐教學以學生自我學習為主,教師提供輔導和答疑。在實踐教學內容的設計上,我們將每一章的教學內容分為程序調試、模仿寫程序和問題求解3個層次,逐步提升學生的問題求解能力。
1)程序調試的案例中,根據以往的教學經驗,將學生容易忽略的細節和易犯的錯誤預設在程序中。通過對預設的語法和邏輯錯誤的查找與修正,使學生更為深刻地理解程序設計語言的特點,夯實學生的語言基礎。由于理論教學中,對語言細節的講解不再作為重點,程序調試得尤為重要。
2)模仿寫程序要求學生對老師已經講解過的算法,能用相同的思想解決類似的問題,從而加深學生對知識的理解。例如講解了用枚舉法解決百元買百雞的問題后,要求學生用枚舉法解決學生課表排課、水仙花數求解等問題。實踐課上,要求學生在上機之前先將算法以流程圖的形式寫在本子上,然后將算法轉成程序代碼,上機時只做代碼的調試。這一方法能迫使學生思考,逐步理解計算機求解問題的方法和思路。
3)問題求解則要求學生能靈活運用所學知識,求解新的問題。例如在學習完數組和函數后,問題求解的題目為“編程求解農夫過河問題的解決方案”,要求學生按照問題求解的一般步驟,即問題的表示、求解的算法、代碼編寫與調試來操作。通過問題求解,不僅提高了學生的學習興趣,鞏固了所學知識,更重要的是提升了學生的分析問題和解決問題的能力。
3.3課程設計
為提升課程的教學質量,我們增加了課程設計環節,引入了應用程序開發,要求學生將數組、結構、鏈表和文件操作有機地結合起來,完成一個應用型、綜合性強的大作業。
在課程臨近結束時,學生用一個月的時間完成課程設計,任課教師會給出若干題目供學生選擇,例如本學期課程設計的題目有八數碼游戲、模擬手機通訊錄管理系統、飛機票訂票退票系統、日歷打印與日期查詢系統等12個題目。學生也可根據自己的專業和興趣自己指定題目。例如今年同濟大學交通專業的學生自我選擇的題目為停車庫車輛管理與查詢系統。該題目設計的過程要求學生按照軟件開發的步驟進行功能設計、數據結構設計、模塊設計、代碼編寫、代碼測試,并完成設計報告。
在課程設計環節中,學生不僅要將一個學期所學的內容融會貫通,編寫一個完整的系統,還要考慮程序的正確性、容錯性、算法的效率、對用戶的友好性等,這樣有助于引導學生探究問題求解的思路和方法,提高學生的計算機素質。
3.4考核
我們對考核進行了改革,在學習的不同階段實施不同形式的考核,考核內容中增加了對問題求解能力的考核。具體做法是保留原來的期中和期末考試,考試內容為基本概念、程序調試和小程序的編寫,考核學生對基本知識的掌握情況。在課程設計結束時,增加了綜合編程考試,要求學生在規定的時間內,編程解決給定的問題,考核學生的問題求解能力。學生最后的成績由3次考試成績、課程設計成績和實踐作業成績綜合評定給出,使得學生成績能更客觀地反映學生的學習過程和學習效果。
值得一提的是,盡管在教學過程中我們弱化了語言細節的講解,將講解的重點轉向了程序設計的方法和各類算法,但學生通過大量調試程序的練習,同樣很好地掌握了語言本身的特點,能夠正確地編寫程序,在考核中取得的成績不亞于往年。而通過課程設計,學生的分析問題、解決問題的能力也大大提高了,考核結果令人滿意。
關鍵詞:C語言;課程評價;原則;模型
發達國家對課程評價的起步較早,研究時間長,評價條件較為成熟。在中國,課程評價起步較晚,上世紀80年代末90年代初,課程評價才逐漸成為人們關注的領域[1-2]。近年來,國內學者通過大量的研究以及借鑒國外的課程評價模式,創造性地提出了符合我國具體情況的發展性課程評價理論,在課程的目的、功能、范圍、過程、原則、主體等方面進行了深入的研究,取得了較大的成績。但是課程評價的研究廣度及深度有限,只涉及了課程評價的一些基本問題,而且對于適合高職院校的課程評價研究較少。C語言課程是高職院校計算機及相關專業的專業必修課程,目的在于使學生養成良好的編程習慣、鍛煉學生的編程思維,培養學生的編程能力。學習好該課程,對后續課程的學習,以及對計算機專業等的學習至關重要。因而分析高職院校C語言課程評價現狀,討論C語言課程評價原則,構建C語言課程評價模型,提高高院校人才培養質量,這已成為當前高職院校的重要任務之一。
一、C語言課程評價現狀
通過對資料文獻的搜集整理以及對高職院校師生的問卷調查、訪談等方式以及課題組成員的教學經驗,得出高職院校C語言課程評價現狀為:在課程的開發與設計階段,由C語言課程的任課教師或者教研室主任組織本教研室的同事進行討論,根據教師在教學實踐中的經驗,并借鑒兄弟院校的經驗,制定或修訂C語言課程的課程標準,在學生學習C語言課程之前,任課教師根據C語言課程標準選定一本教材作為教師授課及學生學習C語言課程的教材。在學期初,教師根據C語言課程標準按教材內容制定授課計劃。在課程的實施階段,嚴格地按照授課計劃規定的進度、知識及技能要求進行授課。在授課過程中,通常會有一到兩次單元測試。授課結束后對C語言課程進行期末考試。教師以期末考試成績的70%,平時成績(平時的考勤、作業、單元測試等)的30%計算出一個分數,即學生C語言課程學習的最終成績。有的學校則以C語言等級考試的分數作為期末測試的分數。在課程開發與設計階段僅僅是憑著幾個教師的經驗來制定課程標準,沒有考慮學生將來就業后的職業崗位能力需求。在課程實施過程中,教師只是按照計劃進行授課,沒有根據學生的實際情況采取有效的方式進行調整,以適應在授課過程中出現的超計劃的情況變化以及不同學生群體的個性化需求。在授課過程中,對學生的表現、參與度、編程習慣的養成、編程思維的培養、編程能力的提高很少關注,僅以學期末終結性考試分數作為C語言課程評價的主要依據。而且在評價課程時僅僅以任課教師為評價主體,很少引入學生自評、互評,企業用人專家及課程設計專家等人的評價。當前C語言課程評價的這種方式,不利于學生職業能力的培養及綜合素質的提高,且容易滋生學生厭學、考前突擊復習、考試過程中作弊等不良行為。
二、C語言課程評價原則
C語言是一門編程課程,實踐性非常強,要求學生通過C語言的學習,養成良好的編程習慣、具備良好的編程思維、具有較強的編程能力,為后續課程的學習及專業學習打下良好的基礎。C語言課程評價對C語言課程的教學改革及課程改革有很大的促進及導向作用,對學生的學習發展、學習效果的提高起著關鍵作用。C語言課程評價標準也應該根據高職院校學生的特點及當前高職院校C語言課程教學中存在的問題重新制訂,以便促進學生提高C語言課程的學習興趣,掌握C語言編程技能,培養學生計算機專業職業崗位能力,提高學生的團隊協作能力、溝通能力、語言表達能力、信息獲取能力、可持續發展能力等綜合素質,為社會培養高素質高技能型人才。綜合課程評價理論以及國內外專家在課程評價方面的研究,結合課題組成員的教學經驗,筆者認為C語言課程評價需要遵循以下原則:
1.滿足學生情感及個性發展需求
高職學生大都高考分數較低,學習基礎較差,因為成績較差經常受到老師及家長的批評,對考試的評價缺乏自信,少部分學生甚至有厭學情緒,無論老師、家長怎么說他們都不想學習,上課只是混日子。當然,高職學生中也有少部分學生學習基礎較好,因為高考沒考好而進入了高職院校學習,這部分學生也容易因為高考的失利而情緒低落,進入高職學習后不思進取。另外,高職生源還分兩種情況:一部分學生是普高入讀高職,沒有學習過專業知識,但文化知識基礎較好;另一部分學生是通過中專升入高職,系統地學習過專業課,有一定的專業基礎,但文化成績不如普高生。因而C語言課程評價需要考慮到高職學生的特點,采用定量判斷與定性判斷相結合的多層次評價[3]。既要對學生C語言知識與技能掌握的學習結果進行評價,又要對學習C語言知識及運用C語言知識解決實際應用問題的學習過程進行評價;既要關注學生的編程思維及編程能力,又要關注他們的情感態度;既要讓學生正確地認識自我,又要使其不斷地完善自我。讓學生在這種充滿溫情的評價中找到自信,滿足他們的情感需求又符合他們的個性發展。
2.充分挖掘學生潛能
根據美國教育學家霍華德?加德納的多元智能理論,每個人都至少具備語言智力、數理邏輯智力、音樂智力、空間智力、身體智力、人際交往智力和自我認知智力等七種以上的智能[4]。而這些智力具有同等重要的作用,不同的智力組合使得人類能力具有多樣性。高職學生雖然學習基礎差,不具備學習高深理論知識的能力,但他們對技術及操作比較感興趣。因而C語言課程評價需充分考慮到學生的特點及他們的潛能挖掘,要通過評價發現、發展學生的潛能,使之轉化成C語言學習過程中分析及解決問題的能力,提高學生學習C語言的興趣,提高學習效果,使其具備較強的編程能力,促進其身心健康發展。
3.科學性和導向性
科學性是指C語言課程評價中的評價內容、評價指標、評價方式等都必須是經過科學論證,每一個指標都有科學依據,都需要有企業高級技術人員及管理人員的認可,對評價標準要進行量化,避免主觀隨意。導向性是指C語言課程評價必須以培養目標為基礎,評價標準中的各項指標是課程改革及建設的方向,能夠達到以評促建、評建結合的效果。C語言課程評價的重點必須與C語言課程改革的重點保持一致。C語言課程中所使用的項目標準是教學自我檢驗的標準,C語言課程評價指標體系要突出反映高等職業教育區域性和職業性的特色[5-6]。
三、C語言課程評價模型
根據以上對高職院校C語言課程評價現狀分析,依據C語言課程評價原則,制定了以下的適合高職院校的C語言課程評價模型,如圖1所示。
在圖1的C語言課程評價模型中,C語言課程評價分為C語言課程方案評價、C語言課程實施評價及評價反饋。評價的目的是通過評價發現C語言課程在開發設計與實施階段的問題,根據評價結果及反饋信息,促進C語言課程建設與改革,為社會培養出高素質高技能型的人才,最終達到提高人才培養質量的目的。C語言課程開發方案評價包括課程目標、課程內容、課程設計、課程資源四個部分,由課程設計專家、企業專家、教師作為評價主體。其中課程目標是課程的教育目的,它具有整體性、階段性、持續性、層次性和遞進性,課程的目標決定了課程內容與課程設計等。課程目標的設計必須充分考慮到職業教育的職業性及C語言課程在專業中的地位。課程內容與課程設計要緊緊圍繞課程目標的實現。課程資料包括教學團隊、實訓實驗條件、校企合作條件、可供使用的教學資料、網絡資料等。C語言課程實施階段的評價包括教學內容、教學方法、教學手段、學生實際情況等的評價,由課程專家、企業專家、教師、學生、社會人士作為評價主體。教學內容、教學方法、教學手段決定了課程實施的效果,課程教學的最終效果體現在學生學習的實際情況中。對于學生實際情況的評價包括對C語言應知、應會內容、情感態度目標的考核,職業崗位能力的適應度等。C語言應知內容由教師進行評價,應會內容由學生自評,學生互評,教師、企業專家、課程專家、社會人士進行評價。情感態度可由教師在平時的授課過程中建立檔案袋,將學生的考勤、課堂參與度、回答問題的質量、學習習慣、作業質量以及課堂作業的完成情況、小組作業的參與度、團隊合作能力、獲取知識能力、溝通表達能力等記錄下來作為考核依據。職業崗位適應度可由教師、企業專家、社會人士進行評價。
四、結 語
隨著社會經濟的發展,社會對人才要求不斷提高,高職院校的人才培養目標是培養高素質高技能型的社會主義建設者。而課程評價能夠促進課程改革,提高人才培養質量。本文以C語言課程為例,結合高職院校C語言課程評價現狀及課程評價原則,構建C語言課程評價模型,旨在促進C語言課程教學。同時,該模型同樣適應于高職院校其他課程的評價,能夠促進高職院校課程教學,提高高職院校人才培養質量。
參考文獻:
[1] 于彥華.高等職業學校課程評價研究[D].吉林農業大學
碩士學位論文,2008.
[3] 梅婷.高等職業教育實踐課程評價研究[D].浙江工業大
學碩士學位論文,2008.
[3] 黃成,李太君.層次分析模型在網絡課程評價系統中的
應用研究[J].海南師范大學學報(自然科學版),2010,
23(3):351-354.
[4] 陳志旗.多元評價視角下的教學評價改革[J].教學與管
理,2011,28(35):26-28.
[5] 景凌凌.高職教育多元課程評價視野下學生職業能力培
養機制探究[J].職教論壇,2013,29(14):79-80.
摘要:本文從“程序設計基礎”課程的教學環節、上機實驗環節和課程設計環節三個方面提出了新的教學模式改革思想。
關鍵詞:程序設計;C++;課程設計
中圖分類號:G642
文獻標識碼:B
為了更有效地提高“程序設計基礎”課程的教學質量和教學效果,我們通過多年的教學實踐經驗,總結出需要在教學環節、上機實驗環節、課程設計環節三個方面進行改善,下面分別詳細闡述。
1教學環節
1.1增加程序設計語言入門之前相關知識的介紹
在正式開始講解程序設計語言之前,應該先講授與編程相關的計算機基礎知識,讓學生對計算機運行機制產生一個初步的認識,此舉對那些在開設“程序設計基礎”課程之前沒有開設過“計算機文化基礎”課程的院校是極其必要的。
例如,計算機基本組成部分、計算機程序運行的基本原理、各種數據在計算機內存中的存儲形式、各種數值進制之間的換算方法等,這些都屬于基本的計算機文化知識,理解了這些相關知識,對于學生以后理解程序設計語言的語法和基本概念以及各種實現機制都會起到事半功倍的效果。例如程序設計中的自動變量、靜態變量、動態內存開辟和撤銷、結構體、共用體、類、指針等知識點的講解都離不來內存空間的概念。
1.2學生興趣的引導
由于本課程的教學一般安排在第一學年,新生來自不同地方、不同學校,每個人對計算機基礎知識的掌握程度也大相徑庭;同時,C++語言牽涉到的概念復雜、規則繁多、使用靈活且容易出錯,加上本科教育不同于高中教育,因此相當一部分學生感到教師授課速度快、聽不懂、收效欠佳。針對這個問題,首先要培養學生對這門課的興趣,課上可利用多媒體演示往屆學生的學習成果和一些輔助教學的經典程序。在講解每一個新的知識體系前也是如此,根據所學知識設計一些有趣的題目,現場用C++語言編寫源程序上機運行,向學生們演示,讓學生看到努力的方向和可達到的目標,消除學生的畏難情緒,增強學習的信心,啟發大家的思維。
例如,在講解遞歸函數時,可以給學生演示用C++編寫的漢諾塔例子,尤其是結合圖形函數用動感的圖形實例來使學生產生感性認識,達到興趣驅動學習的目的。
1.3教學內容的組織
課堂教學應當以學生為主體,教師只起導引作用,當問題提出以后,應引導學生如何去分析問題,解決問題。
C++程序設計內容十分豐富,若講課時面面俱到,必然會使重點難以突出,學生印象不深,約束學生創造思維的發揮,同時使內容與學時之間的矛盾難以解決,因此必須精選課堂內容,提高教學效果。這需要教師對教材內容進行很好地把握,區分主要內容和次要內容,做到難易知識點分明,在遵循本課程教學大綱的前題下,對講授的內容進行一定調整。
在程序設計中的細節問題上,應具體問題具體分析。有些知識點教師可以進行刪減,讓學生在課下自學,培養大學生的自學能力。同時讓學生帶著問題通過上機實驗加以驗證,從而能更牢固地掌握所學內容;對于該課程的重點和難點,教師要做詳細地講解,要通過大量的例題驗證,使學生在充分理解教學內容的基礎上,獨立思考各種解題方法,開拓解題思路。講程序設計時不能孤立地講語法規則,要把它結合到程序應用實例中,通過閱讀和編寫程序自然地理解和記住有關規則。在課程學習的初期,教師要注重學生閱讀程序的能力;到后期,教師要注重學生的編程能力,使學生在整個學習階段從易到難,由讀到寫,完成一個循序漸進的學習和掌握的過程。
1.4教學應具有啟發性
任何一個問題都不是只有唯一的解法,教師要啟發學生通過自己程序設計的實踐分析對比不同的算法,提高自己的實踐能力。
對同一例題的講解,教師應根據所學到的知識點,用不同的實現方法來進行講解。采用此方式既可以開闊學生的解題思路,又可以讓學生對所學知識進行分析比較,更好地理解所學內容。例如,對于多個字符串的排序,我們可以利用字符數組、字符指針、指向字符數組的指針、指針數組、二級指針以及運用字符串類對象等多種方式來實現;再如,比較經典的例題──Josephus問題,它的設計可以利用數組、結構體數組或鏈表這種面向過程的程序設計方法解決,也可以通過設計一個Josephus類這種面向對象的程序設計方法來完成。各種算法的分析思路、解題難度和程序運行效率都是不同的,通過比較它們各自的優缺點,使學生能夠對不同知識點印象深刻,并且更有利于學生理解和掌握所運用的知識點。
2上機實驗環節
在教學過程中,要注重實驗內容與教學內容的配套,對重點知識要加強訓練,要求學生按一定的規范完成上機實驗。具體要求為“明確實驗目的,完成實驗內容”。學生應根據實驗給定的題目編好程序,進行自查并分析可能出現的問題,同時設計好測試數據。做實驗時學生編輯程序、上機調試,直到程序運行成功。學生只有通過反復上機操作,才能更好地掌握編程技能。
學生的編程能力是一個循序漸進、日積月累的過程,面對學生在剛開始編程時遇到的問題,教師要耐心指導,和學生進行交流,和學生一起分析,指出本質性的錯誤,幫助他們提高分析、編程、調試的能力。在指導過程中,教師和指導學生會針對學生提出的程序問題進行相關講解,保證學生知道問題出在哪,為什么出錯,應該怎樣修改,以保證學生徹底理解。教師在上機過程中也可以對學生知識掌握的情況進行抽查,對學生的學習情況即時掌握,更好地幫助授課。
在上機過程中,應該幫助學生提高程序調試能力。學生在編寫程序時,總會出現一些算法錯誤、語法錯誤等。語法錯誤可以根據編譯的提示信息進行修改,算法錯誤有時非常隱蔽,只能通過運行程序來檢查。因此,在課程教學進行到一定深度時,應該教給學生調試程序的能力,學會使用debug工具來進行調試,這對今后開發較大的程序或者課程設計都有一定的幫助。
通過上機實踐可以引導學生進行協作學習,培養團隊合作精神。可以布置一個大作業,讓學生組成合作小團體(4、5個人)來協作完成。開始時,專員要進行任務分工,最后進行功能聚合,對銜接部分或疑問部分進行討論,最終完成整個任務。
還有很重要的一點是,除了上機實踐過程中的實時指導外,教師還應該及時對上機情況進行總結,對學生上機中普遍存在的問題進行歸納總結,并且在理論課上進行強調,因為這些問題是在學生學習過程中普遍忽視或出錯的問題。
3課程設計環節
在課程教學結束后,專門安排一周或更長時間進行課程設計,培養和檢驗學生對本課程的綜合掌握能力、具體編程能力以及創新能力。
組織進行課程設計的一種方式是,在設計前教師把設計題目列表發給學生,讓學生從列表中選擇其一進行設計。這種方式的好處是:在題目中包含了所學課程的重要知識點,有利于學生對總體課程的把握。缺點是:不能避免選擇相同題目的學生在設計過程中的拷貝。
組織進行課程設計另一種方式是,在設計中教師應把主動權交給學生,讓學生根據自身特點、愛好及對課程的掌握程度自由地選取題目,讓他們按照科研工作的步驟,自主決定研究內容,教師只需負責審查,幫助學生解決疑難問題,做好啟發引導工作,使課程設計真正以學生為主、以教師為輔,這樣無論基礎好的學生還是基礎差的學生都能切實地獲得相對滿意的訓練效果。缺點是:學生自選題目往往覆蓋的知識面比較窄,不利于教師對學生所學知識進行全面考察。
此外,在課程設計中,教師要嚴格審核每個學生的設計方案,讓學生從整體上把握程序設計的思想,有意識地加強對課程重點、難點的理解和運用。對學習基礎差的學生加強輔導及檢查,對學習能力強的適當提高要求,充分挖掘潛力,使學生掌握良好的學習、思考和創新方法,為以后其他專業課程的學習、參加各類程序設計大賽以至畢業設計打下良好的基礎。對編程能力強和創新能力強的學生可以多加引導,從而進行精英教育。
參考文獻
[1] 劉惠青. C++程序設計課程的教學法探討[J]. 山西廣播電視大學學報,2001,(6).
[2] 景雪琴. C++語言程序設計課程教學探討J]. 高等教育研究學報,2005,(6).
(一《)C語言程序設計》的教學目標
社會對于人才的需要,并不是要求他們只要學會理論知識就可以,各個單位對人才的要求更看重于他們的實踐能力,要求他們能夠把所學習過的知識轉化為動手能力與實際解決問題的能力。因此,對于學生的《C語言程序設計》課程的教學只是進行理論知識的教育是遠遠不夠的,還有提升學生的綜合能力。學生要達到的認知類目標包括:掌握C語言程序設計課程相關的基本概念;理解解決問題的基本技巧;理解標記控制循環與計數控制循環;把握程序性的知識,并學會如何應用。學生要達到的能力類的目標包括:掌握C語言程序設計的基本技能,進行程序計算;熟練運用與、或、否命題,以此來解決實際中的程序問題;熟練運用一些基本的邏輯運算符;能夠使用break和continue程序控制語句;學會編寫基本字符模式下的簡單程序;另外還有培養學生動手實踐能力和與他人合作的能力。除此之外,還有培養學生學習C語言程序設計的興趣,養成學習工作中嚴謹、務真求實的良好態度,培養解決程序問題的開放性思維。
(二《)C語言程序設計》教學策略設計
對學生進行C語言程序設計的教育,其最終目的就是要讓學生掌握這門課程,并且運用到實際工作中,而教學策略的設計,就是為了在最短的時間內,讓學生掌握更多的知識,并且將其轉化為自身的實踐能力。(1《)C語言程序設計》的教學方法教學方法多種多樣,其中講授法、談話法、演示法、實踐法等最為常見。教師在選擇教學方法的時候,要充分考慮教學大綱的要求和教材中的內容,還要考慮學生的學習情況與學習能力,以及現有的教學條件,從而選擇最適合教學工作的一種方法。同樣的教學方法,對于某一個班級的學生合適,對于另外一個班級也許就不適用,因為每個班的學習氛圍不同,同理,對于某一位學生教學方法很恰當,而對另外一個學生來說,可能就是阻礙學習的因素。因此,教師在教學過程中要對各個方面影響教學效果的因素進行充分的考慮。對學生的教學工作,可以采取分組教學的形式,這種方法不但可以讓教師能夠更大程度上關注到每一位學生的學習情況,還能夠通過小組間學生相互幫助,分享交流學習經驗,從而獲得更多提高成績的機會。另外,學生之間的交流要比學生與教師之間的交流更為順利,學生之間相互學習更容易發現自身的優勢與不足之處,從而把自己的學習經驗分享給其他人,同時向其他同學學習自己沒有掌握的知識。小組教學還能夠增強學生的交流能力,加強學生之間的人際關系,培養學生的團隊合作能力,從而提升學生的綜合素質。(2《)C語言程序設計》的學習組織形式學習組織能力是指學生在學習的過程中,師生的共同活動在程序、人員、時空關系上的組合形式。運用適合學生的學習組織形式,有助于學生提高C語言程序設計學習的效率,同時,還可以將一些高效率的學習方法、學習敬仰在學習組織形式中進行運用,由于《C語言程序設計》教學分為基礎知識與課程設計兩種基本形式,我們把以問題為導向的《C語言程序設計》教學模式下的學習組織形式也分為兩種類型。一種是課堂小組合作學習。在《C語言程序設計》所有課時中,基礎知識的課程占據了絕大多數,教學地點可以選為網絡機房,以問題為導向的《C語言程序設計》有利于學生培養團隊合作精神,提高彼此之間的交流能力,鼓勵學生在學習的過程中勇敢地提出問題回答問題,為學生營造一種良好的學習氛圍。教師充分發揮自身的引導與輔助的作用,幫助學生發現問題,解決問題。另一種類型是課程設計探究學習。課程設計的時間一般比較短,在此期間,教師要通過合理的課程設計來為學生創造一個和諧的學習氛圍,師生之間、學生之間進行交流,分享學習經驗與解決問題的方法,一方面可以增加學生彼此學習的機會,另一方面也可以監督學生完成自己的學習任務。(3)網絡環境下的問題導向教學模式網絡環境下的以問題為導向的《C語言程序設計》課程教學模式,則是利用網絡科技來輔助教師的教學活動,在這個教學過程中,教師是教學活動中的引導者與輔助者,而學生才是學習的主體。教師為學生設計好學習任務,明確每一位學生所要解決的問題,再對學生進行合理的分組,讓學生充分利用網絡資源,收集對自己有利的信息,并且對信息進行有效的篩選與整合。學生在尋求解決問題的過程中,能夠充分利用網絡環境的優勢,推動以問題為導向的教學模式的實施,實現學生的自主學習、互動合作、自覺約束自己的學習活動。這樣,學生在整個學習過程中,不僅解決了教師提出的問題,還掌握了搜集、處理信息的能力,收獲成功之后的成就感,增強與他人之間的交流,提高自身的創造能力,真正做到增強自身的綜合素質。
2以問題為導向的《C語言程序設計》的實踐
在《C語言程序設計》課程教學過程中,教師的教學工作與學生的學習活動總是會暴露一些問題,如教師講解不到位,學生不能理解理論知識,教師講課難以吸引學生的學習興趣,學生學習效率低下等問題。而以問題為導向的《C語言程序設計》教學模式,要如何進行具體的實施,才能夠幫助學生掌握解決問題的技巧,加深對理論知識的理解呢?
(一)以問題為導向的教學模式中的課程設計
在《C語言程序設計》教學過程中,使用以問題為導向的教學模式,要明確本次課程的教學目標是什么,所有的課程設計的大方向要以教學目標為準則,教學中要以人為本,以學生為中心,站在學生的立場上,充分考慮到學生的接受知識的能力與完成任務的可能性。另外還有考慮哪些教學設備可以供學生使用,做到最大程度利用現有的資源,幫助學生掌握更多的知識。同時,對于學生的要求要合理,要求過高,學生難以完成目標,將會打擊學生的參與教學的積極性與信心,要求過低,將會浪費時間,學生的實際能力達不到質的飛躍。因此,課程的設計要實事求是,一切從實際出發。
(二)以問題為導向的教學模式實施的原則
1.遵循現代社會教育事業的發展規律,尊重學生的認知規律,鼓勵學生運用自己的優勢進行創新性的學習。2.堅持以學生為主體、以學生為中心的原則,讓學生出于教學中的主體地位。營造輕松的學習氛圍,讓每一位學生都積極大膽地參與到其中,敢于提出自己的疑問,敢于回答教師與其他學生提出的問題,積極參與具有挑戰性的任務。3.教師發揮自身的引導與輔助的作用,引導學生進行有利于提高自身能力的學習活動,幫助學生解決難度較大的問題,并且監督學生對問題作出總結,從完成任務的過程中學到更多的知識。
(三)以問題為導向的教學模式應當注意的問題
關鍵詞:教學改革;C++程序設計;工程實訓;應用型人才
計算機專業是我國近年最熱門的專業之一。隨著高校大規模擴招,計算機專業教育面臨巨大的挑戰。突出表現在兩個方面:一方面畢業人數劇增,就業率逐年下降;另一方面,社會對計算機人才需求數量增加,而學校人才培養質量下降。如何改變這一現狀,提高學生的就業率成了各高校研究的熱點。
根據各方調研結果的總結和用人單位的反饋,缺乏工程實踐能力是目前大學畢業生就業困難的主要原因之一。因此,如何提高學生的工程實踐能力既是社會關注的焦點,也是國內高等教育教學改革的熱點。作者根據自己多年的工程項目經驗和課程教學經驗,提出一種以工程實訓為基礎的“C++程序設計”課程教學改革方案,從基礎階段提高學生實踐動手能力,進而提高學生的工程實踐能力[1]。
1面向工程實訓改革的兩個前提
要進行面向工程實訓的課程改革,首先需要做兩個方面的準備。
(1) 修改教學大綱。在“C++程序設計”課程的傳統大綱中,實踐環節所占比重少,課堂教學內容規定死板,講授哪些知識點,每個知識點講授多少課時都有規定,嚴重限制了教師的主觀能動性,不能根據學生的具體情況進行授課。在新修訂的大綱中,實踐環節所占比重大大增加。課堂教學內容規定比較柔性,將理論學時分為兩部分,一部分用于講授“C++程序設計”課程的基本知識;另一部分用于講授“C++程序設計”課程的擴展知識。擴展部分內容不具體規定,可以講授C++的最新發展、最新應用、工程案例等,根據學生具體情況決定。新大綱可以充分發揮教師的主觀能動性和學生的學習積極性,主講教師可以加強與學生溝通,隨時根據學生需要調整教學內容,更好地為學生提供輔導。
(2) 革新教學方法。改變以教師為中心的傳統教學理念,建立以學生為中心的現代教育理念。利用多媒體課件輔助教學,采用任務驅動式、合作式學習、自主式學習、工程訓練等多種教學方法。這些方法創造出一種工程實踐的教學氛圍,讓學生由被動的學習者變為主動的參與者,激發學生的學習興趣、工程實踐和科研興趣,調動其探求知識的積極性。通過“方案”的討論,能鍛煉學生的語言表達能力和思辨能力。以工程訓練項目本身的魅力吸引學生自主學習,培養其創新精神、創造性思維和創造性個人品質,從而提高學生的綜合素質,拓寬他們獲取知識的渠道[2]。 2改革方案
“C++程序設計”課程的工程實訓改革按照“點―線―面”三位一體的模式進行,即課程實驗(點)、課程設計(線)、工程訓練(面)相結合的方式進行。
2.1課程實驗
課程實驗是對課程各個特定知識點的練習,是對知識“點”的訓練。課程實驗一般分為驗證性實驗、設計性實驗和綜合性實驗。“C++程序設計”課程共設有8個實驗,其中7個為設計性實驗,1個為綜合性實驗。為了使課程實驗取得更好的效果,要制定多層次的課程實驗指導書。這是因為不同學生的能力水平存在有較大的差異,統一的實驗指導書不能適應多層次能力水平學生的需要。在進行課程實驗時,鼓勵學生根據自己的實際情況選擇合適的實驗指導書進行設計。通過課程實驗,學生能夠加強對課程知識點的理解,達到熟練掌握課程知識點的目的[3]。
2.2課程設計[1]
課程設計是鍛煉學生實踐能力的主要途徑,在面向實訓的教學改革中,課程設計是對知識“線”的訓練。當前課程設計教學環節一般存在以下問題。
(1) 學生重視程度不夠。一般情況下,課程設計環節學生的考核通過率較高,這就使得部分學生不認真去完成設計。
(2) 基礎知識不扎實。課程設計是根據一門甚至多門專業課程所學的知識,解決特定的實際問題。如果基礎課程知識不掌握,自然無法完成設計。
(3) 課程設計自身難度大。課程設計要解決實際問題,這需要在理解知識的基礎上,有一定的設計和創造,對有些學生來說有一定的難度。
(4) 實施方法不當。課程設計實施中,教師占據主動地位,布置任務、檢查結果,學生很少有自己的主動性。有的老師下達的任務單調、單一,有的甚至多年任務不變。考核方案的合理性、學生興趣等問題沒有合理解決方案。
(5) 學校對課程設計教學環節監管不利。學校對理論教學環節有很好的監管制度,而對于實踐教學環節則沒有進行有效的監管。這也引起教師和學生對實踐教學環節的輕視。
在面向實訓的課程改革中,我們充分認識到了課程設計環節的重要性,提出了面向實訓的課程設計實施方案,提高課程設計的教學效果和學生學習的積極性。具體實施方法有以下幾點。
(1) 制定多層次的課程設計指導書。同課程實驗一樣,不同學生的能力水平有較大的差異,統一的課程設計指導書不能適應多層次能力水平學生的需要。因此,根據學生的實際情況編寫多層次的課程設計指導書,以適應不同層次學生的需要。在進行課程設計時,鼓勵學生根據自己的實際情況選擇合適的實驗指導書進行設計。由于指導書是適合該學生的,學生需要進行一定的思考、設計,又能夠取得一定的成績,有成就感,可以提高學生的積極性,鍛煉學生分析問題、解決問題的能力。
(2) 選擇趣味性、多樣化的題目作為課程設計的任務。所有學生針對同一個論題設計,學生沒有發揮的余地,設計方案易雷同,很難避免相互抄襲和應付差事的現象。因此,在課程設計任務的時候,課題組查閱了大量資料,與學生進行深入交流,設計了數十個符合當前技術發展需要,符合學生興趣的課程設計任務,供學生進行課程設計選做,并且設計題目每年都進行一定數量的更新。對一些特別優秀和個性獨特的學生,允許他們自行選擇題目,并且幫助學生分析自選的任務,如果合適,應該鼓勵學生去完成。如果不合適,幫助學生分析為什么不合適,鼓勵他們重新選擇。以更好地鍛煉這些學生的創新能力[4]。
(3) 提前布置題目,讓學生有足夠的時間進行思考。最好是在相應課程開課的時候下達,這樣學生可在學習課程的時候考慮課程設計的任務。有了長時間的思考,而且是在課程學習的時候就進行了思考,學生就可以做出比較理想的設計結果。
(4) 在課程設計實施過程中,加強教師的指導力度和提高教師的指導方法。在當前課程設計實施中,大多教師的指導力度不夠,一般教師下達任務后讓學生自行進行設計,指導的很少。有的教師雖然進行了指導,但是指導的方法不恰當,沒有達到指導的目的。
(5) 制定了合理的評價制度。以前對課程設計結果的檢查,只是教師簡單看一下學生的設計結果,憑感覺給一個分數。這樣給出的成績當然存在和實際情況不符合的地方,這就會傷害一些同學的感情,也會使一些同學心存僥幸。課題組制定了“學生自薦―學生推薦―學生評審―教師評審”的課程設計評價制度,主要由學生自己對設計結果進行評價,輔以教師參與評價。另外,每次設計教師再隨即抽取一定比例的學生設計結果進行評價,以監督學生評價的結果。
總之,在課程設計教學環節中,可以采用各種措施激發學生對課程設計的興趣,使學生由被動執行轉變為主動創造,進而鍛煉學生理論聯系實際的能力。實現對課程知識“線”的訓練。
2.3工程實訓
工程實訓是應用型人才培養的基本組成部分,是鍛煉學生利用所學知識解決復雜實際問題的基本途徑,是對知識“面”的訓練。課題組組織有工程經驗的教師從實際工程項目改編、抽象獲得一批工程項目案例,并聯系一些社會企業,供學生進行工程訓。“C++程序設計”課程的工程訓練分成3類,分別介紹如下。
2.3.1自主工程訓練
為滿足學生課外自主學習的需求,我們提供學生大量的工程案例作為自主訓練的實例。每個實例包括核心部分(功能需求、實現目標、關鍵技術)和輔助部分(實現提示、核心代碼等)。輔助部分給出不同層次水平的提示,供不同層次的學生自主學習參考。同時,構建了相應的自主學習輔導體系,比如定期舉行相關知識領域的講座、項目輔導等,為學生自主學習提供保障。
2.3.2實踐創新訓練
實踐創新訓練采用自愿、公開、公平原則,以自主工程訓練為平臺,選拔創新訓練核心學生。根據自主、自愿原則由核心學生輔以其他學生組成創新訓練小組。以“大學生研究訓練計劃”、“ITAT程序設計大賽”、“ACM程序設計大賽”、“挑戰杯”等競賽為平臺,進行創新活動。
2.3.3產學研綜合訓練
人才的培養是為了社會服務,因此需要重視社會、企業在人才培養中的作用。在充分利用學校實習基地的基礎上,我們還聯合其他一些社會企業,鼓勵學生進行“產學研綜合訓練”,發揮企業在人才培養中的作用。
工程訓練環節通過大量的實際工程案例,訓練學生解決復雜實際問題的能力,實現對課程知識“面”的訓練。在該環節中,學生可以選擇多樣化的訓練模式,選擇適合自己興趣的訓練題目,最終實現人才培養的目標。
3結語
通過近兩年的教學實踐,我院面向工程實訓的“C++程序設計”課程改革取得了一定的成果,該教學改革的創新性主要有以下幾個方面。
(1) 改變傳統教學模式,由傳統的理論講授為主,實踐為輔的教學模式轉換為以工程實訓為主,理論教學為輔的新模式。
(2) 提供豐富的工程案例,以實訓本身的魅力吸引學生自主學習。以實際工程項目為原型,抽象出適合學生難度的實訓題目,吸引學生自主投入到工程實訓中,提高學習的效果。
(3) 改變傳統課程考核方法,以實訓情況作為學習效果評價的主要評價因素。避免傳統考核出現“高分低能”的現象,培養的學生具有較強的工程實踐能力。
但是,改革中還存在不足的地方需要進一步完善。比如還需要更多的教師加入到工程項目案例開發行列;課程考核中雖然引入工程因素,但具體方法還沒有制定;學生自主學習的輔導體系還沒有完善等。這些將是我們進一步研究和實踐的內容。
參考文獻:
[1] 張明川,吳慶濤,黎蔚,等. 一種軟件類課程設計實施方案研究[J]. 福建電腦,2009(6):2-3.
[2] 陳杰華. 教練式溝通在Visual C++課程教學中的實踐[J]. 計算機教育,2008(20):15-16.
[3] 張本成,龔偉. 面向對象程序設計教學改革探討[J]. 內蒙古師范大學學報:教育科學版,2008(1):134-136.
[4] 張順利,田俊華,李衛斌. VC++程序設計課程教學改革研究[J]. 咸陽師范學院學報,2007(8):82-84.
Study and Practice of “C++ Programming” Teaching Reform Based on Engineering Training
ZHANG Ming-chuan, SUN Shi-bao, WU Qing-tao, ZHENG Rui-juan, WEI Wang-yang
(Electronic & Information Engineering College, Henan University of Science and Technology, Luoyang471003, China)