于真
摘 要:程序設(shè)計(jì)基礎(chǔ)是高等院校計(jì)算機(jī)相關(guān)專業(yè)的基礎(chǔ)課程,針對(duì)我校具體的學(xué)生學(xué)習(xí)情況,本文將分模塊實(shí)例化教學(xué)方法引入課堂教學(xué),通過一些實(shí)例來將抽象的概念形象化。從實(shí)際授課效果來看,學(xué)生更容易接受相關(guān)知識(shí)點(diǎn),提高了學(xué)習(xí)效果,具有良好的理論意義和實(shí)際意義。
關(guān)鍵詞:C語言;分模塊;實(shí)例化;教學(xué)方法
1 緒論
我校信息技術(shù)專業(yè)的程序設(shè)計(jì)基礎(chǔ)課程使用C語言來編程,授課的對(duì)象是新生,絕大多數(shù)是原來沒有編程基礎(chǔ),對(duì)于很多抽象概念接受起來有難度。特別是有些程序設(shè)計(jì)的理論本身比較抽象,傳統(tǒng)教學(xué)方式很難將其形象化、具體化,學(xué)生學(xué)習(xí)起來感覺生澀難懂,打擊了學(xué)生學(xué)習(xí)課程的積極性。[1]
現(xiàn)有的一些程序設(shè)計(jì)類的教學(xué)改革是引入一些案例來啟發(fā)教學(xué),或者任務(wù)驅(qū)動(dòng)來提高積極性。但是很多方法缺乏課程知識(shí)點(diǎn)的系統(tǒng)性梳理,難以讓學(xué)生對(duì)課程內(nèi)容整體上有深入的理解和認(rèn)識(shí)。對(duì)大綱內(nèi)容做模塊劃分,在每個(gè)模塊以實(shí)例化、形象化為引導(dǎo)。
[2]
本文將分模塊實(shí)例化貫穿于課堂教學(xué),通過一些實(shí)例來將抽象的概念形象化,從而提高第一門程序設(shè)計(jì)語言的學(xué)習(xí)效果。
2 分模塊實(shí)例化
C語言的基礎(chǔ)知識(shí)點(diǎn)繁雜,系統(tǒng)的歸納之后,本項(xiàng)目研究的基本內(nèi)容包括:1)基礎(chǔ)模塊,包括一些基本概念,3種基本結(jié)構(gòu)和數(shù)組;2)函數(shù)模塊;3)指針模塊;4)結(jié)構(gòu)體模塊。在這幾大模塊中,每一個(gè)模塊設(shè)計(jì)典型實(shí)例,每一模塊的主要知識(shí)點(diǎn)利用該實(shí)例進(jìn)行形象化和具體化,連貫起來,而不是僅僅通過實(shí)例去介紹某個(gè)知識(shí)點(diǎn),而是通過實(shí)例的活動(dòng)來將所有主要知識(shí)點(diǎn)貫穿起來,通過現(xiàn)實(shí)世界的例子來促進(jìn)學(xué)生的理解和接受。[3]
2.1 基本知識(shí)模塊
很多同學(xué)理解不了變量的本質(zhì),本研究預(yù)計(jì)用杯子來對(duì)變量進(jìn)行實(shí)例化,變量就像是杯子,是一種容器,承裝某些事物,它有大小與類型。數(shù)據(jù)類型轉(zhuǎn)換是學(xué)生不好理解的知識(shí)點(diǎn),可以通過大杯子、小杯子的互相裝載可以進(jìn)行形象化介紹。三種基本結(jié)構(gòu)的學(xué)習(xí),可以通過學(xué)生在現(xiàn)實(shí)生活中的每日活動(dòng)流程,或者復(fù)讀機(jī)等具有一些特性的活動(dòng)和事物去設(shè)計(jì)。數(shù)組的理解也是一個(gè)難點(diǎn),這時(shí)就可以利用前面的杯子實(shí)例去拓展,數(shù)組猶如杯架,承載若干杯子。
1)變量、數(shù)據(jù)類型。變量是第一個(gè)學(xué)生需理解的知識(shí)點(diǎn),包括變量的定義,變量的存放,變量的賦值等,那么,我們引入杯子可以描述變量,當(dāng)講述變量的定義時(shí),我們可以說拿到了一個(gè)具體的杯子,這個(gè)杯子有個(gè)名字,相當(dāng)于變量名;這個(gè)杯子里面可以盛放一些數(shù)據(jù),相當(dāng)于為變量開辟內(nèi)存空間,往里面存入數(shù)據(jù),并且對(duì)變量賦值。變量具有不同的類型,我們拿不同大小的杯子表示占用不同的字節(jié),小杯子的內(nèi)容倒到大杯子里可以,但是大杯子里的東西倒進(jìn)小杯子就會(huì)溢出,可以用這一個(gè)例子來解釋賦值兼容。
2)順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。當(dāng)學(xué)到三種基本結(jié)構(gòu)時(shí),可以通過學(xué)生在現(xiàn)實(shí)生活中的每日活動(dòng)流程來描述順序結(jié)構(gòu)和選擇結(jié)構(gòu)。此外,可以通過復(fù)讀機(jī)、音樂軟件的循環(huán)播放等學(xué)生們都使用過的事物來進(jìn)行類比說明,從而介紹循環(huán)的起點(diǎn)、終點(diǎn)以及循環(huán)的內(nèi)容。
3)數(shù)組。數(shù)組是學(xué)生學(xué)習(xí)的一個(gè)重點(diǎn),也是一個(gè)難點(diǎn)。數(shù)組類型是相同類型的數(shù)據(jù),可以用杯架中放著同樣大小的杯子來類比說明,數(shù)組的定義可以用取得一個(gè)全是杯子的杯架來說明,對(duì)于數(shù)組元素的使用就像對(duì)里面每個(gè)杯子存取數(shù)據(jù),每個(gè)杯子有一個(gè)標(biāo)號(hào)來代表,即為數(shù)組的下標(biāo)。
2.2 函數(shù)模塊
函數(shù)模塊中,理解函數(shù)的定義和調(diào)用是一個(gè)難點(diǎn),本研究計(jì)劃引入機(jī)器人來貫穿講解函數(shù)的所有知識(shí)點(diǎn),包括封裝的概念,函數(shù)定義的概念,函數(shù)調(diào)用的方式,均可以用機(jī)器人的特性去解釋。
2.3 指針模塊
指針模塊中,指針變量的使用是一個(gè)難點(diǎn),本研究計(jì)劃從現(xiàn)實(shí)世界的角色定位來引導(dǎo),并通過遙控器這一實(shí)例去形象化指針概念。遙控器可以來貫穿講解指針模塊中的所有知識(shí)點(diǎn),包括指針的定義,指針的使用,指針指向數(shù)組,指針變量作為函數(shù)參數(shù)等。
2.4 結(jié)構(gòu)體模塊
結(jié)構(gòu)體模塊中,如何定義、使用結(jié)構(gòu)體變量是一個(gè)難點(diǎn)。本研究計(jì)劃從肯德基的套餐來進(jìn)行實(shí)例化設(shè)計(jì)。套餐可以貫穿講解結(jié)構(gòu)體模塊中的所有知識(shí)點(diǎn),包括結(jié)構(gòu)體類型的定義,結(jié)構(gòu)體變量的聲明,結(jié)構(gòu)體變量的使用等。
通過這些現(xiàn)實(shí)世界中實(shí)例的利用,可以融會(huì)貫通每一個(gè)模塊中的絕大多數(shù)知識(shí)點(diǎn),讓學(xué)生把抽象的概念聯(lián)系到熟悉的現(xiàn)實(shí)世界,可以激發(fā)興趣,并從整體上提高學(xué)生對(duì)本課程內(nèi)容體系的理解程度。
3 結(jié)論
本文的教學(xué)方法可應(yīng)用于程序設(shè)計(jì)基礎(chǔ)的理論和實(shí)驗(yàn)教學(xué),促進(jìn)學(xué)生更好的理解課程內(nèi)容,提高自己的編程水平。通過系統(tǒng)的課程學(xué)習(xí),學(xué)生應(yīng)能理解基本的概念定義,三種基本結(jié)構(gòu),熟練使用循環(huán)結(jié)構(gòu)進(jìn)行程序設(shè)計(jì),熟練利用數(shù)組處理批量數(shù)據(jù),熟練用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì),善于利用指針,可以自己建立數(shù)據(jù)類型。從而達(dá)到學(xué)生對(duì)課程內(nèi)容體系有系統(tǒng)的理解和更加深入的認(rèn)識(shí)這樣一個(gè)教學(xué)目的。
參考文獻(xiàn):
[1]張波,雷東升.模塊化案例教學(xué)在“C語言程序設(shè)計(jì)”課程中的應(yīng)用.計(jì)算機(jī)教育,2009(21):62.65.
[2]熊高君,朱同林,趙妮.C語言課堂教學(xué)中的趣味性探討——函數(shù)與結(jié)構(gòu)的趣味性研究.計(jì)算機(jī)教育,2008(18):84.85.
[3]高挺挺.模塊化案例教學(xué)在C語言教學(xué)中的應(yīng)用.電腦知識(shí)與技術(shù),2015,11(10):113.114.