999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2019-04-01 01:33:08仇國巍趙英良衛(wèi)顏俊桂小林
計算機教育 2019年3期
關(guān)鍵詞:教學(xué)內(nèi)容實驗課程

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

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

0 引言

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

Qt是基于C++的跨平臺開發(fā)框架,更確切地說,Qt是一個龐大的C++類庫。它出現(xiàn)于20世紀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è)計優(yōu)雅、功能強大、易于學(xué)習(xí)和使用,還兼容Windows、Linux、Mac等主流操作系統(tǒng),這些優(yōu)點使它成為C++語言后續(xù)課程的理想教學(xué)內(nèi)容。

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

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

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

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

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

1.2 理解窗體編程重要概念

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

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

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

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

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

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

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

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

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

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

2.2 強化實驗和工程訓(xùn)練

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

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

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

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

2.3 改進課程考核方法

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

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)語

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

猜你喜歡
教學(xué)內(nèi)容實驗課程
記一次有趣的實驗
數(shù)字圖像處理課程混合式教學(xué)改革與探索
軟件設(shè)計與開發(fā)實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學(xué)習(xí)HAA課程?
做個怪怪長實驗
挖掘數(shù)學(xué)教學(xué)內(nèi)容所固有的美
“啟蒙運動”一課教學(xué)內(nèi)容分析
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
“清末新政”也可作為重要的教學(xué)內(nèi)容
主站蜘蛛池模板: 日韩二区三区| 免费毛片在线| 日本在线视频免费| 久久公开视频| 91精品免费高清在线| 国产高清又黄又嫩的免费视频网站| 亚洲综合天堂网| 日韩东京热无码人妻| 亚洲欧美天堂网| 久久国产免费观看| 久久综合九九亚洲一区| 四虎成人精品在永久免费| 无码中文AⅤ在线观看| 久久精品丝袜| 97国产精品视频人人做人人爱| 亚洲日韩精品欧美中文字幕 | 国产成人高清精品免费5388| 亚欧成人无码AV在线播放| 国产成人亚洲日韩欧美电影| 免费全部高H视频无码无遮掩| 中文字幕亚洲电影| 国产香蕉97碰碰视频VA碰碰看 | 国产在线观看一区二区三区| 欧美在线一级片| 在线国产毛片手机小视频| 99精品一区二区免费视频| 伊人网址在线| 欧美日韩中文国产| 波多野结衣二区| 久久美女精品国产精品亚洲| 女人18毛片久久| 欧美啪啪网| 久久亚洲中文字幕精品一区| 国产成人精品午夜视频'| 国产在线观看99| 中文字幕在线观| 国产91色| 毛片一级在线| 国产欧美视频在线观看| 久久香蕉国产线看精品| 国产亚洲欧美在线专区| 特级毛片8级毛片免费观看| av在线5g无码天天| 亚洲天天更新| 一本色道久久88综合日韩精品| 女人av社区男人的天堂| 成人日韩视频| 中文字幕亚洲综久久2021| 婷婷综合缴情亚洲五月伊| 精品午夜国产福利观看| 丁香五月亚洲综合在线| 国产精品爽爽va在线无码观看| 国产亚洲男人的天堂在线观看| 国产v精品成人免费视频71pao | 伊人无码视屏| 国产毛片不卡| 日本精品一在线观看视频| 精品人妻一区无码视频| 欧美日韩高清在线| 91免费国产高清观看| 国内精品九九久久久精品| 日韩高清欧美| 色综合天天视频在线观看| 精品久久香蕉国产线看观看gif| 91青草视频| 亚洲成人网在线观看| 在线观看国产精品第一区免费| 亚洲 欧美 偷自乱 图片| 国产成人免费手机在线观看视频| 99久久精彩视频| 狠狠综合久久| 国产成人91精品| 97免费在线观看视频| 性做久久久久久久免费看| 亚洲午夜福利在线| 亚洲综合色区在线播放2019| 在线观看91香蕉国产免费| 9丨情侣偷在线精品国产| 伊在人亚洲香蕉精品播放 | 国产成人精品视频一区二区电影| 精品国产91爱| 99成人在线观看|