摘要:計算機程序設(shè)計語言的教學(xué)改革,涉及到教學(xué)內(nèi)容、教學(xué)方法以及教學(xué)過程銜接。本文通過對計算機程序設(shè)計語言教學(xué)方法的研究,以C語言為主線,以一脈相承的C語言、C++語言、C#語言為基本知識內(nèi)容,配合上數(shù)據(jù)結(jié)構(gòu)、UML、數(shù)據(jù)庫等相關(guān)知識點,提出語言知識入門、語言能力提高、語言技能應(yīng)用三個階段和應(yīng)用層次的“C語言學(xué)習(xí)三部曲”的課程改革方案。
關(guān)鍵字:程序設(shè)計語言教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)02(c)-0000-00
1 概述
計算機程序設(shè)計語言,通常簡稱為編程語言,是一組用來定義計算機程序的語法規(guī)則。它是一種被標(biāo)準(zhǔn)化的交流技巧,用來向計算機發(fā)出指令。
當(dāng)今計算機程序設(shè)計語言種類繁多、共性大、更新速度快,同時軟件工程和項目管理的蓬勃發(fā)展使得計算機軟件開發(fā)從業(yè)人員的職業(yè)分工更為明確。從人力資源與社會保障部頒布的“計算機程序設(shè)計員國家職業(yè)標(biāo)準(zhǔn)”上看,除了要求從業(yè)者必須要有扎實的基本功外,還要具備解決問題的綜合能力。因此計算機程序設(shè)計員專業(yè)的學(xué)生在計算機程序設(shè)計語言的知識和技能的學(xué)習(xí)中,不能再僅僅孤立地教授幾門編程語言、幾門相關(guān)的專業(yè)課程而已,而是要教會學(xué)生掌握通過計算機程序設(shè)計來解決實際問題的知識和技能,成為一名合格的“軟件藍(lán)領(lǐng)”。這就要求我們不能延續(xù)傳統(tǒng)的學(xué)歷教育方法,計算機程序設(shè)計語言教學(xué)需要改革,需要一種全新的教學(xué)理念和模式。
當(dāng)前的教學(xué)改革更多的體現(xiàn)在教學(xué)方法和內(nèi)容上,“學(xué)習(xí)領(lǐng)域”、“任務(wù)驅(qū)動”、“職業(yè)崗位導(dǎo)向”、“面向工作”等各種課程設(shè)計方法層出不窮。然而,縱觀大部分課程改革,我們發(fā)現(xiàn)其教學(xué)改革更多體現(xiàn)在獨立的課程中,并沒有在課程與課程的銜接上下功夫。大部分院校均先后開設(shè)VB、C、C++、JAVA等多門程序設(shè)計語言和數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫管理系統(tǒng)等專業(yè)課程,學(xué)生雖然學(xué)習(xí)了多門程序設(shè)計語言,然而每一門語言都只學(xué)了皮毛,每一門課程都學(xué)了基礎(chǔ),只能完成課堂和課后的作業(yè)和練習(xí),而對于能解決什么問題,怎么解決問題,如何綜合解決問題一籌莫展,碰到問題時往往覺得無從下手。
2 程序設(shè)計語言教學(xué)探索與改革:C語言學(xué)習(xí)三部曲
C語言是一種計算機程序設(shè)計語言。它既有高級語言的特點,又具有匯編語言的特點,同時很多新型的語言都是衍生自C語言,,掌握了C語言,經(jīng)過簡單的再學(xué)習(xí),就可以用其他新型的語言去進(jìn)行程序開發(fā)了。因此,在計算機專業(yè)的課程中,只要把C語言學(xué)扎實了、學(xué)透了,就可以說掌握了計算機程序設(shè)計語言的精粹。在課程設(shè)計中,我們以C語言為主線,以一脈相承的C語言、C++語言、C#語言為基本知識內(nèi)容,配合上數(shù)據(jù)結(jié)構(gòu)、UML、數(shù)據(jù)庫等相關(guān)知識點,提出語言知識入門、語言能力提高、語言技能應(yīng)用三個階段和應(yīng)用層次的“C語言學(xué)習(xí)三部曲”的課程改革方案。
第一階段:語言知識入門——C語言與數(shù)據(jù)結(jié)構(gòu)整合
1、課程知識要求:
1) 掌握C語言的基本語法,如數(shù)據(jù)類型,3種語句結(jié)構(gòu),數(shù)組,指針等。
2) 掌握數(shù)據(jù)基本結(jié)構(gòu)形式和操作,如線性結(jié)構(gòu),樹形結(jié)構(gòu),圖形結(jié)構(gòu),以及數(shù)據(jù)結(jié)點的查找、添加、刪除、排序等操作。
3) 掌握“自頂先下、逐步細(xì)化”的結(jié)構(gòu)化程序設(shè)計方法。
2、課程技能要求:
掌握如何用計算機解決日常問題,特別是數(shù)據(jù)的表現(xiàn)形式和動作行為的表現(xiàn)形式。
3、課程設(shè)計要點:
將C語言和數(shù)據(jù)結(jié)構(gòu)進(jìn)行有機整合,特別是在講解C語言的數(shù)據(jù)類型時溶入數(shù)據(jù)結(jié)構(gòu)知識,在講解C語言的語法結(jié)構(gòu)時溶入數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)操作知識。
4、課程目的:
通過該課程的學(xué)習(xí),要求學(xué)生掌握基本程序設(shè)計思想和理論,學(xué)會數(shù)據(jù)及數(shù)據(jù)處理由現(xiàn)實世界向計算機世界的轉(zhuǎn)換方法和過程,學(xué)會用計算機程序設(shè)計語言描述和解決日常生活中問題。
第二階段:語言能力提高——C++語言與UML工具整合
1、課程知識要求:
1) 掌握C++語言的高級語法知識以及面向?qū)ο蟮母拍詈托问?,如面向?qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài),以及模板等概念。
2) 掌握UML知識,掌握利用UML工具(如ROSE)來進(jìn)行面向?qū)ο蟮姆治龊徒5姆椒ê瓦^程。
3) 掌握以“抽象與分類”為關(guān)鍵的面向?qū)ο蟮某绦蛟O(shè)計方法。
2、課程技能要求:
掌握如何用計算機解決日常問題,特別是以面向?qū)ο蟮姆椒▉矸治龊徒鉀Q問題。該課程要求學(xué)生在第一階段掌握了結(jié)構(gòu)化的設(shè)計方法后,進(jìn)一步了解面向?qū)ο蟪绦蛟O(shè)計方法。
3、課程設(shè)計要點:
把C++語言和UML進(jìn)行有機的整合。將UML作為面向?qū)ο蟪绦蛟O(shè)計的分析和設(shè)計的工具,而將C++語言作為進(jìn)行面向?qū)ο蟪绦蛟O(shè)計的編程和實現(xiàn)工具。
4、課程目的:
通過該課程的學(xué)習(xí),要求學(xué)生掌握面向?qū)ο罄碚?,學(xué)會面向?qū)ο蠓治觯∣OA)、面向?qū)ο笤O(shè)計(OOD)和面向?qū)ο缶幊蹋∣OP)方法和工具。
第三階段:語言技能應(yīng)用——C#語言與數(shù)據(jù)庫操作整合
1、課程知識要求:
1) 掌握C#語言的高級語法知識和軟件架構(gòu)知識,如集合、委托、托管、ASP.NET、C/S與B/S架構(gòu)開發(fā)方法等。
2) 掌握數(shù)據(jù)庫操作知識,如SQL語法、ADO.NET、XML等。
2、課程技能要求:
掌握多層架構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)方法。,該課程要求學(xué)生在復(fù)習(xí)第二階段的面向?qū)ο蟮脑O(shè)計方法后,掌握開發(fā).Net應(yīng)用系統(tǒng)的方法,掌握將數(shù)據(jù)存儲在數(shù)據(jù)庫中的方法,以及掌握對數(shù)據(jù)庫進(jìn)行查詢、添加、刪除等操作的方法和步驟。
3、課程設(shè)計要點:
將C#語言與數(shù)據(jù)庫操作知識進(jìn)行有機整合,在講解用C#語言開發(fā)基于.Net的多層架構(gòu)應(yīng)用系統(tǒng)中,通過講解ADO.NET與LINQ將SQL溶入C#語言。
4、課程目的:
通過該課程的學(xué)習(xí),要求學(xué)生掌握C#語言和數(shù)據(jù)庫操作,掌握通用的企業(yè)級應(yīng)用系統(tǒng)的開發(fā)方法和過程。
3 結(jié)語
教育部部長周濟在2008年度職業(yè)教育會議上說到:“以改革創(chuàng)新為強大動力,推動職業(yè)教育又好又快發(fā)展”。職業(yè)教育的生存和發(fā)展,離不開教學(xué)改革和創(chuàng)新。在進(jìn)行計算機程序設(shè)計語言教學(xué)探索與研究中,我們通過走進(jìn)企業(yè),與企業(yè)軟件開發(fā)人員的進(jìn)行密切聯(lián)系與溝通,了解市場發(fā)展與需求等一系列調(diào)研后,提出了改革方案并付諸實施。實踐證明我們的改革思路是正確的,課程改革是卓有成效的。
參考文獻(xiàn)
[1] 譚浩強,“C程序設(shè)計”[M],清華大學(xué)出版社
[2] 錢能,“C++程序設(shè)計教程”[M], 清華大學(xué)出版社
[3] Andrew Troselsen,“C#與.Net3.5高級程序設(shè)計”[M],人民郵電出版社.