1. 程式人生 > >第1次個人作業

第1次個人作業

2.2 回答問題

 

第一部分:結緣計算機

1.計算機是你喜歡的領域嗎?是你擅長的領域嗎?

計算機應該是我感興趣的領域,一臺計算機就能滿足人們的各種需求,娛樂、工作、生活,不同的軟體實現不同的功能,再看看軟體背後的演算法和程式,其中的奧祕還是吸引人的。但看到那動輒成千上萬行的程式碼我就有點畏懼,雖然有心學習但沒有付諸行動,很遺憾這並不是我所擅長的領域。

2. 你對計算機的熱愛是怎樣的?僅僅是口頭的嗎?

第一次見到計算機是在兒時的小學機房,小小的房間裡擺著二十幾臺電腦,我們跟著老師學習打字、畫圖,但是並沒有接觸網路,也就沒有啥關注了。到了初中畢業,我終於有了第一臺屬於自己的電腦,由於當時學業繁忙,眼界並不開闊,電腦只是用來放鬆娛樂的工具了。等到了大學有了自己的筆記本,資訊交流高速發展,慢慢對計算機也有了進一步的認識,娛樂只是其中最微小的一個用途。大學的時候比較喜歡動漫和遊戲,曾經幻想自己做一個小遊戲或者幾十幀的動漫,近年來人工智慧的發展,對我也是一個極大的吸引。

 

第二部分:學習生活

1.你對你的大學生活有什麼想要吐槽的地方嗎?你理想的大學教育應該是什麼樣子的?跟學校給你的有什麼區別?

本科的生活暴露了我自控能力差的缺點,而這一點又是非常致命的,總所周知大學和之前的學習生活最大的不同就在於大學不再有人督促你學習,自我的控制就顯得尤為重要,這也就導致我的本科生活並沒有什麼有意義的事情發生,只是被迫為了學位證而學習,缺乏了興趣和愛好學習也變得枯燥了很多。

我認為大學教育首先要明確學生是主導,並且讓學生明白自己必須為自己的大學“買單”,引導學生有一個自己的規劃,知道自己需要什麼,從而完善自己,實現自我提升。而學校在其中扮演的角色是為學生提供一個自我發展的平臺,從而才能培養出個性鮮明,不拘一格的人才。

現在學校已經在朝這個方向努力,網上的課程有很多,引進各種資料庫,學習平臺。

2. 迄今為止,你寫了多少程式碼,描述你做的最複雜的軟體專案/作業。

到目前為止我寫的程式碼也是少之又少,可能就是C語言課程實驗課在電腦上敲的幾行程式碼和畢設的一個結果運算。

3.速成的培訓班和打基礎的大學教育還有mooc之間有區別嗎?

我認為這三種學習方式還是有很大區別的,速成的培訓班注重的是應用,不會有特別多的基礎講解,所以它培養出來的學生應用能力可能會強一點,但遇到問題分析和解決的能力就會差一點。大學教育就基礎而言應該是最好的,但考慮到學習的動機問題就各有差異了,俗話說九層之塔起於壘土,基礎對於任何一門學科都是十分重要的,當搞懂了基本原理之後就可以實際應用,也可以觸類旁通。相對慕課來說,此類適合對一門學科有強烈興趣的學生使用,興趣是最好的老師。

4.學線性代數和概率論的時候,你是否有過這樣的疑問“我們為什麼要學這麼多數學,這和我們的專業有關係嗎”,你現在是否還有這樣的疑問?對這個問題,你有自己的解答了嗎?那麼其他學科呢

曾經有人說任何問題到了最後都是數學問題,經過大學四年的學習,我深有體會,相對專業課來說,上面的公式大都是積分微分問題,一個問題拆分成多個限制條件,每一個條件就是一個方程,多個限制就組成了方程組,矩陣也就十分重要了。專業的問題大都可以轉化為數學問題進行解決,排除次要問題,解決主要矛盾。

 

第三部分:未來規劃

1. 你有什麼樣的夢想或者未來想從事什麼樣的工作?你準備怎樣來規劃你技術道路,職業道路和社會道路?

我現在對將來從事什麼樣的工作還有點迷茫。如果要我進行規劃,首先要了解你將要從事的工作,對人的要求有哪些,需要掌握哪些知識、技能,需要了解哪些知識,需要知道哪些知識,從而對具體規劃提供一些幫助,針對前期瞭解的內容,制定可行方案。

 

第四部分:課程期望

1.你對這門課的期望是什麼?你打算平均每週拿出多少個小時用在這門課上?你願意為了一個你感興趣的專案、或得到實戰鍛鍊而付出更多時間和精力(包括熬夜)嗎?

我希望通過這麼課的學習,可以瞭解關於軟體工程相關的知識,軟體如何構成,軟體如何實現,掌握一門計算機語言,可以編寫簡單的程式。我打算平均每週拿出六個小時用在這門課上。我願意為了感興趣的專案、或得到實戰鍛鍊而付出更多時間和精力。

 

3、分析軟體

軟體有很多種: ShrinkWrap(在包裝盒子裡面的軟體)、Web APP ( 基於網頁的軟體)、Internal Software (企業或學校或某組織內部的軟體)、Games(遊戲)、Mobile Apps(手機應用)、Operating Systems(作業系統)、Tools(工具軟體),選取三種軟體,請分析它們各自的特點。

1.這些軟體的開發者是怎麼說服你(陌生人)成為他們的使用者的?他們的目標都是盈利麼?他們的目標都是賺取使用者的現金麼?還是別的?

Games以其優美的製作,逼真的效果,刺激的操作,精彩的劇情等說服,Mobile Apps以其獨特的介面,特殊的功能說服,Tools以其強大的能力,可使使用者工作節省大量時間。遊戲和工具軟體大部分收費,以盈利為目的。手機應用大部分免費,目的為了吸引人群,進行廣告、產品等推廣。

2.你個人第一次用此類軟體是什麼時候,你當時多大,具體在什麼學校讀幾年級,老師是誰,同桌叫啥?軟體是如何到你手裡的?例如:郵購,下載,互相拷貝,從應用商店購買。

玩的第一款遊戲是在高一的時候,在網頁下載。手機應用在高三暑假,從應用商店裡下載。使用的完成工作的工具是大一,互相拷貝。

3.我們知道有些軟體是收費的,有些是“免費” 的, 那麼,軟體公司為何會給你免費使用這個軟體呢? 寫這個軟體的工程師們,他們的工資如果不從你(使用者)這裡來, 從哪裡來呢? 目前你們當地的軟體工程師的工資大約是多少,請給出儘量詳細的分析,精確到年收入多少萬元人民幣。

軟體公司的免費軟體只是為了吸引客戶,當基數大了之後就可以推廣自己的收費軟體,必定有一部分客戶因為使用方便而買單,大量的客戶人群可以賺取廣告費,下載和點選量也可以從網路運營商那裡分錢。

4.你是如何學會用這軟體的?它給你什麼好處,壞處? 這些軟體是如何處理 bug 的?  如何更新新版本的?  你估計軟體團隊更新一個主要版本花了多少 人月? 請寫上人月的定義. 如果你們宿舍(或者你和另外三四個同學)要做同樣水平的軟體,請估計你們需要多少時間?

軟體通過自學和老師,同學指導,軟體通過版本更新處理bug重新下載或者安裝補丁獲得新版本。

就手機作業系統來說一般一月一小更,三月一大更,我認為六人月,“人月”一人一月工作量。

5.同一型別的軟體之間是如何競爭的?你現在還用它麼,你為何選擇這個產品,而不是它的競爭對手?

就遊戲來說,同一種類的遊戲競爭主要靠自己遊戲的製作水平,畫質高,操作流暢,競技性高,基於它的優點選擇。

6.5年後, 這種軟體執行的硬體會有什麼變化, 軟體再過 5 年還會存在麼,為什麼?

我認為硬體會越來越小,整合化越來越高,使用壽命越來越長,效能越來越好。軟體再過五年還會存在,應為需求還在,軟體實現的功能還是被需要。

7. 列舉你在使用上述軟體的時候觀察到的 “特殊”現象,它們和硬體有什麼不同?  這些能說明軟體的某些本質特性麼?

軟體更新換代比硬體快,軟體種類多,功能多。