亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        非計(jì)算機(jī)專業(yè)Qt程序設(shè)計(jì)教學(xué)探索與實(shí)踐

        2019-04-01 01:33:08仇國巍趙英良衛(wèi)顏俊桂小林
        計(jì)算機(jī)教育 2019年3期
        關(guān)鍵詞:圖形界面編程技術(shù)程序設(shè)計(jì)

        仇國巍,趙英良,衛(wèi)顏俊,桂小林

        (西安交通大學(xué) 電子與信息工程學(xué)院,陜西 西安 710049)

        0 引言

        目前,在高校面向非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)入門課程中,相當(dāng)一部分學(xué)校講授C/C++語言。由于C/C++語言標(biāo)準(zhǔn)中不包括圖形界面等高級(jí)編程內(nèi)容,導(dǎo)致學(xué)生學(xué)習(xí)了該課程之后,僅能編寫控制臺(tái)窗口的命令行程序。這在很大程度上限制了學(xué)生利用C/C++編程解決問題的能力。

        Qt是基于C++的跨平臺(tái)開發(fā)框架,更確切地說,Qt是一個(gè)龐大的C++類庫。它出現(xiàn)于20世紀(jì)90年代,最初主要用于圖形界面開發(fā)。經(jīng)過多年發(fā)展,Qt已經(jīng)成為幾乎全能的開發(fā)框架,除了圖形界面開發(fā),在數(shù)據(jù)庫、網(wǎng)絡(luò)、多媒體、嵌入式軟件開發(fā)等方面也常常見到Qt的身影。近年來,隨著嵌入式技術(shù)的廣泛應(yīng)用,Qt作為Linux和嵌入式開發(fā)的重要工具受到了前所未有的關(guān)注。Qt框架設(shè)計(jì)優(yōu)雅、功能強(qiáng)大、易于學(xué)習(xí)和使用,還兼容Windows、Linux、Mac等主流操作系統(tǒng),這些優(yōu)點(diǎn)使它成為C++語言后續(xù)課程的理想教學(xué)內(nèi)容。

        目前各高校在Qt教學(xué)方面所做的工作并不多。文獻(xiàn)[1]提出將多維互動(dòng)模式用于Qt教學(xué);文獻(xiàn)[2]提出在Qt教學(xué)中使用項(xiàng)目分解與整合的策略;文獻(xiàn)[3]提出在面向嵌入式開發(fā)的Qt教學(xué)中采用邊講邊練的教學(xué)模式。西安交通大學(xué)的Qt教學(xué)強(qiáng)化實(shí)驗(yàn)教學(xué),引入課程大作業(yè)以提升學(xué)生的實(shí)踐能力,實(shí)行多元化考核,進(jìn)一步保證教學(xué)效果。

        1 開設(shè)Qt程序設(shè)計(jì)課程的意義

        對(duì)非計(jì)算機(jī)專業(yè)的學(xué)生而言,在學(xué)習(xí)了C/C++語言基礎(chǔ)之后,進(jìn)一步學(xué)習(xí)一些Qt程序設(shè)計(jì)的知識(shí),可以補(bǔ)充編程語言學(xué)習(xí)的短板,理解消息機(jī)制和事件處理的概念,并深刻體會(huì)面向?qū)ο缶幊谭椒ǖ膹?qiáng)大。

        1.1 補(bǔ)足C/C++語言教學(xué)短板

        人們將圖形界面和圖形圖像兩方面的編程技術(shù)統(tǒng)稱圖形化編程。在C#、VB.NET、Java等語言中,圖形化編程都是重要組成部分,而C/C++語言標(biāo)準(zhǔn)中卻不包含這部分內(nèi)容,不能不說是一種遺憾。開展Qt編程教學(xué)恰好可補(bǔ)充這方面的不足。事實(shí)上,Qt最強(qiáng)大、最完善的模塊就是圖形化編程模塊,使用Qt開發(fā)界面的重要軟件包括KDE(Linux窗體系統(tǒng))、Maya(三維動(dòng)畫)、WPS(辦公套件)、Skype(即時(shí)通訊)等。

        1.2 理解窗體編程重要概念

        窗口系統(tǒng)及窗體應(yīng)用軟件的運(yùn)行依賴于消息機(jī)制和事件處理,這個(gè)概念在基礎(chǔ)C/C++教學(xué)中無法涉及。Qt系統(tǒng)有完善的事件處理機(jī)制,還有其專有的信號(hào)/槽通信機(jī)制,通過學(xué)習(xí)這些內(nèi)容,可以很好地理解窗口系統(tǒng)的運(yùn)行原理,進(jìn)而理解消息循環(huán)在操作系統(tǒng)中的重要作用。

        1.3 深刻體會(huì)面向?qū)ο蠓椒ǖ淖饔?/h3>

        圖形界面編程是C++最成功的領(lǐng)域之一,而Qt的圖形界面類庫更是這方面的優(yōu)秀代表。學(xué)習(xí)Qt的圖形化編程,了解各種控件類的繼承關(guān)系及其成員函數(shù)的實(shí)現(xiàn)和重載,可以讓學(xué)生深刻理解封裝、繼承、多態(tài)等面向?qū)ο蟮母拍睿w會(huì)面向?qū)ο缶幊谭椒◣淼木薮蟊憷?/p>

        2 優(yōu)化Qt程序設(shè)計(jì)課程教學(xué)方案

        Qt課程講授C++的高級(jí)編程技術(shù),一般要求學(xué)生有一定的C++語言基礎(chǔ)。如果學(xué)生有較好的C語言基礎(chǔ),那么可以在后續(xù)課程中先用少量課時(shí)講解C++語言面向?qū)ο蟮母拍?,然后再講授Qt編程的內(nèi)容。將C++全部的基礎(chǔ)知識(shí)和Qt編程技術(shù)放到一門課中講授是難以完成的任務(wù),原因是內(nèi)容過多。西安交通大學(xué)的教學(xué)方案主要通過優(yōu)化教學(xué)內(nèi)容、加強(qiáng)實(shí)踐訓(xùn)練、改善考核方法3個(gè)方面的改革提升學(xué)生開發(fā)軟件的能力,具體內(nèi)容見圖1。

        圖1 Qt程序設(shè)計(jì)教學(xué)方案概要

        2.1 制訂合適的教學(xué)內(nèi)容

        Qt編程技術(shù)的內(nèi)容十分廣泛,難以在一門課程中全部講授,因此可將Qt編程技術(shù)總體上劃分為兩部分:一部分是核心教學(xué)內(nèi)容,包括圖形界面編程、圖形圖像編程、樣式表應(yīng)用;另一部分是靈活設(shè)置內(nèi)容,包括算法設(shè)計(jì)、數(shù)據(jù)庫、網(wǎng)絡(luò)、嵌入式等方面的編程內(nèi)容。核心教學(xué)內(nèi)容是基礎(chǔ),是必選的教學(xué)內(nèi)容;而靈活設(shè)置內(nèi)容則是選擇性的模塊,可根據(jù)面向?qū)ο蟮牟煌?、專業(yè)需求的差異,選擇適當(dāng)?shù)哪K作為教學(xué)內(nèi)容。

        在核心教學(xué)內(nèi)容中,建議把圖形界面、圖形圖像編程作為最基礎(chǔ)的內(nèi)容。掌握了圖形化編程的知識(shí),就具備了開發(fā)窗體應(yīng)用的基本能力,也為學(xué)習(xí)其他編程技術(shù)打下基礎(chǔ)。另外,可以將界面描述式編程工具——Qt樣式表放入核心內(nèi)容。樣式表是Qt的特色,它通過QSS腳本語言描述窗體組件的顏色、形狀、行為模式等屬性,極大地方便了界面的美化工作。QSS腳本實(shí)質(zhì)上就是CSS腳本功能的子集,學(xué)習(xí)和使用都相當(dāng)容易。

        在靈活設(shè)置的教學(xué)內(nèi)容中,建議選擇具有廣泛應(yīng)用價(jià)值的算法設(shè)計(jì)模塊。算法當(dāng)中比較簡單的查找、排序、遞推等這類內(nèi)容在學(xué)習(xí)基礎(chǔ)語言的時(shí)候就講解過,因此可以補(bǔ)充數(shù)據(jù)結(jié)構(gòu)相關(guān)算法。從實(shí)用角度出發(fā),對(duì)于這些非計(jì)算機(jī)專業(yè)的學(xué)生,沒有必要深入講解數(shù)據(jù)結(jié)構(gòu)本身的實(shí)現(xiàn)方法,而應(yīng)在介紹基本概念的基礎(chǔ)上,講解利用Qt的集合類解決問題的方法。Qt集合類與STL容器類很相似,包含向量、鏈表、棧、隊(duì)列等結(jié)構(gòu),是有力的開發(fā)工具。

        2.2 強(qiáng)化實(shí)驗(yàn)和工程訓(xùn)練

        與純理論課程不同,任何一門程序設(shè)計(jì)課程都需要足夠的上機(jī)練習(xí),Qt程序設(shè)計(jì)也不例外。為了達(dá)到更好的教學(xué)效果,可以將實(shí)踐環(huán)節(jié)分成3個(gè)層次:基礎(chǔ)實(shí)驗(yàn)、項(xiàng)目重建和修改、課程大作業(yè)。

        基礎(chǔ)實(shí)驗(yàn)是課程學(xué)習(xí)的基本內(nèi)容,主要在課程本身的實(shí)驗(yàn)學(xué)時(shí)內(nèi)完成。這些實(shí)驗(yàn)涉及信號(hào)/槽、窗體控件、對(duì)話框、窗體布局、事件系統(tǒng)、二維繪圖等方面的編程。Qt擁有功能強(qiáng)大的集成開發(fā)工具Qt Creator,其可視化窗體構(gòu)建能力不遜于微軟的Visual Studio開發(fā)工具。雖然不少基礎(chǔ)實(shí)驗(yàn)都可以在Qt Creator中以可視化操作的方式完成,但對(duì)于初學(xué)者,仍應(yīng)堅(jiān)持先學(xué)會(huì)用代碼實(shí)現(xiàn),再用Qt Creator工具實(shí)現(xiàn),這樣學(xué)生對(duì)程序的理解更徹底。

        項(xiàng)目重建和修改是讓學(xué)生首先參考教師的樣例程序?qū)崿F(xiàn)一個(gè)大致相同的項(xiàng)目,然后對(duì)其中的部分內(nèi)容進(jìn)行修改或擴(kuò)充,實(shí)現(xiàn)一些新的功能。這類實(shí)驗(yàn)由每個(gè)學(xué)生獨(dú)立完成,難度中等。實(shí)驗(yàn)采用課堂講解、課后實(shí)現(xiàn)、實(shí)驗(yàn)課答疑的模式完成。通過這些實(shí)驗(yàn),學(xué)生可以了解一個(gè)小型軟件設(shè)計(jì)、編碼、調(diào)試、完善的整個(gè)過程。

        課程大作業(yè)是以綜合訓(xùn)練為主的實(shí)踐環(huán)節(jié),一般3~4人一組,完成一個(gè)小型軟件項(xiàng)目。和項(xiàng)目重建實(shí)驗(yàn)不同,大作業(yè)沒有教師提供的軟件原型。每個(gè)小組都要完成選題、方案設(shè)計(jì)、編碼實(shí)現(xiàn)、測試和改善的開發(fā)流程。選題類型由教師制訂,比如實(shí)驗(yàn)?zāi)M類、小型游戲類、算法演示類等。大作業(yè)的具體內(nèi)容由學(xué)生在上述幾個(gè)選題類型中自行確定,一般在課程進(jìn)展到一半時(shí)大作業(yè)題目就要確定。每個(gè)小組的人員及項(xiàng)目一旦確定并上報(bào)后,就不宜輕易改變。通過課程大作業(yè)的訓(xùn)練,可以在很大程度上提升學(xué)生的軟件開發(fā)能力。

        2.3 改進(jìn)課程考核方法

        程序設(shè)計(jì)課程的考核方式一般是平時(shí)成績和期末考試的加權(quán)平均,其中期末考試一般都是上機(jī)考試。由于Qt程序設(shè)計(jì)課程教學(xué)環(huán)節(jié)的多樣性,建議為該課程設(shè)置多元化的考核方式,采用平時(shí)表現(xiàn)、期中考試、大作業(yè)考核、期末考試的綜合考核方式。

        平時(shí)表現(xiàn)包括出勤率、隨堂作業(yè)、基礎(chǔ)實(shí)驗(yàn)和項(xiàng)目重建實(shí)驗(yàn)的考查,這些考查主要用于督促學(xué)生的日常學(xué)習(xí)。期中考試采用閉卷形式的上機(jī)考試,以若干微型編程題目為主,題目可以是前半學(xué)期實(shí)驗(yàn)和作業(yè)內(nèi)容的改版。課程大作業(yè)以小組為單位完成,最后由組長通過PPT的形式向全體師生匯報(bào)。由學(xué)生網(wǎng)絡(luò)評(píng)分和教師評(píng)分綜合評(píng)出每個(gè)小組的得分,再由教師根據(jù)組員表現(xiàn)和每個(gè)組員背對(duì)背的貢獻(xiàn)率自評(píng)得出每個(gè)學(xué)生的大作業(yè)分?jǐn)?shù)。學(xué)生評(píng)分過程可借助網(wǎng)絡(luò)系統(tǒng)快速完成。期末考試采用開卷形式的上機(jī)考試,題目為兩道綜合型的編程題,主要考查學(xué)生的綜合編程能力。

        總之,本課程的目標(biāo)是使學(xué)生具備一定的圖形化編程以及算法設(shè)計(jì)的能力,所有考核環(huán)節(jié)都應(yīng)體現(xiàn)這一目標(biāo)。

        3 Qt程序設(shè)計(jì)課程的教學(xué)效果

        在西安交大新一輪培養(yǎng)方案修訂過程中,機(jī)械學(xué)院部分專業(yè)要求修改可視化程序設(shè)計(jì)課程的教學(xué)內(nèi)容。該課程原來是以VC++的MFC圖形化編程為主要教學(xué)內(nèi)容。隨著微軟公司的技術(shù)重心轉(zhuǎn)向.NET,C#、VB.NET成為微軟公司主推的編程語言,MFC類庫的更新十分緩慢,且基于MFC的編程技術(shù)含有大量C語言的編程模式(比如宏定義等),編程難度較高。由于以上原因,非常有必要對(duì)該課程進(jìn)行大刀闊斧的改革。經(jīng)過認(rèn)真調(diào)研,開課單位決定將Qt編程技術(shù)作為該課程的教學(xué)內(nèi)容。經(jīng)過3年實(shí)踐,取得了較好的教學(xué)效果,改革所帶來的教學(xué)質(zhì)量提升總體上可歸納為以下3點(diǎn)。

        1)提高學(xué)生編寫程序的效率。

        與MFC不同,Qt是純粹的面向?qū)ο箝_發(fā)框架,學(xué)習(xí)和使用更加容易。例如編寫一個(gè)簡單的賽車游戲,涉及圖形、位圖、文字、算法以及事件方面的編程,一般情況下學(xué)生用MFC實(shí)現(xiàn)該游戲的時(shí)間接近兩個(gè)小時(shí),而使用Qt實(shí)現(xiàn)只需要不到一小時(shí)。

        2)加強(qiáng)學(xué)生軟件模塊化設(shè)計(jì)及算法設(shè)計(jì)能力。

        從軟件的框架結(jié)構(gòu)上看,Qt程序比MFC程序更清晰易懂,且Qt的信號(hào)/槽通信機(jī)制也較為簡單易用。從學(xué)生上機(jī)實(shí)驗(yàn)的結(jié)果看,利用Qt編程,學(xué)生更容易寫出模塊結(jié)構(gòu)合理、算法清晰的程序,編寫程序時(shí)產(chǎn)生的錯(cuò)誤也更少。

        3)培養(yǎng)學(xué)生對(duì)于Qt編程技術(shù)的興趣。

        以前學(xué)習(xí)MFC編程時(shí),很多學(xué)生對(duì)復(fù)雜難懂的MFC程序框架深感畏懼,而學(xué)習(xí)Qt編程的學(xué)生多數(shù)認(rèn)為Qt程序并不是很難理解。同時(shí),配合QSS腳本可以很容易作出類似360安全衛(wèi)士、騰訊電腦管家那樣漂亮的圖形界面,感覺挺有成就感。

        本課程的配套教材《Qt圖形界面編程入門》由清華大學(xué)出版社出版之后,也得到了一些兄弟院校的關(guān)注,被選作對(duì)方院校相關(guān)課程的教材。

        4 結(jié)語

        對(duì)于非計(jì)算機(jī)專業(yè)而言,很多學(xué)生希望能夠編寫小型的窗口界面程序解決學(xué)習(xí)工作中的一些問題,但如果僅僅學(xué)習(xí)了C/C++語言,這種愿望難以實(shí)現(xiàn)。根據(jù)實(shí)踐經(jīng)驗(yàn),在非計(jì)算機(jī)專業(yè)開設(shè)Qt程序設(shè)計(jì)課程作為C/C++的后續(xù)課程,能夠較快提升學(xué)生的編程能力,滿足學(xué)生開發(fā)圖形化程序的愿望。在教學(xué)實(shí)踐中,以實(shí)驗(yàn)為基礎(chǔ)、以項(xiàng)目為導(dǎo)向,實(shí)行多元化考核,可以取得良好的效果。

        猜你喜歡
        圖形界面編程技術(shù)程序設(shè)計(jì)
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        復(fù)雜零件的數(shù)控加工工藝及編程技術(shù)分析
        基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        用VMRun快速置備千臺(tái)虛擬機(jī)
        基于計(jì)算機(jī)軟件工程的數(shù)據(jù)庫編程技術(shù)
        高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
        C語言編程技術(shù)的分析研究
        重看圖形界面“扁平化”與“擬物化”之爭——關(guān)于設(shè)計(jì)思維的探討
        JDBC數(shù)據(jù)庫編程技術(shù)
        国产精品国产三级国产三不| 99久久国产综合精品五月天| 欧美极品美女| 草莓视频在线观看无码免费| 青青草在线免费观看视频| 午夜爽爽爽男女免费观看影院| 人妻av中文字幕无码专区| 久久精品国产6699国产精 | 亚洲一区域二区域三区域四| aaa日本高清在线播放免费观看| 中年熟妇的大黑p| 亚洲午夜福利精品久久| av大片网站在线观看| 日韩av无码社区一区二区三区| 中文字幕人妻熟女人妻洋洋| 日本久久久免费高清| 中文字幕文字幕一区二区| 欲求不満の人妻松下纱荣子| 少妇人妻真实偷人精品视频| 国产激情视频在线| 日本一区二区免费高清| 国产午夜福利在线观看红一片| 亚洲91av| 国产精品日本一区二区三区| 熟女中文字幕一区二区三区| 国产高清在线精品一区二区三区 | 欧美操逼视频| 亚洲av高清在线观看三区| 少妇人妻无一区二区三区| 艳z门照片无码av| 国产一区二区三区在线观看精品| 视频一区中文字幕亚洲| 午夜视频在线观看一区二区小 | 免费人成又黄又爽的视频在线| 亚洲一区二区三区在线| 国产精品久久久天天影视| 黄色视频免费在线观看| 无码高潮少妇毛多水多水免费 | 久久天堂一区二区三区av| 国产男女猛烈视频在线观看| 国产精品18久久久久久首页|