前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高級語言程序設(shè)計的鞏固教學范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:高級語言程序設(shè)計在高校信息技術(shù)類專業(yè)中非常重要。為鞏固學生在學習高級程序設(shè)計語言后解決問題的能力,該文提出一種基于圖形的高級程序設(shè)計語言的鞏固教學方法。該方法主要采取以圖形的形式表述課程知識點,設(shè)計圖形繪制相關(guān)課題給學生訓練,幫助學生理解、提高學習興趣,分組討論、實踐并考核。經(jīng)過兩屆學生的檢驗,方法可行,效果良好。
關(guān)鍵詞:圖形;程序設(shè)計;鞏固教學;高級語言;DirectX
1引言
自從計算機發(fā)明出來,直到現(xiàn)在,它仍對人們的生產(chǎn)、生活產(chǎn)生著巨大的影響。計算機在各個領(lǐng)域中的普及和應(yīng)用,使得高級語言程序設(shè)計成為信息技術(shù)類專業(yè)的核心課程。由于高級程序語言與自然語言的差異性,算法邏輯性強、概念抽象,以現(xiàn)有方式講授,學生在學習高級程序設(shè)計語言時,非常吃力。在一些高等院校中,雖然學生上完高級程序設(shè)計語言和數(shù)據(jù)結(jié)構(gòu)兩門課程,已經(jīng)掌握一定的編程基礎(chǔ),但是僅是在理論層面上和簡單知識點上,還未能用于解決實際問題或復雜問題。因此,有必要在后續(xù)實踐課程、必修課或選修課中,融入程序設(shè)計的要求,以使學生在畢業(yè)前,掌握足夠的能力。
2相關(guān)工作
“十三五”期間的《教育部關(guān)于加強高等學校在線開放課程建設(shè)應(yīng)用與管理的意見》希望能夠通過多種方式使用在線開放課程,以達到人才的培養(yǎng)目標。范江波等[1,2]提到教師的教學應(yīng)以知識習得為目的,從“知識型教學”向“能力型教學”轉(zhuǎn)變,主導教學過程,設(shè)計課上和課下相結(jié)合,翻轉(zhuǎn)與討論相結(jié)合,促進學生的深度學習。教師要啟發(fā)學生的興趣,讓學生喜歡上編程,同時課上講精、講清知識的脈絡(luò)。在高級語言程序設(shè)計教學中,往往會采用多媒體或計算機教學,課堂大多以理論灌輸為主,學生只能被動地接受這種灌輸,整個教學過程缺乏師生間的溝通,學生的自主學習性便無法充分調(diào)動。實踐環(huán)節(jié),由于課時不足、學生理解能力有限、實踐內(nèi)容及實踐方法不合適等原因,教師并未有效培養(yǎng)學生的創(chuàng)新能力,導致學生在實踐過程中只能根據(jù)指導書步驟來輸入代碼,甚至不清楚所輸入代碼的含義[3]。在實驗過程中,學生理解能力或?qū)W習態(tài)度不一致,導致學習步調(diào)不一。針對某些學生的某些問題進行輔導,讓其他學生等待,是一種浪費。制作精美的微課件和微視頻,可以滿足人們對可視化畫面的使用愛好,增添趣味性和吸引力[4]。張榮等[5,6]提出在進行教學設(shè)計的過程中,創(chuàng)設(shè)學習情境是一個重要原則。他們使用大家熟悉的人物圖像作為角色排隊來講述排序算法,利于激發(fā)學生的學習興趣。陳靜在文章[7]中針對課堂教學形式單一,理論與實踐脫節(jié);“學而不知所用”感強烈等問題,提出一種基于任務(wù)驅(qū)動的高級語言程序設(shè)計課程改革,其間讓學生兩到三人一組,合作設(shè)計完成任務(wù),相互討論學習,消除知識茫然感。但是它并未涉及任務(wù)內(nèi)容或形式。陳彥君等[8]提到對于高級語言程序設(shè)計課程,注重編程能力的培養(yǎng),筆試不能很好地測驗出來,應(yīng)通過實踐測評學生程序設(shè)計能力,線下課堂交流考查學生學習結(jié)果,培養(yǎng)學生理論與實踐并重的素養(yǎng)和能力?;趫D形的教學在初等或中等教育中,已經(jīng)使用得很多。王婷[9]提到從小人們學習知識都是由看圖識字、看圖說話來展開的,從圖的方式去理解事物是一種最直觀的方法。針對初中生的編程教學,有很長一段時間是采用VisualBasic來實踐,雖然它是可視化的編程工具,但是功能程序部分仍然是要文本編輯,學生在學習過程中容易覺得編程學習枯燥乏味。現(xiàn)在已經(jīng)有很多轉(zhuǎn)換成使用圖形化編程來代替。比如:Scratch、Hop⁃scotch、Alice等,還有Code.org在線平臺。用戶可以通過類似玩積木拼搭的方式,用一塊塊代表不同代碼的圖形模塊進行編程,構(gòu)建出可以運行的程序,可以是應(yīng)用或游戲。讓學生對程序設(shè)計學習產(chǎn)生興趣,激發(fā)自主學習性和創(chuàng)新思維[10]。當前學習程序設(shè)計等課程,也可以采用圖形的方式,解釋復雜的原理過程。還使用該方法把一段文字轉(zhuǎn)換成了一個知識圖。通過一種圖形化存儲的動態(tài)分析方法,將抽象的內(nèi)存分配、變量值的變化過程直觀地展示給學生,幫助學生理解相關(guān)知識點[11,12]。該方法主要是涉及知識點的圖形化,還未讓學生使用這些知識去開發(fā)一些讓自己可直觀看到的東西。在實際教學過程中,由于每一門課都會涉及的很多其他內(nèi)容,所以不可能面面俱到,只要有關(guān)系,就必須講,而是有側(cè)重點,課時有限等原因,甚至把不重要的內(nèi)容透明化。比如:在C語言程序設(shè)計過程中,并不會去解釋main函數(shù)如何被調(diào)用。在講授圖像處理過程中,使用Matlab作為開發(fā)工具,將隱藏文件讀取、圖像顯示等功能代碼。
3基于圖形的鞏固教學思路
針對上過高級語言程序設(shè)計課程的學生,在解決問題的能力上還有欠缺,需要借助后續(xù)的實踐課程或其他專業(yè)課程來加強?;趫D形的高級語言程序設(shè)計鞏固教學思路,在知識點描述上,使用圖形讓學生更直觀地理解所述內(nèi)容;在程序設(shè)計上,借助DirectX圖形程序設(shè)計開發(fā)類庫,讓學生進行圖形開發(fā),提高學生學習的興趣。該教學思路主要從以下方面開展。
3.1用圖形展示知識結(jié)構(gòu)
對于還未開展過大項目開發(fā)的學生來說,一個DirectX圖形項目代碼,涉及的內(nèi)容太多。若讓學生自己看懂整個項目代碼,理清思路,是比較困難的。而實際上,當前的主要任務(wù)也不是搞懂整個項目,而只是需要能夠了解框架,能夠使用該框架,加入必要的代碼來繪制特定圖形。因此,在線下,課前,教師需要把整個項目的框架,通過框圖的方式展示給學生,僅需要對后面可能會修改的區(qū)域做相對詳細的介紹。該框架以wWinMain函數(shù)為主體,其間調(diào)用到InitWindow、InitDevice、Ren⁃der等函數(shù)。圖中粗略介紹各個函數(shù)的調(diào)用關(guān)系和函數(shù)內(nèi)的主要功能.通過這樣一個框架圖,學生可以了解到整個項目的運行,而又不用陷入各種細節(jié)中去,無法理清頭緒。教師在講解過程中,可以側(cè)重于CreateWindow和ClearRenderTargetView兩個函數(shù),讓學生知道基于該項目,可能會修改到的地方及其用途。
3.2提出創(chuàng)新性圖形繪制任務(wù)
在傳統(tǒng)的命令行式窗口中,輸出只能是以可打印的字符形式出現(xiàn),因此,傳統(tǒng)的任務(wù)通常是要求用字符打印出不同圖案,或者對序列排序后打印出來等等。跟傳統(tǒng)的方法不一樣,這里采用圖形窗口程序為基礎(chǔ),教師可以根據(jù)基礎(chǔ)項目的內(nèi)容,要求學生在此基礎(chǔ)上開展各種圖形的繪制。比如:前面的Tutori⁃al01項目,可以要求修改窗口大小、變換背景顏色、讓背景色隨著時間不斷漸變。這樣讓學生直觀地看到自己修改的效果,提高學習興趣。若對基礎(chǔ)項目僅進行單個簡單的修改,那么跟傳統(tǒng)的方式差別不大,因此,需要構(gòu)思一些相對復雜的任務(wù),但把任務(wù)分解,各個子問題不用太大,避免需要花費太多時間才能理解,而失去信心。比如:隨著課程的開展,逐漸深入,InitDevice函數(shù)將變得更加復雜?;谶@個項目,就可以引申出,修改著色器、增加頂點、修改變換矩陣等等??梢砸髮W生繪制圖形式的問題:畫點、畫線、擦除、正弦線,跟其他課程知識相結(jié)合。
3.3小組開發(fā)和考核
在相同班級中,學生的水平也是參差不齊的,而且有些學生想對于跟教師,更習慣跟學生交流,因此,該鞏固教學采用分小組的形式來開展討論和開發(fā)。小組共同分析所給任務(wù),討論思路,接下來每個人都進行編寫代碼。分組的時候,主要以自愿為主,根據(jù)具體情況做微調(diào)。這樣他們相互溝通順暢些,同時避免強強聯(lián)手,弱者聚群,起不到相互指導的作用。通常分小組的一個弊端,就是有些學生會僅掛名,不動手。這就需要在考核的時候規(guī)避這個問題。采取逐個答辯的方式來考核。答辯的時候,需要教師對整個任務(wù)有深入的了解,針對學生的代碼,抽取具體功能代碼段進行問答,以此來得出學生的評價。當學生對所問問題都能回答到位,基本上也就掌握所作任務(wù)了。
4教學開展效果
依據(jù)前面敘述的教學方法,切實使用到了兩屆學生的課程中。第一屆為選修課“計算機圖形與動畫技術(shù)”,共31人選修;第二屆為必修課“圖形圖像處理”,共53人上。從成績分布來看,基本上成正態(tài)分布,能夠區(qū)分學生的水平層次。學生反應(yīng)良好,從課程學習過程中,不僅學到計算機圖形相關(guān)的內(nèi)容,還提高了程序設(shè)計能力。
5結(jié)論
該文針對上完高級程序設(shè)計語言課程后,能力還未能解決實際問題,需要鞏固的情況,提出一種基于圖形的高級程序設(shè)計語言鞏固教學方法。在其他課程開展過程中,以圖形的方式展示主要的知識脈絡(luò)和架構(gòu),再以圖形設(shè)計內(nèi)容為學生設(shè)計題目,并進行分組實現(xiàn)和考核。經(jīng)過兩屆學生的使用檢驗,方法可行,效果良好。當然,知識架構(gòu)的圖形化和題目設(shè)計,對不同的課程需要,仍需要相應(yīng)的分析和設(shè)計。
參考文獻:
[1]范江波,張建兵.高級語言程序設(shè)計混合式教學的系統(tǒng)構(gòu)建與實踐[J].教育教學論壇,2018(44):130-131.
[2]李華新,李望秀.地方高校計算機專業(yè)混合式實踐教學模式探究[J].現(xiàn)代教育科學,2016(04):51-56.
[3]楊博寧.高級語言程序設(shè)計混合式教學體系構(gòu)建[J].計算機產(chǎn)品與流通,2019(01):243.
[4]彭瓊,彭浩,劉雯萱.基于微課的“高級語言程序設(shè)計”教學模式改革研究[J].微型電腦應(yīng)用,2018,34(12):8-10.
作者:鄧正杰 蔣文娟 莫壯堅 單位:海南師范大學信息科學技術(shù)學院