基本介紹
- 中文名:計算概論與程式設計基礎
- 類別:慕課、國家精品課程
- 開課時間:2018年3月12日(首次)
- 授課教師:李戈
- 授課平台:中國大學MOOC
- 提供院校:北京大學
課程性質
課程定位
適應專業
開課信息
開課次數 | 開課時間 | 學時安排 | 參與人數 |
---|---|---|---|
第1次開課 | 2018年03月12日~2018年07月31日 | 3—5小時每周 | 16358 |
第2次開課 | 2018年12月01日~2019年03月30日 | 12362 | |
第3次開課 | 2020年03月09日~2020年06月25日 | 6350 | |
表格內容參考資料 |
課程簡介
課程大綱
計算機的基本原理 | 整數型的類別 | 數組做函式參數 |
從數學危機到圖靈機 | 整數型的存儲 | 函式套用示例 |
圖靈機的基本構成 | 整數的輸入輸出 | 編程練習:函式與字元串練習 |
圖靈機的運行機理 | 最大與最小整數 | 函式的遞歸 |
數的二進制表示 | 浮點型 | 如何理解遞歸 |
二進制數的布爾運算 | 字元型 | 遞歸調用的過程 |
計算機的歷史與未來 | 布爾型 | 遞歸套用示例(切餅,斐波那契數列) |
歷史上的計算設備 | 常數 | 遞歸套用示例(進制轉換,漢諾塔) |
從電子管到雲計算 | 變數命名 | 遞歸套用示例(放蘋果)【較難選聽】 |
摩爾定律下的計算危機 | 編程作業:數據成分基礎練習 | 遞歸套用示例(逆波蘭表達式)【較難選聽】 |
量子計算機的基本原理 | C語言中的運算成分 | 習題課一枚舉模擬與遞歸 |
量子計算機的發展狀態 | 說在前面的話 | 編程練習:遞歸編程練習(1/2) |
程式運行的基本原理 | 賦值運算 | 指針— |
問題的提出 | 賦值運算的說明 | 什麼是指針 |
馮諾依曼式計算機 | 算術運算 | 什麼是指針變數 |
存儲器的種類與特點 | 自增自減運算 | 指針變數示例 |
存儲器的原理與類型 | 關係運算 | 指針變數的++--- |
CPU指令的執行 | 邏輯運算與混合運算 | 數組與指針 |
程式的執行 | 逗號,條件,強制類型轉換 | 用指針訪問數組 |
感性認識電腦程式 | 位運算 | 習題課二較難選聽 |
說在前面的話 | 編程作業:運算成分基礎練習 | 編程練習:遞歸編程練習(2/2) |
程式是你告訴計算機的話 | C語言中的控制成分 | 指針二 |
如果你的大腦是台計算機 | 再談分支語句 | 字元串與指針 |
如果你來設計一門程式語言 | 再談循環語句 | 再談指向一維數組的指針 |
快步走近C程式之一 | Goto之爭 | 指向二維數組的指針 |
快步走近C程式之二 | 編程練習:控制成分基礎練習 | 二維數組名引用示例 |
快步走近C程式之三 | C程式中的數組 | 利用指針遍歷二維數組 |
什麼樣的程式是好程式 | 再談一維數組 | 編程作業:指針使用練習 |
配置編程環境(補充資料)下載安裝和使用IDE | 二維數組 | 指針三 |
配置編程環境(補充資料)使用IDE進行調試 | 三維數組 | 指針做函式參數 |
編程作業:編程基礎練習(1/2) | 數組的作用之一 | 限制指針函式實參的功能 |
從現實問題到電腦程式的 | 數組的作用之二 | 指針做函式返回值 |
沒有解決方案就沒有程式 | 編程作業:數組套用練習 | 靜態局部變數 |
先有構想再寫程式 | C程式中的字元串 | 編程練習:綜合練習題 |
先有構想再寫程式--示例 | 字元數組與字元串 | 結構體與鍊表 |
體驗結構化的程式--示例 | 輸入緩衝區 | 結構體與結構體變數 |
編程作業:編程基礎練習(2/2) | 一個字元的輸入 | 結構體變數與函式 |
理性認識C程式導論 | 一串字元的輸入 | 結構體變數與指針 |
明確學習進度 | 字元串套用例題 | 鍊表的定義 |
C語言的由來 | 編程作業:字元串套用練習 | 鍊表的操作 |
C語言的標準 | C程式中的函式 | 編程練習:結構體與鍊表的使用 |
C語言的構成 | 函式的定義與聲明 | 最後一次課 |
C語言中的數據成分 | 函式的調用過程 | 結語;輕叩面向對象之門 |
再談學習進度與安排 | 函式調用示例 | 編程工具的安裝和使用:下載、安裝和使用IDE |
變數定義的含義 | 變數的作用域 | 說明編程工具的安裝和使用:使用IDE進行調試 |
(註:表格內容參考資料) |
課前預備
書名 | 作者 | ISBN | 出版時間 | 出版社 |
---|---|---|---|---|
《程式設計基礎(第2版)》 | 吳文虎 | 9787302094111 | 2004年9月 | |
《Computer Systems: A Programmer's Perspective 》 | (美)Randal Bryant, David O'Hallaron | 9781292101767 | 2002年 | Prentice Hall |
《C++ Programming Today (2 edition)》 | (美)Johnston, Barbara | 9780136150992 | 2007年7月 | Prentice Hall |
表格內容參考資料 |