盧小華 劉靜
(1.山西工商學(xué)院計算機信息工程學(xué)院 山西省太原市 030006 2.山西工商學(xué)院設(shè)備與信息化建設(shè)中心 山西省太原市 030006)
課程教學(xué)中,學(xué)生對于所講授知識的掌握情況,教師通常會采取隨堂測驗、階段測試、期中測試、期末測試各種形式來進行測試,通過學(xué)生的測試成績對學(xué)生的學(xué)習(xí)情況分析,可發(fā)現(xiàn)學(xué)生在課程知識學(xué)習(xí)過程中知識及運用能力方面的存在的問題,對于任課教師下一步開展課程教學(xué)改革、改進教學(xué)策略、設(shè)定教學(xué)目標(biāo)、教學(xué)重難點、合理安排教學(xué)內(nèi)容,以及提升課程的整體教學(xué)質(zhì)量是非常有意義的。而學(xué)生成績數(shù)據(jù)的可視化可以讓成績數(shù)據(jù)以圖標(biāo)的形式直觀展示,使學(xué)生能夠更加直觀的了解自己對于每門課程知識的掌握情況,在后續(xù)的學(xué)習(xí)中改進學(xué)習(xí)方法,提升學(xué)習(xí)效果,同時為教師針對學(xué)生的學(xué)情開展因材施教提供了有力的依據(jù)。
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境,使用了一個事件驅(qū)動、非阻塞式I/O 模型,使JavaScript 成為與PHP、Python、Perl、Ruby 等服務(wù)端語言平起平坐的腳本語言,是一個讓 JavaScript 運行在服務(wù)端的開發(fā)平臺。
JavaScript 是Web 開發(fā)領(lǐng)域中的一種功能強大的編程語言,是一種腳本語言、可以跨平臺、支持面向?qū)ο缶幊蹋饕糜陂_發(fā)交互式的Web 頁面,JavaScript 內(nèi)嵌于HTML 頁面,通過瀏覽器內(nèi)置的JavaScript 引擎直接編譯。
Echarts 是一個商業(yè)級數(shù)據(jù)圖表,一個純JavaScript 的圖標(biāo)庫。可以兼容絕大部分的瀏覽器,可以為前端開發(fā)提供一個直觀、生動、可交互、可高度個性化定制的數(shù)據(jù)可視化圖表。
高校學(xué)情分析可視化平臺分為前端數(shù)據(jù)錄入、查詢,后臺數(shù)據(jù)管理和數(shù)據(jù)可視化兩部分,平臺總體功能計圖1所示。

圖1:平臺總體功能設(shè)計圖
平臺前端可實現(xiàn)成績數(shù)據(jù)的錄入及查詢,后臺可實現(xiàn)平臺所有數(shù)據(jù)的管理以及學(xué)情的分析展示,
學(xué)情分析可視化平臺的用戶分為三大類:學(xué)生、教師和管理員。按角色劃分具體功能設(shè)計如下:
學(xué)生用戶通過學(xué)號和密碼可登錄平臺進行學(xué)期所開設(shè)的課程成績的查詢,并可以查看個人學(xué)情分析。
教師用戶登錄平臺可進行所講授課程學(xué)生成績的錄入,并可以進行學(xué)生成績的管理和學(xué)情分析的查看。
管理員用戶登錄平臺可進行學(xué)生成績的管理、教師信息的管理、課程信息的管理、平臺管理及學(xué)情分析管理。
數(shù)據(jù)庫設(shè)計是指根據(jù)用戶需求來設(shè)計數(shù)據(jù)庫中表的結(jié)構(gòu),其設(shè)計的目的是通過數(shù)據(jù)庫中表的創(chuàng)建,滿足系統(tǒng)中用戶的數(shù)據(jù)存儲需求,用戶信息和數(shù)據(jù)處理的需求。即根據(jù)用戶不同的應(yīng)用要求,把現(xiàn)實中存在的實體對象用數(shù)據(jù)庫通過表將其合理的組織在一起,并建立一定的關(guān)系,滿足軟件和硬件的需求。
根據(jù)平臺的功能設(shè)計,數(shù)據(jù)庫中需要用到的主要表有:學(xué)生信息表(Student_Info)、學(xué)生成績表(Student_Score)、教師信息表(Teacher_Info)、管理員表(Aspcms_UserGroup)、網(wǎng)站訪問統(tǒng)計表(Aspcms_Visits)、課程信息表(Course_Info)。主要表的結(jié)構(gòu)設(shè)計如表1、表2、表3和表4所示。

表1:Aspcms_User(管理員表)

表2:Student_Info (學(xué)生信息表)

表3:Student_Score (學(xué)生成績查詢表)

表4:Course_Info(課程信息表)
數(shù)據(jù)可視化將相對復(fù)雜、冗雜的大數(shù)據(jù)經(jīng)過挖掘、轉(zhuǎn)化,提煉出結(jié)構(gòu)化數(shù)據(jù)內(nèi)容,并通過可視的方式以用戶更易理解的形式展示出來,清晰表達(dá)數(shù)據(jù)內(nèi)在的信息和規(guī)律。學(xué)情分析可視化平臺可用圖形分析展示學(xué)生個人各科目成績、班級各科目分?jǐn)?shù)段成績比例及班級各科成績分布情況。
平臺可利用柱形圖對平臺所有學(xué)生個人的各科考試成績進行分析展示,如圖2所示。實現(xiàn)核心代碼如下:

圖2:學(xué)生個人成績分析柱狀圖
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
var option = {title: {text: '學(xué)生個人成績柱狀圖'},legend: {data:['成績']},xAxis: {data: ["大學(xué)英語","離散數(shù)據(jù)","Java 程序設(shè)計","UI設(shè)計","操作系統(tǒng)"]}, yAxis: {},series: [{itemStyle: { normal: { label:{show: true,position: 'top',textStyle: { color: '#800080'}}}},name: ' 成績',type: 'bar', data: [75, 80, 96, 77, 87]}]};myChart.setOption(option);
</script>
平臺可利用餅圖對所有系統(tǒng)科目的成績占比進行分析展示,如圖3所示,實現(xiàn)代碼如下:

圖3:班級各科成績分布占比分析餅圖
<script type="text/javascript"
var myChart = echarts.init(document.getElementById('main'));
var option = {title: {text: 'Java 程序設(shè)計成績占比圖', left: 'center'},tooltip: { trigger: 'item'},legend: {orient: 'vertical',left: 'left',},
series: [ { type: 'pie',radius: '50%',
data:[{value: 4, name: '0-60',itemStyle:{color:'#f05'}},
{value:10, name: '60-70',itemStyle:{color:'#0BB'}},{value: 25,name: '70-80',itemStyle:{color:'#fa3'}},
{value: 15, name: '80-90',itemStyle:{color:'#09f'}}, {value: 5,name: '90-100',itemStyle:{color:'#369'}}],
emphasis: {itemStyle: {shadowOffsetX: 0,shadowColor: 'rgba(100,100, 100, 0.5)'}}} ]};
myChart.setOption(option);
</script>
本文從平臺的開發(fā)技術(shù)、平臺總體功能設(shè)計、數(shù)據(jù)可視化設(shè)計三個方面闡述了學(xué)情分析可視化平臺的設(shè)計與實現(xiàn)。通過平臺前端教師可以錄入學(xué)生各科成績,學(xué)生可以查詢成績,通過管理端可對平臺所有數(shù)據(jù)進行管理,可根據(jù)學(xué)生成績數(shù)據(jù)信息進行學(xué)情分析,包括學(xué)生個人成績分析、課程成績分布、各分?jǐn)?shù)段成績占比。后續(xù)平臺功能將不斷完善,同時實現(xiàn)與移動端微信平臺進行對接,更好地滿足高校教師對于學(xué)生學(xué)情的掌握,從而更好地進行因材施教,滿足學(xué)生的學(xué)習(xí)需求,提升教學(xué)質(zhì)量,為社會培養(yǎng)高素質(zhì)專業(yè)人才。