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

        ?

        基于MVC的程序設(shè)計課程慕課平臺的設(shè)計與實現(xiàn)

        2017-05-09 16:54:26張標漢
        武夷學院學報 2017年3期
        關(guān)鍵詞:數(shù)據(jù)庫用戶課程

        張標漢

        (三明學院信息工程學院,福建三明365004)

        基于MVC的程序設(shè)計課程慕課平臺的設(shè)計與實現(xiàn)

        張標漢

        (三明學院信息工程學院,福建三明365004)

        針對課程教學與改革的需要,開發(fā)了一套類慕課在線學習與測試系統(tǒng)。該系統(tǒng)采用.NETMVC模式進行開發(fā),設(shè)計了模型類、控制器類和相應(yīng)的視圖頁面來實現(xiàn)該系統(tǒng)。系統(tǒng)提供了課程的維護、學習的監(jiān)督、作業(yè)的布置、測試的判定等基本的功能,為課程教學與改革提供了基礎(chǔ)平臺和技術(shù)支持。

        程序設(shè)計;慕課;HUSTOJ;MVC

        程序設(shè)計課程是計算機相關(guān)專業(yè)的基礎(chǔ)課,為了提高該課程的教學質(zhì)量,諸多高校針對該課程進行了不同方向的教學改革實踐與探索,提出了案例教學法、理論與實踐一體化等改革措施,這些改革都一定程度上提高了程序設(shè)計課程的教學質(zhì)量[1-3]。此外,程序在線測試平臺(online judge,OJ)在課程改革中也被寄予厚望,很多高校都在探索利用OJ平臺激發(fā)學生的學習興趣、提高學生的編程能力和綜合實踐能力[4-5],這些學校正是在OJ系統(tǒng)的輔助下提高了本校程序設(shè)計課程的教學效果。

        正是看到了OJ系統(tǒng)對程序設(shè)計課程教學的較大作用,國內(nèi)不少知名大學都開發(fā)了自己的OJ系統(tǒng)為本校的程序設(shè)計課程教學和競賽服務(wù)[6],但這些OJ系統(tǒng)對其他學校來說不是免費的。限于技術(shù)力量不夠許多學校沒能自己開發(fā)OJ系統(tǒng),因此,這些學校轉(zhuǎn)向?qū)ふ议_源的系統(tǒng),HUSTOJ是目前國內(nèi)許多高校正在使用的開源OJ系統(tǒng)。但該OJ系統(tǒng)僅支持程序的在線測評,尚不支持課程的在線學習,在有些方面難以滿足不同學校的個性化需求。本文針對程序設(shè)計在線學習平臺建設(shè)的需要,在HUSTOJ的判題核心的基礎(chǔ)上對在線學習平臺進行了設(shè)計,并利用.NETMVC編程實現(xiàn)了一個類慕課系統(tǒng)。

        1 系統(tǒng)概述

        1.1 慕課平臺的基本功能

        慕課(massive open online course,MOOC),即“大規(guī)模開放的在線課程”,是一種在線課程模式[7]。慕課具有在線視頻學習、在線作業(yè)、在線輔導(dǎo)答疑、在線測評和考試等基本功能。設(shè)計和開發(fā)本慕課平臺系統(tǒng)的最初目的實際上是為了在程序設(shè)計課程教學過程中實踐翻轉(zhuǎn)課堂教學模式,作為課堂教學的輔助平臺供本校學生使用。學生在平臺的學習與程序設(shè)計課程的課堂教學同步進行,教學過程中學生先按照教師布置的任務(wù)進行教學視頻的學習,并完成一定的課前練習;然后在課堂上教師主要進行答疑解惑,講解習題;學生課后再完成平臺上的課后練習和測試。

        本慕課平臺主要有課程視頻管理、課程拓展資料管理、課程題庫管理、作業(yè)與測試管理、成績管理和輔導(dǎo)答疑(論壇)等主要功能。其中課程視頻管理主要是課程視頻的創(chuàng)建、上傳、更新和刪除;課程拓展資料管理主要是課程相關(guān)的參考資料、授課PPT等文件的上傳、更新等操作。課程題庫管理主要是維護課程相關(guān)的題目,系統(tǒng)中的題目主要有兩類,一類是客觀題,一類是編程題,客觀題的判斷依據(jù)預(yù)設(shè)的標準答案,而編程題的判斷則依托HUSTOJ判題核心。

        1.2 系統(tǒng)判題核心簡介

        本系統(tǒng)采用的編程題的判題核心是HUSTOJ,該系統(tǒng)是由華中科技大學畢業(yè)生開發(fā)的一個遵循GPL協(xié)議開源的程序在線測評系統(tǒng),后來張浩斌對該系統(tǒng)進行了大量改進,使得系統(tǒng)功能更加完善[8]。目前已知國內(nèi)有50多家高校、科研機構(gòu)采用HUSTOJ搭建了自己的OJ系統(tǒng)。HUSTOJ基于Linux平臺,采用MySQL和PHP開發(fā),系統(tǒng)包括判題核心Judged和Web界面兩個部分。由于原系統(tǒng)的Web界面部分不適用于本慕課系統(tǒng),因此本慕課系統(tǒng)主要使用了HUSTOJ系統(tǒng)的判題核心Judged,將該判題核心Judged部署在Ubuntu Linux平臺上。對于Web界面部分,本系統(tǒng)采用.NETMVC(Model-View-Controller)進行開發(fā),使用的是C#語言。系統(tǒng)的基本架構(gòu)如下圖1所示:

        圖1 系統(tǒng)基本架構(gòu)Figure 1 The system basic structure

        1.3.NET MVC簡介

        本系統(tǒng)采用.NETMVC技術(shù)進行慕課系統(tǒng)的開發(fā)。MVC是一種軟件開發(fā)架構(gòu)模式,它把軟件系統(tǒng)分為三個基本部分:Model(模型)、View(視圖)和Controller(控制器),這三個部分相對獨立,職責單一。Model負責與應(yīng)用程序業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)處理,包括數(shù)據(jù)的驗證、對數(shù)據(jù)庫數(shù)據(jù)的存取。View負責與用戶的交互,通常是Web頁面,用戶通過視圖向系統(tǒng)輸入數(shù)據(jù),發(fā)出數(shù)據(jù)請求,系統(tǒng)通過視圖向用戶顯示請求的數(shù)據(jù)。Controller主要負責邏輯處理,處理用戶的請求并負責與Model進行數(shù)據(jù)的交互,并控制應(yīng)用程序的流程??傊贛VC模式中,用戶通過視圖向服務(wù)器提交請求,控制器處理用戶的請求并負責與模型進行數(shù)據(jù)的存取,并將處理的結(jié)果返回給視圖,由視圖向用戶展示結(jié)果,.NETMVC的運行機制如下圖2所示:

        圖2 MVC運行機制Figure 2 Operatingmechanism ofMVC

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)功能模塊

        系統(tǒng)主要包含課程管理、學習管理、作業(yè)與測試管理等模塊。課程管理包括課程的創(chuàng)建、課程資料的維護,由授課教師申請創(chuàng)建一門課程,在申請通過審核后,授課教師上傳該課程相關(guān)的資料,比如PPT課件、授課視頻、拓展資料等,課程資料由授課教師自行維護。學習管理包括學員的學習行為的記錄(包括學習進度、作業(yè)完成情況、參與討論情況等)、監(jiān)督學員的學習并在必要時提醒學員繼續(xù)課程的學習(包括提醒學員及時完成課程作業(yè)、準時參加課程測試等)。作業(yè)與測試管理包括作業(yè)的布置、批改,測試的創(chuàng)建和維護,其中測試維護包括課程題庫的維護。各功能模塊如下圖3所示:

        圖3 系統(tǒng)功能模塊Figure 3 System functionmodule

        2.2 數(shù)據(jù)庫設(shè)計

        系統(tǒng)由于采用.NETMVC進行開發(fā),因此在數(shù)據(jù)庫方面選擇了Microsoft SQL Server 2008來存儲系統(tǒng)的數(shù)據(jù)。根據(jù)系統(tǒng)功能模塊的設(shè)計,數(shù)據(jù)庫中主要有如下一些數(shù)據(jù)表:

        表1 課程表Table 1 Course

        課程表主要存儲了慕課系統(tǒng)中的課程信息。

        表2 學員選修課程表Table 2 User course

        學員選修課程表存儲了學員所選修的課程的信息。

        表3 課程資料表Table 3 Course document

        課程資料表存儲了課程的所有資料的信息,包括課程視頻、課程PPT、參考文獻等。

        表4 課程視頻學習進度表Table 4 Course video process

        課程視頻學習進度表存儲了某一位學員學習課程時觀看某個視頻的進度。

        3 系統(tǒng)實現(xiàn)

        在.NETMVC程序設(shè)計中通過定義模型(Model)類來實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的存取,定義控制器(Controller)類來實現(xiàn)程序流程的控制,定義視圖(View)來與用戶進行交互,接受用戶的數(shù)據(jù)請求并轉(zhuǎn)交給控制器類來處理。

        3.1 模型(Model)類

        系統(tǒng)定義了若干的模型類來實現(xiàn)對數(shù)據(jù)庫中表的操作,通常對于數(shù)據(jù)庫中的每一個表都會定義一個模型類與之映射,通過這種一一映射實現(xiàn)數(shù)據(jù)的存取操作。系統(tǒng)定義的模型類主要有4類。

        (1)Course類:與數(shù)據(jù)庫中的Course表相對應(yīng)。

        (2)UserCourse類:與數(shù)據(jù)庫中的UserCourse表相對應(yīng)。

        (3)CourseDocument類:與數(shù)據(jù)庫中的Course-Document表相對應(yīng)。

        (4)CourseVideoProcess類:與數(shù)據(jù)庫中的Course-VideoProcess表相對應(yīng)。

        其中Course類的定義如下:

        public partial class Course

        {

        public int ID{get;set;}

        public string CourseName{get;set;}

        public int CourseWeek{get;set;}

        public int TeacherID{get;set;}

        public string Description{get;set;}

        }

        其余幾個模型類的定義與此類似。

        3.2 控制器(Controller)類

        控制器類主要用于處理用戶的請求,并與模型類進行交互實現(xiàn)數(shù)據(jù)的存取操作,并將處理結(jié)果反饋給視圖。系統(tǒng)定義的控制器類主要有3類。

        (1)HomeController類:主要用于系統(tǒng)前臺頁面的處理。

        (2)CourseController類:主要用于課程管理。

        (3)StudentController類:主要用于學員的課程學習和管理。

        其中CourseController控制器類的定義如下:

        public class CourseController:Controller

        {

        SMCIESEntities db=new SMCIESEntities();//數(shù)據(jù)庫

        ///〈summary〉

        ///課程的創(chuàng)建頁面

        ///〈/summary〉

        ///〈returns〉〈/returns〉

        [SysAdminAuthorize]

        public ActionResult InsertCourse()

        {

        return View();

        }

        ///〈summary〉

        ///處理課程的創(chuàng)建請求

        ///〈/summary〉

        ///〈returns〉〈/returns〉

        [SysAdminAuthorize]

        [HttpPost]

        public ActionResult InsertCourse(Course c)

        {

        return View();

        }

        }

        3.3 視圖(View)

        視圖主要用于與用戶進行交互,接受用戶的輸入并由用戶發(fā)起數(shù)據(jù)操作的請求(插入數(shù)據(jù)、查詢數(shù)據(jù)等)。視圖的請求通常提交給某一個控制器的某一個Action進行處理。視圖的編寫使用HTML語言結(jié)合CSS、JavaScript、JQuery、AJax等技術(shù)來實現(xiàn)。在視圖的設(shè)計過程中通常會使用布局頁或母版頁。

        4 結(jié)語

        系統(tǒng)為了滿足課程教學的需要,實現(xiàn)了一個類慕課系統(tǒng)。在該系統(tǒng)中教師可以創(chuàng)建課程并維護課程資料、布置作業(yè)、組織課程測試并評定學生的學習成績。學生通過該選修某門課程,觀看課程視頻、完成課程作業(yè)、參加課程測試并最后獲得系統(tǒng)評定的課程成績。在該系統(tǒng)的開發(fā)過程中采用了.NETMVC開發(fā)模式進行開發(fā),通過設(shè)計模型類、控制器類和相應(yīng)的視圖頁面實現(xiàn)了整個系統(tǒng)。該系統(tǒng)的投入使用將為《C語言程序設(shè)計》課程的教學,尤其是該課程的翻轉(zhuǎn)課堂教學改革與探索提供技術(shù)支持。

        [1]胡楓.C語言程序設(shè)計的案例式教學的設(shè)計[J].青海師范大學學報(自然科學版),2010(4):48-51.

        [2]謝競博.C語言程序設(shè)計教學中的問題及改革建議[J].重慶郵電大學學報(社會科學版),2008,20(2):137-140.

        [3]儲岳中.C語言程序設(shè)計理論與實踐一體化教學的幾點實踐[J].計算機教育,2012(12):22-25.

        [4]朱月秀.基于ACM競賽的C程序設(shè)計課程教學改革[J].漳州師范學院學報(自然科學版),2012(1):96-99.

        [5]廖雪花,厲蘭潔,唐思娩.基于OnlineJudge的C語言程序設(shè)計實驗課教學改革研究[J].計算機教育,2016(6):130-132.

        [6]陳榮欽,胡永良,應(yīng)建健,等.在線評測系統(tǒng)中的源碼相似度檢測研究與實現(xiàn)[J].實驗技術(shù)與管理,2014,31(4):109-111,149.

        [7]百度百科.慕課[EB/OL].(2015-11-14)[2016-07-29].http://baike.baidu.com/view/10629886.htm.

        [8]張浩斌.基于開放式云平臺的開源在線評測系統(tǒng)設(shè)計與實現(xiàn)[J].計算機科學,2012,39(11):339-343,348.

        (責任編輯:葉麗娜)

        Design and ImplementofMOOCSSystem for Programming Coursebased on MVC

        ZHANG Biaohan
        (School of Information and Engineering,Sanming University,Sanming,Fujian 365004)

        A software system is designed for the online learning and testing.It like a MOOC system.The system is developed by.NET MVCmodel.In the system,the Model class,Controller class are designed,and the view pages are also designed to show the data for users.The system provides the basic functions,such as themaintenance of the curriculum,the supervision of the study,the arrangementof the homework,the judgmentof the testand so on,which provides the basic platform and technical support for the course teaching and reform.

        programming;MOOCS;HUSTOJ;MVC

        TP311.5

        A

        1674-2109(2017)03-0102-04

        2016-09-12

        福建省高等學校教學改革研究項目(JAS14765)。

        張標漢(1977-),男,漢族,講師,主要從事計算機應(yīng)用的研究。

        猜你喜歡
        數(shù)據(jù)庫用戶課程
        數(shù)字圖像處理課程混合式教學改革與探索
        軟件設(shè)計與開發(fā)實踐課程探索與實踐
        計算機教育(2020年5期)2020-07-24 08:53:38
        為什么要學習HAA課程?
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        精品熟女少妇免费久久| 精品久久久bbbb人妻| 国产av麻豆mag剧集| 又爽又黄禁片视频1000免费 | 四虎无码精品a∨在线观看| 无码粉嫩虎白一线天在线观看| 免费av在线国模| 视频福利一区二区三区| 亚洲国产性夜夜综合另类| 国产精品久久久久9999吃药| a一区二区三区乱码在线 | 欧洲| 亚州五十路伊人网| 成人高清在线播放视频| 爱情岛论坛亚洲永久入口口| 无码aⅴ在线观看| 精品久久免费一区二区三区四区| 国产精品视频白浆免费视频| 黄污在线观看一区二区三区三州| 日韩人妻无码精品久久久不卡| 免费看操片| 日韩成人无码v清免费| 国产女主播在线免费看| 亚洲码欧美码一区二区三区| 亚洲一区二区三区中文字幂| 青春草国产视频| 国产免费一区二区三区三| 国内永久福利在线视频图片| 日日猛噜噜狠狠扒开双腿小说| 亚洲精品成人网线在线播放va| 免费人妻精品一区二区三区| 少妇精品无码一区二区三区 | 亚洲av无码乱码国产精品fc2| 国产精品美女久久久浪潮av| 国产视频一区二区三区观看| 国产md视频一区二区三区| 欧美理论在线| 永久免费看黄在线观看| 夜夜夜夜曰天天天天拍国产| 国产白嫩美女在线观看| 亚洲区一区二区中文字幕| 91九色成人蝌蚪首页|