◆汪友生 羅義華
計算機軟件基礎是我國高等院校電類非計算機專業本科生的一門基礎課,為相關專業學生打下利用計算機語言編寫程序的基礎,為后續專業課的課程設計、實踐環節以及最后的畢業設計做準備,其重要性不言而喻。然而在實際教學過程中,由于多方面的原因,使得本課程教學效果不佳,學生普遍編程能力不強,甚至影響了后續部分課程的學習。要提高學生的動手能力,關鍵還是要多練。本文在肯定理論教學重要性的前提下,著重就計算機軟件基礎課程的實驗教學部分進行分析,對實驗教學環節的介入、實驗內容的優化以及實驗教學方式等提出一些探討性的做法。
計算機軟件基礎教學如何實現教學目標,其關鍵的一點就是以誰為出發點,是以教為主,還是以學為主,還是實現教學互動,教學互長,教學互推。從目前的現實狀況來看,以教為主的弊病還很明顯,迫切需要改變,實現以學生為本,實現教學互動。
以“教”為主的模式已經成為制約學生創造性、積極性發揮的重要因素 計算機基礎課程從本質來看應該是一門實操性課程,其涵蓋的內容廣泛且繁雜,而且實驗性強是該課程的基本特點,甚至可以說離開了實驗操作,也就實現不了其課程目的。然而從目前的課程安排狀況來看,以書本理論知識教學為主仍是該課程教學的主流,計算機軟件基礎教學都側重書本理論學習,而忽視了學生實驗環節。實踐證明,這種教學方式就跟學游泳不下泳池,學騎車而沒有自行車一樣,學生在學習計算機軟件基礎知識時,絕大部分是事倍功半,導致學用脫節,無法學以致用。更有甚者,有些學生直到課程結束連最簡單的程序編寫都掌握不了,這既給教師教學造成很大的困惑,也徹底地打擊了學生的自信和學習該門課程的積極性,更遑論實現知識創新,成為軟件人才了,這與教學初衷顯然是不符的。
原因是在現有的教學模式中,課程實驗環節的設置和實驗環節介入的時間發生了問題。從實際情況來看,實驗環節介入越早,實驗安排越多,教學效果也越好。而部分采用邊教學邊實驗,教學與實驗融為一體的教學方式,其實現的教學效果更是明顯。因此,改變現有的以教為主的教學模式,從理論和實踐上探索該門課的一些新的教學方法,已經成為計算機軟件教學題中之義,不斷創新教學方式,才有可能從根本上改變現有的學習費力不討好、效果欠佳的狀況。
深入淺出地解析理論知識是增強學生學習興趣的重要途徑 “學生是教學活動的主體,教學活動要以學生為中心而展開”,這已經成為現代教學理念的主流觀點。從學生學習的心理來看,一方面由于計算機軟件課程是基礎課程,學生對學習開始階段接觸的軟件知識有一定的好奇感,求知欲也相對比較強烈。同時,由于是剛進校門的低年級學生,對大學環境還不是特別了解,仍然具備認真學習的態度,因此,好好學習知識的想法也比較明顯。另一方面是由于目前大學生數量急劇增加,社會就業壓力明顯,學生普遍有學習好專業課,實現良好就業的外在動力。因此,可以說,學生在開始階段的學習興趣是比較濃厚的。但由于語言、算法、數據結構等知識,是進行程序設計所必須具備的基礎知識,而低年級學生在這方面基本沒有知識儲備,對其學習方法也并不適應,而原有的知識結構又很難同化現有課程知識,導致難以自學和分析、解決問題,引發學生學習的挫敗感,一旦處理不得當,就會使學生學習提不起興趣,缺少主動參與的積極思維活動、創造性思維活動,更有甚者還會使學生抵觸學習,削減學生本身己經調動起來的積極性,影響后續課程的開展。
教育心理學的研究也表明[1]:學生在沒有精神壓力和心理負擔并且情緒飽滿、心情舒暢的情況下,大腦皮層最容易形成興奮中心,思維也最活躍,此時的實踐能力最強。因此,如何使學生保持這種狀態就成為教師應該考慮的重點問題之一。單就理論教學而言,如何使理論變得通俗易懂,接近生活,易于學生理解,這是計算機軟件基礎課程理論教學的關鍵。從實踐來看,在授課過程中,教師通過深入淺出地講解,設置理論問題情境,解答學生在實驗中產生的疑問,肯定和鼓勵學生的想法等方式,都能比較充分地調動學生的積極性和主動性,使學生更加容易融入教學環節中,也便于學生深入理解理論知識。比如說針對學生提出的一些設想,經常正面地肯定,能使學生更加信任自己,更加愿意去創新,從而與學生實現良好互動。
同時,在課后對學生進行必要的關心,用人格魅力引導學生參與教學,也不失為一種好的方式。比如,通過課后深入學生,與學生建立亦師亦友的關系,與學生打成一片,學生往往會因喜歡教師而喜歡該教師教授的課程,實現良好的教學效果;而相反,教師冷冰冰的態度往往也會成為影響教學效果的一個重要因素。
實踐證明,計算機軟件基礎的教學,引入實驗教學環節越早,教學的效果往往越好。因此,計算機軟件基礎課程教學要想在培養軟件人才、促進軟件產業發展方面有所突破,盡早引入實驗教學環節是一條必由之路。
現有的實驗課程安排作用并不明顯 計算機軟件基礎是計算機軟件的核心課程,其主要內容包括數據結構、操作系統、數據庫系統概論,教學目的是讓學生掌握數據結構的相關算法,理解操作系統的基本概念,熟悉數據庫的基本操作,從而具備初步的軟件編程能力。同時,從目前的教學安排來看,該課程安排了一定數量的常規上機實驗練習,以便提高學生的軟件素質[1]。
但現有的課程安排還存在一定的問題,突出表現在:
一是學生上機練習的題目規模較小;
二是上機內容以章節為主,有的章節有上機內容,有的沒有,導致上機實驗沒有連貫性和系統性;
三是上機安排的內容發揮作用不充分。
從實踐來看,培養學生的軟件素質必須適當結合電子信息類專業的特點,這對于培養應用型人才的作用至關重要。但從目前上機安排的內容來看,主要是從計算機專業的角度提升學生的軟件素質,而并沒有與電子信息類專業特點充分結合,其結果就是導致學生對硬件有較好的掌握,而對信源編碼等通信軟件知識知之甚少,影響課程設計的整體進度。由此可見,目前安排的實驗課程其作用甚微,難以達到為學生打下軟件知識基礎的教學目的。
盡早引入實驗教學,利于學生在操作中學習,達到學以致用的目的 從現有的教學來看,學生對計算機軟件基礎課程學習的困難點主要在于:課程理論知識比較枯燥難懂,上機操作能力不足,導致學生學習興趣降低,影響了教學效果。比如說在C語言教學中,C語言程序設計作為學習計算機其他課程如數據結構、JAVA語言程序設計等課程的先修課,對于培養學生的計算機技能具有至關重要的作用,因此,提高這門課程的教學質量意義也十分重大。
但是,這門課程首先要講授C語言的特點、運算符和表達式等內容,而這部分內容恰恰又相對比較枯燥,學生難以提起學習興趣,而這部分內容通常是安排三周學完,對于初學者來說要在這么短的時間內理解這些理論并不容易。于是等到這部分理論教完開始接觸程序設計時,部分學生已經遠遠落后于教師的進度,導致沒有繼續學習下去的動力,有些學生就此掉隊。
同時也有研究表明[2],部分教授在教授這門課程時,調整了講課順序,提前給學生講授程序設計的內容,安排學生提前實驗,讓學生親身體驗計算機如何運行C語言程序,而等到學生對C語言程序有一定了解后再講授運算符和表達式等內容。由于之前學生對C語言有了切身的體會和感受,再學習其他理論時,往往能將這些理論與實驗知識結合,加深對運算符和表達式等理論的理解,也提高了學習C語言的興趣,作用都相當明顯。
由此可見,針對計算機軟件基礎課程的內容特點,盡早安排學生上機實驗,讓學生體會學以致用、現學現用、現用現學的樂趣,對培養學生興趣和創新能力、提升教學質量有著不可替代的作用。
學生的素質和潛能并不完全一樣,孔子時代就已經講究因材施教,實驗教學中也必須根據學生的實際情況,適當地分層次安排實驗教學內容,建立多層次實驗教學內容體系,從而更好地提升學生的學習興趣,激發學生潛能,實現教學目的??梢苑譃榛A性實驗、應用性實驗和創新性實驗。
基礎性實驗要求精 基礎性實驗是課程的統一安排,目的是驗證和鞏固課堂知識,針對群體為所有學生。要充分發揮這部分實驗內容的作用,主要在于求精。
首先要精選實驗內容,針對每個知識點,都要精推細敲,并在每個實驗內容中設置開放性思考題,要求學生認真思考做答,不求數量,但求質量。
其次要精講實驗內容。針對學生實驗內容的答案,要進行深入的講解分析,肯定學生做得好的地方,指出其不足,并指導如何修改完善,務求每個實驗內容都講透,并通過實驗內容夯實學生對每個知識點的理解。
最后,引導學生運用發散性思維進行解題,提升學生對知識點的認識水平,如引導學生運用多種方法解題。
基礎性實驗是學生對知識點的深入掌握,也是開展應用性實驗的必要準備。
應用性實驗要求實 應用性實驗是課程的適當補充,是學生對課堂知識的具體運用,旨在培養學生應用知識的能力,針對的群體是大部分學生。其主要任務就是培養學生解決實際問題的能力,具體方法是由教師選擇合適的項目,讓學生自愿分組,在規定的時間內按計劃完成。
在應用性實驗教學中,項目的選擇非常重要,其主要原則是既要覆蓋計算機軟件基礎課程的主要內容,也要貼近實際,是實際生活中有應用價值的項目,還要便于學生理解完成項目的方法,能最終形成一個完整的軟件作品。比如說各種信息管理系統都是比較合適的項目。
在這個階段,教師重在引導學生開展項目,指導學生解決項目實施中碰到的難題,檢查學生項目實施情況,及時糾正項目的方向性、原則性錯誤,并引導學生及時進行反思總結,便于更好地掌握編程技巧和語法知識等內容。
在應用性實驗階段,學生的實驗成果,不僅是要通過提交相關文檔以及編寫的程序代碼來體現,還要在一定的范圍內進行實際測試,便于學生將理論知識與實際掛鉤,也便于學生進一步認識實驗項目與實際項目的環境差別,更好地融入社會實踐。
本階段的實驗由于應用性強,對于學習計算機軟件基礎理論知識感到吃力的學生,可不強行要求。
創新性實驗要求新 創新性實驗是課程的升華內容,主要是激發學生的創新思維和創新能力,所針對的群體是小部分學有余力的學生。在這部分實驗內容中,由學生自行選擇實驗項目,設計實驗方案和實驗步驟,學校提供相應的實驗環境和其他保障措施,教師則對學生選擇的實驗項目進行把關指導,確保項目具有創新性。在這個實驗中,整個過程都由學生獨立完成,學生要自行解決實驗中遇到的各種問題,總結各種錯誤出現的原因和避免出錯的方法,并在實驗結束后,自行檢驗實驗結果的應用價值,從而達到融合知識、鍛煉素質、提升能力的效果,培養軟件人才。
實驗教學的方式要多種多樣,并優化實驗教學載體,為學生實驗提供更多的便利。
首先是可以充分發揮校園網的作用。目前,絕大部分學校已經建立自有的校園網,一方面為學生提供了大量的實驗教學資料儲備,如教學大綱、實驗大綱、實驗指導書、實驗室開放時間表、指導教師安排等實驗教學的所有技術支持文獻信息,為學生開展實驗提供了極大的便利;另一方面還提供了學生自測系統。在自測系統中,學生可以回答教師指定的問題,并完成打分,并可對回答問題的正確與否進行分析,糾正錯誤答案,進一步消化知識。同時,有的學校還設計了基于C語言的計算機軟件基礎自學系統,學生可以通過系統進行應用程序學習,循序漸進地學習和掌握知識,有力地鞏固課堂教學的知識。
其次是可以充分發揮社會單位的作用。學??梢院团c計算機軟件專業對口的企業合作,在企業相應建立學生實踐基地,讓學生參與企業的實際設計,以干代學,從而進一步提升學生對計算機知識的認識,也進一步了解軟件產業對軟件人才的要求,適應軟件產業的環境,從而更好地增強教學效果。
計算機軟件基礎是一門實踐性強的課程,其實驗教學要適時推進,這是增強課程教學效果的需要,也是提升學生素質的需要。在實驗教學中,教師角色的轉換,學生主體地位的重申,社會單位作用的發揮,都深刻影響著學生學習本門課程的效果。在目前的形勢下,要充分發揮計算機軟件基礎作為培養應用型人才的重要基礎課程的作用,充分發揮教師、學生、社會單位在該課程中的積極作用,就必須抓好實驗環節的教學工作。只有實驗教學才能更好得實現教師與學生互動、學校與社會互動,才能培養出適合軟件產業發展需求的應用型人才?!?/p>
[1]曹林.軟件設計基礎案例式教學探索與實踐[J].科技創新導報,2014(9):155-157.
[2]李昕,徐琳娜.計算機軟件基礎實踐教學研究[J].遼寧工業大學學報:社會科學版,2010,12(1):126-127.