先說結論。來不及。
CS 涉及的方方麵麵,說到底,最後都涉及到一個如何實現,也就是如何堆碼把這些算法給實現的問題。
如果上大學才學編程,才接觸CS ,理論上是可以的,但時間其實是來不及的。首先要精通掌握一門高級語言,比如C++, 沒有幾年的訓練,根本做不到。大學4年,除了專門的CS 核心課,還有一些其它的非核心課。孩子要在4年的時間內在學好這些課的同時,又要熟練掌握一門編程語言來實現這些專業核心課的作業,是很困難的。
寫簡單的比如你好世界是可以的。但是涉及到複雜的算法和數據結構,是來不及的。正如上麵說,CS 幾乎所有的核心課,比如編譯器,操作係統,計算結構,通訊等等,好一點的大學,它大量assignment和project都需要具體的實現,如果連編程語言都需要現學,很難相信他們可以做出做好這些作業。
各種算法通訊協議以及計算機結構OS 等等概念的理解掌握,不一定很容易。掌握了理解了,又需要精通一門編程語言來具體實現。這些僅僅靠進入大學後熬夜學,僅僅從時間來說,是遠遠不夠的
當然,如果學校要求不要,要混可能也能混下來。這種學生畢業後,即便走運進了大廠,他也是呆不下來的。因為最後說到底,你要能出活啊。
一點觀察,不一定對。