大學畢業時,你怎樣做畢業設計的?
一棟框架結構的五層快捷酒店的設計。
這也算是我大學期間做的最認真的一件事情了。做了充分的準備工作。建築設計階段,去了我曾實習過的設計院,與一個熟悉的建築師進行了溝通,讓建築充分滿足功能需求的情況下盡量照顧到之後的結構設計,畢竟手算的結構計算書難度不小。
建築圖要求全部手繪,結構圖手繪一張,其餘用軟體作圖。手繪圖一直是我的強項,這次也不例外,很用心的去畫每一幅圖紙。細節不提,只記得圖紙畫完後,交上去就不會發下來了,所以用相機把自己畫的圖紙都拍了下來,權作個紀念。
計算書是比較費工夫的東西,量還大,而且我們要求計算書要有手寫和電子版兩份。開始我們在網上下載了一些範本,但結構形式不可能有一樣的,所以只能作為格式和思路的一個參考。最後一點點算,一點點畫簡圖。最終完成。
記得最開始畢業設計分組的時候,我分到了系主任為導師的這一組。系主任是我學生生涯中遇見的一個比較特殊的老師。不好說他的不是,只說一個例子。在分組名單下來以後,和我同組的一個女生看到導師是他,直接哭了。同組的多數人做好了充分的應對困難的心理準備。但是事在人為,我由於在畢業設計一開始表現的就很認真,所以他對我印象一直很好,從沒為難我。甚至我想都沒想過,在最後畢業設計結束後,我獲得了優秀畢業設計的榮譽。
大學期間,沒拿過一次獎學金。但最終獲得了優秀畢業設計,也算是是對我大學生涯的一個安慰。一年以後,學弟告訴我,他們開始做畢業設計了,設計室的牆上掛的范圖是當初我畫的圖紙。
第一次回答,說說自己經歷吧。導師下發畢設題目後我就去公司實習了,在一家世界500強快消品公司做銷售,跟專業沒有一點關聯性,跟畢設更沒有半毛錢關係。五一假期後回校,跟一哥們兒一起揮霍賺的實習補貼,記得兩個人加起來有10000+,大口喝酒大塊吃肉發現10000+根本不禁花,把畢設完全撇在腦後。距答辯15天的時候,發現舍友畢設都已成型了,有點著急。誰料第二天接到噩耗,家裡一位親人離世,當晚擠上火車千里奔喪。再次回校時,離答辯還有10天,學院給每人發了一份裝畢業設計書的牛皮紙檔案袋,此時我能裝進檔案袋的就一張設計任務書,看著空空如也的檔案袋,剖腹自盡的心都有。10天時間,拿起還是嶄新的專業書(我的專業成績常年保持專業倒數第二,第一隨時變化,第二異常穩定),白天同學去拍畢業照,自己潛在空蕩蕩的宿舍自修,計算;晚上在網吧周圍都在CF、DNF,各種槍響,嚎叫,我在自學CAD,設計作圖。8天時間,24×8小時,全身心投入設計,每次休息不超過15分鐘,最終在答辯前一天畢設完成。答辯時導師發現,我的設計里理論上找到了一種新型的益生菌噴霧乾燥方法,大大提高了益生菌活性,最終順利畢業。此時,我已經成為一個奔走相告,口口相傳的學院傳說。記得答辯結束當晚,2012歐洲杯開戰,就繼續跟小夥伴們混跡網吧看球了。離校前收拾行李,床鋪上一層灰塵,數數發現,自己已經29天沒在床上過夜了。
首先,我們要做的是正視畢業設計。
也就是說你要端正自己做畢業設計的心態,同樣選題的畢業設計有優秀和劣差之分,你是想隨便做出來一個畢業設計草草了事呢,還是端正自己的態度,把畢業設計看做是一次鍛煉自己的好機會,做出一個讓大家認可的優秀之作?小編認為端正自己的態度十分必要,即使做出的成果達不到預期也會比隨隨便便把別人的東西混個及格收穫大的多;
然後,一件很重要的事情就是選題了。
你的別業設計要做什麼,要怎麼樣做都得在這個階段有個大概的思想架構。只有有了大致的方向才能更有目的性的去查詢文獻,在這個階段查詢文獻可以去萬方、維普等文獻庫,當然課可以去圖書館了,在這個階段涉獵文獻在廣而不再精(這個階段不要忘記和導師多多聯繫);
選題確定以及知道導師想讓你達到什麼效果、做成什麼樣子以後,就可以著手寫開題報告了。
開題報告很重要,它包括了很多信息。如:畢業設計的目的和意義、實現畢業設計的大綱方法、需要用到的技術、參考文獻等等,開題報告怎麼寫,網上有很多範本,這裡就不做詳細的介紹了 。
接下來,就可以開始實施自己的畢業設計了。
做畢業設計的過程中一定要多和自己的導師多聯繫。遇到什麼難題可以網上找資料,也可以請教自己的導師(不要什麼問題都去問,我的導師總愛說技術上的問題不是問題)。中間導師肯定會檢查階段性成果,你也可以主動發送到導師的郵箱中,便於導師發現問題並指導。
畢業設計的項目完成以後,還有一項很重要的工作,那就是畢業論文編寫。
畢業論文除了內容要詳盡以外,一定要注意論文的格式。例如:論文頁眉頁腳,論文要有目錄,目錄的結構要清晰(這樣有利於評委對大致結構的理解),正文的格式(行距、字體大小一般採用小四),論文中流程圖的文字格式(插圖要有編號、圖中的字型大小要比正文小一號),文中的圖表、表格中的文字字型大小和流程圖一致,注意全文字體要統一。
老師說本科畢業設計主要考察的就是「工作量」,有創新點的話可以,沒有也沒問題。
另外,雖然我的專業是」信息安全「,但實際上我在信息安全方面的能力就是學過一點大約所有學計算機的都會要了解的密碼學知識,然後寫過一個DES加密器。所幸學院里對於畢設題目的範疇是沒有要求的,反正只要是編程,和計算機沾邊就行了。
我的題目是《CUDA光線追蹤器的設計與實現》,題目完全是自擬的,到我最後完成之後,導師才來過問論文質量,過程中老師完全沒有理我,我也沒有理他……
光線追蹤是一種圖形學演算法,幾十年前就有了,可以實用的產品也是一堆,而Nvidia最新的開普勒架構顯卡就專門演示了實時的光線追蹤,同時也有利用CUDA加速光線追蹤的程序庫OptiX。所以談論創新性是不可能的,相同的題目在國內也早就有過不少了。
我是怎麼完成的呢?
首先,幾乎所有的中外文獻閱讀都只是為了在論文後面湊足夠數量的參考文獻,並沒有對我實際完成程序有什麼太多幫助。程序的絕大部分是參考了《光線跟蹤演算法技術》(圖書館借的書,我挑這個題目其實就是因為在圖書館看到了這本書)上邊的代碼,只不過改寫成了CUDA(使用OpenGL顯示結果的部分則是從Nvidia的范常式序里掏出來的),而且把原來的C++代碼大部分改成了C,因為一開始我以為我的顯卡(GTX260)不支持那麼多語法特性,而且我也不是很理解構造函數到底在什麼時候在哪裡運行。為了避免麻煩就基本改成了C代碼,雖然還是用了不少比如運算符重載之類的C++的東西(函數重載都基本沒有用……)。遞歸這個特性倒確實在我的顯卡上不支持,因此所有的遞歸代碼我都得手動壓棧來實現,而且因為不能動態分配內存,棧的深度也是固定的。代碼在這裡:cudaRayTracing。
我的程序最終都只是採取了遍歷場景數據的方法,而沒有成功實現什麼特殊的數據結構。但是我的論文里還是敘述了不少KD樹的相關內容。當然我的代碼里其實還是有和KD樹相關的東西,基本參照了《Physically Based Rendering, Second Edition : From Theory To Implementation》這本書中的KD樹實現方法(這個書是下載的pdf)。其實程序已經可以構造一個樹出來,但是根據我在StackOverflow上的得到的答案(algorithm - Split of Bounding box in KD-Tree construction from 「Physically Based Rendering" - Stack Overflow),這個演算法構造的樹甚至沒辦法覆蓋全部的物體,PBR這本書中的演算法似乎並不正確。我最終也沒有想到辦法修改過來,所幸答辯時老師根本沒問。
論文我花了一個禮拜,參考了包括上述兩本書在內的一共三本光線追蹤的教材,整了三十多頁,除了介紹了光線追蹤,也大概把程序的結構給解釋了一遍。因為所有的句子都完全是自己寫的,抄襲檢測是以0%的重複率通過了。
最後我得了個「優」。
當時是一個遊學多年的師兄待我做畢業設計,主題是青羊蒿草什麼什麼。
那天去了實驗室,發現青羊蒿草全死了。
滿臉青春痘的師兄一臉憨厚:「昨天我不小心把溫度調高了,忘了關了。」
媽的48度,你想清蒸羊蒿草呢?
關鍵是現在該怎麼辦?再培養肯定來不及了。
師兄:「我幫你偽造數據吧。」
兩天後,師兄發明了一組數據。
我:「活性酶16.7%?」
師兄:「恩。」
我學習雖然不好,卻也不是白痴。
謹慎地修改了一下實驗數據,去找導師交差。
導師看了我一眼:「0.167%?」
我:「恩。」
導師:「正常的數據是萬分之0.2到萬分之0.4之間。
如果你的實驗一切正常,那這將是生物學界的奇蹟!」
靠,這不簡單了。
我把實驗結果定為萬分之0.247。
然後一個星期的時間裡,我用逆推法推算出了各種試劑的用量。
然後經過兩個星期的嚴密論證,我認為所有數據都是可以在當前位面存在的。
再去找導師交差。
導師對師兄說:「看看,這才是正常的數據。上次有個學生跟你一樣,數據錯得離譜。」
師兄:「就是,現在的學生,不靠譜。」
導師似乎突然想到什麼,回過頭來,有點尷尬:「上次那個學生不是你吧?」
我:「不是。」
說來慚愧。
程序以抄襲為主,論文以拷貝為主,答辯以糊弄為主。
因為:
1、大四的大部分時間都在公司實習,而公司的東西又不允許當做畢設,只能這樣。
2、除了實習的時間,其他時間也要忙著賣書、賣家當、各種告別、各種喝酒、各種紀念,沒時間畢設啊。
五月底的Deadline 三月初完成
最開始是這樣 然後經過了一番努力變成了右邊的樣子
然而看著自己的努力也很開心呀
嗯 就這樣
然後這些剩下的細節我也導入進遊戲空間里 UDK啥的 看上去還挺贊
好些年了,今天所做的事,一切彷彿在昨天。
這幾天準備把舊電腦數據處理掉,看到了這個(當年自己做的畢業設計),畢業設計對自己的影響還是很大的,那時你還沒進入社會,懷揣這自己對未來的幻想。記得很清楚很清楚當時想做一個,讓老百姓方便在網路上購物的東東,所以畢業項目做了一個百姓購物商城。現在京東做的非常好··················································································································································································································
整個系統實現了購物到訂單的流程,記得當時覺得自己搞定了一個很牛逼的事,那就是購物車,
當時的購物系統基本沒看到開源的,購物車是一大難題,花了我整整1個月才想到思路,自從從無到有的做了這套系統,對我後面對web項目的認識,影響很大。
畢業答辯主要是依照這個PPT,對這個商城項目進行答辯,從ppt,到項目演示,當時在操作,其他成員心理都比較緊張。
這些流程圖、文檔技能,一直以為是我畢業後外面自學的,認為在學校只學了編程、現在回頭看看,工作做的很多東西。其實用的技能在這ppt里基本都展示了,只是現在用的軟體更新了,做的東西界面更漂亮了,做的更專了,像前些天寫的這個PPT跟畢業設計PPT比較。
畢業設計跟軍訓一樣,沒有它你會覺得大學裡少了點什麼,如果你還沒開始做,請你放開膽子去做,把學的知識都集中起來,做一個項目,讓你的大學生活更有意義(*^__^*) ……。
拿以前的項目湊了偏論文,沒怎麼加圖片最後居然湊了60頁: 基於 Bochs 的操作系統內核實現
剛答辯完,個人感覺演講能力和ppt美觀度比論文本身重要,要會忽悠
當時班上大多數同學都是糊弄的。我是認真做的。
大四那會兒正在四處做項目,手頭正好有個規模差不多的,就編了個題目報上去了,當成校外畢設做的。
答辯的時候老師問我,做這個畢設的主要難點在哪,我答,沒難點。後來老師們面面相覷的就讓我過關了
導師隨便定了個他也不會的題目,我稀里糊塗的選了。遇到問題沒人可問沒人可討論,膽子小不敢抄,程序論文答辯全靠自己。。。
準備回答這個問題的時候卻發現大家都是程序員,好吧,平面設計默淚。
300人民幣。
專科起點本科,計算機科學與技術專業,普通不知名大學,水平小白。可能是學校差點吧,無論是我們班,還是普高四年本科班,會編程的學生少之又少,畢業了甚至連hello world都不會或者只會hello world。畢業設計程序基本網上下載或者某寶上買的。說下自己,17年3月起在家自學PHP(之前學校從專科開始學的是Java,到本科階段學了四年多,也沒認真好好學,不會ssh,不會springmvc等所有框架,放棄),閑著沒事買了個域名,租了個雲伺服器,但是伺服器只支持PHP,Java的太貴,學生黨買不起啊。干放著倆月後想著總不能浪費了吧,於是開始學PHP。16年12月確定了論文題目,當時還不確定用哪個語言寫,17年2月份,決定用PHP,儘管需要從零開始學,從網上看視頻,看書,到4月份基本從常量開始到面相對象,mvc,MySQL,學了一遍,感覺也就對PHP的定義,關鍵字,代碼風格過了一遍,由於學過Java,學過SQLserver ,學習過oracle, 數據儘管忘得的差不多,也就會個SQL的查詢語句了。中途外加考駕照一個月的時間沒有精力去認真學,屬於教練眼中笨學員一枚,(好在科二科三一次也過了),開始看框架,從網上開始看,yii,ThinkPHP,laravel......比較選了yii,自己看視頻,看文檔,照著敲代碼也敲了個後台管理,感覺太難,雲里霧裡,來回跳,放棄了,當時就想著能夠用來做畢業設計,能夠自己做出來個簡單的有前台有後台的網站就可以,後來開始學ThinkPHP,個人感覺比yii在理解上簡單好多,關鍵中文文檔(英語四級至今未過),同樣看視頻,看了3天吧大概,傳值,取值,連資料庫,mvc模式在這裡的應用方法,根據文檔開始著手寫畢業程序,設計界面,logo,功能需求。五月初基本完事。中途寫畢業論文初稿,網上各種找資料啊,各種抄啊,用了兩天寫了1萬4千多字給老師發過去了。然後就調試程序,解決部分為解決的問題,評論回復啊,ajax啊,之前都是不會的,各種網上找資源問群里大神啊。5月12號回學校準備答辯,然後學校說字數提高到2萬5以上,沒辦法,寫不出來啊,怎麼辦,繼續找啊,繼續編啊,各種方法湊字數。最後寫了3萬多字,然後還有什麼中英文資料翻譯,軟體用戶手冊什麼的,然後就是各種修改,各種返工。字數最後刪減到了2萬7。25號開始答辯,緊張的不行,後來趕時間,一個老師負責一個學生,老師問啥答啥,賬號密碼是什麼驗證的,查詢操作是怎麼做的,這樣問題,然後我就吧啦吧啦一頓說,老師說停,可以了,然後就給推優了,然後剩下的十天準備二辯,在指導老師的幫助下各種修改,二辯也很順利,這就是我畢業設計的全過程。
本科軟體工程專業,畢業設計是做一個應用系統。
屬於校外畢設,題目由給我job offer的公司提供,(說白了就是那公司招實習生給他們自己做個應用系統)
大四下學期開學之後直接開始進入項目組,配置是公司提供一個PM(部門經理級別的,蠻強的),兩個公司正式員工,然後3個實習生(我和另外兩個學校的孩子)
然後就開始了朝九晚六的工作日常....
做項目的時候PM大人拿著實打實的CMM2來壓榨整個小組,還沒開始coding畢業論文上可以寫的東西已經差不多齊了,把當年我這個從來沒有正經做過項目的孩子詐唬的一愣一愣的....
具體開發過程各種苦逼各路碼農都懂的....
到5月中下旬的時候整個項目完工並完成部署....(題外話,部署後活了半年左右然後死掉了,此外我們3個實習生當年是按一個月500給實習工資....所以公司方面厚不厚道各位自行評價)
上線之後開始寫畢設....拿到全套開發文檔(從需求到維護)後,我們仨一臉的..."這論文還要寫?"
因為三個學校的論文時間要求不一,有個孩子早早的把論文初稿弄出來了,我們拿到初稿之後就開始......刪刪刪....使用的技術介紹,刪掉!使用的平台介紹,刪掉!使用的開發工具,刪掉!好不容易把字數砍到了限定範圍內......
完成論文後實習結束,回到學校,找到校內的導師,把論文交過去和導師溝通了一下....導師大人來了一句「哎,你這個做這個系統沒什麼讓人眼前一亮的東西啊,評優恐怕不行哦。」 我一臉豎線的表示我從來沒有說過我要做優秀畢設,如果導師您覺得優秀畢設不靠譜我們就不評優了吧....
最後就是一些文檔格式細節方面的調整和修改了....
進到6月我猛然發現,我靠,畢設做完了?說好的6月大趕工呢,說好的答辯前的熬夜呢!
6月底同班大部分同學忙到死的時候(也有和我一樣在外面公司做畢設的),校外畢設黨們悠哉游哉的準備PPT和答辯材料.....
---------------------------------------------------
說一下答辯....
畢竟是實打實的生產系統,也沒有什麼特別奇怪的技術和內容,答辯的時候老師也問的不多,作為本科畢設自己做出來個不那麼難看的東西基本上就過關了。現場有個老師專門問代碼量....我很淡定的告訴他總共是2W多代碼量,我自己寫了大概1W左右....(候場的時候我前面那個聲稱研究演算法的同學被問了半天支支吾吾說了一個大概寫了十幾行代碼差點把我逗笑場)
===========================================
說起來,本科畢設的要求基本上就是做出東西來,如果是自己做的東西論文基本上就不用擔心沒內容,感想,吐槽什麼都有。後來我輔導一個本科畢設的時候那孩子跟我說,當同寢室的在炫耀已經寫了40多頁的論文的時候,自己正在默默的從60多頁往下刪.......
2017年7月25日 11:42
論文寫的累,休息休息怒答一波。
同濟大學3+1雙學位交流項目。畢設是在德國做的,三個月實習,三個月論文。導師一共四個,同濟大學一個,德國合作高校一個,企業兩個,一個小導師,亞琛工大碩士,研發工程師。一個大導師,亞琛工大博士,挖機項目經理。課題名稱Entwicklung und Implementierung von Algorithmen zur automatisierten Steuerung eines Baggers. 翻譯過來大概是無人自主挖掘的控制軌跡演算法及應用。先上一個畢設的成果展示吧,gif有加速,原本沒有這麼快,但是無人自主是真的。
實習三個月的時候,我的任務就只有一個。如何根據挖機鏟斗齒尖的坐標,來推算三油缸的相應位移。這個耗時大概一個禮拜。通俗來講就是給你下圖中Q的坐標,來計算相應的圖中紅線的長度。運用三角函數不難解決,就是麻煩。我只記得我把報告拿給德國教授的時候,教授指著一個正切的半形公式問我,這個你是怎麼發現的呢?我心裡一緊,說,高中數學老師教的。
在數學表達式計算完畢並且驗證之後,我開始了編程的學習。公司挖機使用的控制器需要用編程軟體CoDeSys來控制。CoDeSys么,和SIMATIC,Step7,C艹什麼的比起來,我是從來沒聽說呀。沒辦法,自學唄。百度文庫搜索出一本學習PLC最好的中文教程,就開始了掉頭髮的不歸路。零基礎學習CoDeSys 2.3,小導師給我的任務是編個計數器出來,類似秒錶。我把那本書基本上看了一遍,裡面有個例子,紅綠燈燈閃爍程序。那是我編的第一個程序。後來我把它改進了一下,做了個十字路口。
大概又過了三天左右我把秒錶編完了,加了正計倒計10秒倒數和計次功能,基本達到了小導師的要求。之後就開始著手將前文中提到的反向計算應用於程序之中。這個過程還是比較艱辛的,因為我對軟體不熟悉,且我前面提到的反算是以點的形式,一個鏟斗坐標,對應三個油缸位移。如果鏟斗軌跡是連續變化的時間函數,則油缸位移也相應為連續變化的時間函數。對於這個的實現我做了一些嘗試,最後決定以數組的形式,將挖機鏟斗所要移動的軌跡儲存在數組中。我選取數組長度為一百,這樣對於一條既定軌跡,可以分為一百個點,點動成線,賦予相應的時間信息,則達到了挖掘軌跡為時間函數的目的。如圖,一條鏟斗齒尖運動軌跡,對應數組一百個點,每個點有橫縱坐標以及鏟斗角度,可以算得相應油缸位移。這樣再加入數量同為一百的時間數組,則有鏟斗軌跡的時間函數,計算出三油缸位移的時間函數,求導即得到速度函數。速度函數乘以油缸面積可以得到流量的時間函數,流量可以推出先導壓力,先導壓力作為控制信號連接挖機。這樣就實現了挖機鏟斗可以按照預定軌跡運動,是無人自主挖掘的基礎。
2017年07月26日 9:30
剛吃完早餐。接著。
可以實現按既定軌跡運動之後,難點就是這條既定軌跡應該是什麼樣的。需要將挖機挖掘階段的一條標準化軌跡找出來,並作為輸入量。關於這條軌跡,我們進行了一次挖掘基坑的測試並收集了相關數據。測試是由德國有經驗的操作手完成。一共進行了25次樣挖循環。下圖左邊為鏟斗齒尖的運動軌跡,大致分為四個階段,挖掘,抬升,卸載,複位。圖中用紅色虛線區分。右邊為鏟斗齒尖橫縱坐標的時間函數。此處截取五個循環,共25個循環。
將連續記錄的數據按時間單位截取,得到25組循環的齒尖橫縱坐標數據如下圖左。對於每一組數據,即每一次挖掘循環按上述四階段劃分如圖中,橫坐標,圖右,縱坐標。首先尋求挖掘階段的標準化曲線。
將25組挖掘階段橫坐標時間曲線,縱坐標時間曲線(上圖兩個A1)離散出來,得到左上。發現這些曲線形狀類似。但是長度起始位置不盡相同。對每一條曲線進行右上的拉伸變化,使所有挖掘長度為4米,得到左下。將所有曲線平移至水平面,如右下,取一條平均曲線,此曲線作為挖掘階段的標準曲線。
類似方法求出四階段的全部標準曲線,每階段三條,鏟斗橫縱坐標時間函數,以及鏟斗絕對角度時間函數。此三條線作為反向計算的輸入量,可以求得相應油缸位移的時間函數,繼而推出先導壓力的理論值。連接挖機,實現控制。這樣就基本實現了挖機的自主挖掘。
現在坐在公司發獃。論文還有十頁,心已經疲了,完全沒有心情下筆,嚴重拖延症加蜜汁自信讓我覺得自己一下午就能搞定。距交稿只有一周,初稿還沒定。還要拿德語寫,我非常的生無可戀。
2017年7月27日 9:30
這周可以不睡了。
2017年8月4日
終於交了。
2017年8月16
答辯完結撒花
論文和答辯兩位教授都給了滿分1.0
昨天收到漢諾威工大EI錄取通知書
今天收到紐倫堡MT錄取通知書
我可以放縱一下了
因為不會,所以一直玩啊玩啊玩啊玩,最後忽然接到通知快檢查了,慌得不行。花了4天邊學邊做完成程序設計,花了2天畫圖畫表碼字寫完畢業論文。
結果分數還挺高
今晚拿到畢設題目的我眼淚掉下來,這都是啥!根本讀都讀不懂!
推薦閱讀:
※94年出生,21歲來得太突然,人生被拖延症佔據,處於迷茫的低谷期,要怎麼迎接這段黃金時間?
※近有大學領導在校慶上唱歌跑調,反而受到熱捧,你怎麼看?
※女生一名 一般的理科院校和小語種?
※中國真正一流的學生是什麼樣子的?
※為什麼要讀研究生?