前言:本站為你精心整理了電氣專業(yè)計算機編程類課程開設探究范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
在工科本科生教育的培養(yǎng)大綱中,對于非計算機專業(yè)的本科學生,掌握一定的計算機編程技能是重要的一環(huán)。不論是對后續(xù)的本科課程學習、本科畢業(yè)設計,還是對以后的碩士生、博士生階段的深造都有很大益處。對于大部分工科專業(yè),后續(xù)的學習、研究,必然要面對各種設計開發(fā),最終落實到仿真、編程及系統(tǒng)實現(xiàn)上。掌握扎實的編程基礎,不僅在學習上可以事半功倍,對畢業(yè)后走上工作崗位,也有很大幫助。對于電氣專業(yè),計算機編程課程也很重要。近十多年來,隨著智能電網的蓬勃發(fā)展,信息技術在電力行業(yè)得以廣泛應用,而編程技巧是電力信息化教育的重要一環(huán)。因此,對于電氣專業(yè)的本科教育,各相關高校都結合本專業(yè)和本學校的實際情況,設置了一些編程相關課程。本文作者在十多年的電氣專業(yè)本科教學實踐中,先后主講了電氣專業(yè)的“面向對象程序設計”“微機原理及接口”“單片機開發(fā)”等課程,結合多年的教學實踐及教學團隊多年探索思考,從國內高校電氣專業(yè)的人才培養(yǎng)計劃出發(fā),就電氣專業(yè)本科計算機編程相關課程安排展開深入探討。本文對電氣專業(yè)的C語言教學提出了一些建議,對新工科人才培養(yǎng)提出了支架式C語言教學法。對于電氣專業(yè)的本科教學而言,其編程語言教學既有非計算專業(yè)工科教學的共性,也需要結合專業(yè)特色作相應調整。
一、課程安排探討
1各高校相關課程介紹
對于電氣專業(yè)本科的計算機編程教學,各高校的課程安排不盡相同。表1是國內電氣學科知名院校及武漢大學電氣本科教學中計算機編程相關課程(資料來源于互聯(lián)網)。由表1可以看出,國內電氣學科TOP3高校(以教育部2017學科評估結果為準)和武漢大學在電氣本科教學計算機編程相關課程上大部分課程內容相同,分別是計算機程序設計基礎(C語言程序設計)、微機原理與接口、單片機(嵌入式)開發(fā)。其中華中科技大學和清華大學安排了面向對象程序設計。這4所高校中,以華中科技大學電氣本科專業(yè)的計算機編程課程最為深入全面。
2課程探討
(1)計算機程序設計基礎
“計算機程序設計基礎”對于工科非計算機專業(yè)的學生,是大學一年級必選課程,屬于通識教育類。本課程的教學目的是培養(yǎng)學生利用計算機處理問題的思維方式和程序設計的基本方法,是其他專業(yè)課的基礎。通常在教學中,以C語言作為編程語言,講授C語言的基本語法的同時,適當介紹數(shù)據(jù)結構中的初級內容,如鏈表、排序、遍歷等。此外,還培養(yǎng)學生熟悉編譯調試等基本技能。鑒于本課程是面向新入學的大一新生,其計算機編程技能基本為空白,因此,筆者認為,對于電氣專業(yè)的本科生,本門課程采用C語言教學是恰當?shù)?,C語言的經典性這里不再重復,本課程筆者不建議采用面向對象程序設計(C++)來講述,其原因見下節(jié)分析。
(2)面向對象程序設計
“面向對象程序設計”課程清華大學電氣學科作為選修課,華中科技大學電氣學科作為大一的必修課,成為“計算機程序設計基礎”的替代課。面向對象程序設計思想在現(xiàn)代程序設計中使用很廣泛,使用面向對象程序設計開發(fā)的應用,代碼簡練,可維護性好,開發(fā)效率高。面向對象程序設計(C++)和傳統(tǒng)的面向過程的結構化程序設計(C)區(qū)別很大。盡管有人認為C++是C的擴展,其實C++從編程方式到代碼風格都與C語言大相徑庭。在面向對象程序設計(C++編程)中,不僅需要考慮算法設計,還需要考慮數(shù)據(jù)封裝、類型,更需要考慮的是諸如:對象粒度的選擇、對象接口的設計和繼承、組合與繼承的使用、C++的標準庫使用(如STL編程)等等問題。而這些問題,對于非計算機專業(yè)的學生,學習難度太大,只有經過大量的編程實踐而豐富經驗的程序員對此才會有深刻的理解和正確的運用。盡管C++的創(chuàng)始人Stroustrup提倡不要先學C,而是直接學C++。然而,對于非計算機專業(yè)的本科生,本課程學時有限,大多數(shù)學生對于計算機編程是零基礎,并且C++內容太多,難度大,因此,如上節(jié)所示,筆者建議,對于電氣專業(yè)的大一新生,在計算機程序設計基礎這門課程中,以C語言為編程語言教學為佳。面向對象設計的思想不僅是一種用于編程中的軟件設計方法,而且是一種工程化規(guī)范。面向對象設計模式解決的是類的構建以及對象之間相互通信的組織關系,包括它們的角色、職責、協(xié)作方式等方面。比如,目前廣泛使用的智能變電站就是以IEC61850標準體系為基礎的,而IEC61850標準的核心思想和基石就是對電氣物理設備進行抽象和面向對象建模,定義對象之間通信接口規(guī)范。通過上述探討,本文認為,可以考慮將“面向對象程序設計(C++)”課程列為本科電氣專業(yè)的后續(xù)選修課程。
(3)微機原理及接口、單片機開發(fā)、嵌入式系統(tǒng)
“微機原理及接口”是一門重要的專業(yè)基礎課程,是學生學習掌握計算機硬件的入門課。課程的目的是幫助學生掌握微型計算機的硬件組成及使用;學會運用匯編語言進行程序設計;具備初步的開發(fā)軟、硬件的能力,為學習其他專業(yè)知識及從事工程技術工作和科學研究工作打下初步基礎。此課程以Intel8086系列(8086-80586)CPU架構為核心,結合匯編語言編程,講述了中斷、I/O、存儲、并行/串行通信、AD/DA的基本原理。從表1可以看出,清華大學、西安交通大學、武漢大學三校的電氣專業(yè)都將此課程作為必修課程。華中科技大學也將此課程作為“二選一”選修課程?!皢纹瑱C開發(fā)”Top3校都作為電氣學科選修課程。該課程主要講述MCS-51系列單片機及其指令系統(tǒng)、單片機的I/O擴展及應用、單片機的定時與中斷系統(tǒng)及單片機的程序設計等內容,通過學習使學生基本掌握單片機的硬件構成、軟件組成及一般的程序設計技巧。編程通常以匯編語言為例講述,當然,也可采用C語言講述。事實上,“單片機開發(fā)”課程的大部分基本概念和“微機原理及接口”課程重疊,二者的匯編程序開發(fā)也有異曲同工之處,因此,建議將該課程和單片機開發(fā)作為“二選一”選修課程?!扒度胧较到y(tǒng)開發(fā)”在西安交通大學和武漢大學的電氣學科均作為選修課開設。該課程主要講述ARM系列平臺架構和Linux系統(tǒng)下的軟硬件系統(tǒng)開發(fā),通常以C語言講述。在目前的實際硬件開發(fā)應用中,使用ARM系列平臺相對于單片機更為常見,適用性也更加廣泛。因此,對于這三門課,建議“微機原理及應用”和“單片機開發(fā)”,作為二選一課程,“嵌入式系統(tǒng)開發(fā)”作為選修課程。
(4)數(shù)據(jù)結構
“數(shù)據(jù)結構”作為計算機學科的核心主干課程,主要討論各種數(shù)據(jù)組織中數(shù)的邏輯結構、存儲結構以及有關操作的算法。其中一部分基礎知識如串、鏈表、排序、遍歷等在“計算機程序設計基礎”課程中已有講述。對于電氣專業(yè)的本科生而言,掌握“計算機程序設計基礎”中講述的相關數(shù)據(jù)結構知識即滿足本專業(yè)的程序開發(fā)設計,鑒于電氣學科計算機課程的課程數(shù)目及課時有限,“數(shù)據(jù)結構”課程可以不考慮作為電氣學科的選修課。
(5)Matlab編程及仿真
該課程主要講述Matlab建模仿真基礎,主要有m語言編程、Simulink建模。Matlab具有強大的科學計算和可視化功能,編程效率高、易學易懂。其開放式可擴展環(huán)境,特別是所附帶的三十多種面向不同領域的工具箱支持,使得它在許多科學領域成為計算機輔助設計和分析、算法研究和應用開發(fā)的基本工具和首選平臺。對于電氣學科的學生,無論是本科生還是碩博生,Matlab平臺是做仿真的入門工具和第一選擇。在本科階段很多主干課程,如自動控制、信號與系統(tǒng)、數(shù)字信號處理、電機學、電力系統(tǒng)分析等,以及后續(xù)的本科畢業(yè)設計和碩博階段的學習,都要大量使用Matlab建模仿真。因此,筆者認為,對于電氣學科的本科生,“Matlab編程及仿真”這門課程的開設非常必要,可以作為選修課、甚至作為必修課。
二、計算機編程課程開設及教學重點
結合前面的分析,考慮到電氣學科的專業(yè)課程較多、學時有限,筆者推薦如表2所列的計算機編程類課程組合。在大一階段,建議“計算機程序設計基礎”以C語言為編程語言教學,這門課是電氣專業(yè)本科生接觸到的第一門編程課程,是后續(xù)專業(yè)課的基礎。在這門課的授課過程中,筆者認為不必將重點過多集中在瑣碎的語法上,更重要的是讓學生培養(yǎng)起良好的編程習慣,掌握編程的基本技能,比如變量的命名、全局變量、局部變量的安排,多模塊的組織、程序的調試技巧等。在大二階段,可以安排“微機原理與接口”“單片機原理及應用”(2選1)以及“Matlab和系統(tǒng)仿真”(選修)三門課程。在“微機原理與接口”“單片機開發(fā)”這兩門課的教學中,不必過多強調匯編編程,重點要放在對基本概念的理解,如中斷、I/O等。在“Matlab和系統(tǒng)仿真”授課中,要講清Matlab編程和C語言編程的區(qū)別,讓學生盡快從熟悉的C語言過渡到Matlab。對于電氣專業(yè)的學生,可在仿真上結合電氣專業(yè)的特點,針對性地講述電氣相關理論仿真建模方法。大三(下)或大四(上)可以開設“嵌入式系統(tǒng)開發(fā)”作為選修課。讓學生掌握ARM平臺的架構,熟悉Linux平臺開發(fā)環(huán)境,在課堂或者課后要求學生設計具體的硬件開發(fā)案例。
三、結語
本文是筆者基于多年對相關課程的教學經驗,結合學科發(fā)展實際,對電氣專業(yè)本科生計算機編程類基礎課程開設所做的思索,文中所提的建議可供參考。隨著智能電網的不斷發(fā)展,及新技術的不斷涌現(xiàn)和應用,電氣學科的相關課程也應隨之調整,比如深度學習的出現(xiàn)以及在電力系統(tǒng)中的廣泛應用,在今后的教學實踐和研究中,相關的課程及授課內容如何隨之調整,需要我們進一步研究。
作者:劉志雄 彭赟 王波 單位:武漢大學電氣與自動化學院