張亞萍
(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000)
C語(yǔ)言輔助教學(xué)系統(tǒng)的開發(fā)
張亞萍
(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000)
為了解決“C程序設(shè)計(jì)”課程教學(xué)中存在的知識(shí)點(diǎn)龐雜、教學(xué)方式單一、理論算法抽象等問(wèn)題,采用B/S三層體系結(jié)構(gòu)、以JSP為開發(fā)工具、以Sqlserver2008為后臺(tái)數(shù)據(jù)庫(kù),開發(fā)C語(yǔ)言輔助教學(xué)系統(tǒng).通過(guò)對(duì)課堂案例、經(jīng)典算法、在線練習(xí)等模塊的學(xué)習(xí),培養(yǎng)了學(xué)生自主學(xué)習(xí)的能力,訓(xùn)練了學(xué)生編程思維的能力,使學(xué)生收獲自信,體會(huì)到C語(yǔ)言學(xué)習(xí)的樂(lè)趣.
課堂案例;輔助教學(xué);經(jīng)典算法;在線練習(xí)
“C程序設(shè)計(jì)”是計(jì)算機(jī)專業(yè)、電子專業(yè)、光電專業(yè)等的一門重要的專業(yè)基礎(chǔ)課,它還是數(shù)據(jù)結(jié)構(gòu)、微機(jī)原理、單片機(jī)原理等課程的前導(dǎo)課程,所以說(shuō)如果同學(xué)們不能對(duì)“C程序設(shè)計(jì)”的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ),將對(duì)后續(xù)課程的學(xué)習(xí)帶來(lái)很大的麻煩.由于“C程序設(shè)計(jì)”的理論抽象,語(yǔ)法、知識(shí)點(diǎn)結(jié)構(gòu)龐雜等特點(diǎn),使得大部分老師都是采用課件與板書結(jié)合進(jìn)行滿堂灌的教學(xué)方式,這種傳統(tǒng)的“重語(yǔ)法、輕算法”的教學(xué)方式[1],難以調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性.針對(duì)“C程序設(shè)計(jì)”教學(xué)現(xiàn)狀及存在的問(wèn)題[2],本文設(shè)計(jì)完成的C語(yǔ)言輔助教學(xué)系統(tǒng),可以將教學(xué)中抽象的、不易理解的知識(shí)點(diǎn)以動(dòng)畫的形式展現(xiàn);同時(shí)通過(guò)對(duì)典型案例的學(xué)習(xí),可以加強(qiáng)知識(shí)點(diǎn)之間的聯(lián)系;通過(guò)由簡(jiǎn)到難習(xí)題的練習(xí),可以培養(yǎng)學(xué)生自主學(xué)習(xí)的能力和提高學(xué)生編程思維能力.
C語(yǔ)言輔助教學(xué)系統(tǒng)基于B/S三層體系結(jié)構(gòu)、以JSP為開發(fā)工具、以Sqlserver2008為后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行開發(fā).該系統(tǒng)主要實(shí)現(xiàn)了登錄模塊、管理員模塊、課件模塊、課堂案例模塊、經(jīng)典算法模塊、習(xí)題模塊和答疑討論模塊等.由于篇幅的問(wèn)題,本文緊對(duì)學(xué)生模塊中的子模塊進(jìn)行詳細(xì)的闡述.主要功能模塊結(jié)構(gòu)如圖1.
圖1 系統(tǒng)結(jié)構(gòu)圖
由于SQLServer很高的安全性,較好的易用性和高效性,良好的通用性和兼容性[2],本系統(tǒng)選擇了SQL Server 2008作為后臺(tái)數(shù)據(jù)庫(kù)平臺(tái).數(shù)據(jù)庫(kù)由多個(gè)數(shù)據(jù)表組成,主要包括以下幾個(gè)方面:
(1)賬號(hào)列表:該表存儲(chǔ)所有注冊(cè)人員的賬戶號(hào)、賬戶名、密碼、權(quán)限和個(gè)人資料.
(2)試題庫(kù)表:包括試題的編號(hào)、試題的題型、試題的選項(xiàng)和試題的答案等.
(3)提問(wèn)留言表:該表包括問(wèn)題編號(hào)、問(wèn)題標(biāo)題、反饋內(nèi)容、提問(wèn)人和發(fā)表時(shí)間等.
(4)問(wèn)題回復(fù)表:該表包括回復(fù)編號(hào)、問(wèn)題編號(hào)、回復(fù)內(nèi)容、回復(fù)時(shí)間等.
(5)課堂案例表:該表包括例題的編號(hào)、例題的題目、例題所在的章節(jié)等.
4.1 登錄模塊設(shè)計(jì)
首次進(jìn)入該系統(tǒng)需要注冊(cè)個(gè)人信息,系統(tǒng)自動(dòng)給注冊(cè)用戶分配一個(gè)賬號(hào),賬號(hào)又分學(xué)生賬號(hào)和管理員賬號(hào).以管理員賬號(hào)登錄可以對(duì)教學(xué)課件,經(jīng)典習(xí)題等信息進(jìn)行管理;以學(xué)生賬號(hào)登錄可以瀏覽課件、學(xué)習(xí)經(jīng)典算法、在線練習(xí)和答疑討論等.
4.2 管理員模塊設(shè)計(jì)
以管理員身份登錄該系統(tǒng),該人員有以下權(quán)限:
(1)課件管理:每帶過(guò)一屆學(xué)生,老師對(duì)該門課程都有新的認(rèn)識(shí)和新的教學(xué)改進(jìn),如果老師需要對(duì)課件重新修改或者換教材的話,教師以管理員的身份登錄就可以完成對(duì)課件的增加、刪除和更新等操作.
(2)更新課堂案例:課堂案例都是選取有代表性和接近現(xiàn)實(shí)的實(shí)例,針對(duì)每屆學(xué)生的專業(yè)特點(diǎn)選取不同的案例.
(3)更新試題:根據(jù)每年全國(guó)計(jì)算機(jī)等級(jí)考試的試題及時(shí)更新試題庫(kù).
(4)更新答疑:以管理員身份登錄后可以對(duì)于一些答非所問(wèn)或灌水的帖子進(jìn)行整改,刪除等操作.
(5)用戶管理:對(duì)于一些長(zhǎng)期沒(méi)登錄的用戶,管理員可以對(duì)其進(jìn)行提醒或刪除操作;如果有用戶密碼遺忘,管理員可以對(duì)其密碼進(jìn)行查看、修改或刪除等操作.
4.3 學(xué)生模塊設(shè)計(jì)
4.3.1 課件子模塊設(shè)計(jì)
課件是以教材為基礎(chǔ),以適應(yīng)電子信息科學(xué)與技術(shù)專業(yè)的特點(diǎn)為目標(biāo),制作的多媒體課件.如果課堂上老師講解的內(nèi)容學(xué)生有不明白的地方,學(xué)生登錄該系統(tǒng)后可以在線瀏覽或下載課件.
4.3.2 課堂案例子模塊設(shè)計(jì)
由于該課程的知識(shí)點(diǎn)零散龐雜加上語(yǔ)法結(jié)構(gòu)的條條框框比較多,每章都設(shè)計(jì)幾個(gè)有代表性的案例供同學(xué)們學(xué)習(xí).課堂案例盡量采用簡(jiǎn)單而又能涵蓋本章較多知識(shí)點(diǎn)的例子,也就是采用實(shí)例化的教學(xué)模式,這樣弄夠?qū)⒊橄蟮母拍罹唧w化.第一次打開該頁(yè)面顯示本章第一個(gè)例題,每個(gè)案例的頁(yè)面中設(shè)計(jì)四個(gè)區(qū)域,下面以第八章為例介紹該模塊的結(jié)構(gòu).
(1)題目、算法區(qū).第八章善于利用指針的一個(gè)例題是“對(duì)輸入的兩個(gè)整數(shù)按大小順序輸出”[3].算法分四步完成:定義、輸入、比較和輸出.
(2)代碼區(qū)、知識(shí)點(diǎn)區(qū).代碼區(qū)除了完成四步的代碼外還有關(guān)鍵語(yǔ)句的注釋,比如指針變量的定義,指針指向變量等,這些注釋都有超級(jí)鏈接,如果對(duì)結(jié)構(gòu)不熟悉,這時(shí)點(diǎn)擊該鏈接在知識(shí)點(diǎn)區(qū)就會(huì)顯示該知識(shí)點(diǎn)的詳細(xì)內(nèi)容.這樣,同學(xué)們?cè)诳闯绦驎r(shí)可以對(duì)所學(xué)知識(shí)點(diǎn)進(jìn)行很好的回顧.
(3)控制區(qū).為了讓同學(xué)們能使所學(xué)的知識(shí)系統(tǒng)化和多樣化,盡量做到一題多解.比如上一個(gè)例題,第一種方法采用普通變量比較對(duì)換實(shí)現(xiàn)兩個(gè)整數(shù)由大到小輸出;第二種方法采用普通變量作為函數(shù)參數(shù)實(shí)現(xiàn)兩個(gè)整數(shù)由大到小輸出;第三種方法采用指針變量作為函數(shù)參數(shù),被調(diào)用函數(shù)中借助整形變量作為中間變量實(shí)現(xiàn)形參指針值的對(duì)換,實(shí)現(xiàn)兩個(gè)整數(shù)由大到小輸出;第四種方法采用指針變量作為函數(shù)參數(shù),被調(diào)用函數(shù)中借助指針變量作為中間變量實(shí)現(xiàn)形參指針指向的對(duì)換,不能實(shí)現(xiàn)兩個(gè)整數(shù)由大到小輸出.本實(shí)例的四種方法由控制按鈕選擇,每選中一種方法通過(guò)結(jié)果按鈕的點(diǎn)擊都可以看到對(duì)應(yīng)的輸出結(jié)果與結(jié)果分析頁(yè)面.
(4)交互區(qū).比較難理解的程序會(huì)有交互區(qū),比如上例中的方法三和四就有交互區(qū),為了加深對(duì)指針變量的理解.由控制按鈕選擇后,用戶輸入變量的值,點(diǎn)擊播放按鈕就可以查看程序運(yùn)行期間指針?biāo)赶蜃兞恐档淖儞Q情況.這樣學(xué)生在學(xué)習(xí)的過(guò)程中會(huì)從被動(dòng)的觀察者變?yōu)橹鲃?dòng)參與者,可以大大提高學(xué)習(xí)的積極性.
4.3.3 經(jīng)典算法子模塊設(shè)計(jì)
每屆學(xué)生都反映,C語(yǔ)言程序設(shè)計(jì)邏輯性強(qiáng),算法理解困難,編程更是難上加難.針對(duì)該問(wèn)題,本系統(tǒng)每個(gè)經(jīng)典算法頁(yè)面都設(shè)置三個(gè)區(qū)域:算法區(qū)、代碼區(qū)和動(dòng)畫演示區(qū).將枯燥難懂的算法用動(dòng)畫的形式展現(xiàn)給大家,使學(xué)生能真正領(lǐng)會(huì)算法的內(nèi)涵,進(jìn)而順利完成算法到程序的過(guò)度,達(dá)到提高學(xué)生編程能力的目的.
4.3.4 在線練習(xí)子模塊設(shè)計(jì)
根據(jù)每章的知識(shí)點(diǎn)創(chuàng)設(shè)由簡(jiǎn)到難的習(xí)題,題型分別為選擇題和程序閱讀題.學(xué)生學(xué)習(xí)完本章的內(nèi)容后,為了檢驗(yàn)自己對(duì)本章知識(shí)點(diǎn)的掌握情況,可以進(jìn)入在線練習(xí)模塊.完成本章的習(xí)題后可以提交自己的答案,這時(shí)就會(huì)彈出參考答案頁(yè)面,該頁(yè)面對(duì)一些難點(diǎn)還有相應(yīng)的解釋說(shuō)明部分.使學(xué)生在沒(méi)有老師的情況下也可以解決遇到的難題.
4.3.5 討論答疑子模塊設(shè)計(jì)
學(xué)生在學(xué)習(xí)的過(guò)程中如果有什么問(wèn)題,可以在線提問(wèn),老師或其他的同學(xué)可以在線答疑.該模塊還設(shè)置了討論區(qū)域,該區(qū)域可以設(shè)置多個(gè)討論組,用戶可以瀏覽所有的討論主題,并且可以在恢復(fù)欄中回復(fù)留言等.該模塊給老師和學(xué)生提供了交流平臺(tái),可以很好地促進(jìn)師生之間的交流,達(dá)到共同進(jìn)步的目的.
針對(duì)“C程序設(shè)計(jì)”課堂教學(xué)中存在的問(wèn)題,本文開發(fā)的C語(yǔ)言輔助教學(xué)系統(tǒng),培養(yǎng)了學(xué)生自主學(xué)習(xí)的能力;提高了學(xué)生編程思維的能力;使學(xué)生提高了自信,體會(huì)到C語(yǔ)言學(xué)習(xí)的樂(lè)趣.
〔1〕顧思思,楊杰.提高C語(yǔ)言課程學(xué)習(xí)興趣的方法探索與實(shí)踐[J].湖南科技學(xué)院學(xué)報(bào),2014,35(5):135-136.
〔2〕王瑞綺.基于B/S架構(gòu)的高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2014.14-16.
〔3〕胡春安,王俊嶺.以能力培養(yǎng)為導(dǎo)向的C程序設(shè)計(jì)教學(xué)研究[J].江西理工大學(xué)學(xué)報(bào),2014,35(2):74-77.
〔4〕譚浩強(qiáng).C程序設(shè)計(jì)(第四版)[M].北京:清華大學(xué)出版社,2010.
TP311.52
A
1673-260X(2016)11-0031-02
2016-06-14
淮北師范大學(xué)教研項(xiàng)目(jy15127)
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2016年22期