劉鵬鑫 趙巍 李敏
摘 要:“C++語言程序設(shè)計(jì)”是目前各大高校工科專業(yè)的重要基礎(chǔ)課程,結(jié)合教學(xué)經(jīng)驗(yàn),針對高校非計(jì)算機(jī)專業(yè)C++教學(xué)中存在的問題,以機(jī)械專業(yè)為例,通過有效調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,與專業(yè)相結(jié)合的案例驅(qū)動(dòng)教學(xué)方法、分組教學(xué)法等改進(jìn)措施,提高了教學(xué)效果。
關(guān)鍵詞:C++教學(xué);案例驅(qū)動(dòng);分組教學(xué)
一、高校非計(jì)算機(jī)專業(yè)C++教學(xué)中遇到的問題
1. 學(xué)生學(xué)習(xí)目標(biāo)不明確
很多非計(jì)算機(jī)專業(yè)學(xué)生,學(xué)習(xí)C++課程的目標(biāo)并不明確,一方面認(rèn)為以后并不想當(dāng)程序員,而且有很多現(xiàn)有的商業(yè)軟件可以直接應(yīng)用。另一方面,教科書中的案例大部分是針對數(shù)學(xué)和語法開發(fā)的相對比較簡單的程序,輸入輸出簡單枯燥,與實(shí)際專業(yè)方向關(guān)系不大,使學(xué)生不知道學(xué)習(xí)C++對本專業(yè)有什么幫助,自然學(xué)習(xí)積極性不高,甚至消極地為了學(xué)分而學(xué)習(xí)。
2.知識點(diǎn)較為抽象
C++的面向?qū)ο蟮臋C(jī)制主要圍繞四個(gè)重要特征展開:抽象性、封裝性、繼承性和多態(tài)性。本課程相關(guān)知識點(diǎn)較為抽象,學(xué)生要從C語言中面向過程編程的思維轉(zhuǎn)換為C++中面向?qū)ο蟮木幊趟季S的關(guān)鍵就是要進(jìn)行數(shù)據(jù)抽象和功能抽象,建立起具體和抽象間的思維轉(zhuǎn)換,對于非計(jì)算機(jī)專業(yè)學(xué)生而言,理解較為困難。
3.實(shí)驗(yàn)教學(xué)效果不理想,學(xué)生不注重編程規(guī)范
要掌握一門編程語言,理論教學(xué)和實(shí)驗(yàn)教學(xué)是密不可分、相輔相成的兩個(gè)重要部分。天津職業(yè)技術(shù)師范大學(xué)(以下簡稱“我?!保┐蟛糠址怯?jì)算機(jī)專業(yè)C++理論課時(shí)和實(shí)驗(yàn)課時(shí)的比例在2∶1左右,有限的實(shí)驗(yàn)課時(shí)很難滿足提高學(xué)生編程調(diào)適能力的要求。另外,很多學(xué)生通過C++課程學(xué)習(xí)后,能初步掌握基本語法和面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,但是由于沒有養(yǎng)成良好的編程風(fēng)格和編程習(xí)慣,程序編寫不規(guī)范,導(dǎo)致程序可讀性差,穩(wěn)定性和可重用性更差,離實(shí)際軟件開發(fā)要求相差甚遠(yuǎn)。
二、改進(jìn)措施
1.調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,明確學(xué)生學(xué)習(xí)目標(biāo)
積極性是學(xué)生學(xué)好一門課程的原動(dòng)力。在第一次授課時(shí),可以用C++編程應(yīng)用實(shí)例作為授課導(dǎo)入,吸引學(xué)生的注意力。例如,對于機(jī)械專業(yè)的學(xué)生,打開學(xué)生熟知的建模軟件,通過對導(dǎo)入CAD模型的平移、旋轉(zhuǎn)等變換,簡要講解軟件操作背后的編程原理。
2.案例驅(qū)動(dòng)教學(xué),與專業(yè)相結(jié)合
一種方法是設(shè)計(jì)對應(yīng)的小案例,由淺入深,目的讓學(xué)生更好地理解并掌握相關(guān)語法,完成抽象的知識點(diǎn)和具體案例的轉(zhuǎn)換;另一種是應(yīng)用層面上的案例,也就是學(xué)生所在專業(yè)相關(guān)的綜合性專業(yè)課案例,目的是讓學(xué)生學(xué)會綜合運(yùn)用C++語言相關(guān)知識的同時(shí),能夠與專業(yè)課相結(jié)合,做到學(xué)有所用,有的放矢。以我校機(jī)械學(xué)科為例,在學(xué)習(xí)C++語言程序設(shè)計(jì)這門課程之前,學(xué)生已經(jīng)系統(tǒng)地學(xué)習(xí)了“機(jī)械CAD/CAM”和“數(shù)控機(jī)床及編程”這兩門課程,專業(yè)課案例選取了C++編寫的CAD圖形變換程序和基于單片機(jī)的數(shù)控仿真程序。案例驅(qū)動(dòng)的教學(xué)方式,解決了知識點(diǎn)抽象的問題,又有效地幫助學(xué)生完成了從C語言的面向過程程序設(shè)計(jì)思維向C++的面向?qū)ο蟪绦蛟O(shè)計(jì)的思維轉(zhuǎn)變。
3.分組教學(xué),提高學(xué)生的自我管理意識
理論課把重點(diǎn)放在C++的關(guān)鍵知識點(diǎn)上,預(yù)先布置要求學(xué)生課前復(fù)習(xí)C語言相關(guān)知識點(diǎn),并以小組為單位上交學(xué)習(xí)報(bào)告。實(shí)驗(yàn)內(nèi)容分為上機(jī)實(shí)踐和課程設(shè)計(jì)項(xiàng)目。上機(jī)實(shí)踐主要是在VC6環(huán)境下的驗(yàn)證程序和改編程序,目的是幫助學(xué)生鞏固和深入理解所學(xué)語法知識, 提高學(xué)生的分析能力和程序調(diào)試能力。
本文針對目前高校非計(jì)算機(jī)專業(yè)C++教學(xué)中存在的問題進(jìn)行了探討,提出了幾個(gè)改進(jìn)方案。通過授課效果來看,能夠調(diào)動(dòng)學(xué)生對C++語言程序設(shè)計(jì)的學(xué)習(xí)積極性,使學(xué)生對程序設(shè)計(jì)產(chǎn)生濃厚興趣,課程結(jié)束,大多數(shù)學(xué)生可以編寫出一些簡單小型程序。
參考文獻(xiàn):
[1]丁菊玲,舒 蔚,楊 波.《C++與面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)改革的探索與實(shí)踐[J].福建電腦,2007(07).
[2]譚浩強(qiáng).C++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.
(作者單位:天津職業(yè)技術(shù)師范大學(xué))