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

        ?

        非計算機專業(yè)程序設計課程教學改革與作業(yè)批改系統(tǒng)的構建

        2021-11-05 08:03:28蔣銀珍
        電子技術與軟件工程 2021年17期
        關鍵詞:測試點關鍵字任課教師

        蔣銀珍

        (蘇州大學東吳學院 江蘇省蘇州市 215006)

        程序設計課程是理工科學生的一門必修主干課程[1]。計算機程序設計語言種類繁多。目前,我校針對不同的非計算機專業(yè)學生開設的計算機程序設計通識課程也不同,主要有C 語言程序設計、C++程序設計、Python 程序設計、C#程序設計以及Java 程序設計。上述五門程序設計課程每周安排3 課時的課堂教學,3 課時的機房實驗教學。課堂教學在教室進行,主要由任課教師講授相關課程知識,實驗教學主要是安排學生完成實驗指導書上的編程題,任課教師和助教對學生練習過程中提出的問題進行解答。實驗結束后,學生將源代碼打包提交給任課教師進行批閱。由于計算機程序設計通識課程面向全校學生,任課教師在不同學期面向不同學院不同專業(yè)的學生授課,任教班級人數較多。針對不同專業(yè),程序設計課程的編程練習題與專業(yè)特色缺乏關聯性,作業(yè)設計不夠合理,學生的學習興趣不夠濃厚,這是導致目前教學效果不夠理想的主要原因[2]。此外,對程序設計課程作業(yè)采用傳統(tǒng)的布置和人工批改方式,效率低下、費時費力,已遠遠不能滿足課程的實踐環(huán)節(jié)的需要[3]。

        為了激發(fā)學生對程序設計課程的學習興趣,體驗編程帶來的成就感,讓任課教師實時了解學生的編程作業(yè)完成情況,及時調整課堂教學側重點,同時也實現任課教師之間資源共享,減少重復工作量,筆者開發(fā)了基于B/S 結構的通用在線作業(yè)提交與批閱系統(tǒng),目前適用于C、C++、Python、C#以及Java 程序設計等五門課程。過程性學習評價能更全面客觀的考核學生的學習活動[4],實踐證明,借助于作業(yè)批閱系統(tǒng),任課教師能更輕易地從宏觀上掌握學生的平時學習狀態(tài)。

        1 系統(tǒng)功能

        程序設計課程作業(yè)批閱系統(tǒng)以網站形式發(fā)布。該系統(tǒng)用戶角色有課程管理員、任課教師和學生。

        課程管理員的主要職能是為其負責的課程劃分好知識模塊。以C 語言程序設計課程為例,知識模塊可劃分為運算符與表達式、順序結構、單分支結構、雙分支結構、多分支結構、while循環(huán)、for 循環(huán)、循環(huán)嵌套、函數、結構體、鏈表等,并為各知識模塊有針對性地設計編程作業(yè)供學生進行專項練習。

        任課教師主要負責管理自己的授課班級信息、班級資料和學生名單。在教學過程中,任課教師根據自己的教學進度和面向的學生專業(yè)方向,為所授班級選擇合適的編程作業(yè)進行發(fā)布,同時設置起始時間和截止時間。此外,任課教師也可以根據自己班級的實際情況新增編程作業(yè)作為補充。根據實際情況,任課教師對已經發(fā)布的作業(yè)也可調整截止時間,或取消發(fā)布。

        在作業(yè)發(fā)布期內,學生登錄后可查看編程題題目要求和運行示例,啟動相關程序設計語言開發(fā)環(huán)境,編寫程序代碼進行調試,完成后提交程序源代碼文件,系統(tǒng)接收源代碼文件后自動批閱,然后顯示作業(yè)成績并登記入系統(tǒng)。

        2 系統(tǒng)開發(fā)與實現

        本系統(tǒng)是基于ASP.NET 的B/S 架構的Web 應用程序,開發(fā)語言采用C#。通過綜合考察C 語言程序設計、C#程序設計、Java 程序設計以及Python 程序設計等四門課程的教學要求的異同點,設計編程作業(yè)布置與批改的流程為:設計編程題→任課教師發(fā)布編程作業(yè)→學生完成并提交作業(yè)→系統(tǒng)自動批閱→任課教師查看成績。

        編程題設計要素包括題目要求、圖片(僅支持一張)、關鍵字、輸入輸出以及參考答案(可為空)。其中,關鍵字是指代碼中必須包含的內容,程序設計課程類別不同,則關鍵字有所不同(例如C語言程序作業(yè)的關鍵字可設為:include/main/scanf/printf)。每題至少一對、最多5 對輸入輸出用作批閱時的測試數據。在設計無輸入的編程作業(yè)(如:輸出100 以內的素數)時,輸入測試內容任意。圖1 顯示的是C 語言程序設計課程中for 循環(huán)部分的一道編程作業(yè),共設置了5 個關鍵字,兩對輸入輸出。

        圖1:設計編程題界面

        設計完編程題作業(yè)后,任課教師可發(fā)布作業(yè)供學生查看。同一編程題可向不同班級發(fā)布,發(fā)布時設置允許提交作業(yè)的開始時間和截止時間,以及截止時間過后是否向學生公布參考答案。

        學生登錄系統(tǒng)后,在允許提交作業(yè)的時間段內,可根據題目要求編寫程序源代碼文件,通常要借助相關程序開發(fā)環(huán)境(如Dev-CPP、Visual Studio 等)調試程序。當學生在本地調試完程序后,將源程序文件提交至本系統(tǒng)(界面如圖2所示),系統(tǒng)給出關鍵字和每組數據的測試結果得分,并顯示該題總得分。每道作業(yè)滿分為100 分,其中關鍵字滿分10 分,關鍵字個數不限。若關鍵字個數為n,則每個關鍵字得分為10/n。1 至5 個測試點共90 分,每個測試點滿分相同。如某道作業(yè)設置了一個測試點,則該測試點滿分為90 分;若設置了兩個測試點,則每個測試點滿分為45 分,若設置了3 個測試點,則每個測試點滿分為30 分,依此類推。在截止時間之前,學生可反復提交,系統(tǒng)保留最后一次的作業(yè)結果和成績。任課教師則隨時可以查看每位學生的完成題數、總得分、平均分以及每題的完成情況(包括每個測試點得分、測試輸入、期望的輸出結果以及學生程序的輸出結果等),從而掌握學生學習的薄弱環(huán)節(jié),及時調整課堂教學側重點,不斷提高教學質量。若截止時間已過,學生不能再提交文件進行批閱,但能查看得分,并在設置為允許查看答案的情況下瀏覽參考答案代碼。

        圖2:學生提交源程序文件批閱界面

        自動批閱源程序文件是本系統(tǒng)的實現難點。在圖2所示界面中,系統(tǒng)接收到學生提交的源程序文件后,則按以下步驟完成批閱:

        (1)在服務器端創(chuàng)建一個以學生學號命名的文件夾;

        (2)將學生提交的源程序文件上傳到學號文件夾;

        (3)將該編程作業(yè)的輸入數據轉存為輸入文本文件;

        (4)比對學生代碼中的關鍵字,并計算得分(記作A);

        (5)根據源程序文件的擴展名(目前支持.c、.cpp、.cs、.py、.java 擴展名),獲取相應的編譯程序或解釋程序的路徑配置信息,然后使用自定義的Compile 類的ExecuteCompile 方法,通過使用Process 類調用cmd 命令設置PATH 路徑、運行預先安裝在服務器端的編譯器或解釋器程序命令,從而實現編譯或解釋學生程序代碼的目的;例如:

        對于.c 源程序文件,處理的關鍵代碼是:

        對于.cpp、.cs 以及.java 源程序文件,處理代碼類似,僅僅是編譯程序路徑和文件名稱不同而已。

        若對于.py 源程序文件,直接調用Python 解釋器解釋學生程序。

        (6)通過檢查是否產生了.exe 文件判斷學生程序是否成功編譯鏈接。若成功則再次使用Process 類調用cmd 命令,運行學生程序(采用管道操作,以輸入文本文件作為標準輸入,運行結果重定向寫入指定結果文本文件);關鍵代碼如下:

        (7)讀取結果文本文件的內容,與編程作業(yè)的輸出數據進行比對,并計算得分(記作B);

        (8)將學生代碼、測試結果以及得分(A+B)存入數據庫;

        為提高系統(tǒng)的可維護性,在系統(tǒng)配置文件Web.Config 中的appSettings 節(jié)點下為編譯器或解釋器程序路徑設置鍵對值,例如各種語言編譯器對應的鍵對值可設置如下(根據實際安裝情況路徑有所不同):

        為避免大量存在死循環(huán)的學生程序占用服務器CPU,在使用Process 類調用cmd 命令運行學生程序時,可指定等待時間。若在指定時間內,學生程序仍未執(zhí)行結束,則調用taskkill 命令強制結束學生程序。

        作業(yè)批閱系統(tǒng)后臺數據庫為Sql Server 2008,與編程作業(yè)相關的數據表有三張,分別為編程題表、作業(yè)發(fā)布表和作業(yè)成績表。編程題表用于存放編程題信息,字段包括:題目編號、章節(jié)編號、出題人、題目要求、圖片名稱、關鍵字以及5 組輸入輸出等。作業(yè)發(fā)布表存放作業(yè)發(fā)布信息,字段包括:發(fā)布編號、班級編號、開放時間、截止時間以及是否在截止時間之后允許查看答案等。作業(yè)成績表登記學生編程題的完成情況,包括學號、姓名、成績、學生答案、測試結果等。

        3 結束語

        程序設計類課程重在實踐[5]。如何設計作業(yè),合理設置作業(yè)發(fā)布時間的先后順序也至關重要。例如,教材中有例題:輸入一個整數,輸出它的每位數字之和。通過課堂講解讓學生領會其中的算法。為了幫助學生靈活運用該算法,可依次設計并發(fā)布作業(yè):

        (1)輸入一個整數,輸出它的逆序數;

        (2)輸入一個整數,判斷其是否為對稱數;

        (3)輸出1000 以內所有的對稱數。循序漸進,逐步加大作業(yè)難度,不斷提高學生對所學知識的靈活運用能力。

        經過一學年的使用,基于Web 的程序設計課程作業(yè)自動批閱系統(tǒng)運行狀態(tài)良好,學生完成編程作業(yè)后即刻提交驗證并查看得分,體會到成功帶來的喜悅。任課教師也能及時發(fā)現學生對所學知識掌握的薄弱點。目前該系統(tǒng)已是全校從事計算機程序設計課程教學教師的得力助手,同時也是學生的好幫手,對于提高教學質量、增強師生之間的互動具有積極的推廣意義。

        猜你喜歡
        測試點關鍵字任課教師
        一種新型模擬電路故障字典測點選擇方法研究
        機電信息(2023年24期)2023-12-26 10:55:38
        基于信息熵可信度的測試點選擇方法研究
        履職盡責求實效 真抓實干勇作為——十個關鍵字,盤點江蘇統(tǒng)戰(zhàn)的2021
        華人時刊(2022年1期)2022-04-26 13:39:28
        邏輯內建自測試雙重過濾測試點選取策略
        成功避開“關鍵字”
        班主任與任課教師合作發(fā)展的實踐與思考
        江蘇教育(2018年55期)2018-01-28 21:38:20
        論高職班主任與任課教師的協作與溝通
        長江叢刊(2017年7期)2017-11-25 05:42:32
        要善于樹立任課教師的威信
        測試點的優(yōu)化選擇
        電子測試(2012年2期)2012-08-07 07:52:52
        基于用戶反饋的關系數據庫關鍵字查詢系統(tǒng)
        亚洲成人激情深爱影院在线| 免费无码中文字幕a级毛片| 国产国语熟妇视频在线观看| 欧美成人www免费全部网站| 亚洲国产av自拍精选| 亚洲中文字幕久久在线| 国产精品永久免费| 久久香蕉国产线看观看网| 国产日产精品久久久久久| 国产一区二区三区资源在线观看| 很黄很色的女同视频一区二区| 国产一精品一av一免费| 国产av人人夜夜澡人人爽麻豆| 久久99精品免费一区二区| 中文字幕大乳少妇| 日韩在线精品视频观看| 国产精品精品国产色婷婷| 一本色道久久88综合日韩精品| 日韩a无v码在线播放| 日本a级大片免费观看| 日韩一区二区中文天堂| 99人中文字幕亚洲区三| 国偷自产视频一区二区久| 精品人人妻人人澡人人爽牛牛| 久久精品国产亚洲AV成人公司| 国产精品国产三级在线专区| 国产自拍精品一区在线观看| 久久久久久九九99精品| 国产高潮刺激叫喊视频| 日韩av一区二区三区精品| 国产一级二级三级在线观看av| 99精品国产一区二区| 亚洲精品夜夜夜| 国产一区亚洲欧美成人| 蜜臀av一区二区三区精品| 亚洲av天堂在线视频| 亚洲熟女综合一区二区三区| 99久久综合国产精品免费| 国产在线视频一区二区三区| 亚洲第一狼人天堂网亚洲av| 亚洲欧美精品aaaaaa片|