當前位置:首頁 » 操作系統 » 演算法導論期末

演算法導論期末

發布時間: 2023-02-21 06:30:49

㈠ 為什麼有人說弄懂了《演算法導論》的90%,就超越了90%的程序員

其實計算機程序底層核心就是各種數學演算法,剩下就是怎麼用代碼去實現數學,世界上有名的計算機程序大牛幾乎都跟數學權威方面的專家有關。

從另一個角度回答,因為就算看懂百分百,也很難超越另外的百分之十

很多程序員沒讀過演算法導論

其實不管是對於在校生來說還是已經工作的程序員,一般很少都會接觸演算法。

學生的話也只有計算機相關專業的開設了數據結構和演算法相關課程的才需要用到,但如果只是對付期末考試的話也沒啥難度。

但是如果在大學期間接觸到演算法競賽就不一樣了,需要花費比較多的精力。

的確在工資上任何公司都是10%的演算法大佬拿的工資比其他90%的業務開發程序員或者其他的程序員都要高,不過就憑只懂《演算法導論》這本書的話還是不太行的,演算法離不開業務的。就算超越也是超越那10%的演算法工程師里的90%,如果能達到這個境界別說BAT了,微軟谷歌都是可以考慮的。

說這個話在我看來他可能是想賣課,賣完再慢慢告訴你,「學到90%也沒有那麼容易」,或者「在刷我這套題這件事上超越90%的程序員 並不等於收入上超越90%的程序員」。

你多去拼多多參加幾個活動,在文字 游戲 和預期管理上你應該就懂了;要是還不懂,大概你也不是那麼適合做這一行以及演算法導論。

公式:弄懂+一本名著+百分比+超越+百分比+你的群體。

例句:

弄懂sicp的67.9%,你就超越了95%的程序員。

弄懂本草綱目的72%,你就超越了93.7%的中醫。

弄懂冰箱說明書的83%,你就超越了99.9%的冰箱使用者(這也許是最真實的,雖然冰箱說明書不是名著……)

至於為什麼這么說……個人覺得就是對xx東西的一種崇拜,很大程度上是人雲亦雲。

演算法導論是本不會動的書,不同人讀效果不一樣的。不要神化某一本書,參差多態乃幸福本源。不看演算法導論你也可以會演算法,你也可以會數據結構,你也可以進大廠。沒有演算法導論的時候也依然有研究演算法的科學家。你能通過他學會知識很好,但你覺得它晦澀,搞不懂,沒有c的代碼讓你學的不舒服,那就不看他。

人生中見書,書中見人生。讀書有時候不一定是為了學東西,可能更多的是一種享受。就像你沒學看過csapp之前,通過各種課程,學了零零碎碎的知識。忽然有一天你看了csapp,你覺得好過癮啊,好爽啊。你覺得你學習的第一天就看csapp能有這種效果嗎?

好書不會變少只會變多,更何況幫到你的也未必需要是好書。也許一本書只是很普通的書,不嚴謹,還都是大白話,但未必就幫不到你。

學東西莫要搞崇拜。很多程序員學習的時候都不是通過演算法導論這本書學的,可他們依然很傑出。

程序員來回答一下:

1.《演算法導論》這本書理論來說90%程序員也沒弄懂,所以你弄懂了就超過了90%。

2.其實程序員是一個大的行業,IT也是一個大的行業,門外人看著都是一群寫程序的,修電腦的,更有人認為是裝電腦系統的,你被別人交過去裝過系統嗎?

3.程序員架構上來說,嵌入式 協議棧 應用 網路 伺服器 工具 系統 等等等!

4.有一些行業是不需要看演算法導論的,更有一些轉行過來的,應該更不太了解演算法導論。

這本書在美國的大學被稱為clrs, 是標準的本科高年級和研究生入門的演算法課課本。優點是比較全面的講解了常用和基本的演算法,習題質量不錯。問題是動態規劃講的不好,篇幅原因一些近代的演算法沒有概括。總的來說是本不錯的演算法入門教科書。

演算法是計算機科學的核心。計算理論偏數學,編譯原理和操作系統偏硬體,真正計算機科學的核心就是演算法。無論做研究還是搞工程,都是必不可少的。

程序是給人看的,不是給機器。寫給機器的程序誰都可以寫出來,但不是每個程序員都能寫出別人看懂的東西

程序是什麼,程序就是數據結構和演算法,弄懂了超90%的程序員不是很正常嘛

看懂2%就超過了80%,沒必要看那麼多

因為這本書翻譯的很枯燥、也很理解,這種情況下你還理解了90%,說明你有耐心,有恆心,耐得住寂寞。我相信不只是做程序員,做其它行業也會很優秀。

㈡ 大一,計算機導論要怎麼復習來面對期末

給你一些思路:

1、章節復習,不管是那門學科都分為大的章節和小的課時,一般當講完一個章節的所有課時就會把整個章節串起來在系統的講一遍,作為復習,我們同樣可以這么做,因為既然是一個章節的知識,所有的課時之前一定有聯系,因此我們可以找出它們的共同之處,採用聯系記憶法把這些零碎的知識通過線串起來,更方便我們記憶。

2、輪番復習,雖然我們學習的科目不止一項,但是有些學生就喜歡單一的復習,例如語文不好,就一直在復習語文上下功夫,其他科目一概不問,其實這是個不好的習慣,當人在長時間重復的做某一件事的時候,難免會出現疲勞,進而產生倦怠,達不到預期的效果,因此我們做復習的時候不要單一復習一門科目,應該使它們輪番上陣,看語文看煩了,就換換數學,在煩了就換換英語,這樣可以把單調的復習變為一件有趣的事情,從而提高復習效果。

3、糾錯整理:考試的過程中難免會做錯題目,不管你是粗心或者就是不會,都要習慣性的把這些錯題收集起來,每個科目都建立一個獨立的錯題集,當我們進行考前復習的時候,它們是重點復習對象,因此你既然錯過一次,保不準會錯第二次,只有這樣你才不會在同樣的問題上再次失分。

4、思維導圖復習:思維導圖是一個偉大的發明,不僅在記憶上可以讓你大腦里的資料系統化、圖像化,還可以幫助你思維分析問題,統籌規劃。將知識用思維導圖畫出來進行整理記憶,可以很快分析出知識的脈絡和重點,並且記得牢固。

㈢ 計算機導論期末考試是開卷考嗎

計算機導論期末考試是開卷考。根據查詢相關公開信息顯示,計算機導論期末考試滿分為100分,考試時間為90分鍾,考試形式為開卷。

㈣ 大二課程變得很多應該怎麼對待,使得學習成績和ACM兩不誤呢

大二課程開始變多。
方法:
1,制定合理的學習計劃,分時段學習不同的科目。
2,ACM要在平時多下工夫,打好基礎。
3,學習成績是靠課程的考試,考試科目平時聽一下就好,重點放在考試時的突擊復習。
【補】
學習ACM入門的方法:
第一階段:先刷水題,水題,就是幾乎不牽扯演算法。需要自己想方法解決。這樣的題,一是鍛煉邏輯思維和思維的嚴謹,二是鍛煉代碼能力。一般做到200題左右。
第二階段:漸漸的學一些簡單的演算法。第二階段刷到400題。
第三階段: 在第二階段的基礎上繼續糾結演算法。 這時候可以看演算法導論了。學習數據結構。繼續刷題。刷到600左右。

㈤ 學半年C語言能學成什麼樣

學半年,恐怕剛入門的水平吧。
個人認為,學計算機語言關鍵在於實踐。在知識基礎相同的前提下,實踐經驗越多,應用中能夠解決的問題越多,編出的程序效率也越高。為了獲得實踐經驗,一是靠自己多練,多琢磨怎樣把程序簡化或者題目條件變成另一個樣子之後怎麼編程;另一大提高實踐經驗的途徑,個人認為是閱讀別人的程序。但是這就要求你閱讀的程序一定要是正確的,以免誤人子弟。閱讀別人的程序一定要讀懂,每句每字都讀懂,明白作者為什麼要這樣寫,這樣寫的好處(甚至壞處)是什麼。如果你要參加競賽,比如高中的oi(不過看你年齡應該是高中畢業左右吧)或者大學的acm,那麼還要學習大量的關於演算法、數據結構的知識,比較高等的數學知識也是必不可少的,之後進行大量的訓練,才能夠達到比較好的效果;如果你是准備以程序設計為專業,那麼還可以再問問學這個的人,畢竟我不是學計算機的,呵呵。
另外,書不在多,關鍵要讀,且要讀精。程序方面的書上也難免出錯,故切不可迷信,適當地帶著批判、挑剔的眼光去看書上的知識,遇到覺得有疑義的地方一定要打開電腦將程序實際運行一下求證。這樣才能基本保證你學到的知識的准確性。
再有,養成良好的編程習慣也是很重要的。有了良好的編程習慣,不僅可以使編程效率提高,還能夠讓程序的可讀性增強。不僅自己需要的時候翻看舊的程序還能看懂,而且能讓別人看自己的程序也能看懂。所謂編程習慣,我認為,主要包括書寫格式、變數命名規則等。形成了一套自己的書寫風格,能讓程序結構、層次看上去一目瞭然,方便自己和他人。
學習程序設計,持之以恆是十分關鍵的。我們當年准備信息競賽(oi)的時候,完成一個程序少則半小時,多則需要花去幾天的時間。程序設計的工作很多時候很復雜,需要有良好的耐心和細心。
參加信息競賽3年有餘,以上是一點自己的見解。分不重要,重要的是分享經驗,呵呵。
附註一句:C語言是當今大學里很多非計算機專業都要求的公共課,工作中用到的機會也有,學好這門課程是很有好處的。推薦我們的專業課教材,譚浩強《C程序設計》,清華大學版,綠色封面。這書好評比較多,個人認為還可以。
最後,祝願你學習C語言成功!

㈥ 誰有大一計算機導論期末考試試題

下列說法中正確的是( )。 a在買計算機時,當然買最高檔的 b頻繁開、關機對計算機的使用壽命並無影響c 為防止計算機感染病毒,應常用消毒液清洗計算機 d系統啟動軟盤應防寫,且一般在該盤中不要存放用戶程序及數據 D
下面預防計算機病毒的手段,錯誤的是( )。 a要經常地對硬碟上的文件進行備份 b凡不需要再寫入數據的磁碟都應有防寫c 將所有的.com和.exe文件賦以「只讀」屬性 d對磁碟進行清洗 D
計算機病毒通常分為引導型、復合型和( )。 外殼型 文件型 內碼型 操作系統型 B
最先開展的電子商務類型是( )。 企業對個人 企業對企業 企業對政府 個人對個人 A
人類社會最先開展的電子商務類型是( )。 B to C B to B B to G C to C A
人類社會最先開展電子商務零售活動的國家是在( )。 亞洲 歐洲 美洲 澳洲 B
公布世界上第一個Internet電子商務標準是在( )。 1998年 1999年 2000年 2001年 B
在電子商務分類中,C to C是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業與消費者間的電子商務 A
在電子商務分類中,B to G是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業對政府的電子商務 D
在電子商務分類中,G to G是( )。 政府與政府間的電子商務 企業間的電子商務 企業內部的電子商務 企業與消費者間的電子商務 A
在電子商務分類中,B to B是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業對政府的電子商務 B
在電子商務分類中,B to C是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業與消費者的電子商務 企業對政府的電子商務 C
在電子政務分類中,G to G是( )。 政府對政府的電子政務 企業間的電子政務 政府對企業的電子政務 政府對公民的電子政務 A
在電子政務分類中,G to B是( )。 企業對個人的電子政務 政府對企業的電子政務 企業對政府的電子政務 政府對公民的電子政務 B
在電子政務分類中,G to C是( )。 政府對政府的電子政務 企業間的電子政務 政府對公民的電子政務 企業對政府的電子商務 C
在電子政務分類中,B to G是( )。 政府對政府的電子政務 企業間的電子政務 政府對公民的電子政務 企業對政府的電子政務 D
我國電子政務的「三網一庫」是指機關內部辦公網、辦公義務資源網、( )及電子政務信息資源庫。 區域網 城域網 公共管理與服務網路 廣域網 C
ECP(Electronic Check Paper)是( )。 電子現金 信用卡 電子支票 電子錢包 C
Digital Purse是( )。 電子現金 數字錢包 電子支票 電子錢包 B
與傳統現金相比電子現金的優點是( )。 方便、成本低 管理控制技術復雜 已解決合理征稅問題 不可能被偽造 A
與傳統結算工具相比,電子結算的主要缺點是( )。 缺乏便利性 缺乏安全性 初期投入大、技術復雜 不能進行小額結算 C
電子數據交換的簡稱是( )。 EFT EDI NET EC B
下面哪項不屬於電子商務軟體功能( )。 商品目錄顯示 購物車 交易處理機制 WWW平台選擇 D
在線調查常見的方法是( )。 郵寄調查 電話調查 人員調查 電子郵件調查 D
下列有關數據的存儲結構的敘述中正確的是: 順序存儲方式只能用於存儲線性結構 順序存儲方式的優點是存儲密度大、且插入和刪除運算效率高 鏈表的每個結點中都恰好包含一個指針 棧和隊列的存儲方式既可是順序方式也可是鏈接方式 D
演算法的時間復雜度是指: 執行演算法程序所需要的時間 演算法程序的長度 演算法執行過程中所需要的基本運算次數 演算法執行過程中所需要的基本運算次數 C
演算法的空間復雜度是指: 演算法程序的長度 演算法程序中的指令條數 演算法程序所佔的存儲空間 演算法執行過程中所需要的存儲空間 D
下列敘述中正確的是: 線性表是線性結構 棧與隊列是非線性結構 線性鏈表是非線性結構 二叉樹是線性結構 A
數據的存儲結構是指: 數據所佔的存儲空間量 數據的邏輯結構在計算機中的表示 數據在計算機中的順序存儲方式 存儲在外存中的數據 B
下列關於隊列的敘述中正確的是: 在隊列中只能插入數據 在隊列中只能刪除數據 隊列是先進先出的線性表 隊列是先進後出的線性表 C
下列關於棧的敘述中正確的是: 棧是非線性結構 棧是一種樹狀結構 棧具有先進先出的特徵 棧具有後進先出的特徵 D
鏈表不具有的特點是: 可隨機訪問任一元素 插入和刪除不需要移動的元素 不必事先估計存儲空間 所需空間與線性表長度成正比 A
在深度為5的滿二叉樹中葉子結點的個數為: 32 31 16 15 C
對長度為n的線性表進行順序查找:在最壞情況下所需要的比較次數為: n+l n (n+1)/2 n/2 B
程序流程圖(PFD)中的箭頭代表的是: 數據流部 控制流 調用關系 組成關系 B
下面不屬於軟體工程3要素的是: 工具 過程 方法 環境 D
數據流圖用於抽象描述一個軟體的邏輯模型。數據流圖由一些特定的圖符構成。下列圖符名標示的圖符不屬於數據流圖合法圖符的是: 控制流 加CE 數據存儲 源和潭 A
軟體測試過程是軟體開發過程的逆過程其最基礎性的測試應是: 集成測試 單元測試 有效性測試 系統測試 B
在結構化方法中軟體功能分解屬於下列軟體開發中的階段是: 詳細設計 需求分析 總體設計 編程調試 C
軟體測試的目的是: 發現錯誤 演示元件功能 改善軟體的性能 挖掘軟體的潛能 A
軟體需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫需求規格說明書以及: 階段性報告 需求評審 總結 都不正確 B
軟體調試技術包括: 邊界值分析 演繹法 循環覆蓋 集成測試 B
軟體需求說明書是需求分析階段的最後成果。以下Ⅰ.數據描述、II.功能描述、Ⅲ.性能描述、Ⅳ.文件結構,哪些是其應包括的內容? I和II II和III II和IV I,Ⅱ和Ⅲ D
軟體測試方法中的靜態測試方法之一為: 計算機輔助靜態分析 黑盒法 路徑覆蓋 邊界值分析 A
在詳細設計階段經常採用的工具有: PAD SA SC DFD A
下列工具中需求分析常用的工具是: PAD PFD NS DFD D
在軟體生命周期中能准確地確定軟體系統必須做什麼和必須具備哪些功能的階段是: 概要設計 詳細設計 可行性分析 需求分析 D
需求分析階段的任務是確定: 軟體開發方法 軟體開發工具 軟體開發費 軟體系統的功能 D
檢查軟體產品是否符合需求定義的過程稱為: 確認測試 集成測試 驗證測試 驗收測試 A
軟體危機的主要表現有多個方面。例如:I�需求增長無法滿足II�生產成本過高Ⅲ�進度無法控制Ⅳ�需求定義不準確V�質量不易保證Ⅵ�難以滿足維護需要但比較而言。一般認為軟體危機產生的主要原因是: I和II I和III II和V I和Ⅵ D
軟體測試是保證軟體質量的重要手段其首要任務是: 保證軟體的正確性 改正軟體存在的錯誤 發現軟體的潛在錯誤 實現程序正確性證明 C
下面不屬於軟體設計原則的是: 抽象 模塊化 自底向上 信息隱蔽 C
在結構化方法的軟體需求定義中可採用分析工具來輔助完成。下列工具中哪些是常用的工具?。 I數據流圖 II結構圖 Ⅲ數據字典 Ⅳ判定表I和IIII、Ⅱ和IIII、Ⅱ和IVI、Ⅲ和Ⅳ A
結構化程序設計主要強調的是: 程序的規模 程序的易讀性 程序的執行效率 程序的可移植性 B
對建立良好的程序設計風格下面描述正確的是: 程序應簡單、清晰、可讀性好 符號名的命名只要符合語法 充分考慮程序的執行效率 程序的注釋可有可無 A
在面向對象方法中一個對象請求另一個對象為其服務的方式是通過發送: 調用語句 命令 口令 消息 D
信息隱蔽的概念與下述哪一種概念直接相關? 軟體結構定義 模塊獨立性 模塊類型劃分 模塊耦合度 B
下面對對象概念描述錯誤的是: 任何對象都必須有繼承性 對象是屬性和方法的封裝體 對象間的通信靠消息傳遞 操作是對象的動態屬性 A
資料庫管理系統是( )。 應用軟體 系統軟體 教學軟體 工具軟體 B
資料庫系統的組成要素不包括( )。 硬體平台 用戶 網路 資料庫管理員 C
"在下列關系中,( )是一對多的關系。
" 董事長和員工 醫生和患者 產品和生產廠家 任課教師和學生 A
在對關系的描述中,( )是錯誤的。 一個關系表通常是同一個主題的數據集合 關系表採用主鍵來唯一標識元組 一個關系表可以有多個主鍵 關系是二維表 C
對關系資料庫的檢索操作可由三種基本關系運算組合而成,這三種基本關系運算不包括( )。 連接 "比較
" 選擇 投影 B
"下列不屬於Access資料庫對象的是( )。
" 表 窗體 向導 查詢 C
"下列不是關系種類的是( )。
" 多對一 一對一 一對多 多對多 A
"屬於Access可以導入或鏈接數據源的是( )。
" Excel Access FoxPro 以上皆是 D
"下述關於資料庫系統的敘述中正確的是( )。

" 資料庫系統避免了一切冗餘 資料庫系統減少了數據冗餘 資料庫系統中數據的一致性是指數據類型一致 資料庫系統比文件系統能管理更多的數據 B
三級模式間存在二級映射,它們是( )。 概念模式與外模式間,概念模式與內模式間 子模式與內模式間,外模式與內模式間 子模式與外模式間,概念模式與內模式間 概念模式與內模式間,外模式與內模式間 A
關系資料庫管理系統能實現的專門關系運算包括( )。 關聯、更新、排序 排序、索引、統計 選擇、投影、連接 顯示、列印、製表 C
用樹型結構來表示實體之間聯系的模型是( )。 數據模型 網狀模型 層次模型 關系模型 C
在關系資料庫中,用來表示實體之間聯系的是( )。 二維表 線性表 樹結構 網結構 A
將E-R圖轉換到關系模式時,實體和聯系都可以表示為( )。 關系 屬性 鍵 域 A
下列4個選項中,可以直接用於表示概念模型的是( )。 層次模型 實體-聯系(E-R)模型 關系模型 網狀模型 B
資料庫的三級結構分別被定義為( )。 子模式、模式和概念模式 外模式、子模式和存儲模式 模式、概念模式和物理模式 外模式、概念模式和內模式 D
"公司中有多個部門和多名職員,每個職員只能屬於一個部門,一個部門可以有多名職員,從職員到部門的聯系類型是( )。
" 一對一 多對多 一對多 多對一 C
下列4個選項中,說法不正確的是( )。 資料庫具有較高的數據獨立性 資料庫中的數據可以共享 資料庫避免了一切數據的重復 資料庫減少了數據冗餘 C
"在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和資料庫系統階段。其中數據獨立性最高的階段是( )。
" 人工管理 文件系統 數據項管理 資料庫系統 D
"從關系中挑選出指定的屬性組成新關系的運算稱為( )。
" 投影運算 選取運算 聯接運算 交運算 A
"資料庫系統的核心是( )。
" 軟體工具 資料庫管理系統 資料庫 數據模型 B
把E-R模型轉換成關系模型的過程,屬於資料庫的( )。 需求分析 概念設計 邏輯設計 物理設計 C
關系表中的每一橫行稱為一個( )。 欄位 元組或記錄 碼 屬性 B
"資料庫系統的體系結構是( )。
" 三級模式結構和二級映射 二級模式結構和一級映射 三級模式結構和三級映射 三級模式結構和一級映射 A
資料庫中存儲的是( )。 數據之間的聯系 數據 數據以及數據之間的聯系 數據模型 C
"反映現實世界中的實體及實體間聯系的信息模型是( )。
" 關系模型 層次模型 E-R模型 網狀模型 C
數據獨立性是資料庫技術的重要特點之一。所謂數據獨立性是指( )。 數據與程序獨立存放 不同的數據被存放在不同的文件中 不同的數據只能被對應的應用程序所使用 以上三種說法都不對 D
數據模型按不同的應用層次分為三種類型,它們是( )數據模型、邏輯數據模型和物理數據模型。 概念 關系 用戶 層次 A
資料庫設計分為以下6個階段:需求分析階段、( )、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。 系統設計階段 "概念設計階段 " 總體設計階段 模塊設計階段 B
關系模型的完整性規則是對關系的某種約束條件,包括實體完整性、( )和自定義完整性。 域完整性 關聯完整性 參照完整性 用戶完整性 C
資料庫管理系統常見的數據模型有層次模型、網狀模型和( )三種。 邏輯模型 關系模型 樹狀模型 物理模型 B
如果一個工人可管理多個設施,而一個設施只被一個工人管理,則實體"工人"與實體"設施"之間存在( )聯系。 網狀 多對多 一對多 一對一 C
下列模式中,能夠給出資料庫物理存儲結構與物理存取方法的是( )。 外模式 內模式 概念模式 邏輯模式 B
關系模型的數據操縱即是建立在關繫上的數據操縱,一般有( )、增加、刪除和修改四種操作。 連接 投影 選擇 查詢 D
在關系資料庫中,把數據表示成二維表,每一個二維表稱為( )。 關系 實體 元組 對象 A
資料庫保護分為:安全性控制、( )、並發性控制和數據的恢復。 密碼控制 訪問控制 完整性控制 正確性控制 C
下列敘述中正確的是( )。 資料庫系統中,數據的物理結構必須與邏輯結構一致 資料庫技術的根本目標是要解決數據共享的問題 資料庫設計是指設計資料庫管理系統 資料庫是一個獨立的系統,不需要操作系統的支持 B
"下列有關資料庫的描述,正確的是( )。
" 資料庫是一組文件 資料庫是一個結構化的數據集合 資料庫是一個關系 資料庫是一個DBF文件 B
資料庫設計包括兩個方面的設計內容,它們是( )。 概念設計和邏輯設計 模式設計和內模式設計 內模式設計和物理設計 結構特性設計和行為特性設計 D
單個用戶使用的數據視圖的描述稱為( ) 內模式 外模式 存儲模式 概念模式 B
"在資料庫管理技術發展過程中,文件系統與資料庫系統的主要區別是資料庫系統具有( )。
A. B.
C. D.
" 數據無冗餘 專門的數據管理軟體 數據可共享 特定的數據模型 D
"SQL語言又稱為( )。
" 結構化控制語言 結構化操縱語言 結構化定義語言 結構化查詢語言 D
索引屬於( )。 概念模式 外模式 模式 內模式 B

㈦ 你會如何設計大學計算機課程

題主的問題,計算機專業所學知識與工作脫節,最根本的原因在講課的老師與工業界脫節。高校的老師大概分兩種:
(1)做科研發論文的。學術與工業界的思維方式和技能樹都是不一樣的。
(2)做工程的,所謂「橫向項目」。這種甲方定做軟體的模式,更傾向傳統軟體工程,與互聯網公司的文化與開發模式也有很多不同。


如果高校希望培養高端程序員,必然需要有業界經驗的老師,可這樣的老師上哪裡找呢?有經驗、懂技術的,要麼去做「架構師」、技術顧問,要麼創業成為高富帥,分分鍾改變世界去了,誰願意在學校從講師熬到副教授、教授,還得向國內學術界的種種歪風怪氣低頭哈腰?


不過好在互聯網發展了,計算機的很多專業課程又適合在線學習。某個高校的一個老師能把某門課講好,各個高校的學生都可以去聽這門課。國內幾個最好的高校可以建立自己的 MOOC 平台,把一部分優秀課程採用 MOOC 方式教學(目前一些大學早已把優秀課程的錄像和課件公開在網上,不過這種方式對在線學習並不友好),並實現校際學分互相承認(沒有學分的 MOOC 只能作為興趣愛好,還與學校的課程存在時間沖突,很難推廣)。


學生抱怨老師講得不好,其實教務處和老師也有自己的苦衷。


(1)學校由於缺少某個研究領域而很難開設相應方向的課程,是再平常不過的事情了。比如科大的數理邏輯年年都是陳小平教授講,其他很多學校就沒有能講好一階邏輯的老師;清華叉院的理論計算機課程也是頗具特色,科大也不容易開出對應課程。如果這些課程能夠變成 MOOC,則所有高校的學生都可以聽到最好的課、學到相應的知識。


(2)有些老師只希望靜靜地搞學術、發論文,並不想站上講台,但學校常常要求一定級別的老師必須上課(不然就只能當研究員,評不上教授),而評職稱主要是看科研成果,教學質量是不怎麼看的。因此一些老師是被 「趕鴨子上架」,並不想好好教課。此外,即使是真心教課的老師,也存在表達能力、授課經驗等方面的差異,學術水平高的老師未必能把課教好。如果有公開的 MOOC 平台,學生自然會向好老師集中。通過收取認證證書費的方式,上課的學生越多,老師獲得的提成也就越多(就像市面上的各種培訓機構)。混日子的老師也會被自然淘汰。


回到題主所問的課程設置上,我覺得數理基礎課還是傳統方式授課,而計算機專業課可以使用網路授課。


採用傳統方式授課:
數學課(必修):微積分,線性代數,具體數學,概率論與數理統計
數學課(選修):圖論,隨機過程,復變函數,高等代數,數理邏輯,計算理論基礎 工程基礎課(必修):數字電路、信號與系統
工程基礎課(選修):模擬電路、數字信號處理、通信技術、工程制圖
物理、化學等課程(選修)
通識教育:微觀經濟學等


計算機專業課採用 MOOC 方式授課:
計算機專業課程一律不點名,不交紙質作業。平時作業全部在線完成,由計算機評分(當然,要做好防作弊機制)。
成績主要由平時作業和期末 project 構成。期末考試占成績比例不超過 30%,開卷並允許使用計算機和網路(但必須獨立完成)。期末 project 要在 GitHub 上做,每人要做報告公開展示,成績由老師評分和同學互評結合。


計算機必修課:
編程語言基礎(Python)
計算機系統概論(CSAPP)
演算法與數據結構(演算法導論,可以講兩學期)
操作系統(Understanding the Linux Kernel)
編譯原理(龍書 + clang)
計算機體系結構
計算機網路
資料庫(關系資料庫與 SQL、NoSQL)
數據挖掘與機器學習


計算機選修課(可以有很多,僅舉幾例):
程序設計語言原理(SICP,Haskell)
並發程序設計(Go,Scala,Erlang)
分布式系統
Web 開發技術(RoR 或 node)
計算機圖形學
深度學習與大數據
搜索演算法與人工智慧
匯編語言
密碼學
網路安全
……(如果高校課程通過網路共享,這張列表將很長,學生也能選到自己真正喜歡的課程)


計算機文化與實踐:(感覺國內高校大多缺少這類課程)
IT 行業發展史(參考《浪潮之巔》)
計算機研究前沿(請各研究領域大牛來科普自己的領域)
交互設計與用戶體驗
軟體工程與創業實踐(團隊設計製作並公開發布產品,軟體工程課決不能做沒人用的「產品」)


這些計算機專業課的名字似乎並不陌生,國內國外的計算機專業不外乎這些課,所以我也不必把培養計劃謄抄一遍。但名字相同的課程,授課內容和授課質量可以是千差萬別。同樣一個計算機網路,差的課程可以讓學生背誦各種協議和名詞,「在講 IP 頭的那節課睡著,在講 TCP 頭的那節課醒來」;好的課程可以讓學生理解網路通信中的挑戰與 trade-off,進而學會自己設計安全可靠的網路協議。


只有把各個高校的課程都放上網,我們才能知道自己家的某些課程有多爛,別人家的某些課程有多好,才會形成自然選擇壓力,推動高校計算機課程質量的提高。

㈧ 判別分析方法、聚類分析方法、HMM方法簡介

三個學分的通選課,A類
曾經作為力學系的限選課開出.
歡迎大二以上有數理基礎的同學選修.

《生物信息學演算法導論》課程介紹
課程英文名:Introction to Computational Biology
課程號:00331440
開課單位:力學系、理論生物學中心
開課教師:朱懷球
上課時間:每周四晚
上課地點:理教201
選課地點、時間:三教103,9月5日星期五上午8:00~12:00

一、課程設置目的及主要內容
隨著人類基因組計劃的不斷推進,運用理論模型和數值計算研究生命科學,已經成為一門 最吸引人的新興學科,是當今生命科學和自然科學的核心領域和最具活力的前沿領域之一 。生物信息學/計算生物學以現代分子生物學數據作為主要研究對象,發展理論模型和計算方法,揭示以基因組信息結構為主的生物復性,以及生長、發育、遺傳、進化等生命 現象的根本規律。本課程主要為具有數理背景的大學二年級以上本科生(含大二)和相關領域的研究生開設,偏重理論建模和演算法的學習。首先介紹當代生命科學的發展和現狀, 然後介紹計算生物學中幾種主要的研究方法,包括統計學方法、Markov過程模型、資訊理論方法、機器學習方法等,並結合當今生物信息學領域的最新進展,討論上述各種方法實際研究中的應用(包括基因序列信息分析、基因預測、分子進化及系統發育樹和蛋白質調控網路等重要問題)。 本課程注重學科交叉、融合,以介紹思想、方法為主,深入淺出,避免繁瑣、抽象的數學形式,啟發學生綜合運用數學、物理、工程科學和計算機知識的能力,拓寬知識面,了解學科前沿和最新進展,培養跨越生命科學、計算科學、數理科學等不同領域的「大科學」素質和意識,為今後選擇新興交叉學科領域進行深造奠定基礎。

二、課程大綱

第1章 緒論 (1學時)
從人類基因組計劃說起
計算生物學——後基因組時代的呼喚
計算生物學主要研究內容和方法
以生命科學為核心的「大科學」

第2章 生物學基礎 (5學時)
What is life?——從薛定鍔的思考到「雙螺旋」的發現
生命的演化和分類
生命的分子組成
遺傳的分子基礎
基因組與基因結構

第3章 生物信息資料庫和計算生物學主要問題 (3學時)
生物信息資料庫簡介
計算生物學主要問題之一:序列比對
計算生物學主要問題之二:核酸和蛋白質結構與功能預測
計算生物學主要問題之三:基因組序列分析
計算生物學主要問題之四:功能基因組相關信息分析

第4章 計算生物學的統計學方法 (10學時)
統計方法的基本概念
回歸分析方法及其應用
判別分析方法及其應用
聚類分析方法及其應用

第5章 計算生物學的Markov過程模型 (6學時)
Markov過程的基本概念
隱Markov模型(HMM)的基本原理
HMM模型的計算生物學應用

第6章 生物學的資訊理論基礎 (6學時)
信源與信息熵
離散信道與平均互信息
編碼理論簡介
生物遺傳信息的傳遞

第7章 遺傳演算法和人工神經網路方法簡介 (8學時)
遺傳演算法的基本原理和方法
遺傳演算法與人工生命模型
人工神經網路的基本概念
人工神經網路的模式識別演算法

第8章 生物信息學/計算生物學的若乾重要問題 (6學時)
基因預測演算法和軟體
分子進化與系統發育
基因調控網路

三、本課程考試方式

在老師指導下,結合所講內容進行學科調研,要求同學在期中、期末分別完成兩次調研論 文,論文題目不限。

㈨ 大家玩C遇到那種喜歡又來走去吸人的pf和C怎麼防

題記:本來題目想叫做「從C到無窮大」,太晦澀了。後來又想用「C、D、E、F……」,太不知所雲了。於是,用了這個題目,它的縮寫恰好就是CDEF。不管用什麼樣的題目,我所想表達的都一個意思,那就是C語言課程結束以後,我們該干什麼。我們都學過很多課程,每門課程都有大綱,有教材。嚴格按照大綱學習,把教材爛熟於胸,這是一貫的學習策略,並靠此斬落考試無數,一路殺入大學。如果你學習C語言的目的僅僅是為了期末考試,至多再加上一個「二級」,那麼請不要再繼續閱讀本文,因為後面的文字只會給你帶來負面作用。一門真正的大學課程的學習應該是永無止境的,沒有任何機構可以給它劃個框框說哪些該學哪些不用學,也不會有任何教材能解答你未來會遇到的所有疑問。本文僅希望幫助那些熱愛編程,並把編程當作未來旅程中不可缺少的元素的同學。幫助大家把C作為一個起點,去開拓無盡的未來。怎樣學會CC是永遠學不會的!僅從語法上說,C可能是所有高級語言中最簡單的,最常用的關鍵字不會超過30個,語法規則也不復雜,沒有需要死記硬背的「習慣用法」。如果C語言就像英語一樣只是單詞、語法,那麼課程結束後所有人都可以說學會C了。每種自然語言都能用簡單的文字與語法來描述復雜的大觀世界,但並不是每個人都可以像愛因斯坦、霍金、馬克思、李白、金庸等等那樣用語言表達出令人景仰的內容。即便與你身邊的人相比較,同樣說漢語的你們也很難對同一個事物說出完全一樣的觀點。C語言亦然。它是一個語言工具,通過這個工具,我們表達我們對世界的理解,或者具體說,對程序的看法。眼界與思維直接影響著我們寫下代碼的漂亮程度。如果以總能寫下漂亮代碼作為學會C語言的判斷標準的話,那麼因為眼界與思維的鍛煉是無止境的,所以C是永遠學不會的,就像我們都還沒有真正學會漢語一樣。既然C有那麼多可學的內容,那麼我們該學什麼呢?學C學什麼學C的目的並不在於要學會C,否則就太狹隘了。我們要利用學習C的機會,拓展自己的眼界與思維,鍛煉能力,成為世界(包括計算機世界、編程世界)的主宰,而不是C語言的奴隸。第一學學習「學習」是一個主動創造的過程而非被動接受。真正的學習需要主動去尋求廣泛的知識,跟蹤最新進展,綜合思考判斷各方觀點,動手實踐檢驗,進而形成自己的觀點,再將其傳播出去。C語言的學習也符合這個規律。經典書籍要讀,手冊和在線文檔要經常查,Internet更是提供了接觸最新知識的機會。這里推薦兩個網站:網頁鏈接和網頁鏈接(註:站長另謀新歡,此站已關)。後者是一名哈工大的學生在大四時創的,以鑽研深層技術為目標,被一位微軟的員工評論為「牛人處處有,PureC特別多」。但真正能把全世界的牛人集中在一起的地方是Newsgroup:news://comp.lang.c。如果你不知道Newsgroup是什麼,就馬上去搜索引擎找答案吧(網頁鏈接是一個適合新手的Newsgroup入口)。搜索引擎是最重要的知識來源,首推google.com。可惜工大校園內的機房基本都不能出國訪問,所以.com也勉為其難地不得不用一下,盡管它搜出信息的可用性和可信性都差一些。在此特別說明一下,英文閱讀能力十分重要,別迴避英文信息,因為總會有你不能迴避的那一天。硬著頭皮沖上去,很快你就會發現讀英文比讀中文快樂很多。如果對學到的知識一概接受,那就無趣了。當閱讀范圍擴張,會發現即便是權威的觀點也會有很多矛盾,也會看到總有所謂「真理」被推翻。所以,帶著「懷疑」的態度去閱讀,可能更有利於習慣背書的中國學生開拓思維。C語言中就有很多歷史懸案,喋喋不休地爭論至今沒有結果,比如縮進該用空格還是Tab,「{」是否該單列一行……。一定要有自己的觀點,「盡信書不如無書」嗎。學編程,上機的重要性遠遠大於看書。親自動手編程序的學習效果比干啃書本要好上0xFFFFFFFF倍。上機不要就是敲書上的例子,那隻能鍛煉出打字員。干點兒有挑戰性的事情,比如編個小游戲,做個惡作劇程序,更可以考慮開發共享軟體。如果你感到無從著手,那就下載別人的源代碼看。同時,千萬不要把自己陷到TC2裡面,把路子走得寬一些,VC、gcc、Dev-C++、Eclipse……,廣闊天地,精彩無限。第二學計算機除了C++,再很難找到別的高級語言像C這樣與計算機如此接近。只有懂得了C語言與計算機的內在原理,才可能輕松、快樂地駕馭C。課堂教學能教會你類型、選擇、循環、輸入輸出等,我喜歡稱他們為C語言的「毛尖」,也就是連「皮毛」都沒接觸到。當每寫下一行代碼,不僅能想像到它的執行效果,更能熟知它將給CPU、內存和各種計算機設備帶來什麼時,那種感覺是非常奇妙且令人激動的。這種情況下,你才能感覺到你真正地是在駕馭C,用C來做一切你想做的事情,而不是在C的束縛下蹩手蹩腳地應付各種莫名其妙的問題。為了找到這種感覺,就不要滿足於課堂與一本教材,更不要迷信非專業人士捧出的經典。現在我們有如此好的機會可以接觸眾多的世界級大師、小師的著作,那麼就應該抓住機會去直接與它們對話。下面介紹一些適合於入門的頂級教材。[Deitel94]已經出了第四版,不過國內只能買到第二版,它是一本可以把你引上程序設計的正路的書。[Prata04]的作者寫了一系列「Primer」書,本本經典,數次升級,內容充實。[Kelley97]也是一本經典教材,它的最大好處是沒有中文版,可以強迫你用英語去思考。[Roberts94]非常另類,作者是斯坦福大學的計算機系的資深教授,著名的學院派計算機教育專家。它的書教的是編程,而不是C語言(scanf()在539頁第一次出現),所以如果你想學習上乘的編程技術,這本書是非常好的入門讀物,但如果想學精深的C語言,它就幫不上忙了。[Harbison02]是「大全」型的,可能是唯一一個為了隨時翻閱而值得收藏的書,所以它不是一個入門書,但當作初學者的輔助參考書非常的不錯。課程結束以後,首先要撕爛教材(沒錯,就是作者里有我名字的那本。撕爛了扔掉,總比讓我頻頻在舊書市看到它更好過一些),然後馬上去拜讀[Kernighan88]。這本由C語言的設計者所著的書用極其簡練卻精確的文字描述著C,每次捧卷都能讓人對C語言的理解更提高一層。如果想獲得絕對精確的信息,除了看[C99]別無選擇,雖然C99很難看。進而可以閱讀[Kernighan99]和[Linden94]來提高自己的實際編程能力、擴大見識。前者偏重於技巧與數據結構,後者偏重於經驗與原理,尤其是後者還能讓你發現原來編程是天底下最有趣的事情。當隨著編程量的增加,你犯的錯誤也越來越多的時候,找來[Maguire93],成為bug終結者。如果通過學習C語言你對計算機的深層原理產生了濃厚的興趣,那麼就看[Bryant02]吧。此外還有一本專門「貶」C語言的書——[Koenig89],也值得一看。這些書的作者兢兢業業地完成本職工作之餘,還把很多相關但不在本書論述范圍的內容以參考文獻的形式推薦給讀者。從參考文獻出發,你可以發現值得品味的。國人原創的技術書籍雖然不比老外經典,但也有其價值,間或冒個精品。這里推薦一本[林銳03],它論厚重自然不比大師的書,但頗有特點,挺無厘頭的,一些即興的感慨也給編程添加了點點人情味。第三學數學我學生階段最大的憾事就是在本科時不僅沒認識到數學的重要性,還對它產生了極其錯誤的看法,以至於今天一見到數學好的人就景仰得不敢抬頭,自慚形穢。當初未遇名師指點,落此下場也算生不逢時。今以我的慘痛遭遇告誡大家,數學真的是網路之母,必須用精力好好孝敬。想體會數學的奇妙及現實、數學與C語言的完美結合,就到網頁鏈接去在線做題吧。數學在程序設計中被具體化為演算法與數據結構,關於它們的書我讀的不多,下面的介紹的是參考別人的評論而不是我個人的觀點。數據結構比較簡單,也應該先學習,建議看[Weiss96],然後過渡到演算法。演算法領域里就林林總總彩旗飄飄了,[Cormen01]可能是一個很合適的入口,它幫你總覽演算法,尋找自己感興趣的領域再繼續找別的書籍深入下去。演算法領域里最重要的書是[Knuth98],非常經典,也非常大部頭的三卷本,也非常貴,任何一個能讀完哪怕其中一卷的人都足以令人景仰。我現在還只能把它們供奉到書架上。C以後學什麼?雖然C永遠學不完,但絕不能抱C守缺。事實上,前面所述的很多內容已經不是C語言的范疇了,它們應該屬於用計算機解決實際問題的技術。那麼回到語言本身,C可能是大多數同學學習的第一種計算機語言,但它不應該是最後一種。計算機這個人類發明的最偉大的工具是每個人都無法迴避的,隨身帶幾種計算機語言,是瀟灑走天下的一個有力保證。誠然說,考試過後還能再用上C的人是少數,但能不再編程的人在工科院校里還是很珍稀的。C語言強大,號稱無所不能,可它並不是解決所有問題的最佳選擇。沒有任何一種語言可以包打天下,它們都有自己擅長的領域和不擅長的方向。我們必須要針對自己的領域特色選擇一種或幾種最適合的語言來自學,同時也不需擔心學習C語言的歷程會白費,因為語言之間的「形」雖然不同,但「神」都是相通的。本文第二部分里建議大家學習的內容里很多就是這「神」的一部分。能夠超脫語言去思考程序設計的問題,才是真正的領會了編程的要旨。能把自己的思想用語言行雲流水地表達出來,才是真正的編程高手。參考文獻註:括弧內的書名是英文原名。斜體字的「中」表示有中文版,「英」表示有英文影印版,「E」表示有英文電子版,「電」表示有中文電子版(不包括超星格式),有刪除線的表示該版本已絕版。請不要向我要索要電子版,並且大部分電子版屬於盜版,慎重下載。同時因為世界總在變化,我不能保證你讀到此文時這些信息依然有效。[Deitel94]H.M.Deitel,《C程序設計教程(CHowtoProgram)》第二版,中。書中錯誤不少,不知道是原版的問題還是翻譯的問題,但至少翻譯版的排版一團糟,有點糟蹋好書了。[Prata04]StephenPrata,《CPrimerPlus(CPrimerPlus)》第五版,中E。「Primer」的名頭太大了,以至於中文版乾脆不翻譯書名了。[Kelley97]AlKelley、IraPohl,《C語言教程(ABookonC:ProgramminginC)》,英。[Roberts94]EricS.Roberts,《C語言的科學與藝術(TheArtandScienceofC:)》,中英。雖然另類,但有很多創新值得回味。我正在學習他把圖形庫引入C語言教學的方法。[Harbison02]Harbison、Steele,《C語言參考手冊(C:AReferenceManual)》第五版,英。其實,這本書是有中文版的,但為了您的健康,還是忘掉他吧,阿門……[Kernighan88]Kernighan、Ritchie,《C程序設計語言(TheCProgrammingLanguage)》第二版,中英E。這本書被簡稱為「K&R2」,並被尊稱為C語言的「聖經」。Ritchie就是C語言的爸爸。[C99]ISO/IEC9899:1999,C標准1999年版,E。被簡稱為C99。可以這樣描述它:「1.C99永遠是對的;2.如果C99錯了,請參看第一條。」可笑的是,我們的國家計算機等級考試二級考試的很多題目都是違背C99的。相信Ritchie來考二級也會被郁悶住。[Kernighan99]Kernighan、Pike,《程序設計實踐(ThePracticeofProgramming)》,中英電。中英文對照閱讀,又學知識又練英語。[Linden94]PetervanderLinden,《C專家編程(ExpertCProgramming)》,中E。這是一本行文非常幽默的書(可惜譯文版把很多幽默都搞丟了,這也是沒法的事情),因為書面上印著一條腔棘魚,所以它在業界被戲稱為「魚書」。[Maguire93]SteveMaguire,《編程精粹─Microsoft編寫優質無錯C程序秘訣(WritingSolidCode:Microsoft'sTechniquesforDevelopingBug-FreeCPrograms)》,E電。網上很多地方傳播的電子版寫的名字是《WriteCleanCode》,這里替Maguire澄清一下。[Bryant02]Bryant、O』Hallaron,《深入理解計算機系統(ComputerSystems:AProgrammer』sPerspective)》,中英E。我一定要說,這本書的中譯本是為數不多的翻譯精品。[Koenig89]AndrewKoenig,《C陷阱與缺陷(CTrapsandPitfalls)》,中E電。因為年代久遠,書中有些觀點已經不合時宜,正好用來練習邊讀邊批判。[林銳03]林銳、韓永泉,《高質量程序設計指南——C++/C語言》第二版,中電。我覺得這本書錯誤觀點很多很多,正確的也很多很多,歡迎發表你的看法。[Weiss96]MarkAllenWeiss,《數據結構與演算法分析——C語言描述()》第二版,中。[Cormen01]Cormen、Leiserson、Rivest、Stein,《演算法導論(IntroctiontoAlgorithms)》第二版,英E。[Knuth98]DonaldKnuth,《計算機程序設計藝術(TheArtofComputerProgramming)》I、II、III卷,中英。凡發現書中錯誤的第一個讀者都將得到作者親筆簽發的2.56美元的支票。Knuth退隱後閑賦在家,江湖風傳第IV卷馬上出版,他正在寫第V卷(計劃一共寫VII卷)。但願你不要讓Knuth的寫作速度大於你的閱讀速度。

熱點內容
手機存儲卡不能寫入 發布:2025-08-02 14:01:11 瀏覽:26
weblogiclinux安裝 發布:2025-08-02 13:59:41 瀏覽:568
vivo手機為什麼不能設置鎖屏密碼 發布:2025-08-02 13:52:05 瀏覽:645
php二進制加密 發布:2025-08-02 13:51:04 瀏覽:282
水強行壓縮 發布:2025-08-02 13:37:23 瀏覽:989
nginx內網訪問 發布:2025-08-02 13:35:06 瀏覽:31
如何用解壓密碼解壓手機文件 發布:2025-08-02 13:32:56 瀏覽:217
lex製作編譯器 發布:2025-08-02 13:31:52 瀏覽:6
php把數組寫入文件 發布:2025-08-02 13:25:51 瀏覽:281
網頁升級訪問狼 發布:2025-08-02 13:20:37 瀏覽:753