計算概論與程式設計基礎

計算概論與程式設計基礎

計算概論與程式設計基礎是北京大學於2018年3月12日首次在中國大學MOOC開設的慕課課程、國家精品課程。該課程授課教師為李戈。截至2020年9月,據中國大學MOOC官網顯示,該課程已開課3次。

計算概論與程式設計基礎分2部分共17章,包括計算機的基本原理、計算機的歷史與未來、程式運行的基本原理、感性認識電腦程式、從現實問題到電腦程式的、理性認識C程式導論、C語言中的數據成分、C語言中的運算成分、C語言中的控制成分、C程式中的數組、C程式中的字元串、C程式中的函式、函式的遞歸、指針—、指針二、指針三、結構體與鍊表。

基本介紹

  • 中文名:計算概論與程式設計基礎
  • 類別:慕課、國家精品課程
  • 開課時間:2018年3月12日(首次)
  • 授課教師:李戈
  • 授課平台:中國大學MOOC
  • 提供院校:北京大學
課程性質,課程定位,適應專業,開課信息,課程簡介,課程大綱,課前預備,所獲榮譽,教師簡介,

課程性質

課程定位

計算概論與程式設計基礎是北京大學信息科學技術學院本科生入學之後的第一門專業基礎課程(北京大學校內課名:計算概論A),也是中國大陸最早發布的一門計算機相關的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
表格內容參考資料

課程簡介

計算概論與程式設計基礎的內容主要分為兩個部分:(1)計算概論部分,約占課時量的15%;(2)程式設計基礎部分,約占課時量的85%。
計算概論部分,主要內容包含計算機的基本原理和歷史與未來、程式運行的基本原理與認識電腦程式、從現實問題到電腦程式介紹,同時講解一些與電腦程式設計相關的基礎問題,通過對這些基礎問題的解答,建立起學習計算機科學所需要的“背景知識框架”。
程式設計基礎部分,講解將以“C 語言”為主要學習對象,以C++編程環境(如Visual Studio C++, Eclipse等)為工具,學習電腦程式設計的相關知識,並培養程式設計的基本技能。在這個部分,教會學習者如何使用C語言編寫電腦程式,甚至編寫具有一定技術難度的程式。

課程大綱

計算機的基本原理
整數型的類別
數組做函式參數
從數學危機到圖靈機
整數型的存儲
函式套用示例
圖靈機的基本構成
整數的輸入輸出
編程練習:函式與字元串練習
圖靈機的運行機理
最大與最小整數
函式的遞歸
數的二進制表示
浮點型
如何理解遞歸
二進制數的布爾運算
字元型
遞歸調用的過程
計算機的歷史與未來
布爾型
遞歸套用示例(切餅,斐波那契數列)
歷史上的計算設備
常數
遞歸套用示例(進制轉換,漢諾塔)
從電子管到雲計算
變數命名
遞歸套用示例(放蘋果)【較難選聽】
摩爾定律下的計算危機
編程作業:數據成分基礎練習
遞歸套用示例(逆波蘭表達式)【較難選聽】
量子計算機的基本原理
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進行調試
(註:表格內容參考資料

課前預備

學習資料
計算概論與程式設計基礎的學習資料為《程式設計基礎(第2版)》《Computer Systems: A Programmer's Perspective 》《C++ Programming Today (2 edition)》
書名
作者
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
表格內容參考資料

所獲榮譽

2018年,計算概論與程式設計基礎被教育部認定為“國家精品線上開放課程”。

教師簡介

李戈,男,畢業於北京大學計算機系軟體與理論專業獲博士學位,北京大學信息科學技術學院副教授,研究方向為深度學習、程式分析與生成、自然語言處理,曾獲得北京大學青年教師教學基本功比賽第一名、北京市青年教師教學基本功比賽比賽一等獎、北京市高等院校計算機基礎教育研究會教學交流“特等獎”。

相關詞條

熱門詞條

聯絡我們