《C語言程序設計》課程是“軟件工程”等工科類本科專業的學科基礎課程。
一、教學目標
《C語言程序設計》課程主要是培養學生的程序設計能力和運用計算機進行邏輯思維的能力。通過本課程的學習,讓學生掌握C語言的編程思想、培養學生對程序設計的興趣、學會利用計算機來進行問題的求解,同時對算法及其在計算機內的實現有一個基本的了解。為以后學習《數據結構》等課程打下堅實的基礎。進一步的教學目標還包括有:掌握結構化程序設計方法、獨立思考能力與團隊合作能力等,為后續課程的學習打下堅實的基礎。
二、課程的性質與地位
1.課程的性質
《C語言程序設計》是“軟件工程”專業的學科大類課程,是專業基礎課程。
《C語言程序設計》在我們“軟件工程”專業的人才培養方案中,是“C → C++ → JAVA →Android → VC++與多核并行編程/J2EE”的程序設計課程教學主線的基礎,在一定程度上,它支撐了對C/C++和JAVA兩大類程序設計課程的學習。
2.課程的地位
這里主要講的是前后續課程之間的關系,《C語言程序設計》是其它編程語言類課程和計算機軟、硬件類課程的前導課程。
它本身的前導課程是:中學數學、高等數學(小部分)、計算機應用基礎。《C語言程序設計》的后續課程(即:直接相關的課程):面向對象程序設計(C++描述)、數據結構與算法(C++描述)、JAVA語言程序設計、計算機網絡、嵌入式系統及應用、機器人技術、VC++與多核并行編程、Linux系統等。在軟件工程專業的人才培養方案中,《C語言程序設計》與其它專業課程內容聯系緊密。如果按照層次結構來分的話,《C語言程序設計》處于最低層,是它們的基礎,是其它很多后續課程的先導課。《C語言程序設計》的內容是全國計算機軟件考試中要求的主要程序設計語言。
三、教學理念踐實“理-實一體化”,通過程序設計,培養學生軟件工程專業的基本理論素養;通過小型項目的設計與編程開發,增強對編程和問題求解的基本體驗;讓學生積累軟件開發的基本經驗,為學生在未來的可持續發展奠定堅實的基礎。
本門課程的基本教學課時數如下:周學時數:3(理論)-2(實驗);共有15個教學周;總學時數是:45(理論)-30(實驗)學時。
軟件學院《C語言程序設計》課程教學大綱
課程名稱 | C語言程序設計 | ||||||||
英文名稱 | C Programming Language | ||||||||
適用專業 | 軟件工程 | ||||||||
課程編碼 | 20H15281 | 開課學期 | 1 | 學分/周學時 | 4/ 5-2 | ||||
課程性質 | 1 | 課程類別 | 2 | ||||||
先修課程 | 無 | ||||||||
教材或參考書與學習資源 | 1. 李俊. C語言程序設計.北京. 電子工業出版社. 2012 2. 何欽銘等.C語言程序設計.杭州.浙江科技出版社.2004 3. 顏暉等.C程序設計綜合實驗指導.杭州.浙江大學出版社,2004 4. http://jpkc.zju.edu.cn/k/409/ml16.htm浙江大學軟件學院精品課程網站(C語言程序設計) | ||||||||
一、課程簡介 《C語言程序設計》課是軟件工程專業學生必修的專業基礎課程,是后續C++與言程序設計、數據結構、操作系統等課程的先修課程。本課程的內容包括數據類型、數據運算、語句、函數、程序結構、數組、結構體、指針和文件。 課程教學目標:通過學習本課程,使學生不但掌握高級編程語言的知識、編程技術和基本算法,更重要的是掌握程序設計的思想和方法,具備利用計算機求解實際問題的基本能力,能靈活應用高級語言進行程序設計。
| |||||||||
二、理論教學內容及學時安排 | |||||||||
章目編號 | 章目名稱 | 教學內容與教學目標 | 學時安排 | ||||||
1 | C語言概述 | 了解:C語言的發展及特點 理解:C語言程序的基本結構 掌握:C語言字符集、標識符和關鍵字 應用:C語言程序的開發環境 | 2 | ||||||
2 | C語言基本數據類型與表達式 | 了解:C語言的數據類型 理解:常量與變量 掌握:運算符和表達式;運算符的優先級 應用:數據類型轉換; | 4 | ||||||
3 | C語言輸入/輸出語句 | 了解:C語言基本語句; 掌握:格式化輸入與輸出 應用:計算多項式成績格式化輸出結果 | 4 | ||||||
4 | 選擇控制結構 | 了解:算法的概念 理解:IF語句;條件運算符;SWITCH語句 掌握:IF語句的應用 應用:多重IF語句的嵌套 | 6 | ||||||
5 | 循環控制結構 | 了解:循環的概念 理解:循環結構算法; WHILE語句;DO…WHILE語句;FOR語句; BREAK語句和CONTINUE語句; 掌握:;利用循環求解簡單的數學問題 應用:多重循環語句的嵌套 | 6 | ||||||
6 | 函數與宏替換 | 了解:函數與宏的概念 理解:模塊化設計;函數的參數(形式參數和實在參數)及 參數傳遞; 掌握:函數的簡單調用 應用:宏替換 | 6 | ||||||
7 | 數組 | 了解:數組的概念 理解:一維數組;二維數組;字符數組與字符串; 掌握:二維數組; 應用:數組作為函數參數; | 8 | ||||||
8 | 指針 | 了解:指針的定義 理解:指針與指針變量;指針與數組;指針與字符串; 掌握:指針與函數; 應用:指向指針的指針變量; | 8 | ||||||
9 | 結構體與共用體 | 了解:結構體類型的定義; 理解:結構體變量;結構體數組;共用體類型; 掌握:結構體與函數; 應用:鏈表;結構體類型指針; | 6 | ||||||
10 | 文件 | 了解:文件概述; 理解:文件的打開和關閉; 掌握:文件檢測函數;文件定位和隨機讀寫; 應用:文件讀寫函數; | 4 | ||||||
三、實驗或實踐環節安排 | |||||||||
項目編號 | 項目名稱 | 主要內容 | 開設要求 | 學時安排 | |||||
1 | 簡單程序設計 | 1)熟悉C語言程序開發環境 2)Hello.c程序的實現 | 1 | 1 | |||||
2 | 基本數據處理 | 1)求兩個數的和與差 2)求平方根 3)數據的基本格式 4)基本輸入輸出語句的實現 | 1 | 1 | |||||
3 | 分支結構程序設計 | 1) IF條件語句的實現 2) Switch條件語句的實現 3) 條件語句的嵌套 | 1 | 2 | |||||
4 | 循環程序設計 | 1) For循環語句的實現 2) While循環語句的實現 3) 利用循環語句求階乘 4) 嵌套循環 | 1 | 2 | |||||
5 | 函數與宏替換 | 1) 函數的實現 2) 函數的參數傳遞 3) 宏與宏替換的實現 | 1 | 2 | |||||
6 | 數組 | 1) 一維數組的實現 2) 二位數組的實現 3) 數組的排序 | 1 | 2 | |||||
7 | 字符串 | 1) 字符串的定義 2) 字符串的基本操作 3) 字符數組的轉換 | 1 | 2 | |||||
8 | 指針 | 1) 指針的定義 2) 利用指針對數組排序 3) 指針函數的使用 | 1 | 2 | |||||
9 | 結構和鏈表 | 1) 結構體變量的定義 2) 日期換算的實現 3) 成績表的實現與處理 | 1 | 2 | |||||
10 | 文件 | 1) 文件的基本操作 2) 統計文本文件中的字符數 3) 兩個文件合并 | 1 | 2 | |||||
3四、教學方法 C語言程序設計課程講授應該注重理論和實踐相結合。理論課程每周三學時,實驗課程每周兩學時。理論課程以講授為主,鼓勵課堂討論, 建議采用多媒體教學方式。根據每章內容,建議每周布置一定量的書面作業,使學生更好地掌握課程中講授的基本概念和基本方法。實驗課程以學生在實驗室完成上機作業為主。上機作業分兩部分:基本部分要求學生能夠自己動手完成的基礎性實驗,要求盡量在實驗課上完成;綜合部分訓練學生綜合應用所學知識的能力,根據課程內容,由二至三個較大的實驗構成,可以在課后完成。綜合實驗由2-3 個人構成的小組協作完成,并通過協作訓練學生的交流與團隊合作意識。實驗內容強調培養學生動手解決實際問題能力,并培養學生養成良好的編程習慣,如代碼的可讀性,完整性,健壯性,實用性和正確性等。同時結合全國軟件設計大賽的要求選拔一部分有編程專長的學生。
| |||||||||
五、考核方式 閉卷考試。 | |||||||||
六、成績評定方式 平時考查成績占 10%、實驗成績占20%、期末考試成績占70%。 | |||||||||
七、學院審批意見 課程負責人簽字: 年 月 日 課程負責人聯系郵箱:yangjun9118@126.com 教學團隊成員簽字 年 月 日 主管教學院長簽字: 年 月 日 |
填寫說明:
1、課程名稱:嚴格按照培養方案中的全稱填寫;
2、英文名稱:嚴格按照培養方案中的標準名稱填寫;
3、適用專業:填寫全稱。
4、課程編碼:嚴格按照培養方案中的編碼填寫;
5、開課學期:填寫阿拉伯數字,1-8;
6、學分/周學時:學分填寫阿拉伯數字,周學時按每周理論學時-實驗(實踐)學時填寫,填寫阿拉伯數字;
7、課程性質:分為必修課和選修課兩類,“1”代表必修課,“2”代表必修課,請按課程性質填寫“1”或“2”;
8、課程類別:分為公共基礎課程、學科大類課程、專業領域課程或教師教育課程。“1”代表公共基礎課程,“2”代表學科大類課程,“3”代表專業領域課程,“4”代表教師教育課程,請按課程類別填寫“1”、“2”、“3”、“4”;
9、先修課程:填寫全稱,如沒有填寫“無”;
10、教材:按如下格式填寫:著者姓名.書名/題名.出版地.出版者.出版年;
11、主要參考文獻:參考文獻為著作的(包括一般著作及以著作形式出版的論文集、學位論文、報告等)請依次注明:[序號] 著者姓名.書名/題名.出版地.出版者.出版年;參考文獻為期刊論文的,請依次注明:[序號] 著者姓名.篇名.刊名.出版年.卷(期);網絡資源請注明網絡文獻所在網址;
12、課程簡介:主要介紹課程的地位與基本任務,核心教學內容與基本要求等。5號宋體,字數不超過500字;
13、理論教學內容及學時安排:學時安排指講授本部分教學活動需要的學時數,填寫阿拉伯數字;
14、實驗或實踐環節安排:指非獨立、依附于理論課程的實驗、實訓、實習等教學環節;開設要求分為必做或選做兩類,“1”代表“必做”,“2”代表“選做”,請按照開設要求類別填寫對應的阿拉伯數字。
15、考核方式:如開/閉卷試卷、上機考試、課程論文、實踐型考試等方式;
16、成績評定方式:如學期考試成績占70%,平時考查成績占30%等;
17、各章節知識點及教學目標:識記:能知道有關的名詞、概念、原理的意義,并能正確認知和表達;領會:在識記的基礎上,能全面掌握基本概念、基本原理、基本知識、基本方法,能掌握有關概念、原理、知識、方法的區別與聯系;簡單應用:在領會的基礎上,能用學過的基本概念、基本原理、基本方法的一兩個知識點分析和解決簡單的問題;綜合應用:在簡單應用的基礎上,能用學過的多個知識點,綜合分析和解決比較復雜的問題;各知識點之間用“;”分開。
18、填完本表格后,多余的表格需自行刪除。