第一次閱讀與準備做業 Anthonyzk

第一次閱讀和準備做業

這個做業屬於哪一個課程 | <課程的連接>

這個做業的要求在哪裏 | <做業要求的連接>

我在這個課程的目標是 | <從這門課程中瞭解到軟工與計科專業的不一樣、對本身將來的發展方向有更加清楚的瞭解以及借鑑前輩經驗,找到更加適合本身的計算機學習方法>

這個做業在哪一個具體方面幫助我實現目標 | <對IT行業更好的認知、多瀏覽前輩發表的博客造成本身對計算機行業的瞭解體系>

一丶 My Blog Introduce
--My blog address
--Self introductionhtml

我是來自計算機科學與技術2018級的姚志昆,在完成此次軟件工程基礎第一次做業的時候,發現是十分吃力的。不只僅在於代碼量上,更在於對基礎編程軟件的陌生,好比正在使用的Visual Studio Code,當初高考填報志願時,6個志願中5個計科方面的,但卻去了土木工程,僅僅靠在大一下期轉專業過來以後學習的知識來完成此次做業也是十分困難的,其中緣由有種種,我將會在以後一一講述。都是晃眼就從高考完到了現在的大二了,小一年的對編程知識的學習也讓我對編程從最開始的些許畏懼,到了如今的有些感興趣。上大學前,惟一的興趣就是籃球和打打遊戲了。高二纔開始打球的我,漸漸迷上了歐文,雖然高中壓力逐漸增大,可是依舊擠着時間去打球,好比二晚下課的15分鐘,提高本身的控球技術。等上了大學以後,想要在大學中接觸新鮮事物的我,也逐漸對羽毛球、網球等運動感興趣了,正所謂「身體是革命的本錢」,這會對咱們之後的工做也打下必定的基礎。
二丶 Reading & Thinking
前端

  1.當初是如何作出選擇如今專業的決定的?

高考填報志願的時候,6個志願中有5個是計科院的,可是我卻去了第六個志願——土木工程。雖然對土木工程也有必定的興趣,可是在大一下惟一的轉專業機會下,我毅然而然的來到了一心向往的計科院,觸摸我之前所向往且彷佛「高深莫測」的編程。

打遊戲也能夠算是我對計算機開始感興趣的開始,由於之前家裏電腦不怎麼樣,運行很卡,動畫顯示效果也差,打遊戲卡成PPT,就本身網上百度怎麼在在顯卡配置沒法改變的基礎上,提高電腦的動畫顯示效果。有個遊戲叫作「Minecraft」——個人世界的沙盒遊戲,裏面須要配置的東西就是Java,而這款遊戲也是由它編寫的。
爲了更好的瞭解其原理,我終究仍是來到了如今的專業,努力成爲一個優秀的IT構架師。java

  2.過去一年是否符合專業期待,爲何?

從轉專業到如今,時間只有小半年,計算機科學與技術讓我感覺到了編程的快感,雖然都是些小程序的或者小遊戲,可是每當本身的程序"no error,no warning"成功跑起來的時候,成就感與喜悅感都覆蓋了我。即便編譯的時候出現了錯誤,而檢查錯誤的時候內心有點堵,可是往往當問題成功解決的時候,喜悅感也是油然而生的。
所以再過去的小半年裏,我以爲是符合個人專業期待的,雖然最開始轉專業時填報的一志願是軟件工程,可是來到計科專業,也依舊讓我漸漸願意主動去學習專業知識,愛上了這個專業。
  3.你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎?

由上題可知,我對這個專業算是我喜歡的領域。可是也僅僅是喜歡,離擅長這個領域要走的路還很長很長,我如今的編程水平與知識水平也不過是在芸芸IT人中目前最基礎的那一層。想要達到擅長這個水平,我依舊須要本身主動學習培養計劃以外的東西,培養獨屬於本身的程序庫。
  4.未來你會選擇從事和你專業相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由。

既然是轉專業選擇了一個更加難以掌握的專業,那我未來確定會從事與我專業相匹配的工做。雖然不是地地道道的成都人,可是三歲就開始在成都生活的我,最想去的城市依舊是這個城市——成都。而現在成都也是新一流城市之首,我以爲留在這個從小長到大的城市是很是不錯的一個選擇。而我之後的發展方向卻不是很肯定,感受本身依舊對IT行業的細分不太瞭解,姑且發展方向爲java工程師或者web前端工程師吧,公司的話我更偏向於遊戲公司,雖然據瞭解遊戲公司熬夜作項目是屢見不鮮,可是興趣在此,目前國內比較大的就是騰訊和網易了,騰訊旗下的遊戲天然不用多說,而網易的《大話西遊》等網遊也風靡一時。若是隻是本科畢業,大學還有三年,先學好這三年,一步一步的想這幾大遊戲公司靠近吧。

  5.自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。

我自我感受雖然培養計劃裏面該有的都有,可是本身掌握的倒是一些皮毛,好比數據結構與算法,雖然已經教學過,可是本身對他的吸取卻只有百分之二三十,而達到熟練運用於掌握還有很長的路要走。根據咱們的培養方案,咱們要學習:數據結構、編譯原理、操做系統、彙編語言、計算機原理、計算機系統結構、離散數學、機率論、計算機網絡、數據庫、單片機、算法設計、數理統計、高級語言程序設計、面向對象程序設計。本身自學了Python的基礎語法,可是也只是基礎。所以本身的專業知識固然是不夠的,寫過不超過五千行代碼,寫過最多的代碼也僅僅只是貪吃蛇,當時剛剛轉專業過來,什麼都還不會,C語言和C語言實踐課一塊兒上,真的難度太大了,結構體、單鏈表又在書的後面,能夠說當時爲了寫出這個貪吃蛇作了很大很大的努力。
  6.離成爲一個合格的本科畢業生,在專業知識、技能、能力上還差距哪些?

在專業知識方面,就按照計算機科學與技術這一系來講,和培養方案上的基礎課程相對比,本身能夠說什麼都不會,依舊須要自我主動學習。在技能方面,相比於一個合格的本科畢業生,我要在"人爲交往,年齡,閱歷"等方面繼續提升,而在大學中,我想培養出"穩重的性格出來,褪去之前的浮躁",這纔算一名合格的畢業生。

  7.對照以上你閱讀的前人們的經歷,你的選擇是什麼?

最讓我感觸最深的一篇文章是《對程序員職業的一些建議》,單單看名字固然是沒有辦法知道他到底講的是什麼,可是在其中,卻讓我更深入的認識到了三熱情、能力和選擇三者間的關係。
一是興趣能讓你開始讓你執着,但只有喜好纔會投入熱情,只有投入熱情纔可能會出成績。個人興趣就是從電腦遊戲中迸發出來的,爲了搞清楚其中的原理,我來到了計算機科學與技術這個專業。喜好都是漸漸培養的,做爲一個數學不是很好,理綜卻相對有優點的學生來講,我對計算機知識最開始是雖然感興趣,倒是有些畏懼的,由於以爲它十分深奧,而我認爲,接下來三年時間裏,我就要將其化爲對計算機編程能力提高的執着,進而轉化爲喜好,投入熱情,由於喜好而投入熱情,終究會轉爲成績,帶來成就感。

二是興趣和熱情只能讓你很執着,但並不必定能讓你走好這條路,只有你的能力和你的強項才能讓你走好這條路。有了興趣和熱情以後,只是作到了基礎條件,想要在這條路上越走越遠,那麼你就要注意本身的學習方法進而提升本身的學習效率依舊編程效率。IT做爲一個快速更替的行業,知識體系都是突飛猛進的,不能中止對新知識的學習,並選擇一個方向作到深刻掌握,作到一個公司沒有人作到,只有你一我的才能作到,讓其成爲你的強項,才能讓你更被重視,才能作到不被淘汰。python

三是你的職位,薪水,只不過是你能力和經歷的附屬品。當你的能力、閱歷十分突出的時候,公司須要你的能力,那麼你提出的薪資要求、福利要求都將不會成爲問題。所以提高本身的能力纔是最關鍵的,在學習的過程當中,不要一味的爲了薪水二區作事,而是爲了提高自我而去作去學。程序員

  8.在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢?

對我而言,我認爲個人優點是若是我想要作一件事,那我就會必定用盡全力將其作好。劣勢方面的話,我認爲最影響個人就是懶惰,相比於大一上冊,若是有假期就是和室友出去開黑,出去玩,而不是主動學習。雖然轉專業事後和之前相比已經有了改觀,可是懶惰不是一朝一夕能夠改變的,但願在大學三年改掉這個習慣,主動去找事情作,而不是讓事情找上門。
  9.針對你的選擇,你給本身的大三設定的規劃安排是什麼?

轉專業後,由於學計算機的人數太多太多了,我對考研的願望愈來愈強烈,我局的對於大三設定的規劃能夠提早一些,好比從如今開始天天就開始背誦考研詞彙,好好準備考研。每當學校有招聘單位或公司來校招聘時,雖然不是招聘咱們年級,可是依舊能夠去看看想去的崗位須要些什麼,提早準備好,不會使本身到時候那麼迷茫。
  10.你對於實現本身的夢想已經作了或者計劃作什麼樣的準備?

由於大一錯過了加入團隊的機會,如今個人計劃就是加入一個團隊,在其中努力學習,爭取在比賽中獲得名次,爲考研增長本身的籌碼。其次,提早爲英語考研作準備,先把詞彙量提上來,雖然四六級都過了,可是分數卻不是很拔尖,也把四六級分數刷一刷。
三丶Questions raised after reading
Q1 若是進入一個團隊,如何好好定位本身,和諧融入其中,並在其學到本身想學的東西?
Q1 來自於本身的思考
A1 當你剛剛進入一個團隊,你的身份是一個新人,自我介紹,讓團隊隊員都熟悉你是必然的,不管這個團隊的核心項目是否是你想學習的,只要你加入了團隊,都要以謙虛的態度請教他人,既然是一個團隊,那麼這個團隊必定有屬於它的學習氛圍,做爲一個新人,必定要積極調整本身,去適應環境,而不是讓環境去適應本身。團隊中,要使本身有發言權,那就必須本身有能力,沒有能力的人,提出的意見也是沒有說服力的。對於團隊,也須要投入熱情,對團隊目標作了承諾,就必定要作到。

Q2 領導力究竟是什麼?
Q2 來自於《現代軟件工程-構建之法》P379 領導力
A2領導力分爲不少種,有「單一項目中的領導」—— Leadership in a project、也有「思想上的領導」——Thought leadership、還有「技術上的領先和指導」——Technical leadership。不一樣的領域(思想或行爲)有不一樣的領導力的標準,而領導力有四大要素——設定目標——知人善任——帶領團隊成長——績效管理.
web

Q3 結對編程有什麼用?
Q3 來自於《現代軟件工程-構建之法》P79 兩人合做
在結對編程模式下,一對程序員肩並肩、平等地、互補的進行開發工做。他們並排坐在一臺電腦前,面對一個顯示器,使用同一個鍵盤、同一個鼠標一塊兒工做。一塊兒分析,一塊兒設計,一塊兒寫測試用例,一塊兒編碼,一塊兒作單元測試,一塊兒作集成測試,一塊兒寫文檔。使得他們在高速度中完成任務,可是任務有較高的技術要求,任務失敗的代價也很高。單獨一我的設計、實現軟件的過程當中難免要飯這樣那樣的錯誤。在結對編程中,由於有隨時的複審和交流,程序各方面的質量取決於一對程序員中各方面水平較高的哪一位。這樣,程序中的錯誤就會少得多,程序的初始質量也會高不少,這樣會省下不少之後的修改、測試的時間。使得兩人合做解決問題的能力更強,相互激勵,互相講解從而受到激勵,努力提升本身的水平,提出更多的創意。
算法

Q4 如何避免軟件工程師的思惟誤區?
Q4 來自於《現代軟件工程-構建之法》P48 軟件工程師的思惟誤區
思惟誤區主要由三個方面,一是分析麻痹,一種極端狀況是想弄清楚全部細節、全部依賴關係以後再動手,心理上過於悲觀,不想修復問題,出了問題都賴在相關問題上。分析太多,卻不想動手,所以,我認爲要適當分析問題以後,努力邁出第一步,而後再將一步一步編寫代碼,不要急於求成。其次是過早優化,軟件的軟字就在於它的可塑性,一個複雜的軟件彷佛不少模塊均可以變得更好,一個工程師在寫程序的時候,常常容易在某個局部問題上陷進去,花大量時間對其優化。無視這個模塊對全局的重要性。所以過早的優化是不可取的,要在大框架無錯誤正常運行的條件下才開始優化。再者是過早擴大化和泛化,在寫一個程序的時候,須要某個函數能夠處理整數類型和字符串類型的信息,所以有的程序員就會提早將其類型抽象出來,可是太好高騖遠了。
數據庫

Q5 如何正確的計劃和估計?
Q5 來自於《現代軟件工程-構建之法》P169 計劃和估計
想要作到合理的計劃和估計,那就必定要在目標、估計和決心三者間作到一個平衡。軟件項目的延遲在行業中比比皆是,在估計以前,咱們能夠考慮前任的經驗,另一個方法是快速原型法——用一兩個先鋒去探路。其次,也要對產品的因素,平臺的因素,人員的因素,項目的因素四者都考慮到。而在計劃中,咱們能夠分而治之,提升人員能力的利用效率,所以咱們能夠把大型項目化整爲零,作到團隊中每一個人均可以同時工做,將其化爲一個個子節點,最後再歸爲根節點。
編程

四丶Source program version management tools小程序

1.GitHub
參考百度文庫
優點主要有如下七點:
一、GitHub 只支持 Git 格式的版本庫託管,而不像其餘開源項目託管平臺還對CVS、SVN、Hg 等格式的版本庫進行託管。GitHub 的哲學很簡單,既然 Git 是最好的版本控制系統之一(對於不少喜歡 Git 和 GitHub 的人沒有之一),沒有必要爲兼顧其餘版本控制系統而犧牲 Git 某些獨有特性。所以沒有支持其餘版本控制系統的歷史負擔,是 GitHub 成功的要素之一。
二、GitHub 對 Git 版本庫提供了完整的協議支持,支持 HTTP 智能協議、Git-daemon、SSH 協議。
三、GitHub 提供在線編輯文件的功能,不熟悉 Git 的用戶也能夠直接經過瀏覽器修改版本庫裏的文件。
四、將社交網絡引入項目託管平臺是 GitHub 的創舉。用戶能夠關注項目、關注其餘用戶進而瞭解項目和開發者動態。
五、項目的 Fork 和 Pull Request 構成 GitHub 最獨具一格的工做模式。對提交代碼的逐行評註及 Pull Request 構成 GitHub 特點的代碼審覈。
六、GitHub 經過私有版本庫託管、面向企業的版本庫託管和項目管理平臺、人員招聘等付費服務得到了商業上的成功,這種成功使得 GitHub 沒必要以頁面中嵌入廣告的方式維持運營,最大的受益者仍是用戶。
七、GitHub 網站採用 Ruby on Rails 架構,在 Web 設計中運用了大量的JavaScript、AJAX、HTML5 等技術,支持對使用 Markdown 等標記語言的內容進行渲染和顯示等。關注細節使得 GitHub 成爲了項目託管領域的後起之秀。

劣勢
1.使用Jekyll模板系統,至關於靜態頁發佈,適合博客,文檔介紹等。動態程序的部分至關侷限,好比沒有評論,不過還好咱們有解決方案。
2.基於Git,不少東西須要動手,不像Wordpress有強大的後臺。

2.Microsoft TFS

優勢
1.由數據庫存儲源碼——性能高
2.與開發工具無縫集成——簡便
3.源碼管理無存儲限制——可靠
4.代碼分支結構可視化管理
5.有誤刪除恢復保護
6.內置BUG管理工具、提升開發效率
7.管理項目生命週期測試用例
8.根據項目完成狀況自動編譯測試源碼

缺點
1.搭建、維護tfs比較複雜。
2.硬件要求比較高。

3.Apple XCode
參考百度文庫
優勢
一、蘋果公司向開發人員提供的集成開發環境(非開源),用於開發Mac OS X,iOS的應用程序。
二、無論是使用C、C++、Objective-C或Java編寫程序,在Apple Script裏編寫腳本,仍是試圖從另外一個奇妙的工具中轉移編碼, Xcode 編譯速度極快。每次操做都很快速和輕鬆。
三、蘋果公司爲用戶提供了全套免費的Cocos程序開發工具(Xcode),和Mac OS X一塊兒發行,在蘋果公司官方的網站下載。

缺點 1.報錯難以辨別出錯地方。

相關文章
相關標籤/搜索