複製鏈接
請複製以下鏈接發送給好友

高級語言程序設計

(東北大學提供的慕課)

鎖定
高級語言程序設計是東北大學於2017年9月27日首次在中國大學MOOC開設的慕課課程,是國家精品在線開放課程。該課程授課教師是高克寧、趙長寬、李封。據2020年10月中國大學MOOC官網顯示,該課程已開課6次。 [1-2] 
高級語言程序設計課程內容共15講,包含有程序設計入門、數據表示與運算、基本語句與順序結構、輯判斷與選擇結構、迭代計算與循環結構、集合數據及其處理、字符數據處理等內容。 [2] 
中文名
高級語言程序設計
類 別
慕課、國家精品在線開放課程
授課平台
中國大學MOOC
提供院校
東北大學
授課教師
高克寧、趙長寬、李封
開課時間
2017年9月27日(首次)

高級語言程序設計課程性質

課程背景
隨着深空探測器、無人機、自動駕駛汽車等智能系統的發展,社會已經進入人工智能時代。計算機及其相關技術是構建人工智能系統中樞的基礎。若將計算機硬件類比軀幹,那計算機程序則是構建大腦的基礎。
現代計算機遵循了艾倫·麥席森·圖靈(Alan Mathison Turing)提出“圖靈機”模型,在馮·諾依曼(John von Neumann)提出的“存儲程序式電子計算機”體系發展至當代。人類設計的計算機程序(包括指令和數據)首先存儲到內存中,然後自動執行,在執行過程中,可能需要從鍵盤、鼠標等輸入設備獲取信息,並向顯示器、打印機等輸出設備輸出結果,其運算通過中央處理器完成。
既然計算機程序要運行於存儲程序是電子計算機中,那麼人們必須瞭解構成程序的指令和數據如何表示和存儲,也就是説為了能夠編寫程序,首先要學習一門計算機程序設計語言。在眾多程序設計語言中,C語言為構建Unix操作系統而設計,後來的Windows、MacOS、Linux、Android等系統,以及眾多應用軟件均使用C語言開發。C語言是新技術開發的利器,因此該門課程選擇了C語言作為學習程序設計的基礎。 [2] 

高級語言程序設計開課信息

開課次數
開課時間
學時安排
參與人數
第1次開課
2017年09月27日~2018年01月31日
4小時每週
5438
第2次開課
2018年03月12日~2018年07月15日
7270
第3次開課
2019年03月04日~2019年07月04日
5小時每週
3617
第4次開課
2019年09月22日~2020年01月31日
4小時每週
3998
第5次開課
2020年02月23日~2020年07月26日
5773
第6次開課
2020年09月08日~2021年01月17日
待定
參考資料: [1-6] 

高級語言程序設計課程簡介

高級語言程序設計課程圍繞如何運算、如何表達邏輯、如何處理集合數據、如何實現代碼的分解與重用、如何實現基於內存地址的數據訪問、如何表達複雜對象、如何實現數據永久存儲、如何實現程序移植,系統介紹表達式運算、輸入輸出、順序結構、選擇結構、循環結構、數組、函數、指針、結構體、文件、預編譯處理等內容。 [2] 

高級語言程序設計課程大綱

01 程序設計入門
在線學習:
1.1 計算機基本原理
1.2 指令與程序
1.3 程序設計語言
1.4 問題求解與算法設計
1.5 程序設計思想
1.6 C語言概述
上機實踐:
1.1 在PC機上,安裝Codeblock軟件,並熟悉基本操作
1.2 在安卓手機,安裝C4driod,並熟悉基本操作
1.3 編寫簡單程序
02 數據表示與運算
在線學習:
2.1 標識符
2.2 數據類型
2.3 常量
2.4 變量
2.5 運算符概述
2.6 算術運算符與算術表達式
2.7 關係運算符與關係表達式
2.8 邏輯運算符與邏輯表達式
2.9 賦值運算符與賦值表達式
2.10 條件運算符與條件表達式
2.11 逗號運算符與逗號表達式
2.12 類型轉換
上機實踐:
2.1 編寫簡單程序
2.2 教材例3-1~3-8
03 基本語句與順序結構
在線學習:
3.1 輸入輸出概念
3.2 printf函數
3.3 scanf函數
3.4 程序控制結構概述
3.5 基本語句
3.6 案例-電影評分計算
上機實踐:
3.1 實現教材例3-9~3-13
3.2 實現案例-電影評分計算
3.3 學有餘力的同學,完成例3-15、例3-16
04 邏輯判斷與選擇結構
在線學習:
4.1 單分支結構-if語句
4.2 雙分支結構-if...else
4.3 多分支結構-if...else if...
4.4 多分支結構-switch
4.5 案例-電影評分計算
上機實踐:
4.1 編寫簡單程序
4.2 實現教材例4-1~4-9
4.3 實現案例-電影評分計算
05 迭代計算與循環結構
在線學習:
5.1 循環結構-while
5.2 循環結構-for
5.3 循環結構-do while
5.4 循環結構-break/continue
5.5 循環結構-嵌套
5.6 實現案例-電影評分計算
上機實踐:
5.1 編寫簡單程序
5.2 實現教材例5-1~5-14
5.3 實現案例-電影評分計算
06 集合數據及其處理
在線學習:
6.1 數組概念
6.2 一維數組
6.3 二維數組
上機實踐:
6.1 編寫簡單程序
6.2 實現教材例6-1~6-7
07 字符數據處理
在線學習:
7.1 字符數組
7.2 字符串
7.3 數組與數據存儲
7.4 案例-電影評分計算
上機實踐:
7.1 編寫簡單程序
7.2 實現教材例6-9~6-13
7.3 實現案例-電影評分計算
08 函數實現代碼分解和重用
在線學習:
8.1 函數入門
8.2 函數定義
8.3 函數聲明
8.4 參數傳遞
8.5 函數調用
上機實踐:
8.1 編寫簡單程序
8.2 實現教材例7-4~7-10
09 遞歸及函數結構
在線學習:
9.1 遞歸調用
9.2 源程序結構
9.3 內部函數與外部函數
9.4 變量作用域-全局變量與局部變量
9.5 變量如何存儲
9.6 案例-電影評分計算
上機實踐:
9.1 編寫簡單程序
9.2 實現教材例7-10~7-14
9.3 實現案例-電影評分計算
10 內存地址及其指針
在線學習:
10.1 地址與指針
10.2 指針變量
10.3 指針運算
10.4 指針與一維數組
10.5 指針與二維數組
上機實踐:
10.1實現教材例8-2~8-3
11 指針的應用
在線學習:
11.1 指針與字符串
11.2 指針數組
11.3 數組指針
11.4 函數與指針
11.5 指向變量的地址-指向指針的指針
11.6 內存管理
11.7 實現案例-電影評分計算
上機實踐:
11.1 編寫簡單程序
11.2 實現教材例8-4~8-16
11.3 實現案例-電影評分計算
12 複雜對象描述與結構體
在線學習:
12.1 為何引入結構體及其定義
12.2 結構體變量及其初始化
12.3 結構體數據運算
12.4 結構體數組
12.5 結構體指針
12.6 結構體與函數
12.5 共用體
12.6 枚舉類型
12.7 類型重定義
上機實踐:
12.1 編寫簡單程序
12.2 實現教材例9-2~9-7
13 鏈表及其處理
在線學習:
13.1 鏈表的定義
13.2 鏈表的操作
上機實踐:
13.1 實現案例-電影評分計算
14 預編譯處理
在線學習:
14.1 預編譯處理概述與define
14.2 宏定義
14.3 文件包含與include
14.4 條件編譯
上機實踐:
14.1 實現教材例10-1~10-5
14.2 實現案例-電影評分計算
15 文件與數據永久存儲
在線學習:
15.1 文件概述
15.2 文件定義
15.3 文件操作基礎
15.4 文本文件讀寫
15.5 二進制文件讀寫
15.6 定位與隨機讀寫
15.5 綜合應用
上機實踐:
15.1 編寫簡單程序
15.2 實現教材例11-8~11-10
參考資料: [2] 

高級語言程序設計課前預備

高級語言程序設計預備知識

高級語言程序設計課程要求學習者熟悉Windows或Linux的基本操作。 [2] 

高級語言程序設計參考教材

書名
作者
ISBN
出版社
出版時間
《程序設計基礎(C語言)第3版》
高克寧、李金雙、趙長寬、柳秀梅、徐彬
9787302488439
清華大學出版社
2018年1月
參考資料: [2]  [7] 

高級語言程序設計授課目標

1、初步瞭解計算機,建立起程序設計的概念。
2、通過學習用C語言編寫程序,初步掌握程序設計方法,養成良好的程序設計風格。
3、結合C語言,初步系統地學習面向過程和結構化程序設計的思想和方法。
4、結合上機實踐,使學生對程序設計有一個比較全面的、系統的瞭解,為學生學習程序設計打下一個良好基礎。 [2] 

高級語言程序設計所獲榮譽

2018年,高級語言程序設計被中華人民共和國教育部認定為“國家精品在線開放課程”。 [8] 

高級語言程序設計教師簡介

高克寧,東北大學計算中心教授,中國計算機學會辦公自動化專業委員會委員、中國計算機學會高級會員、美國ACM學會會員。 [9] 
趙長寬,東北大學教師。 [10] 
李封,東北大學教師。 [10] 
參考資料