張玉軍
(遼寧科技大學,遼寧 鞍山 114001)
《計算機程序設計》是網絡工程專業(yè)的專業(yè)基礎課,也是專業(yè)核心課。本課程作為網絡工程專業(yè)學生大學期間學習的第一門專業(yè)課程,重視學生對基礎編程理論知識的理解和掌握,更加注重學生的實踐動手能力,同時融入思政元素,高度契合國家所倡導的“思想引領”“協(xié)同育人”“資源共享”“能力培養(yǎng)”的新理念[1]。
結合網絡工程專業(yè)的培養(yǎng)目標,確定本門課程的教學目標。
學生學習《計算機程序設計》課程,能夠將C++知識用于解決指定問題,掌握計算機編程學習的相關方法、鍛煉學生的認知能力、實踐能力、創(chuàng)新能力和團隊協(xié)作能力,以及培養(yǎng)學生的職業(yè)道德、理想信念和終生學習的最終目標。
本課程圍繞C++語言控制結構、數(shù)組、指針、函數(shù)、類與對象、繼承與派生、多態(tài)性、I/O流、異常處理等知識,并用于給定問題的分析、設計與實現(xiàn)。通過學習,使學生獲得計算機程序設計的基本知識,培養(yǎng)學生程序調試能力、算法設計與分析能力、創(chuàng)新能力和自學能力,能夠編寫結構清晰、正確易懂,符合軟件工程規(guī)范的程序,為后續(xù)課程的學習打好基礎。
課程思政融入教學要做到水乳交融,思政元素與教學內容要做到潤物細無聲,對學生進行思想的洗滌,獲得他們的情感共鳴。就像鹽要溶于水一樣,對生活中的點點滴滴進行挖掘,讓學生沒有陌生感,不能生搬硬套。結合計算機程序設計基礎課程的特點,從以下幾個方面開展課程思政[2]。
(1)通過聯(lián)系生活實際,挖掘生活的內在內涵。在本門課的教學中,需要讓具體的課程知識和課程內容出發(fā),具體深度挖掘蘊含在課程知識和內容深處的思維、價值和文化意義。
(2)通過舉一反三,培養(yǎng)學生的創(chuàng)新精神。在整個教學過程中,通過對程序設計內容的講解同時要培養(yǎng)學生舉一反三的精神,要學生把前期知識和后期知識相互聯(lián)系。讓學生注重在教師講解后進行創(chuàng)新應用,在實踐實驗中掌握教學內容,培養(yǎng)學生的創(chuàng)新能力。
(3)通過具體實例,促進學生的積極思考。通過典型程序實例,促進學生積極思考并且分析案例,幫助學生感悟人生,培養(yǎng)良好的品質,讓學生成為有理想有信念的新人。
(4)通過制造氛圍,引領榜樣力量。注重課堂內外,實踐教學線上線下,真切熱愛學生,努力做到幫助學生解決具體的問題,制造積極向上的學習氣氛,重點體現(xiàn)教師的人文關懷,目標是要做有溫度的教學。
本課程積累了豐富的教學資源,完備的OJ程序在線測評系統(tǒng),自編的案例貫穿始終的講義,在以往教學過程中已經融入思政元素[3]。
知識目標:能夠寫出各種循環(huán)結構的語法,講述各自的特點。能力目標:能夠根據(jù)具體問題描述進行分析,選擇合適的循環(huán)結構;使用循環(huán)結構設計滿足要求的程序,并能在OJ系統(tǒng)中正確提交。課程思政目標:能夠加強對學生信息安全意識的培養(yǎng),讓學生明白日積月累、持之以恒對成長成才的重要性。
以中國的傳統(tǒng)教育說法進行引入,重點講解for、while以及do-while三種循環(huán)結構的格式,特點和使用場景。利用實際案例項目對循環(huán)結構進行多角度融合式教學。
根據(jù)不同部分知識特點、難易程度,學生狀態(tài),采用多樣的教學設計,注意將課程的專業(yè)知識與學生的日常生活和氣場學習結合在一起,要明確的以學生為主,將傳授學習技能的思想貫穿教學過程的始終。利用線上線下相融合的教學手段,設置相關內容,重點講解for循環(huán)和while循環(huán)以及do-while循環(huán)結構特點和使用特點。
2.3.1 創(chuàng)設情境,精心導入
教學中引用《莊子》中的一句話“一尺之棰,日取其半,萬世不竭”作為導學,需要引導學生積極思考,努力調動學生參與課堂教學的積極性、主動性。生活中有一些具有重復操作的問題,具體的可以利用循環(huán)的知識點來解決,從而引出學生的哲學思考。強調成為有用之才,貴在持之以恒。引入周而復始的循環(huán)本質內容,形成從量變到質變的結果。這個引例目的是讓學生對中國的歷史文化產生興趣,并且增加自己的自豪感。
2.3.2 知識講授,形成概念
在課堂教學的具體過程中要提出與生活有關的問題,并且抽取出該問題的核心內容,進行具體的建模過程,并根據(jù)結果選取合理的實現(xiàn)結構,并且根據(jù)知識點編寫代碼并進行程序調試,然后把運行的測試結果進行對比。提出相似的問題,由學生自行進行選擇結構進行程序調試。通過對實際問題的進行分析,建模,編程,測試等環(huán)節(jié),讓學生參與到教學內容的時間操作中來,當學生對問題產生疑問并想要尋找具體的解決路徑,教師傳授給學生的不只是教學內容,讓他們被動接受,而是更應該充分相信學生的自主學習的愿望,鼓勵學生要進行自主學習,要主動地進行交流,編程,測試,評價等教學活動,并且要最終達到真正地提高自主實踐能力[4]。
首先講授循環(huán)語句的一般形式,并分析其原則,之后介紹循環(huán)的執(zhí)行過程,讓學生通過這部分內容的學習,認識到循環(huán)的本質,達到掌握循環(huán)基礎知識的要求。
復習與回顧:復習上節(jié)課的分支結構內容,對于if語句和case語句的使用,結構特點以及使用格式進行回顧。了解基本的程序設計步驟,提出選擇問題的實際解決方案。
課程內容:要更好地掌握循環(huán)結構,并學會運用循環(huán),我們要提煉出循環(huán)的要素,將抽象的問題具體化、公式化,以幫助學生更好地分析、掌握循環(huán)結構。
第一要素:設置“循環(huán)變量”,并對其賦初值。首先要解決循環(huán)10000次的問題,機器是如何知道10000次到沒到?這里需設計一個計數(shù)器,通常用一個變量作為計數(shù)器,在沒有循環(huán)使之前計數(shù)器為0,就是變量的初始值為0(即:i=0;),這里的“i”變量就是用來計循環(huán)次數(shù)的,我們也稱它為“循環(huán)變量”。
第二要素:循環(huán)要有終止條件。要求輸出100行的“####”,循環(huán)不能超過100次,循環(huán)只能在100次以內,則循環(huán)的終止條件為i<100。
第三要素:循環(huán)內容的實際?!把h(huán)體”是什么,如何找出循環(huán)體?!把h(huán)體”就是不斷重復的動作用程序描述出來。如何找出循環(huán)體,是學習循環(huán)結構的難點。上例中:第一次要執(zhí)行輸出“####”,第二次要執(zhí)行輸出“####”,第三次還要執(zhí)行輸出“####";”,這句就是一個循環(huán)體。
第四要素:循環(huán)變量要趨向于終值而改變。經過循環(huán)之后i的值要改變,使之不斷趨向于終止值,也就是要有步長的變化“i++/i--”,否則程序就成為一個死循環(huán)。
講解循環(huán)結構的類別:for循環(huán),while循環(huán)以及dowhile循環(huán)。
重點講解各種循環(huán)結構的結構形式和特點。以for循環(huán)為例:
格式為:for(初始條件;結束條件;增量)
循環(huán)體;
實踐環(huán)節(jié)安排:
講解練習實現(xiàn)思路。
設計意圖:講解思路,旨在讓學生理解程序邏輯。
案例實訓:
在演示操作環(huán)節(jié)結束后,讓學生以小組為單位進行編程分析。分為4個訓練階段:
分配任務:首先由每組的組長分配任務。
編碼任務:按小組進行討論,共同解答問題,并進行編碼。
過程管理:教師負責巡查與指導。
提交程序:以小組為單位進行具體的程序提交。
設計意圖:以學生為中心,主要鍛煉學生自主學習能力與編程能力,并重點培養(yǎng)團隊協(xié)作能力和學生的溝通能力。
(1)引經據(jù)典,增加興趣。在課程講授之初,利用經典古文導入中本節(jié)課需要解決的問題,同時激起學生的學習興趣,思考“取10日后,棰余幾何?”通過老師的具體分析,在重點重申循環(huán)結構的“三要素”——初始值,增長步長以及終止條件,解釋問題需要編寫循環(huán)來具體求解棰長度。在教學過程中教師主要采用問題驅動的教學方法,重點需要啟發(fā)學生獨立思考并且要明確問題中循環(huán)的終止條件是什么,特別注重對學生探究能力、思維拓展以及實踐能力的培養(yǎng)。
(2)舉一反三,解決難點。對階乘問題的求解,需要仔細觀察和分析數(shù)列,具體尋找發(fā)現(xiàn)階乘計算的具體規(guī)律,完成主要的循環(huán)結構中循環(huán)體。在對階乘問題本質的探索基礎上,需要經過循環(huán)變量的具體變化,明確對循環(huán)結構的理解,最終能舉一反三,解決難點的目的。
(3)注重實踐,培養(yǎng)安全意識。利用生活中學生經常遇到的問題,進行問題提問:“注冊對于密碼設置一般會有什么樣的要求?”讓學生對于身邊事,生活事有共鳴。試想密碼設置具體情景,增加討論熱度和對于學習知識的興趣,引發(fā)學生相關討論。結合具體情境因為如果設置的密碼過于簡單,被電腦黑客利用攻擊,導致自己的重要信息泄露,進而加強學生對信息安全的意識培養(yǎng)。
(4)完成任務,總結重點。完成各小組的編程任務后,提出學生思考的問題:需要學生掌握while和do-while兩者循環(huán)結構使用過程中的具體的區(qū)別?學生可以分別利用 do-while循環(huán)和 for循環(huán)兩個不同的訓話結構來實現(xiàn)嗎?學生自己總結for循環(huán)的具體特點?
設計任務意圖:類別學習,利用同一任務案例使用不同的循環(huán)結構的程序具體實現(xiàn),這樣做不僅可以助于學生拓展自己的思維,而且又符合培養(yǎng)軟件開發(fā)人員崗位對發(fā)散思維和邏輯思維能力的要求[5-6]。
學生在本節(jié)課中,要求對三種不同的循環(huán)結構有深刻的認識,特別是三要素在不同結構的具體使用和設計,是本節(jié)課的重點,需要學生深入理解和掌握。在此基礎上,能夠就任務進行解決,利用不同的循環(huán)結構,體會同一問題不同解決方式的優(yōu)缺點,進行類比學習。從實際問題出發(fā),具體到方法選擇,將編程思維、優(yōu)化選擇、信息安全意識等思政元素融入具體的專業(yè)知識,課堂活動豐富,提升學習興趣。
將課程思政元素融入計算機程序設計課程實際教學中,修改課程教學大綱和教案,增加專業(yè)課思政學習目標,合理設計課程教學目標及其對畢業(yè)要求的支撐,在課程內容與基本要求中明確增加思政預期成果,考慮到思政目標定量考核難度大的問題,在課程考核方式與成績評定辦法中主要考核能力,從而間接檢測思政育人效果。
仔細斟酌,反復提煉課程本身的知識內容與其中蘊含的思政育人素材,在C++簡介學習中引申出我國信息化發(fā)展現(xiàn)狀,鼓勵同學為實現(xiàn)“中國夢”努力學習;在標識符命名規(guī)則學習中注重法紀觀念的培養(yǎng);在主函數(shù)學習中注重核心意識的培養(yǎng);在運算符的優(yōu)先級與結合性學習中讓學生明白做事要分清主次,有輕重緩急;在選擇結構學習中,讓學生明確個人的選擇要服從國家、集體利益;在循環(huán)結構學習中,讓學生明白成為有用之才,貴在持之以恒;在數(shù)組學習中,注重集體主義思想的培養(yǎng),要有看齊意識;在函數(shù)學習中,培養(yǎng)學生樹立科學管理、調度的基本思想;在指針的學習中,讓學生明白做事要注重效率,如何提高做事效率,中國能取得當前的國際地位,廣大人民能過上幸福安康的生活,都是在中國共產黨的領導下取得的;在類與對象的學習中,讓學生明白在學習新知識的時候,與舊知識的類比,能夠很好地解決對新知識的運用和理解;在文件的學習中,養(yǎng)成代碼、數(shù)據(jù)要及時整理保存并定期維護的好習慣,努力成為精益求精的“工匠”。
注重與學生日常生活相結合,形成典型案例3個。教師能夠以“課程思政”課程建設立項為契機,加強時政學習,提升教學水平;不斷挖掘思政元素,改進教學內容;主動運用信息技術,改進教學方法;根據(jù)課程目標,改進課程評價,不斷提高教育教學質量。
基于《計算機程序設計》課程的課程思政經驗,進一步分析和挖掘網絡工程專業(yè)其他專業(yè)課程尤其是專業(yè)核心課在課程思政方面的共性,切實做到以學生為中心,同時也為申請工程教育專業(yè)認證做好準備。