另外,計算機(jī)專業(yè)學(xué)生的水平主要體現(xiàn)在他們的思維而不是他們實(shí)際能做什么。 大學(xué)教育不是為了培養(yǎng)技術(shù)工人,所以某一門具體的技術(shù),比如網(wǎng)頁開發(fā),不會出現(xiàn)在任何計算機(jī)專業(yè)的課程中。 同樣的,git,甚至很多各種測試框架,也不是教的。 (不教并不代表學(xué)生不能自己使用)
然而,計算機(jī)科學(xué)專業(yè)的學(xué)生應(yīng)該比非專業(yè)的學(xué)生更容易適應(yīng)新技術(shù)。 當(dāng)然,這都是平均水平。 同時,程序員為公司提供的價值不是寫代碼,而是用代碼解決問題。 換句話說,如果你不用寫代碼就能解決問題,那也沒關(guān)系。
寫代碼解決問題的難點(diǎn)不在于寫代碼,而在于解決問題。 很多人都誤解了這一點(diǎn)。 計算機(jī)教育的核心是讓你利用計算機(jī)提供的能力來解決問題,而重點(diǎn)是在“問題”上。 例如,如果你問某人計算機(jī)科學(xué)中最重要的概念是什么,有經(jīng)驗的人會告訴你一些你可能認(rèn)為與計算機(jī)沒有多大關(guān)系的東西:“分而治之”。 雖然很抽象,但這句話精辟地概括了利用計算機(jī)解決問題的基本思想計算機(jī)水平一般怎么填,即把大問題變成小問題的組合,把未知問題變成現(xiàn)有問題的組合計算機(jī)水平一般怎么填,如此反復(fù),直到所有的問題都解決了可解。
對學(xué)生的專業(yè)培養(yǎng),說白了就是培養(yǎng)一系列與此類似的理念。 那么您認(rèn)為該專業(yè)學(xué)生的水平有多高呢?
如果你只是想知道最優(yōu)秀的學(xué)生在本科期間實(shí)際上做了什么,讓我給你舉個例子。 我見過操作系統(tǒng)和編譯器。 它不僅僅是一個外殼,例如編譯器。 老師定義了一種新語言。 我們需要實(shí)現(xiàn)一個用這種語言編寫的程序來完成語法分析(判斷是否存在語法錯誤并生成語法書)。 這是最基本的要求。 。 優(yōu)秀的學(xué)生會主動做更多的事情,比如將程序翻譯成Java并在JVM上運(yùn)行。 更好的是,它直接生成了匯編代碼,嚴(yán)格意義上的編譯器已經(jīng)完全實(shí)現(xiàn)了。