時間:2022-06-07 18:43:24
序論:在您撰寫計算機程序設計語言時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
隨著社會不斷的發展與進步,計算機作為現代先進產物的代表,已經很快的進入到社會中的各行各業。而程序設計作為計算機的核心內容,也同樣引起了大家的重視,同時計算機程序設計也是高校開設的一門重要學科,為了能更好的為社會提供計算機方面的技術型和和設計型人才,就必須重視程序設計的教學。本文針對高校程序設計課程中存在的不足,展開了全面的討論,對高校的程序設計的教學方法和教學內容進行改進。
【關鍵詞】
計算機程序;程序設計語言;教學方法
我國幾乎所有的高校都開設了計算機程序設計這一學科,而程序設計語言教學時計算機程序設計教學中最重要的教學內容之一,對其掌握的程度會直接影響著之后對計算機的學習,也為將來從事本行業奠定了堅實的基礎。從程序設計語言入手,展開對計算機硬件和軟件的學習,掌握計算機程序設計的基本理念,從而不斷的打造新型計算機技術人才,推動我國計算機行業的前進。
1 計算機程序設計語言教學現狀
1.1 教學課時短
雖然現在計算機已經很普及,但是多數學生對于其中真正的內涵了解甚微?,F如今的大學主張的是學生自主發展,因此給學生自由發展的時間很多,在此同時又主張學生多方面發展,這就導致學生接觸計算機程序設計的時間較少。教學課時短就成了一個突出的問題,老師只能教給學生一些基礎的理論知識,對于新鮮事物出現在腦海中的時候,學生往往有疑問也不會發問,再加上在這方面的基礎比較薄弱,就導致了學生們接受比較緩慢。
1.2 學習動力不足
在很多學生眼里,計算機程序設計是一個即枯燥又無味的學科,程序設計語言中涉及了一些數學、英語等其他方面的基礎知識。有很多學生就覺得有些力不從心,覺得程序設計語言就想天書一樣,不能形成用計算機語言去解題的思維方式,對程序設計產生了畏懼心理,就會出現很多知難而退的學生。
1.3 實踐達不到真正的要求
計算機專業本身就是應用型專業,而恰恰在大學中程序語言教材書中缺少了實踐這一部分,沒能體現出教材的實用性與實踐性,不能起到對學生的實踐能力培養的作用。不能達到對技術型人才的培養。
1.4 教學方法單一,考核方式欠缺
計算機程序設計語言的的教學方式現在還是比較傳統的,往往是老師講同學聽的形式,課后再增加一些實驗,同學只是單純的接受老師傳授的東西,卻缺少了自己的思考,更不能發表的自己的見解。在上實驗課的時候,大部分同學也只是單單的將書本上程序打入電腦,進行調試成功后就認為完成了任務。學生不知道如何從實際問題出發,老師的檢測方式也就是筆試,而忽略了對實踐的檢驗。
2 解決計算機程序設計語言存在問題的對策
2.1 采用不同的教學方式,提高學生的學習興趣
要讓學生仍是到計算機程序語言的重要性,老師在講解的過程中可以插放一些小動畫或軟件的保護,從而引起學生的興趣。在講課之前老師要帶領著同學看目錄,劃重點,讓學生對程序語言的學習有一定的規劃,盡量消除學生心里的畏懼感。老師要多和學生溝通,了解學生對所學的東西的了解程度,從而確定教學的進度??傊?,老師在教授程序語言的同時,要以學生為主,多鼓勵學生進步。
學校應該本著培養技能應用型人才,針對少數人或特別的學生,要采用不同的教學方式。適當的增加課時,給老師足夠的時間去引導學生利用程序語言去解決實際問題。
2.2 解決學生實踐不足的現象
學校在選擇教材時,要盡量選擇帶有大量實踐課題的教材,意在提高學生的實踐和創新能力。老師也可以根據不同的學生的學習程度,設定一些課題實踐,增加實踐在整個教學中的比重。單單的課內實驗室不夠的,老師還要多增加一些課程設計,快速的增加學生的綜合實踐能力。
3 改進計算機程序設計語言教學的方法
3.1 程序設計語言教學的重點
教師應該在教學中突出三個重點。一是程序設計中的語法知識,語法是程序設計語言中的基礎,在編程的過程中一定不能出現語法上的錯誤,因為這會給后面的調試帶來很大的麻煩。二是程序中的控制結構,因為在編程的過程中,編程者無論是面向什么進行設計,都會涉及到流程控制結構,所以教師應該突出講解這部分。三是控件的使用,所有的編程幾乎都離不開控件的使用,因此要詳細的講解空間的作用與使用方法,并在實踐中讓學生加深對控件的理解,
3.2 任務驅動教學
計算機程序設計語言是有很多活動范圍的學科,老師可以采取一種探究教學方式,任務驅動教學就是一種從學生角度出發的的一種教學方式。老師設定一個課程設計,大家首先經過談論分析出課程設計的目的,然后老師和學生圍繞這個課題開始實踐。這種教學方式主要在于培養學生的自主探究的能力和獨自分析問題的能力。學生最初獨自進行編寫程序的時候,老師要引導學生進行思考,將一個大的程序一點一點的分成很多個小的任務,這樣會減少對學生積極性的打擊,之后在協助學生對自己的程序語言進行修改,讓學生感受自己設計出程序的喜悅,從而提高學生的信心。
3.3 增加教學實例
枯燥無味的課堂,學生往往會對新元素的引入產生興趣,這時老師可以在課堂上引入一些程序案例,實例可以加深學生對課堂內知識的認識,讓學生從整體上了解自己所學的程序語言,讓學生從實例中找到所學知識的應用,同時也會激發學生的創新意識,培養學生提出問題,解決問題的能力。
4 總結語
在學習程序語言的過程中,教師要用不同的教學方式進行教學,發現不足并及時的改進,放棄原有的教學方式,以學生為主開展課題設計。不能認為哪種教學方式好就一直使用一種教學方式,這樣會造成學生對課堂的厭煩,無論哪種教學方式,都要以激發學生學習程序設計語言的興趣。
【參考文獻】
[1],肖海容.《C 語言程序設計》課程教學問題分析及對策研究[J].東莞理工學院學報 ,2013,(5):111-115.
[2]龐爾麗,王欣.大學計算機程序設計語言教學的幾點思考[J].軟件導刊,2013,12(1):183-184.
[3]郝桂英.關于計算機程序設計語言課程教學的探索[J].教育與職業,2007,(17):156-157.
[4]賀忠.游戲思想在程序設計語言課程教學中的應用[J].計算機教育,2009,(13):157-159.
關鍵詞: 程序設計語言; 建構主義教學模式; 支架式教學; 知識建構
中圖分類號: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
摘要:“計算機程序設計語言”課程是計算機科學與技術學科核心的課程之一,極大地影響著學生對計算機領域的理解和興趣。本文針對教學過程中存在的問題,提出了層次化教學目標思想。以面向對象語言C++為例,介紹基于層次化教學目標體系的具體思想和內容,并提出與之相適用的課程及實驗設計,達到優化教學方法,提高教學質量的目的。
關鍵詞:計算機程序設計語言;層次化教學;C++
中圖分類號:G642
文獻標識碼:A
1“計算機程序設計語言”教學現狀
“計算機程序設計語言”是普通高校計算機教育的基本專業課程,在計算機領域的各個專業的課程體系中都處于核心的地位。這門課程不僅可使學生獲得基本的程序設計能力及鍛煉學生的邏輯思維能力,它還極大地影響著學生對計算機領域的興趣和理解,對引導和培養學生在計算機工程及理論方面的研究興趣起著先導性和基礎性的作用。因此,“計算機程序設計語言”的教學質量成為影響大學本科計算機教學質量和效果的一個關鍵的因素。
影響課程教學質量的主要三個因素為教學內容、教學方法和實驗設計。當前,大部分教師受傳統教學模式的影響,教學的重點都放在程序語言的基本語法的講授,課堂所設計的程序實例大部分圍繞語法規則的演示和說明,這種模式同樣也影響到實驗環節的設計。這種就事論事,形而上學的教學模式具有許多明顯的弊端,主要體現在以下幾方面:
(1) 不利于培養學生的學習興趣
許多從事程序設計語言教學的教師(包括筆者)都有這樣的感受:每講授一門新的程序設計語言課,初期學生都抱著積極,對獲取知識的極大熱情投入課程的學習,但隨著教學過程的深入,這種熱情往往不能持久。導致這種局面的原因固然有教師本身的教學方法和教學手段的缺陷,但根本原因還是教學內容的設置不科學。在單純以講授語法規則這種教學模式下,學生難以保持長久的學習興趣和動力。
(2) 不利于學生建立綜合化,系統化的知識體系
程序設計語言是表達設計者思想和計算機計算邏輯的符號系統,具有多層面、多視角的內涵。要把學生培養為具有高素質的程序設計人員,僅僅熟悉沒有精神的符號及符號規則遠遠不夠,這需要學生具備設計高質量程序的綜合化的知識體系,而當前的程序設計語言的教學現狀并不能滿足這種需求。
(3) 不利于培養學生解決實際問題的綜合能力及創新意識和思想
當前,素質教育成為各級教育系統,包括高等院校所關注的熱點,知識高等院校所關注的“素質”內涵不同。筆者認為高校大學畢業生應具備的素質包括:綜合化、系統化的專業知識體系;應有已有的知識體系解決實際問題的能力;具有創新的意識和思想??傮w而言,大部分教師對程序設計語言課程所采取的教學不利于這種素質的培養。
針對這種現狀,結合我國高等教育發展的現狀,本文提出程序設計語言的層次化教學目標的思想,并以面向對象程序語言為例,論述在層次化教學目標驅動下的課程設計。
2層次化的教學目標
各項教學活動有效展開的基本條件是合理的教學目標的確定,但單一的教學目標并不能適用當前中國復雜的高等教育現狀。社會經濟的快速發展產生了明顯的多類型、層次化的人才需求,這種趨勢在各類軟件公司里表現得尤其明顯。為了適用這種人才需求的轉變,高等教育領域在這些年相應地發生了巨大的變化,各種類型、各種不同層次的教育機構大量出現,改變了過去高等教育機構單純負責培養具有從事復雜腦力勞動的高級專業人才的狀況。這些變化最終體現為教師的工作,體現為教師針對不同的教學對象所制定的教學目標體系。
當前,由于社會信息化的發展,各類計算機類課程已經滲透到各個學科,例如筆者所在的蘇州大學,幾乎所有的院系都設置了信息技術類的有關課程,大約超過一半的院系設置了“計算機程序設計語言”的課程,因此“計算機語言設計課程”的教學質量是總體教學質量評估的重要組成部分。筆者多年來一直在蘇州大學承擔程序設計語言的課程,包括一類本科計算機專業基礎課程、二類本科專業基礎課和公共基礎課程。大量的教學實踐表明單一的教學目標不能適用多樣化的教學對象、多樣化的人才需求和程序設計語言知識邏輯在廣度和深度方面所具有的層次化的特點。下面將論述程序設計語言課程的層次化的教學目標體系及各層的具體內涵。
2.1低級目標
該目標要求掌握標準化的程序語言語法體系,以學生掌握基本的標準語法體系為基本要求,并能初步應用語言開發較小型的簡單應用程序,具備初步的程序設計能力。低級目標要使得學生對所學知識“知其然”,課程教學內容主要圍繞標準的語法規則,課堂和實驗環節所選定的程序實例大多圍繞著驗證和演示語法規則及語法規則之間的聯系進行設計。在以低級目標驅動的教學中,因為重在基本知識的傳授,因此核心教學內容的選擇是第一位的要素。當然每門程序設計語言課程都有其固有的核心內容,例如,在C++語言中,核心的教學內容為:面向對象的概念、繼承、多態、模板及異常等,即使如此,還需要根據教學對象,對教學內容和授課方式進行選擇和取舍??偟脑瓌t是圍繞重點概念和知識采取“精講多練”和“突出重點”的方式進行教學。
2.2中級目標
中級目標則要要求學生圍繞目標程序設計語言,具備系統化的程序設計方法和技巧,逐漸使學生“知其所以然”。該層目標不僅要讓學生掌握“語法”,還要讓學生掌握“語義”;不僅讓學生掌握語言本身,還要讓學生擴展思維,了解、理解更多的外延的知識;不僅要讓學生掌握基本的程序設計方法,要讓學生初步掌握系統化的程序設計方法和建立起程序質量的觀點。程序設計語言的外延知識涉及計算機專業許多重要的核心課程,包括編譯原理、算法分析與設計、計算機組成與結構、離散數學、數據結構和軟件工程等。當然,不可能指望通過一門課程的學習,使學生有效地、完整地掌握所有這些知識,只能使與實現中級目標有緊密聯系的知識能滲入到重點的知識講授和實驗的安排中。
2.3高級目標
不管是初級目標的“知其然”,還是中級目標的“知其所以然”,都是知識學習,而高級目標階段的重點是運用知識,體驗知識,要求學生具備利用目標程序設計語言解決一定復雜度和規模的實際問題的能力,建立抽象的程序設計思想、方法和質量的觀點。高級目標的教學內容的重點在如何在所講授的語言框架里解決一定規模的應用問題,并從具體的實現里提煉出抽象的設計思想,分析實現的質量,總結好的實現方法和設計思想。
確立了教學目標,下一步的焦點為圍繞實現具體的教學目標,制定各教學環節的具體的教學內容和教學手段,主要包括課堂教學環節和上機實踐環節。結合筆者的教學實踐,下一節將圍繞這方面的內容展開論述。
3層次化的目標引導的課程設計
C++語言因其強大的功能及廣泛的實用性而日益成為當前高校理工類專業程序設計的主流教學語言,因此本節將以C++為例,討論層次化教學目標思想如何在教學實踐中得到貫徹。C++程序設計語言的教學涉及課堂教學和實踐教學兩個環節,下面將就這兩方面展開論述。
3.1課堂教學
確定目標課程的教學內容是開展有效的課堂教學,取得既定的教學目標的前提和基本要求。針對本文所提出的層次化的教學目標體系的基本內涵,C++程序語言的課堂教學內容在深度和廣度上也應該展現出層次化,遞進性的特點。
在低級目標中,掌握本程序語言的基本語法體系是最重要的目標,在教學內容的設計上,應確定語言的最核心最重要的語法現象。過程化程序設計向對象化程序設計是C++語言的最重要的特征,因此“對象”和“類”,以及由此產生的“繼承”,“封裝”,“多態”和“異?!?成為最核心的教學內容。在教學時應集中注意力于這些類對象的關鍵個性技術,圍繞關鍵技術“精講多練”,使學生深刻理解面向對象C++的這些關鍵技術;要有重點,不能面面俱到,有所失,才能有所得。
低級目標是為了使學生掌握知識,使其“知其然”,那么中級目標則要逐漸使受教育者“知其所以然”,教學的重點從對語法的訓練轉向對語義的理解,包括靜態結構語義和程序執行語義。在C++的教學中,以C++對象模型作為教學內容的重點,通過從靜態的程序代碼結構和運行的程序狀態兩方面展開課堂教學,這樣在知識語言的“所以然”的基礎上,學生不僅知道什么是“多態”,并且知識“多態”是怎么實現的;什么是運行時類型檢查(RTTI),運行時類型檢查能提供什么程序設計策略等;許多的外延知識能沿課堂展開,例如編譯原理、算法分析與設計等。由Stanley B. Lippman所著的《Inside The C++ Object Model》為我們設計課程材料提供了方向性的指導。
低級目標和中級目標都是針對知識的學習,而高級目標則針對知識運用,提高運用知識進行設計的能力。此層次涉及知識的學習、理解和綜合運用,要在有限的時間內,實現教學目標,在課程教學內容的選取和設計及課時的安排上,具有一定的難度,對教者和學者都具有一定的挑戰性?!霸O計模式”可以成為本層次的基本或延展性的教學內容。設計模式雖然不與具體的設計語言有著必然的、密切的聯系,但事實上各種技術性、或純教學性的書籍中,都把面向對象語言作為實現各種設計思想的不二選擇。通過設計模式內容的講授,可以使得學生對面向對象的基礎知識有更深刻的理解,同時增強靈活運用所學知識的能力,體驗面向對象程序設計方法學所帶來的設計上的“美”,激發學生的創造力。
當然,上面針對課堂教學內容的論述僅僅進行了基本的界定和論述,需要通過下面幾方面來貫徹實施,以達到各個層次的教學目標:
(1) 通過教者的努力,設計出豐富的、具體的課程素材;
(2) 針對不同的教學內容,設計多樣化的教學手段和方法;
(3) 針對不同的教學內容布置合理的作業和考核方法。
3.2實踐教學
在程序設計語言的教學中,課堂教學和上機實踐教學是并重的環節,不可偏廢,一起決定著教學的質量和教學目標的取得。如何設計安排上機環節通過大量的教學實踐,已經總結出了大量的行之有效的方法。下文就實驗內容及實驗的組織形式進行一些必要的、有益的討論。
結合課堂內容,以往的實踐環節主要由學生編制一些小的程序,進行語法現象的演示及驗證。但筆者通過大量的教學實踐發現:這種普遍采用的,且行之有效的方法,對于學生鞏固知識,提高調試程序的能力和技巧具有顯著的效果。但隨著教學的深入,這種方法也顯示出種種的弊端,例如:學生專著于知識點,必然缺乏對知識的整體把握;學生容不易形成良好的編程習慣等。針對這種情況,筆者在實踐的環節中,增加“讀程序”的分量。教師提供一些高質量的程序范例讓學生進行閱讀、理解,并對范例的程序風格和設計方法進行總結比較,以提高學者的綜合能力,尤其是到了后期,所提供的范例更具有綜合性、全面性和示范性,能極大地提高學生掌握知識的深度和廣度,激發他們的學習熱情。
在實踐人員的組織形式上,一般在程序設計語言的教學中,都是學生獨立進行的。在教學實踐中,也可引進一些軟件開發中的方法,比如采用小組制的形式,根據實踐內容的不同,小組或大或小。即使是在低層目標為導向的教學中,也可采用小組的方法進行實踐環節的教學,不過此時小組人數不宜過多,最佳數目為二人。采用這樣的方法,有以下的益處:
(1) 便于學生進行交流,以達到取長補短的目的;
(2) 提高教學效率,以較少教學活動取得同樣甚至更好的效果;
(3) 培養團隊合作精神等。
在以中級和高級目標為導向的教學中,實踐環節應從語法演示和驗證為重點轉變為以知識的理解和知識的運用為重點,因此除了結合教學內容設計相應的實踐內容外,最顯著的特點是增加綜合性的項目開發環節,以達到知識的綜合掌握和運用。
當前以語法的演示和驗證目的實踐環節的設計具有大量的教學實踐可資借鑒和學習,但針對更高兩層教學目標的實踐環節則缺乏有效的素材和經驗可以利用,需要通過進一步的教學實踐活動加以積累和總結。當前的一些做法是借用開發一個具有一定規模的項目來彌補純語法的演示和驗證實踐方法的不足。
4結論
本文針對當前在程序設計語言的教學中存在的問題,提出了多層次教學目標的觀念,并介紹了各層次目標的具體內容和以此目標為導向的主要的教學環節的設計。各個層次的教學內容和教學方法手段并不是彼此割裂的,如何針對各種不同的教學對象進行合理的課程設計,以提高教學質量有待于進一步的大量的教學實踐活動。下一步最主要的工作總結探索各種教學資源以及相應的考核方法,尤其是用于中級目標和高級目標為導向的教學活動。
參考文獻:
[1] 吳乃陵. 面向對象C++程序設計教學改革[J]. 電氣電子教學學報,2003,25(2):9-11.
[2] 徐宏,聶影,黃征華,等. 計算機程序設計語言的教學探索[J]. 教學研究,2004(2):89-93.
[3] 沈軍. 程序設計語言類課程的教學思路研究[J]. 高等工程教育研究,2001(1):80-82.
[4] Stanley B. Lippman. Inside The C++ Object Model [M]. Addison-Wesley Publisher, 1996.
[5] Erich Gamma, Richard Helm, Ralph Johnson ,et al. Design Pattern: Elements of Reusable Object Oriented Software [M]. Addison-Wesley Publisher,1995.
Research on Teaching of Programming Language
CHEN Dong-huo,YAO Wang-shu
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China )
論文摘要:提高學生計算機知識水平和實踐動手能力,讓學生成為社會的準職業人才,是中職學校計算機教學的根本任務。將北大青鳥程序設計語言《JavaScript》課程應用于計算機理論教學與實踐操作,其教材的設計引發我對中職計算機課改的深思。北大青鳥程序設計語言采用“以項目為導向”的課程設計方法,課程內容全部圍繞完整的項目逐步進行,學生在學習過程中,同時也完成了實用性的項目開發,其設計不僅符合學生的認知規律,能夠充分調動學生的學習興趣,提高學生的自學能力和解決實際問題的能力,培養的學生也更能適應當前市場對技能型軟件人才的需求。
目前中職計算機課程體系及課程內容設計存在著許多問題。在我國中職計算機教育中, 專業課程開設不大合理,教材內容設計不與實際應用相結合,程序設計課程教學內容要么過于簡單和籠統,要么過于復雜和高深,導致許多中職學生對編程學習產生嚴重的抵抗情緒,出現厭學、棄學現象,所學的部分程序設計知識和操作技能,對學生畢業后進入社會后所從事的職業沒有任何用處,而真正許多實用性強、專業性強的課程和計算機應用軟件卻又沒有學到。因此,我們必須從以下幾方面對中職計算機課程體系及課程內容進程大力改革。
1 明確學生的培養目標
原來中職學生的培養目標,主要以掌握教材統一指定的理論知識與基本技能為主,學生是否畢業以統考、會考成績決定。畢業后,因培養目標、課程內容、操作技能不能與實際所需對口,導致很多學生難以找到適合自己的工作崗位。
從現在中職的培養目標及定位來說,中職學生應該是社會所需要的擁有一般化專業知識與中級或以上實踐操作技能的準職業人,而不是像大學本科生一樣,擁有很深厚的理論知識與專業技能。這就意味著中職計算機專業的學生,他們畢業后能在專業對口的普通崗位上找到適合自己的工作,而不是去搞科研或編寫大型的計算機軟件。如:機關、企事業中計算機網絡的管理、信息處理的多媒體設計制作、廣告影像行業的圖形圖像處理、設計行業的計算機輔助設計、辦公自動化中的設備應用和公文處理等,都缺少有一定技術水平的準職業人才。因此,在改革中職計算機專業的課程體系與課程內容之前,不能盲目開展,應做好充分的調查分析工作,從計算機專業細化的開設方向到實際應用,必須緊貼現實生活,最大可能的保持與信息技術發展趨勢、社會的用人需求同步。
北大青鳥在開設《JavaScript》課程之前,做了大量的企業調研與社會用人需求分析。調研結果顯示,中國近幾年互聯網行業的高速發展,使越來越多的企業認識到網站運營以及網站推廣的重要性,很多企業目前需要掌握一定的系統維護知識、網頁設計制作知識和網站維護相關知識的復合型技術人才。進一步分析了解這些崗位應具備的IT技能,從而設計出適應于中職學生的計算機課程體系,使學生所學知識具有很強的實用性,保證學生能夠在就業市場中具備競爭力,能夠滿足社會對人才的需求。結合目前中職學生的學習特點,將北大青鳥計算機專業學生的目標定位在培養網站運營人員,并對網站運營崗位從計算機技術層面劃分為三部分:除互聯網公司外的所有企業的網站維護員(涉及到JavaScript知識);網站制作公司的網頁設計師(涉及到JavaScript知識);中小企業網絡維護人員。
2 注重激發學生的學習積極性、培養學生的學習興趣
興趣是學習的內在動力,是學生自學最好的老師。原來的中職教程在內容設置方面,以理論居多,許多內容均滯后于時代的發展,涉及生活實際的知識、技能較少,涉及到實際項目的內容更少;理論作業偏多,實際操作較少;內容排版呆板,例圖、效果圖很少。
中職教育的對象多是學習上的后進生,學習主動意識和學習能力較低,接受新方法能力不強,在學習如果遇到較大困難或受到較大挫折,會打擊其學習的自信心與積極性,很可能放棄對專業課程的學習。我們在設置課程內容時,先設計內容的趣味性與生活實用性,讓學生快樂地學習專業理論知識與技能操作,通過設計來源于實際的案例或項目,讓學生掌握實用的知識技能。
北大青鳥在設計課程內容時,非常注重理論與案例、項目的設計與聯系。以《JavaScript》為例,教材內容圍繞一個完整的現實項目進行合理設計。在該教材中,每一章節的標題名稱,從學生第一感觀上就能激發其學習興趣。如:第1章 制作頁面日期和排行榜的顯示特效;第2章 制作隨鼠標改變背景的特效;第3章 制作頁面窗口特效 ……。在每章的各小節中均設計一個理論演示案例,同時針對每個演示案例,安排相應的理論知識點,對超出本演示案例的其他理論知識,不予考慮。如:1.1制作演示案例1-第一個嵌入JavaScript腳本的網頁;1.2制作演示案例2-顯示日期;1.3制作演示案例3-顯示星期幾……。在每章節的后面,設計了上機練部分,以鞏固學生的理論,提高學生的實際操作技能。如第1章上機實練部分為:實練案例1-隨機顯示圖片廣告;實練案例2-評比星級商鋪;實練案例3-北京奧運會倒計時……。在上機實練部分的后面,設計了作業。作業層次分明、由易到難,針對學生自身掌握的知識技能情況的不同,對完成作業的要求也不同。無論是理論案例,實練案例還是課后作業,均配有效果圖與分步操作圖文講述,在興趣的帶動下,學生通過自學就能完成簡單的學習任務。整個教材內容中的每個理論案例、上機實練案例、課后作業,設計安排合理,難易適度,更重要的是我們學生在現實生活中,可以很具體地看到它們應用于網站頁面的制作設計,很大程度上激發了學生的求知欲與學習興趣。本人將該教材應用于中職計算機軟件班,計算機網絡班的教學,兩年來學生的學習興趣濃,知識技能掌握好。
3 注重學生實踐知識、技能的培養,將學生培養成社會所需的準職業人
中職學生的就業現狀:許多的中職畢業生到單位工作,因原來所學知識與實際脫節,90%學生得從頭開始學習相應的知識與技能,給用人單位帶來時間、金錢上的極大浪費,甚至于失去就業的機會。
信息社會發展速度,社會對IT人才也不斷提出新的要求。我們在開設課程前應該研究企業、 用人單位對IT人才的需求現狀,分析對從業人員的技術要求,對計算機課程內容進行合理設計。在中職教學中我們提倡項目教學法,那么教材中所使用的項目一定要有很強的實用性,且與實際相結合。在課程設計中應以項目為導向,讓學生在學習過程中邊學習邊做項目,在做項目的過程中掌握相關知識及項目的開發過程,從而培養學生的動手能力和積累實踐經驗,以適應實際工作的需要。
北大青鳥對IT用人需求進行了大量的調查研究,選擇具有實用價值、與信息技術發展趨勢相符的項目去開設相應課程。其課程體系采用“以項目為導向”的課程設計方法,課程內容全部圍繞著完整的項目逐步進行,學生在學習過程中,也同時完成了實用性項目開發。在《JavaScript》課程中,每一章節所使用的理論演示案例、上機實練案例、課后作業,均是一個大項目中的某一組成部分。每一個案例是從整個項目分割出來的小項目,而且有一定的先后順序與難易梯度,由淺入深、循序漸進,先通過案例介紹基礎知識和基本操作,給學生打好基礎,然后通過大量的項目演練提高學生的熟練度和項目能力,充分調動學生學習興趣和學習積極性,直至學生掌握必備的專業知識和技能,達到培養目標,讓學生成為社會所需的準職業人。實際應用中,因為每個案例的制作,均涉及到項目中的某項內容,通過章節內容的逐步學習,學生將掌握整個項目內容所涉及到的理論知識與操作技能,理所當然能完成整個項目的制作。另外,由于所開設的項目具有實用價值,學生畢業后可以拿自己做好的項目去企業、用人單位去應聘,減少很多的應聘環節,毫無疑問這樣的學生具有很強的市場競爭力,很容易就找到與之專業對口的工作。本人將該教材應用到中職計算機軟件班與計算機網絡班,幾乎所有學生均能掌握所學的知識與技能,制作完成相應的項目。
4 大力改進教學法
由于教材內容以項目為導向進行的課程設計,所以我們應對教學方法進行改進。在多年的北大青鳥《JavaScript》教學中,本人總結如下經驗(以作借鑒):
1) 在每門課程的開始,由教師先講解課程目標,然后介紹在課程中要完成的項目;2) 為了讓學生能夠了解項目的具體功能,讓學生自己操作或是運行項目;3) 在后序的課程中,教師講解項目所涉及的知識、技能點;4) 以小組為單位,讓學生分階段上機進行項目開發與作業的完成,期間老師輔導答疑;5) 在課程教、學、做完成之后,即可完成整個項目;6)小組互評與老師點評相結合,總結提高;7) 完成好的項目讓學生保存好,做為實習、找工作、就業的寶貴材料之一。
培養學生自學能力與團結合協作的精神。IT行業及其應用技術發展迅猛,課堂上傳授的知識不可能解決學生在工作中遇到的所有問題。因此,培養學生的自學能力就顯得尤為重要。課程體系應始終貫穿這一思想,使學生意識到自學的重要性,并且教會學生如何去學習。在《JavaScript》實際教學中,指導學生進行項目開發時,每當遇到問題時,總是積極鼓勵學生自行尋找解決方案,從而提高學生的學習自信心和成就感,培養自學能力,使學生終生受益。同時,通過對學生進行一些小的團隊訓練,強調溝通能力和團隊合作精神在項目開發和實際工作中的重要性,提高學生的社交能力、溝通能力和團隊合作精神。
信息技術的發展可以說是日新月異,教育也應順應時代的變化,培養社會所需人才。所以,從中職教育的根本任務為出發點,為把中職學生培養成為社會所需的準職業人,我們急需對中職計算機程序設計課程的內容進行改革更新。
參考文獻:
[1] 婁毓滿.適應課程改革發展趨勢 提高教師教學實踐能力[J].安順師范高等??茖W校學報:綜合版,2006(2).
[2] 賀平.項目教學法的實踐探索[J].中國職業技術教育,2006(22).
雙語教學的背景和現狀計算機程序設計語言課程是國內外高校各本科專業均需開設的系列課程,主要包含“C/C++程序設計”課程、“Java程序設計”課程、“Web程序設計”課程等,部分較為重視計算機編程能力教育的高校還納入了Python、Matlab等程序設計語言課程。作為信息產業技術的基礎與核心,計算機程序設計語言課程的教學歷來受到國內外眾多高校、科研機構和行業企業的普遍關注與重視。由于信息產業技術起源于美、英等西方英語系發達國家,國際通用的主流計算機程序設計語言完全基于英語進行構造和描述,相關的技術前沿與行業標準的制定也均采用英語作為第一自然語言。國外英語系國家的計算機程序設計語言課程均采用英語作為教學語言,而法國、德國、西班牙、日本等非英語系發達國家則早在20年前就已經全面采用“母語+英語”的雙語教學模式進行計算機程序設計語言課程的講授,且英語講授的時間比例已逐漸超過母語。從整個計算機程序設計語言技術及其衍生產品的發展趨勢看,英語在這一領域的統治地位仍將持續相當長時間。與國外主流趨勢相比,由于缺乏同時具備計算機程序設計語言課程教學能力和英語授課能力的教師,國內的計算機程序設計語言課程雙語教學工作進展較緩慢。目前,在大部分國內院校中,計算機程序設計語言課程仍然基本采用中文作為第一教學語言,雙語教學或者全英文教學只作為一種輔助教學方式存在。與西方發達國家相比,我國的計算機程序設計語言課程雙語教學工作在數量和質量上仍有一定差距。然而,出于行業發展和國際化人才培養的必然需求,該項工作正日益受到國內高校的重視,雙語教學在計算機程序設計語言課程中的全面開展已逐漸成為主流趨勢。2001年8月教育部印發的《關于加強高等學校本科教學工作提高教學質量的若干意見》(教高[2001]4號文)明確指出,按照“教育面向現代化、面向世界、面向未來”的要求,為適應經濟全球化和科技革命的挑戰,本科教育要創造條件使用英語等外語進行專業課教學,高新技術領域的信息技術等專業更要先行一步。暫不具備直接用外語講授條件的學校、專業,可以對部分課程先實行外語教材、中文授課,分步到位。在教育主管部門和各高校的強力推動下,當前,雙語教學開展的規模和水平已成為眾多高水平大學教學工作評價標準中的重要組成部分。雙語教學在計算機程序設計語言課程教學中的實踐與應用,順應了國家高等教育發展的潮流和趨勢,符合學科與專業發展的要求,體現了“專業+外語”的復合型高層次國際化人才培養理念,對于推動本科教學質量更快更好地提升,具有重要的實踐意義。
二、計算機程序設計語言課程
雙語教學存在的問題當前,雙語教學模式在計算機程序設計語言課程中的實踐與應用,得到了大多數高校的認同與重視,但具體實施中,由于文化和意識上的差異,仍存在一些需要解決的問題。(1)雙語教學在計算機程序設計語言課程的教學中應用較少,影響較小,受眾面較為狹窄。目前,絕大多數高校面向非計算機專業的“C/C++程序設計”課程基本采用中文授課,所用教材、教輔資料和課件等教學資源也基本由中文進行描述。真正采用雙語教學授課的一般僅限于部分面向計算機專業的非第一門程序設計語言課程,且這部分課程能否持續實施雙語教學并不能得到保證。如果任課教師發生了變化,授課形式也可能隨之發生變化。(2)雙語教學在計算機程序設計語言課程中缺乏專業化的評價標準。幾乎所有的高校對課程的教學效果均采用相同的評價標準體系。然而,除去這一制度本身的不合理性之外,作為始終處于高速發展階段的計算機程序設計語言這一技術而言,對評價標準體系的專業化也是必然要求。此外,雙語教學作為一種有別于傳統中文教學的模式,在已習慣于接受中文知識傳授的中國學生群體當中進行實踐與應用,也應該采用一種更專業、更科學的評價標準體系。(3)國內雙語教學在計算機程序設計語言課程的課內實驗、課后輔導和考核過程中應用較少,與國際主流的“教、輔、考、實驗統一化”雙語教學模式相比有較大差距。目前,國內高校大多數計算機程序設計語言課程雙語教學,其雙語實施的過程僅局限于課堂講授環節,而在課內實驗、課后輔導和考核等環節,仍然采用中文進行相關工作。這種情況在一定程度上對雙語教學工作的順利開展起到了較為負面的作用和影響。(4)從事雙語教學的專業教師缺乏主動性的自我提升和發展意識。應該說,能夠從事雙語教學的專業教師均具有較好的英語語言水平和較高的程序設計語言課程授課能力。然而,主動性的自我提升和發展意識在這部分教師群體中仍較為匱乏,“等、靠、要”的傳統觀念仍具有相當的市場。(5)學生的英語水平限制了雙語教學工作的開展。由于我國的高中教育存在較大的地域差距,來自不同地區的學生英語水平相對而言也具有較大差距。尤其是在“聽”和“說”兩個重要環節,更限制了雙語教學工作的正常開展。此外,部分學生對于英文授課存在一定的抵觸與抗拒心態,在現實教學中也是客觀存在的。
三、提升計算機程序設計語言
課程雙語教學質量的策略根據前文所述的相關背景、現狀和存在的問題,結合多年從事計算機程序設計語言課程雙語教學工作的經歷,本文就如何提升計算機程序設計語言課程雙語教學質量提出如下建議:(1)強化教師與學生在宏觀層面上對雙語教學的認可與認知程度。計算機程序設計語言課程采用雙語教學模式,遠非簡單地將英語授課納入計算機程序設計語言課程的教學環節當中。其根本目的在于通過“外語為主+漢語為輔”教學方式,使學生在獲得專業知識的同時,能夠掌握與提高專業科技英語和日常交流英語的“聽說讀寫譯”能力,從而為具有國際化水準的專業科技人才培養工作奠定良好的基礎,在全球化的市場與行業的競爭中處于優勢領先地位。無論是教學工作的管理者、教師還是學生,對這個宏觀層面都應該有充分的認識和認可,從而在主觀上能夠更加積極、更加高效地投入到雙語教學工作中去。(2)盡可能地激發學生興趣,提升學生主觀能動性。傳統上,中國學生常年處于知識灌輸過程當中,對課堂教學過程缺乏興趣與主動,習慣于被動接受。在這種情況下,任課教師應該通過自身的學識、能力與魅力,結合市場與行業的現狀與趨勢,引入部分成熟的成功案例,在課堂教學過程當中對學生予以正確的指導。從某種程度上而言,能否激發學生的學習興趣,是教師教學能力最直接的體現。由于計算機程序設計語言屬于較為困難的課程,且結合雙語教學模式,在語言運用和理解上對教師和學生均提出了更高的要求。因此,這部分的工作可視為整個教學過程中最重要、同時也是最具有挑戰性的環節。以作者的經歷而言,一旦能夠激發起學生參與計算機程序設計語言雙語教學的興趣與熱情,所產生的效果要遠遠超出單純采用中文進行授課的模式。(3)雙語教學應貫穿于計算機程序設計語言課程整個教學環節。在課堂教學、課外輔導、課內實驗和考核過程等各方面全方位實施雙語教學,從而實現整個教學環節與國際化標準接軌。在具備一定條件的高校,可將相關課程的教材和教輔資料編寫、試題庫與資源庫建設等同樣納入雙語教學建設當中。如有可能,可將計算機程序設計語言課程的前后銜接課程均納入雙語教學模式。這種做法對于提高學生整體的英語應用水平、專業素質和市場競爭能力極為有效。(4)建立專業化的評價與保障機制。如前文所述,對計算機程序設計語言課程的雙語教學工作建立專業化的評價標準,一方面是程序設計語言這門現代技術本身的要求,另一方面,也是雙語教學有別于傳統中文教學的要求。生搬硬套傳統的針對中文授課模式的評價標準,不利于雙語教學工作在計算機程序設計語言課程中的應用與實踐,且會對開展此項工作的教師產生一定的負面影響。此外,教育主管部門和各高校的教學主管部門,應對雙語教學工作的開展給予適當的政策扶持,在課題立項、師資培訓、崗位晉升等方面予以充分的保障,從而提高教師采用雙語教學進行計算機程序設計語言授課的積極性與主動性。(5)從事相關工作的教師的自我提升與發展。從事計算機程序設計語言課程雙語教學對教師的業務水平和外語運用能力提出了相當高的要求。因此,從事相關工作的教師應主動加強自身水平與素質的提高,尤其是提高英語在計算機程序設計語言課程講授中的應用水平。有條件的高??捎心康?、有計劃地派遣相關教師赴國外知名院校進行課程進修與培訓,進一步提高雙語教學從業教師的整體水平與素質。
四、結語
雙語教學在我國還屬于一種比較新興的教學模式,在計算機程序設計語言課程教學當中,相關的雙語教學理念和教學實踐如何更好地符合我國的經濟與社會發展需求,還有待進一步地研究與探索。然而,在教育國際化、競爭全球化的今天,計算機程序設計語言課程雙語教學對培養具有國際化競爭能力的學生具有重要意義和價值,必將為高校相關專業的教學質量發展作出重要貢獻。
作者:潘磊 王遜 張靜 單位:江蘇科技大學計算機科學與工程學院
參考文獻
[1]陳紅霞.普通本科院校雙語教學存在的問題及對策[J].改革與開放,2015(4):88-89.
[2]許雪晶,佘玉萍,林元模.高級語言程序設計雙語教學探討[J].計算機教育,2014(22):57-58.
關鍵詞:程序設計語言;程序設計能力;分析要點
Teaching Main Point Analysis of Computer Programming Language Courses
Li Yongliang
(Shandong Transport Vocational College,Weifang261206,China)
Abstract:In computer science and computer non-computer major teaching,almost all schools set up high-level language programming course.Programming language teaching although it is difficult,but very meaningful,it is beneficial to develop creative thinking,help students develop problem-solving through computer awareness and ways.
Keywords:Programming language;Programming skills;Analysis
main points
在教學中與一些應用軟件或工具軟件相比,編程課程的教學具有較大的靈活性。很多學生的學習能力較差,課后不肯花時間,久而久之,導致聽不懂,給計算機編程語言課的教學帶來一定的難度。采用何種教學模式進行教學就成為編程
語言教學的一個關鍵。
一、引言
根據以往的教學經驗和通過與學生、同事之間的交流,得知部分學生反映上課時都能聽懂講解,可在涉及到具體的編程及上機操作時,往往會出現沒有思路、無從下手或錯誤百出,不會調試程序等各種情況,究其原因,在教學方面可能存在以下2個問題。
(一)過于注重對語句語法的講解,缺乏以算法為核心的編程題教學。教師鐘情于舉一反三地對使用語句、語法的深入教學,而不是有機地結合算法思想進行教學,貼近生活并引起學生興趣的編程題講得很少。由于教學不是站在如何應用計算機工具編程解決實際問題或實際項目的角度,就沒有把邏輯與編程解題思路放在主體地位,也就沒有很好講解如何分析問題和解決問題。結果導致學生程序設計能力、上機解題能力訓練不夠,更談不上引導學生進行課題研究和科研探索。
(二)學生厭倦傳統的課堂教學,缺乏師生之間的溝通交流學生對于先講后編、先聽后編這一傳統的課堂教學方式有厭倦心理。課堂成了教師的“一言堂”,教與學不能銜接起來。有時教師為了趕進度,講授法成了唯一的教學方法,師生之間缺乏足夠的交流和溝通,學生沒有有效、實用的學習輔助途徑,也間接影響著學生的學習興趣和學習效果。
二、程序設計能力認識
程序是軟件的本體,程序設計(Programming)是指設計、編制、調試程序的方法和過程。它應排除軟件開發中的工程與管理因素,主要指軟件開發過程中的技術因素,尤其是計算機技術因素。
根據調查分析,合格程序員必須具有:1.扎實的專業基礎知識;2.很強的綜合分析和解決問題的能力;3.熟練的編程調試能力;4.創新能力;5.團隊合作能力;6.持續的自學能力;7.強烈的好奇心;8.較高的英語水平和軟件工程的實踐能力等。
應看到,程序設計能力,并非完全等價于程序員所應具備的專業素質,它還包括其他一些內容,如:1.理解問題,根據已知條件,找出求解該問題的數學方法或建立相應的數學模型;2.歸納程序的基本功能;3.設計數據結構和算法;4.用程序設計語言實現算法描述;5.編譯與調試;6.測試程序,保證程序正常運行。
綜上所述,可以將程序設計能力定義為:依據程序設計思想與觀念,應用程序設計語言,采用相應程序開發技術和環境,進行程序設計并達到預計結果的程度。
三、要點分析
基于對程序設計教學思想、程序設計能力的認識,為使學生充分掌握程序設計的思想和方法,有效實現程序設計課程教學目標,我認為程序設計教學還應注意并強調以下幾個基本的教學任務和要求。
(一)應著重培養學生的結構化程序設計的基本觀念。結構化程序設計的基本思想是采用“自頂向下,逐步求精”的程序設計方法和“單入口單出口”的控制結構,它是程序設計的基本原理之一。貫徹課程始終、通過具體實例潛移默化地培養這一思想,比在軟件工程中空洞的說教,更容易被學生理解和接收。
(二)為了使初學者能盡快地掌握計算機知識,進入計算機的應用領域,在課程講授過程中,要特別注意培養學生的學習興趣。學習興趣就是學生在心理上對學習活動產生愛好、追求和向往的傾向,是推動學生積極主動學習的直接動力。學習興趣直接關系到教學效果的好壞。為提高學生的學習興趣,筆者歸納出6個辦法:1.通過演示程序突出程序語言的實用性;2.通過簡單的編程練習突出語言的易學性;3.運用恰當的類比使復雜問題形象化、簡單化;4.做到一題多解;5.要善于舉一反三;6.通過解決實際問題使學生樂學。
(三)教師在教學過程中引導學生思考和探索教學時發現,學生問不出問題的原因往往在于沒有真正學好。實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入。在教學過程中,引導學生在問題解決中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法充分調動了學生學習的積極性和主動性。
關鍵詞:課程改革;項目教學;準職業人
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2011)15-3638-02
Computer Programming Language of the Curriculum Reform
ZHU Geng-shen
(Linhai Secondary Vocational and Technical Schools, Linhai 317000, China)
Abstract: Improve their computer knowledge and practical ability for students to become quasi-professional personnel, vocational schools is the fundamental task of computer teaching.I will Beida Jade Bird programming language "JavaScript" curriculum used in teaching the theory and practice of computer operations, the design of the materials lead me to think about curriculum reform in vocational computer.Beida Jade Bird programming language a "project-oriented" curriculum design, curriculum projects all around the complete step by step, the students in the learning process, but also completed a practical project development, the design is not only recognized the studentsknow the law can fully mobilize the students interest in learning, improve their self-learning ability and the ability to solve practical problems, training of students and better able to adapt to current market demand for skilled software professionals.
Key words: curriculum reform; project teaching; quasi-professional person
目前中職計算機課程體系及課程內容設計存在著許多問題。在我國中職計算機教育中, 專業課程開設不大合理,教材內容設計不與實際應用相結合,程序設計課程教學內容要么過于簡單和籠統,要么過于復雜和高深,導致許多中職學生對編程學習產生嚴重的抵抗情緒,出現厭學、棄學現象,所學的部分程序設計知識和操作技能,對學生畢業后進入社會后所從事的職業沒有任何用處,而真正許多實用性強、專業性強的課程和計算機應用軟件卻又沒有學到。因此,我們必須從以下幾方面對中職計算機課程體系及課程內容進程大力改革。
1 明確學生的培養目標
原來中職學生的培養目標,主要以掌握教材統一指定的理論知識與基本技能為主,學生是否畢業以統考、會考成績決定。畢業后,因培養目標、課程內容、操作技能不能與實際所需對口,導致很多學生難以找到適合自己的工作崗位。
從現在中職的培養目標及定位來說,中職學生應該是社會所需要的擁有一般化專業知識與中級或以上實踐操作技能的準職業人,而不是像大學本科生一樣,擁有很深厚的理論知識與專業技能。這就意味著中職計算機專業的學生,他們畢業后能在專業對口的普通崗位上找到適合自己的工作,而不是去搞科研或編寫大型的計算機軟件。如:機關、企事業中計算機網絡的管理、信息處理的多媒體設計制作、廣告影像行業的圖形圖像處理、設計行業的計算機輔助設計、辦公自動化中的設備應用和公文處理等,都缺少有一定技術水平的準職業人才。因此,在改革中職計算機專業的課程體系與課程內容之前,不能盲目開展,應做好充分的調查分析工作,從計算機專業細化的開設方向到實際應用,必須緊貼現實生活,最大可能的保持與信息技術發展趨勢、社會的用人需求同步。
北大青鳥在開設《JavaScript》課程之前,做了大量的企業調研與社會用人需求分析。調研結果顯示,中國近幾年互聯網行業的高速發展,使越來越多的企業認識到網站運營以及網站推廣的重要性,很多企業目前需要掌握一定的系統維護知識、網頁設計制作知識和網站維護相關知識的復合型技術人才。進一步分析了解這些崗位應具備的IT技能,從而設計出適應于中職學生的計算機課程體系,使學生所學知識具有很強的實用性,保證學生能夠在就業市場中具備競爭力,能夠滿足社會對人才的需求。結合目前中職學生的學習特點,將北大青鳥計算機專業學生的目標定位在培養網站運營人員,并對網站運營崗位從計算機技術層面劃分為三部分:除互聯網公司外的所有企業的網站維護員(涉及到JavaScript知識);網站制作公司的網頁設計師(涉及到JavaScript知識);中小企業網絡維護人員。
2 注重激發學生的學習積極性、培養學生的學習興趣
興趣是學習的內在動力,是學生自學最好的老師。原來的中職教程在內容設置方面,以理論居多,許多內容均滯后于時代的發展,涉及生活實際的知識、技能較少,涉及到實際項目的內容更少;理論作業偏多,實際操作較少;內容排版呆板,例圖、效果圖很少。