炎炎夏日,每到這個時候,就是我們結束一學期課程的時候。學而不思則惘,千年前古人就意識到對學到的知識進行思考和總結的重要性。那麼,我們也要繼承古人之志,對我們一星期十六周的學習情況進行一次認真的總結。說到軟體工程這麼課,那麼不可避免地說下教我們這門課的王老師,說實話我真不敢相信像老師這種擁有幾十年工作教學經驗的主任身份的人竟然閑的這麼年輕,絕對是我們資訊院二級學院最年輕的主任了,人顯得意氣風發,年輕有為,講起課來又是那麼幽默風趣、慷慨激昂,不由地令我的崇拜之情油然而生。第一節課時就給我們說了這門課程主要是圍繞微軟研究院鄒欣老師寫的《建構之法》(王老師都認識鄒欣老師,想想也是多麼牛逼啊)這本書來講這門課程。為了上好這門課程,我也是專門買了這本書來拜讀,裡面的内容确實讓我打開眼界,幫我打開了認識軟體工程這扇大門,另外,王老師講課的内容也并不都是照搬書上的内容,他在課件裡也專門地加入了自己的一些看法和許多生動有趣的例子,可謂是強強聯合,我們的軟體工程能不好嗎?
王老師教課不僅将枯燥的理論知識描述得多麼的生動幽默,他也強調我們要注重實際的程式設計練習,比如代碼的規範他不止一次給我們強調。還有,每次課堂理論知識講完後他總要給我們留一個程式程式設計題讓我們限時完成,布置完題目後他讓我們切忌拿到題目就開始編寫代碼,他要教我們怎麼去思考題目,怎麼把一個龐大複雜的功能分解成簡單輕松完成的功能,這也是他臨近下課時着重培養我們的能力。要知道,這種能力不是一朝一夕能夠培養成功的,它需要我們日常不斷積累。于是,部落格園這種記錄我們程式設計日常過程點滴的東西就被王老師推薦出來,以前我曾經見過軟體工程專業的學生使用它,但當時并不知道它有什麼用途和功能。現在,王老師也要求我們把每一次課堂留下的程式設計題目做出來釋出到部落格園上,而且還必須符合規範,每一次題目必須寫清算法思路,如何實作的,代碼上必要的注釋,最後還有自己的程式截圖。怎麼樣,聽起來夠苦逼的吧,但我還是每次都按照要求地釋出每一篇部落格,除了程式設計題目還有每周的周進度條,就像我現在對我這整個學期學習進行總結一樣,它更加細化,對我們每周的學習進行總結。主要記錄我們每周花在軟體工程這門課上的時間、代碼量、部落格量、學習到的知識點,我覺得王老師每周安排這兩項部落格真是恰到好處,程式部落格可以積累我們的程式設計經驗,提高我們的程式設計能力;進度條部落格可以完整地記錄下來我們每周的學習狀況以及掌握到的知識點,便于我們總結和以後檢視。除了部落格園,王老師還介紹了一件利器是github,這是一個國外的網站,但是知識無國界,基本上全球的程式員開發者都把他們寫好的程式和代碼釋出到屬于自己的github上,它不隻是簡簡單單具有存儲功能的一個網站,而是真真正正的專門為程式設計人員設計的,它為程式代碼做了專門的設計,便于人們上傳和存儲程式代碼,并能很好的記錄自己的程式設計過程。王老師說過,github對我們是非常重要,它是我們程式員能力的展示,在應聘時它能發揮巨大的作用,因為一個人程式設計能力的好壞,隻要别人打開你的github首頁就能清清楚楚得看到你這個人做過什麼,你的能力積累。是以,對于github,我是一點也不敢輕視。
軟體工程不僅注重個人的程式設計開發能力,更注重團隊成員的合作開發能力。是以我們這麼課程另一項重要項目就是我們的團隊合作開發項目。我很高興能和我的團隊成員一起來開發一款屬于我們的軟體,這是我們以前從來沒有做過的事情,想想都那麼的興奮啊!王老師現實讓我們進行兩人結對程式設計,說實話剛開始磨合期的時候,真的是特别困難,我都無法和我的夥伴進行溝通,因為我了解不了他的思路而他也一樣,還好我們都各自能夠為對方着想,每個人都把自己的想法寫在紙上,兩個人心平氣和地去探讨,去思考,最後達成共識。我們不是要說服對方,而是讓兩個人都能互相了解。後來,我們也開始了更多人的合作開發,一共有四個人,難度也自然随之上升,在王老師的要求下,我們每天都要開站立會議,讨論下目前的工作狀況,遇到了什麼難題。除此之外,還有個人的進度報告,主要記錄每個人自己在團隊中做了什麼,昨天做了什麼,今天打算做什麼,遇到什麼問題。這樣團隊和個人兩頭抓,絕不遺漏。有了這麼嚴密的安排,我們團隊的開發項目也算是順利得完成了。
我覺得,王老師對我們學習軟體工程這門課程以及提高我們的各方面的能力,真的是煞費苦心了,沒有您的監督和督促,哪有我們的優秀的學習成果。在這裡,我想衷心給您說聲:老師,您辛苦了。