公務(wù)員期刊網(wǎng) 論文中心 正文

差異化能力培養(yǎng)下計算機程序設(shè)計探析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了差異化能力培養(yǎng)下計算機程序設(shè)計探析范文,希望能給你帶來靈感和參考,敬請閱讀。

差異化能力培養(yǎng)下計算機程序設(shè)計探析

摘要:計算機程序設(shè)計是眾多高校的公共基礎(chǔ)課程,教學(xué)目標要求理論與實踐并重。調(diào)研發(fā)現(xiàn),學(xué)生的計算機基礎(chǔ)差距很大,如何在統(tǒng)一的教學(xué)大綱和考核要求下,針對差異化的個體開展實驗教學(xué)工作,是一項具有挑戰(zhàn)性的難題。文章從學(xué)生能力培養(yǎng)的角度出發(fā),采用現(xiàn)代教育技術(shù),針對不同起點的學(xué)生,基于本地、服務(wù)端、云端等平臺建立了一套多維度的實驗教學(xué)體系。教學(xué)實踐表明,該體系具有教學(xué)對象適用范圍廣、各平臺互補性強的特點,能實現(xiàn)因材施教的目標,為計算機基礎(chǔ)課程的實驗教學(xué)提供一種可借鑒的方案。

關(guān)鍵詞:差異化教學(xué);計算機程序設(shè)計;能力培養(yǎng);實驗體系

計算機程序在驅(qū)動當今社會高效運轉(zhuǎn)的各類系統(tǒng)中處于核心地位,程序設(shè)計能力已成為高端人才的必備能力。作為高等教育在學(xué)人數(shù)最多的國家[1],我國對計算機教學(xué)越來越重視,很多大學(xué)將計算機程序設(shè)計列為面向所有專業(yè)開設(shè)的公共基礎(chǔ)或通修課程。與數(shù)學(xué)物理等基礎(chǔ)課程不同的是,從教學(xué)目標上,計算機程序設(shè)計應(yīng)該是一門理論與實踐并重的課程。然而在實際的教學(xué)中,由于教學(xué)理念、實驗條件、教學(xué)方法、考核機制的影響與約束,使得課程實踐的整體水平很難達到教學(xué)要求。另一方面,現(xiàn)代教育理念強調(diào)以學(xué)習(xí)者為中心,而相比于其他基礎(chǔ)課程,由于中學(xué)信息技術(shù)教育水平的不同,大學(xué)新生在計算機基礎(chǔ)方面的差異十分巨大,單一的實驗教學(xué)模式難以滿足差異化的學(xué)生學(xué)習(xí)需求。近年來各高校都加強了實驗條件建設(shè),并且針對學(xué)生程序設(shè)計能力的培養(yǎng),在實驗教學(xué)形式與教學(xué)內(nèi)容方面進行了很多改革的嘗試。比如采用項目導(dǎo)向[2]、應(yīng)用導(dǎo)向甚至競賽導(dǎo)向[3]的形式,增加探索性實驗內(nèi)容[4],引導(dǎo)學(xué)生綜合利用知識解決問題;也有強調(diào)從錯誤中學(xué)習(xí)和培養(yǎng)編程能力[5]、建立突出實踐能力評價的多元考核體系等方法[6-7],以實踐促學(xué)習(xí);在分層教學(xué)方面,也有一些有益的嘗試[8]。但由于缺乏體系化設(shè)計以及相應(yīng)的條件建設(shè),仍然無法建立能有效解決學(xué)生基礎(chǔ)差異問題的實驗教學(xué)模式。針對上述問題,本文首先進行了學(xué)情分析,然后設(shè)計了多平臺的實驗體系,通過差異化的教學(xué)實踐幫助學(xué)生從不同的起點出發(fā)達到教學(xué)目標。

一、學(xué)情分析

在國內(nèi)計算機教育起步階段,幾乎所有大學(xué)新生都沒有專業(yè)的計算機基礎(chǔ),因此計算機課程可以沿用其他課程的教學(xué)模式,從零基礎(chǔ)開始學(xué)習(xí)語法知識、練習(xí)編寫小程序,所有人同步學(xué)習(xí)直至完成教學(xué)任務(wù)。當時的計算機課程主要面向信息和計算機類專業(yè)的學(xué)生,屬于專業(yè)課程體系,學(xué)生的學(xué)習(xí)目標明確,學(xué)習(xí)主動性也較強。但在進入信息時代之后,國內(nèi)高校已普遍把計算機程序設(shè)計列為各專業(yè)都需要學(xué)習(xí)的基礎(chǔ)課程,教學(xué)對象表現(xiàn)出如下特征:(1)專業(yè)差異大,涉及到理學(xué)、工學(xué)、農(nóng)學(xué)、醫(yī)學(xué)、經(jīng)濟學(xué)、管理學(xué)等跨度很大的專業(yè),各專業(yè)對程序設(shè)計能力的需求各有不同;(2)基礎(chǔ)差異大,由于信息技術(shù)不是高考科目,大多數(shù)新生并未在中學(xué)系統(tǒng)學(xué)習(xí)過編程,甚至有相當一部分人并不經(jīng)常使用計算機,在學(xué)習(xí)本課程之前幾乎是零基礎(chǔ),但由于信息奧賽是高考自主招生認可的五大競賽之一,又有相當數(shù)量的學(xué)生參加過信息類競賽,對編程較為熟悉,這些基礎(chǔ)不同的學(xué)生顯然無法保持一致的學(xué)習(xí)進度。課程組在本校新生入學(xué)時進行的計算機基礎(chǔ)調(diào)研結(jié)果見表1。從中可以看出,學(xué)生的計算機基礎(chǔ)分布較為分散,其中學(xué)過C/C++的學(xué)生占比達到11.3%,而這已經(jīng)是計算機程序設(shè)計基礎(chǔ)課程能選擇的最難的語言;學(xué)過至少一門編程語言的更是高達20.1%,對這些基礎(chǔ)很好的同學(xué)來說,按部就班的實驗內(nèi)容難以滿足他們的學(xué)習(xí)需求。但與此同時,不能熟練使用計算機的同學(xué)占比高達43%以上,其中很少使用計算機的同學(xué)達到了14.6%的比例,對他們來說,學(xué)習(xí)編程的過程具有相當?shù)奶魬?zhàn)性。從“以生為本”的角度,針對基礎(chǔ)不同的學(xué)生,應(yīng)該有更多可選的實驗平臺,安排不同起點的實驗內(nèi)容以及循序漸進的實驗方案,以幫助他們盡快縮小差距,最終共同達到學(xué)習(xí)目標。因此,設(shè)計與實現(xiàn)一個面向差異化能力培養(yǎng)的實驗教學(xué)體系成為必然的選擇。

二、實驗體系設(shè)計與教學(xué)實踐

本文從教學(xué)對象、實驗內(nèi)容、實驗平臺三個維度進行了差異化的實驗體系設(shè)計,其架構(gòu)如圖1所示。每個維度都是一個由淺入深、循序漸進逐步發(fā)展的過程,介紹如下。

(一)教學(xué)對象維度

中國科學(xué)技術(shù)大學(xué)(以下簡稱“我?!保?009年起,在國內(nèi)率先把計算機程序設(shè)計作為全校所有專業(yè)的通修課程,并在設(shè)課同時實施了分級教學(xué)。根據(jù)新生的入學(xué)計算機測試結(jié)果,結(jié)合學(xué)生的分班意愿,劃分了基礎(chǔ)班和普通班。在當時,兩類班級的主要差別就體現(xiàn)在實驗內(nèi)容上。從2018年起,在省級重大教研項目支持下,課程組對本課程進行了更深層次的改革,在進行了細致調(diào)研的基礎(chǔ)上再次分級,面向具有較強程序設(shè)計能力的學(xué)生增設(shè)了進階班,配備具有豐富教學(xué)科研經(jīng)驗的教師和計算機專業(yè)的研究生助教,開展進階內(nèi)容的教學(xué)。從教學(xué)對象維度,分班不僅意味著知識儲備起點的不同,也對應(yīng)著從不同層次的實驗內(nèi)容和實驗平臺起步。

(二)實驗內(nèi)容維度

實驗是學(xué)習(xí)計算機程序設(shè)計的最核心環(huán)節(jié),但在當前的教學(xué)實踐中,存在著實驗內(nèi)容過于簡單和零碎、缺乏系統(tǒng)性與趣味性等問題。題目類型較為單一,更注重知識點的學(xué)習(xí)與練習(xí),而不是對程序設(shè)計思想與方法的理解與掌握。特別是沒有針對不同基礎(chǔ)的學(xué)生設(shè)置不同層次的實驗內(nèi)容,難以滿足學(xué)生的差異化學(xué)習(xí)需求。為改變現(xiàn)狀,首先針對基礎(chǔ)薄弱的基礎(chǔ)班學(xué)生,增加了計算機應(yīng)用的上機內(nèi)容,主要包括Windows操作系統(tǒng)及常用應(yīng)用軟件操作實驗、OfficeWord、Excel和Power-Point操作實驗、以及Linux操作系統(tǒng)與網(wǎng)絡(luò)操作實驗等。針對普通班的學(xué)生,實驗內(nèi)容則從演示型實驗開始,逐步過渡到驗證型、設(shè)計型和綜合型,其中綜合型包括了二維字符數(shù)組的操作、文件與鏈表的應(yīng)用等較為復(fù)雜的內(nèi)容,重點鍛煉學(xué)生的程序設(shè)計思想與計算思維能力。針對進階班的學(xué)生,除了增加算法分析與設(shè)計、軟件工程等方面的教學(xué)內(nèi)容外,更是大幅增強了實驗內(nèi)容。要求學(xué)生以自由組隊的方式,完成至少兩項任務(wù),其一是使用MillerRabin測試算法進行素數(shù)判定,其中涉及二進制大數(shù)的生成、輸入、運算與測試等較為艱深的數(shù)值表示與處理的內(nèi)容,學(xué)生通過本實驗了解使用計算機暴力計算能力從概率上解決數(shù)論問題,以及隨機化算法的設(shè)計思想;其二是設(shè)計實現(xiàn)一款游戲,要求:(1)該游戲必須包含動態(tài)控制成分(例如:棋子移動、飛行等,而不能是簡單直接地顯示棋子);(2)C語言下可以用字符作為顯示界面,也可以在C++語言下用圖形窗口作為顯示界面;(3)作為游戲,應(yīng)當有人機交互成分。要求交互界面友好,易學(xué);(4)鼓勵有基礎(chǔ)的同學(xué)嘗試添加博弈對抗;(5)鼓勵有基礎(chǔ)的同學(xué)嘗試多機聯(lián)合/對抗等。

(三)實驗平臺維度

課程為不同基礎(chǔ)的同學(xué)提供了多平臺的實驗環(huán)境,分為本地、服務(wù)端和云端三類平臺?;A(chǔ)薄弱的學(xué)生從簡單易用的DevC++5.11本地開發(fā)環(huán)境開始練習(xí),有了一定基礎(chǔ)后則要求使用兼容性更好的CodeBlocks開發(fā)環(huán)境或更加專業(yè)的VisualStudioCode環(huán)境。中后期的綜合類實驗,除了基于離線平臺編寫與調(diào)試源代碼外,還要求學(xué)生在服務(wù)端的自主實驗實訓(xùn)平臺(圖2)在線提交已完成的代碼,一方面便于助教隨時進行評判,另一方面可以長期保存學(xué)生的實驗程序。對于進階班與其他進行到綜合類與項目導(dǎo)向類實驗階段的同學(xué),要求分別在我校自主開發(fā)的在線評測系統(tǒng)CODIA(課達編程)(圖3)以及華為“智能基座”產(chǎn)教融合項目提供的鯤鵬云平臺(圖4)上進行自我測試與高階練習(xí)。

(四)綜合考核

合理的考核制度,重點不在于如何考察學(xué)生對知識的記憶和掌握的熟練程度,而是要有利于激發(fā)學(xué)生的學(xué)習(xí)主動性與探索未知的興趣。本課程的實驗考核環(huán)節(jié),采用了線上線下相結(jié)合、教師與學(xué)習(xí)者共同參與的綜合考核方式。線下通過人工對演示型、驗證型和設(shè)計型實驗的正確性進行評判,而綜合型實驗則會進行綜合評判,評分內(nèi)容包括實驗程序的完整性、魯棒性(如是否有較為完善的錯誤捕捉與處理機制等)、項目報告的規(guī)范性;對項目導(dǎo)向類或其他開放性實驗,則從作品的創(chuàng)新性(程序中獨創(chuàng)的部分,包括使用新的架構(gòu)、算法或策略、設(shè)計理念等)、作品新穎性(與已有程序的差異,具有趣味性甚至對抗性等)等方面,由教師、助教以及各分組間互評打分,盡可能保證評分的合理性與公平性。線上主要通過平臺打分,如自主實訓(xùn)平臺可以完成語法練習(xí)類程序的語法正確性判定,而程序設(shè)計思想與方法的優(yōu)劣則由教師和助教人工進行評判。在線評測系統(tǒng)由于使用了機器學(xué)習(xí)與大數(shù)據(jù)分析技術(shù),已經(jīng)能夠達到信息類競賽用軟件的評測水平,適用于本課程除項目導(dǎo)向類以外的所有實驗內(nèi)容的自動評分。以上多維考核的結(jié)果最終進行加權(quán)計算,得到學(xué)生的綜合實驗成績,而實驗成績占課程總評成績的40%,較好體現(xiàn)了實踐能力在課程學(xué)習(xí)中的重要性。在4個課堂進行的教學(xué)實踐發(fā)現(xiàn),學(xué)生編程能力有顯著提高,代碼規(guī)范性從無到有,難度高、工作量大的綜合實驗的完成率從約60%提高到85%以上。在我校課堂教學(xué)質(zhì)量評估系統(tǒng)中,學(xué)生均給出了4.5分(滿分5分)以上的評價,處于全校課堂的前列。

三、結(jié)束語

作為一門理論與實踐并重的課程,面對基礎(chǔ)差異巨大的學(xué)習(xí)群體,設(shè)計能力層次分明、平臺搭配合理、評分公平有效的實驗體系,對學(xué)生掌握程序設(shè)計思想與方法、鍛煉編程實踐能力具有至關(guān)重要的作用。教學(xué)效果證明了本文設(shè)計的多平臺實驗體系在差異化能力培養(yǎng)方面的有效性。未來的工作中,將依托智慧課堂等現(xiàn)代教育技術(shù),進一步改進與細化差異化能力培養(yǎng)模式,以達到更優(yōu)的教學(xué)效果。

作者:王雷 唐建 白雪飛 單位:中國科學(xué)技術(shù)大學(xué)信息學(xué)院