原文鏈接:Computer Science Courses that Don’t Exist, But Should
原文作者:James Hague
CSCI 2100:忘掉面向?qū)ο缶幊?/span>
思考如何創(chuàng)建、使用不屬于任何對(duì)象的變量。學(xué)習(xí)“函數(shù)(functions)”,它跟方法(methods)很像但是更有用的多。前提是你已經(jīng)學(xué)過一門使用了“抽象基類的課程”。
CSCI 3300:向經(jīng)典軟件學(xué)習(xí)
討論并剖析具有劃時(shí)代意義的軟件產(chǎn)品,比如VisiCalc、AppleWorks、Robot Odyssey、Zork、和MacPaint等。學(xué)習(xí)的重點(diǎn),在于用戶界面,以及由硬件限制激發(fā)出的創(chuàng)造力。
CSCI 4020:用低效語言編寫高效代碼
對(duì)性能進(jìn)行深度分析,用解釋型的Python語言來寫出能與傳統(tǒng)的編譯型C++匹敵的代碼。而且代碼還會(huì)更加健壯,寫起來也很有意思。
CSCI 2170:用戶體驗(yàn)之”命令行工具”
提高用戶體驗(yàn)的原則也同樣適用于命令行工具的設(shè)計(jì),要專注于輸出信息的相關(guān)性,可讀性,簡(jiǎn)化。UNIX的“l(fā)s”命令就是值得好好學(xué)習(xí)的一個(gè)例子。
PSYC 4410(心理學(xué)高年級(jí)課程):程序員內(nèi)心強(qiáng)迫癥
能辨別和理解那些無關(guān)緊要,但是程序員偏偏會(huì)去較真的事情:代碼格式、如何分類、類型系統(tǒng),非要將項(xiàng)目分解成很多個(gè)。還包括接觸到不熟悉的系統(tǒng)時(shí)下意識(shí)的批評(píng)的細(xì)節(jié)。
HN精彩評(píng)論
我能再加一個(gè)嗎?“網(wǎng)絡(luò)不像你想的那么簡(jiǎn)單:分布式系統(tǒng)生存指南”。作為一個(gè)在職業(yè)生涯中花了很多精力建設(shè)高性能網(wǎng)絡(luò),也和這個(gè)領(lǐng)域里地人公事了很長(zhǎng)時(shí)間的一個(gè)程序員來說,我對(duì)現(xiàn)在從名校畢業(yè)的學(xué)生在這方面的知識(shí)之匱乏感到震驚。很多基本的東西,像是應(yīng)用的無線傳輸,系統(tǒng)如何處理數(shù)據(jù)包,等待對(duì)應(yīng)用的影響等等,對(duì)于一些程序員來說簡(jiǎn)直一竅不通。現(xiàn)在看來,網(wǎng)絡(luò)連接的實(shí)質(zhì)問題,確實(shí)被嚴(yán)重忽略了。
程序員分為兩種:一種被訓(xùn)練成能在熟悉的環(huán)境中稱職地編碼;另一種則像是《黑客帝國(guó)》中選擇了紅色藥丸的人——他們知道事物的本質(zhì)。
再加一些:
在白板上寫翻轉(zhuǎn)二叉樹
用COBOL實(shí)現(xiàn)Monads
如何正確地糾正網(wǎng)絡(luò)上的評(píng)論
上一條中的槽點(diǎn)可能有哪些
對(duì)Twitter的多項(xiàng)式機(jī)器人算法有多糟糕的介紹
用Haskell學(xué)習(xí)函數(shù)式編程
上一門課的實(shí)際用途
親愛的機(jī)算計(jì)學(xué)院:請(qǐng)不要再拿“算法導(dǎo)論”課來愚弄你們的學(xué)生了,這門課應(yīng)該改為“組合算法導(dǎo)論”,因?yàn)檫@才是你們教的東西。你們完全忽視了“數(shù)字算法”,這是許多其他計(jì)算機(jī)學(xué)科分支的基礎(chǔ)(計(jì)算機(jī)物理、計(jì)算機(jī)化學(xué)、計(jì)算機(jī)生物學(xué)等),同時(shí)這也是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)畢業(yè)生薄弱之處。或者也可以保留“算法導(dǎo)論”的名字,但是教50%的算法和數(shù)據(jù)結(jié)構(gòu),50%的數(shù)字計(jì)算方法和科學(xué)計(jì)算。
“建立端對(duì)端軟件解決方案”如何?讓這門課貫穿所有軟件開發(fā)流程(想法-設(shè)計(jì)-原型-公測(cè)-發(fā)布-迭代)。我好的朋友馬上畢業(yè)了,可他對(duì)軟件開發(fā)一無所知,根本不了解現(xiàn)在的市場(chǎng)需求。
“Debug”:嚴(yán)肅地講,這是門完整、系統(tǒng)的課程,而且越早開設(shè)越好。這是其他學(xué)科/工程不可缺少的技能。
計(jì)算機(jī)科學(xué)和軟件工程應(yīng)該分成兩門完全不同的學(xué)科。
本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個(gè)人觀點(diǎn), 并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個(gè)個(gè)人學(xué)習(xí)交流的平臺(tái),網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對(duì)作者和來源進(jìn)行了通告,但是能力有限或疏忽,造成漏登,請(qǐng)及時(shí)聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對(duì)此聲明的最終解釋權(quán)。