回覆列表
-
1 # 溳城丁丁
-
2 # 單純妮子
如果以後不想從事程式設計工作的話,可以跨專業讀研究生,如果不想跨專業,大資料,雲計算,物聯網,智慧識別這些方向是現在的趨勢。
有句話叫360行,行行出狀元,如果想畢業找研究生方向的工作的話,當然你要對在學校時所研究的方向有深刻的認識,否則也不太好找這些方向的工作。我作為一個畢業6年的計算機專業的女研究生,我看到的是女同學們大部分都轉行了,或者從軟體測試做起,現在當產品經理這種,或者國企,銀行做網路維護,或者在資訊部門做系統維護,就這樣吧!我個人看法,可能有誤,僅供參考!
不知道您這裡的程式設計能力薄弱是指的什麼?
程式設計能力這個其實透過多練習,多一些專案實戰是能夠提高程式設計能力的。有一句話叫熟能生巧,參與的專案實戰多、程式碼敲得多了,其實是能夠提高自己的程式設計能力的。
回到你的正題,計算機這個學科其實範圍太廣了。這個具體的要看你主要的學的那方面的內容?
我們來系統瞭解一下美國的計算機科學(Computer Science,CS)專業的16個分支。
人工智慧人工智慧(Artificial Intelligence)學習研究的核心領域大致包括:學術呈現,推理,學習,規劃,決策,視覺,機器人,語音和語言處理。同時AI也旨在運用先進的演算法來解決各領域的實際問題,其中包括生物資訊學,網路及各類系統,搜尋和資訊檢索等等。人工智慧與認知科學也是緊密相聯的,包括心理學,語言學和哲學方面。除此之外,研究人工智慧還需要涉及到以下的技術和工具:統計學,神經科學,控制,最佳化和業務研究。有的大學會開設AI與Machine Learning相結合的課程,但更多的大學開設的是獨立的機器學習課程。也有些大學雖然沒有AI專業,但是有Robotic Systems(機器人系統)相關的課程,其實也是類似人工智慧的專業。
計算機演算法和理論計算機演算法與理論(Algorithms and Theory )是研究更高效的演算法和協議。它強調學習許多20世紀的發明,如密碼學、計算生物學、機器學習、量子計算等先進演算法和理論。同時計算機演算法和理論還研究包括複雜性理論,演算法,資料結構,計算幾何,密碼學,機器學習和計算經濟學,並且與計算生物學,圖形,網路和系統緊密連線。計算機演算法與理論屬於基礎理論學習的學科,需要紮實的數學基礎。
生物系統與計算生物學生物系統與計算生物學(Biosystems & Computational Biology)越來越依賴計算機科學和電子工程的演算法和工具。生物資料包括多品種的基因組資料,多型變體的資料庫,蛋白質結構和RNA結構,基因資料庫,實驗生物化學測量資料和生物醫學資料。對這些資料進行表達,操縱和整合需要計算機科學的技術,如資料庫,演算法,人工智慧,圖形,訊號處理和影象處理,因而生物系統也被稱為生物資訊學(Bioinformatics)
大資料大資料(Big Data)相關專業的別稱包括:Data Science(資料科學)、Data Analytics(資料分析)、Data Mining(資料探勘)。由於網際網路和社交媒體的興起,資料量空前龐大,而獲取資料的裝置也越來越多,如智慧手機和微型感測裝置收集資料、科學儀器收集類似的基因組資料,天文資料,醫療。管理和分析“大資料”需要全新的技術和系統。除了透過常規資料庫系統及相關應用程式管理資料外(已經難以駕馭多樣化嘈雜的資料分析),還要增強捕捉和關聯個人資料,保護安全和隱私問題的能力。要解決大資料管理的各個方面,需要學習的方向包括:高效能計算,資料庫,雲計算,分散式系統,視覺化以及安全性和隱私的領域。所以大資料屬於CS中的交叉學科。
計算機系統結構計算機系統結構(Computer Architecture)是計算機的機器語言程式設計師或編譯程式編寫者所看到的外特性。所謂外特性,就是計算機的概念性結構和功能特性,主要研究計算機系統的基本工作原理,以及在硬體、軟體介面劃分的權衡策略,建立完整的、系統的計算機軟硬體整體概念。有大學將Complier(編譯器)和Architecture(系統結構)一起研究,研究內容集中在為下一代計算機和計算元件進行硬體,程式語言和編譯器的設計,很多大學將程式語言及編譯器單獨開設課程進行學習。
計算機圖形學算機圖形學(Computer Graphics and Visualization)的主要研究內容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關原理與演算法。除這些以外,還會研究如何科學視覺化,基於物理渲染,動畫製作,計算機輔助幾何設計,快速成型,計算機輔助角膜建模和視覺化,醫學成像等等。相較於藝術類的動畫製作而言,計算機圖形學更注重演算法及理論的學習。
資料庫系統資料庫系統(Database Systems)的重點領域包括生命科學和生物資料庫,圖形資料庫,感測器網路資料管理,社交網路資料管理,移動資料庫,P2P網路和非結構化的文字資料庫。資料庫系統的學習將繼續在傳統資料管理的基礎上進行創新,如提高管理和查詢資料,空間資料庫的速率,增強查詢處理和最佳化,資料流,近似查詢處理和資料探勘的能力。與Data Science相比,它更傾向於單純的資料處理管理(Database Management Systems or Information Systems),隨著時代發展,這個專業方向正在逐漸被髮展獨立開來成為IS。
分散式系統分散式系統(Distributed Systems)往往與作業系統(Operating Systems)同時學習,也有學校直接用系統(Systems)來概括這個專業。學習的偏重性根據學校不同有所偏差。作業系統的研究重點是針對一臺機器或物理裝置執行的系統軟體,而分散式系統則是研究如何實現網路互連的多臺計算機執行一致的,安全的,可擴充套件的,可靠的系統。學習重點包括調查演算法,設計原則,並制定執行現代計算機系統所必需的軟體工程技術。
高效能計算高效能計算(High-Performance Computing)主要是學習用大型計算機來解決的重大科學和工程問題及並行演算法和開發相關軟體。HPC研究的重點在於從創新的核心數值演算法中提煉精華,運用到系統軟體或者嵌入到需要大規模生產計算的工具中去。該專業的形成與“大資料”息息相關。有大學也將高效能計算的學習併入科學計算(Scientific Computing)的學習。
人機互動設計機互動設計(Human-Computer Interaction)是指透過計算機輸入、輸出裝置,以有效的方式實現人與計算機對話的技術。它與認知學、人機工程學、心理學等學科領域有密切的聯絡。主要研究在未來雲計算環境中如何人機互動,包括辦公室,家庭,移動,醫療互動。該課程強調對環境的感知系統,感知介面(如計算機視覺和語音),視覺化和學習技術。
機器學習機器學習(Machine Learning)的研究主要集中在機器學習的基礎理論和實驗研究機器學習演算法。在學習ML的同時,要學習如何在其他領域運動ML,比如生物學和資訊影象採集。同時,大多數大學對將ML運用到大而複雜的資料集中非常感興趣,因而也將ML歸類於Data Science中的資料探勘或分析。應用例項包括物種分佈的棲息地建模,大量學術文章主題歸類,大腦影象分類,蛋白質功能分類等等。
網際網路與系統網際網路與系統(Networking and Systems)的學習往往與作業系統直接相關聯,具體研究內容包括分散式系統,作業系統,儲存系統,網路和網路架構,移動和無線系統和網路協議設計。網路架構的學習包括疊加架構,分散式雜湊,下一代網路的設計,對等聯網,移動和點對點網路,故障排除,能耗影響問題的研究等等。也有學校將網際網路與通訊(Communications)結合進行學習,其專業性質是屬於EE與CS的交叉課程,很多學校歸類於EE,而伯克利大學將其歸類於EECS系下。
程式語言程式語言(Programming Languages)的學習目的主要是為了提高程式的安全性和隱私性,極大限度得提高軟體的靈活性,可靠性,可用性,高效性,可重複利用性。程式語言的學習往往會和編譯器(Complier)一起學習,研究重點集中在雲計算,移動端計算,高利用率系統,靜態分析,函式型程式設計,除錯和隱私保護計算。同時程式語言的學習非常側重於編譯器的最佳化,軟體的設計,合成和測試,因而程式語言往往也和軟體工程(Software Engineering)併為一個專業進行學習。
科學計算與數值分析科學計算(Scientific Computing)也被稱為數值分析(Numerical Analysis)。它的重點是在設計和分析演算法來解決各領域發生的數學相關問題,特別適用於科學和工程領域以及高效能電腦上演算法的應用(最明顯的就是應用在並行和分散式系統中)。研究的內容包括數值線性代數,快速求和的方法等等。並且在不同的領域中也有涉入,比如影像學,流體力學和聲學。也有大學將科學計算和數值分析分開,科學計算更傾向於高效能計算(HPC)的學習,數值分析更傾向於統計,數學領域。
安全與加密安全與加密(Security and Cryptography)注重密碼學從理論到應用的學習和時間,並且強調研究資料庫的隱私,監控系統的隱私,基於Web的應用程式的隱私及感測器網路安全,測試平臺的安全,人機介面的安全,網際網路安全(在Networking專業的學習中也會涉及,但是如果被分出學習的話,更偏向於密碼學的學習,對數學邏輯思維的要求較高)等等。有些學校甚至從計算機資訊保安這個專業的方向衍生到對心理學及經濟學、社會學的思考和學習中去了。
軟體工程軟體工程(Software Engineering)的目標是改進現有的技術來提高軟體系統(也有學校開設Software Systems專業,其內容和軟體工程相似)的成本、準確性和可用性。將這三個互相制衡的因素都實現,是目前軟體工程研究的重點。同時軟體工程也致力於軟體的開發,測試及維護等等工作,立志於解決複雜系統及處理程式中產生的問題。
以上總共是16門學科,其中大部分並不需要具備非常熟練的程式設計能力。那麼關於你的回答,這個就要基於你自己的興趣愛好來做最終的決定。根據目前國內國際網際網路的發展趨勢,以及你的本身是女生,我給你的建議是,可以考慮[人工智慧]、[科學計算與數值分析]、[人機互動設計]、[計算機圖形學] 這4個方向考慮!