談談北理工軟體學院的小學期
小學期這個名字不知道最初是誰想出來的,感覺確實用詞很準確。小意味著這個過程很短,只有幾周時間。學期意味著這部分時間是和正式上課不一樣的,是獨立出來的,也就是暑假開始之前的幾周和新學年開始之前的幾周合起來是獨立的,不相當於正式上課,不過小學期掛科可是一樣杯具的。
軟體學院有兩個小學期,分別是大二暑假和大三暑假期間,想想其實大一有社會實踐和軍訓,而大四又沒有暑假,所以大學的每個暑假在心中都不算完整。四門課,軟體基礎實習,應用系統開發實踐這兩門在大二小學期,分散式系統開發與實踐,企業資源計劃ERO理論與實踐是在大三小學期上的。
下面逐個道來。
軟體基礎實習
這算是對我意義比較重大的一門課,在課上我也學到了不少知識。很明顯,實習意味著實踐,而這麼課多的目的也正是做一個軟體,使用語言必須為C/C++,有好多個指導老師,每個指導老師帶幾個團隊,計算機和軟體學院300多人一起上。
第一節課,陳朔鷹老師帶著他的徒弟李凌老師來給我們講課,那是為數不多的幾次大課。兩個學院的人把理教半圓形的大教室做的滿滿的,還有學生站著。陳老師先說這門課的意義,說了一大通,無非是讓大家學會軟體開發的步驟,儘管這個和社會上的依然還是有不同之處的。接著就給我們看題目了,當時看著感覺題目都好難,對自己做一個軟體完全沒有概念,想想學長他們真是牛叉。題目每個組可以自己選,但是不能有太多組選同一個題目。然後他就舉06級這門課上做的一個軟體給我們細細分析開發過程以及其中用到的演算法和資料結構,當時我聽著覺得是天書,對學長更加膜拜了。下課時分組開始了,戴建科本來要和我一組,他還找了好幾個計算機學院的同學,可是不一會他就把我們幾個撇了,於是我榮幸的和計算機學院的同學組隊,四個人,只有我一個軟體學院的,後來知道其他三個都是計算機學院的大牛,科長眼光真不錯。
通過課下討論我們決定做C語言編輯器,由王程龍同學擔任組長,一個小組很快就組織起來了,居然是我對他們三人都不認識的情況下。方萬紫是技術大牛,葉春蘭也是寫文件的好手。
第二節課依然是上大課,不過這一次沒有老師講課,而是放去年學長優秀作品的視訊,那些學長們把他們做的軟體演示過程用視訊錄下來,然後邊演示邊將他們的開發過程。有開發過程的不順利也有攻克難題時的欣喜,更讓我印象深刻的是學長知道他們錄的視訊是要給我們這些後來人看的,所以在視訊中還和我們開起了玩笑,例如有個做畫圖的畫了一個圖,是一個很大的囧字,然後學長用陰陽怪氣的聲音說:怎麼樣,是不是很囧?教室裡立刻響起笑聲。這節課以後,每個組都被分配一個指導老師,以後也就分開上課了。
那時正好距離放假還有四周,同時也是即將離開良鄉的日子,所以對那段時間記憶特別深刻。每天都和組員聚在一起進行開發,前幾日進度不是很快,但是後面感覺我們組還是不錯的,自從決定使用MFC進行開發以後我就一直在學習MFC的相關知識。組長給我們佈置的任務很明確,分工也很到位,可以說多虧了組長。
指導老師隔幾天就要彙報一次,每次彙報的時候我們組都會讓不同的人上臺去講,有時候是輪流上臺,並不完全是組長的事情。最後一次彙報的時候我們組每個人都上臺,講了足足有一個小時。下課後老師專門走過來問問我們開發過程中遇到的問題,當他知道我是軟體學院的時候還顯得很吃驚,畢竟整個教室裡面五六個組全都是計算機學院的學生。我倒是覺得這樣挺好,完全沒有什麼好拘束的,既然大家都不認識我,上臺講話時也沒有什麼好怕的。
本來打算四周就把軟體搞定,不過後來發現這個不現實,雖然不少功能實現了,但是還是有值得改進的地方,反正還有報到後四周的時間。
搬到中關村後,由於要搞數學建模比賽,我和方萬紫算是來的最早的,所以我們在8月份抽空完成了一些工作,到了開學的時候,小組又開始一起去自習,工作進行的很順利。後面四周的彙報我們表現的都很不錯,最終被老師選為參加學院演示的小組,不知道是不是我們所在的指導老師帶的隊伍都比較差的原因。
到了彙報的時候,我們組第一個上場,後來發現我們組幸虧是第一個,因為後面彙報的組都很牛,有一個同樣和我們做C語言編輯器的在控制檯介面下做出的功能極其強大。後面演示那些軟體更是看上去很像是成熟的軟體產品,我們和他們相比有點小兒科了。組長一直在旁邊說幸好我們是第一個演示的。通過這次演示,我也見識了計算機學院的牛叉之處,大牛實在太多了。
這門課中留給我印象最深的是在我們組取得重大進展的時候。那是在良鄉的綜教202B教室,晚上我和方萬紫葉春蘭在那裡正在學習MFC技術,組長突然進來了告訴我們他想到我們的資料結構該如何設計了。立刻我們四個人就熱烈的討論了起來,當時正好教室裡還有一個女生在自習,我們這麼大聲討論她居然還沒走,足足一個小時後她才收拾書包憤憤離去,我們在對此女表示膜拜之後又熱烈討論起來,而且討論越來越激動,好像一下子打開了瓶頸,找到了光明的道路一樣,這也正是團隊的力量。
這門課教會我的不僅是軟體開發過程,我也認識了幾個好朋友,也學到了團隊精神。當年的
接上一篇,看這裡
應用系統開發實踐
看上去也是做系統開發的,其實是側重於管理也就是IBM提出的SOA,當然最終會發一個網站開發認證的IBM證書。
大二小學期等於要做兩個專案,而且是和不同的團隊來做,看上去這個小學期是挺累的,不過由於這門課組長老郭同學的無私奉獻,其他組員在這門課上都沒有花上太多時間。而且老郭也是一個對我們很隨從的人,沒有給我們佈置很多的任務,很多都是默默的一個人做了。RTC全是他一個人做的,我到最後都不知道RTC怎麼用,但所有人的資料都被他偽造好了。
由於是和IBM的共建課程,講課來的都是IBM的技術專家,他給我們講的都是一些IBM正在做的技術,SOA也是最近火起來的。這門課我們只需要做一個網站,但是不是用html而是用php語言進行開發,所以還是要學不少東西。放暑假之前我們幾乎都沒有做什麼實質性的工作,只是寫了幾篇文件,等到開學來的時候,組長才正式開會,向大家說我們要做成什麼樣子,這個時候我們才正式開動。
一開始我做了幾個頁面,表示我們的網站大致佈局,可是等到我彙報的時候被老師狠狠批了一頓,說介面太醜了。沒辦法,只好讓小組女生回去做頁面,我和超哥協助老郭編碼。斷斷續續做了一個禮拜,網站居然就做完了,我們三個也只上過一次自習進行整合。最終答辯的時候,老師總算覺得介面好看了,好在這門課主要看專案管理,就這麼混過去了。
分散式系統開發與實踐
大三小學期的課程,只持續暑假前的前四周。
分散式這個名詞聽起來很新,其實就是呼叫別人的API進行開發,當時我們組選的題目是使用google API進行頁面上地圖顯示以及新增一些新的功能。好在之前學過.net,也知道web service是怎麼一回事,於是呼叫肯定就簡單了。
每天都帶著電腦去計算中心機房上機,其實去做專案的時間並不多,只需要做一個頁面,幾個很簡單的功能,例如公交查詢,顯示經緯度,顯示城市資訊等,到了最後我作為組長都不好對這些功能進行細分到小組的每個人了,我一個人就把這個全部搞定了。
最終驗收的時候老師嫌我們的功能比較簡單,不過還是讓我們過了。分散式只學到了使用google的API而已,可笑的是有一次在做專案,北京市教委的人來巡視,一個官員還走到我旁邊問我在做什麼,我說做的是分散式,他聽不懂,我便說了一通,主要大意就是呼叫別人的東西幫自己幹活,這樣他才聽懂了。
企業資源計劃ERP理論和實踐
這是一門讓我體驗到什麼是機器人的課程。
車老師讓我們每個人買一本她影印的書,然後說我們照著書上去做就行了。
這就是SAP公司和我們合作的課程,最終無非是讓他們的資料庫裡面多一個我們做的例子而已。儘管車老師說我們需要把做的內容弄懂,可是書上全是英文,怎麼可能花時間去把所有的流程都弄懂呢。老師每節課都安排我們的進度說至少要到多少多少頁,其實很多人在課後照著書就全部做完了,車老師還每節課對每個人檢查進度後才算通過,雖然也會問問題,但靠著周圍同學的提升總能回答正確大部分。
最終還有筆試,其實就是談談你對這門課的一些感受,就是你學到了什麼,對這門課有什麼建議等等。得分高的同學還每人得到了一件SAP的T恤,至於每個人都有的證書,其實都是車老師自己親手簽名的,比IBM的網站開發證書次多了。
小學期更多的是實踐,這是肯定的,我想這也是學校有意安排的。每個學校好像都有小學期,有像我們這樣留在學校做實踐的,也有去某個地方實習的。現在看來小學期其實並沒有自己想的那麼難,有些還是挺簡單的,這期間也不算正式上課,用輕鬆自在的心態去上小學期是種享受,就像當年省句中實驗班的補課一樣,大家開開心心上上課,沒有什麼壓力,實在是太爽了。