計算機程序設計語言范文

時間:2023-04-10 16:17:10

導語:如何才能寫好一篇計算機程序設計語言,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

關鍵詞: 程序設計語言; 建構主義教學模式; 支架式教學; 知識建構

中圖分類號:G424 文獻標志碼:A 文章編號:1006-8228(2012)12-56-02

Computer programming language and scaffolding instruction

Pang Erli1, Wang Xin2

(1. College of life science, Beijing Normal University, Beijing 100875, China; 2. Beijing Capital international Airport., Ltd. IT Department)

Abstract: Programming language is an absolutely necessary sector, and a suitable teaching method is a key to grasp it fleetly and exactly. Scaffolding Instruction in the teaching mode of constructivism is a suitable teaching method, which decomposes a complex task and gradually guides students to understand deeply and completes construction of information actively. Constructing scaffolding, creating situations, independent exploring, evaluating effects, and so on are used in the teaching process. The results prove to be good and show good prospects for development.

Key words: programming language; the teaching mode of constructivism; scaffolding instruction; knowledge instruction

0 引言

在大學生計算機教學實踐中,計算機程序設計語言經常被學生看作是一門難以掌握的課程,師生在教學實踐中往往付出很大努力,卻不能達到預期的效果。在從事這門課程的教學實踐中,我們認識到尋求合適的教學方法是取得良好教學效果的關鍵。例如,建構主義模式下的支架式教學符合程序設計語言的特點與學生的認知規律,是講授這門課程的恰當方法,我們在教學實踐中應用支架式教學方法,取得了很好的效果。本文將相關的理論研究與實踐教學相結合,探討了計算機程序設計語言課程的教學方法。

1 支架式教學與計算機程序設計語言

建構主義教學模式是指教師利用情境、協作、會話等手段,以學生為中心,充分調動學生的主動性與探索性,最終達到學生對所學知識的建構。這種教學模式改變了傳統教學模式中學生被動接受的狀態,以學生為中心,教師也由傳統的知識傳授者變為學習的組織者、指導者、幫助者和促進者。

支架式教學是建構主義教學模式下比較成熟的一種教學方法,它要求教師改變向學生籠統灌輸知識的方式,而以引導者的身份,為學生在理解所要掌握的知識之前,設計一種概念框架,這種概念框架就像建筑中的腳手架,它為學習者進入所學知識提供了一個基本的視角與工作平臺,可以有效地幫助學生進入到對知識的理解,即把復雜的學習任務加以分解,將其類型化、結構化、規約化,從而把學習者的理解逐步引向深入。在這種教學方法下,教師的作用是引導、組織開展教學,使學生在所建構的支架模式上掌握和內化所學的知識技能,進而使學習者進行更高水平的認知活動。

計算機程序設計語言作為一種面向計算機用戶的語言,同我們的自然語言有其一定的相似性,即具有一定的語法規則和語意規定。我們教學的目標主要是使學習者掌握這些基本的語法規則和語意規定,從而駕馭紛繁復雜的計算機語言工具,最終獲得能夠獨立編寫程序和解決實際問題的能力。對于這些復雜的語法結構,教師在教學中可以效仿自然語言的結構,對計算機程序設計語言加以分解從而建立框架,逐步引導學生完成對知識的自我建構。

2 支架式教學方法下的計算機程序設計語言教學過程

支架式教學強調,知識是在一定的情境下,借助教師等他者所提供的基本支架的幫助,學習者發揮自己的學習主動性,以基本支架為知識掌握的內在脈絡,逐步完成學習任務,達到預期目標。這種教學方法體現在計算機程序設計語言的教學過程中由以下環節組成。

2.1 搭腳手架

搭腳手架是支架式教學展開的基礎,合適的腳手架是學生建構知識的有效工具。腳手架的設計必須具有層次性、邏輯性,所謂層次性是指其具有不同等級的結構,所謂邏輯性是指不同等級的結構具有內在的必然聯系。

在教學實踐中,我們所搭建的腳手架是以學生的已有知識為依據,即與學生已有的母語——漢語的知識聯系起來,按照漢語劃分為字、詞、句、章的語法結構,把計算機語言也歸結為字、詞、句、章的結構,這樣,“字、詞、句、章”的邏輯結構就成為計算機程序設計語言教學中的腳手架。這樣一種“字、詞、句、章”式的分解方法是本人多年從事計算機程序設計語言教學實踐的心得,由于它來自于學生的母語——漢語自身的語法結構,因而很容易為學生所接受并運用到對計算機程序設計語言的學習中去,而良好的實際教學效果也充分地證明了這一點。

2.2 創造情境

情境是支架式教學展開的環境,是學生對知識建構的基礎。但情境的創建是為學生的知識建構服務的,所以,教師創建情境時必須緊緊圍繞主題,根據腳手架上的不同點,創建不同的情境。

在教學中情境的設計,我們是根據腳手架上的每個點展開的,對于“字”這個點可以展開基本數據類型的教學,“詞”這個點可以展開復合數據類型的教學,對于“句”則可進行基本控制結構的教學,“章”是建立在以上基礎上的綜合應用。在每個點中都有意識地設計了一些相應的問題、任務,提供相應的資料、數據支持,形成有助于學習的特定情境。

2.3 獨立探索

在支架式教學模式中,作為引導者、組織者的教師提供的概念框架是學習的前提,平臺一旦確立,學生在其上展開的獨立探索就成為中心內容,調動、發揮學生的學習主體性進而完成對知識的建構,這才是支架式教學模式的根本目的。

在教學中對于腳手架上的每個點,都要給學生一些程序資料,讓學生獨立去閱讀、分析,指明程序的優點與不足以及對其優化的方法,同時還需布置一些編寫程序的任務,要求學生自己編寫程序,并對自己的程序進行評價。總之,我們通過任務驅動的方法促進學生進行獨立探索。

2.4 協作學習

協作學習是支架式教學展開的重要方法,是學生知識建構的重要保證。由于不同人看到的是事物的不同側面,進而對事物的理解也不同,學習者以自己的方式建構對于事物的認識時,不存在惟一標準的理解,通過學習者的協作學習可以使其對事物的理解更加全面。

在教學中注重通過布置協作學習任務,強迫學生進行協作學習。如其中一個協作任務是這樣設計的:編寫一個學生成績管理管理系統,其中需要完成四項目標:①輸入學生的基本信息與各科成績并保存到一個文本文件中;②從文件中提取學生成績,統計平均分;③對所有學生按平均分進行排序;④任務完成后要求以Word文檔上交。這四項目標分別由不同學生或不同小組學生完成。這個學習任務中的四項目標是相互銜接的,后續項目必須以之前項目的結果為基礎,所以,不同學生或不同小組之間的協作學習就是必須的。正是通過這樣一些協作學習任務的布置,做到了以強迫的方式幫助學生建立協作學習的意識,進而使協作學習成為自覺的學習方式。

2.5 效果評價

效果評價是支架式教學展開的動力,是對學生知識建構程度的評價。對學習效果的評價,包括學生個人的自我評價和學習小組對個人的評價,評價內容包括:①自主學習能力;②對小組協作學習所做出的貢獻;③是否完成對知識的建構。

在教學實踐中采用的評分規則是:個體所得分值=小組得分*(個體在組內得分/小組內所有個體得分的平均值)。小組得分是任務評比所得的結果,是小組間競爭和小組內合作的結果。任務評比時,每個小組對自己的任務進行匯報時,其他小組和教師對其打分,其所有分值的算術平均數作為該小組最后的得分;成員的組內得分則是在組長的組織下,由所有的成員對其打分,取算術平均數。

通過上述環節在教學過程中的實施,基本實現了教材、學生、教師、媒體教學四要素之間的良性循環,如圖1所示。

3 反思

在教學實踐中使用了支架式教學方法,雖然取得了一定的效果,但也遇到很多問題,其中既涉及到如何完善這種教學方法本身,又涉及到其與教學內容、教學大環境等的關系,這里提出自己的幾點體會:

3.1 強調以學生為中心

學生的主動探索性是知識建構的關鍵。在支架式教學方法中,學生是知識的主動建構者,而不是被動接受者,教師也不再是傳統的知識傳授者。在整個教學過程中教師起組織者、指導者、幫助者和促進者的作用,教師必須注意這種角色的轉變與指導尺度的把握,要因勢利導而不要越俎代庖。

3.2 注重情境設計的具體性

情境是影響知識建構的外在氛圍,形成主題集中、形式活躍的總體情境對于教學任務的完成是非常重要的,但情境最終是為特定的教學任務服務,是在支架下教學的總體模式下展開的。因此,教師對情境的設計必須圍繞學生所要建構知識的主題,要和支架式教學模式的具體要求結合起來。

3.3 注重人際互動

人際互動是影響知識建構的社會環境,通過教師的指導實現師生互動,通過學生的協作學習實現學生之間的互動。但人際互動的完善僅有具體課程、具體教學模式是難以完成的,它有待于總體社會環境、教育環境的完善,也有待于學生自身素質的總體提高。

3.4 廣泛地利用學習資源

學習資源是影響知識建構的文化環境。多媒體計算機和Internet網絡教育是建構主義發展的沃土,是理想的認知工具。在這個環境下,學習資料非常豐富,我們必須充分利用這些資源,即要充分利用e_learning。但資源豐富的同時,必然會存在良莠不齊,教師必須幫助學生對這些資料加以甄別。

4 結束語

我們在計算機程序設計語言教學中應用建構主義模式下的支架式教學,已經取得了很好的教學效果。我們通過實踐檢驗了這一教學理論,希望我們的經驗對同行有參考價值。在未來的教學實踐中,我們將進一步細化這種教學模式,提高計算機程序設計語言這門課程的教學質量。

參考文獻:

[1] 何克抗.建構主義的教學模式、教學方法與教學設計[J].北京師范大

學學報(社會科學版),1997.5:74-81

[2] 陳琦.教育心理學的基本問題(二)—關于建構主義理論[J].中國遠程

教育,1999.2:40-43

[3] 袁維新.影響知識建構的環境因素探析[J].教育科學,2003.2:41-44

[4] 張屹,祝智庭.建構主義指導下的信息化教育[J].電化教育研究,

2002.1:19-23

篇2

一、運用任務驅動教學法于程序設計語言教學,在“任務”的設置上要適當

所謂適當的“任務”,是建立在對學生的了解之上的,讓學生通過適當的努力能較好地完成,在完成任務的過程中,學會學習。在中等職業教學中,程序語言設計相對較難,對學生的思維訓練也是多方面的,相對于其他學科也有其獨特之處。如果采用傳統的教學方法,簡單地按照從易到難,從簡單到復雜的順序循序漸進地進行教學,學生處在被動的學習狀態中,容易感到厭倦。采用任務驅動教學法,有利于培養學生自主學習、合作精神和探究能力,有利于培養學生的信息素養和綜合素質。

根據學生的現狀,本人把任務設計成幾個有一定聯系的幾個任務。按進度分別提出:請你給學生編寫一個加法練習程序;請你給學生編寫一個加法練習程序,正確的顯示“OK”,錯誤的顯示“wrong”;請你給學生編寫一個加法練習程序,每套10道題,每題正確的加10分,錯誤的不給分,并計算總分等。

當第一個任務提出時,學生都覺得很簡單,但無從下手。本人圍繞這個問題先開辟“有意義接受學習空間”,進行必要的教學,學生的學習也顯得特別認真。

二、運用任務驅動教學法于程序設計語言教學,在教學形式上以學生為主體

采用任務驅動教學法,在課堂教學中,首先提出一個需要完成的具體任務,與學生共同分析解決該問題所需的知識,方法和步驟,有時先開辟“有意義接受學習空間”,圍繞具體任務進行適量的概念教學和舉例講解,或開辟“自主學習空間”以及“協作學習空間”,學生來完成任務,可以獨立完成,也可以合作完成。目的是的通過完成任務,掌握學習內容,學會學習,培養綜合能力。在這個過程中,教師參與探索和指導,引導學生掌握教學內容,適時在班級交流,發現新思路,推廣新思路,鼓勵創新。教師進行比較、評講、歸納,或由計算機執行,學生從中得出結論,引導交流,共同進步。如:

在讀語句和寫語句教學時,在教學前先提出一個任務,即:“請你給學生編寫一個加法練習程序”。圍繞這個任務,討論分析需要解決的問題,程序需要提供的功能,需要通過那些途徑來實現:出題顯示要用一個寫語句;出題要一個隨機函數;回答問題要用一個讀語句;答案顯示也要一個寫語句。

然后介紹讀語句和寫語句的格式及其功能、介紹隨機函數。

學生獨立閱讀課本上的例題;學生獨立或合作完成任務。

教師或查看學生在電腦上的執行情況,或參與一些學生的討論或探討,發現問題,個別問題的個別回答,帶有普遍性問題的在全班回答或講解。

就在完成本任務的過程中,有的同學提出了正誤判斷問題,一次練習做多個題目等問題。由學生導引出了后續問題。“請你給學生編寫一個加法練習程序,正確的顯示‘OK’,錯誤的顯示‘wrong’”。這是條件語句教學時的任務。循環語句教學時,任務是:“請你給學生編寫一個加法練習程序,每套10道題,每題正確的加10分,錯誤的不給分,并計算總分”。數組教學時,提出對自己及班級的成績進行統計的任務。

以這種方式進行教學,使得學生感覺到編程是一件實用和有趣的事。

采用任務驅動教學法進行教學,教師的教和學生的學都是圍繞如何完成一個具體的任務進行的。教師教學思路清晰,學生學習目的明確,學習變成了學生的主動行為,在用的需求下學,學以致用,更容易掌握學習內容。比如在前面提到的條件語句的教學,按任務驅動教學法,不是孤立地介紹有關概念,而是將同學們所關心的正誤判別問題加以解決。這樣教學,提高學生的主動參與意識。

三、運用任務驅動教學法于程序設計語言教學,在教學內涵上是符合探究式教學模式的

從學習者的角度說,任務驅動教學法是一種學習方法,適用于學習技能型知識,尤其適用于學習信息技術應用方面的知識和技能,也能適合程序設計語言的學習。

任務驅動教學法使學習目標十分明確。在某個學習階段,緊緊圍繞這一既定的目標,學習和運用相關的知識和方法。一個“任務”完成了,一個目標達到了,會產生新的任務,新的目標。例如,在上述第一個任務進行時,就有學生提出了新的問題。隨著一個個任務的完成,初學者將逐步消除對編程的畏懼,還不斷地體會到成功的喜悅。任務驅動教學法,符合計算機系統的層次性和實用性,提供了由表及里、逐層深入、逐步求精的學習途徑,便于學生由淺入深、循序漸進地學好有關的知識和技能;提供了三個學習空間,也鼓勵了學生的學習主動性。而且,采用這種方法,伴隨著學生的是一個跟著一個的成就感。

從教師的角度說,任務驅動教學法是一種建立在建構主義教學理論基礎上的教學方法,符合既發揮教師的主導作用,又體現學生的認知主體作用的“雙主模式”,有利于培養學生的自學能力和相對獨立地分析問題、解決問題的能力,以及探究精神、合作精神和團隊精神。在程序設計語言教學中可以采用這種教學模式。

運用任務驅動教學法,體現了以人的發展為本的觀念。尊重學生的主體價值,創造適合學生個性發展的條件,激發全體學生的積極性,使每個學生都學有所得,享受成功的喜悅。這是尊重學生,愛護學生,將學生視為學習和發展主體

篇3

【關鍵詞】:c語言程序設計教學方式上機實踐

【分類號】TP312.1-4

隨著社會的發展和技術的進步,計算機應用已經廣泛滲透到了各個行業,計算機發揮著越來越大的作用,計算機基礎教育成為非計算機專業大學生的必修課,而C語言程序設計是各高校普遍開設的計算機基礎課程之一,是大學生學習程序設計的入門課程。對非計算機專業的學生來講, 首次接受計算機高級語言與程序設計方面的知識,不僅要學習算法的設計思想,還要掌握C語言本身的語法,學習起來非常困難。為了更好地培養學生運用C語言解決實際問題的能力, 筆者結合自己的教學研究與實踐,從課堂教學方式和教學手段、上機實驗等方面闡述,就如何提升教學效果進行探索論述。

一、運用典型的例子,培養學生對C語言的學習興趣,充分調動學習積極性

C語言注重算法設計、程序書寫、程序進行調試的過程顯得抽象復雜,導致學生抱怨程序設計難、不好理解、難掌握。第一堂課的教學就顯得尤為關鍵,教師應該充分準備, 力求授課內容新穎,對C語言的發展、設計開發,C語言在現實生產生活中的應用結合學生所學專業進行具體的介紹發展結合F實環境和學生所學專業的關系,讓學生明確學習本課程的目的,清楚知道課程的用途。給出能解決實際問題的幾個簡單且有輸出結果的程序源代碼,讓學生編輯并調試,當程序結果成功輸出后,學生學習C 語言程序設計興趣自然就產生了。

二、運用多媒體教學與案例教學相結合的教學方式

傳統的課堂教學是使用粉筆在黑板上編寫程序,一定時間內傳授的知識和信息偏少影響教學效果。多媒體教學可以直觀形象的使學生在有限時間內迅速理解、掌握更多知識,還可以培養學生抽象思維和邏輯推理能力。在多媒體教室使用的課件,要根據自身的課堂特點和知識結構,精心設計引入案例教學,每個知識模塊都配設各個知識點的綜合性案例,其中綜合案例由若干個模塊組成,每個模塊覆蓋若干知識點。每個模塊作為教師在課堂上引出知識點的引例,進行詳盡的分析講解。學生通過實現綜合案例,能夠將知識點融會貫通。在設計綜合案例時要體現知識的循序漸進性,由易到難,由簡到繁。利用案例教學采用多媒體教學和傳統教學相結合的方法,通過多媒體生動的動畫來演示知識重點、難點之間的關系,利用黑板板書給學生分析編程方法和思想,讓學生參與寫出算法的表示及其演變過程。

三、與程序實例相結合培養學生編程能力

非計算機專業學生學習C語言的目的就是用計算機程序解決專業上的實際問題。在C語言程序設計中,程序的核心是算法,學生能否理解算法并掌握算法是教學的關鍵內容。以具體實例為切入點,改變先給出一般的語法格式,然后逐步講解語法要點的方式,以程序實例為中心,把相關知識點的語法和概念融入到具體程序實例中講解,在整個教學過程授課的重點中為解題思路、方法和步驟,培養學生如何分析并解決與專業相關的實際問題,逐漸培養學生進行C語言程序設計的正確思維能力。利用教學中容易出現的問題,自頂向下逐步細化問題,逐層向下分解問題,直到滿足要求為止。通過對問題的分析研究,激發學生的學習興趣,能夠思考和參與討論問題,培養學生邏輯思維和創新能力。

四、理論聯系實際培養學生的上機實踐能力

C語言一門實踐性很強的課程, 上機實踐是學生加深對基礎知識、算法的理解、編程能力的提高、消化基本語法的重要途徑之一。通過上機實踐調試解答學生學習中存在的疑點和難點,理解所學C語言程序設計內容,培養學生的閱讀設計程序、分析解決問題的能力。

教師在上機實踐前,根據所學內容教師可根據教學大綱,結合不同專業要求精心挑選設置好實驗題,具有一定難度、由淺入深、單一到綜合的原則,以實踐鞏固理論、以理論支持實踐, 使學生實現對所學知識的運用,對所學知識的綜合應用能力進行培養。

在上機實驗前,要求學生以書面形式寫好算法或源程序。針對學生在調試C語言程序時,出現不同的語法、邏輯、算法和運行等錯誤,老師和學生一起討論分析解決問題,提高C語言程序設計和調試程序的能力。

五、結束語

由于C語言程序設計課程內容繁多,采用的教學方法多種多樣,在本科的教學課程體系中又占有非常重要的地位。要獲得理想的教學效果, 教師需從多個方面過進行綜合考慮,提高學生學習興趣,拓展教學思路, 改進教學方法, 理論與實踐結合,在動手實踐中提高學生的思維能力,引導學生掌握程序設計語言的知識、編程技術和基本算法,能靈活應用C語言程序設計所學知識去分析和解決本專業的實際問題。

參考文獻:

[1]譚浩強《C程序設計》[M].清華大學出版社,2000.

[2]張菁等.C語言程序設計[M].北京:中國鐵道出版社,2010.

[3]王喚探討C語言教學方法[J]福建電腦2006(11)211-217.

[4]趙阿可,劉世江《C語言程序設計》教學方法的探討[J]價值工程2011(16) 188-189

[5]喬正洪《C語言程序設計》教學實踐[J] 電腦知識與技術2009(25) 7182-7183

篇4

1我國計算機專業VB語言程序設計教學現狀

VB語言程序設計課程是一門面向可視化編程的專業學科,它在教學中有著很強的實踐性、功能性以及專業性,因此作為高等院校計算機專業的必修課程必須要創新教學方法、改革教學思路,由此提高教學質量。具體的我國計算機專業VB語言程序設計教學現狀如下。

1.1教學目標。VB語言程序設計是我國計算機專業教學重點,也是主要的教學內容和活動,它在教學中整個工作都是圍繞著程序設計開展的。我國當前信息技術課程標準中也明確的指出,VB語言程序設計的目標與任務就是通過該課程教學,讓學生主管認識到計算機世界的算法思維、表達方式,并能初步掌握VB這一面向程序設計的語言,在工作中有效的解決各種編程問題。

1.2教學內容。計算機專業的VB語言程序設計教學中,其教學內容包含了:VB語言程序設計基本知識、VB語言程序設計的算法公式以及設計規范、培養學生良好的程序設計思維和習慣。

1.3VB語言程序設計的教學特點。VB語言程序設計本身是一門實踐性強、內容復雜的教學工作,它在教學中要求學生不能依賴于各種已經設計好的應用軟件,當然除了一些特殊的應用程序之外,也不是對已經存在且得出結果的信息進行加工,而是學生在學習中獨立思考各種新問題,并且利用所學知識合理、科學的解決這些問題。就VB語言程序設計教學進行分析,它在教學中有著邏輯思維要求強、結構復雜、注重分析、注重過程以及仔細查錯等教學特點。

2計算機專業VB語言程序設計教學新方法

計算機專業的VB語言程序設計課程本身是一門集技能、知識、實踐及經驗為一體的綜合性學科,它在教學中有著很強的實踐與理論要求,因此不僅需要學生在學習中掌握各種理論知識,而且要掌握相關操作技術。尤其是在程序設計部分,對于這些內容的掌握程度要求更為嚴格,只有科學掌握種種適用于各種實踐、操作要求的技能,才能讓學生步入社會之后不被社會所淘汰。在教學中,教師要充分的認識和注重教學新技術、新方法和新理念的引入,通過各種先進教學方法和手段來提高學生自主學習、分析問題、解決問題的能力。目前,在計算機專業VB語言程序設計課程教學中,常見的教學方法有以下幾種。

2.1實例教學法。VB語言程序設計同其他語言類的程序設計課程一樣,它在教學中都需要學生提前掌握VB語言基礎知識。由于VB語言基礎知識本身是一門復雜的課程,在教學中如果仍然沿用順序教學、滿堂灌教學以及填鴨式教學,那么教材前面的基礎概念講述的枯燥必然給學生學習態度造成影響。這種枯燥的教學方式不僅影響學生的學習積極性、主動性,甚至給學生造成厭學、棄學的心理,究其原因是因為大多計算機專業的學生在剛接觸VB語言的時候對該課程的認識低,對各種概念和認識完全不理解,這個時候很容易出現學生思維受限制的現象。面對上述情況,在教學的過程中我們有必要采用實例教學法。在教學的過程中將各種專業知識設計成為一個具體的實際案例,在案例中包含當前課程中需要講述的概念、定義以計算法,以案例的形式由淺入深的給學生講解各種知識,讓學生在不知不覺中學習各種知識。但需要注意,在案例教學中案例設置不能太多,只需要設置的精準、巧妙便可,讓案例將教學中所接觸的一切概念系統、科學、明了的表現出來,從而達到提高學生學習質量的目的。例如在具體的教學中,如果需要編寫一個程序,那么要求輸入兩個實數,且打印出乘積(具體的程序截面圖如圖所示)。這個時候我們可以對程序進行分析、判斷,讓學生從程序分析與判斷中明確教學目標、需要掌握的知識,這種教學方法相信老師講解簡單、學生理解容易,也讓學生樂于接受這方面的知識。

2.2任務驅動教學法。VB語言程序設計課程的教學中,大多教學工作人員為了更好的提高教學質量,通常都在案例教學的基礎上,通過對案例進行優化而形成了一種新的教學方法,即任務驅動教學法。這種教學方法在應用中是以構建靈活、科學、合理的教學方案為基礎,以學生為教學主體,將各種學生感興趣、有意義的教學內容設置到教學方案中,并經過整理之后形成若干個簡單的問題,讓學生在學習中自我解決和研究這些問題。這種教學方法中,學生能夠按照自己的思路去設計計算方法,完成相關的程序設計工作。這種教學方法在應用中,學生能夠通過自我研發的方式學習,是一種獨立思考、自我鉆研的學習過程,不僅保證了教學質量,而且大大提高了學生學習興趣和學習效率,更有效的培養了學生自我鉆研、自我創新的素質。

2.3多媒體教學方法。VB語言程序設計課程在教學中,由于本身專業知識內容多、實驗多的特征,其在教學中必然會出現大量算法以及結構流程,而這些算法以及結構流程通過口頭闡述很難讓學生深入的了解其過程。因此,采用多媒體教學方法與傳統教學模式結合效果就顯得十分明顯了,在具體的教學工作中采用這種方法則教師可以通過網絡的形式給學生提前布置任務,讓學生在網上自我鉆研和解答問題,同時教師還可以通過網絡即時的了解學生的學習情況,根據學生學習現狀制定出一套科學、系統、有序的教學新方法。經過一段時間的教學工作研究,多媒體教學方法是一種節約板書時間、教學效果好、編程設計直觀的教學方式,它有效的提高了教學效率和學生學習主動性。具體實施分三個階段:選題分組階段:由教師給出若干個題目供學生選擇,然后每四到五人組成團隊,進行合作開發。系統實現階段:學生利用課余時間展開系統調查、系統分析、進行模塊劃分、責任到人。

3總結

篇5

關鍵詞:C語言程序設計,實例教學,語法

  《C語言程序設計》是程序設計的基礎課程,在多數高校中,已經把它作為一門必修的課程,同時,C語言程序沒計也是全國計算機等級考試二級語言考試科目。C語言具有非常重要的地位。因此,改善教學方法,提高教學質量至關重要。下面,從幾個方面談談C語言教學。

1. 明確教學目的,合理安排教學大綱和學時

我校為二類本科學校,為非計算機專業大一學生開設C語言課程,旨在讓學生拓寬思維方式,培養學生具有設計程序的能力。為二級考試和本專業的后繼課程打下良好的基礎。

我?!禖語言程序設計》授課學時為32學時,實驗學時為16學時,教學以基礎知識,語句,數組和函數四部分為主體進行詳細講解和練習,指針做基礎介紹和了解內容,能夠適應學生的特點,達到較好的教學效果。

2. 明確學生學習目的,激發學生的學習興趣和熱情

通過幾個生動的實例如,學生成績管理系統,數據進行排序,漢諾塔,八皇后問題等,讓學生明白,學習完C語言,我就可以進行程序設計了。明確學生學習目的。

3. 加強實例教學,在實例中學習語法

對于非計算機專業同學而言,大量的語法很容易使一部分甚至是大部分學生產生枯燥無味的感覺,很快對這門課程失去信心。為了保持學生對這門課程的興趣,采用趣味程序的例子進行教學,從而在實例中掌握 C 語言的語法。這種方法的優點是可以根據教學內容,選擇合適的例子,以實例為主體,語法為補充,使學生掌握所學內容,在應用中強化語法。經常選用的實例有,華氏溫度和攝氏溫度的轉換,分段函數的計算,階梯電價,貸款計算,自動售貨機價格查詢,求三角形面積,利用格里高利公式求圓周率,驗證哥德巴赫猜想等。在每個實例的基礎上,對學生多提問,并進行擴展,以復習前面學過的知識,也可以鞏固當前學習的內容。通過啟發式教學,讓學生做更多的練習,加深對語法和程序設計方法的理解,掌握課程的精髓。再輔以實驗課,教學效果比較顯著。

4. 多媒體教學與傳統教學方法相結合

隨堂編程能夠起到非常好的教學效果。教師先引導學生思考如何去編寫例題中的程序,然后按學生的思路編程,也可以讓學生上講臺來直接實現編程。當場編譯運行,比如兩個數交換,學生一般會直接進行a=b,b=a,程序結果就會令學生大吃一驚。然后再通過舉例如何把一瓶啤酒和一瓶可樂里的液體反裝,再進一步編程,學生又恍然大悟。這種方法能夠拓展學生的想象空間,激發學生的學習熱情。教師也可以在一些編程講解中,加入一些預先設計好的學生最容易犯的小錯誤,

向實驗課要效率

上機實驗這一環節必不可少。教師應該注重夠提高學生的積極性,使實驗課更有效率。

首先應精心設計上機實驗內容,把實驗內容和課堂所講知識有機結合起來,加強學生對知識的理解和消化。每次兩學時的實驗課,一學時以驗證性實驗為主,理解消化語法,增強學生信心。一學時以編程為主,教師設計實驗題目,內容兼具趣味性和實用性,讓學生先對題目感興趣,再對編程感興趣。把學生從被動學習逐漸轉變為主動學習,讓學生從成就中出效率。

其次,要求學生課前寫好預習報告,課后完成實驗報告,實驗課堂隨機提問,保證實驗課質量。在學生有問題時,看清問題原因,不直接給出正確答案,給學生一定提示,啟發學生獨立思考。

5. 結束語

要教好C語言,關鍵在于激發學生的學習興趣,使學生積極主動、愉快地學。除了講授語法,更要講授如何去應用語法。在授課過程中開發學生的創造性思維,使學生具備自主學習的能力。

參考文獻

何欽銘,顏暉.C語言程序設計[M].高等教育出版社,2008.

篇6

關鍵詞:計算思維;VFP程序設計;計算機基礎教育

中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)06-1271-02

目前,計算思維是計算機界關注的一個熱點。自2010年7月,九校聯盟(C9)西安會議提出計算機基礎教學的核心任務是計算思維能力的培養以來,國內多所高校圍繞計算思維與計算機基礎教學改革進行了深入的研究和實踐,發表了一些計算思維研究和實踐方面的論文。在新的形勢下,如何在大學計算機基礎教學中,培養學生在各自專業領域中應用計算機和計算思維解決實際問題的能力,對于提高學生的創新能力和信息素養都具有重要的意義。

1 計算思維

計算思維是美國卡內基梅.隆大學計算機系主任周以真(Jeannette M. Wing)教授提出的。周教授認為:計算思維 ( Computational Thinking )是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為,其本質是抽象和自動化。

計算思維是數學思維、邏輯思維和工程思維的綜合,是與閱讀能力、寫作能力和算術思維并列的第四種能力,能夠提升人類的能力。就像識字、做算術一樣,是人人都必須具備的思維方式。

2 VFP程序設計教學現狀分析

Visual FoxPro(簡稱VFP)課程是面向高等學校非計算機專業學生開設的計算機基礎教育課程。VFP作為計算機程序設計的一門基礎課程,應注重學以致用。學習的重點不只是編寫程序,而是學習算法思想與問題求解的思路,增強學生計算思維能力的培養。

但是,從目前VFP程序設計教學,尤其是非計算機專業現狀來看,普遍存在以下問題。

2.1 課程學時少

隨著計算機技術內容的不斷更新,以及信息技術在中小學的普及,在新的形勢背景下,計算機基礎教學面臨著新的挑戰。人們對計算機基礎教學產生了片面的認識。認為“計算機會用即可”、“計算機即編程”,造成學時被壓縮,資源得不到充分的配置和利用。就我校的計算機基礎教學改革來看,“大基”的學時由64變成32,時間壓縮了一半,學生計算機基礎水平有待提高。

VFP的教學課時相對“大基”課時雖然要多些,但對于非計算機專業的學生來說,計算機語言底子更是薄弱,想在短期內掌握一門計算機語言,十分不易。對于授課教師而言,既要完成教學目標,又要學生掌握計算機語言使用方法,并且在教學中形成學生的計算思維能力是非常困難的事情。

2.2 以語言知識為主,偏理論,輕實踐

在實際教學中,很多老師以語言知識為主線,詳細介紹語法規則等細節內容,上機操作多以驗證為主,偏重考試內容而不是編程,這和課程的教學目的是相悖的。導致學生學習積極性不高,感到枯燥,學的不牢,編程能力和分析解決實際問題的能力沒有得到提高,更談不上運用計算機解決專業問題。

3 以培養計算思維為核心的VFP程序設計教學方法

3.1 以計算思維為主線,改進教學內容和教學方法

計算思維養成以計算能力的培養為基礎,對教學內容的改革,不是完全改變原有的課程內容,而是內容的再組織與優化,突出核心內容和方法。

教師在上第一節課時可以介紹一個完整的系統,比如學生信息管理系統。在演示過程中告知學生,每項功能可由哪些知識實現,讓學生對本門課程有一個系統開發的概念。并了解VFP數據庫管理系統在各個領域的應用。學習本門課程的目的,不是為了順利通過考試,而是能夠獨立開發一個完整的系統,并能解決自己的專業問題。

在實際的教學中,以培養學生計算思維能力為核心任務,采用“任務驅動”和“案例教學”的方法,針對不同的專業和不同層次的學生設計教學任務。按照“提出問題—分析問題—尋找解決問題的方法—介紹解決問題的方法和知識—方法和知識推廣—課后作業和拓展”的教學片段設計思路,對學生進行計算思維的實踐。

3.2 注重程序設計思想和算法訓練

計算思維的本質是抽象和自動化。在教學過程中,可將相同或相近的知識點整合,設計相應教學任務,讓學生了解程序設計思想和程序設計過程。如求解方程、求階層等任務,可先讓學生用數學方法來求解,再引導學生用抽象的計算機語言來實現。

啟發學生利用多種技術、多種算法解決同一問題,圍繞問題求解和設計能力培養。例如求解“1+2+3+……+100”,可分別考慮用for循環、while循環來實現。采用有趣的案例,比如“猜數游戲”,“幸運7”,“測試體重”等,用多種思路設計與多種編程方法實現。

3.3 以上機實踐為重點

VFP是實踐操作性很強的一門課程,學生只有親自動手編寫代碼,調試程序,才能掌握和理解所學的知識,了解編程的思路和方法,訓練思維能力。對此,教學過程中可以考慮以下方法:

3.3.1 設計合理的實驗內容

由于實踐課時限制,學生練習時間較少,首先要使學生熟練掌握基本的語言知識,具備基本的編程和調試能力,才能逐步引導深入。實驗內容包含主要重點內容,難度適中,有一些讓學生發揮的余地,在書上能找到所有知識點和類似代碼,但又不是完整的照抄,有助培養學生的設計能力。

3.3.2 實驗任務具有趣味性和綜合性

通過實驗任務的趣味性、綜合性等來增強實驗內容的難度,從而強化計算思維訓練。如在“幸運7”游戲案例中,把一些枯燥和不易理解的知識,變成有趣的游戲。不僅讓學生理解面向對象程序設計的相關概念,并對應用程序的開發流程有了一個綜合的認識。通過拓展知識,讓學生實現多位數的幸運數字游戲設計。通過反復訓練,以提升學生計算思維能力。

3.3.3 安排課程設計實驗

在程序設計課程的最后環節,安排課程設計。或結合實例,完成一個項目。為學生提供一個全面考查學生水平的機會,對所學知識進行融會貫通。

4 結束語

計算思維的教育,是一種普適教育,對任何類型的學生都需要培養。什么是計算思維,如何去理解它,每一位教師都應該充分地認識到它的重要性。只有改變了教師的意識,才能把計算思維的培養貫徹到自己的教學中,才能培養學生的研究創新能力,提高學生的信息素養。面向計算思維的計算機基礎教學改革任重而道遠,還需要不斷的探索和改革。

參考文獻:

[1] 何欽銘.計算機基礎教學的核心任務是計算思維能力的培養[J].中國大學教學,2010(9).

[2] 李麗新.任務驅動教學法在Visual FoxPro程序設計課程教學中的應用[J].吉林建筑工程學院學報,2011(6):75-77.

篇7

關鍵詞: C語言 教學方法 應用編程能力 自學能力

1?郾引言

《C語言程序設計》是高職計算機類專業開設的首門高級程序設計語言課程。它使用廣泛,表達能力強,目標代碼運行效率高,可移植性好;既具有高級語言的優點,又具有低級語言的許多特點;既可以用來編寫系統軟件,又可以用來編寫應用軟件。目前,在《C語言程序設計》課程教學中,許多教師和學生都認為C語言概念多、規則繁雜、使用靈活、書寫方式多變、容易出錯。教師教學和學生學習都感到困難,增加了教學的難度;而學生抱怨課程內容枯燥乏味,沒有興趣;在解決實際問題編寫應用軟件時往往無從下手,缺乏編程和調試的能力。下面我就C語言的教學談談自己的一些看法和建議。

2.精心規劃教學

有些學生甚至在學完了該課程后仍然無法完整、正確地理解C語言的整體結構和特點。我針對這種情況,在教學課時上,《C語言程序設計》課安排一學期學完。把該課程劃分為兩個學習階段:第一階段《C語言程序設計I》,主要將基礎知識融入案例與任務中進行教學,即基礎階段;第二階段《C語言程序設計II》,主要進行30個學時為期一周的應用程序設計與實現,即應用階段。

基礎階段《C語言程序設計I》的考核,主要考慮對學生動手編程能力的培養,因此考核分成理論和上機兩部分。理論考試為開卷,占總評成績的20%;上機考試主要題型為編程和改錯,占總評成績的30%;平時成績占總評的20%。應用階段《C語言程序設計II》的考核,以面試考核為主,占總評成績的30%,考查學生對項目案例教學的理解,項目案例功能的擴展和改進等方面的情況,以及運用C語言解決實際問題的應用能力。

3.教學伊始引導學生養成良好的程序設計習慣和代碼編寫風格

首先,在C語言教學之初,讓學生閱讀簡單的規范的C語言程序,在學生心中起到“先入為主”的效果;其次是在上課過程中,充分利用現代的教學方式,課件演示和板書都力求以規范的格式書寫程序,告訴學生程序就該這樣寫;平時上機練習,要對學生中代碼書寫出現的不好習慣,及時提出并給出改正的方式方法。總之,要培養學生嚴謹、清晰的代碼編寫風格和良好的程序設計習慣。

4.采用多種教學方法,培養學生的編程能力

4.1循序漸進法。在C語言的教學過程中,教師起非常重要的作用,尤其是在教學中要激發出學生的興趣。大多數學生都是初次接觸C語言,這是一個全新的內容,同時也會有全新的收獲。由于該課程是培養學生程序設計的能力,之前學生幾乎沒有此經驗和能力,要通過教師循序漸進地引導,再加上學生上機的體驗和感受,使其逐步積累程序設計的能力。對于教師給定的題目,教師應該遵循由低到高、由簡入難,有趣并盡可能貼近實際的原則。開始時,教師給予學生的題目都是單項的練習,如簡單的輸入輸出、數據類型、數組編程等。到了C語言學習的后期,可以出一些較復雜并和實際結合的題目。如:在講解二重循環知識點的時候,教師可設計以下由淺入深、由易到難的實例。

(1)打印如下由易到難的圖形

通過上述三個由淺入深的實例,自然就可以總結出打印圖形的規律:把每行前輸出的空格數與行的關系、每行打印“*”的個數與行的關系填入內層循環的終止即可。另外,由于外層循環包含了多條語句,因此必須用把包含在外層循環中的語句用{}括起來。推廣到一般,打印符號的大致代碼形式如下:

for(i=l;i

{for(j=1;j

for(k=1;k

printf ("\n") ;

}

(2)通過上述的總結,讓學生自己編寫程序,打印如下復合金字塔圖形

上述程序雖然相對比較簡單,但對于初次接觸雙重循環程序的學生來說還是不易掌握。在教學活動中,教師要通過實例將語法講解透徹,實例的難度要循序漸進,從易而難,使學生在每次的學習過程中都能產生成就感,從而進一步刺激學生的求知欲望,通過教師的主導性來發揮學生學習的積極性、創造性。

4.2案例教學法。在教學的過程中,首先教師拿出一個任務案例展示給學生看。這個案例里面涉及到的C語言知識點。對于已經學過的知識點,教師通過案例來展示,可以使學生鞏固知識點并加深印象;對于沒有學過的地方,就是在其后的課程中講解的重點,并告訴學生,只有認真聽講才能完全理解案例的精彩之處。由于任務案例的引入,使得分散的知識點立刻變成實踐應用,因此學生在課堂上也更容易被教師吸引,能更緊地跟上教師的思路。對于學生來說,他們在案例學習中,不一定能把所學的知識一一總結出來,但是他們見識了C語言是如何處理實際問題的,這對他們提高認識,增加興趣,提高解決實際問題的能力都是很有幫助的。

4.3分組教學法。分組教學體現了學生的主體地位,可以激發學習興趣。根據班級人數和機房布置情況5人―6人分為一組,組長位置坐在中間,水平較好的學生挨著水平較差的學生。分組教學可以實現提優補差。水平較差的學生在遇到問題時可以及時得到幫助,能跟上全班進度,也增強了繼續學習的信心。分組教學可以培養學生自主探究、合作學習的能力?!禖語言程序設計》課程是用程序項目的方式把實驗內容布置下去,許多綜合性程序項目要求以小組為單位完成。

4.4任務驅動教學法。為了培養學生的創造思維、獨立分析問題和解決問題的能力,以及實際編程的能力,我們設計短期任務與長期任務結合的上機內容。以一個項目作為長期任務,再按不同功能模塊分解開來,形成一個短期任務。每一章學過之后要求完成一項或幾項編程作業,各章的編程作業不是孤立的,而是相互聯系的,實際上它們都是一個較大型較復雜程序的組成部分。這樣就可以使學生的任務形成一種連貫性,在整個學科的學習過程中始終都有一個總任務的驅動,而學生又在一個又一個短期任務的驅動下,體驗著一次又一次邁向成功的喜悅。例如,以“學生成績管理系統”為課程設計的長期任務,從常用輸入/輸出語句printf和scanf開始,讓學生編寫主函數調用若干個空函數形成一個文本型菜單的雛形:學習常用數據類型后,再編寫一個驗證密碼輸入的函數;學完選擇結構后,要求編寫一個菜單選取函數;學完循環控制和數組后,要求建立班級課程的成績輸入輸出函數;學完結構體類型后,要求使用結構體數組來存儲和處理學生的信息;學習鏈表后,要求利用單鏈表動態管理學生的成績;最后在“文件”這一章,要求利用文件操作完成學生成績管理。當學完整個課程,完成了平時要求的各項編程作業之后,學生就會發現,自己完成的遠不是一個一個零碎的程序段,而是一塊塊制作程序的各個部件,只要通過簡單的程序拼裝,就可以構成一個比較復雜的程序。這也在潛移默化中培養了學生采用各個擊破的方法解決實際問題的意識。最后,學生從整的角度來審視整個程序的設計,并通過上機進行綜合調試,達到提高編程能力的目的。

5.培養學生的自學能力

計算機技術知識更新太快,對于計算機專業的學生來說,在C語言教學中,培養學生的自學能力尤為重要。教師不僅要傳授現有的知識,而且要傳授獲取知識的方法。對于學習能力較強的學生,教師應該鼓勵他們自學,并給予方向性指導,讓他們超前學習,甚至自學C語言前沿應用技術。在實際教學過程中從問題入手,引導學生在尋求問題的解決方案的同時,學會了運用網絡、圖書館等獲取信息的方法,對獲得的信息進行篩選和修改,并進一步理解,最后把其應用到自己要解決的問題中。這一過程,為今后的終身學習打下了基礎。

6.結語

總之,在C語言程序設計的教學過程中,教師應遵循理實一體化教學原則,培養學生的編程能力和利用C語言解決實際問題的應用能力,培養學生的自學能力。在今后教學中我們仍將不斷實踐與探索,進一步改進教學方法,充分調動學生的主觀能動性,以取得更好的教學效果。

參考文獻:

[1]譚浩強.C語言程序設計[M].北京:清華大學出版社,2007.

[2]崔婭萍.高職C語言教學探討與研究[J].中國科教創新導刊,2010,(28).

[3]喬瑞琴.語言教學的實踐和探索[J].山西煤炭管理干部學院學報,2010,(03).

[4]王創偉,湯克明,蔡長安.《C語言程序設計》教學改革方案與實踐[J].現代計算機(專業版),2010,(11).

篇8

關鍵詞: 高校非計算機專業 《C語言程序設計》 問題 解決方法

1.課程教學現狀

由于《C語言程序設計》這門課進入我國高校非計算機專業課堂的時間并不很長,而且在學校里往往又是年輕教師授課,教學經驗不夠豐富,《C語言程序設計》本身涉及的知識面又較廣,因此在實際教學過程中往往教學效果不是很理想。我也在教學過程和課后調查中發現許多學生存在這樣一種情況:理論課能聽懂,到了實踐課卻不能理解程序含義;當時學習當時有效果,過后很快遺忘;課程學習完成后,依然只會輸入課本例程調試運行,設計性、創造性能力不足等現象。我對以上幾個問題加以分析,并提出自己的幾點看法。

2.問題分析

2.1關于理論清楚、實踐茫然的問題。

由于學習《C語言程序設計》課程的學生都是剛學習完《大學計算機基礎》的大一學生,經過一個學期的學習,他們的計算機能力只是剛剛進入了解計算機的最基礎層次,一般學生還不能形成一個完整計算機系統的邏輯模型,對于學習《C語言程序設計》課程的許多概念,例如:內存地址、I/O接口、數據的存儲和編碼等還沒有足夠的認識。然而《C語言程序設計》又是一門既包含了高級程序設計語言特點,又包含了低級程序設計語言特點的課程,也就是說《C語言程序設計》課程的理論知識滲透到計算機學科知識體系的多個層次和方面,像計算機體系結構,數據結構,等等。但是學生恰恰缺乏這方面的知識,這就要求教師必須從不同層次、不同角度來講授《C語言程序設計》這門課程,并且在每個知識點都找到合適的切入點。正是由于《C語言程序設計》這門課程涉及的知識面廣,因此對于學生來說,要想學好《C語言程序設計》這門課程,就需要有經驗豐富的教師的正確引導,否則就只能是在課堂上什么程序都能看懂,一到編譯環境中,就手足無措。再加上學生計算機英語水平有限,不能很好地看懂編譯錯誤提示信息,缺乏修改錯誤的經驗和技巧,這就造成了理論與實踐的脫節,嚴重影響了教學效果。

2.2關于教學效果不持久的問題。

C語言作為一種計算機語言,具有運算符豐富、數據結構豐富、語法限制不太嚴格、程序設計自由度大等優點。正是這些優點使得C語言語言簡潔、緊湊,使用方便、靈活。但又是由于這些優點,造成C語言需要記憶的內容較多,學習起來不容易上手。學生在開始學習C語言的過程中,也不能一下子體會到C語言的這些優點,反而很容易會認為C語言很復雜,很難學,一旦學生先入為主地有了這個看法,就會產生畏懼心理,造成學生學習C語言不認真,前學后忘的情況。所以教師在教授《C語言程序設計》這門課程的時候,要注意如何去激發學生的學習興趣。大一的學生求知欲是很強的,雖然在初學《C語言程序設計》這門課程的時候不一定就對此門課程感興趣,但這只是直接興趣。在教師的引導下,學生能感覺到這門課程的重要性,可能對自己今后的學習或者工作產生幫助,他也會產生強烈的學習興趣,不過這時候的興趣已經成為了一種對學習結果看重的間接興趣。不管是直接興趣還是間接興趣,都可以激發學生對C語言的求知欲,使得學習起來事半功倍。

2.3學生創新能力不足的問題。

我在實際教學中發現,很多學生在學習了一段時間的C語言后,拿起書本,也能正確地輸入程序,調試運行。但是如果讓他脫離課本,隨便出一個課本以外的題目,他就感覺到無從下手,好像什么都不會了。這就說明我們在課堂教授的知識是死的,學生學習之后只是知其然,而不知其所以然,一遇到新問題,或者現實問題,往往缺乏描述問題、分析問題、解決問題的能力。盡管經過很長時間的學習,學生還是沒有把課本上的知識變成自己的知識,還不能活學活用。教師也往往不能注意到這一點,雖然很用心地準備,很用心地講授,學生也很用心地學習,但就是不能取得良好的教學效果。這里所說的創新能力并不是說讓學生學習完這門課程之后,什么C程序都能編寫,而是要注重培養學生的分析問題、解決問題的能力。這是因為《C語言程序設計》這門課程的目標定位就是讓學生通過學習這門課程之后能懂得結構化程序的設計思想;能讓學生掌握計算機軟硬件的基本知識;能培養學生使用計算機分析問題、解決問題的方法和意識,為學生將來從事相關專業領域的計算機應用和開發設計打下一個堅實的基礎。這幾點一定要在我們的教學過程中體現出來,也要讓學生明白學完這門課程就想編寫出高水品的程序是不現實的,但是通過學習《C語言程序設計》應該掌握一種規范的解決問題的方法,在遇到新問題時,就要有意識地運用學到的知識去分析解決。

3.解決方法

3.1找準教學切入點,加強實踐環節。

教師在課堂上講授課程的時候為了取得良好教學效果,往往總是不厭其煩地反復講解程序,期望學生能夠聽懂、學會。實際上這個時候學生往往真正聽明白的只是教師用自己的語言翻譯過的程序。例如整型變量與字符型變量通用的問題,學生知道是可以通用的,卻往往不知道為什么,到了實踐環節使用時,不是忘記了,就是出錯。所以教師在講授這個問題的時候就必須從根本出發,復習、補充像存儲單位、ASCII碼、整數的編碼等基礎知識,要讓學生站在計算機的角度上看待整型變量和字符型變量。這其實就是一個教學切入點的問題。另外教師在學生的實踐環節中,也要注意幫助學生自己解決調試程序中出現的問題,而不是學生程序有了問題,簡單地一改正,只要運行正確就行,而是應該仔細地向學生說明為什么會出錯,出錯的情況下,編譯環境會怎么反映,以及怎么根據錯誤提示來解決這個問題。對于具有普遍性的問題,教師還應集中講解,這樣才能達到比較良好的教學效果。

3.2注意教學方式,激發學生學習興趣。

學生學習任何課程時都存在一個學習興趣的問題,如果是對一門課程的學習過程本身感興趣,這是一種直接興趣;如果是對學習的結果感興趣,對這門課程的重要性而感興趣就是間接興趣。對于《C語言程序設計》這樣一門普遍讓學生感到枯燥、難懂的課程,想讓學生對之感興趣,是有一定困難的。但是針對學生求知欲強這一客觀特點,教師可以采用一些方法來調動學生的學習積極性。教師在上課的時候,應該強調這門課程的重要性,要舉例說明C語言在實際工程中的應用,還應該給學生演示一些C語言編寫的圖形應用程序,像用C語言解決五子棋、漢諾塔等趣味問題。特別是要根據學習進度,給出一些超前一點的程序題目讓學生課后完成。這樣讓學生感到學有所用,開始是被動地學習,是為了完成學習任務的學習,最后在不斷的練習、應用中轉變成自發地、主動地學習,讓對C語言不感興趣的學生漸漸地產生興趣,讓間接興趣變為直接興趣。

3.3注意引導學生,培養學生主動分析問題、解決問題能力。

現在的高中還是以應試教育為主,學生畢業時基本沒有程序語言設計基礎,加之這種應試教育使得許多學生習慣于那種死記硬背的學習方法,對于程序語言設計這種特別需要獨立分析問題、解決問題的能力的課程極不適應 。這就要求教師在授課的過程中循序漸進,慢慢培養學生的這種能力,注意在課堂上多問為什么,讓學生跟隨教師的引導,主動去思考,漸漸地培養出學生拿到一個問題就能獨立分析,獨立解決的能力。例如在for語句的學習中,學生對兩層循環及多層循環特別難以弄清,主要因為在兩層循環及多層循環中,變量的變化過程比較復雜,學生缺乏一定的邏輯思維能力去推算整個變量變化的過程。這個時候我們就要在黑板上一步一步地推出變量是怎么變化的,外層變量是怎么控制內層變量的。雖然這樣可能花費的時間稍多,但是為了培養學生分析問題的能力,絕對值得。

4.結語

學好C語言是需要一個較漫長的過程的,僅憑上課的時間遠遠不夠。只要我們在教學過程中找好切入點,深入淺出,抓住學生的學習興趣,培養出學生的自學能力,讓學生感覺到學習C語言的樂趣,感覺到C語言的實用性,學生就能利用課余時間,自發地、有目的地學習。這樣,通過教師的講授與學生的自學相結合,就能達到C語言課的教學目標,取得一個良好的教學效果。

參考文獻:

[1]譚浩強.C語言程序設計(第三版)[M].北京:清華大學出版社,2005.

篇9

中圖分類號:G642

1 程序設計語言類課程的教學現狀及問題

計算機學科知識結構更新快,其中,程序設計語言在短短的幾十年間經歷了較大變化。語言類課程是計算機學科的專業基礎課程,其學習效果直接影響其他后續課程。當前語言類課程教學主要面臨以下問題。

1.1 課程體系設置單一

國內高校計算機專業的程序設計語言類課程大多是過程式或者面向對象的命令式編程語言,課程體系設置單一。不可否認,這類語言無論是從學科性還是有用性上講,都是合適的。然而,程序設計語言不僅僅是這類命令式語言,它還包括如ML、Haskell這樣經典的函數式編程語言,或者如兼顧面向對象和函數式的Scala語言等。從某種意義上講,函數式編程能夠更大程度地鍛煉計算思維[1]。在多核并行程序設計已經被推到前沿的今天,命令式編程語言天生的缺陷使得構造并行編程模型變得非常復雜,而函數式編程在經歷數十年的發展之后,終于不再局限于實驗室的理論研究。事實上,如果不懂得函數式編程,Google不可能創造出MapReduce。

1.2 教學過程僵化

程序設計語言類課程的傳統講授是按照編程語言類教材的典型撰寫次序,先講常量、變量、數據類型等,再講表達式、語句等,再比較復雜的語言特點,這些花費了較多時間,最后可能不再有多余的時間剖析該語言的內建庫函數或者類,更少涉及該門課程與后續課程的銜接關系。這種傳統的講授方式針對第一門程序設計語言課程的教學,特別對那些沒有接觸過編程語言的學生來講,可能是一種較好的方式[2]。然而,對于第二門程序設計語言的授課,按照這種按部就班的教學過程推進教學進度時,由于在較長一段教學活動中所講授的都是孤立的語法點,學生看不到一個較為完整的應用實例,也不了解這門課程與其他課程之間的貫通,容易產生厭學的心理,也很難體會程序語言的設計藝術。

1.3 重編程技能,輕計算思維

針對程序設計語言類課程實踐性特別強的特點,許多教改措施都是針對如何提高學生的工程應用實踐技能的[2-3],如采用案例化、任務驅動、項目驅動等方式。編程技術固然重要,然而計算思維比單純技術更加重要。培養學生以計算機的方式進行思考和解決問題,讓他們認識到程序是思想的表現形式,最終能夠通過語言來表達思考與設計,并能理解這門語言設計和實現的長處、不足、限制等。為了達到這個目標,需要引導學生深入理解編程語言本身。

2 教學改革措施

2.1 增設函數式編程語言課程

函數式編程模型早在面向對象概念出現之前就已經存在了,它的核心是lambda演算。由于其語法不如命令式語言的語法直觀易懂,許多初次接觸函數式編程的人常常不知所措,會覺得難以理解。然而,這種難以理解性與熟悉程度相關。近20年的課程改革中,因為種種原因,程序設計語言類課程體系幾乎完全拋棄了函數式程序設計語言。如今,多核時代的興起,函數式程序代碼的簡潔性使得它在并發應用領域綻放光彩。雖然實用性是我們應當考慮的一個方面,但是從培養學生計算思維以及從編程語言本身的研究方面,增設函數式編程語言課程是很有必要的。

常用的函數式編程語言或者具備函數式編程語言特點的編程語言包括Haskell、ML、OCaml 、Scala等。依據需要可以選擇不同的函數式編程語言:如果傾向于編程語言本身的理解,可以選擇純函數式的ML、Haskell,或者OCaml;如果傾向于并行分布式程序的開發,可以選擇結合了面向對象和函數式特點的Scala語言,它兼容Java。此外,Java 8的lambda表達式也是一個不錯的學習函數式編程的選擇。

2.2 適當調整講授內容的次序

以Java程序設計語言的教學為例,按照常規教材的編寫次序,Java的教學內容通常是先講變量、類型、表達式和語句,然后是數組,接著是類和對象、繼承等。在實踐中我們對講授內容的次序進行了調整:在對Java語言作了初步介紹之后,緊接著講解對象的創建和使用,見表1。表1第2行的內容不再放在講解了類的定義之后。這個調整出于兩方面的考慮:一方面,讓學生盡快建立對象的概念,知道怎么使用對象;另一方面,數組在Java程序設計語言中視為對象,因此,講解了如何使用對象之后有利于數組的講解。而類的定義涉及較多語法知識,在講解了如何使用對象、變量、類型、表達式和語句之后,引導學生考慮這個問題――我們能不能按照自己的設計來創建對象呢,于是開始講解類的定義,見表1第5行。

為了講解如何使用對象,首先選擇兩個常用的Java內建類――字符串String和System,針對已經學習了C語言程序設計的學生,從教學效果上看,盡管學生還沒有接觸到Java的各種語法規則,但是他們仍然接受了“對象”這個知識點的講授。更重要的是,他們建立了對象的初步印象,了解了Java與C的不同,并在一定程度上激發了學生的學習興趣。

由于Java程序需要使用標準輸出流的方法System.out.print()用于輸出程序的運行結果,學生就問:Java程序怎么輸入呢?此時,對輸入輸出流進行較為完整的講解顯然不合適,在講解使用對象時,我們進一步講解如何使用Java的字符緩沖輸入流類BufferedReader,直接給出如下板書:

BufferedReader br = new BufferedReader(

//BufferedReader需要一個Reader類型的參數

//InputStreamReader就是一個Reader

new InputStreamReader(

//InputStreamReader需要一個InputStream類型的參//數,System.in就是一個InputStream

System.in));// System.in用于接受鍵盤的輸入

br.readLine(); //BufferedReader的readLine

//方法讀入一行

以上這段代碼稍顯復雜,學生在課余可以仔細研究并進行試驗。實踐表明,這些Java常用內建類的使用在教學初期給出時,不但沒有造成學生的困惑和畏懼,反而提升了學生的學習熱情。

2.3 引導學生深入理解程序設計語言

程序?O計語言類課程對于培養學生的計算思維非常重要,需要學生深入理解程序設計語言本身的設計與實現,而不僅僅是學習單純的語法。

通常學生因其視野的局限性和課時的限制,無法深入學習一門程序設計語言。教師在授課時應該找機會引導學生去深入理解。通常,語言設計和實現者提供了API文檔和源碼,這些是深入理解一門編程語言最直接也是非常好的參考資料。如果學生能夠養成查看API的習慣,無疑能夠促進對語言的認識和理解。以引用類型變量的講解為例,假設變量p引用的是一個Person類型的對象,變量s引用的是一個String字符串對象。System.out.print(p)輸出結果是代表對象地址的哈希碼,而System.out.print(s)輸出了一個字符串。這是為什么呢?同時,有學生就會提出疑問:System.out.print(p)是否可以直接輸出p所引用的Person對象的成員值,如姓名和年齡等,而System.out.print(s)是否可以輸出這個字符串對象的地址哈希值?在這個過程中,可以引導學生逐步查找對應的API,如圖1所示。最后可以進一步查看Object類和String類對應方法的實現源碼。知道了這個思路后,學生豁然開朗,開始著手解決問題。

在教學實踐中,我們常常鼓勵學生按照這種方法去找解決思路,而不是直接給出答案。得益于Java的開源,在Java程序設計語言的教學活動中,我們也鼓勵學生查看javac編譯器或者JVM的即時編譯器的實現源碼。學生通過這種學習方式,在長期使用一門程序設計語言后,最終能夠駕馭語言,表達類似計算機方式的思考與設計。

篇10

計算機科學與技術本科生的基本學科能力可以歸納為計算思維能力、算法設計與分析能力、程序設計論文與實現能力、系統能力[1]。其中計算思維能力是指模型化、抽象思維能力、邏輯思維能力。系統能力是指計算機系統的認知、分析、開發與應用能力,也就是要站在系統的觀點上去分析和解決問題,追求問題的系統求解,而不是被局部的實現所困擾。算法設計與分析能力、程序設計能力是計算機類專業學生應該具備的基本能力之一,是從抽象思維到具體應用方法的轉換,涉及到閱讀判斷、思考分析、抽象綜合、表達創造等多項能力,對計算機專業高素質人才的培養不可或缺。 

從目前社會對計算機專業人才的需求來看,高校在培養學生的程序設計、算法設計與分析能力上所作出的努力還遠遠不夠。本文探討了計算機專業學生在程序設計、算法設計與分析方面存在的主要問題,給出了在課程與實踐中提高學生的程序設計、算法設計與分析能力的具體措施。 

1 現狀與問題分析 

近年來,企事業用人單位較普遍的反映是計算機類畢業生的實際應用知識、動手能力和程序設計開發經驗嚴重不足,尤其是程序設計能力、算法設計與分析能力無法達到用人單位的要求。這不僅影響學生就業,更阻礙了其進一步發展與自我提升。 

我們歸納了問題的主要原因。一是學生對于有關程序設計及算法的知識僅僅停留在了解的程度上,未能融匯貫通,進而應用這些知識解決實際問題。二是教師在講解程序設計、算法設計與分析的相關知識時,并沒有將理論與實際有機的結合。三是實際教學過程中并未對學生進行真正的軟件項目開發訓練。四是對第一門程序設計課程的教學不夠重視。五是學生的數學基礎差、邏輯思維能力弱,阻礙了學生進一步設計算法和分析算法。 

2 程序設計、算法設計與分析能力培養的具體措施 

教育教學工作應該以學生為主體,同時充分發揮教師的引領、指導作用,二者有機結合,才能充分調動學生的學習積極性和主動性,從而達到最佳的教學效果。因此本文以“學生為主體,教師為主導”這一思想為指導,結合本校的實際情況,以及教師在教育教學工作過程中遇到的問題和廣大學生的反饋,從以下四個方面探討教育教學改革的措施。 

2.1 調整課程設置和教學目標 

用計算機求解一個實際問題,首先要從這個實際問題中抽象出一個數學模型,然后設計一個解此數學模型的算法,最后根據算法編寫程序,以便調試、編譯、連接和運行,從而形成該問題的解。從實際問題中抽象出一個數學模型的實質,其實就是要用數學方法抽取其主要的、本質的內容,最終實現對該問題的正確認識。設計出解決問題的算法后,要清楚地知道算法的優劣處,如果是好的算法則不必對其懷疑而再浪費時間進行研究;如果不是好算法則應再進行改進。而如何知道算法的優劣,則需要學會分析算法。算法分析是對一個算法需要多少計算時間和存儲空間作定量的分析。編程就是設計程序,用計算機來解決問題。 

與數據結構和算法設計相關的課程較多,其中三分之二以上的專業課都需要學習編程,主要是提高學生編程能力和算法分析能力。對于本科生來說,這些課程的重要性是不言而喻的。如果掌握不好則會阻礙他們對編程能力乃至對計算機系統的認識和理解。因此,應該從課程的意義出發,以提高學生的編程能力和算法設計與分析能力為目標,結合計算機專業的特點與教學實際情況,將“C語言程序設計”、“面向對象程序設計”、“離散數學”、“數據結構”、“算法設計與分析”、“網絡編程”、“Windows編程技術”、“操作系統”、“計算機網絡”、“編譯原理”和“數據庫技術”等幾門課程有機地結合起來,并充分利用它們內在的聯系優化授課的順序與內容,為學生提供一套以編程能力和算法設計與分析能力為中心的教學體系,為學好相應的課程打下堅實基礎[2]。

“C語言程序設計”和“離散數學”作為計算機專業學生較早接觸的兩門課程,應該為后續專業課的學習打好基礎。C語言是學生在大學接觸的第一門編程語言,教學中應該重點介紹程序設計思想,并培養學生的邏輯思維能力、抽象能力、編程習慣,而不是一味地強調C語言的語法特性。同時,“C語言程序設計”這門課也為后續的數據結構、算法設計與分析課程做好實踐上的鋪墊。“離散數學”的概念、理論及方法應用于計算機科學與技術的諸多領域,并大量出現在“數據結構”、“數據庫系統”、“編譯原理”、“算法設計與分析”、“計算機網絡”等專業課程中。此外,離散數學所提供的訓練十分有益于學生的邏輯推理、抽象概括及歸納構造能力的提高,十分有益于培養學生嚴謹、完善、規范的科學態度。 

通過“數據結構”課程,使學生了解數據對象的特性,學會數據組織的方法,以及各種類型數據的處理方法,同時培養學生良好的程序設計技能。“算法設計與分析”課程重點講授分治法、貪心法、動態規劃、回溯法、分支限界法,培養學生分析問題和解決問題的能力,使學生掌握算法設計的基本方法,熟悉算法分析的基本技術,并能熟練運用一些常用算法。“操作系統”、“計算機網絡”、“編譯原理”和“數據庫技術”都是對前面學習到的一些基本的數據結構和算法的具體應用,再加上一些相關領域的專業知識。 

在“操作系統”教學中,讓學生了解操作系統的一些基本概念,如:進程和線程、虛擬內存、死鎖等,并按操作系統的五大功能分模塊進行介紹。通過相應實驗幫助學生理解重要概念,如通過實現“銀行家算法”讓學生明白進程間的通信過程、模擬LRU算法了解頁面如何置換,通過實驗使學生更加深刻地理解有關概念[3]。對于“編譯原理”這門課,由于其理論性較強,在教學過程中應該盡量多與實驗相結合,在課堂上比較難理解的內容,例如詞法分析中的有限自動機內容或語法分析中LL(1)文法的理解等等,都可以通過與實驗結合來促進對課堂內容的理解,可通過完成詞法分析器的實驗了解編譯器如何把輸入的源程序轉化為單詞符號串。 

2.2 加強實驗性課程教學 

計算機專業相關的課程總體來說理論性比較強[4-5],開設實驗性課程有利于學生通過自己的實際操作加深對課堂知識的理解,同時強化編程能力、算法設計能力和創新能力。許多課程都有上機編程實驗內容,如“C語言程序設計”、“面向對象程序設計”、“數據結構”、“算法設計與分析”、“Java程序設計”、“操作系統”等課程,都要求學生完成一定數量的設計性,完成驗證性實驗。我們設立了工程與學術實踐、計算機軟件課程設計、獨立實驗課程以及畢業設計等實訓科目,堅持編程實踐四年不間斷。 

實驗貫穿于理論、抽象和設計過程;實驗對軟件的設計和實現、測試原理和方法起示范作用;實驗不僅是對理論的驗證,也是技術訓練和能力培養,包括動手能力、分析問題解決問題能力、表達能力、寫作能力等。教學活動是教師和學生不斷交流的過程,實驗是實現這個過程的橋梁,可以彌補課堂教學的不足,加深對理論過程的理解,啟發學生深入思考,敢于創新,理論聯系實際。 

例如“編譯原理”課程是計算機類專業的一門重要專業課。設置該課程是讓學生學習編譯系統的結構、工作流程及編譯程序各組成部分的設計原理和實現技術,使學生通過學習既掌握編譯理論和方法基本知識,也具有設計、實現、分析和維護編譯程序等方面的初步能力。編譯原理是一門理論性和實踐性都比較強的課程。實驗的目的是加深學生對課堂知識的理解,掌握幾個主要編譯階段的處理方法,增強實踐能力,能完成初步設計、編制和調試編譯系統。 

實驗一詞法分析器構造,通過對給定源語言詞法分析程序的設計,加深對詞法分析原理的理解,掌握源語言的接受、存貯、預處理和掃描分析,生成正確的單詞符號串二元式序列。實驗二語法分析器構造,借助于詞法分析程序提供的分析結果,編寫一個算符優先語法分析程序,程序能進行語法結構分析和錯誤檢查并產生相應的歸約信息。同時給出出錯信息和錯誤類型,從而加深對語法分析的理解。進一步設計實現球類描述語言詞法分析、語法分析實驗(擴展實驗),根據球類比賽技戰術分析的需求,設計的解釋器由詞法器、語法器和語義分析模塊三部分組成,詞法分析器負責詞法分析的預處理和輸入單詞的解釋;語法分析負責輸入碼的語法結構檢查和解釋;在詞法和語法分析器基礎上,語義分析模塊負責比賽技戰術的分類與統計工作。 

本校開設了“程序設計專題訓練”、“計算機網絡專題訓練”、“操作系統專題訓練”、“數據庫專題訓練”、“軟件測試技術”、“嵌入式技術”等實踐課程。如“程序設計專題訓練”課程是C程序設計課程后續的訓練課程,針對程序設計中常見問題,以專題形式進行訓練。通過該課程的學習,使學生能深入理解C語言特性,掌握基本程序設計方法,學會常見問題的處理技巧,提高程序設計能力,為后續專業課程的學習打下良好基礎。又如“操作系統專題訓練”課程重點提高學生對操作系統的實際操作能力,使學生了解和掌握在Windows、Linux操作系統上運行的應用服務,對操作系統與外部接口(shell)有更深入的了解和認識。 

為了能切實提高學生的編程水平和算法設計與分析能力,我們開設了“項目管理實踐”、“軟件課程設計”、“企業實訓”、“學術與工程實踐”等實踐課程,如“項目管理實踐”課程培養學生參與大型軟件項目開發的基本能力,使學生能夠熟練掌握軟件開發環境使用和軟件開發的基本方法,為畢業設計和就業提供了必要的技能訓練。按照5-8人的規模成立軟件開發項目組,以開發一個軟件項目作為實訓的主線;項目經理由學生擔任,項目成員的角色由項目經理根據各成員的技能來確定;由實訓方提供項目的用戶需求,并且確定要開展的軟件工程活動和管理活動及項目里程碑;根據開展的軟件工程和管理活動,提取出一些關鍵知識點,以案例的方式進行項目培訓,并將其用于項目開發的實踐中,其中案例來自實際開發的軟件和系統集成項目。 

2.3 緊跟時代變化,實現多模態教學

首先重視教學內容的時效性,教師在教學過程中,不僅僅著眼于所選用的教材,還應融入前沿思想、技術和一些交叉學科的內容。例如在“編譯原理”課程的教學中,不局限于一種語言,而應該選擇多種不同體系結構的編程語言進行介紹;又例如可以選擇C語言、Ruby、Python,甚至是蘋果最新推出的Swift語言,通過比較這些語言的不同特征,給出其在編譯過程中的各自特點,從而使學生對編譯程序所做的工作有更加清晰透徹的了解。在“數據結構”、“面向對象程序設計”這類課程的教學中,可以多介紹一些國內外的文獻、最新應用等,從多種不同角度引導學生程序閱讀及編程的興趣。這就要求教師關注計算機及電子信息產業發展研究的最新內容,并及時將這些新內容融入到教學工作中。 

其次,重視教學方式的時效性,培養學生程序閱讀能力、編程能力,其手段要緊跟時代步伐。充分利用互聯網時代的MOOC,如北京大學的MOOC、浙江大學的MOOC、本校的MOOC等,將原先只能在電腦上或書本中的程序放在手機上,使學生可以隨時隨地從手機端進行學習。學生課外可以利用北京航空航天大學實驗類MOOC的計算機網絡實驗課程、移動計算兩門課程,通過計算機網絡實驗課程,了解網絡基本原理,遠程配路由器、交換機,組一個小的網絡,掌握基本的網絡故障排查方法。通過移動計算即Android編程,MOOC已經搭好大的框架,教學生編寫小的app程序,并將編寫好的代碼嵌入到框架中。 

通過促進在計算機系本科教學工作中多模態教學模式的實現,可以將原先計算機專業教學以課堂教學為主、課下上機實驗為輔,其余全靠學生自覺學習的格局,轉化為課堂教學為主導,智能端隨時學習為輔,課下上機實驗為監督檢測的新格局。這樣的格局摒棄了過去教學只能在課堂進行的成見,給予學生更多的學習自由,可以有效提高學生的程序設計、算法設計與分析能力,同時節約課堂時間,教師在課堂中能夠有更多時間講解一些更加實用的難以從書本中直接獲得的知識。 

2.4 注重對學生學習態度的引導 

在對計算機系學生的調查中發現,后進生大多有“畏難”情緒。他們往往還未開始編程,就對自己的能力進行主觀否定,這種特征在調劑生身上表現得較為突出。對于這種情況,教師在課堂上如果只單方面強調知識的重要性,甚至直接點出考試及格的重要性并不會對這類學生思維模式的轉變有好處。教師在教學過程中,常常會不自覺地將自己體驗過的應試競爭態度帶入教學工作中,具體表現為:過于強調考試分數,為了提起學生的聽課興趣甚至以考試題型作為誘餌,經常強調獎學金和保研問題,整個教學工作圍繞著考試等。這其實都是不正當的競爭指引方式,只會增強學生的厭學心理。 

因此,計算機專業講師在教學過程中,應格外注重對學生學習態度的指引,特別是在代碼類課程的教學過程中,教師不應根據自己多年的代碼編寫經驗來對代碼進行講解,而是應該想象自己是這種代碼的一名新學生,對這類代碼一無所知的情況下,可能會從哪里入手進行理解。與其說“這門課掛科了,你畢業就有危險”,不如說“學會寫代碼,你就可以自由駕馭整臺計算機”;與其說“這種數據類型期末考試一定會考”,不如說“你玩的泡泡龍中,屏幕上的泡泡就可以用這種數據類型來寫”。在教學中注重引導學生的學習興趣,激發學生的學習熱情和探索精神,真正做到以學生為本,從學生的角度理解教學,才能在教學工作中正確指引學生的學習態度,達到最佳教學效果。 

3 總結 

計算機科學是一門具有創造性意識活動的學科,計算機本質上是一個程序的機器,只有那些真正懂得程序的人才能懂得計算機。因此程序設計能力、算法設計與分析能力是一名合格計算機類專業的畢業生必須具備的兩大基礎能力。本文給出的具體措施,有效提高了學生的編程能力、算法設計與分析能力,以及分析和解決實際問題的能力,有利于培養經濟社會發展急需的信息產業人才。