• <input id="zdukh"></input>
  • <b id="zdukh"><bdo id="zdukh"></bdo></b>
      <b id="zdukh"><bdo id="zdukh"></bdo></b>
    1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

      <wbr id="zdukh"><table id="zdukh"></table></wbr>

      1. <input id="zdukh"></input>
        <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
        <sub id="zdukh"></sub>
        公務員期刊網(wǎng) 論文中心 正文

        非計算機專業(yè)Qt程序設計教學探索

        前言:想要寫出一篇引人入勝的文章?我們特意為您整理了非計算機專業(yè)Qt程序設計教學探索范文,希望能給你帶來靈感和參考,敬請閱讀。

        非計算機專業(yè)Qt程序設計教學探索

        摘要:針對高校非計算機專業(yè)C/C++教學的不足,分析開設qt程序設計課程的重要意義,提出以實驗為基礎(chǔ)、以項目為導向的Qt程序設計課程教學方案,結(jié)合西安交通大學的實踐說明Qt程序設計課程的教學效果。

        關(guān)鍵詞:非計算機專業(yè);Qt程序設計課程;案例教學;大作業(yè)

        0引言

        目前,在高校面向非計算機專業(yè)的程序設計入門課程中,相當一部分學校講授C/C++語言。由于C/C++語言標準中不包括圖形界面等高級編程內(nèi)容,導致學生學習了該課程之后,僅能編寫控制臺窗口的命令行程序。這在很大程度上限制了學生利用C/C++編程解決問題的能力。Qt是基于C++的跨平臺開發(fā)框架,更確切地說,Qt是一個龐大的C++類庫。它出現(xiàn)于20世紀90年代,最初主要用于圖形界面開發(fā)。經(jīng)過多年發(fā)展,Qt已經(jīng)成為幾乎全能的開發(fā)框架,除了圖形界面開發(fā),在數(shù)據(jù)庫、網(wǎng)絡、多媒體、嵌入式軟件開發(fā)等方面也常常見到Qt的身影。近年來,隨著嵌入式技術(shù)的廣泛應用,Qt作為Linux和嵌入式開發(fā)的重要工具受到了前所未有的關(guān)注。Qt框架設計優(yōu)雅、功能強大、易于學習和使用,還兼容Windows、Linux、Mac等主流操作系統(tǒng),這些優(yōu)點使它成為C++語言后續(xù)課程的理想教學內(nèi)容。目前各高校在Qt教學方面所做的工作并不多。文獻[1]提出將多維互動模式用于Qt教學;文獻[2]提出在Qt教學中使用項目分解與整合的策略;文獻[3]提出在面向嵌入式開發(fā)的Qt教學中采用邊講邊練的教學模式。西安交通大學的Qt教學強化實驗教學,引入課程大作業(yè)以提升學生的實踐能力,實行多元化考核,進一步保證教學效果。

        1開設Qt程序設計課程的意義

        對非計算機專業(yè)的學生而言,在學習了C/C++語言基礎(chǔ)之后,進一步學習一些Qt程序設計的知識,可以補充編程語言學習的短板,理解消息機制和事件處理的概念,并深刻體會面向?qū)ο缶幊谭椒ǖ膹姶蟆?/p>

        1.1補足C/C++語言教學短板

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

        1.2理解窗體編程重要概念

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

        1.3深刻體會面向?qū)ο蠓椒ǖ淖饔?/p>

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

        2優(yōu)化Qt程序設計課程教學方案

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

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

        Qt編程技術(shù)的內(nèi)容十分廣泛,難以在一門課程中全部講授,因此可將Qt編程技術(shù)總體上劃分為兩部分:一部分是核心教學內(nèi)容,包括圖形界面編程、圖形圖像編程、樣式表應用;另一部分是靈活設置內(nèi)容,包括算法設計、數(shù)據(jù)庫、網(wǎng)絡、嵌入式等方面的編程內(nèi)容。核心教學內(nèi)容是基礎(chǔ),是必選的教學內(nèi)容;而靈活設置內(nèi)容則是選擇性的模塊,可根據(jù)面向?qū)ο蟮牟煌?、專業(yè)需求的差異,選擇適當?shù)哪K作為教學內(nèi)容。在核心教學內(nèi)容中,建議把圖形界面、圖形圖像編程作為最基礎(chǔ)的內(nèi)容。掌握了圖形化編程的知識,就具備了開發(fā)窗體應用的基本能力,也為學習其他編程技術(shù)打下基礎(chǔ)。另外,可以將界面描述式編程工具——Qt樣式表放入核心內(nèi)容。樣式表是Qt的特色,它通過QSS腳本語言描述窗體組件的顏色、形狀、行為模式等屬性,極大地方便了界面的美化工作。QSS腳本實質(zhì)上就是CSS腳本功能的子集,學習和使用都相當容易。在靈活設置的教學內(nèi)容中,建議選擇具有廣泛應用價值的算法設計模塊。算法當中比較簡單的查找、排序、遞推等這類內(nèi)容在學習基礎(chǔ)語言的時候就講解過,因此可以補充數(shù)據(jù)結(jié)構(gòu)相關(guān)算法。從實用角度出發(fā),對于這些非計算機專業(yè)的學生,沒有必要深入講解數(shù)據(jù)結(jié)構(gòu)本身的實現(xiàn)方法,而應在介紹基本概念的基礎(chǔ)上,講解利用Qt的集合類解決問題的方法。Qt集合類與STL容器類很相似,包含向量、鏈表、棧、隊列等結(jié)構(gòu),是有力的開發(fā)工具。

        2.2強化實驗和工程訓練

        與純理論課程不同,任何一門程序設計課程都需要足夠的上機練習,Qt程序設計也不例外。為了達到更好的教學效果,可以將實踐環(huán)節(jié)分成3個層次:基礎(chǔ)實驗、項目重建和修改、課程大作業(yè)?;A(chǔ)實驗是課程學習的基本內(nèi)容,主要在課程本身的實驗學時內(nèi)完成。這些實驗涉及信號/槽、窗體控件、對話框、窗體布局、事件系統(tǒng)、二維繪圖等方面的編程。Qt擁有功能強大的集成開發(fā)工具QtCreator,其可視化窗體構(gòu)建能力不遜于微軟的VisualStudio開發(fā)工具。雖然不少基礎(chǔ)實驗都可以在QtCreator中以可視化操作的方式完成,但對于初學者,仍應堅持先學會用代碼實現(xiàn),再用QtCreator工具實現(xiàn),這樣學生對程序的理解更徹底。項目重建和修改是讓學生首先參考教師的樣例程序?qū)崿F(xiàn)一個大致相同的項目,然后對其中的部分內(nèi)容進行修改或擴充,實現(xiàn)一些新的功能。這類實驗由每個學生獨立完成,難度中等。實驗采用課堂講解、課后實現(xiàn)、實驗課答疑的模式完成。通過這些實驗,學生可以了解一個小型軟件設計、編碼、調(diào)試、完善的整個過程。課程大作業(yè)是以綜合訓練為主的實踐環(huán)節(jié),一般3~4人一組,完成一個小型軟件項目。和項目重建實驗不同,大作業(yè)沒有教師提供的軟件原型。每個小組都要完成選題、方案設計、編碼實現(xiàn)、測試和改善的開發(fā)流程。選題類型由教師制訂,比如實驗模擬類、小型游戲類、算法演示類等。大作業(yè)的具體內(nèi)容由學生在上述幾個選題類型中自行確定,一般在課程進展到一半時大作業(yè)題目就要確定。每個小組的人員及項目一旦確定并上報后,就不宜輕易改變。通過課程大作業(yè)的訓練,可以在很大程度上提升學生的軟件開發(fā)能力。

        2.3改進課程考核方法

        程序設計課程的考核方式一般是平時成績和期末考試的加權(quán)平均,其中期末考試一般都是上機考試。由于Qt程序設計課程教學環(huán)節(jié)的多樣性,建議為該課程設置多元化的考核方式,采用平時表現(xiàn)、期中考試、大作業(yè)考核、期末考試的綜合考核方式。平時表現(xiàn)包括出勤率、隨堂作業(yè)、基礎(chǔ)實驗和項目重建實驗的考查,這些考查主要用于督促學生的日常學習。期中考試采用閉卷形式的上機考試,以若干微型編程題目為主,題目可以是前半學期實驗和作業(yè)內(nèi)容的改版。課程大作業(yè)以小組為單位完成,最后由組長通過PPT的形式向全體師生匯報。由學生網(wǎng)絡評分和教師評分綜合評出每個小組的得分,再由教師根據(jù)組員表現(xiàn)和每個組員背對背的貢獻率自評得出每個學生的大作業(yè)分數(shù)。學生評分過程可借助網(wǎng)絡系統(tǒng)快速完成。期末考試采用開卷形式的上機考試,題目為兩道綜合型的編程題,主要考查學生的綜合編程能力。總之,本課程的目標是使學生具備一定的圖形化編程以及算法設計的能力,所有考核環(huán)節(jié)都應體現(xiàn)這一目標。

        3Qt程序設計課程的教學效果

        在西安交大新一輪培養(yǎng)方案修訂過程中,機械學院部分專業(yè)要求修改可視化程序設計課程的教學內(nèi)容。該課程原來是以VC++的MFC圖形化編程為主要教學內(nèi)容。隨著微軟公司的技術(shù)重心轉(zhuǎn)向.NET,C#、VB.NET成為微軟公司主推的編程語言,MFC類庫的更新十分緩慢,且基于MFC的編程技術(shù)含有大量C語言的編程模式(比如宏定義等),編程難度較高。由于以上原因,非常有必要對該課程進行大刀闊斧的改革。經(jīng)過認真調(diào)研,開課單位決定將Qt編程技術(shù)作為該課程的教學內(nèi)容。經(jīng)過3年實踐,取得了較好的教學效果,改革所帶來的教學質(zhì)量提升總體上可歸納為以下3點。1)提高學生編寫程序的效率。與MFC不同,Qt是純粹的面向?qū)ο箝_發(fā)框架,學習和使用更加容易。例如編寫一個簡單的賽車游戲,涉及圖形、位圖、文字、算法以及事件方面的編程,一般情況下學生用MFC實現(xiàn)該游戲的時間接近兩個小時,而使用Qt實現(xiàn)只需要不到一小時。2)加強學生軟件模塊化設計及算法設計能力。從軟件的框架結(jié)構(gòu)上看,Qt程序比MFC程序更清晰易懂,且Qt的信號/槽通信機制也較為簡單易用。從學生上機實驗的結(jié)果看,利用Qt編程,學生更容易寫出模塊結(jié)構(gòu)合理、算法清晰的程序,編寫程序時產(chǎn)生的錯誤也更少。3)培養(yǎng)學生對于Qt編程技術(shù)的興趣。以前學習MFC編程時,很多學生對復雜難懂的MFC程序框架深感畏懼,而學習Qt編程的學生多數(shù)認為Qt程序并不是很難理解。同時,配合QSS腳本可以很容易作出類似360安全衛(wèi)士、騰訊電腦管家那樣漂亮的圖形界面,感覺挺有成就感。本課程的配套教材《Qt圖形界面編程入門》由清華大學出版社出版之后,也得到了一些兄弟院校的關(guān)注,被選作對方院校相關(guān)課程的教材。

        4結(jié)語

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

        參考文獻:

        [1]吳粉俠,李紅.多維互動式教學模式在Qt程序設計教學中的探索與實踐[J].決策探索,2017(11):55-56.

        [2]王繼敏.基于項目分解與整合的Qt編程教學改革探索[J].河南科技學院學報,2013(12):111-113.

        [3]許豪,胡吉興.《嵌入式GUI應用程序開發(fā)》教學改革實踐與探索[J].科技與創(chuàng)新,2014(21):131-133.

        作者:仇國巍 趙英良 衛(wèi)顏俊 桂小林 單位:西安交通大學電子與信息工程學院

        精選范文推薦
        无码人妻一二三区久久免费_亚洲一区二区国产?变态?另类_国产精品一区免视频播放_日韩乱码人妻无码中文视频
      2. <input id="zdukh"></input>
      3. <b id="zdukh"><bdo id="zdukh"></bdo></b>
          <b id="zdukh"><bdo id="zdukh"></bdo></b>
        1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

          <wbr id="zdukh"><table id="zdukh"></table></wbr>

          1. <input id="zdukh"></input>
            <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
            <sub id="zdukh"></sub>
            亚洲精品AⅤ视品 | 亚洲老人精品在线 | 五月天久久亚洲图片 | 一区二区精品在线视频看看 | 亚洲AⅤ日韩久久久久久 | 中文字幕免费久久99 |