孫 慧
(重慶人文科技學(xué)院,重慶401524)
在教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)編制的《關(guān)于進(jìn)一步加強(qiáng)高等學(xué)校計(jì)算機(jī)基礎(chǔ)教學(xué)的意見暨計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求》中,提出了“1 +X”的課程方案,即1門“大學(xué)計(jì)算機(jī)基礎(chǔ)”加幾門重點(diǎn)課程。對(duì)于“1 +X”方案中的其他課程,學(xué)校應(yīng)根據(jù)情況確定。C 語言程序設(shè)計(jì)課程是電子類專業(yè)學(xué)生進(jìn)入高校接觸的第一門計(jì)算機(jī)語言類課程,由于該課程在專業(yè)學(xué)習(xí)中的重要地位,因而它對(duì)奠定學(xué)生從事計(jì)算機(jī)、單片機(jī)、自動(dòng)控制、PLC、SOPC、EDA 等后續(xù)課程的良好基礎(chǔ)特別重要。這需要授課教師根據(jù)課程目標(biāo),精心設(shè)計(jì)和組織教學(xué)內(nèi)容。
電子類專業(yè)培養(yǎng)的是熟練掌握現(xiàn)代電子技術(shù)理論、通曉電子系統(tǒng)設(shè)計(jì)原理與設(shè)計(jì)方法、具有軟硬件工程開發(fā)能力的綜合性技術(shù)人才。因此,C 語言電子類專業(yè)的人才培養(yǎng)是非常重要的,其重要性主要體現(xiàn)在以下幾個(gè)方面。
電子設(shè)計(jì)競賽是面向電子類專業(yè)大學(xué)生的群眾性科技活動(dòng),目的在于推動(dòng)全國高等學(xué)校信息與電子類學(xué)科,進(jìn)行面向21 世紀(jì)的課程體系和課程內(nèi)容的改革,有利于培養(yǎng)大學(xué)生的創(chuàng)造力、應(yīng)變能力和拼搏精神,是促進(jìn)電子類專業(yè)理論和實(shí)踐教學(xué)改革的強(qiáng)大動(dòng)力。電子設(shè)計(jì)大賽作品的控制部分由MCU實(shí)現(xiàn),如DSP、51 單片機(jī)等,顯然,控制部分的軟件部分也是由C 語言完成。若利用匯編語言來實(shí)現(xiàn)控制部分,可能碰到一些具體問題非常不方便處理。例如,處理浮點(diǎn)數(shù)。C 語言在此方面卻非常簡單方便,這是因?yàn)楦↑c(diǎn)數(shù)在C 語言中是以IEEE 格式存儲(chǔ)的,一個(gè)浮點(diǎn)數(shù)占用四個(gè)連續(xù)字節(jié)。要將一個(gè)浮點(diǎn)數(shù)存入EEPROM,實(shí)際上就是要存這四個(gè)數(shù)。那么如果要訪問浮點(diǎn)數(shù),只要設(shè)法找到存儲(chǔ)位置就可以了。C 語言中提供了一個(gè)void 指針,將此指針指向需要存儲(chǔ)的浮點(diǎn)數(shù),然后將此指針強(qiáng)制轉(zhuǎn)化成char 型,就可以得到組成該浮點(diǎn)數(shù)的各個(gè)字節(jié)的值了。因此,在電子設(shè)計(jì)大賽的培訓(xùn)階段,通常將C 語言的編程練習(xí)作為其中一個(gè)非常重要的環(huán)節(jié)。
作為多元化教學(xué)模式的一個(gè)重要環(huán)節(jié),應(yīng)積極組織年級(jí)專業(yè)內(nèi)興趣小組的建立和活動(dòng)的開展,比如電子制作、家電維修、EDA 設(shè)計(jì)、網(wǎng)頁制作等。定期或不定期地開展形式多樣的活動(dòng)。例如,C 語言興趣小組定期舉辦編程比賽,選題如貪吃蛇、繪制余弦曲線、捕魚和分魚等活動(dòng),學(xué)生從中學(xué)到了很多C 語言庫函數(shù),收獲非常大,充分展現(xiàn)了個(gè)人風(fēng)采。
隨著電子信息技術(shù)的高速發(fā)展,各個(gè)公司為了提高市場占有率,對(duì)軟件或者硬件的開發(fā)人才要求越來越高。很多大型企業(yè)要求求職者需要具備比較高端的硬軟件開發(fā)技術(shù),如嵌入式系統(tǒng)、ARM 單片機(jī)、DSP、FPGA 等。據(jù)有關(guān)報(bào)道,在沿海大城市,電子信息類工作中DSP 很受青睞,還有C 底層開發(fā)和ARM單片機(jī)。有人認(rèn)為,現(xiàn)在不再是“學(xué)好數(shù)理化,走到哪里都不怕”的時(shí)代了,而是“學(xué)好C 語言,走到哪里都不怕”。
筆者在講授過程中,將整個(gè)課程內(nèi)容分為C 語言基礎(chǔ)、程序設(shè)計(jì)流程控制、數(shù)組與字符串處理、函數(shù)及其應(yīng)用、指針及其應(yīng)用、擴(kuò)展數(shù)據(jù)類型及文件、底層資源控制等7 個(gè)專題。
根據(jù)電子類專業(yè)的培養(yǎng)方案,按照應(yīng)用型人才培養(yǎng)的目標(biāo),筆者在實(shí)際的講授過程中,實(shí)施了以下教學(xué)改革方案:
在正式學(xué)習(xí)課程之前,教師應(yīng)該首先讓學(xué)生明確這門課程在本學(xué)科中的地位,學(xué)習(xí)這門課程的目的和作用,以及可能對(duì)今后工作的影響。充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性,明確學(xué)習(xí)目的。由于本專業(yè)的特點(diǎn),專業(yè)課程中與硬件相關(guān)的課程非常多,并且雖然不是計(jì)算機(jī)專業(yè),但也會(huì)涉及到專業(yè)領(lǐng)域的編程,包括軟件和硬件。因此,并不是只有計(jì)算機(jī)專業(yè)的學(xué)生才需要編程,電子信息類專業(yè)的學(xué)生同樣需要編程,只是與其他專業(yè)側(cè)重點(diǎn)不同。由于C 語言能夠直接對(duì)硬件進(jìn)行操作,因此,我們將C 語言作為本專業(yè)的基礎(chǔ)編程語言。在學(xué)習(xí)C 語言之后,學(xué)生可以參加國家級(jí)或省級(jí)計(jì)算機(jī)等級(jí)考試,在就業(yè)時(shí)必然會(huì)更多地得到用人單位的青睞。
C 語言的主要作用是面向操作系統(tǒng)(如Windows、Unix)進(jìn)行底層程序開發(fā),如系統(tǒng)內(nèi)核等;在應(yīng)用層上可以解決簡單算術(shù)問題;開發(fā)桌面應(yīng)用程序;編寫一些嵌入式軟件;編寫一些硬件的驅(qū)動(dòng)程序等。如底層資源控制這部分專題,把一些中斷、串口、接口技術(shù)介紹給學(xué)生,便于他們后續(xù)課程的學(xué)習(xí)。在C語言課程的教學(xué)上,語法和算法同樣重要,教師在教學(xué)過程中應(yīng)以程序設(shè)計(jì)方法為主線,把軟件工程的思想貫穿于教學(xué)過程,這在后續(xù)的課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)中較為實(shí)用。
充分利用多媒體教學(xué)手段,提高課堂教學(xué)信息容量,創(chuàng)設(shè)多樣化的學(xué)習(xí)情境,對(duì)重點(diǎn)、難點(diǎn)內(nèi)容列舉更多實(shí)例,進(jìn)行分析、編程,讓學(xué)生逐漸理解、掌握這部分內(nèi)容。如介紹排序算法、函數(shù)遞歸、指針等內(nèi)容時(shí),僅使用PPT 課件,在介紹知識(shí)時(shí)會(huì)顯得比較單薄,使用Flash 設(shè)計(jì)動(dòng)畫體現(xiàn)算法的執(zhí)行步驟,輸出算法的每步結(jié)果,會(huì)使枯燥的程序變得生動(dòng)有趣。
利用C 語言解決很多實(shí)際問題具有優(yōu)勢(shì),在設(shè)計(jì)實(shí)例時(shí),盡可能多地列舉實(shí)際問題,如用C 語言寫成的五子棋游戲、各種硬件驅(qū)動(dòng)程序、嵌入式程序(例如一些車載導(dǎo)航系統(tǒng)、微型手持設(shè)備等),還有Linux、Windows 等操作系統(tǒng),教學(xué)就會(huì)更加深入和生動(dòng),學(xué)生學(xué)習(xí)起來不會(huì)感到抽象和枯燥。
根據(jù)電子類專業(yè)學(xué)生的特點(diǎn),成立興趣小組。例如,以常見算法為單位,分成排序算法小組、查找算法小組、矩陣算法小組、字符處理小組、遞歸算法小組等,經(jīng)過這些小算法的深入學(xué)習(xí),最終弄清了八皇后、漢諾塔、五子棋、管理系統(tǒng)等問題,既提高了學(xué)生的動(dòng)手能力和自學(xué)能力,又初步培養(yǎng)了學(xué)生的自信心與成就感,有助于加強(qiáng)學(xué)生的團(tuán)結(jié)協(xié)作精神,建立團(tuán)隊(duì)攻關(guān)意識(shí),互幫互助、共同進(jìn)步。
[1] 王莉. 電子信息工程專業(yè)中的C 語言教學(xué)[J]. 科技視界,2013(9):208 -231.
[2] 劉莉,陶強(qiáng).C 語言在電子類專業(yè)教學(xué)過程中的地位和作用[J].計(jì)算機(jī)教育,2012(8):47 -50.
[3] 程海,黃春光,楊自恒,等.C 語言在電子信息專業(yè)中的發(fā)展[J].中國科技信息,2013(10):242.
[4] 夏春華. 大學(xué)生電子設(shè)計(jì)競賽與電子類專業(yè)教學(xué)改革[J].武漢科技學(xué)院學(xué)報(bào),2005(11):227 -229.
[5] 蘇仰娜.C 語言程序交互式虛擬算法動(dòng)畫的開發(fā)與教學(xué)應(yīng)用[J].電化教育研究,2010(4):72 -74.
[6] 張海玉.C 語言程序設(shè)計(jì)教學(xué)方法探析[J]. 山西財(cái)政稅務(wù)??茖W(xué)校學(xué)報(bào),2006,8(1):72 -74.