李錕
摘 要:結合目前信息與計算科學專業(yè)的實際情況,對如何提高學生的軟件開發(fā)能力進行探索與研究,以求能夠在有限的學習時間內(nèi)最大限度地提高自身的計算機實際應用水平及提升軟件開發(fā)能力,數(shù)學與應用數(shù)學專業(yè)屬于基礎專業(yè),是其他相關專業(yè)的“母專業(yè)”。該專業(yè)欲“轉行”進入科研數(shù)據(jù)分析、軟件開發(fā)、三維動畫制作等職業(yè),具備先天的優(yōu)勢。一項針對IT行業(yè)230名成功人士的抽樣調(diào)查表明,其中的200名成功人士屬于以數(shù)學專業(yè)或其相關專業(yè)為依托實現(xiàn)職業(yè)再選擇的人。
關鍵詞:數(shù)學;軟件開發(fā);軟件編碼
一、數(shù)學的地位
數(shù)學被稱為科學的皇冠,隨著科學技術的發(fā)展,人們越來越深刻地認識和感受到數(shù)學在科技發(fā)展中的重要地位。1999年以來,我國高校數(shù)學與應用數(shù)學專業(yè)規(guī)模得到了較大的發(fā)展,據(jù)統(tǒng)計,截至目前,全國范圍內(nèi)開設數(shù)學與應用數(shù)學專業(yè)的高等院校有523所,其中山西地區(qū)18所。根據(jù)教育部公布的2016年全國高等學校名單,截止2016年5月30日,山西省共有普通本科高校33所(含民辦),開設數(shù)學及其應用專業(yè)的本科院校占山西普通本科高校的55%。
二、什么是軟件開發(fā)
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設計、實現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設計語言來實現(xiàn)的。通常采用軟件開發(fā)工具可以進行開發(fā)。軟件分為系統(tǒng)軟件和應用軟件,并不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟件的一部分。軟件設計思路和方法的一般過程,包括設計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結構設計和模塊設計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。階段劃分為:(1)計劃;(2)分析;(3)設計;(4)編碼;(5)測試;(6)維護。設施需求分為:(1)開發(fā)平臺;(2)開發(fā)環(huán)境;(3)開發(fā)語言。專業(yè)需求分為:專業(yè)培養(yǎng);培養(yǎng)對象;就業(yè)方向;軟件開發(fā)工具。行業(yè)分為:手機;電腦。
三、數(shù)學與軟件編碼的關系
軟件編碼是指把軟件設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質量。當前軟件開發(fā)中除在專用場合,已經(jīng)很少使用二十世紀八十年代的高級語言了,取而代之的是面向對象的開發(fā)語言。而在高中數(shù)學中,很多知識都與編碼息息相關,高中數(shù)學會為以后對于軟件編碼打下良好的基礎,學習高中數(shù)學是必不可少的。對于很多IT界精英,也許他們并不是主要學習軟件開發(fā),但是因為數(shù)學學得好,轉型之后也能快速上手。很多軟件開發(fā)需要大量的時間和精力,高中數(shù)學中很多知識會對軟件開發(fā)起著至關重要的作用。在生活中,也有很多數(shù)學編碼,是數(shù)學創(chuàng)造出這些簡單方便的編碼。(1)電話區(qū)號與電話號碼,如010-********,短橫前表示地區(qū)北京,后面表示用戶話機號碼。(2)身份證號,如你自己身份證件號,其中也包含地區(qū)、出生年月日、性別等信息。(3)個人賬號,如銀行卡號等。(4)#000000表示黑顏色此外還有車牌號、門牌號、郵政編碼、學號等。生活中這些與我們息息相關,因此,數(shù)學與編碼之間存在微妙的關系。
四、軟件開發(fā)需要具備怎樣的數(shù)學基礎
軟件開發(fā)需要數(shù)學基礎,不是有數(shù)學基礎就能學懂軟件開發(fā)的課程。軟件開發(fā)需要有很強的邏輯思維。如果僅僅是想成為一個程序員,只是一個寫代碼的人,那數(shù)學不需要太好。如果想精通計算機,尤其是軟件開發(fā),則必須有很好的數(shù)學基礎才行,計算機本就是從數(shù)學里分支出來的,越往上走也就越接近和依賴數(shù)學。
軟件開發(fā)是一種極具創(chuàng)造性的活動,其中充滿了樂趣。舉個例子,現(xiàn)在的網(wǎng)絡游戲,說到底其實都是編好的程序,玩網(wǎng)游,其實就是在玩程序。在軟件開發(fā)中,幾行代碼就能使物體漂移,攻防逆轉,軟件工程師要做的,就是想方設法讓電腦聽從于輸入的每一條命令,讓它計算、做游戲、放音樂……
需要注意的是,數(shù)學課本里的具體知識、公式,是一種數(shù)學的思維方式、邏輯思維的表達。高中數(shù)學中的很多知識,例如:函數(shù)、幾何、代數(shù)等都是重要的數(shù)學知識,如果你只是為了學習而學習,數(shù)學在以后的生活中起不了多大的作用,至多用加減乘除,而數(shù)學對于軟件開發(fā)卻不一樣,如果你想了解甚至學習如何進行軟件開發(fā),那就必須從數(shù)學中去了解、去學習。在數(shù)學系的學生做程序員的居多,原因就在于數(shù)學系的學生分析推理能力、邏輯推理能力強,數(shù)學思想的建立比計算機系學生強,這是數(shù)學專業(yè)學生從事軟件開發(fā)的優(yōu)勢,也是培養(yǎng)數(shù)學專業(yè)學生軟件開發(fā)能力的意義所在。
參考文獻:
[1]連高社,高玉潔,王建軍.地方應用型本科院校數(shù)學與應用數(shù)學專業(yè)課程體系的改革與實踐:以太原工業(yè)學院為例[J].大學數(shù)學,2017,33(2):54-59.
[2]李曉威,楊云峰,杜輝,等.信息與計算科學專業(yè)學生軟件開發(fā)能力培養(yǎng)的探索與研究[J].黑龍江科技信息,2016(7):151.
編輯 劉瑞彬