摘要:大數(shù)據(jù)時代,“計算機科學與技術(shù)”專業(yè)“專升本”學生的程序設(shè)計能力的提升尤為重要。本文主要針對“計算機科學與技術(shù)”專業(yè)“專升本”學生專業(yè)知識基礎(chǔ)兩極分化嚴重的問題,以語言程序設(shè)計類課程為例,根據(jù)語言輸入與輸出理論采用分級教學模式,探索語言程序類課程的分級課程教學、分級課程設(shè)置以及具體可行的實施路徑,再以《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》兩門課程的融合分級教學策略,輔助計算機軟考、程序設(shè)計競賽等課外學習,進一步提高“專升本”學生的程序設(shè)計能力,提升學生的就業(yè)和升學競爭力。
關(guān)鍵詞:大數(shù)據(jù)時代,專升本;程序設(shè)計;分級教學;計算機軟考;競賽
大數(shù)據(jù)時代為適應(yīng)產(chǎn)業(yè)升級和經(jīng)濟結(jié)構(gòu)調(diào)整對技術(shù)技能人才越來越緊迫的需求,國家將高職教育發(fā)展作為戰(zhàn)略實施,希望通過發(fā)展高職教育緩解當前就業(yè)壓力、解決高技能人才短缺。高職招生規(guī)模的擴大勢必會造成“專升本”生源的多樣性和規(guī)模的擴大,然而,現(xiàn)有的本科教育教學體制,很少有研究專門針對“專升本”學生的教育教學方針,使得現(xiàn)有本科教育和“專升本”教育存在脫節(jié)或者繼續(xù)教育銜接不夠緊密的特點,造成“專升本”學生在本科階段的學習具有獲得感、成就感不足的現(xiàn)象。因此,本文以語言程序設(shè)計類課程教學為例,研究更加精準有針對性的“專升本”本科教育教學模式。
由于程序設(shè)計類課程是一門特殊的語言,是人與機器交流的語言,我們希望利用語言學習的規(guī)律和特點,基于語言學家Krashen提出的語言輸入與輸出理論,設(shè)計針對性的“專升本”學生的,分級《高級語言程序設(shè)計》教育教學模式。Krashen指出:“語言輸入如果太容易,就無法起到激發(fā)學習者興趣和動機的作用。語言輸入如果太難,則會讓學習者失去興趣”。因此,其將學習者的當前語言知識狀態(tài)定義為“i”,其下一個語言知識狀態(tài)定義為“i+1”,并指出只有當學習者當前學習的語言知識屬于“i+1”的等級,才能起到對學習者語言發(fā)展的推動用。因此,我們將此作為分級教學的理論基礎(chǔ),在教學過程的設(shè)計和實施中,基于對學生當前語言知識狀態(tài)的充分了解,設(shè)計處于“i+1”等級的課程學習資料,使學生學習興趣和課堂參與度地到最大化的調(diào)動。
一、分級教育教學模式
(一)課程分級策略設(shè)計
制定多門程序設(shè)計類課程動態(tài)聯(lián)動的課程分級策略,使學生在程序類課程的學習中,已具備課程需要掌握的前導知識和應(yīng)具備實踐能力,做到前后課程的無縫銜接,從而獲得可持續(xù)的發(fā)展。具體的實施路徑為,為了克服程序設(shè)計類課程的學習存在理論知識和實踐能力脫節(jié)的問題,設(shè)計合理的課程體系和進度,將程序設(shè)計類課程分別從理論和實踐兩個維度,按縱向劃分為基礎(chǔ)、綜合、提高三個等級。其中,基礎(chǔ)課程,主要針對基礎(chǔ)薄弱的學生,重點講授語法基礎(chǔ)知識,初步鍛煉學生的編程能力,使學生克服編程的畏難情緒,為下一步的學習打下基礎(chǔ),建立信心。綜合課程,主要針對有一定編程基礎(chǔ)的學生,重點講授結(jié)構(gòu)和算法,建立程序設(shè)計的思想,鍛煉學習解決常見的編程問題的能力。提高課程:主要針對已具備較強編程能力學生,使學生接觸設(shè)計模式等高階課程,并結(jié)合企業(yè)實際項目需求,使學生具備解決復雜問題,設(shè)計并完成項目模塊的能力。對每個等級的課程在劃分為初級、中級和高級三個層次,以實現(xiàn)針對不同基礎(chǔ)的學生的精準授課,同時提高學生程序設(shè)計類課程的理論水平和實踐能力。
(二)班級分級策略設(shè)計
設(shè)計精準和動態(tài)的分級教學分班策略。學生在入學時,可按照個人意愿選擇性地參與不同等級的程序設(shè)計類課程的理論基礎(chǔ)和實踐測試,然后在入學培訓時,由各課程的專業(yè)教師,對課程的主要內(nèi)容和學習目標進行介紹。最后,結(jié)合學生的個人意愿和該分級的理論和實踐測試結(jié)果,進行分班。使得班級內(nèi)學習在進行該門課程的學習時,已具備第“i”級的前導知識,希望繼續(xù)進行第“i+1”級課程的學習。因此,通過該精準的分班策略,學生對該門課程的學習更有自主感和成就感,老師對教學的內(nèi)容也更有針對性,克服了填鴨式教學的缺陷。另外,在具體的教學實踐中,采取浮動的調(diào)整策略,根據(jù)課程考核結(jié)果和學生的意愿,可以對學生的進行動態(tài)調(diào)整。
(三)考核分級策略設(shè)計
建構(gòu)與分級動態(tài)教學相適應(yīng)的形成性評估和終結(jié)性評估相結(jié)合的多元教學評價體系。首先根據(jù)分級動態(tài)教學思想和教學目標,結(jié)合學生實際學習情況,設(shè)計科學合理的高級語言程序設(shè)計分級考試題庫,以真正實現(xiàn)對學生理論及綜合實踐應(yīng)用能力的全方位考核和評價。另外,過程性考核方面,在課程設(shè)置上可分為理論和實踐兩個部分,在時間維度上可分為課前、課中、課后3個考核部分,并結(jié)合程序設(shè)計類競賽、大創(chuàng)項目、分組主題報告等程序設(shè)計活動,從多個維度給出綜合的過程性評價。
二、教學改革實例—以《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》整合分級為例
(一)《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》教學現(xiàn)狀分析
在程序設(shè)計類課程中,《高級語言程序設(shè)計》是計算機科學與技術(shù)專業(yè)最重要的一門基礎(chǔ)和核心課程,為后續(xù)進一步學習算法理論類課程,如《數(shù)據(jù)結(jié)構(gòu)》、《操縱系統(tǒng)》,和項目實踐類課程,如《面向?qū)ο蟪绦蛟O(shè)計設(shè)計》、《網(wǎng)絡(luò)程序設(shè)計》打下基礎(chǔ)?,F(xiàn)有的《高級語言程序設(shè)計》課程體系,普遍都是講授程序設(shè)計語言的基本語法和簡單程序設(shè)計的方法。然而,“專升本”學生有的在高職階段已經(jīng)對設(shè)計語言的基本語法和程序設(shè)計設(shè)計方法進行了系統(tǒng)的學習,有的則在“專升本”考試時,通過自主學習,完成了部分內(nèi)容的學習,學生之間的基礎(chǔ)差異很大,甚至有部分學生完全沒有基礎(chǔ)。如果沿用傳統(tǒng)的《高級語言程序設(shè)計》教育教學方法,教學效果不理想。
《數(shù)據(jù)結(jié)構(gòu)》主要是研究數(shù)據(jù)的關(guān)系,討論數(shù)據(jù)基于問題的邏輯結(jié)構(gòu)、基于內(nèi)存物理存儲結(jié)構(gòu),和基于結(jié)構(gòu)的數(shù)據(jù)各種操作的實現(xiàn)及分析。數(shù)據(jù)結(jié)構(gòu)的不僅是程序設(shè)計的基礎(chǔ),也是設(shè)計和實現(xiàn)各種大型應(yīng)用程序的重要基礎(chǔ)。通過這門課程的學習,使學生通過正確分析數(shù)據(jù)的結(jié)構(gòu)、并合理地選擇數(shù)據(jù)的存儲方式,從而在軟件設(shè)計的過程中,設(shè)計出科學的操作算法,進一步提高軟件整體質(zhì)量,且為計算機專業(yè)考研的核心課程之一。該門課程學習的前提是,學生具備堅實的《高級語言程序設(shè)計》基礎(chǔ)。
目前專升本學生在《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》兩門課程的學習現(xiàn)狀為:基礎(chǔ)差的同學跟不上目前《高級語言程序設(shè)計》的教學進度,沒有形成程序設(shè)計思想。進而,對進一步《數(shù)據(jù)結(jié)構(gòu)》的學習更是覺得難上加難?;A(chǔ)好的同學覺得《高級語言程序設(shè)計》的內(nèi)容難度已經(jīng)難以滿足自己對程序設(shè)計知識的渴望,難以對學習產(chǎn)生興趣。久而久之,當老師教授超出其知識范圍的新知識時,其也已經(jīng)失去了學習的興趣,同樣使得《高級語言程序設(shè)計》的基礎(chǔ)掌握不牢固。其次,在《高級語言程序設(shè)計》的學習中,讓學生時難點并且和《數(shù)據(jù)結(jié)構(gòu)》的聯(lián)系最緊密的知識點是結(jié)構(gòu)體、指針、字符串操作、遞歸、結(jié)構(gòu)體指針、指針數(shù)組、函數(shù)指針等內(nèi)容,然而這些內(nèi)容由于較為抽象,學生難以理解和掌握,且受到課時限制,反而被老師進行了弱化。從而,進一步影響了《數(shù)據(jù)結(jié)構(gòu)》的學習效果。《數(shù)據(jù)結(jié)構(gòu)》作為考研必備科目,其重要性不言而喻。由于學生在對《高級語言程序》的學習中沒有建立充分的程序設(shè)計思維,而《數(shù)據(jù)結(jié)構(gòu)》教師在授課時,由于課程設(shè)置,默認學生已經(jīng)建立程序設(shè)計思維,因此《數(shù)據(jù)結(jié)構(gòu)》的學習容易形成理論知識和實踐環(huán)節(jié)的鴻溝。學生雖然知道了一些結(jié)構(gòu),然而不能對其進行實際的應(yīng)用,對于程序設(shè)計能力沒有提升。因此,我們以這兩門課程作為計算機專業(yè)專升本學生的改革試點,進行課程整合,在一起整體設(shè)計,構(gòu)建《C語言程序設(shè)計》與《數(shù)據(jù)結(jié)構(gòu)》的新的分級程序設(shè)計教學體系,提高程序設(shè)計教學的質(zhì)量,改革教學方法,提升學生在學習中的獲得感。減少課程間的鴻溝,降低學習學習的難度,實現(xiàn)理論可以指導實踐,實踐也進一步促進理論的理解和應(yīng)用。從而,緩解當前專升本學習對程序設(shè)計類課程的困境,為專升本學生后續(xù)的就業(yè)和進一步深造打下基礎(chǔ)。
(二)《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》整合分級教學改革
在教學改革的實踐過程中,將兩門課程的內(nèi)容進行重新整合和劃分, 將課程分為三個等級(基礎(chǔ)、綜合、提高),學生按照入學成績、理論、實踐考核以及個人意愿進行分班?;A(chǔ)班的授課內(nèi)容主要包含基礎(chǔ)語法、利用for循環(huán)以及嵌套循環(huán)結(jié)合一維數(shù)組、二維數(shù)組來解決常見的基礎(chǔ)算法的設(shè)計與實現(xiàn)。學生要能夠獨立的編寫并修改程序,給出一個代碼,學生要能夠正確分析其功能,給出一個功能和部分代碼,學生要能夠?qū)⒋a的關(guān)鍵部分補充完整。為了實現(xiàn)這些目標,在理論上,學生必須掌握的是變量在計算機中是如何存儲和修改的,數(shù)組中變量的存儲形式,如何使用數(shù)組下標來操作數(shù)組,如何對輸入變量和目標輸出變量基于變量、數(shù)組等存儲空間并結(jié)合if、for等邏輯控制的使用建立聯(lián)系,得到正確的輸出,并進一步,將這樣的聯(lián)系轉(zhuǎn)換為語言的實現(xiàn)。在實踐上,學生要熟悉編譯環(huán)境的使用,能夠根據(jù)工具中提供的調(diào)試工具,修改代碼中錯誤的語法和邏輯。
綜合班的授課主要包含指針、結(jié)構(gòu)體、鏈表、隊、棧、綜合實驗等,主要的設(shè)計思想是,通過將《高級語言程序設(shè)計》中的高階語法和數(shù)據(jù)結(jié)構(gòu)中的基本結(jié)構(gòu)相結(jié)合,使學生在理解并牢固掌握了指針、結(jié)構(gòu)體、鏈表等高階語法的基礎(chǔ)上,再接觸數(shù)據(jù)結(jié)構(gòu)中的幾個簡單的基本結(jié)構(gòu)。這樣設(shè)計的好處是,學生學習完高階語法,立即可以將其用在基本結(jié)構(gòu)的具體實現(xiàn)中,既練習了高階語法的使用,又能夠加深對基本結(jié)構(gòu)的理解和應(yīng)用,起到了相互促進的作用??朔艘郧皢为毷谡n,高階語法講解粗略,學生難以應(yīng)用,數(shù)據(jù)結(jié)構(gòu)只理解基本思想,學生對復雜問題的分析難以使用結(jié)構(gòu)來構(gòu)建,程序設(shè)計能力的提升困難的問題。最后再通過綜合程序設(shè)計大作業(yè)的完成,更進一步建立了復雜問題的程序設(shè)計能力。提高班的授課主要包含更復雜的結(jié)構(gòu)及算法的講解和學習,學習完一個結(jié)構(gòu)或算法,講解其應(yīng)用,并提供實際的案例供學生學習,擴寬其眼界,為學生的就業(yè)和進一步深造打下基礎(chǔ)和指明方向。如,在實際的教學中,在對應(yīng)的結(jié)構(gòu)講解中,引入一元多項式的代數(shù)運算、迷宮問題、俄羅斯方塊、約瑟夫環(huán)問題、打印機優(yōu)先隊列問題、社交網(wǎng)絡(luò)問題等。這些通過利用所學的結(jié)構(gòu)來解決這些實際問題,能大大提升學習對程序設(shè)計的興趣,并且提升其設(shè)計的編程設(shè)計能力和實際的解決問題能力。另外在提高班的課程設(shè)計中,還需要特別培養(yǎng)學生的自學能力,通過查詢資料和學習解決給定問題的能力,以及知識的總結(jié)與歸納能力,建立終身學習的思維模式。
(三)《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》整合分級考核改革
在《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》整合分級考核策略的設(shè)計中,應(yīng)重點突出每個階段課程在銜接處知識點的考核,檢驗學生是否達到進入下一級課程學習所具備的知識和技能。針對基礎(chǔ)班,采取實踐和理論并重的原則,既要考核學生對基礎(chǔ)語法的掌握,也要考核學習是否具備基本的編程能力,是否能夠根據(jù)書本的實際例子,編寫并調(diào)試功能相近的代碼。針對綜合班,應(yīng)考查學生應(yīng)用高階語法來實現(xiàn)某一結(jié)構(gòu)的能力,測試學生是否能夠?qū)⒔Y(jié)構(gòu)理論具像化到復雜程序的設(shè)計中去。針對高級班,應(yīng)重點考查學生對高級算法的掌握和靈活應(yīng)用,是否能夠解決實際問題。
(四)《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》整合分級競賽策略
為進一步補充課內(nèi)教學的不足,增強學生的興趣采取“以賽帶練”、“以賽促學”,在程序設(shè)計競賽的管理和組織中,設(shè)計分級比賽的策略。通過參與程序設(shè)計類競賽,不僅學生的學習質(zhì)量得到了有效地提升,同時學習質(zhì)量的提高又反過來促進學生更加努力的完成程序設(shè)計任務(wù)。程序設(shè)計類的競賽,主要有ACM-ICPC 競賽,藍橋杯全國軟件和信息技術(shù)專業(yè)人才大賽,其組織形式,包含校賽、省賽、國家級比賽。所有的專升本學生都需要參加校賽,獲取課外研學分。通過校內(nèi)選拔的學生可以進行一步參加省賽,省賽和國家級賽事的籌備有專業(yè)的老師進行賽前指導。比賽成績是學習對程序設(shè)計類課程學習情況和教師的教學質(zhì)量最好的檢驗,可以檢驗學生是否形成編程思想,建立了利用計算機求解問題的邏輯思維能力。并且可以體現(xiàn)學生在省內(nèi)高校、甚至是全國范圍內(nèi)處于什么等級。教師也可以進一步根據(jù)賽事情況來進一步改革教學,使得程序設(shè)計類課程教學的教學改革有了抓手。其次,比賽的組隊原則為“以老帶新”的梯隊建設(shè),體現(xiàn)了分級原則,這樣不僅在參賽隊伍內(nèi)形成的新舊隊員的更替,同時也實現(xiàn)了知識的分級延續(xù)。
(五)《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》分級教學備戰(zhàn)計算機軟件考試
計算機軟件資格考試分為初級、中級、高級三個等級,取得初級資格可聘任技術(shù)員或助理工程師職務(wù);取得中級資格可聘任工程師職務(wù);取得高級資格,可聘任高級工程師職務(wù)?!皩I尽睂W習在學習程序設(shè)計課程時,可以同時準備該考試,分別對應(yīng)了《高級語言程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》分級教學的三個等級。因此,教師在教學過程中,可以增加計算機軟件資格考試中的真題進行講解。計算機軟件資格證書的取得是學習從事軟件專業(yè)崗位工作的水平和能力的實證,可以提升學生的就業(yè)競爭力。
三、結(jié)束語
總之,針對大數(shù)據(jù)時代專升本學生程序設(shè)計能力的提升,將程序設(shè)計類課程進行分級教學,需在充分了解學生學習基礎(chǔ)的情況下進行精準分班。并在每個等級的課程設(shè)置上要設(shè)計科學合理的教學目標,激發(fā)學生興趣,充分從理論和實踐兩個方面提升學生的程序設(shè)計能力,各實現(xiàn)級別間的無縫銜接。最后,通過多樣性的分級考核,給出綜合全面的評價。
作者單位:徐藝? ? 貴州師范學院 數(shù)學與大數(shù)據(jù)學院
參? 考? 文? 獻
[1]羅惜靜.高職擴招下分層分類教育教學管理新模式探索[J]. 教育教學論壇,2021(51):2.
[2] Krashen Stephen D. The Input Hypothesis: Isuesand Implications[M].London:Longman,1985:62.
[3]崔艷菊. 大學英語分級教學的教改理論及管理模式[J]. 天中學刊, 2012, 27(2):2.
[4]劉飛飛. 面向程序設(shè)計類課程的MOOC+SPOC混合教學模式[J]. 辦公自動化, 2020(18):2.
[5]周翔, 張廷萍. 程序設(shè)計基礎(chǔ)類課程”線上+線下”混合式教學模式實踐[J]. 計算機教育, 2021(8):4.
[6]湯偉.《數(shù)據(jù)結(jié)構(gòu)》和《C語言程序設(shè)計》新教學模式研究[J]. 科技資訊, 2017, 15(24):2.
[7]黃海芳,方麗,余宇華.基于競賽的程序設(shè)計類課程教學改革[J]. 電腦知識與技術(shù):學術(shù)版, 2015(2X):2.