《程序設計基礎》是一門介紹C語言基本知識與結構化程序設計方法,并采用C語言進行結構化程序設計的專業(yè)核心課程,內容包括C語言的數據類型、程序結構、各種語句、函數、預處理、文件,結構化程序設計方法,以及相應知識的應用等知識。
《程序設計基礎》是軟件工程專業(yè)的一門重要基礎課程,通過學習該課程,學生在結構化程序設計方法、程序設計語言與程序設計工具軟件的使用等方面受到嚴格、系統(tǒng)的訓練,初步掌握計算機軟件設計與開發(fā)技術,為后續(xù)的Java程序設計、數據結構、操作系統(tǒng)、數據庫原理及應用、軟件工程等專業(yè)課程的學習及以后從事軟件開發(fā)工作打下扎實的基礎。《程序設計基礎》課程教學大綱
一、 課程基本信息
課程代碼: |
| ||
課程名稱: | 程序設計基礎 | ||
英文名稱: | |||
課程類別: | 專業(yè)基礎課 | ||
學 時: | 84 | 實驗學時: | 20 |
學 分: | 4 | ||
適用對象: | 軟件工程專業(yè)本科生 | ||
考核方式: | 考試 | ||
先修課程: |
|
二、 課程簡介
《程序設計基礎》是一門介紹C語言基本知識與結構化程序設計方法,并采用C語言進行結構化程序設計的專業(yè)核心課程,內容包括C語言的數據類型、程序結構、各種語句、函數、預處理、文件,結構化程序設計方法,以及相應知識的應用等知識。
《程序設計基礎》是軟件工程專業(yè)的一門重要基礎課程,通過學習該課程,學生在結構化程序設計方法、程序設計語言與程序設計工具軟件的使用等方面受到嚴格、系統(tǒng)的訓練,初步掌握計算機軟件設計與開發(fā)技術,為后續(xù)的Java程序設計、數據結構、操作系統(tǒng)、數據庫原理及應用、軟件工程等專業(yè)課程的學習及以后從事軟件開發(fā)工作打下扎實的基礎。
三、 教學目標
1、知識教學目標: |
|
理解和掌握C語言面向過程的設計方法、數據類型、控制語句、函數定義與調用、預處理命令、數組與指針、結構體和文件等知識。 | |
2、能力教學目標: |
|
利用“自頂向下,逐步求精”的結構化分析方法學對客觀世界的問題求解過程進行簡單的分析,并能夠使用CodeBlocks(集成gcc編譯工具)等開發(fā)工具進行簡單的面向過程的程序開發(fā)。 | |
3、素質教學目標: |
|
培養(yǎng)學生團隊合作精神、交流溝通能力。 |
四、 教學基本內容及重點與難點
序號 | 章節(jié) | 分類 | 內容 |
1 | C語言概述 | 知識點 | (1) C語言特點; (2) C語言運行步驟與方法; (3) JDK 開發(fā)環(huán)境配置; (4) C語言集成開發(fā)環(huán)境的安裝與使用; (5) 運行第一個C程序; (6) C語言的命名規(guī)范。 |
重點 | (1) C語言運行步驟與方法; (2) 運行第一個C程序; (3) C語言命名規(guī)范。 | ||
難點 | (1) C語言運行步驟與方法。 | ||
2 | C語言語法基礎 | 知識點 | (1) C程序的基本構成; (2) C程序注釋方法; (3) 定義變量和聲明常量的方法; (4) 基本數據類型; (5) 理解各種運算符的含義。 (6) C語言表達式的組成。 |
重點 | C程序的基本構成、注釋方法、基本數據類型轉換、表達式。 | ||
難點 | 基本數據類型轉換、關系表達式。 | ||
3 | 順序結構程序設計 | 知識點 | (1) C語言的語句分類; (2) 字符數據的輸入輸出函數; (3) 格式輸入輸出函數。 |
重點 | C語言的分類,格式輸入輸出的基本方式。 | ||
難點 | 格式輸入輸出。 | ||
4 | 選擇結構程序設計 | 知識點 | (1) 關系運算符和關系表達式; (2) 邏輯運算符和邏輯表達式; (3) 條件運算符和條件表達式; (4) if語句與選擇程序結構; (5) switch語句與多分支程序設計。 |
重點 | 關系表達式、邏輯表達式、if語句與選擇程序結構。 | ||
難點 | if嵌套、多分支程序設計。 | ||
5 | 循環(huán)結構程序設計 | 知識點 | (1) while語句; (2) do…while語句; (3) for語句; (4) continue和break語句; (5) 循環(huán)結構設計及不同方法比較。 |
重點 | while、do…while、for語句實現(xiàn)循環(huán)程序設計。 | ||
難點 | 循環(huán)嵌套。 | ||
6 | 數組 | 知識點 | (1) 一維數組的定義、引用及初始化; (2) 二維數組的定義、引用及初始化; (3) 字符數組的定義、引用及初始化; (4) 字符串函數。 |
重點 | 數組的定義與引用。 | ||
難點 | 數組在程序設計中的應用。 | ||
7 | 函數 | 知識點 | (1) 函數的定義、調用及聲明; (2) 函數的返回值; (3) 形式參數與實際參數; (4) 數組作為函數參數; (5) 嵌套調用與遞歸調用; (6) 局部變量與全局變量; (7) 變量的存儲類型; (8) 內部函數與外部函數; (9) 預處理命令 。 |
重點 | 函數的定義與調用,函數參數,數組作為函數參數。 | ||
難點 | 形式參數與實際參數,嵌套調用和遞歸調用。 | ||
8 | 指針 | 知識點 | (1) 地址和指針的概念; (2) 指針變量的定義與使用; (3) 數組名與指針變量; (4) 指向函數的指針; (5) 指針數組; (6) 指向指針的指針。 |
重點 | 指針變量的定義與使用,數組、函數與指針的聯(lián)合應用。 | ||
難點 | 指針數組,指向指針的指針。 | ||
9 | 結構體、共用體和枚舉 | 知識點 | (1) 結構體的概念及其定義; (2) 共用體類型數據與枚舉類型數據的定義與使用; (3) 結構體的輸入和輸出; (4) 結構體數組的定義、初始化、引用; (5) 指向結構體變量的指針; (6) 動態(tài)存儲分配和鏈表的概念。 |
重點 | 結構體類型的定義、結構的變量的定義與使用。 | ||
難點 | 鏈表。 | ||
10 | 文件 | 知識點 | (1) 文件的概念; (2) 文本文件與二進制文件; (3) 文件結構指針; (4) 文件的打開與關閉; (5) 文件的讀寫。 |
重點 | 文件的打開、讀寫與關閉。 | ||
難點 | 文件的打開、讀寫與關閉。 |
五、 學時分配表
序號 | 章節(jié) | 講授 | 實驗 | 備注 |
C語言概述 | 2 |
|
| |
2 | C語言語法基礎 | 6 |
|
|
3 | 順序結構程序設計 | 6 | 2 |
|
4 | 選擇結構程序設計 | 8 | 2 |
|
5 | 循環(huán)結構程序設計 | 8 | 2 |
|
6 | 數組 | 8 | 4 |
|
7 | 函數 | 8 | 4 |
|
8 | 指針 | 8 | 4 |
|
9 | 結構體、共用體和枚舉 | 6 | 2 |
|
10 | 文件 | 4 |
|
|
學時總計 | 64 | 20 |
|
六、 選用教材
譚浩強.C程序設計(第四版)[M].北京: 清華大學出版社,2010
七、 主要參考書目
[1] 明日科技. C語言從入門到精通(第2版) [M]. 北京:清華大學出版社 2012.
[2] (美) 霍頓,楊浩譯. C語言入門經典(第4版) [M].北京:清華大學出版社2013.
[3] 何欽銘等. C語言程序設計(第2版) [M].北京:高等教育出版社 2012.
[4] 李長云等編著.C語言程序設計[M].北京:國防工業(yè)出版社 2011.
八、 考核方式
1、考核方式: |
|
本課程的考核方式為期末試卷測試和實踐技能測試。 | |
2、成績評定: |
|
成績評定采用百分制。 | |
3、計分原則: |
|
主要由以下六個部分構成: 第一部分:期末理論考核成績20% 第二部分:平時測試20% 第三部分:研討式學習30% 第四部分:課堂作業(yè)10% 第五部分:實驗成績15% 第六部分:出勤成績5%。 |
九、 教學改革基本要求
1. 采用案例教學,增進學生的學習積極性和形成對新概念的認識。
2. 采用問題驅動法,激發(fā)學生的學習主動性和加深對一些概念的理解。
3. 利用多媒體教學手段,教師現(xiàn)場編制和演示部分程序。
4. 學生分組完成課程設計任務,平時分組討論課后問題。
5. 利用網絡資源進行教學,積極建設網絡資源,調動廣大學生參與,提高學生的積極性和創(chuàng)造性。
6. 本課程中程序設計、函數、指針、數組作重點內容講。
7. 結合本課程的特點,通過課堂提問和課后作業(yè),培養(yǎng)學生分析問題和解決問題的能力,達到鞏固知識的目的。
大綱執(zhí)筆人:《程序設計基礎》教學團隊
大綱審核人:軟件學院教學指導委員會
2012年8月