楊陽
摘 要: 針對公安院校學生主體的特殊性,結合高級語言程序設計課程,提出案例教學法。分析了案例教學法的特點,以選擇結構為例,運用案例教學法分析教學設計過程。教學設計注重培養學生的學習興趣,提高學生理論聯系實際的能力。
關鍵詞: 案例教學法; C語言; 教學設計; 選擇結構
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2016)06-104-03
Abstract: In view of the particularity of police colleges students' learning, combined with high-level language programming courses, the case teaching method is put forward. Analyzed the characteristics of the case teaching method,taking "selection structure" as an example, the teaching design process is analyzed by using the case teaching method. The teaching design focuses on the cultivation of students' learning interest and the improvement of students' ability of integrating theory with practice.
Key words: case teaching; C language; teaching design; selection structure
0 引言
高級語言程序設計是我院網絡安全與執法專業的核心基礎必修課程,是網絡安全執法課程體系的基石,也是培養學生的計算思維和程序設計能力的起點[1]。該課程不僅直接影響后續數據結構、電子取證、信息安全等專業課程的學習,而且對構建專業認同感和融合度有著重要意義。由于我院是公安院校,教學工作不同于普通高等院校,學院日常采用警務化管理,文武兼修,所以在高級語言程序設計教學中有一定的特殊性,主要表現在以下方面。
⑴ 課程總學時少。相較于普通高等院校計算機專業,我院高級語言程序設計總學時偏少,且實驗學時占比不大,學生普遍缺乏動手實踐能力。
⑵ 課余時間碎片化。公安院校學生課下警務活動較多,學生課余時間有限,學習缺乏連續性。專業知識學習依賴課堂和教師,學習形式比較單一,遇見問題往往“霧里看花”,無法將實際問題轉化成程序語言,編程思維能力不足。
⑶ 教學模式傳統。傳統的教學模式是以語法為主線,以例題講解為輔助手段,概念性知識較多,會加重學生學習疲勞感,學生學習興趣不高,教學效果不理想。
針對以上情況,本文提出案例教學法作為新的教學方法,通過案例進行課堂教學,希望能夠調動學生學習的主動性和積極性,培養學生的創新能力和理論聯系實際的能力。
1 案例教學法
20世紀初,哈佛大學創造了案例教學法。即圍繞一定的訓練目的把實際中真實的情景加以典型化處理,形成供學員思考、分析和決斷的案例,通過獨立研究和相互討論的方式,來提高學員分析問題和解決問題的能力的一種方法。這種教學方法在當今世界的教育和培訓中得到了廣泛的應用[2]。在高級語言程序設計教學中,教師根據教學任務和教學目標,運用案例材料,組織引導學生參與其中對案例進行分析和思考,激發學生學習興趣,從而提高學生實際動手能力和探究、創新能力[3]。引入案例教學法,可以讓學生投入案例,積極思考,將一個個孤立的知識點串聯起來,以小見大,構建完整的知識體系,提高程序設計思維能力。本文選擇譚浩強的《C程序設計》(第四版)中的第4章“選擇結構程序設計”為教學內容來探討基于案例教學法的教學設計過程。
2 教學目標
2.1 知識目標
了解6種關系運算符以及其優先次序、3種邏輯運算符以及其優先次序、條件運算符;掌握關系表達式、邏輯表達式的概念及其運算規則;了解if語句的3種形式、if語句的嵌套形式和switch語句形式。
2.2 技能目標
會靈活應用if語句進行條件語句的判斷并通過編譯工具編寫程序,在VC環境中進行編譯,查找錯誤然后解決。
2.3 情感目標
激發學生對編程的興趣,形成編程設計思維;善于與其他學習者、老師溝通交流形成共識;培養獨立思考、分析程序的能力。
3 教學設計及教學過程
本次課程以案例法引入,通過猜數字游戲聚焦學生的注意力,調動課堂氣氛,然后激發學生的求知欲[4],引導學生解析猜數字游戲背后的代碼,通過分析代碼,提出問題,在解決問題中講授新知識新概念,最后總結知識、對照案例,鞏固加深。教學過程主要以集體教學為主,分為案例引入、案例分析與討論、案例總結三個部分。
3.1 案例引入
案例法教學難點之一就是如何選擇案例。教師需深入研讀教材,根據教學對象和教學內容知識點分布,合理選擇代表性案例,并對案例進行評估,預估學生在分析案例中遇到的問題和反應,從而擬定相應的教學方案。針對公安院校學生主體和選擇結構的知識要點,選擇猜數字作為本次教學的案例。
本次課中,以猜數字游戲開場,首先介紹游戲規則,號召學生積極參與,選取2-3名同學猜數字,其他同學可出謀劃策,以此調動全體學生積極性。
3.2 案例分析與討論
什么是選擇結構:游戲結束之后,控制課堂氣氛,引導學生探索游戲背后的知識,結合順序結構的知識拋出問題。如:這段游戲代碼主要是什么結構?否定順序結構后,從頭到尾分析游戲的步驟,根據流程圖的知識,讓學生畫出猜數字程序的簡單流程圖。通過對流程圖的講解自然引出選擇結構的概念,形成對選擇結構的初步認識。讓學生列舉出日常生活中選擇的例子,一一點評,每一個選擇的例子都涉及到條件的判斷,所以說選擇結構的關鍵點就是條件判斷。
if 語句:根據選擇結構的學習,判斷猜數字游戲輸入數字提示信息是否屬于選擇結構?我們把猜數字游戲的輸入數字提示信息轉化為具體的問題:如果輸入的數字比謎底大,那么輸出提示信息,請輸入一個小一些的數字,如果輸入的數字比謎底小,那么輸出提示信息,請輸入一個大一些的數字。展開小組討論,得出輸入數字提示信息是選擇結構后,寫出輸入數字提示信息的偽代碼。然后分析猜數字程序代碼,根據程序中的注釋語句和偽代碼,可找到對應的輸入數字提示信息的代碼,代碼如下:
演示PPT,對照輸入數字提示信息的執行流程,呈現3種if語句的形式及其執行流程圖。在黑板上,板書并講解if語句使用的注意事項。如else子句是可選的,使用時須與if語句配對使用。要求學生在VC環境中編寫輸入數字提示信息的小程序,并進行編譯和調試,出現錯誤時可討論修改,老師予以點評。將學生分成小組,3人一組,探討猜數字程序中選擇結構的語句,可參考PPT和書本,每組選出一個代表,講解找到的程序結構語句。老師再次講解點評,并通過VC執行結果,讓同學參與其中,深刻領會if語句的用法以及選擇結構的內涵。
關系運算符和關系表達式:if語句中的表達式可以是關系表達式也可以是邏輯表達式。其中最直觀、最容易理解的就是關系表達式。關系表達式又是由關系運算符構成的。要求學生查找猜數字程序里的關系運算符和關系表達式,小組內部討論。演示PPT,呈現關系運算的概念、6種關系運算符(<、<=、>、>=、==、!=)、圖示法歸納6種關系算符的優先次序規律,幫助學生理解記憶。
邏輯運算符和邏輯表達式:分析猜數字程序里的語句“c=='n'||c=='N'”,通過注釋語句和程序運行流程分析這一語句的含義;引出邏輯運算符和邏輯表達式的含義。演示PPT,呈現3種邏輯運算符(&&、||、!)、邏輯運算的真值表、以圖示法歸納3種邏輯運算符的優先次序規律。結合猜數字程序中的對再來一局的判斷方法來講解邏輯表達式的規則。由于關系運算符和關系表達式已經講過,所以邏輯運算符和邏輯表達式可采用小組討論總結,提高學生自學能力。
擴展:進一步思考if語句中的表達式除了關系表達式和邏輯表達式,還可以有什么?數值或者數值表達式可不可以?小組可以討論,帶著問題在VC環境驗證自己的猜想。隨機抽取學生進行總結發言,最后教師補充。通過對if語句的表達式深入學習,加深對if語句的理解,對兩種表達式的知識起到復習鞏固的作用。
switch語句:switch語句是多分支選擇語句。學生在掌握if語句的基礎上可自學。演示PPT,呈現switch語句的一般形式。老師布置任務:用switch語句改寫猜數字程序中的結果等級評價語句。小組討論并上機操作執行,得到結果,最后每組選出一個代表,先講解編程的思路,接著使用VC工具演示程序的執行過程和結果,最后教師給予評價,教師對表現最佳的小組給予鼓勵和表揚。
3.3 案例總結
回顧本次課的內容,總結重點和難點。重新復盤猜數字程序流程,展示猜數字程序流程圖,講解程序。這樣培養學生閱讀程序的能力,同時加深學生對程序結構的認識。對有疑問的學生答疑,增加互動交流。布置課后作業,以小組為單位(3人一組),提交猜數字程序實驗報告。
4 結束語
程序設計類課程傳統教學方式是以教師和教材為中心,從書本到書本,從概念到概念,忽視了對學生學習潛能的開發,導致學生理論與實踐的脫節。本文針對學習對象的特點,改革傳統的教學觀念,提出了案例教學法,并以選擇結構程序設計為例,闡述了該方法在教學過程中的應用。案例教學法是以案例為主線,以知識點為支線,注重引導學生通過案例分析與討論解決實際問題,理清課程知識體系。案例教學法的運用有利于學生程序思維的建立,有利于學生程序設計能力的提高,同時對促進教學改革和加強素質教育有著積極的意義。
案例教學法的實施過程中仍有一些問題值得注意,比如案例的選擇、理論知識點教授與案例分析的有機融合及協調[5]、課時安排等,這就要求教師能夠很好地處理這些問題,以保證在采用案例教學時取得最佳的教學效果。
參考文獻(References):
[1] 牟琴,譚良,周雄峻.基于計算思維的任務驅動式教學模式的
研究[J].現代教育技術,2011.21(6):44-49
[2] 苗冬霞.淺析“C語言程序設計”課程的案例教學[J].武漢工程
職業技術學院學報,2006.18(2):90-92
[3] 肖明.案例教學法在“C++語言程序設計”教學中的應用[J].
計算機教育,2010.6:83-86
[4] 于啟紅.案例教學法在編程語言課程中的作用探討[J].計算
機時代,2014.11:62-64
[5] 張潤蓮,張向利,葉進.案例教學法及其運用[J].桂林電子工業
學院學報,2004.24(4):102-105